海思Hi3559av100 sdk开发环境搭建

SDK阐释

        海思官方给的sdk布局,如Hi3559AV100R001C02SPC031,其包含编译工具、硬件设计资料、软件sdk、文档等资料,tree布局可以构建如下形式,但不是必要的。

        软件sdk在 01.software中,这个路径下才是真正的软件代码,编译uboot、内核和文件系统都是在这里完成。

编译方法

        在安装完交叉编译链之后,osdrv路径下直接make all的话,会出现各种毛病,建议通常先安装模块来编译解决对应问题。

一、hiboot

进入目录 osdrv/opensource/uboot
解压文件:tar -xzf u-boot-2016.11.tgz
cd u-boot-2016.11
即在此目录下打开终端进行编译:

1)拷贝config配置
cp -f ./configs/hi3559av100_defconfig .config

2)menuconfig配置
make ARCH=arm CROSS_COMPILE=aarch64-himix100-linux- menuconfig
若出现报错则要先安装包:sudo apt-get install libncurs*
然后再进行menuconfig的编译:make ARCH=arm CROSS_COMPILE=aarch64-himix100-linux- menuconfig
编译完成就会出现menuconfig的界面,可直接退出:

再进行不要menuconfig的编译:make ARCH=arm CROSS_COMPILE=aarch64-himix100-linux-
编译完成后从osdrv/tools/pc/uboot_tools目录拷贝reg_info.bin到boot源代码目录,重命名为.reg:cp ../../../tools/pc/uboot_tools/reg_info.bin .reg
最后即可编译uboot:make CROSS_COMPILE=aarch64-himix100-linux- u-boot-z.bin
编译完成后,终端出现提示信息:“u-boot-hi3559av100.bin is Ready.”说明已经编译完成,在目录下会生成u-boot-hi3559av100.bin

二、hikernel

1、参考文档 patch

XXX/Hi3559AV100R001C02SPC020/01.software/board/Hi3559AV100_SDK_V2.0.2.0/osdrv/readme_cn.txt;XXX/Hi3559AV100R001C02SPC020/01.software/board/Hi3559AV100_SDK_V2.0.2.0/osdrv/opensource/kernel/readme_cn.txt;

2、交叉编译内核

1)手动拷贝.config 文件:
cp arch/arm64/configs/hi3559av100_arm64_xxx_defconfig .config
(注1:当启动介质是eMMC、UFS、SPI-Nor Flash或SPI-NAND Flash时,使用
hi3559av100_arm64_big_little_defconfig;当启动介质是NAND Flash时,使用
hi3559av100_arm64_big_little_nand_defconfig)
(注2:Hi3559A的defconfig文件在arch/arm64文件夹中,海思Hi35xx系列的其他芯片应该在arch/arm文件夹中)
2)通过“make menuconfig”进行内核配置:make ARCH=arm64 CROSS_COMPILE=aarch64-himix100-linux- menuconfig
3)生成uImage的bin文件:make ARCH=arm64 CROSS_COMPILE=aarch64-himix100-linux- uImage

4)make hikernel 或 make atf

如果只能生成image文件而不无法生成uImage的话,是因为缺少mkimage工具,从uboot下拷贝到/usr/bin或/usr/local/bin目录下即可。

三、hirootfs

在顶层目录编译make hirootfs_build,会出现一些常规头文件缺失的问题,解决即可如下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值