完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
网上看了很多关于STM32的中断向量表的帖子,估计也就那几个帖子抄来抄去的。但是始终有个问题:为什么要对中断向量表进行重新映射?
我看了宋岩的COREM3权威指南上讲“然而,为了动态重分发中断, CM3 允许向量表重定位——从其它地址处开始定位各异常向量。这些地址对应的区域可以是代码区,但也可以是 RAM 区。在 RAM区就可以修改向量的入口地址了。”。但是,感觉说了跟没说一样,没有回答问题的本质。 我的疑惑: 1.如果不重新映射的话,中断向量表的地址应该是这样的:0X0000 0000是SP;0X0000 0004是复位向量;0X0000 0008是NMI;后面按照中断编号的顺序依次按4递增。这样的话,不也能存得下中断向量表吗?反正存的是一些函数指针,占不了多少空间,干嘛还要重新映射到其他的地方呢? 2.如果重新映射的话,中断向量表的入口地址就变成0x0800 0000了。但是一开始已经开辟的那部分空间(0x0000 0000......)存放的中断向量表不是就等于没用吗? 请好心人帮我解答下,在下不甚感激! |
|
相关推荐
10个回答
|
|
|
|
|
|
重新映射的话,不存在开辟的空间没用的问题,因为这个开辟的空间被整好映射过去了。
|
|
|
|
那不重新映射不是更好吗? |
|
|
|
新人,第一次发帖子,后续会加奖励的。我想问的是可以不重新映射吗? |
|
|
|
|
|
|
|
蹭个金币。。。
|
|
|
|
你可以看一看论坛的关于内核的哪几节视频,里面有讲。将的很清楚。应该是这个视频《Cortex-M内核系列和STM32-讲座1》。第slide12开始讲。
其实你通过boot0和boot1启动就是地址重映射的一部分,但不是全部。楼上说的IAP是另一部分。具体你再看看。 |
|
|
|
学习了!
|
|
|
|
学习了
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
878 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
936 浏览 2 评论
2044 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1145 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1568 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 02:18 , Processed in 0.843388 second(s), Total 90, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号