Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
STM32 uputstva za iskusne početnike
#41
E, baš me ohrabrište, sva trojica... Smile

Hvala na savjetima u svakom slučaju, pa ćemo vidjeti šta će ispasti na kraju...

Nije problem staviti ni jači MCU, samo ga je sad problem nabaviti, ali
za probu imam jednu pločicu sa STM32F407, tako da se ima šta raditi...
Reply
#42
407 može na displej da se veže paralelno i radiš onda sa lvgl. To sam probao sa ILI9341 i onom crnom kineskom pločicom. SPI ide za touch.
Reply
#43
Nemam vecaras puno vremena; pokušaću sutra da srocim ostalo što sam skupljao proteklih godina. Sto delova koda, što iskustva.
Evo od ovoga je možda sve i počelo manje vise:

https://youtu.be/0ETyFmAMFjY

Stm32f407 discovery ploča bez eksterne memorije. Kod je free ima na github. Bar je bio
Reply
#44
Pre par dana je izašao novi framework X-CUBE-DISPLAY (Display module software expansion for STM32Cube) koji konačno donosi primere i za "slabije" mikrokontolere kao što je STM32G071RB. Testirao sam sa NUCLEO-G071 i X-NUCLEO-GFX01M1 displej pločom. Slike drže u SPI Flash memoriji i demo prikazuje izuzetnu brzinu promene slika na displeju. Ništa dalje od toga nisam probao, ali ovaj framework obećava, pa @ognjan možda bude uspeo da pokrene isti i na STM32L mikrokontroleru.
https://www.youtube.com/watch?v=ZHrzA5kCSPw
Reply
#45
Na ovo sam potpuno zaboravio a verziju 1.0.0 sam skinuo pre tačno godinu dana. Ova 2.0.0 ima više primera tako da je dobra preporuka. Hvala Nebojša!
Reply
#46
(10-23-2021, 07:12 PM)npejcic Wrote: Pre par dana je izašao novi framework X-CUBE-DISPLAY (Display module software expansion for STM32Cube) koji konačno donosi primere i za "slabije" mikrokontolere kao što je STM32G071RB. Testirao sam sa NUCLEO-G071 i X-NUCLEO-GFX01M1 displej pločom. Slike drže u SPI Flash memoriji i demo prikazuje izuzetnu brzinu promene slika na displeju. Ništa dalje od toga nisam probao, ali ovaj framework obećava, pa @ognjan možda bude uspeo da pokrene isti i na STM32L mikrokontroleru.
https://www.youtube.com/watch?v=ZHrzA5kCSPw

Hvala! Pogledacu to odmah...
Reply
#47
X-CUBE-DISPLAY v2.0 sam instalirao i sad je integrisan sa CubeMX...


ali, koliko vidim najslabiji podržani MCU je STM32G071, koji nemam niti ga mogu nabaviti trenutno.

Ako pokušam npr. koristiti BluPill (STM32F103), jer imam svoju pločicu na kojoj je displej sa ILI9341 i BluPill, to mi CubeMX ne dozvoljava Sad.
Znam da BP ovo radi bez problema, čak i neki primjeri sa ardiunom u ovoj kombinaciji mi rade, prema tome hardver nije problem, samo jednostavno nisu napisani API-ji za tu kombinaciju u ovoj biblioteci...

X-CUBE-DISPLAY_GettingStarted.pdf kaže:
"Board support package (BSP): The software package needs to support the peripherals on the STM32 boards apart from the MCU. This software is included in the board support package (BSP). This is a limited set of APIs which provides a programming interface for certain board specific peripherals such as the LED and the user button.

Configuration files:
- lcd_conf.h defines mapping of the GPIO & HW interface specific to logical name to ease the SW porting to another board. It provides also the HW bus interface configuration (for example SPI) to be used for communication with the LCD Controller.
- mem_conf.h defines mapping of the GPIO & HW interface specific to logical name to ease the SW porting to another board. It provides also the HW bus interface configuration (for example SPI) to be used for communication with the external memory device.
- key_conf.h defines mapping of the GPIO specific to logical name to ease the SW porting to another board. It provides the GPIO configurations to be used to provide controls for the user."

