neu*_*ron 3 microcontroller arm cortex-m3 cortex-a
是什么原因Cortex-M3的初始堆栈指针值位于0x0,复位处理程序位于0x4?这个的设计理由是什么?
为什么ARM人员不能像重置处理器那样将0x0留给重置处理程序,然后在重置处理程序内初始化SP?
我认为这个属于"它不是一个错误,它是一个功能"的旗帜.
ARM体系结构M(微控制器)配置文件与A和R配置文件具有完全不同的异常模型.A-profile(如R-profile)保留了与以前ARM处理器的向后兼容性.允许M-profile偏离此,因此设计为更容易从C/C++(没有asm)完全编程.
因此,向量条目包含地址而不是指令,一旦完成,为什么不以相同的方式设置SP?它还可以在异常输入时自动保存状态.