打印

对stm32的RAM启动模式的疑问??

[复制链接]
4616|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
machunshui|  楼主 | 2009-3-2 08:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32手册上:

"注意: 当从内置SRAM启动,在应用程序的初始化代码中,必须使用NVIC的异常表和偏移寄存器,从新映射向量表之SRAM中"



可是在RAM启动模式的时候,ram区映射到0地址开始的地方,

即使不做向量表偏移,

当中断发生的时候,操作的应该也是ram区的向量表啊,

为何一定要做向量表偏移??
沙发
香水城| | 2009-3-2 08:48 | 只看该作者

RAM启动模式的时候,RAM区映射到0地址开始的地方

但是启动之后,这个映射就不存在了。

在你引用的手册上那段话之前,有一段话说明了这一点:“从内置SRAM启动:只能在0x2000 0000开始的地址区访问SRAM。”

使用特权

评论回复
板凳
machunshui|  楼主 | 2009-3-2 09:06 | 只看该作者

明白了,谢谢版主

明白了,谢谢版主.

还有一点,就是flash启动的时候,

不进行向量表偏移可以吗?

按手册说得:

"从主闪存存储器启动:主闪存存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(0x0800 0000)访问它,即闪存存储器的内容可以在两个地址区域访问,0x0000 0000或0x0800 0000。"

感觉是可以,

但是看到的例程都是进行向量表偏移的.

使用特权

评论回复
地板
香水城| | 2009-3-2 10:05 | 只看该作者

按照手册上的讲法是不需要再做向量表偏移

但是大家都是在程序一开始做了向量表偏移,我们也没有试过不进行这个操作会怎么样,你可以试试,然后来公布一下结果。

使用特权

评论回复
5
machunshui|  楼主 | 2009-3-2 11:00 | 只看该作者

感觉好像可以,过两天试试

从手册上来看,好像可以,过两天试试,

能少写一行是一行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

153

主题

3224

帖子

4

粉丝