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