疑问:ARM规定了异常向量的复位从0x0

逸萌 2010-12-15 11:04:29
如果整个Nor flash的代码被拷贝到SDRam,程序执行过程中产生异常,会执行Nor flash的异常跳转,而不是执行SDRam里面的SDRam,这样不是很慢吗?

ARM规定了复位0x0是否可以被当成虚地址,通过MMU映射到SDRam呢?

或者如果没有MMU,又怎么办?

或者其它方法?
...全文
164 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
loongembedded 2010-12-16
  • 打赏
  • 举报
回复
ARM规定了复位0x0是否可以被当成虚地址,通过MMU映射到SDRam呢?
---》有这样的说法吗?在哪里有说明啊,我想看看。
逸萌 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 paul_chao 的回复:]
引用楼主 mydeardingxiaoli 的回复:
如果整个Nor flash的代码被拷贝到SDRam,程序执行过程中产生异常,会执行Nor flash的异常跳转,而不是执行SDRam里面的SDRam,这样不是很慢吗?
1. 很慢應是不會, 事實上, 你也可以在 NOR Flash 加入跳到 SDRAM 的指令.
2. 你可以打開 ICache, 則 SDRAM/NOR Flash 的執行……
[/Quote]
存在其它方法吗?



paul_chao 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 mydeardingxiaoli 的回复:]
如果整个Nor flash的代码被拷贝到SDRam,程序执行过程中产生异常,会执行Nor flash的异常跳转,而不是执行SDRam里面的SDRam,这样不是很慢吗?
1. 很慢應是不會, 事實上, 你也可以在 NOR Flash 加入跳到 SDRAM 的指令.
2. 你可以打開 ICache, 則 SDRAM/NOR Flash 的執行速度可以加快.

ARM规定了复位0x0是否可以被当成虚地址,通过MMU映射到SDRam呢?
3. YES

或者如果没有MMU,又怎么办?
4. 同第 1 點.

或者其它方法?
[/Quote]

Paul, Chao @ Techware
norains 2010-12-16
  • 打赏
  • 举报
回复
"如果整个Nor flash的代码被拷贝到SDRam,程序执行过程中产生异常,会执行Nor flash的异常跳转,而不是执行SDRam里面的SDRam,这样不是很慢吗?"
-->这个情形就要分开讨论了。如果是ARM M3的话,你将所有代码拷贝到SRAM之后,你还要写寄存器,将向量表指向SRAM的向量表地址,否则异常出现跳转的还是NOR的。至于ARM其它系列的话,向量表没研究过,所以这里就不发表讲解了。
当我遇上-你 2010-12-16
  • 打赏
  • 举报
回复
参考http://bbs.21ic.com/icview-149596-1-1.html

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