原创文章版权所有!如需转载,请注明出处: http://hi.baidu.com/liushuiyue1/myhome 谢谢合作!!!!!
3 )修改 u-boot 跟目录下的 Makefile 文件。查找到 smdk6400_config 的地方,在他下面按照 smdk6400_config 的格式建立 smdk6410_config 的编译选项,另外还要指定交叉编译器
#gedit Makefile |
CROSS_COMPILE ?= arm-linux- // 指定交叉编译器为 arm-linux-gcc smdk6410_noUSB_config / smdk6410_config : unconfig @mkdir -p $(obj)include $(obj)board/samsung/smdk6410 @mkdir -p $(obj)nand_spl/board/samsung/smdk6410 @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h @if [ -z "$(findstring smdk6410_noUSB_config,$@)" ]; then / echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;/ $(MKCONFIG) $(@:_config=) arm arm1176 smdk6410 samsung s3c64xx; / else / echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;/ $(MKCONFIG) $(@:_noUSB_config=) arm arm1176 smdk6410 samsung s3c64xx; / fi @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk * 说明:arm :CPU 的架构(ARCH) arm1176 :CPU 的类型 smdk6410 :对应在board 目录下建立新的开发板项目的目录 samsung :新开发板项目目录的上级目录,如直接在board 下建立新的开发板项目的目录,则这里就为NULL s3c64xx :CPU 型号 * 注意:编译选项格式的第二行要用Tab 键开始,否则编译会出错 |
4 )进入顶层目录 nand_spl/board/samsung 目录新建目录 smdk6410 ,并将 smdk6400 下的文件复制到刚刚新建的 smdk6410 下
#cd nand_spl/board/samsung // #cp –ar smdk6400/* smdk6410/ |
5 )测试编译新建的 smdk6410 开发板项目
#make smdk6410_config // 如果出现 Configuring for smdk6410 board... 则表示设置正确 #make // 编译后在根目录下会出现u-boot.bin 和u-boot-nand.bin 文件,则u-boot 移植的第一步就算完成了 |
由于此版本的 u-boot 对于串口和时钟在开始配置文件中就已经初始化,对于 ARM1176 有很好的支持,利用从 SD 卡启动的 uboot 将 u-boot-nand.bin 下载到nand flash 中,同时将开发板上SW2 设置到从Nand flash 启动位置。利用SecureCRT.exe 软件观察串口打印信息如下:
可以看到移植在 tq6410 上移植 uboot 已经成功。可是 Nor flash 是 2M 可是信息上显示为 0 ,是因为没有添加 Nor flash 的驱动引起的,而且开发板上自带的是 DM9000AE 的 100M 网卡,而 uboot 默认支持 CS8900 所以开始添加 uboot 的相关功能。
移植是采用 SD 烧写 nand flash 的 uboot ,为了方便烧写和调试首先移植网卡实现 tftp 下载。