一、SDK安装
1.解压在 linux 服务器上(或者一台装有 linux 的 PC 上,主流的 linux 发行版本均可以),使用命令:tar -zxf Hi3516CV500_SDK_Vx.x.x.x.tgz,解压缩该文件,可以得到一个 Hi3516CV500_SDK_Vx.x.x.x 目录。
返回 Hi3516CV500_SDK_Vx.x.x.x 目录,运行./sdk.unpack(请用 root 或 sudo 权限执行)将会展开 SDK 包打包压缩存放的内容,请按照提示完成操作。
Ps:在这里运行./sdk.unpack 出现了报错,原因是在./sdk.unpack 文件的开头声明是#!/bin/sh,而这种情况下,source 不成功,需要修成#!/bin/bash,再运行就可以成功
了。没有出错的结果如下如果您需要通过 WINDOWS 操作系统中转拷贝 SDK 包,请先运行./sdk.cleanup,收起 SDK 包的内容,拷贝到新的目录后再展开。
2.安装交叉编译器在发布包 Hi3516CV500R001C01SPCxxx.rar 所在的目录中下载工具链文件。
注意:安装交叉编译器需要有 sudo 权限或者 root 权限。
1)安装 himix200 交叉编译器: tar -zxvf arm-himix200-linux.tgz
解压 tar –xzf arm-himix200-linux.tgz,
运行 chmod +x arm-himix200-linux.install,
然后运行./arm-himix200-linux.install 即可。
Ps:交叉编译器从 Windows 拷贝进如下路径
2)执行 source /etc/profile,安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可。
Ps:建议直接 reboot
3)验证交叉编译器是否安装成功,打印如下信息
二、SDK编译
1.软件包安装操作系统安装好后,且已自行配置好网络环境,则可继续如下步骤完成相关软件包的安装:
1)配置默认使用 bash、
执行 sudo dpkg-reconfigure dash 选择 no
2)安装软件包
执行:sudo apt-get install make libc6:i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools:i386 texinfo texlive gawk libssl-dev openssl bc
3)创建/etc/ld.so.preload 文件,并执行 echo “” > /etc/ld.so.preload,以解决 64bit linux server 上某些第三方库编译失败的问题。
在安装完成以上的第三方库,就可以编译 SDK 了。首先介绍一下,总体编译 SDK的方法,在 Hi3516CV500_SDK_V2.0.2.0/osdrv 目录下执行 make,生成的 uboot、kernel、文件系统根目录等其他的工具会在目录 Hi3516CV500_SDK_V2.0.2.0/osdrv/pub 下。可能因为虚拟机的工具的不完善会编译失败,只要下载相应的工具即可。
2.软件包安装编译U-boot1)配置编译环境
使用配置命令:make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hi3516dv300_defconfig
2)编译 U-boot
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- -j 20
编译成功后,将在 U-boot 目录下生成 u-boot.bin
注意:这一步生成的 u-boot.bin 只是一个中间件,并不是最终在单板上执行的U-boot 镜像。
3.生成最终使用的U-boot镜像boot 镜像生成步骤如下:
1)在 OSDRV 的 tools/pc/hi_gzip 目录下执行 make,并将生成的 bin/目录下的 gzip 文件拷贝至 U-boot 下 arch/arm/cpu/armv7/hi3516cv500/hw_compressed/目录。
cp ../../../tools/pc/hi_gzip/bin/gzip arch/arm/cpu/armv7/hi3516dv300/hw_compressed/ -rf
2)切换至Hi3516CV500_SDK_V2.0.2.0/osdrv/tools/pc/uboot_tools/hiregbin-v5.0.1
目录,在该目录下执行:
Ps:chmod 777 hiregbin
/hiregbin ../Hi3516DV300-DMEBLITE_6L_T-DDR4_1800M_1GB_16bitx2-A7_900M- SYSBUS_300M.xlsm ./reg_dmebline.bin 命令,本目录下生成 reg_dmebline.bin
3)拷贝 reg_dmebline.bin 到 U-boot 源代码目录,mv 命令重命名为.reg。将生成的 u-boot.bin 复制到/osdrv/opensource/uboot/u-boot-2016.11 目录
4)make ARCH=arm CROSS_COMPILE=arm-himix200-linux- u-boot-z.bin生成的 u-boot-hi3516cv500.bin 就是能够在单板上运行的 uboot 镜像。
4.编译内核1)从 linux 开源社区下载 v4.9.37 版本的内核:
进入网站:www.kernel.org
选择 HTTP 协议资源的 https://www.kernel.org/pub/选项,进入子页面
选择 linux/菜单项,进入子页面
选择 kernel/菜单项,进入子页面
选择 v4.x/菜单项,进入子页面
下载 linux-4.9.37.tar.gz(或 linux-4.9.37.tar.xz)
2)打补丁
将下载的 linux-4.9.37.tar.gz 存放到 osdrv 的 opensource/kernel 目录中
在 linux 服务器中进入 osdrv 的根目录,执行如下命令:
cd opensource/kernel tar -zxf linux-4.9.37.tar.gz mv linux-4.9.37 linux-4.9.y cd linux-4.9.y patch -p1 < ../linux-4.9.37.patch cd ../ tar -czf linux-4.9.y.tgz linux-4.9.y cd ../../3)配置内核的操作步骤如下:
a.在内核目录下,手动拷贝.config 文件:cp arch/arm/configs/hi3516dv300_smp_defconfig .config
b.用户通过“make menuconfig”进行内核配置:make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
c.选择需要的模块。
d.选择完毕后,保存并退出。
配置保存后,可直接输入 make ARCH=arm CROSS_1=arm-himixXXX-linuxuImage -j20 命令编译内核生成镜像 uImage,此时需要等待几分钟。
Ps:这个命令有误,输入如下正确命令编译:
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage -j4
-j4 是指 4 核编译,自己根据自己的 CPU 选择
生成的 uImage 在内核目录下的/arch/arm/boot/中。
说明:如果编译过程中出现错误,按顺序执行以下命令:
make ARCH=arm CROSS_COMPILE=arm-himixXXX-linux- clean make ARCH=arm CROSS_COMPILE=arm-himixXXX-linux- menuconfig make ARCH=arm CROSS_COMPILE=arm-himixXXX-linux- uImagePs:
1.解锁文件夹命令:
sudo chown -R $USER 空格 /home/wr/A182/Hi3516CV500_SDK_V2.0.2.0/osdrv/opensource/kernel/linux-4.9.y2.提示 arm-hisix200-linux-gcc: command not found 的解决办法:
这是因为 Linux 宿主机是 ubuntu 16.04 64 位,而交叉编译器是针对 32 位的开发板
制作的。所以要安装对应的 32 位库。
安装命令: # sudo apt install lib32z1-dev
然后执行 su root # su root
输入 root 密码,进入登录 root 管理员权限
# vim ~/.bashrc
bashrc 文件末尾添加以下代码:
export PATH=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin:$PATHexport LC_ALL=C
以上配置环境变量在普通用户模式和 sudo 模式下均要配置。
5.制作文件系统1)生成文件系统目录
在做文件系统之前,在 SDK 的 Hi3516CV500_SDK_V2.0.2.0/osdrv 目录下执行:make hirootfs_prepare ; 会 在 Hi3516CV500_SDK_V2.0.2.0/osdrv/pub 目 录 下 生 成rootfs_glibc 目录。
2)制作文件系统工具
Hi3516DV300 使用的是 jffs2 类型的文件系统,在 SDK 的Hi3516CV500_SDK_V2.0.2.0/osdrv/tools/pc/jffs2_tool 目录下,执行命令 make,生成的 mkfs.jffs2 是 jffs2 文件系统的打包工具。
3)生成文件系统
例 jffs2 的制作方法为:
./mkfs.jffs2 –d ./rootbox -l –e 0x10000 -o jffs2-root.img
Ps:./mkfs.jffs2 -d /home/wr/A182/Hi3516CV500_SDK_V2.0.2.0/osdrv/pub/rootfs_glibc -l -e 0x10000 -o rootfs_glibc_64k.jffs2
执行 build.sh
三、固件烧写
1.烧写工具HiTool
2.选择板卡主芯片 3.PC与板端配置 串口选择:插上串口工具后,点击刷新即可自动识别
服务器 IP:选择本地网络服务器 IP
传输方式:网口下载
4.设置烧录文件选择按分区烧写
点击浏览,选择固件 3516DV300-nor.xml 或 3516DV300-nand.xml
nor flash 版本:
nand flash 版本:
5.烧写连接好开发板的网口和 micro_USB 接口,之后点击烧写,直到提示烧写成功 。
Ps:这里烧写需要注意两点,
1.烧写前断电重新上电,可以直接在板子上按 power 按键。
2.注意网口 IP 地址、串口、flash 选择 nor nand 格式。
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:针对Hi3516DV300的使用方法-hi3521d netsdk_login https://www.yhzz.com.cn/a/9704.html