Mini2440启动代码分析--作业靳玉斌.pdf

Mini2440启动代码分析--作业靳玉斌.pdf

ID:53008787

大小:208.03 KB

页数:44页

时间:2020-04-11

Mini2440启动代码分析--作业靳玉斌.pdf_第1页
Mini2440启动代码分析--作业靳玉斌.pdf_第2页
Mini2440启动代码分析--作业靳玉斌.pdf_第3页
Mini2440启动代码分析--作业靳玉斌.pdf_第4页
Mini2440启动代码分析--作业靳玉斌.pdf_第5页
资源描述:

《Mini2440启动代码分析--作业靳玉斌.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1Mini2440启动代码分析23嵌入091班30号—靳玉斌4;=========================================5;NAME:2440INIT.S6;DESC:Cstartupcodes7;Configurememory,ISR,stacks8;InitializeC-variables9;HISTORY:10;2002.02.25:kwtark:ver0.011;2002.03.20:purnnamu:Addsomefunctionsfortesting12STOP,Sleepmode13;2003.03.14:DonGo:Modifiedfor24

2、40.14;2010.11.22号阅读mini2440启动代码15;=========================================16;GET类似于c语言中的include包含头文件17;option.inc文件内定义了一些全局变量,memcfg.inc文件内定义了18关于内存bank的符号和数字常量,2440addr.inc文件内定义了用于19汇编的s3c2440寄存器变量和地址20GEToption.inc21GETmemcfg.inc22GET2440addr.inc2324BIT_SELFREFRESHEQU(1<<22);定义SDRAM自刷新标志位2526

3、;定义各种工作模式27USERMODEEQU0x10;用户模式28FIQMODEEQU0x11;快中断模式29IRQMODEEQU0x12;中断模式30SVCMODEEQU0x13;管理模式31ABORTMODEEQU0x17;异常中止模式32UNDEFMODEEQU0x1b;未定义模式33MODEMASKEQU0x1f;系统模式(掩码模式)34NOINTEQU0xc0;屏蔽所有的中断,即置位I,F位35;设置6种工作模式36UserStackEQU(_STACK_BASEADDRESS-0x3800);用户模式的堆37栈空间0x33ff4800开始0x33ff8000-0x3800

4、0x33ff480038SVCStackEQU(_STACK_BASEADDRESS-0x2800);管理模式的堆39栈空间0x33ff5800开始0x33ff8000-0x28000x33ff580040UndefStackEQU(_STACK_BASEADDRESS-0x2400);未定义模式41的堆栈空间0x33ff5c00开始0x33ff8000-0x24000x33ff5c0042AbortStackEQU(_STACK_BASEADDRESS-0x2000);中止模式的43堆栈空间0x33ff6000开始0x33ff8000-0x20000x33ff600044IRQ

5、StackEQU(_STACK_BASEADDRESS-0x1000);中断模式的堆栈空45间0x33ff7000开始0x33ff8000-0x10000x33ff700046FIQStackEQU(_STACK_BASEADDRESS-0x0);快中断模式的堆栈47空间0x33ff8000开始0x33ff8000-0x00x33ff80004849;检查在tasm.exe里是否设置了采用THUMB(16位)代码(armasm50-16...@ADS1.0)51;判断是不是thumb指令。52GBLLTHUMBCODE;定义全局变量THUMBCODE53[{CONFIG}=16;相

6、当于C语言中的54if(config==16)如果代码是16位的55THUMBCODESETL{TRUE};把THUMBCODE设置为TURE56CODE32;代码段为32位,工作在arm57状态58

7、;“

8、”相当于else否则59THUMBCODESETL{FALSE};把THUMBCODE设置为FALSE60(arm态)61];相当于结束标志elseif6263;=======================================================64MACRO;宏定义的开始标志65MOV_PC_LR;宏定义的名称66[THUMBCODE;如果定义了THUM

9、BCODE。67bxlr;在ARM模式中要使用BX指令转跳到THUMB指令,并转换68模式.bx指令会根据PC最后1位来确定是否进入thumb状态69

10、;else否则70movpc,lr;目标地址是ARM模式,就直接把函数返回地址赋给71PC7273];elseif(结束标志)74MEND;宏的结束标志7576;======================================================77MACRO;宏定义的开

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。