Chinaunix首页 | 论坛 | 博客
  • 博客访问: 750371
  • 博文数量: 215
  • 博客积分: 291
  • 博客等级: 二等列兵
  • 技术积分: 1031
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-12 18:17
文章分类

全部博文(215)

文章存档

2016年(16)

2015年(16)

2014年(123)

2013年(60)

分类: 嵌入式

2013-09-22 10:08:46

powerpc处理器u-boot启动

分类: vxworks 2011总结 470人阅读 评论(0) 举报

powerpc 处理器有一个叫 boot sequencer

uboot 的start.s 文件里面的 .section .bootpg,"ax"可以查gas手册和ld手册

mpc8536手册这样说写he processor starts at 0xfffffffc and the code is first executed in the last 4K page(0xfffff000-0xffffffff) in flash/rom.  

看一下u-boot里的start.S和相应的链接脚本。总之,fffffffc是上电复位的第一条代码,这里通常是一条跳转。 

但是如果放第一条代码 那别的代码放哪,所有代码不应该是放在一起的吗?

0xfffffffc放一条跳转。所以说,好好看一下u-boot里的start.S,这条跳转是放在一个叫bootpg的section里的。

然后你看一下,链接脚本里,bootpg这个section放在那里,就清楚了。

 在物理上用烧写器烧写的时候应该是把整个uboot.bin从某个起始地址开始烧写
uboot.bin不是要从fffffffc烧,ff800000~ffffffff这8M称为boot space,如果从local bus上的nor启动,他就被映射到local bus上的cs0选中的nor flash。你要把u-boot.bin烧到nor flash里。
那启动的时候会去fffffffc这个地址找第一条代码
第一条代码总是在fffffffc,可以变的是boot space。boot space映射到不同的设备,就可以从不同 的设备里启动

uboot里面的u-boot.lds文件里面的语法 查ld手册

lds = link script
阅读(2578) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~