关于STM32的启动代码的疑问

[复制链接]
3181|2
 楼主| fanwei326 发表于 2011-12-5 23:35 | 显示全部楼层 |阅读模式
我有一个疑问,在启动代码中,复位中断向量地址处用的是DCD Reset_Handler,并不是跳转指令 b Reset_Handler。那么启动时是怎么会执行Reset_Handler子程序的呢?
请各位大虾帮忙解惑!

其它中断也是同样的,都是在向量表中放的DCD XXXX_Handler ,不知道怎样跳转到中断入口函数的。
ARM9的启动代码就不是这样的,直接用的跳转指令。
yan2005 发表于 2011-12-6 07:45 | 显示全部楼层
这是由ARM公司在开发Cortex-M3的内核的时候就指定的机制。具体的说明在ARM网站上(不是ST哦)可以下载到的“ARMv7-M Architecture eference Manaual”这本手册中的System Level Programmer's Model这一章Exception model这一节里面。

上电的时候触发reset中断,然后跳入reset handler,这是由芯片内核的硬件来做的。
 楼主| fanwei326 发表于 2011-12-13 19:44 | 显示全部楼层
谢谢你的答复!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

56

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部