www.elektronik.si
STM32 Standard peripheral library oziroma CubeMX
Pojdi na stran 1, 2, 3  Naslednja  :||:
www.elektronik.si -> ARM arhitektura

Avtor: mujoKraj: MB PrispevekObjavljeno: Sob Feb 22, 2014 2:25 pm    Naslov sporočila:  STM32 Standard peripheral library oziroma CubeMX
----------------------------------------------------------------------------
Pozdravljeni,

Ravnokar se nekaj ukvarjam z STM32F417 mikrokrmilnikom. In sem opazil, da je ST izdal novo knjižnjico - CubeF4 (tudi za druge platforme je, kolikor sem na hitro pogledal).
Super si mislim, mogoče so staro "Standard peripheral library" izboljšali in jo naredili kaj bolj prebavljivo.
Žal sem se motil.
Celotna knjižnjica je skupek funkcij ki se samo kličejo med seboj. Kar seveda ni nič slabega, ampak postane zelo nepregledno. Rezultat take kode pa tudi ne vem kak je (nisem delal analize kaj vse prevajalnik optimizira).
Še najhujše pa so primeri uporabe teh knjižnic. Vsepovsod neki define, ki se potem uporablja v nekem x define. Saj ko skužiš kaj hočejo s tem povedati/narediti še nekak gre. Mi je pa prej prekipelo zakaj mi USART ne dela potem ko sem vse define-e spremenil na drugi USART. Težava je bila, da niso preverjali na katerem APB vodilu je izbrani USART.

So pa v CubeF4 dodali lepo konfiguracijsko orodje - kjer se označi periferija, in tudi generira celotni projekt za to periferijo. Rezultat izgleda kar v redu. Celo ima možnost, da k projektu doda FreeRTOS, LWIP. Rezultat... sploh mi ni všeč! Vsepovsod sami makroji, ki vse preslikujejo v nekaj drugega. Tudi FreeRTOS funkcije! Tako da vTaskStartScheduler postane osKernelStart (ki ima možnost, da doda še en task - komu v čast?).

Žal mislim, da v kratkem več ne bo izbire in bo te knjižnice potrebno uporabljati, saj drugače se bo za implementacijo lastnih knjižnic porabilo preveč časa. Sploh pa za kakšno kompleksno periferijo.

V glavnem, to je moje mnenje o teh knjižnicah.
Kaj pa je vaše mnenje/izkušnje?

Avtor: hammKraj: Mengeš PrispevekObjavljeno: Pon Maj 26, 2014 9:35 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Sam se ravnokar učim na STM32F4 Discovery in sem povsem zbegan, kar se teh novih knjižnic tiče (prej Standard peripheral library, sedaj STM32F4xx_HAL_Driver). Povsem nepregledno (vsaj zame, začetnika). Sedaj sem obupal in delam po primerih, ki jih je posredoval MarE69:

http://www.elektronik.si/phpBB2/viewtopic.php?t=39132

Pa tudi za "star" način je več primerov na internetu. Tista grafična zadeva STM32 CubeMX mi pa tudi ne diši.

Avtor: mujoKraj: MB PrispevekObjavljeno: Pon Maj 26, 2014 10:18 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Mogoče ti bo prav prišla knjiga profesorja iz indiane. Mislim da je za začetnike uporabna zadeva.

Avtor: alyKraj: Kranj - struževo PrispevekObjavljeno: Tor Maj 27, 2014 12:07 am    Naslov sporočila:  
----------------------------------------------------------------------------
Jaz uporabljam Standard peripheral library.
Nimam želje prehajati na kak nov sistem, ko pa ta deluje.
Če rabim nov projekt, naredim copy-paste starega in predelam vsebino. Tudi primerov se na netu najde precej, če jih rabiš; jaz v glavnem delam kar po priloženih primerih.

Avtor: tilz0RKraj: Črnomelj PrispevekObjavljeno: Tor Okt 28, 2014 3:46 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Pravi smrduhi so "Keil + ST"

Pri verziji Packov za F4 so odstranili Standardne knjižnice. Po novem podpora samo za HAL driverje, ki so za moje pojme itak faljeni.

Če update-a ne narediš pa ni opcije, da bi izbral čip F411 serijo.

Koda:

Version: 2.2.0 Keil.STM32F4xx_DFP.2.2.0.pack  Download
 - PACK based on STMicroelectronics STM32CubeF4 Firmware Package V1.3.0
 - STD Peripheral Library components removed
 - ...

Avtor: . PrispevekObjavljeno: Tor Okt 28, 2014 7:47 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Brisana vsebina odstranjenega uporabnika.

Avtor: SigiKraj: Kamnik PrispevekObjavljeno: Tor Okt 28, 2014 8:21 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Tudi jaz sem konzervativen in še vedno uporabljam Standard Peripheral Library (sicer v glavnem za Cortex M0 in M3, za M4 imam le Discovery igračo). Pa še tu so starejše verzije hroščate, ampak na zadnje zaenkrat nimam pripomb. Edino primeri, ki pridejo zraven, so pa švoh... ampak je na netu dovolj drugih virov, tako da gre kar fino. Še vedno se je občasno potrebno zakopat v 1000 stranski PDF manual, ampak še vedno bolje kot povsem "surov" pristop od nule.


lp

Avtor: alyKraj: Kranj - struževo PrispevekObjavljeno: Tor Okt 28, 2014 8:45 pm    Naslov sporočila:  
----------------------------------------------------------------------------
En projekt moram portat iz M3 na M4. Kar je precej dela, da ves hardver spet zalaufa kot je treba. Bom dal priliko Cube orodju, da vidim, kaj zgenerira. Me prav zanima... sporočim.

Avtor: SigiKraj: Kamnik PrispevekObjavljeno: Tor Okt 28, 2014 8:53 pm    Naslov sporočila:  
----------------------------------------------------------------------------
aly je napisal/a:
En projekt moram portat iz M3 na M4. Kar je precej dela, da ves hardver spet zalaufa kot je treba. Bom dal priliko Cube orodju, da vidim, kaj zgenerira. Me prav zanima... sporočim.


Me prav zanima, kako ti bo šlo. Iz M3 v M0 je bila s SPL cela štala, kup "haklčkov" zaradi razlik v periferiji, predvsem ADC in SPI...

lp

Avtor: alyKraj: Kranj - struževo PrispevekObjavljeno: Tor Okt 28, 2014 9:58 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Imam samo USB, 1 Timer in 1 interrupt. ADC je za okras zraven. Aplikacija je sorazmerno enostavna (~16k na F103). Sedaj sem izbral STM32F302C6.

Fail #1 Timer 2 Slave mode nima na izbiro Encoder mode 1/2/3. Kaj ti nuca tak SW če moraš osnovne nastavitve sam kucat.
Fail #2 - USB ima fiksno serijsko številko (v STD_PERIPH_LIB je pobral unikatno št. iz silicija)
Fail #3 - slika


Zgeneriral je 85 fajlov v 26 mapah... Think

Avtor: UmnikKraj: Novo mesto PrispevekObjavljeno: Sre Okt 29, 2014 12:01 am    Naslov sporočila:  
----------------------------------------------------------------------------
ST Peripheral Lib je obsolete. End of life. Nova zadeva pa so HAL driverji. Boo hoo!
Če je bil Peripheral Lib v splošnem samo zamaskiran register access, so HAL driverji zares driverji. Peripheral Lib je imel buge in jasno, tudi HAL jih ima, s tem, da HAL omogoča več. Ampak, kot za Peripheral Lib, bodo tudi za HAL updati itd.

Smo leta 2014, mikrokontrolerji delujejo na 100, 120, 168, 180, 204... MHz. Imajo 512kB, 1MB, 2MB flasha in tudi zadosti RAMa. Uporabniki in njihove aplikacije postajajo vse zahtevnejši, zato se morajo prilagajati tudi knjižnjice. HAL deluje na višjem nivoju kot ST Peripheral Lib, porabi več kode, več RAMa, ampak omogoča dosti več, to pa je tisto kar uporabniki zahtevajo - več. 1000 stranske PDFje beremo samo še tisti, ki pišemo driverje in bi radi povprečnemu uporabniku prihranili kakšen živček ali dva Very Happy

Torej, kolobocija s STM32CubeMX in HALom se počasi končuje, to kar je trenutno na razpolago je tisto, kar bo dolgoročno vzdrževano. (BTW, Mare, knjižnjice za EFM32 so če sklepam po tistem kar sem videl, zelo dobre). Prve verzije HAL driverjev so bile precej slabše od tega kar je trenutno na razpolago - driver API se je do trenutnega datuma stabiliziral.

Kombinacija CubeMX orodja in HAL driverjev niti ni tako slaba, nasprotno, nekatere stvari so narejene presenetljivo dobro. Je pa potrebno brat dokumentacijo in seveda obvladati C Smile Se pa dogaja podobno kot prej, knjižnjice vsebujejo buge in če se jih želimo znebit je pač potrebno napisat svoj driver...

Avtor: tilz0RKraj: Črnomelj PrispevekObjavljeno: Sre Okt 29, 2014 12:26 am    Naslov sporočila:  
----------------------------------------------------------------------------
Umnik tvoj prispevek me je prepričal.
Zgleda da bom predelal vse svoje driverje na moji strani.
Sicer nebo veliko dela ker mam svoj HAL narjen neke vrste, ampak vseeno bi rad, da je združljivo v keilu po "najnovejši modi".

Avtor: UmnikKraj: Novo mesto PrispevekObjavljeno: Sre Okt 29, 2014 9:47 am    Naslov sporočila:  
----------------------------------------------------------------------------
Počakaj še, da aly izlije svoj gnev na CubeMX Mr. Green

Avtor: mujoKraj: MB PrispevekObjavljeno: Sre Okt 29, 2014 10:20 am    Naslov sporočila:  
----------------------------------------------------------------------------
Jaz še zmeraj nisem prepričan nad HAL driverji.
Mogoče se mi je zameril pristop ST-ja nad tem (zelo hopa cupa).

Bo pa za prave, low power aplikacije potrebno še vedno pisati lastne driverje.

Avtor: tilz0RKraj: Črnomelj PrispevekObjavljeno: Sre Okt 29, 2014 10:29 am    Naslov sporočila:  
----------------------------------------------------------------------------
Vsaj opcijo da izbereš HAL ali STD bi morali pustiti v keilu, ne pa da delajo diskriminacijo.

Prijavit Smile)

Umnik: orodje cube mx se mi zdi dobro samo za to, da pri novem projektu načrtuješ pine ki jih boš uporabil, ker je dobro to narjeno, za ostalo pa ne more en cube mx vedet kaj bi jaz rad imel da moj spi recimo pošilja okoli.

Stran 1 od 3

Powered by phpBB © 2001,2002 phpBB Group