ARM架构芯片上电启动,自动干了啥
armv7-M
上电后芯片自动完成一些配置,伪代码TaskReset()如下:
主要功能:
- 设置芯片处于 Thread 模式
- 访问等级是特权级,SP用的是MSP
- 关闭所有中断(exception)
- 从flash读出第一个word,设置到MSP
- 从flash读出第二个word,并读出最低位设置到EPSR.T(对于ARMv7-M,由于只支持THUMB指令集,所以最低位为1,即设置EPSR.T为1,表示处理器执行THUMB指令)
- 第二个word存储的是复位函数地址,跳转到复位函数执行。
从上面可知,进入复位函数时,处理器是处于thread模式,所以不能叫复位中断,因为中断的处理器模式都是handler模式
参考资料:
《Armv7-M Architecture Reference Manual》
ARMv7-A 和 ARMv7-R