海思Linux(二)-Hi3516CV610的开发-SDK环境搭建与初始编译
目 录
前 言
一、环境搭建
1.1 资料准备
1.2 配置默认使用bash
1.3 环境安装-安装软件包
1.4 创建/etc/ld.so.preload文件
1.5 安装SDK依赖包mtd-utils
1.6 安装texlive库
1.7 安装python等库
2 安装交叉编译工具
2.1 使用MobaXterm上传压缩包
2.2 使用tar解压
2.3 安装交叉编译
3 安装SDK
3.1 上传SDK压缩包
3.2 使用tar指令进行解压
3.3 展开SDK包
3.4 下载kernel
3.5 下载下载 mtd-utils
4 BSP编译
5 总结
前 言
芯片选型:HI3516CV610
选择的开发板是:酷电科技馆的Hi3516CV610-MINI开发板
上一篇文章:海思Linux(一)-Hi3516CV610的开发-ubuntu22_04环境创建-CSDN博客
下一篇文章:无
说明:该系列文章为学习文章,为参考网上各路大神的开源文章,但是个人天资愚笨,踩了无数坑,然后制作了这些步骤,如有侵权,请联系本人删除。、
一、环境搭建
1.1 资料准备
我使用的是海思原厂的SDK,从网上获取的资料,有如下两个压缩包
1.2 配置默认使用bash
使用下面的指令
sudo dpkg-reconfigure dash
选择no
1.3 环境安装-安装软件包
使用下面的指令进行安装,注意,以下指令需要为一行,如果不是一行会出现报错,可以使用txt等把它拼接成一行
sudo apt-get install make libc6-i386 lib32z1 lib32stdc++6 libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools texinfo gawk libssl-dev openssl bc p7zip-full gperf bison flex diffutils git unzip libffi-dev libtool libfreetype6 fakeroot autopoint po4a python3-pip wget libmpc-dev
安装全点Y
如上图,没有出现报错即安装成功
1.4 创建/etc/ld.so.preload文件
这个的目的是解决64bit linux server上某些第三方库编译失败的问题
1.执行下面的指令
sudo nano /etc/ld.so.preload
出现这个界面
直接Ctrl+x退出
2.执行下面的指令
echo "" | sudo tee /etc/ld.so.preload
执行效果:
3.执行下面的指令查询是否是空文件
cat /etc/ld.so.preload
执行效果
4.执行下面的指令让这个设定生效
sudo ldconfig
1.5 安装SDK依赖包mtd-utils
1.执行下面这个指令
sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config automake
2.添加环境变量
使用下面的指令
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/
pkgconfig"
3.执行指令让环境变量生效
source ~/.bashrc
4.验证安装是否成功
依次执行下面的指令
pkg-config --cflags --libs zlib
pkg-config --cflags --libs lzo2
pkg-config --cflags --libs uuid
验证成功的显示示例
1.6 安装texlive库
执行下面的指令
sudo apt-get install texlive
安装效果:
1.7 安装python等库
1.安装vim编辑器
执行下面的指令
sudo apt-get install vim
执行效果:
2.安装wheel
执行下面的指令
sudo pip3 install wheel
这个说明虚拟机已经安装过了,如果是正在安装也是正常的
3.安装pycryptodome
执行下面的指令
sudo pip3 install pycryptodome
执行效果:
4.安装pyelftools
执行下面的指令
sudo pip3 install pyelftools
执行效果:
5.安装 cryptography
执行下面的指令
sudo pip3 install cryptography
执行效果:(说明前面也已经安装过了,出现其他的安装情况也是正常的)
6.构建软链接
执行下面的指令
sudo ln -s /usr/bin/python3 /usr/bin/python
执行效果:
2 安装交叉编译工具
2.1 使用MobaXterm上传压缩包
上传对应的交叉编译环境包
上传完后:
2.2 使用tar解压
输入下面的指令
tar xf gcc-20240318-arm-v01c02-linux-musleabi.tgz
2.3 安装交叉编译
依次使用下面的指令
cd gcc-20240318-arm-v01c02-linux-musleabi/
sudo ./install_gcc_toolchain.sh
source /etc/profile
执行效果:
执行下面指令验证
arm-v01c02-linux-musleabi-gcc -v
验证效果:
给sudo配置环境变量
使用下面的指令
sudo visudo
然后在文件中填入下面的内容
(注意,用户名需要更改为自身用户名)
Defaults env_keep += "PATH"
Defaults secure_path = /usr/sbin:/usr/bin:/sbin:/bin:/home/spmwgj/gcc-20240318-arm-v01c02-linux-musleabi/arm-v01c02-linux-musleabi-gcc/bin
使用Ctrl+x退出
3 安装SDK
3.1 上传SDK压缩包
如2.1 一样上传对应的SDK压缩包
3.2 使用tar指令进行解压
使用下面的指令进行解压
tar -zxf Hi3516CV610_SDK_V1.0.1.0.tgz
3.3 展开SDK包
使用下面的指令
cd Hi3516CV610_SDK_V1.0.1.0/
sudo ./sdk.unpack
执行后效果示例:
3.4 下载kernel
在Index of /pub/linux/kernel/
下载Linux kernel
下载的版本为linux-5.10.221.tar.gz
并且使用MobaXterm上传到ubuntu
使用下面指令把这个压缩包移到对应路径
sduo mv linux-5.10.221.tar.gz Hi3516CV610_SDK_V1.0.1.0/open_source/linux/
对应的示例效果:
3.5 下载下载 mtd-utils
在下面的链接处下载对应的mtd-utils
https://infraroot.at/pub/mtd/mtd-utils-2.1.4.tar.bz2
并且使用MobaXterm上传到ubuntu
使用下面的指令移动该文件
sudo mv mtd-utils-2.1.4.tar.bz2 Hi3516CV610_SDK_V1.0.1.0/open_source/mtd-utils/
执行后对应的示例为:
4 BSP编译
使用下面的命令进去bsp目录
cd Hi3516CV610_SDK_V1.0.1.0/smp/a7_linux/source/bsp/
示例:
使用下面的命令进行编译:
sudo make LIB_TYPE=musl CHIP=hi3516cv610 DEBUG=1 all
编译会比较久。
出现这样的即编译成功了
5 总结
我在使用的过程中也踩了很多坑,如果你模仿我的去制作环境,记得注意替换自己的路径。