- 1、本文档共23页,可阅读全部内容。
- 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汇编程序的编写,对提供的程序的启动代码进行分析,了解
S3C2410初始化过程,初始化代码主要是包含在start.s中。
二、实验原理:
启动程序要完成的任务包括:硬件初始化,系统存储系统的配置,复
制二级中断向量表。
启动程序过程
●系统硬件初始化
系统上电或复位后,程序从位于地址0x0的ResetExceptionVector处
开始执行,因此需要在这里放置Bootloader的第一条指令:bResetHandler,
跳转到标号为ResetHandler处进行第一阶段的硬件初始化,执行完,系统
进行堆栈和存储器的初始化。使用了外设,则需要设置相关的寄存器,确
定其刷新频率、总线宽度等信息。
●代码段复制到RAM中运行
需要把系统的代码复制到RAM中运行。映像文件内部共有三种输出
段:RO段、RW段和ZI段。ARMLink同时还产生了这三种输出段的起始和
终止定位信息:Image$$RO$$Base、Image$$RO$$Limit、Image$$RW$$Base、
Image$RW$Limit、Image$ZI$Base和Image$$ZI$$Limit。可以在程序中使用
这些定位信息。将ROM中的代码和数据搬移到RAM中。
●建立二级中断向量表
在ARM系统中,中断向量表位于0X0开始的地址处,意味着无论运
行什么样的上层软件,一旦发生中断,程序就得到Flash存储器中的中断
向量表里去,降低系统的运行效率。因此在RAM中建立自己的二级中断向
量表,当中断发生后,程序直接从RAM中取中断向量进入中断子程序。尤
其是在中断频繁发生的系统里,这种方法可以大大提高系统的运行效率。
三、实验内容:
1.运行一个简单的串口程序,单步执行初始化代码,观察寄存器变化。
2.分析系统上电后的初始化工作包括哪些内容。
3.分析中断的处理过程,包括中断向量表的建立、中断源的识别及中断IRQ
服务程序是如何进入的。
4.分析应用程序的结构。
四、实验代码:
在系统上电后,初始化部分的工作注意包含以下部分:
1、关看门狗定时器
2、屏蔽所有中断
3、设置CPU时钟频率。
4、设置存储器控制寄存器,对外部存储器的参数进行设置。
5、初始化各模式下的堆栈
6、建立IRQ中断的总的入口地址
7、初始化应用程序的执行环境
8、跳入Main函数,进入C程序
;=========================================
;NAME:2410INIT.S
;DESC:Cstartupcodes
;Configurememory,ISR,stacks
;InitializeC-variables
;HISTORY:
;2002.02.25:kwtark:ver0.0
;2002.03.20:purnnamu:AddsomefunctionsfortestingSTOP,POWER_OFFmode
;=========================================
GEToption.s;GET相当INCLUDE将一个源文件包含到当前源文件,这里表示包含
option.s,并在当前位置进行汇编
GETmemcfg.s
GET2410addr.s
BIT_SELFREFRESHEQU(122);定义了一些符号常量
;ARM异常模式的定义
;SDRAM/DRAM刷新控制器bit22REFMD位0:CBR/AUTOREFRESH1:SHIFREFRESH
;下面是对arm处理器模式寄存器对应值的常数定义,arm处理器中有一个CPSR程序状
;态寄存器,CPSR后五位决定目前的处理器模式。
;Pre-definedconstants
文档评论(0)