Po mojoj logici, trebalo bi da X-DISPLAY radi sa bilo kojim displejom na SPI portu, za koji postoje drajveri (a za STM32 ih ima podosta, našao sam i ILI9488 koji mi treba i dosta drugih u jednoj arhivi), pa makar i sporo, al' da radi.
Lako je za LED i tastere, kad displej proradi...



Znači, trebao bih uzeti primjer koda za ovaj G071, koji se uredno kompajlira, i prilagođavati ga dok mi ne proradi na drugom MCU, samo sam previše još nov u toj ARM priči, pa mi to ne ide baš najbolje... Sad

Ako neko ima gotovog koda, za podijeliti, koji radi sa ILI9341 ili ILI9488 (yugaja, reče da imaš nešto?), bio bih zahvalan...
Reply
#48
(10-28-2021, 12:38 PM)ognjan Wrote: Znači, trebao bih uzeti primjer koda za ovaj G071, koji se uredno kompajlira, i prilagođavati ga dok mi ne proradi na drugom MCU, samo sam previše još nov u toj ARM priči, pa mi to ne ide baš najbolje... Sad

Ako neko ima gotovog koda, za podijeliti, koji radi sa ILI9341 ili ILI9488 (yugaja, reče da imaš nešto?), bio bih zahvalan...

Nemam gotov kod za ovo ali mogu da pomognem.  Problem mi je što su mi svi LCD sa paralelnim interfejsom. Pošalji mi neki link da vidim koji to SPI displej ti imaš sa IL9341. Možda mogu ovde negde da ga nabavim ili mi ga pošalji pa ti vraćam kad završimo.
Reply
#49
[/quote]
Nemam gotov kod za ovo ali mogu da pomognem. Problem mi je što su mi svi LCD sa paralelnim interfejsom. Pošalji mi neki link da vidim koji to SPI displej ti imaš sa IL9341. Možda mogu ovde negde da ga nabavim ili mi ga pošalji pa ti vraćam kad završimo.
[/quote]

Hvala na ponudi, mada ne bih bas da te toliko smaram se sa ovim... I slanje preko granice nije bas jednostavno, a nadam se ni neophodno.

Jedan od displeja koji želim pokrenuti je ovaj:
MSP2402 (ILI9341)

Drugi je ovaj:
ER-TFT035-6 (ILI9488)
Ovih imam par komada, samih displeja, i 2 modula, gdje je displej na PCB sa std. 0.1" 2x20 muskim konektorom, pa mi je zgodan za eksperimentisanje.

Treci je:
E-Paper, ER-EPD027-2 (EK79651AB)

Primjera ima na net-u dosta, ali su uglavnom za STM32F1xxx i jače modele, a ja sam mislio na PCB staviti STM32F071RBT6 (64 pinski TQFP). Imam predviđene konektore za ove 3 vrste displeja i 5 kom. PCB koje su mi stigle juče, sa već polemljenim svim sitnim komponentama (to je super stvar, pa ako nekom treba generisanje BOM i CPL fajlova iz Eagle-a, imam prilagođene ulp-ove za format koji traži JLCPCB, i nije problem da podijelim ili okačim negdje ovdje).

Pitanja i nedoumice su:

