首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

powerpc处理器的u-boot启动

powerpc处理器的u-boot启动

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
返回列表