HI3516DV300 开发环境搭建及NFS网络挂载

HI3516DV300 开发环境搭建及NFS网络挂载 Joker 2022-10-18 08:56:11 3935

一、概述

本教程是给A182型HI3516DV300芯片而写,板载2*512M=1G的DDR4运存,板载32M NOR Flash。Hi3516CV500/Hi3516DV300/Hi3516AV300三款芯片使用同一个SDK,这里我们同一使用Hi3516CV500R001C02SPC020这个版本的SDK。

开发工具:

WIN10系统电脑;

ubantu 16.04(使用灵派科技相同的linux系统)

二、安装VM虚拟机,可以自己安装,也可以直接使用灵派的镜像,但是注意ubantu版本为16.04,过低或者过高均可能因为确少某些组件而影响以下操作。

 

三、ubantu安装samba服务器,用于在WIN系统和虚拟机之间的文件传输。

在win和ubantu下可以有很多种方式,这里只写一种,也是我常用的一种。

参考这个安装文档:

(24条消息) ubuntu下samba安装配置_GeYi1998的博客-CSDN博客

 https://blog.csdn.net/weixin_44023406/article/details/119422155 

易百纳社区

这里的samba用户名可以和ubantu用户的名字和密码保持一致,方便记忆。

这里我的smb.conf配置文件如下图所示:

易百纳社区

易百纳社区

在win下操作如下所示:

易百纳社区

易百纳社区

易百纳社区

易百纳社区

四、首次安装SDK

SDK路径

 ..\Hi3516CV500R001C02SPC020\Hi3516CV500R001C02SPC020\01.software\board\Hi3516CV500_SDK_V2.0.2.0.tgz

 

通过samba将SDK拷贝到linux下的某个目录进行解压,注意不要在win下解压

在SDK的文件目录下,命令行执行

tar -zxvf Hi3516CV500_SDK_Vx.x.x.x.tgz  // Hi3516CV500_SDK_Vx.x.x.x.tgz为具体的SDK名字

 

进入sdk目录,执行,如果没有权限就给权限chmod

./sdk.cleanup

./sdk.unpack

 

 

五、安装交叉编译器(或叫交叉工具链)

在发布包Hi3516C V500R001C01SPCxxx.rar 所在的目录中下载工具链文件。

注意:安装交叉编译器需要有sudo 权限或者root 权限。

1) 安装himix200 交叉编译器:

解压tar –xzf arm-himix200-linux.tgz

运行chmod +x arm-himix200-linux.install

然后运行./arm-himix200-linux.install 即可。

2) 执行source /etc/profile,安装交叉编译器的脚本配置的环境变量就可以生效了,或者

请重新登陆也可。

我所使用的灵派科技的ubantu镜像已经安装了两种交叉编译工具链,我这里并没有尝试安装。

六、SDK编译

 

步骤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 上某些第三方库编译失败的问题。

 

 

编译uboot 

进入/Hi3516CV500_SDK_V2.0.2.0/osdrv/opensource/uboot/

解压tar -zxvf u-boot-2016.11  

进入这个目录

步骤1 配置编译环境

使用配置命令:

make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hi3516dv300_defconfig

步骤2 编译U-boot

make ARCH=arm CROSS_COMPILE=arm-himix200-linux- -j4

编译成功后,将在U-boot 目录下生成u-boot.bin

注意:这一步生成的u-boot.bin 只是一个中间件,并不是最终在单板上执行的

U-boot 镜像。

接下来的步骤不再叙述,具体参考《A182 型Hi3516DV300 开发板快速入门手册》有关uboot编译的章节。

 

内核的编译

这个也参考《A182 型Hi3516DV300 开发板快速入门手册》有关内核编译的章节。

根文件系统编译

这个也参考《A182 型Hi3516DV300 开发板快速入门手册》有关根文件系统编译的章节。

或者参考这个链接:https://www.ebaina.com/ask/100000030484

部署海思mpp

Linux下解压官方的mpp包,

复制mpp/ko里面所有文件到rootfs_glibc中,cp -r  

复制mpp中的lib中的.so(动态库文件)到rootfs的lib目录中 –>是通配符,所有so后缀的文件

 

设置开机自动加载mpp驱动:

修改根文件目录中的

/etc/init.d/S00devs,在文件末尾添加

cd /ko

./load3516dv300 -i -osmem 128 -total 1024   

cd /

 

制作完根文件系统和部署完MPP,修改好相关文件后,即可打包根文件系统。

注意实际的文件路径,实际命令可能和下面的不一样

//生成块大小为64K的根文件系统

sudo ./mkfs.jffs2 -d rootfs_glibc -l -e 0x10000 -o rootfs_glibc_64k.jffs2  

 

制作根文件系统有可能过大,如接近30MB了,nor flash没有空间了,这种情况下只有两种办法,根据下面办法,精简系统:

易百纳社区

或者挂载到TF卡上

前期测试时可以用nfs挂载根文件系统,后期挂载到tf卡上,挂载到TF未测试。

TFTP加载内核和NFS挂载根文件系统

参考正点原子的教程《【正点原子】I.MX6U网络环境TFTP&NFS搭建手册V1.3.1.pdf》

搭建好上述环境后,烧录uboot,

进入uboot,设置bootargs和bootcmd

注意上面的ip地址需要和自己的实际ip一一对应  

 

注意tftp服务的文件路径,这里主要是uImage的名字 此处是uImage_3516DV300

 

注意nfs挂载的路径,此处是/home/linkpi/work/3516DV300/rootfs

 

下面的命令最好是复制,注意空格  

 

这些命令错一点,就无法启动了

//nfs

setenv serverip 192.168.1.90;setenv ipaddr 192.168.1.30;setenv gatewayip 192.168.1.1;setenv netmask 255.255.252.0

setenv bootcmd 'mw.b 82000000 ff 400000;tftp 82000000 uImage_3516DV300;bootm 0x82000000'

setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/nfs rw nfsroot=192.168.1.90:/home/linkpi/work/3516DV300/rootfs ip=192.168.1.30:192.168.1.90:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc'

saveenv

boot

等到启动系统,测试app的相关例程即可

易百纳社区

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

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

举报反馈

举报类型

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

详细说明

审核成功

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

审核失败

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

小包子的红包

恭喜发财,大吉大利

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

    易百纳技术社区