powerpc启动地址

本文以芯片MPC8308为例介绍芯片上电时的启动地址
CPU 在复位时通常都从地址 0x00000000 取它的第一条指令。而基于 CPU 构建的嵌入式系统通常都有某种类型的固态存储设备(比如: ROM、 EEPROM或 FLASH 等)被映射到这个预先安排的地址上。
以下摘自mpc8308芯片手册:
4.3.2.2.1 Boot Memory Space (BMS)
The device defines the default boot ROM memory space to be 8 Mbytes at addresses 0x0000_0000 to 0x007F_FFFF or 0xFF80_0000 to 0xFFFF_FFFF. When the core comes out of reset, if it is enabled to boot, it fetches boot code from one of two addresses, 0x0000_0100 or 0xFFF0_0100, and exceptions are vectored to the physical addresses, 0x000n_nnnn or 0xFFFn_nnnn appropriately.
就是CPU会设置8Mbytes的启动空间,启动地址可能是从0x0000_0000开始或者0xFF80_0000。而取指令的地址也因空间不同而不同,第一种地址是从0x0000_0100开始,另外一种是从0xFFF0_0100开始。(详细见:/学习资料/u-boot分析/PowerPC上电复位的过程描述)而具体从那个地址启动是由配置决定的。(配置字 ->RCWHR ->BMS寄存器)
这里写图片描述

系统复位时需要加载一个复位配置字,而这个复位配置字可能存在于NOR Flash,NAND Flash,I2C EEPROM 或者 使用硬编码的默认选项
具体从哪加载要通过CFG_RESET_SOURCE[0:3]来决定,而这几个值由TSEC1_TXD的4个引脚决定
这里写图片描述
(PowerQUICC II Pro MPC8308硬件规范Table 53)

通过问硬件工程师,该值配置为1010,由Table 4-5可知,该配置字使用硬编码的默认选项
这里写图片描述
这里写图片描述
Reset Configuration Words包含RCWLR RCWHR RSR SPMR 4个寄存器,默认选项定义了这几个寄存器的值,其中RCWHR寄存器中定义了BMS的默认值,如下,由此可知boot的起始地址为0Xff80_0000
这里写图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值