海思的文档已经非常详细了,分门别类详尽整齐。但是对于刚刚接手的开发者而言,每次编译都不得不从一个文档看到另一个文档,再是另一个文档,跳来跳去又跳到readme……这一过程实在是繁琐之至。为了是这一过程清晰并且一目了然,在此整理出整个编译过程(以Hi3559AV100为例),给自己也给其他用到海思SDK的人提供方便之门。
一.准备阶段 安装虚拟机 ubuntu16.04,开启相关服务
Windows下安装mobaxtern,filezilla,开启相关服务
以《Hi3559A╱C V100 开发环境用户指南.pdf》为基础,这个文档在“XXXReleaseDoczh 1.softwareboardOSDRV”目录下
发布包提供编译工具链:
aarch64-himix100-linux、 gcc-arm-none-eabi-4_9-2015q3。
aarch64-himix100-linux 为基于 64bit 操作系统 glibc 的工具链。
gcc-arm-none-eabi-4_9-2015q3 为 Huawei LiteOS M7 工具链。
注意:(两个都必须安装!不是只用到了Linux就不安装另一个,不然后续编译会各种稀奇古怪的报错)
比如:
直接make all时
想排查问题单独编译内核时
实际上都会在安装全工具链后迎刃而解
aarch64-himix100-linux安装步骤如下: 步骤 1. 解压工具链。 执行如下命令进行解压:
tar -xvf aarch64-himix100-linux.tgz
运行命令 sudo ./aarch64-himix100-linux.install 即可完成此工具链的安装。
其它工具链安装方法与上述描述类似。
(1)进入网站:
https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update
(2)下载gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2
(1)将下载的 gcc-arm-none-eabi-4_9-2015q3-20150921-linux.tar.bz2和发布包里的gcc-arm-none-eabi-4_9-2015q3.install放到同一个目录下
(2)执行如下命令:
chmod +x gcc-arm-none-eabi-4_9-2015q3.install
sudo ./gcc-arm-none-eabi-4_9-2015q3.install
在"Hi3559AV100***/01.software/board"目录下,可以看到一个Hi3559AV100_SDK_Vx.x.x.x.tgz 的文件,该文件就是 Hi3559AV100 的软件开发包。
3.2 解压缩 SDK 包在 linux 服务器上(或者一台装有 linux 的 PC 上,主流的 linux 发行版本均可以),使用命令:tar -zxf Hi3559AV100_SDK_Vx.x.x.x.tgz,解压缩该文件,可以得到一个Hi3559AV100_SDK_Vx.x.x.x 目录。
3.3 展开 SDK 包内容 返回 Hi3559AV100_SDK_Vx.x.x.x 目录,运行./sdk.unpack(请用 root 或 sudo 权限执行)将会展开 SDK 包打包压缩存放的内容,请按照提示完成操作。
如果需要通过 WINDOWS 操作系统中转拷贝 SDK 包,请先运行./sdk.cleanup,收起SDK 包的内容,拷贝到新的目录后再展开。
已经安装过了可以尝试开始编译了,此时可以进入/Hi3559AV100_SDK_V2.0.3.1/osdrv$目录 ,在opensource/kernel路径下下载Linux4.9.37版本的tar.gz后就可以直接
make BOOT_MEDIA=spi AMP_TYPE=linux all即可,出现下图所示的界面就代表编译完成,也就说明我们的环境搭建就此完成了,其余详细的对于uboot的修改啦,kernel源码的修改啦,文件系统的制作啦我们都可以在后续单独讨论



