【Hi3516A_SDK】单独编译Uboot

U-boot 硬件环境:Hi3516A DMEB 板上的外围芯片包括 DDR SDRAM、 NAND Flash、 SPI Flash 和 SPINAND Flash,其具体型号见《Hi3516A 器件兼容性列表》。

在Linux服务器上安装好Hi3516A_SDK_V1.0.5.0后,尝试单独编译u-boot,操作步骤如下:

1.进入uboot目录

cd Hi3516A_SDK_V1.0.5.0/osdrv/opensource/uboot

2.解压u-boot-xxxx.xx目录

tar -zxvf u-boot-2010.06.tgz

在这里插入图片描述
3.进入u-boot-2010.06目录下,配置编译环境

make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- hi3516a_config
make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux-

在这里插入图片描述
在输入编译命令make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux-的时候却出错了
在这里插入图片描述
出错分析: 交叉编译工具是针对32位的开发板制作的,所以在64位平台机上需要安装的一些32位的依赖包才能正确使用

解决方法: 安装海思的arm-hisiv300-linux-gcc交叉编译环境时所需要的包

sudo apt-get install libc6 libc6-dev
sudo apt-get install libc6-dev-i386
sudo apt-get install libx32gcc-4.8-dev
sudo apt-get install lib32stdc++6
sudo apt-get install gcc-multilib
sudo apt-get install lib32ncurses5
sudo apt-get install lib32z1

安装好32位依赖包后,重新输入make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux-
在这里插入图片描述
编译成功后,会生成一个u-boot.bin文件,不过这一步生成的 u-boot.bin 只是一个中间件,并不是最终在单板上执行的 U-boot 镜像;我们将生成的u-boot.bin 拷贝到osdrv/tools/pc/uboot_tools/目录下

cp u-boot.bin ~/Hi3516A_SDK_V1.0.5.0/osdrv/tools/pc/uboot_tools/

注: 编译工具链也可以使用arm-hisiv400-linux-

4.切换到/uboot_tools/目录,运行./mkboot.sh reg_info.bin u-boot.bin

cd	osdrv/tools/pc/uboot_tools/
./mkboot.sh reg_info.bin u-boot.bin

若提示没有权限,则输入chmod 777 mkboot.sh添加权限
在这里插入图片描述经过这一步生成的u-boot.bin才是可用的u-boot镜像

发布了37 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Chen_qi_hai/article/details/104490982