本文主要是介绍海思AI芯片(Hi3519A/3559A)方案学习(三)Ubuntu18.0.4上编译Hi3519AV100 uboot和kernel,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先重申下我的平台为ubuntu18.0.4,SDK的目标平台为Hi3519AV100系列
准备工作
安装himix200交叉编译器
tar –xzf arm-himix200-linux.tgz
sudo ./arm-himix200-linux.install
source /etc/profile
安装SDK包
tar -zxf Hi3519AV100_SDK_V2.0.1.0.tgz
sudo ./sdk.unpack
这时可能会遇到下面错误:
提示 source命令在shell脚本里面找不到: source: not found
解决办法如下:
注意两点:
SDK所在目录的所有路径不能有中文或空格符。
上面两步的操作说明可在《Hi3519AV100 SDK 安装及升级使用说明》找到。
编译uboot
通过上面Unpack操作后的SDK根目录,如下所示:
上面红框勾选目录osdrv是我们关注的重点,它的内容如下所示:
首先要好好研读readme_cn.txt,里面提供两个编译思路:
直接在osdrv根目录下 make all 这样就可以一次性的把kernel和uboot都编译好。当然为了使其在目标平台能运行正确,可能需要加一些额外参数, 比如CHIP=hi3519av100 BOOT_MEDIA=xxx等。这是后话,本文主要讲编译。 但是,我们发现直接在这里做总的编译,很难成功。总是容易遇到uboot或kernel问题。后来,我去uboot单个目录下把编译搞定,回过头来这里make all,结果把以前编译好的uboot binary还有修改的uboot的makefile都删掉了。
所以,我个人认为在osdrv下总的编译是个坑,最好是去opensource下面来分别编译kernel和uboot。好在该readme里面提供了分别编译的步骤。
通过第一步的unpack,uboot code已经解压缩出来如下,根目录是u-boot-2016.11
具体编译步骤:
1. cp configs/hi3519av100_defconfig .config
2. make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
会遇到下面错误:
解决办法是:sudo apt-get install libncurs*
1. make ARCH=arm CROSS_COMPILE=arm-himix200-linux-
会遇到错误:
loadlocale.c:130: _nl_intern_locale_data: Assertioncnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
Aborted (core dumped)
我的解决办法是在Makefile添加一行:export LC_ALL=C
1. cp ../../../tools/pc/uboot_tools/reg_info.bin .reg
2. make ARCH=arm CROSS_COMPILE=arm-himix200-linux- u-boot-z.bin
最终会生成u-boot-hi3519av100.bin
Kernel编译
1. 先对下载kernel-4.9.37.tar.gz然后根据xx/opensource/kernel/readme_cn.txt对它打一个patch
2. 开始编译
1. cp arch/arm/configs/hi3519av100_smp_defconfig .config
2. make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
3. make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage
会遇到下面问题:
解决办法:
————————————————
版权声明:本文为CSDN博主「ltshan139」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/avideointerfaces/article/details/88694447
这篇关于海思AI芯片(Hi3519A/3559A)方案学习(三)Ubuntu18.0.4上编译Hi3519AV100 uboot和kernel的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!