Bootloader初始化启动过程分析.doc

Bootloader初始化启动过程分析.doc

ID:50944992

大小:56.50 KB

页数:9页

时间:2020-03-16

Bootloader初始化启动过程分析.doc_第1页
Bootloader初始化启动过程分析.doc_第2页
Bootloader初始化启动过程分析.doc_第3页
Bootloader初始化启动过程分析.doc_第4页
Bootloader初始化启动过程分析.doc_第5页
资源描述:

《Bootloader初始化启动过程分析.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、今天我们讨论一下PXA255芯片的bootloader的初始化过程,也就是start_xscale.S的汇编文件中包含的内容。E1开发板的硬件配置是这样的,400MTurbo模式运行的PXA255处理器,32MFlash和64MSDRAM。start_xscale.S包含的主要内容是系统上电后的初始化过程,依次为:屏蔽硬件中断、初始化GPIO引脚、初始化Flash和SDRAM、拷贝bootloader代码到SDRAM中、拷贝内核代码到SDRAM中、最后跳转到bootloader的main程序中去执行。关于PXA255芯片

2、的详细信息请参阅《PXA255Developer’sManual》。 1屏蔽硬件中断ldr    r12,=INTERRUPT_CONTROL_BASE       ldr    r0,=0x00000000       str    r0,[r12,#ICMR]       str    r0,[r12,#ICLR]这一部分的代码很简单,即使将中断屏蔽寄存器ICMR置0,屏蔽所有硬件中断。 2初始化GPIO引脚gpio_init:ldr    r12,=GPIO_BASE   ldr    r0,=GAFR0L_VAL

3、UE   str    r0,[r12,#GAFR0_L]   ldr    r0,=GAFR0U_VALUE   str    r0,[r12,#GAFR0_U]    ldr    r0,=GAFR1L_VALUE   str    r0,[r12,#GAFR1_L]   ldr    r0,=GAFR1U_VALUE   str    r0,[r12,#GAFR1_U]    ldr    r0,=GAFR2L_VALUE   str    r0,[r12,#GAFR2_L]   ldr    r0,=GAFR2U

4、_VALUE   str    r0,[r12,#GAFR2_U]    ldr    r0,=GPSR0_VALUE   str    r0,[r12,#GPSR0]   ldr    r0,=GPSR1_VALUE   str    r0,[r12,#GPSR1]   ldr    r0,=GPSR2_VALUE   str    r0,[r12,#GPSR2]    ldr    r0,=GPCR0_VALUE   str    r0,[r12,#GPCR0]   ldr    r0,=GPCR1_VALUE   

5、str    r0,[r12,#GPCR1]   ldr    r0,=GPCR2_VALUE   str    r0,[r12,#GPCR2]    ldr    r0,=GPDR0_VALUE   str    r0,[r12,#GPDR0]   ldr    r0,=GPDR1_VALUE   str    r0,[r12,#GPDR1]   ldr    r0,=GPDR2_VALUE   str    r0,[r12,#GPDR2] //Cleartheperipheralcontrolregisterbits

6、,sothatwecanusegpioasconfiguredabove  ldr    r1,=PSSR  ldr    r2,=(PSSR_RDH

7、PSSR_PH)  str    r2,[r1]         mov    pc,lr 这里我们着重讨论关于GPIO的功能寄存器的设置,也就是GAFR寄存器,有几个问题要注意:1静态存储器空间nCS0的片选信号没有与GPIO脚复用,,这是因为由于芯片当复位时自动跳转到地址0运行,因此对这一块地址需要专用的片选信号。其它静态存储器空间(nCS[1:5])的片选信号都与G

8、PIO脚复用,即也可用做一般功能的GPIO,当系统有外部设备需要访问时(如FLASH、具有FIFO的专用芯片等),可以将该块地址的片选用对应GPIO引脚来代替。2GPIO[18]被设置为RDY信号输入,如果芯片外接VLIO设备的话,需要用到该信号。 该段代码最后通过向PSSR寄存器的RDH和PH位写1来清零该位,这时候GPIO才可以按照上面的配置进行工作。 3初始化存储器3.1下面我们开始讨论Flash和SDRAM的初始化,在配置这二者之前,首先要做一些系统时钟方面的处理。init_sdram:mov   r10,lr 

9、   ldr    r12,=CLOCK_MANAGER_BASE    ldr    r0,=CKEN_VALUE   str    r0,[r12,#CKEN]   ldr    r0,=OSCC_VALUE //The32.768koscillatorclockstheRTCandPM.   str    r0

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

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

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