Почему вершина стека является первым значением, загружаемым из таблицы векторов после сброса? - PullRequest
0 голосов
/ 04 сентября 2018

Следующее имеет приоритет выше reset_handler.

Почему такая вещь?

Я знаю, что таблица данных любого микроконтроллера на основе ARM вынуждает этот порядок аппаратно, но почему это самый высокий приоритет?

__Vectors       DCD     __initial_sp               ; Top of Stack
            DCD     Reset_Handler              ; Reset Handler
            DCD     NMI_Handler                ; NMI Handler
            DCD     HardFault_Handler          ; Hard Fault Handler
            DCD     MemManage_Handler          ; MPU Fault Handler
            DCD     BusFault_Handler           ; Bus Fault Handler
            DCD     UsageFault_Handler         ; Usage Fault Handler
            DCD     0                          ; Reserved
            DCD     0                          ; Reserved
            DCD     0                          ; Reserved
            DCD     0                          ; Reserved
            DCD     SVC_Handler                ; SVCall Handler
            DCD     DebugMon_Handler           ; Debug Monitor Handler
            DCD     0                          ; Reserved
            DCD     PendSV_Handler             ; PendSV Handler
            DCD     SysTick_Handler            ; SysTick Handler
...