Jak zacit s STM32?

Jiří Nesvačil nesvacil na posys.eu
Pondělí Listopad 23 20:48:17 CET 2015


Jen doplnim Cortex sice automaticky nastavi stack a tabulku preruseni. Nicmene rucne se v startup nastavuje pro beh po bootloaderu ci pri spusteni kodu z pameti misto flashnuti do cpu. Pokud se na to zapomene ...

Jirka

Dne 23. 11. 2015 v 15:44 Miroslav Mraz napsal(a):
> 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
>
> _______________________________________________
> 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