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