![]() ![]() So we specify the address of our Reset Handler which is the first code it will execute. Then it copies the next entry into PC (Program counter) and the execution starts from this address. During the startup operation, the ARM Cortex-M processor copies the first entry in the vector table to the stack pointer (which is the Main Stack Pointer or MSP). The vector table and especially the first two entries in it are essential for the ARM Cortex-M startup code to start executing application program and handle stacking operations. The list continues up to FPU_IRQHandler (Flash point Unit IRQ). These interrupts are connected to various peripherals in the MCU such as Watchdog, DMA, RTC etc. Here external refers to Arm processor and not the MCU STM32. Following these processor exceptions are the external interrupts. These are the first 15 exceptions starting from Reset_Handler up to SysTick_Handler. ARM Cortex-M processor provides some default exceptions. Exception Handlers Declarationįollowing the reset handler are the starting addresses of various exception handlers such as NMI_Handler, HardFault_Handler and so on. (The assembler processes the file in two passes which helps it to resolve such forward references). This is a forward reference because the label Reset_Handler is declared somewhere down the code. Similarly the next word stored is the address of Reset_Handler. Let’s look at the Vector table contents in detail.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |