社区
嵌入开发(WinCE)
帖子详情
疑问:ARM规定了异常向量的复位从0x0
逸萌
2010-12-15 11:04:29
如果整个Nor flash的代码被拷贝到SDRam,程序执行过程中产生异常,会执行Nor flash的异常跳转,而不是执行SDRam里面的SDRam,这样不是很慢吗?
ARM规定了复位0x0是否可以被当成虚地址,通过MMU映射到SDRam呢?
或者如果没有MMU,又怎么办?
或者其它方法?
...全文
184
5
打赏
收藏
疑问:ARM规定了异常向量的复位从0x0
如果整个Nor flash的代码被拷贝到SDRam,程序执行过程中产生异常,会执行Nor flash的异常跳转,而不是执行SDRam里面的SDRam,这样不是很慢吗? ARM规定了复位0x0是否可以被当成虚地址,通过MMU映射到SDRam呢? 或者如果没有MMU,又怎么办? 或者其它方法?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
详解
ARM
体系结构支持的
异常
包括
复位
、中断、未定义指令等.pdf
ARM
体系结构所支持的
异常
和具体含义如下: 1、
复位
(优先级1) 当处理器的
复位
电平有效时,产生
复位
异常
,程式跳转到
复位
异常
处执行(
异常
向量
:
0x0
000,0000); 2、未定义指令(优先级6) 当
ARM
处理器或协处理器遇见不能处理的指令时,产生为定义
异常
。可使用该
异常
机制进行软件仿真(
异常
向量
:
0x0
000,0004); 3、软件中断(优先级6) 有执行SWI 指令产生,可用于用户模式下程式调用特权操作指令。可使用该
异常
机制实现系统功能调用(
异常
向量
:
0x0
000,0008); 4、指令预取中止(优先级5) 若处理器的预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,当预取指令被执行时,才会产生指令预取中止
异常
(
异常
向量
:
0x0
000,000C); 5、数据中止(优先级2) 若处理器数据访问的指令的地址不存在,或该地址不允许当前指令访问,产生数据中止
异常
(
异常
向量
:
0x0
000,0010); 6、IRQ,外部中断请求(优先级4) 当处理器的外部中断请求引脚有效,且CPSR 中的I 位为0 时,产生IRQ
异常
。系统的外设能该
异常
请求中断服务(
异常
向量
:
0x0
000,0018);
ARM
异常
处理机制
ARM
异常
处理机制
ARM
异常
处理机制
ARM
异常
处理机制
ARM
异常
处理机制
ARM
异常
处理机制
ARM
异常
处理机制
ARM
异常
处理机制
ARM
异常
处理机制
ARM
异常
处理机制
ARM
异常
处理机制
LPC2119调试说明.pdf
LPC2119调试说明.pdf
关于
ARM
的21个常用概念 2
本文为
ARM
的基础知识点总结 11~21.
嵌入式系统仿真实验第五讲1
这个过程的讲解在我的讲义第二章,可以翻回去再看看。以前我们用 X86 讲微机原理的时候,这部分属于 bios 程序的内容,一般不讲一个 BIOS 程序是如何设计
嵌入开发(WinCE)
19,520
社区成员
41,566
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章