■ STM32 启动过程
问题:介绍以下STM32启动过程?
解答:
通过Boot引脚设定,寻找初始地址
初始化栈指针 __initial_sp
指向复位程序 Reset_Hander
设置异常中断 HardFault_Handler
设置系统时钟 SystemInit
调用C库函数 _main
■ 中断
■ 中断向量表
中断跳转由于硬件的限制,只能跳到固定的地址执行程序,所以为了能让硬件跳转到一个不固定的中断函数里,这里就需要在内存中定义一个地址的列表。这个列表地址是固定的,中断发生后,就跳到这个固定位置,然后在这个固定位置由编译器,再加上一条跳转到中断函数的代码,这样中断跳转就可以跳转到任意位置。
这个中断地址的列表,就叫中断向量表。
■ NVIC嵌套中断向量控制器
它是用来统一分配中断优先级和管理中断的。