2410init.s的分析

2410init.s的分析

ID:37706835

大小:218.00 KB

页数:18页

时间:2019-05-29

2410init.s的分析_第1页
2410init.s的分析_第2页
2410init.s的分析_第3页
2410init.s的分析_第4页
2410init.s的分析_第5页
资源描述:

《2410init.s的分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、;=========================================;NAME:2410INIT.S;DESC:Cstartupcodes;Configurememory,ISR,stacks;InitializeC-variables;HISTORY:;2002.02.25:kwtark:ver0.0;2002.03.20:purnnamu:AddsomefunctionsfortestingSTOP,POWER_OFFmode;2002.04.10:SJS:subinterruptdisable0x3f

2、f->0x7ff;2002.11.29:Kong:DCDBANKSIZEResiger0x32->0xb2(ARMcoreburstenable);=========================================;/************************************此头文件的功能***********************************/;1.屏蔽所有中断,关看门狗。;2.根据工作频率设置PLL寄存器;3.初始化存储控制相关寄存器;4.初始化各模式下的栈指针;5.设置缺省

3、中断处理函数;6.将数据段拷贝到RAM中,将零初始化数据段清零;7.跳转到C语言Main入口函数中;由于注者水平有限,注解中难免有不正确或不恰当的地方,欢迎指正。mail:walw_very@126.com;*****************************************************************************/本汇编语言程序包含option.inc,memcfg.inc,2410addr.inc,通常启动代码是在2410init.s汇编文件;特殊功能寄存器定义在2410a

4、ddr.s;MemoryBank配置在mencfg.s;还有系统的选项等在option.s文件GEToption.inc;GETmemcfg.inc;此处GET相当于C语言中的includeGET2410addr.inc;BIT_SELFREFRESHEQU(1<<22);ram的自刷新设置位,相当于c里面#defineBIT_SELFREFRESH  (1<<22),就是第22位置1/*********************************************************************

5、*******CPSR中决定当前CPU工作模式的末5位代码ARM有7种模式,用户模式,快速中断模式,中断模式,管理模式,中止模式,未定义模式和系统模式。系统堆栈的初始化主要是给各个处理器模式分配堆栈空间。堆栈是为中断或程序跳转服务的,当发生中断或程序跳转时,需要将当前处理器的状态及一些参数保持在堆栈中,当中断处理完毕以后或程序执行完后返回时,再将堆栈保存的现场数据进行恢复,以保证原来的程序正确运行****************************************************************

6、**************/USERMODEEQU0x10;//用户模式FIQMODEEQU0x11;//快速中断模式IRQMODEEQU0x12;//外部中断模式SVCMODEEQU0x13;//管理模式ABORTMODEEQU0x17;//中止模式UNDEFMODEEQU0x1b;//未定义的模式MODEMASKEQU0x1f;//中断屏蔽?NOINTEQU0xc0;//没有中断?;ThelocationofstacksCPU在不同工作模式下对应的堆栈区。;_STACK_BASEADDRESS是栈区基地址;_STAC

7、K_BASEADDRESS已经在Option.s/Option.inc中定义,在这里的值为0x33ff8000UserStackEQU(_STACK_BASEADDRESS-0x3800);0x33ff4800~SVCStackEQU(_STACK_BASEADDRESS-0x2800);0x33ff5800~UndefStackEQU(_STACK_BASEADDRESS-0x2400);0x33ff5c00~AbortStackEQU(_STACK_BASEADDRESS-0x2000);0x33ff6000~IRQS

8、tackEQU(_STACK_BASEADDRESS-0x1000);0x33ff7000~FIQStackEQU(_STACK_BASEADDRESS-0x0);0x33ff8000~;/*********************************************************

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

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

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