前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hi3516DV300双目开发板开发环境搭建

Hi3516DV300双目开发板开发环境搭建

作者头像
全栈程序员站长
发布2022-09-27 15:11:39
1.8K0
发布2022-09-27 15:11:39
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

Hi3516DV300双目开发板开发环境搭建

一、软件包安装

参考:《Hi3516CV500╱Hi3516DV300 SDK 安装及升级使用说明》 海思HI3516DV300 自学记录【1】:linux服务器SDK安装、nfs挂载

将sdk和交叉工具链文件在同一目录

在这里插入图片描述
在这里插入图片描述

1. 展开sdk包

代码语言:javascript
复制
(请用 root 或 sudo 权限执行)
 1. tar -xvf Hi3516CV500_SDK_V2.0.1.0.tgz
 2. cd Hi3516CV500_SDK_V2.0.1.0/
 3. ./sdk.unpack

2.安装交叉编译himix200

环境变量设置 海思AI芯片(Hi3516DV300/CV500)开发(搭建Linux开发环境)

代码语言:javascript
复制
(请用 root 或 sudo 权限执行)

 1. tar –xzf arm-himix200-linux.tgz
 2. cd arm-himix200-linux/
 3. ./arm-himix200-linux.install 
 4. 执行source /etc/profile,安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可

3.编译整个osdrv

代码语言:javascript
复制
cd Hi3516CV500_SDK_V2.0.1.0/osdrv/

默认不发布内核源码包,只发布补丁文件。内核源码包需自行从开源社区上下载。 从linux开源社区下载v4.9.37版本的内核:

  1. 进入网站:www.kernel.org
  2. 选择HTTP协议资源的https://www.kernel.org/pub/选项,进入子页面
  3. 选择linux/菜单项,进入子页面
  4. 选择kernel/菜单项,进入子页面
  5. 选择v4.x/菜单项,进入子页面
  6. 下载linux-4.9.37.tar.gz(或者linux-4.9.37.tar.xz)到osdrv/opensource/kernel目录下

我的板子为emmc启动

代码语言:javascript
复制
make OSDRV_CROSS=arm-himix200-linux  BOOT_MEDIA=emmc all
代码语言:javascript
复制
make all

注意:由于Makefile中文件系统编译依赖组件较多,不能保证单独编译的文件系统可用,建议采用make all编译;但可单独编译uboot,kernel;

代码语言:javascript
复制
可以传如下参数:
a, BOOT_MEDIA:spi(default) or emmc
b, CHIP:hi3516dv300(default) or hi3516cv500
c, 如果客户想要更换可以使用TARGET_XLSM=*.xlsm来指定所需要的u-boot表格文件

(2)清除整个osdrv目录的编译文件:

代码语言:javascript
复制
make OSDRV_CROSS=arm-himix200-linux clean

(3)彻底清除整个osdrv目录的编译文件,除清除编译文件外,还删除已编译好的镜像:

代码语言:javascript
复制
make OSDRV_CROSS=arm-himix200-linux distclean

4. SDK 目录介绍

代码语言:javascript
复制
1.6 SDK 目录介绍
Hi3516C V500_SDK_Vx.x.x.x 目录结构如下:
|-- smp #smp 目录
 |--a7_linux 
 |-- drv # drv 目录
 | |-- extdrv # 板级外围驱动源代码
 | |-- interdrv # mipi,cipher 等驱动源代码 
 |-- mpp # 存放单核媒体处理平台的目录
 | |-- component # mpp 组件
 | | |-- isp # isp 相关组件
 | |-- init # 内核模块的初始化源代码
 | |-- obj # 内核模块的 obj 文件
 | |-- include # 头文件
 | |-- ko # 内核 ko 模块
 | |-- lib # 用户态 lib 库
 | |-- sample # 样例源代码
 | |-- tools # 媒体处理相关工具
 | |-- cfg.mak # mpp 配置文件
 | |-- Makefile.param # mpp 全局编译选项
 | |-- Makefile.linux.param # mpp linux 编译选项
 |-- osal # 存放操作系统适配层的头文件和源文件的目录
 | |-- include # 存放操作系统适配层的头文件的目录
| |-- linux # 存放 linux 系统适配层的源文件的目录
|-- osdrv # 存放操作系统及相关驱动的目录
 |-- component # 组件源代码 
 |-- opensource # opensource 源代码
 | |-- busybox # busybox 源代码
 | |-- kernel # linux 内核源代码
 | |-- uboot # uboot 源代码
 |-- platform # 平台文件
 |-- pub # 编译好的镜像、工具、drv 驱动等
 |-- tools # 工具源代码
 |-- readme_cn.txt # osdrv 中文使用说明
 |-- readme_en.txt # osdrv 英文使用说明
 |-- ...... # 
 |-- Makefile # osdrv Makefile 
