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