您的位置:首页 > 其它

Davinci DM6446之U-BOOT移植学习笔记

2011-08-08 21:12 561 查看
此文长期更新,为学习笔记:

开发平台

一、配置ARM v5t交叉编译器PATH

1、进入到root根路径下:HOST# cd /root

2、执行HOST# ls -a 找到~/.bashrc文件,打开添加如下内容:

PATH="/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/bin:/

ro_4.0/montavista/pro/bin:/opt/mv_pro_4.0/montavista/common/bin:$PATH"



然后执行 HOST# source ~/.bashrc即可。

3、可通过一下命令测试arm_v5t编译器是否可用。在linux服务器下输入命令:

HOST# arm_v5t_le-gcc。显示:no input files即安装正常。

二、编译U-BOOT

1、链接交叉编译环境

交叉编译环境搭建如上所述,在此修改顶层makefile:

把CROSS_COMPILE = arm-linux-改为CROSS_COMPILE =arm_v5t_le-
2、配置选择和编译u-boot代码

此依u-boot-dvs6446.tar.gz为例学习:

以下均为在 Linux开发机下控制台下进行的操作,提示符如下:root @ xxxxx #

root @ xxxxx # cd /opt

root @ xxxxx # mkdir –p u-boot-dvs

root @ xxxxx # mv u-boot-dvs6446.tar.gz u-boot-dvs

root @ xxxxx # cd u-boot-dvs

root @ xxxxx #tar zxvf u-boot-dvs6446.tar.gz

root@xxxxx#make ARCH=arm CROSS_COMPILE=arm_v5t_le- davinci_dvs6446_config

// 第一个命令:完成u-boot参考配置

root @ xxxxx # make ARCH=arm CROSS_COMPILE=arm_v5t_le- all

// 第二个命令:真正编译出所需要的 UBoot 二进制映像文件

编译完成生成的目标文件:

elf 文件:u-boot

二进制文件:u-bootbin

第一个命令中,以 davinci_dvs6446_config 作为本次 make 的目标。查找UBoot项目顶层 Makefile 得到关于此目标的规则:



(这个makefile,新手啊,基本不懂,要恶补~~~)

3、移植板子驱动和配置

本SP6中频软件无线电开发平台:DDR2 256M;NAND FLASH:512M,

进入 u-boot 源代码目录下,打开 include/configs/Davinci_dvevm.h 文件,按照下的方法进行修改,

注释掉原来的CFG_USE_NOR 和CFG_NAND_SMALLPAGE定增加CFG_USE_NAND和CFG_NAND_LARGEPAGE定义。

#define CFG_USE_NAND(支持NAND)

#define CFG_NAND_LARGEPAGE(支持2K Page的NAND)

//#define CFG_NAND_SMALLPAGE(表示支持 512 字节 Page)

//#define CFG_USE_NOR(表示支持NOR FLASH)

在源makefile文件2416行:就是davinci_dvevm_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm926ejs dv-evm davinci davinci
我们可以定制添加自己板子的config,比如加入:
davinci_dm6446_config : unconfig....
@$(MKCONFIG) $(@:_config=) arm arm926ejs dv-evm davinci davinci
然后在board\davinci\de-evm目录下,复制一份davinci_dm6446.h即可。

配置选择和编译u-boot 源代码,生成u-boot 的二进制映像文件u-boot.bin。
host $ make distclean

host $ make davinci_dm6446_config

host $ make

即可生成相应的u-boot.bin文件。经过下载验证成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: