Hi3516cv500的开发环境配置

一、交叉编译器的安装

1、我们需要的交叉编译器是toolchain.part1.rar
在Ubuntu下我们需要解压rar文件,需要安装rar这个软件包

sudo apt-get install rar
rar x /home/xxxx/toolchain.part1.rar  /home/your path
tar -zxvf arm-himix200-linux.tgz

==注意这里的路径都是绝对路径==

给这个文件添加可执行

chmod +x arm-himix200-linux.install
然后直接运行
./arm-himix200-linux.install

使脚本配置环境生效并修改环境变量

source /etc/profile
sudo vim ~/.bashrc

在.bashrc下面添加这两行

export PATH="/opt/hisi-linux/x86-arm/arm-himix200-linux/bin:$PATH"
export LC_ALL=C

然后使环境变量生效

source ~/.bashrc

最后查看交叉编译器是否生效即可

arm-himix200-linux-gcc -v
Using built-in specs.
COLLECT_GCC=arm-himix200-linux-gcc
COLLECT_LTO_WRAPPER=/opt/hisi-linux/x86-arm/arm-himix200-linux/host_bin/../libexec/gcc/arm-linux-gnueabi/6.3.0/lto-wrapper
Target: arm-linux-gnueabi
Configured with: /home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/src/gcc-6.3.0/configure --host=i386-redhat-linux --build=i386-redhat-linux --target=arm-linux-gnueabi --prefix=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/install --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --disable-nls --enable-clocale=gnu --enable-extra-hisi-multilibs --with-sysroot=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/install/target --with-build-sysroot=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/install/target --with-gmp=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/obj/host-libs/usr --with-mpfr=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/obj/host-libs/usr --with-mpc=/home/sying/SDK_CPU_UNIFIED/build/script/arm-himix200-linux/arm_himix200_build_dir/obj/host-libs/usr --enable-libgomp --disable-libitm --enable-poison-system-directories --with-pkgversion='HC&C V100R002C00B035_20190218'
Thread model: posix
gcc version 6.3.0 (HC&C V100R002C00B035_20190218)

二、编译SDK包

当我们安装完交叉编译器之后,还需要解压出SDK包.这样一步只需按照所给的readme_cn.txt去操作就行。
进行完操作后,我们需要安装几个软件包,去支持SDK的解压,可以参考官方的《Hi3516CV500╱Hi3516DV300╱Hi3516AV300 SDK 安装及升级使用说明》
第一步执行

sudo dpkg-reconfigure dash 
==直接选择no==

2、由于我自己的ubuntu是64位的,而sdk包的依赖环境为32位的
所以我们需要安装一下软件包

sudo apt-get install lib32ncurses5
sudo apt-get install lib32z1
下面这两行是解决SDK包编译时cannot find uuid library required for mkfs.ubifs这个错误的
sudo apt-get install  u-boot-tools libuuid1:i386 gperf
sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config

除此之外还要安装下列软件包(没个一天拿不下来,当然也可能我的网慢)

sudo apt-get install 
make 
libc6:i386 
lib32stdc++6 
zlib1g-dev 
libncurses5-dev
ncurses-term 
libncursesw5-dev 
g++ u-boot-tools:i386 
texinfo 
texlive 
gawk 
libssl-dev 
openssl
bc

当然不止这些安装包,还有一些网络相关的安装包nfs tftp telnetd这些网络相关的软件包(既然都看这个,说明以前就安好了)
3、
创建/etc/ld.so.preload文件并执行,以解决 64位 linuxserver 上某些第三方库编译失败的问题

sudo touch /etc/ld.so.preload
echo "" > /etc/ld.so.preload

4、在返回SDK包目录下执行./sdk.unpack就会展开SDK的内容了

三、编译uboot、kernel、rootfs

(一)编译Uboot

展开sdk包后我们进入目录/osdrv
我们可以先通过make distclean先清除一下多余的编译文件
官方给的readme说提倡make all 这个很坑所以还是不要使用(当然我后面可能会用到毕竟我懒得一批)
1。进入目录osdrv/opensource/uboot/解压u-boot-2016.11.tgz

tar -zxvf u-boot-2016.11.tgz

这里提供一个脚本方便大家
运行脚本前要先
Windowns下进入到osdrv/tools/pc/uboot_tools/目录下打开对应单板的Excel文件,在main标签中点击"Generate reg bin file"按钮,生成reg_info.bin即为对应平台的表格文件。
从osdrv/tools/pc/uboot_tools目录拷贝reg_info.bin到boot源代码目录,重命名为.reg

#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- hi3516cv300_defconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- -j 20
make -C ../../../tools/pc/hi_gzip
cp ../../../tools/pc/hi_gzip/bin/gzip arch/arm/cpu/armv7/hi3516cv300/hw_compressed/ -rf 
cp ./reg_info.bin .reg
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- u-boot-z.bin

这样就可以生成u-boot-hi3516cv500.bin

(二)编译kernel

单独编译kernel(以hi3516dv300举例):
待进入内核源代码目录后,执行以下操作

cp arch/arm/configs/hi3516dv300_smp_defconfig  .config
(emmc启动时执行如下操作:cp arch/arm/configs/hi3516dv300_emmc_smp_defconfig  .config)
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-himix200-linux- uImage

单独编译模块(以hi3516dv300举例):
待进入内核源代码目录后,执行以下操作

cp arch/arm/configs/hi3516dv300_smp_defconfig  .config
    (emmc启动时执行如下操作:cp arch/arm/configs/hi3516dv300_emmc_smp_defconfig  .config)
	make ARCH=arm CROSS_COMPILE=arm-himix200-linux- menuconfig
	make ARCH=arm CROSS_COMPILE=arm-himix200-linux- modules
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值