海思hi3516ev100开发板_海思V200

海思hi3516ev100开发板_海思V2001安装ubunu14我的ubuntu14如下#uname-aLinuxubuntu4.4.0-142-generic#168~14.04.1-UbuntuSMPSatJan1911:26:28UTC2019x86_64x86_64x86_64GNU/Linux2软件包安装步骤1.配置默认使用bash执行sudodpkg-recon…


Jetbrains全系列IDE稳定放心使用

目的: 熟悉环境和流程,让更多的爱好者了解海思、加入海思。

目录

1 安装ubunu14

2 软件包安装

3 安装交叉编译工具

4 安装SDK

步骤 1.解压缩 SDK 包

步骤 2. 展开 SDK 包内容

步骤 3. 编译uboot (参考osdrv下readme)

步骤 4. 编译kernel(参考osdrv下readme)

步骤 5. 制作根文件系统(参考osdrv下readme)

5 一键全部编译


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 的软件开发包。

步骤 1.解压缩 SDK 包

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

步骤 2. 展开 SDK 包内容

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

步骤 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.html
                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


结果:

编译得到了u-boot-z.bin 、uImage和rootfs_glibc_64k.jffs2。

 

5 一键全部编译

如果直接在osdr下make all,先解决{mtd-utils编译不过问题}就可以直接全部编译了!

Hi3516CV500_SDK_V2.0.1.1/osdrv$  ls pub/hi3516dv300_spi_smp_image_glibc/ -lah
total 71M
drwxr-xr-x 2 developer root      4.0K Mar 28 09:58 .
drwxrwxr-x 5 developer developer 4.0K Mar 28 09:58 ..
-rw-r--r-- 1 developer developer 4.1M Mar 28 09:58 rootfs_hi3516dv300_128k.jffs2
-rw-r--r-- 1 developer developer 4.1M Mar 28 09:58 rootfs_hi3516dv300_256k.jffs2
-rw-rw-r-- 1 developer developer 6.4M Mar 28 09:58 rootfs_hi3516dv300_2k_128k_32M.ubifs
-rw-r--r-- 1 developer developer 9.7M Mar 28 09:58 rootfs_hi3516dv300_2k_24bit.yaffs2
-rw-r--r-- 1 developer developer 9.5M Mar 28 09:58 rootfs_hi3516dv300_2k_4bit.yaffs2
-rw-r--r-- 1 developer developer  11M Mar 28 09:58 rootfs_hi3516dv300_4k_24bit.yaffs2
-rw-rw-r-- 1 developer developer 8.3M Mar 28 09:58 rootfs_hi3516dv300_4k_256k_50M.ubifs
-rw-r--r-- 1 developer developer  11M Mar 28 09:58 rootfs_hi3516dv300_4k_4bit.yaffs2
-rw-r--r-- 1 developer developer 4.1M Mar 28 09:58 rootfs_hi3516dv300_64k.jffs2
-rwxr-xr-- 1 developer developer 299K Mar 28 09:50 u-boot-hi3516dv300.bin
-rw-rw-r-- 1 developer developer 3.5M Mar 27 18:33 uImage_hi3516dv300_smp

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 电信光纤友华PT921G,烽火HG220光猫激活成功教程关闭自带路由改桥接拨号教程[通俗易懂]

    电信光纤友华PT921G,烽火HG220光猫激活成功教程关闭自带路由改桥接拨号教程[通俗易懂]电信光纤友华PT921G光猫激活成功教程关闭自带路由改桥接拨号教程电信光猫质量烂就算了,最受不了它自带的路由还做了手脚,导致VPN用不了。不让看AV就算了,打个外服游戏总可以吧?不知道为啥,网上关于光猫改桥接的教程基本没有,搜出来的也说得很不清楚,是和谐了还是什么原因不得而知。本人也是自己自己试出来的,其实修改难度并不大,只不过那个界面搞的特奇葩特不友好罢了。废话不多说,步骤如下:

    2022年6月24日
  • armeabi-v7a架构(sv7a)

    在ANE中如果SDK调用了so库,则需要把so库放到ANE下Android-ARM/lib/armeabi(调试模式)或者armeabi-v7a(发行模式)下。可以贴个ADT代码说明问题://m_configType.equals(“apk”)是否是发行模式//(hasCaptiveRuntime()是否带运行时if((m_configType.equals(“apk”

    2022年4月13日
  • Fontawesome字体使用说明及其常用效果语法

    Fontawesome字体使用说明及其常用效果语法

    2021年10月9日
  • IT学生学习指南

    IT学生学习指南本文主要为了计算机相关专业的学生而写。内容是从本博主的工作经验和教学经验当中总结出来的一些干货,涵盖了从大一到大四期间学生所遇到的常见问题,包括如何找到满意的工作、如何选择适合自己的工作岗位、如何制定自己的学习计划、如何分辨自身适合考研还是就业、女生的IT之路怎么走、如何锻炼自己的技术等等大学生最关心的问题。如果大家觉得文本值得一看,那就请推荐给身边那些还在迷茫中的孩子们吧!

    2022年6月4日
  • bacitracin_bababadalgharaghtakamminarronn

    bacitracin_bababadalgharaghtakamminarronn
     BalunTransformers
     ABalunisadevicewhichconverts balancedimpedanceto unbalancedandviceversa.Inaddition,balunscanalsoprovideimpedancetransformation,hencethenameBalunTransformers.
    Thefollowingsectionsdescribethep

    2022年10月23日
  • 帮谷歌推广Webp图片格式之:Webp的格式转换

    帮谷歌推广Webp图片格式之:Webp的格式转换

    2022年2月9日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号