Jak zacit s STM32?

Josef Štengl ok1ced na nagano.cz
Pondělí Listopad 23 15:15:40 CET 2015


Mě to připadá jako nedostatek logického úsudku - paměť je velká zzz a byly blbé dotazy proč je nastavena na zzz + 1, když 
tam nic není. Tak ji nastavili na zzz a mají klid. Už jsem se s takovou logikou setkal.

Nechápu zbytečnost nastavení adresy stacku ve start-up kódu, podle mě je to docela důležité + nastavuje se na jednom 
místě. Nebo máte takový procesor, který ví, jakou chcete velikost stacku? Po resetu tam, podle toho co jsem vypozoroval, 
bývají docela různorodé hodnoty ...

A taky nastavuji stack na začátek paměti, aby když mě dojde stack, se to jednoznačně dozvěděl a nestudoval, proč se mi 
program courá někde, kde nemá být.

Nebo jsem něco pochopil nesprávně?

ced


Dne 23.11.2015 v 14:48 Miroslav Mraz napsal(a):
> 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
>>
>>
> _______________________________________________
> 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