STM32CubeMX HAL vs LL (bylo SysTick)

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Duben 9 21:15:43 CEST 2018


Me celkem nevadi narocnost HAL na prostredky ani mi to neprijde moc 
nefunkcni, spis mi vadi, ze je to ukrutne prekombinovane, neni to o 
registrech ale skoro kazda periferie funguje na zaklade nejakych 
stavovych automatu, je to sice zjevne univerzalni ale strasne 
komplikovane a bojim se, ze nemusi dobre dopadnout, pokud se odchylim v 
nejakem postupu nebo nastaveni od vzorovych prikladu. Proste se to uz 
IMHO neda kompletne overit a otestovat, bal bych se to nasadit na 
nejakou kritictejsi aplikaci nez je nejaky sber a vizualizace dat, kde 
se nic nestane, kdyz se to bude restartovat az to spadne... Navic 
spousta ruzne vnorenych callback funkci volanych v ISR zpusobuje dost 
nevyzpytatelnou latenci ruznych preruseni, laborovanim s prioritami se 
to da nejak zkrotit ale pokud je potreba vyzdimat nejakou rychlou 
reakci, moc jisty si vysledkem nejsem (nevim jak ted, ale kdyz jsem to 
resil, treba obsluha SDIO provadela spoustu narocnych operaci v ISR, USB 
je na tom myslim podobne)

Dne 09.04.2018 v 19:43 Tomas Dresler napsal(a):
> LL bylo vyvinute primarne pro male STM32, kde neni prilis vykonu ani 
> pameti. H7 a F7 maji podle marketingu obeho dostatek a vetsinou se 
> pouzivaji s mnoha periferiemi najednou, kde LL by bylo dost narocne na 
> udrzeni vseho v chodu. Nekolik modulu LL ma :-), Ethernet to ale neni...
>
> Chapu vase narky nad velikosti nebo funkci HAL, ale vemte si, ze se z 
> nich da konfigurace registru "vykuchat" a muzete si kod zoptimalizovat 
> sami, mate-li chut nebo nutnost. Ja vygenerovany kod beru jako 
> odrazovy mustek, ktery mi dava nejakou relativne rozumne garantovanou 
> funkcnost, kterou si sam rozsiruji a upravuji. Typicky priklad je IRQ 
> handler, kde si sam doplnim reakci na flagy, ktere me zajimaji, zbytek 
> necham na HAL_IRQ handleru. Knihovny si sam upravuji primo v 
> Repository, takze bugfix je zaimplementovany v kazdem dalsim kodu 
> postavenem na konkretni verzi, dalsi chyby hlasim VP ;-), aby je 
> nechal opravit v pristich vydanich...
>
> Rekl bych, ze ST investuje dost clovekohodin do smysluplneho SW, ktery 
> neni perfektni, ale dost dobry. Navic otevreny a celkem jednoduchy.
>
> Tomas
>
> On 2018-04-09 19:11, Jaroslav Buchta wrote:
>> Kdyz jsem objevil LL tak jsem se zaradoval, ale predcasne, protoze to
>> neni pro F7 nebo H7 a uz vubec pro ethernet a dalsi slozitejsi funkce.
>> Pro ostatni muzu klidne dal pouzivat SPL. Nebo jsem to jen nenasel?
>>
>> Dne 09.04.2018 v 17:49 Josef Štengl napsal(a):
>>> Díky, myslel jsem si to.
>>>
>>> PS.
>>> Mimo času a lenosti celkem nic. S STM32 dělám tak jednou za 3 roky, 
>>> tak si nechci psát vlastní drivery, nemám na to ani čas. Chci zkusit 
>>> LL ovladače, vypadá to, že se v STM konečně setkali s realitou. HAL 
>>> je nutno upravovat, ale dá se sním dělat.
>>>
>>> Nejvíc mě štve konfigurace hodin, to je pokaždé jinak (pracuji na 4 
>>> architekturách od 3 výrobců a 2 překladačích). No pauzy mezi 
>>> projekty jsou takové, že si ty předchozí již nepamatuji, tak pořád 
>>> začínám a snažím zjednodušit život. Ne vždy se však zadaří.
>>>
>>>
>>> On 9.4.2018 17:11, Jan Waclawek wrote:
>>>> Nastavuje sa to pomocou CMSIS funkcie SysTick_Config() (kedze je 
>>>> CMSIS je v
>>>> jednom z CMSIS headerov, menovite core_cmX.h). Cube/HAL funkcia
>>>> HAL_SYSTICK_Config() len vola tuto funkciu.
>>>>
>>>> Ako sa to nastavuje v CubeMX to netusim, ale tipujem, ze nijako.
>>>>
>>>>> se předpokládá, že 1 ms sedne
>>>>
>>>> Zrejme ano.
>>>>
>>>> wek
>>>>
>>>>
>>>> PS. Preco vlastne henten paskvil pouzivas? Nutia Ta?
>>>>
>>>>
>>>>
>>>>
>>>> ----- Original Message ---------------
>>>>
>>>> Subject: STM32CubeMX a SysTick
>>>>     From: Josef Štengl <ok1ced na nagano.cz>
>>>>     Date: Mon, 9 Apr 2018 16:52:47 +0200
>>>>       To: HW-news <hw-list na list.hw.cz>
>>>>
>>>>> Ahoj,
>>>>>    nezkoušel jste někdo měnit čas SysTick přerušení v tom divném 
>>>>> nastavovátku (CubeMx)? Nějak sem to tam nenašel.
>>>>> Přinejhorším si to najdu v kódu, ale zajímalo by mě, jestli to jde 
>>>>> nastavit v Cube, nebo se předpokládá, že 1 ms sedne
>>>>> všem. Logika mi říká, že by mělo jít změnit, protože vstupní 
>>>>> frekvence hodin se také mění a hodiny se konfigurují a po
>>>>> zběžném dotazu na to registry také jsou ...
>>>>
>>>> _______________________________________________
>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>> Hw-list na list.hw.cz
>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list