Fwd: STM CUBE - zkusenosti
Jiří Nesvačil
nesvacil na posys.eu
Neděle Říjen 4 10:27:59 CEST 2015
Aby to bylo konkretni, tak napr toto je ve vsech knihovnach STM
// BUG
//#define FLASH ((FLASH_TypeDef *) FLASH_R_BASE)
#define FLASH ((FLASH_TypeDef volatile *) FLASH_R_BASE)
Pokud se na tu periferii odkazete v kodu, budete cekat v cyklu, tak se nedockate (nema volatile). Je to odkaz do pameti a ten compiler precte jen jednou. Podobne na to narazi i jini, ale nevi proc jim to nejde.
Jirka
Dne 4. 10. 2015 v 10:16 Jiří Nesvačil napsal(a):
> Kdyz vyvojari STM se nenaucili klicove slovo volatile. Pote ty knihovny s ruznou optimalizaci prekladu, ci ruznou verzi GCC chodi za roh. Je to bohuzel ve vsech knihovnach. Pokud Vam neco nejde, tak musite napsat sami.
> Napriklad zapis do FLASH, sice je v include precastovani, ale to nema priznak volatile. Protoze odkazy na porty jsou jako odkazy do pameti, tak to optimalizator vezme a i pres funkce v jednom *.c souboru zoptimalizuje na jedno cteni a cekani
> nechodi. Bohuzel to je vsude. V CUBE se to snazili predelat definici _IO, ale to moc nepomohlo, staci volatile.
>
> Jirka
>
>
> Dne 3. 10. 2015 v 1:03 Jan Waclawek napsal(a):
>>> Jdu spat a zitra nevim jestli to spis zahodim a vratim se k SPL nebo
>>> jeste neco zkusim...
>> Cesta spat je nemozna, musite prejst na LL :-)
>> http://www.mikrozone.sk/news.php?extend.1042.4
>>
>> wek
>>
>> _______________________________________________
>> 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