社区
嵌入开发(WinCE)
帖子详情
疑问:ARM规定了异常向量的复位从0x0
逸萌
2010-12-15 11:04:29
如果整个Nor flash的代码被拷贝到SDRam,程序执行过程中产生异常,会执行Nor flash的异常跳转,而不是执行SDRam里面的SDRam,这样不是很慢吗?
ARM规定了复位0x0是否可以被当成虚地址,通过MMU映射到SDRam呢?
或者如果没有MMU,又怎么办?
或者其它方法?
...全文
216
5
打赏
收藏
疑问:ARM规定了异常向量的复位从0x0
如果整个Nor flash的代码被拷贝到SDRam,程序执行过程中产生异常,会执行Nor flash的异常跳转,而不是执行SDRam里面的SDRam,这样不是很慢吗? ARM规定了复位0x0是否可以被当成虚地址,通过MMU映射到SDRam呢? 或者如果没有MMU,又怎么办? 或者其它方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
7:
复位
异常
与启动代码实战案例
本文深入剖析
ARM
7上电后的启动流程,重点讲解
复位
异常
、SVC模式切换、
异常
向量
表设置、堆栈初始化及.data/.bss段的配置过程。通过实战案例揭示进入main函数前的关键步骤,并针对无法进main、全局变量
异常
、中断死机等常见问题提供解决方案,帮助开发者掌握嵌入式系统底层启动机制。
ARM
的
异常
处理机制
本文详细介绍了
ARM
处理器的7种
异常
模式:
复位
、未定义指令、SWI、指令预取中止、数据访问中止、IRQ和FIQ
异常
,以及
异常
中断
向量
表。在
异常
发生时,处理器会保存状态,修改CPSR并跳转到相应的
异常
处理程序。
异常
处理分为进入和离开两个部分,具体处理流程包括保存LR和SPSR,设置中断屏蔽位,以及在
异常
结束时恢复处理器状态和清除中断禁用标记。
嵌入式杂谈之中断
向量
表
本文深入探讨了嵌入式系统中的中断
向量
表概念,解释了单片机上电后程序如何从特定地址开始执行,并通过
ARM
架构芯片i.MX6ULL为例,详细分析了中断
向量
表的结构及作用,包括
复位
中断、外部中断等关键中断类型的处理流程。
ARM
异常
处理
本文详细介绍了
ARM
架构中的
异常
处理机制,包括
异常
类型、
异常
向量
与优先级,以及内核响应和从中断返回的过程。重点分析了不同
异常
如
复位
、SWI、IRQ/FIQ等的响应流程和返回地址计算方法,帮助理解
ARM
处理器在
异常
发生时的状态切换与现场保护。
<
ARM
> uboot之
异常
向量
表学习
本文详细介绍了
ARM
架构的8种
异常
向量
,包括
复位
、未定义指令、SVC、预取指令终止、数据终止、保留、中断和快速中断
异常
。
异常
向量
表的顺序和地址计算被重点讲解,同时提供了示例代码展示如何在启动时配置这些
异常
处理程序。此外,还强调了
异常
向量
表的地址从_start入口开始,每个
异常
占用4字节,并在
异常
发生时执行相应汇编指令。
嵌入开发(WinCE)
19,523
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章