免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4241 | 回复: 1
打印 上一主题 下一主题

P4080 RCW总结 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-23 10:17 |只看该作者 |倒序浏览
      和原有的P2020,MPC8548有所不同,P4080是通过RCW(Reset Configuration Word)来加载硬件配置字的,而freescale之前的cpu多数都可以通过硬件管脚加载。这样可以省去好多硬件管脚,而且更加灵活,下面就来讨论RCW是如何加载的。
      通过设定硬件管脚cfg_rcw_src[0:4]来选择RCW的加载源,如从i2c,NAND flash,Nor flash, Hard-coded options等,我们就以从Nor flash加载为例进行。硬件把cfg_rcw_src[0:4]设置为01100b或者01101b(位宽不同)来选择从nor flash加载,这里先讨论下PBL的概念:
      PBL(pre-boot loader)顾名思义,就是在我们传统的loader之前运行的,它就是个二进制的image,通常包含2部分内容:64byte的rcw内容和PBI程序,PBI的缩写是pre-boot initialization, 是在RCW被加载之后被执行的,通常运来配置cpu或者local bus上的设备,PBI是可选的,所以PBL可以只含RCW或者是RCW+PBI的组合。PBL,RCW,PBI的格式定义见p4080的手册,下面讨论PBL是怎么被cpu访问的:
      硬件把cs0片选信号连接到含有PBL image的Nor flash上,并且源也选在nor flash,这样一来系统刚上电时0x0地址就对应了flash的偏移地址0了,所以只需把PBL的image烧写在flash最开始的地方即可。freescale有专门的工具生成PBL image,只要把需要配置的内容按需填好即可生成。
      如果选择i2c作为源,好像把对应的存储设备接到0x50的i2c地址上即可。
      这样一来设备起来后就可以找到PBL并去加载它了,之后PC指针会跳入到0xFFFFFFFC的地址去从firmware中运行。
总结有错误疏漏之处,往大家指正。

论坛徽章:
0
2 [报告]
发表于 2014-12-10 17:56 |只看该作者
CodeWarrior用时需要初始化内存时钟内部寄存器,杭州哲发的软件使用JTAG烧写,省去配置麻烦,无需USB TAP仿真器,性价比更高。并且,速度毫不逊色甚至更快(在P2020板上实测)。更重要的是:比CodeWarrior更好用!无需初始化时钟/内存/内部寄存器。实际上,除了PowerPC,还支持ARM/MIPS等所有架构的CPU以及CPLD/FPGA或者其他SoC。
http://zhefar.com/services-ee.htm#JTAG_Flash
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP