- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM的启动分析详解
ARM 的启动代码分析
1
1、启动代码概述
基于ARM 芯片的应用系统,多数为复杂的片上系统,该复杂系统里
,多数硬件模块都是可配置的,需要由软件来预先设置其需要的工作状
态,因此在用户的应用程序之前,需要由专门的一段代码来完成对系统
基本的初始化工作。
由于此类代码直接面对处理器内核和硬件控制器进行编程,故一般均
用汇编语言实现。
通常,启动代码是指CPU复位后到进 C语言的main函数之前需要执
行的那段汇编代码。
这是由于C语言程序的运行需要具备一定的条件,比如:分
配好外部数据空间堆栈空间和中断入口等。另外汇编代码可
以更直接的对硬件进行操,使效率更高。
2
编址方式
3
SDRAM分配
4
1、启动代码概述
通常启动代码是放在2410INIT.S汇编文件 (本实验平台
是Startup.s);
特殊功能寄存器定义在2410addr.s;
Memory Bank 配置在mencfg.s;
还有系统的选项等在option.s文件。
5
1、启动代码概述
6
程序入口
其中关键字ENTRY 是指定编译器保留这段代码,
链接的时候要确保这段代码被链接在整个程序的入口
地址,该地址也就是RO 的连接地址。
当ARM 启动时,PC指针会自动寻找该关键字从
该关键字处执行,该关键字的地址应满足4 字节对齐
的地址。
7
程序入口
下面是大小端的一个判断, 条件编译,在编译成机器码前
就设定好,在Option.inc里已经设为FALSE。
8
分配中断向量表
ARM 要求中断向量表必须放置在从0地址开
始,连续32 个字节的空间内。
每当一个中断发生后,即使移植了操作系统如linux ,处理
器还是会跳转到从0x0开始,强制把PC指针指向对应中断类型
的向量表中的地址。
因为每个中断 占据向量表中4 个字节的存储空间, 能
放置一条ARM 指令,所以,通常放一条跳转指令让程序跳
转到存储器的其他地方,再执行中断处理。
9
1. 分配中断向量表
b ResetHandler ;因为设成FALSE,所以系统复位后
;就来到这了,转跳到复位程序入口
]
b HandlerUndef ;转跳到Undefined mode程序入口
b HandlerSWI ;转跳到SWI 中断程序入口
您可能关注的文档
最近下载
- 010-数学形态学分析.ppt
- 2023年芜湖市镜湖区市场监督管理局招考工作人员笔试参考题库(共500题)答案详解版.docx VIP
- 励志班会:985博导桂海潮案例,读书可以改变命运主题班会.pptx
- Haier海尔洗衣机EG10014BD809LGU1使用说明书手册参数图解图示pdf电子版下载.pdf VIP
- 《中职高考英语总复习与同步练》(总复习分册)教案 第11课 语法知识——专题9 非谓语动词.docx VIP
- 供应室泛水应急演练.pptx VIP
- 化学品管理中的供应链安全和可追溯性.pptx
- 小学四年级上册心理健康教育教案.doc
- 《中职高考英语总复习与同步练》(总复习分册)教案 第8课 语法知识——专题7 形容词和副词(2).docx VIP
- 【方书】中医土单验方一百首(高清版).pdf
文档评论(0)