针对Hi3516DV300的使用方法

针对Hi3516DV300的使用方法 Debug 2022-10-13 17:29:06 2785

易百纳社区

一、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-boot

1)配置编译环境

使用配置命令: 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- uImage

Ps:

1.解锁文件夹命令:

sudo chown -R $USER 空格
/home/wr/A182/Hi3516CV500_SDK_V2.0.2.0/osdrv/opensource/kernel/linux-4.9.y

2.提示 arm-hisix200-linux-gcc: command not found 的解决办法:

这是因为 Linux 宿主机是 ubuntu 16.04 64 位,而交叉编译器是针对 32 位的开发板

制作的。所以要安装对应的 32 位库。

*安装命令: * #&nbsp;sudo&nbsp;apt&nbsp;install&nbsp;lib32z1-dev

*然后执行* &nbsp;su&nbsp;root&nbsp;#&nbsp;su&nbsp;root

输入 root 密码,进入登录 root 管理员权限

# vim ~/.bashrc

bashrc 文件末尾添加以下代码:

  • export&nbsp;PATH=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin:$PATHexport&nbsp;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&nbsp;–d&nbsp;./rootbox&nbsp;-l&nbsp;–e&nbsp;0x10000&nbsp;-o&nbsp;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 格式。

易百纳社区

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
Debug
红包 2 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
Debug
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区