大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
目的: 熟悉环境和流程,让更多的爱好者了解海思、加入海思。
目录
步骤 3. 编译uboot (参考osdrv下readme)
步骤 4. 编译kernel(参考osdrv下readme)
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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/190365.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...