完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
s3c2440跑裸机中断程序时,程序的链接地址设置在0x30000000,那么所有的地址标号都是基于0x30000000的偏移,这时程序中必须有代码将程序整体搬移到起始地址为0x30000000的存储空间。而同时“起步阶石”中仍旧有程序的前4k代码,这和0x30000000的前4k代码相同。那么当中断发生时,比如说IRQ中断发生,由于ARM9的机制,PC将被强制指向0x00000018处,这应该是指向“起步阶石”中的一个地址,然后实现中断函数的调用。不知道,我分析的对不对,请高手解答。
另外,如果事实就是这样,那么可以在程序的前4k代码中放置总中断向量表,系统硬件初始化代码,和程序搬移代码。4k后的代码是操作系统和应用程序。而且,前4k代码中的程序搬移代码,只用搬移4K以后的代码到0x30000000处。事实是否如此? |
|
相关推荐
1个回答
|
|
应该和0x30000000这个地址无关呢
可以看看这个帖子: 2440启动方式以及启动代码编写 http://blog.sina.com.cn/s/blog_8e7ab7ad0101d4x3.html |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
485 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程介绍之烧写所需镜像
605 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程之烧写方法
558 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
799 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核源代码的目录结构和文件说明
719 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 01:05 , Processed in 0.726710 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号