STM32F0xx a počítání zapnutí

Miroslav Mraz mraz na seznam.cz
Úterý Červen 17 11:26:33 CEST 2014


On 06/17/2014 10:42 AM, HUDA volny wrote:
> Tak nějak jsem si to myslel.
>
> Ještě bych se v rámci práce s flashkou chtěl zeptat, jak definovat
> při psaní programu, aby se na určité místo ve flash uložila nějaká
> konstanta? Jde o to, že když přeložím program, tak v hex souboru
> na definované adrese tu konstantu uvidím.
To není zase tak jednoduché, jak to na první pohled vypadá. Šlo by to 
sice přes ukazatel na pevnou adresu jako jsou třeba definovány registry 
periferií, ale to přinese zmatek při sestavení programu.
Nejčistší je udělat si v linker skriptu pojmenovanou sekci, vhodně jí 
umístit a pak dávat potřebné konstanty do ní - např.
const int moje_konstanta __attribute__((section("moje_sekce"))) = 
moje_hodnota;
Ale definice těchto konstant musíte dát do extra souboru, jinak vám to 
může optimalizace zakrýt. Takže pak použít v hlavičce jen deklaraci
extern const moje_konstanta;
aby překladač konstantu viděl.
> A za druhé, nechají se nějak nadefinovat option bytes tak, aby se
> také objevily v hex souboru?
>
> HUDA
Asi by to šlo udělat podobně, ale nějak v tom nevidím smysl. S option 
bytes se pracuje jinak, musela by pro to být podpora v nějakém tom 
ST-linku nebo co používáte. Nicméně nikdy jsem to nezkoušel, možná někdo 
poradí lépe.

Mrazík




Další informace o konferenci Hw-list