|-- package # 存放 SDK 各种压缩包的目录
 |-- drv.tgz # drv 压缩包
 |-- mpp_smp_linux.tgz # 媒体处理平台软件压缩包
 |-- osal.tgz # 操作系统适配层源码压缩包
 |-- osdrv.tgz # linux 内核/uboot/rootfs/tools 源码压缩包
|-- scripts # 存放 shell 脚本的目录
|-- sdk.cleanup # SDK 清理脚本
|-- sdk.unpack # SDK 展开脚本

二、烧写 uboot、kernel、fs

####之前把系统搞崩了只能通过HItool 串口下载uboot了#####

1. 选择相应的芯片 烧录方式 烧录文件以及设置大小

在这里插入图片描述
在这里插入图片描述

2.环境参数配置(未启动 以后再试)

我是直接使用hitool工具将三个文件全写入 使用uboot 下载的未成功 以下只是对基本命令的了解 我使用的是送的uboot bin文件其默认环境参数如下

代码语言:javascript
复制
bootargs=mem=512M console=ttyAMA0,115200 clk_ignore_unused root=/dev/mmcblk0p3 rootfstype=ext4 rw init=/linuxrc rootwait blkdevparts=mmcblk0:1M(boot),12M(kernel),32M(rootfs),1024M(user),-(data)
bootcmd=mmc read 0 0x80000000 0x800 0x6000; bootm 0x80000000

根据实际镜像修改为 ###这个mem为多少 没有去研究 复制别人的 ###写到这里想起在uboot里面使用tftb下载的镜像文件没有加载起来,不知道是不是设置有问题

代码语言:javascript
复制
bootargs=mem=128M console=ttyAMA0,115200 clk_ignore_unused rw rootwait root=/dev/mmcblk0p3 rootfstype=ext4 blkdevparts=mmcblk0:1M(uboot.bin),12M(kernel),96M(rootfs.ext4),-(user)
bootcmd=mmc read 0 0x80000000 0x800 0x6000; bootm 0x80000000

设置ip等

代码语言:javascript
复制
setenv serverip 192.168.1.101&&setenv ipaddr 192.168.1.103&&setenv ethaddr ea:95:e6:36:74:8e&&setenv netmask&&255.255.255.0&&setenv gatewayip 192.168.1.1

注意:《Hi3516CV500╱Hi3516DV300 SDK 安装及升级使用说明》文档是到 SPI NOR Flash烧写的命令 要使用是他方式烧写的参考《HiBurn 工具使用指南》 以下是emmc烧写方式

代码语言:javascript
复制
烧写内核82000000
mw.b 82000000  0xff C00000   //12M
tftp 82000000  uImage_hi3516dv300_smp
mmc erase 800 6000                //这一步不知道是否需要 参考书上未写
mmc write 0 0x80000000 0 0x2000


烧写文件系统2000000  96M       13M开始
mw.b 82000000 0xff 0x6000000    
tftp 82000000 rootfs_hi3516dv300_96M.ext4    
mmc erase 6800 30000    
mmc write 0 0x82000000 6800 30000

三、NFS文件系统 telnet

1. 开启 Linux 下的网络

代码语言:javascript
复制
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx; 
ifconfig eth0 xx.xx.xx.xx netmask xx.xx.xx.xx; 
route add default gw xx.xx.xx.xx

##可以设置静态ip 就不用每次设置了## 参考:[海思3519av100] 海思开发板设置静态ip并设置telnetd自启动服务 **注意:**telnet需要先在win下开启 win10怎么开启telnet服务

这里不知道为什么telnet总是登录不上去,很容易掉

挂载:ubuntu配置NFS,挂载到开发板

代码语言:javascript
复制
mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 开发板ip:/nfs路径 /mnt

mount -t nfs -o nolock -o tcp 192.168.1.104:/home/nfs /mnt

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193237.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Hi3516DV300双目开发板开发环境搭建
  • 一、软件包安装
    • 1. 展开sdk包
      • 2.安装交叉编译himix200
        • 3.编译整个osdrv
          • 4. SDK 目录介绍
          • 二、烧写 uboot、kernel、fs
            • 1. 选择相应的芯片 烧录方式 烧录文件以及设置大小
              • 2.环境参数配置(未启动 以后再试)
              • 三、NFS文件系统 telnet
                • 1. 开启 Linux 下的网络
                相关产品与服务
                媒体处理
                媒体处理(Media Processing Service,MPS)是智能、强大、全面的多媒体数据处理服务,行业支持最全面的音视频编码标准,基于自研编码内核和AI算法,提供音视频转码和增强、媒体智能、质检评测等能力,帮助您提升媒体质量、降低成本,满足各类场景的音视频处理需求。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档