ARM_minimal.
|
Vektory. ...
Definice maker | |
#define | ALIAS(f) __attribute__ ((weak, alias (#f))) |
Alias pro handler. | |
Definice typů | |
typedef void(* | pHandler) (void) |
Typová definice ukazatele na funkci snad trochu zlepší čitelnost. | |
Funkce | |
void | _estack (void) |
void | Reset_Handler (void) |
Obsluha vektoru Reset. ... | |
void | NMI_Handler (void HardFault_Handler() ALIAS(Default_Handler) void) |
Neúplná tabulka vektorů pevně na začátku paměti. Viz script.ld. | |
void | Default_Handler (void) |
Nepoužito. | |
Vektory.
void _estack | ( | void | ) |
V linker skriptu, jen pro názornost, zde není nezbytné - nemáme přerušení ani podprogramy, zásobník se tedy vůbec nepoužívá. Zase - obvykle se používá deklarace tohoto symbolu jako uint32_t a jeho následné přetypování na pHandler v tabulce Vectors, ale takhle to jde též i když z toho není příliš patrné, že jde o hodnotu SP (a ne o vektor jako takový). Tahle drobná nekonzistence však umožní napsat celý program čistě v C, není potřeba používat assember a nastavovat SP nějakou extra instrukcí.
void Reset_Handler | ( | void | ) |
Obsluha vektoru Reset.
Obsluha vektoru Reset.
Obsluha vektoru Reset.
main() není potřeba