网站大量收购独家精品文档,联系QQ:2885784924

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

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Bootloader初始化启动过程分析

今天我们讨论一下PXA255芯片的bootloader的初始化过程,也就是start_xscale.S的汇编文件中包含的内容。E1开发板的硬件配置是这样的,400M Turbo模式运行的PXA255处理器,32M Flash和64M SDRAM。start_xscale.S包含的主要内容是系统上电后的初始化过程,依次为:屏蔽硬件中断、初始化GPIO引脚、初始化Flash和SDRAM、拷贝bootloader代码到SDRAM中、拷贝内核代码到SDRAM中、最后跳转到bootloader的main程序中去执行。关于PXA255芯片的详细信息请参阅《PXA255 Developer’s Manual》。 ? 1 屏蔽硬件中断 ldr???? r12, =INTERRUPT_CONTROL_BASE ??????? ldr???? r0, =0??????? str?? ??r0, [r12, #ICMR] ??????? str???? r0, [r12, #ICLR] 这一部分的代码很简单,即使将中断屏蔽寄存器ICMR置0,屏蔽所有硬件中断。 ? 2 初始化GPIO引脚 gpio_init: ldr???? r12, =GPIO_BASE ? ?? ldr???? r0, =GAFR0L_VALUE ??? 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_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 ??? 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] ? // Clear the peripheral control register bits, so that we can use gpio as configured above ?? ldr???? r1, =PSSR ?? ldr???? r2, =(PSSR_RDH | PSSR_PH) ?? str???? r2, [r1] ??????? ?? mov???? pc, lr ? 这里我们着重讨论关于GPIO的功能寄存器的设置,也就是GAFR寄存器,有几个问题要注意: 1 静态存储器空间nCS0的片选信号没有与GPIO脚复用,,这是因为由于芯片当复位时自动跳转到地址0运行,因此对这一块地址需要专用的片选信号。其它静态存储器空间(nCS[1:5])的片选信号都与GPIO脚复用,即也可用做一般功能的GPIO,当系统有外部设备需要访问时(如FLASH、具有FIFO的专用芯片等),可以将该块地址的片选用对应GPIO引脚来代替。 2 GPIO[18]被设置为RDY信号输入,如果芯片外接VLIO设备的话,需要用到该信号。 ?该段代码最后通过向PSSR寄存器的RDH和PH位写1来清零该位,这时候GPIO才可以按照上面的配置进行工作。 ? 3初始化存储器 3.1 下面我们开始讨论Fl

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档