嵌入式UBOOT学习

时间:2022-02-12 16:32:01
■之前还学习了在虚拟机上安装ubuntu16.04系统,使用命令安装一些必需的软件包,以及常用的终端命令--以后再作补充。
■今天学习的内容总结如下,主要是对编译UBOOT前的环境变量进行配置,以及elftosb转换工具的安装,使用该工具编译出mx28_ivt_uboot.sb文件。
◆UBOOT的概念:UBOOT是系统上电后运行的一段引导加载程序,初始化系统硬件,创建内核需要的信息,加载内核和文件系统。
■1.配置编译UBOOT前的环境变量:
   我使用的单板为imx280,内核为ARM926EJ-S;从板子配送的光碟中找到gcc-4.4.4-glibc-2.11.1-multilib-1.0.tar.bz2和bootloader.tar.bz2两个压缩包(交叉编译工具链和板子的UBOOT),解压到ubuntu16.04系统;
◆打开终端输入以下命令:
 cd进入UBOOT根目录:
cd /home/cyberoe/桌面/bootloader/u-boot-2009.08
 开始配置环境变量:
#export PATH=$PATH:/home/cyberoe/桌面/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin
#export ARCH=arm
#export CROSS_COMPILE=arm-fsl-linux-gnueabi-
◆配置完毕,执行编译命令:
make mx28_evk_config
出现configuring for mx28_evk board...表示编译成功;
■2.安装elftosb工具,使用工具编译uboot.sb文件:
elftosb工具在bootloader/elftosb中,注意32bit和64bit区别;
◆执行以下命令:(先切换为root权限)
cd /home/cyberoe/桌面/bootloader/elftosb/elftosb_32bit
cp elftosb_32bit /usr/bin/elftosb -----复制并重命名;
chmod 777 /usr/bin/elftosb -----改变文件权限;
cd 到bootloader/u-boot-2009.08
cp u-boot ../imx-bootlets-src-10.12.01/
 ◆最后:cd 到imx-bootlets-src-10.12.01/
输入: ./build -----开始编译u-boot
结果生成板子用的mx28_ivt_uboot.sb ----该文件适于板子选择Nandflash启动方式;

■学习中遇到的问题:
◆工具和UBOOT的对应:刚开始不知道板子配送的资料中有板子对应的交叉编译工具链和UBOOT(当然我对UBOOT是什么,交叉编译工具与UBOOT对应的含义还是一头雾水),自己去网上下载了一个uboot软件和arm-linux-gcc4.4.3的交叉编译工具链来用,自己也试着配置了环境变量,最后都是卡在make 命令上,原因在于编译工具和UBOOT没有对应起来使用,当然不会成功了。。。。