www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

STM32 Standard peripheral library oziroma CubeMX
Pojdi na stran 1, 2, 3  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
mujo
Član
Član



Pridružen-a: Ned 02 Jan 2005 19:24
Prispevkov: 722
Aktiv.: 3.25
Kraj: MB

PrispevekObjavljeno: Sob Feb 22, 2014 2:25 pm    Naslov sporočila:  STM32 Standard peripheral library oziroma CubeMX Odgovori s citatom

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?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
hamm
Član
Član



Pridružen-a: Sob 27 Okt 2012 21:47
Prispevkov: 216
Aktiv.: 1.55
Kraj: Mengeš

PrispevekObjavljeno: Pon Maj 26, 2014 9:35 pm    Naslov sporočila:   Odgovori s citatom

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.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
mujo
Član
Član



Pridružen-a: Ned 02 Jan 2005 19:24
Prispevkov: 722
Aktiv.: 3.25
Kraj: MB

PrispevekObjavljeno: Pon Maj 26, 2014 10:18 pm    Naslov sporočila:   Odgovori s citatom

Mogoče ti bo prav prišla knjiga profesorja iz indiane. Mislim da je za začetnike uporabna zadeva.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9406
Aktiv.: 42.36
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Maj 27, 2014 12:07 am    Naslov sporočila:   Odgovori s citatom

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.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 6.24
Kraj: Črnomelj

PrispevekObjavljeno: Tor Okt 28, 2014 3:46 pm    Naslov sporočila:   Odgovori s citatom

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
 - ...

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 75553.38

PrispevekObjavljeno: Tor Okt 28, 2014 7:47 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sigi
Član
Član



Pridružen-a: Čet 31 Jul 2014 11:42
Prispevkov: 199
Aktiv.: 1.69
Kraj: Kamnik

PrispevekObjavljeno: Tor Okt 28, 2014 8:21 pm    Naslov sporočila:   Odgovori s citatom

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
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9406
Aktiv.: 42.36
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Okt 28, 2014 8:45 pm    Naslov sporočila:   Odgovori s citatom

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.
_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
Sigi
Član
Član



Pridružen-a: Čet 31 Jul 2014 11:42
Prispevkov: 199
Aktiv.: 1.69
Kraj: Kamnik

PrispevekObjavljeno: Tor Okt 28, 2014 8:53 pm    Naslov sporočila:   Odgovori s citatom

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
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9406
Aktiv.: 42.36
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Okt 28, 2014 9:58 pm    Naslov sporočila:   Odgovori s citatom

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



Untitled1.png
 Opis:
 Velikost datoteke:  64.91 KB
 Pogledana:  38 krat

Untitled1.png



_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
Umnik
Član
Član



Pridružen-a: Čet 16 Sep 2004 17:52
Prispevkov: 958
Aktiv.: 4.31
Kraj: Novo mesto

PrispevekObjavljeno: Sre Okt 29, 2014 12:01 am    Naslov sporočila:   Odgovori s citatom

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...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 6.24
Kraj: Črnomelj

PrispevekObjavljeno: Sre Okt 29, 2014 12:26 am    Naslov sporočila:   Odgovori s citatom

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".

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Umnik
Član
Član



Pridružen-a: Čet 16 Sep 2004 17:52
Prispevkov: 958
Aktiv.: 4.31
Kraj: Novo mesto

PrispevekObjavljeno: Sre Okt 29, 2014 9:47 am    Naslov sporočila:   Odgovori s citatom

Počakaj še, da aly izlije svoj gnev na CubeMX Mr. Green
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mujo
Član
Član



Pridružen-a: Ned 02 Jan 2005 19:24
Prispevkov: 722
Aktiv.: 3.25
Kraj: MB

PrispevekObjavljeno: Sre Okt 29, 2014 10:20 am    Naslov sporočila:   Odgovori s citatom

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.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 6.24
Kraj: Črnomelj

PrispevekObjavljeno: Sre Okt 29, 2014 10:29 am    Naslov sporočila:   Odgovori s citatom

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.

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2, 3  Naslednja
Stran 1 od 3

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group