LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1385|回复: 4

求助关于u-boot移植的问题

[复制链接]
发表于 2007-2-2 09:16:49 | 显示全部楼层 |阅读模式
现在正在对自己制作的pxa255的开发板移植u-boot,已经编译通过生成u-boot.bin文件,但是遇到如下问题,向高手求助:
(1)在u-boot/board/board_name/config.mk中需要定义TEXT_BASE,在网上看到有的网友说这个链接地址要和“一级boot定义的”一致,请问什么是一级boot?一级boot如何工作?
  (2)基于上一个问题,如果所谓的”一级boot"不存在,仅仅使用u-boot.bin,能否引导系统?
谢谢!
发表于 2007-2-10 18:57:35 | 显示全部楼层
(1)不明白这个“一级boot”是什么东西。。。
这里的TEXT_BASE是指U-Boot的代码拷贝到SDRAM中的起始地址。
(2)仅仅使用u-boot.bin当然可以引导系统,前提是你的移植没有错误。然后u-boot.bin还要烧写到CPU重新上电的时候取第一条指令的地方。
回复 支持 反对

使用道具 举报

发表于 2007-3-17 17:35:36 | 显示全部楼层
”要烧写到CPU重新上电的时候取第一条指令的地方。“

请问这个地址是如何指定的啊?
回复 支持 反对

使用道具 举报

发表于 2007-3-27 10:07:14 | 显示全部楼层
我也有个问题,我的lds文件是这样

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
        .dummy 0x00f00000       : {  board/mv88fxx81/USP/jump.o (.dummy) }
        . = 0x0f10000;
. = ALIGN(4);
.text :
{
   cpu/arm926ejs/start.o (.text)
   *(.text)
}

.rodata : { *(.rodata) }
. = ALIGN(4);
.data : { *(.data) }
. = ALIGN(4);
.got : { *(.got) }

__u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) }
__u_boot_cmd_end = .;

        .reset_vector_sect 0x00f70000   : { board/mv88fxx81/USP/jump.o (.reset_vector_sect) }

. = ALIGN(4);
__bss_start = .;
.bss : { *(.bss) }
_end = .;

}


config.mk中_TEXTBASE=0x00f10000;
搞不懂sourc code为什么要留出0x10000的空间?
我把bin烧到flash里面会0~0x10000的空间都是ff。
按一楼的说法,我怎样烧写到CPU重新上电的时候取第一条指令的地方?
回复 支持 反对

使用道具 举报

发表于 2007-3-27 10:09:03 | 显示全部楼层
Post by freecr
”要烧写到CPU重新上电的时候取第一条指令的地方。“

请问这个地址是如何指定的啊?



我想这个地址应该由你的芯片决定,比如你的芯片从0启动,那么就把flash映射到0~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表