硅天下科技

硅天下科技

1个粉丝

38

问答

0

专栏

9

资料

硅天下科技  发布于  2020-08-05 16:48:26
采纳率 0%
38个问答
3557

Hi3516DV300(一)

 

一、 逐步搭建开发环境 1 安装ubunu14

我的ubuntu14如下,安装方法网上很多,通用。

#uname -a

Linux ubuntu 4.4.0-142-generic #168~14.04.1-Ubuntu SMP Sat Jan 19 11:26:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

2 软件包安装

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

3 安装交叉编译工具

步骤 1. 解压工具链。
执行如下命令进行解压:
tar –xvf arm-himixXXX-linux.tgz
步骤 2. 安装工具链。
运行命令 sudo ./arm-himixXXX-linux.install 即可完成此工具链的安装。
其它工具链安装方法与上述描述类似。

4 安装SDK

Hi3516CV500_SDK_V2.0.1.1.tgz的文件,该文件就是 Hi3516C V500 的软件开发包。

4/1.解压缩 SDK 包

在 linux 服务器上(或者一台装有 linux 的 PC 上,主流的 linux 发行版本均可以),使用命令:tar -zxf Hi3516CV500_SDK_V2.0.1.1.tgz,解压缩该文件,可以得到一个Hi3516CV500_SDK_V2.0.1.1 目录。

4/2. 展开 SDK 包内容

返回 Hi3516CV500_SDK_V2.0.1.1 目录,运行./sdk.unpack(请用 root 或 sudo 权限执行)将会展开 SDK 包打包压缩存放的内容,请按照提示完成操作。
如果您需要通过 WINDOWS 操作系统中转拷贝 SDK 包,请先运行./sdk.cleanup,收起SDK 包的内容,拷贝到新的目录后再展开。

4/ 3. 编译uboot (参考osdrv下readme)

#sdk目录所属者配为当前用户(非常重要)
chown -R userXXX Hi3516CV500_SDK_V2.0.1.1

#解压
tar -xzf u-boot-2016.11.tgz
cd u-boot-2016.11

#编译
source /etc/profile
export LC_ALL=C
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hi3516dv300_defconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux-
cp ../../../tools/pc/uboot_tools/reg_info.bin .reg 
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- u-boot-z.bin

#uboot_tools目录下制作reg.bin,参考readme
cd Hi3516CV500_SDK_V2.0.1.1/osdrv/tools/pc/uboot_tools/hiregbin-v5.0.1
chmod 777 hiregbin
./hiregbin ./Hi3516dv300.xlsm ./reg.bin

#生成u-boot-z.bin
cp ../../../tools/pc/uboot_tools/reg.bin .reg 
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- u-boot-z.bin
步骤 4. 编译kernel(参考osdrv下readme)

#下载linux内核源码
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目录下   

#打补丁
1)将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目录中
2)在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 ../../  

#注意:
若下载的内核格式为linux-4.9.37.tar.xz,
第一步先用:
xz -d linux-4.9.37.tar.xz
命令将linux-4.9.37.tar.xz解压为linux-4.9.37.tar。
第二步再用:
tar -xvf linux-4.9.37.tar
解压linux-4.9.37.tar。

#编译
cd linux-4.9.y
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hi3516dv300_smp_defconfig
# cp arch/arm/configs/hi3516dv300_smp_defconfig  .config 等效于上一句命令
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage -j 16
# -j 16表示开启16个线程编译,根据机器cpu配置
步骤 5. 制作根文件系统(参考osdrv下readme)

===> mtd-utils编译不过问题

# mtd-utils编译不过问题,直接引用海思原文
一、mtd-utils2.0.2依赖以下几个库,以ubuntu为例,安装方式请参考下面命令:
sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config autoconf

二、由于mtd-utils2.0.2通过pkg-config工具检查各个库是否正常安装,因此请参考如下方式设置pkg-config工具搜索路径:
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/pkgconfig"

三、mtd-utils2.0.2依赖于automake1.15.1版本,请参考如下方式安装automake1.15.1版本:
        1、删除原有automake版本
        sudo apt-get autoremove automake
        2、下载1.15.1版本
                1)Windows系统中使用浏览器访问automake工程url并下载对应源码包:
                https://lists.gnu.org/archive/html/info-gnu/2017-06/msg00007.htm
                2)linux系统中可以使用下面命令下载:
                wget ftp://ftp.gnu.org/gnu/automake/automake-1.15.1.tar.gz
        3、编译安装automake1.15.1
                tar zxvf automake-1.15.1.tar.gz
                cd automake-1.15.1/
                ./configure
                make
                make install

四、编译mtd-utils2.0.2
==> tools编译(这里就直接编译了,不去一个一个编译,中间唯一编译不过的就是{mtd-utils编译不过问题})

cd Hi3516CV500_SDK_V2.0.1.1/osdrv
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hipctools
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hiboardtools
==> 生成文件系统

#编译和安装busybox
cd Hi3516CV500_SDK_V2.0.1.1/osdrv/opensource/busybox
tar xf busybox-1.26.2.tgz
cd busybox-1.26.2
cp config_v200_a7_softfp_neon .config
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux-
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- install

#利用busybox制作根文件系统
cd Hi3516CV500_SDK_V2.0.1.1/osdrv/pub
mkdir rootfs_glibc
cd rootfs_glibc
cp -R ../../opensource/busybox/busybox-1.26.2/_install/* .
mkdir etc dev lib tmp var mnt home proc
##etc lib dev必须配置, etc直接拷贝busybox下的examples, dev直接先拷贝上ubunt下的dev, lib是应用程序所需的库
cp -R ../../opensource/busybox/busybox-1.26.2/examples/* etc/
cp -R /dev/* dev/
#SPI NOR Flash使用jffs2格式的镜像,制作jffs2镜像时,需要用到SPI NOR Flash的块大小。这些信息会在uboot启动时会打印出来。建议使用时先直接运行mkfs.jffs2工具,根据打印信息填写相关参数。
下面以块大小为64KB为例:
cd Hi3516CV500_SDK_V2.0.1.1
osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_glibc -l -e 0x10000 -o osdrv/pub/rootfs_glibc_64k.jffs2
我来回答
回答4个
时间排序
认可量排序

y2006142108

1个粉丝

13

问答

0

专栏

0

资料

y2006142108 2020-08-17 15:20:54
认可0
HI3516DV300  有没有已经跑起来的量产后  的 参考图纸发出来?

蓝雨

0个粉丝

0

问答

0

专栏

0

资料

蓝雨 2023-11-22 18:31:47
认可0

学习打卡

运气仙君

0个粉丝

0

问答

0

专栏

0

资料

运气仙君 2023-11-23 10:27:02
认可0

EB-Hi3516DV300-DC-182 型开发板快速入门手册里面,其中2.3 安装交叉编译器的步骤我按照文档来操作为啥没有那个toolchain文件啊 这个咋解决
环境都装不了

Crazy
Crazy   回复   运气仙君  2023-11-28 16:38:27
0

解压其中一个压缩文件可以找到,多看一下吧

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

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

详细说明

易百纳技术社区