1 - Koliko su serije STM32 pin kompatibilne (?), tj. da li mogu naći drugi MCU iz serije F3 ili F4, u istom kućištu, a da odgovara na postojeću PCB (možda će zatrebati neki pad i odsjeći, al' nije ni to problem, ako ih 95% sjeda gdje treba i napajanje se poklapa)?

2 - Sobzirom da sam na početku sa ARM-om, i tim alatima (za sada koristim CubeMX, Cube IDE i Keil uVision5), zanima me sad koji mi je najjednostavniji način da projekat koji je pisan npr. za F1 seriju, prebacim na F0, a načešće trebam i da prilagodim pinove za svoju PCB ?

Uglavnom su korištene HAL biblioteke, (a i gdje nisu, nije to toliki problem izmijeniti), ali me zanima da li je najbolje da u CubeMX definišem hardwer kako meni treba, izgenerišem novi kod sa HAL bibl. i onda prebacujem ostale c i h fajlove u taj projekat?
Ili da u okviru postojećeg projekta sve to izmijenjam, gdje je bilo: #include "stm32f1xx_hal.h" mijenjam na #include "stm32f0xx_hal.h" (naravno, vodeći računa da ti fajlovi postoje i budu gdje treba), pa setovati nove include path-ove u projektu itd...

Sigurno je izvedivo i jedno i druga, samo me zanima šta je jednostavnije, tj. kako vi radite, koji imate više iskustva u ovim alatima ?

3 - Kako to, kad već prorade neki primjeri i osnovne funkcije, uvezati za X-Cube-Display ili nekom drugom grafičkom bibliotekom?
Reply
#50
Quote:1 - Koliko su serije STM32 pin kompatibilne (?), tj. da li mogu naći drugi MCU iz serije F3 ili F4, u istom kućištu, a da odgovara na postojeću PCB (možda će zatrebati neki pad i odsjeći, al' nije ni to problem, ako ih 95% sjeda gdje treba i napajanje se poklapa)?

Tvoj STM32F071RBT6 je recimo pinout kompatibilan sa STM32F103RBT6 i ima samo jedan pin razlike sa STM32F303RBT6 što se lako da srediti na tvojoj pločici. Dakle, čak iako budeš menjao nešto, razlike su minorne.

Quote:2 - Sobzirom da sam na početku sa ARM-om, i tim alatima (za sada koristim CubeMX, Cube IDE i Keil uVision5), zanima me sad koji mi je najjednostavniji način da projekat koji je pisan npr. za F1 seriju, prebacim na F0, a načešće trebam i da prilagodim pinove za svoju PCB ?

Iskoristi postojeći CubeMX ioc fajl pa na osnovu njega napravi sličan za tvoj MCU. Za početak neka bude sa svim onim funkcijama kao i original, da bi bio siguran da će to tvoje da proradi a onda dodaj novo ili izbaci višak. Kad ti CubeMX izgeneriše osnovni kod, dodaješ ostale fajlove iz originalnog projekta. To su najčešće drajveri za senzore, memorije, displeje ili bilo šta drugo. Struktura fajlova u njihovim projektima je malo komplikovana i treba vremena dok provališ ali je to najbolji put jer kad jednom provališ svaki drugi ide lakše i brže.

Quote:3 - Kako to, kad već prorade neki primjeri i osnovne funkcije, uvezati za X-Cube-Display ili nekom drugom grafičkom bibliotekom?


Ovo ne znam dok ne probam. Ja sam se poprilično namučio za neki primer sa paralelnim TFT i STemWIN bibliotekama ali je proradilo na kraju.
Reply
#51
Da li još neko ima "HardFault_Handler" problem sa Keil (uVision V5.33.0.0) i debagiranjem kada se
koristi flash (brisanje ili pisanje) na STM32 ???

Konkretno, radim na STM32G030C6T6, i pišem u zadnju stranicu fesa, ali ako je aktiviran dibager,
program završi u HardFault_Handler -u!?

Ako ne koristim dibager, i napravim sebi nekakvu signalizaciju sa ledicama, vidim da sve radi uredno!
Takođe, ako koristim CubeIDE, sve radi savršeno normalno, i sa dibagerom!

Vidim po net-u da se ljudi žale na ovaj problem već godinama, ali ne vidjeh da je neko ponudio konkretno rješenje
(a možda mi je promaklo, jer ne mogu da vjerujem da tako nešto nije riješeno)?
Probao sam kod sebe na Win7 i 2 računara sa Win10, potpuno identično se ponaša, a koliko vidim nije zavisno ni od
verzije ni porodice STM-a, tj. isti problem ljudi prijavljuju na sasvim različitim kontrolerima.

Nije da se ne može raditi sa ovim, ali nekako me baš nervira... Smile
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)