求助:为啥stm32f10x中断向量要加一呢

[复制链接]
2341|3
 楼主| huangxz 发表于 2012-3-20 14:51 | 显示全部楼层 |阅读模式
今天看了stm32f10x的启动代码,第一条是0x08000000 放的是栈顶,第二条放的是复位向量的入口地址,可以复位向量的入口明明是0x08000100 可是在第二条放的却是0x08000101,这是怎么回事啊,哪位对stm32了解的告诉一下,谢谢。
寂寞西瓜 发表于 2012-3-20 15:04 | 显示全部楼层
“要注意因为 CM3 是在 Thumb 态下执行,所以向量表中的每个数值都必须把 LSB 置1(也就是奇数)。正是因为这个原因,图3.18 中使用0x101 来表达地址0x100。当 0x100 处的指令得到执行后,就正式开始了程序的执行。”
摘自《Cortex-M3权威指南CnR2(电子书)》 48页
 楼主| huangxz 发表于 2012-3-20 15:19 | 显示全部楼层
非常感谢,谢谢。
寂寞西瓜 发表于 2012-3-20 15:24 | 显示全部楼层
不客气
您需要登录后才可以回帖 登录 | 注册

本版积分规则

177

主题

4938

帖子

11

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