下面的操作都会涉及到tftp服务,以及nfs服务,所以你要确认你的这两个服务是否安装,同时确认是否安装完全
资源:u-boot-2010.03-ok.tar.bz2(我后面有时间会上传到网上,请关注)
1 . 链接首地址
vi board/samsung/fsc100/config.mk
TEXT_BASE = 0x27000000
2. 屏蔽nand copy 代码
vi cpu/arm_cortexa8/start.S
#if 0
#ifdef CONFIG_CMD_NAND
ldr sp, =(0x22000000)
bl copy_uboot_to_ram
b stack_setup
#endif /* CONFIG_CMD_NAND */
#endif
3. 屏蔽CPU初始化代码
vi config.mk
CPPFLAGS += -DCONFIG_SKIP_LOWLEVEL_INIT -DCONFIG_SKIP_RELOCATE_UBOOT
4. 编译
#make clean
#make fsc100_config
#make
5 、会生成u-boot.bin文件
为了安全起见,最好将你配置编译好的u-boot.bin测试一下再将其下载到开发板上,因为如果贸然将一个不确定是否正确的u-boot.bin下载到开发板上,如果出错,那么,就必须要重新烧写,很多情况可能很麻烦:
测试u-boot.bin:
在板子运行起来时候,进入u-boot命令行,运行下列命令,将该测试u-boot加载到内存中,而不是nand flash中
#tftp 20008000 u-boot.bin
#go 20008000
6、如果上面的测试成功(为了测试成功,你可以修改一下,u-boot的名称,这样以便区分,是我们当前编译的u-boot)
下载到nand flash中:
一:将你测试后的u-boot拷贝到/tftpboot/目录下
二:tftp 0x20008000 u-boot.bin
//擦除nand flash一段块中的内容
#nand erase 0 40000
///将我们下载到内存中的u-boot写入到我们指定的nand flash的内存地址中,一般的情况是以首地址开始的,在开发板启动的时候,会自动加载
#nand write 20008000 0 40000