- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
P启动过程
系统上电到执行第一条指令前,需要经过配置PLL、Local Bus控制器、LAW、MMU等操作,这些配置完全是由Cpu根据芯片的默认值和芯片外部配置引脚的输入状态自动完成的。如:1)?Cpu根据cfg_sys_pll[0:2]的输入状态决定当前CPU的BBC对SYS_CLK的倍频参数;2)?Cpu根据cfg_ddr_pll[0:2]?的输入状态决定DDR的时钟频率(DDR2和DDR3不同);3)?Cpu根据cfg_core0_pll[0:2]/cfg_core1_pll[0:2]的输入状态决定当前CPU的cor0/cor1对CCB的倍频参数;4)?Cpu根据cfg_cpu0_boot和cfg_cpu1_boot的输入状态决定复位时执行boot代码的Core,如下图所示:??5)?Cpu根据cfg_rom_loc[0:3]的输入状态决定Boot ROM的位置。6)?其它根据外部输入状态决定的配置。以上,对软件来说最重要的配置是Boot ROM位置的配置。Boot ROM位置与cfg_rom_loc[0:3]输入状态的关系如下图所示:在硬件连接无误的情况下,P2020启动的配置为:cfg_cpu0_boot=1,core0启动;cfg_cpu1_boot=0,core1等待;cfg_rom_loc[0:3] =1110,从Local bus GPCM—16-bit ROM启动;根据P2020的硬件手册,Cpu复位后执行的第一条指令的地址是0xFFFF,FFFC。因此,Cpu要能正确执行U-boot代码,至少需要下面几个条件:??Local Access Window能正确转换U-boot代码的物理地址空间??Local Bus Control能正确转换U-boot代码的物理地址空间??MMU能正确转换U-boot代码的有效地址空间(e500核的MMU无法关闭)首先,根据P2020手册,Local Access Window对Boot ROM的地址转换,不通过LAW寄存器配置。在复位时,映射0x0_FF80_0000到启动地址(硬件配置为Local bus GPCM),共8M空间。这样解决了第一个问题。接着,P2020复位时Local Bus Control寄存器BRn/ORn有默认值为全0,设定了第0个Local Bus Bank的地址空间是从0x0000_0000开始的4G空间,且MSEL=GPCM。这样,所有映射到Local Bus上的地址都会使CS0有效。然后,MMU在复位时也有默认值。实际上,虽然P2020的MMU有16个TLB1和512个TLB0,复位时仅TLB1的Entry0有效。Entry0将0xFFFF,F000开始的4k有效地址空间映射到0xFFFF,F000开始的4k物理地址空间中,TLB1的Entry0配置如下表所示:??有了以上的配置,P2020 Cpu复位时就能够从连接在Local Bus的CS0上的Nor Flash执行第一条指令了。具体过程如下:Cpu从0xFFFF,FFFC有效地址开始执行,先经过MMU转换得到物理地址0xFFFF,FFFC;然后,Local Access Window的特殊转换直接将0xFFFF,FFFC转换到Cpu的外围器件Local bus GPCM—16-bit ROM上;最后,由于Local Bus的CS0覆盖了4G空间,0xFFFF,FFFC直接被送到了Nor Flash(Boot Flash)的地址总线上。如果外接Boot Flash只有16M?BYTE,则地址总线仅24位,0xFFFF,FFFC代表了Flash 0xFF,FFFC的地址。/cpu/mpc85xx/u-boot.lds文件是连接器脚本文件,其中:.bootpg RESET_VECTOR_ADDRESS - 0xffc:{cpu/mpc85xx/start.o???????(.bootpg)} :text = 0xffff规定了/cpu/mpc83xx/start.s的_start_e500代码段放在Flash倒数4K的位置。.resetvec RESET_VECTOR_ADDRESS:{?*(.resetvec)} :text = 0xffff规定了复位后从resetvec段开始取指令,这个resetvec段放在FFFFFFFC的位置,在/cpu/mpc85xx/resetvec.s中可以看到e500核从倒数第4个字节处取的是一条跳转指令为:b _start_e500跳转到位于倒数4K位置的_start_e500标号处。 _start_e500开始的代码会在空间1里建立一个4M的Entry映射,使用的是Entry15,这样就把所有的uboot代码都可以访问到了。然后再会跳到_start标号开始的地方,_
您可能关注的文档
最近下载
- 八代雅阁原车音响升级操作指导书.pdf VIP
- 动物疫病防治技术 动物疫病防治技术 4能力单元四 猪的传染病 4-2 猪链球菌病.ppt VIP
- 自然人独资股权转让协议.docx VIP
- 小学生活垃圾归类课件PPT.pptx VIP
- 化学品安全培训内容.pptx VIP
- 视器-眼-人体解剖学ppt课件-感觉器官.pptx VIP
- 静配中心PIVAS静脉用药调配中心设备的保养及维护.pptx VIP
- 义务教育版(2024)七年级全一册信息科技 第6课 数字身份辨设备 课件.pptx VIP
- 第9课《天上有颗“南仁东星”》课件++++++++++++2025-2026学年统编版语文八年级上册.pptx VIP
- 菜点酒水知识试卷.pdf VIP
文档评论(0)