Jak zacit s STM32?
Miroslav Mraz
mrazik na volny.cz
Pondělí Listopad 23 14:48:40 CET 2015
Mě zaujalo jiné vylepšení. Ty novější linker skripty mají definováno např.
_estack = 0x20001FFF;
Bylo mi divné, že to není zarovnáno na 4 byty. V dokumentaci lze najít,
že to nevadí, protože do SP poslední 2 bity stejně nejdou zapsat. Já
jsem zatím (a myslím, že starší příklady od ST také) používal
_estack = 0x20002000;
resp.
_estack = ORIGIN(RAM) + LENGTH(RAM);
tedy počáteční hodnota SP ukazovala až za konec RAM. Což by mělo být v
pořádku, protože PUSH napřed zmenší SP o 4 a pak teprve zapíše do RAM.
Je to vylepšení jen pro sichr nebo to má hlubší příčinu ?
Ty dva řádky ve startup kódu
Reset_Handler:
ldr r0, =_estack
mov sp, r0 /* set stack pointer */
totiž také nebudí moc důvěru, podle mé zkušenosti jsou zbytečné a tedy
jen pro sichr.
Mrazík
Dne 22.11.2015 v 19:33 Jan Waclawek napsal(a):
>
>
> Este jedna nechutna zmena: konstanty GPIO_MODER_MODERn sa u 'L0 volaju
> GPIO_MODER_MODEn. ST: TO VAZNE?
>
> wek
>
>
Další informace o konferenci Hw-list