Hi3516CV610 编译Uboot Kernel 文件系统及烧录启动

一、解压7z源码包

(1)7z x Hi3516CV610_SDK_V1.0.0.3_update.7z

Hi3516CV610 编译Uboot Kernel 文件系统及烧录启动

(2)进入Hi3516CV610_SDK_V1.0.0.3_update执行./sdk.unpack  则会将以下包进行解压

Hi3516CV610 编译Uboot Kernel 文件系统及烧录启动

(3)解压gcc交叉编译工具,并执行install_gcc_toolchain.sh  /opt  则会将gcc工具安装到/opt 目录下

Hi3516CV610 编译Uboot Kernel 文件系统及烧录启动

sudo ./install_gcc_toolchain.sh  /opt/

Hi3516CV610 编译Uboot Kernel 文件系统及烧录启动

在/etc/environment后面添加 :/opt/arm-v01c02-linux-musleabi-gcc/bin 

然后在编译之前进行临时配置环境编译即可source /etc/environment

Hi3516CV610 编译Uboot Kernel 文件系统及烧录启动

安装软件包

sudo apt-get install make libc6-i386 lib32z1 lib32stdc++6 libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools texinfo gawk  \

libssl-dev openssl bc p7zip-full gperf bison flex diffutils git unzip libffi-dev libtool libfreetype6 fakeroot autopoint po4a python3-pip wget

SDK开源组件mtd-utils依赖以下几个库,以ubuntu为例,安装方式请参考下面命令:
sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config automake  device-tree-compiler
由于mtd-utils通过pkg-config工具检查各个库是否正常安装,因此请参考如下方式设
pkg-config工具搜索路径:
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/
pkgconfig"
SDK开源组件e2fsprogs依赖texlive库,安装方式请参考如下命令:
sudo apt-get install texlive
SDK开源组件optee 模块依赖 python3.x.xpip3wheelpycryptodomepyelftools下载安装并执行如下指令:
# 如果以下pip3安装组件操作存在下载异常,可能需要配置下载源:创建并编辑:vim ~/.pip/pip.conf,若环境没有
vim编辑器,请先安装:sudo apt-get install vim
sudo pip3 install wheel
sudo pip3 install pycryptodome
sudo pip3 install pyelftools
sudo pip3 install cryptography
创建python软链接
ln -s /usr/bin/python3 /usr/bin/python
备注:pycryptodome 依赖于python3.x.x 环境请先升级至python3.x.x 版本再安装
pycryptodome 库。
 

二、编写源码

(1)编译整个bsp目录:

make LIB_TYPE=musl CHIP=hi3516cv610 DEBUG=1 all

Hi3516CV610 编译Uboot Kernel 文件系统及烧录启动

make all是默认编译:make LIB_TYPE=musl CHIP=hi3516cv610 DEBUG=0 all

编译参数说明:

1)BOOT_MEDIA默认选择spi启动方式编译,可选择emmc启动方式编译,即BOOT_MEDIA=emmc;

2)LIB_TYPE默认为musl编译,可选择glibc编译,即LIB_TYPE=glibc;

3)CHIP默认为hi3516cv610,可选择hi3516cv610编译,即CHIP=hi3516cv610;

4)DEBUGDEBUG默认为DEBUG=0,表示编译 release 版本系统镜像。可选择为DEBUG=1,即编译debug版本系统镜像。

5)bsp/pub目录下文件即为所编译小系统镜像

(2)清除整个bsp目录的编译文件:

make  clean

(3)彻底清除整个bsp目录的编译中间文件:

make distclean

(4)单独编译kernel image:

make kernel

修改config配置,重编kernel镜像的方法:

1)进入open_source/linux/linux-5.10.y目录,执行make ARCH=arm CROSS_COMPILE=arm-v01c02-linux-musleabi- menuconfig,修改config配置

2)将修改后的.config拷贝为新的config文件,执行cp .config arch/arm/configs/hi3516cv610_new_defconfig

3)进入bsp目录,重新执行make KERNEL_CFG=hi3516cv610_new_defconfig kernel

(5)单独编译非安全启动镜像:

