Jak zacit s STM32?

Miroslav Mraz mrazik na volny.cz
Pondělí Listopad 23 15:44:27 CET 2015


V textu

Dne 23.11.2015 v 15:15 Josef Štengl napsal(a):
> 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.
>
V každém případě, pokud něco takového udělám, stálo by za to přidat 
krátký komentář proč.

> 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
>
To platí skoro pro všechny procesory, kromě Cortex-Mx. První položka 
tabulky vektorů udává přímo počáteční hodnotu SP, kterou pak doplní do 
toho SP přímo hardware při skoku do Reset_Handleru. To udělali proto, 
aby šlo celý program napsat v čistém C. A proto se také samočinně 
schovávají některé registry do stacku při vstupu do přerušení.

Mrazík



Další informace o konferenci Hw-list