Popis procesoru
Tato část stručně popisuje architekturu procesoru ARM Cortex-M3, můžete si udělat představu o jeho struktuře a vlastnostech. Popis nejde do hloubky, neřeší detaily, od toho jsou referenční manuály, ale pro zahájení experimentů s procesorem Cortex-M3 zde získáte dostatek informací.
Co nás čeká ...
Základní informace
Procesor Cortex-M3 je první z řady procesorů ARM, které jsou založeny na architektuře ARMv7. Tato architektura je rozdělená do tří úrovní - profilů.
Obecné registry
Procesor má sadu šestnácti 32-bitových registrů R0 - R15 a několik speciálních registrů. Pro práci s pamětí jsou k dispozici pouze Load/Store instrukce. Všechny datové operace jsou prováděny nad polem registrů R0 až R15.
Speciální registry
Speciální registry obsahují stav procesoru, řídí maskování a prioritu přerušení, nastavení privilegií prováděného kódu a volbu zásobníku.
Zásobník a podprogramy
Procesor má plně sestupný zásobník, ukazatel vrcholu zásobníku SP obsahuje adresu poslední uložené položky. Při provádění instrukce PUSH, procesor nejdříve odečte hodnotu čtyři od obsahu ukazatele vrcholu zásobníku a následně na tuto adresu uloží požadovanou hodnotu. Vyjmutí hodnoty ze zásobníku, které provádí instrukce POP, má opačný průběh. Procesor z adresy vrcholu zásobníku přečte uloženou hodnotu a následně k vrcholu zásobníku přičte hodnotu čtyři.
Provoz procesoru
Po resetu je procesor nastaven do provozního režimu Thread, nastaven je hlavní zásobník MSP, registr LR je nastaven na hodnotu 0xFFFFFFFF, do registru SP je načten obsah paměti na adrese 0x00000000 a do registru PC obsah paměti na adrese 0x00000004.