make gslboot_build  -j

如果没有使用默认表格, 需要把表格拷贝到 tools/pc/boot_tools, 在编译 boot 时加参数 REGBIN_XLSM 指定表格, 如:

make gslboot_build REGBIN_XLSM=xxxx.xlsm -j

(6)制作文件系统镜像(以hi3516cv610为例):

在bsp/pub/中有已经编译好的文件系统,因此无需再重复编译文件系统,只需要根据单板上启动介质的规格型号制作文件系统镜像即可。

spi flash使用jffs2格式的镜像,制作jffs2镜像时,需要用到spi flash的块大小。这些信息会在uboot启动时会打印出来。建议使用时先直接运行mkfs.jffs2工具,根据打印信息填写相关参数。

1)下面以块大小为64KB为例:

bsp/pub/bin/pc/mkfs.jffs2 -d bsp/pub/rootfs_musl_arm -l -e 0x10000 -o bsp/pub/rootfs_hi3516cv610_64k.jffs2

nand flash使用ubifs格式的镜像,制作ubifs镜像时,需要用到nand flash的pagesize和blocksize。这些信息会在uboot启动时会打印出来。

2)下面以2KB pagesize、128KB block size为例:

./bsp/tools/pc/ubi_sh/mkubiimg.sh hi3516cv610 2k 128k bsp/pub/rootfs_musl_arm 32M bsp/pub/bin/pc

三、烧录固件(以NOR FLASH为例

(1)使用ToolPlatform.exe 工具烧录(网口 需要 tftp32.exe配合以及连接串口),配置tftp32.exe 主机IP地址与更新固件路径,并加载分区表文件

nor_burn_table.xml口烧录,需要重新上电

Hi3516CV610 编译Uboot Kernel 文件系统及烧录启动

(2)使用ToolPlatform.exe 工具烧录(串口烧录,需要重新上电

Hi3516CV610 编译Uboot Kernel 文件系统及烧录启动

Hi3516CV610 编译Uboot Kernel 文件系统及烧录启动

版权声明

版权声明

内容来源及使用限制

欢迎访问 TomgZHE研习社(网址:https://blog.tomgzhe.com)。本网站部分文章内容源自网络,仅作学习交流与参考分享;若您发现有内容涉嫌侵权,请立即联系 tomgzhe@qq.com,我们将在接到通知后的 48 小时内核实并删除相关侵权内容。

软件资源相关规定

本网站为个人非盈利性质的站点,所有软件资源均来自网络。这些资源仅用于个人学习、研究和参考,严禁用于任何商业用途。您下载和使用本网站软件资源即表示您同意仅将其用于学习目的,若因违反此规定导致任何法律纠纷或损失,责任由您自行承担。

原创版权

本网站上的原创内容,包括但不限于文字作品、自行设计的图片、独家制作的音频视频等,其版权均归本网站所有。未经本网站书面授权,任何组织或个人不得擅自复制、转载、摘编、传播或以其他任何方式使用这些原创内容。如需使用,请提前与我们联系并获得书面许可,同时需在显著位置注明出处及作者信息。

转载与引用规范

若您需转载本网站文章,务必注明文章来源为 “[TomgZHE研习社],原文链接:[ http://blog.tomgzhe.com/index.php/2025/02/25/hi3516cv610-build-uboot-kernel-rootfs_bringup/]”;对于有明确作者署名的文章,还需完整保留作者姓名。在引用本网站内容时,请确保内容准确无误,并遵循学术及行业的引用规范。

Like (1)
Donate 微信扫一扫打赏 微信扫一扫打赏 支付宝扫一扫打赏 支付宝扫一扫打赏
tomgzhe的头像tomgzhe
Previous 2025年2月16日 14:31
Next 2024年7月17日 17:00

相关推荐

发表回复

Please Login to Comment
联系我们

联系我们

400-800-6666

在线咨询: QQ交谈 邮件:tomgzhe@qq.com 工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
SHARE
TOP
蛇年新气象!从2025年2月起,本博客将在保留科技板块基础上,新增生活美学、个人成长等多元内容,希望能为大家带来更丰富的阅读体验,敬请期待!