S3C2410启动程序设计——2410Init.s详细分.pdfVIP

  • 44
  • 0
  • 约5.1万字
  • 约 28页
  • 2016-03-01 发布于安徽
  • 举报

S3C2410启动程序设计——2410Init.s详细分.pdf

2410Init.s 详细注释分析 Crealse.Sheng S3C2410 启动程序设计——2410Init.s 详细分析 工程里面的头文件 2410Init.s 包括了板子上电后的初始化(与vivi 很相似),具体有几个步骤: 1. 屏蔽所有中断,关看门狗。 2. 根据工作频率设置PLL 寄存器 3. 初始化存储控制相关寄存器 4. 初始化各模式下的栈指针 5. 设置缺省中断处理函数 6. 将数据段拷贝到RAM 中,将零初始化数据段清零 7. 跳转到C 语言Main 入口函数中 在开发板上跑了一遍,基本过程已经清晰,还有些细节问题有待进一步深入研究! 将这个程序注释了一下,可能有些地方不是很正确,只提供参考。 ;========================================= ; NAME: 2410INIT.S ; DESC: C start up codes ; Configure memory, ISR ,stacks ; Initialize C-variables ; HISTORY: ; 2002.02.25:kwtark: ver 0.0 ; 2002.03.20:purnnamu: Add some functions for testing STOP,POWER_OFF mode ; 2002.04.10:SJS:sub interrupt disable 0x3ff - 0x7ff ; 2002.11.29:Kong:DCD BANKSIZE Resiger 0x32 - 0xb2 (ARM core burst enable) ;========================================= INCLUDE option.inc INCLUDE memcfg.inc 批注 [Crealse1]: 这些文件定 INCLUDE 2410addr.inc 义了一些地址数据等 BIT_SELFREFRESH EQU (122) ;下面是对arm 处理器模式寄存器对应值的常数定义,arm 处理器中有一个CPSR 程序状态寄存器,它的后五 位决定目前的处理器模式 ;Pre-defined constants 第 1 页 共 28 页 2410Init.s 详细注释分析 Crealse.Sheng USERMODE EQU 0x10 FIQMODE EQU 0x11 IRQMODE EQU 0x12 SVCMODE EQU 0x13 ABORTMODE EQU 0x17 UNDEFMODE EQU 0x1b MODEMASK EQU 0x1f NOINT EQU 0xc0 ;The location of stacks 批注 [Crealse2]: UserStack EQU (_STACK_BASEADDRESS-0x3800) ;0x33ff4800 ~ _

文档评论(0)

1亿VIP精品文档

相关文档