Hi3516AV200 SDK 安装使用
首次安装SDK
1、Hi3519V101 SDK包位置
看到一个 Hi3519V101_SDK_V1.0.4.0.tgz 的文件,该文件就是Hi3516AV200的软件开发包。
2、解压缩SDK包
tar vxf Hi3519V101_SDK_V1.0.4.0.tgz
解压缩该文件,可以得到一个Hi3519V101_SDK_V1.0.4.0目录。
3、展开SDK包内容
cd Hi3519V101_SDK_V1.0.4.0/
./sdk.unpack
会出现图示的错误,原因在于Debian和Ubuntu中,/bin/sh默认已经指向dash,这是一个不同于bash的shell,它主要是为了执行脚本而出现,而不是交互,它速度更快,但功能相比bash要少很多,语法严格遵守POSIX标准。
解决办法:
sudo dpkg-reconfigure dash
选择no即可。
再次运行上面的命令。
4、在linux服务器上安装交叉编译器
1)安装uclibc交叉编译器(需要root权限):
进入Hi3519V101_SDK_V1.0.4.0/osdrv/opensource/toolchain/arm-hisiv500-linux
目录
chmod +x arm-hisiv500-linux.install
sudo ./arm-hisiv500-linux.install
执行source /etc/profile
, 安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可。
5、编译osdrv
a、osdrv 顶层 Makefile 使用说明
具体命令如下:
(1)编译整个osdrv目录:
make OSDRV_CROSS=arm-hisiv500-linux CHIP=xxx FLASH_TYPE=xxx all
参数说明:
CHIP:设为hi3519v101参数时,对应芯片为hi3519v101;设为hi3516av200参数时,对应芯片为hi3516av200。
FLASH_TYPE:设为nand参数时,使用Nand Flash;设为spi参数时,使用SPI Nor Flash或SPI Nand Flash。
make OSDRV_CROSS=arm-hisiv500-linux CHIP=hi3516av200 FLASH_TYPE=spi all
最终完成了编译过程,整个编译过程用时约30分钟,编译后的结果如上。
(2)清除整个osdrv目录的编译文件:
make OSDRV_CROSS=arm-hisiv500-linux CHIP=hi3516av200 clean
(3)彻底清除整个osdrv目录的编译文件,除清除编译文件外,还删除已编译好的镜像:
make OSDRV_CROSS=arm-hisiv500-linux CHIP=hi3516av200 distclean
(4)单独编译kernel:
待进入内核源代码目录后,执行以下操作:
cp arch/arm/configs/hi3516av200_big_little_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- uImage
(5)单独编译uboot:
待进入boot源代码目录后,执行以下操作
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- hi3516av200_config
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux-
将生成的 u-boot.bin 复制到 osdrv/tools/pc/uboot_tools/ 目录,进入到上述目录,
cp u-boot.bin ../../../../osdrv/tools/pc/uboot_tools/
./mkboot.sh reg_info_hi3516av200.bin u-boot-hi3516av200.bin,将生成可用的 u-boot-hi3516av200.bin 镜像文件。