本帖最后由 TN-mo 于 2023-11-11 15:17 编辑
在Ubuntu中,可以非常轻易的去构建一个编译环境,在此我也会将我的构建过程整理为一个shell脚本,以供大家一键式构建部署。以下是一步一步的进行操作,如果需要shell脚本,可以直接拉到底复制即可。
环境要求:git make ninja python3
安装命令:- sudo apt install git make ninja-build python3
复制代码
首先下载仓库代码:
- git clone https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git
复制代码
下载完毕后,进入AiPi-Open-Kits:
使用命令修改.gitmodules,将仓库源从github修改为gitee:
- sed -i 's/github/gitee/g' .gitmodules
复制代码
可以使用cat .gitmodules查看修改结果,以下是修改之后的代码:
- [submodule "aithinker_Ai-M6X_SDK"]
- path = aithinker_Ai-M6X_SDK
- url = https://gitee.com/Ai-Thinker-Open/aithinker_Ai-M6X_SDK.git
- branch = release/AiPi_Eyes_SDK
复制代码
下载模块代码:
- git submodule init
- git submodule update
复制代码
下载完毕后,进入aithinker_Ai-M6X_SDK继续下载模块:
- cd aithinker_Ai-M6X_SDK/
- git submodule init
- git submodule update
复制代码
然后就是在这个路径下拉取编译所需的工具了,与windows有所区别:
- git clone https://gitee.com/bouffalolab/toolchain_gcc_t-head_linux.git
复制代码
回到上一级目录:
设置编译工具路径:
- export PATH=$PATH:$(pwd)/aithinker_Ai-M6X_SDK/toolchain_gcc_t-head_linux/bin
复制代码
验证是否设置成功:
- riscv64-unknown-elf-gcc -v
复制代码
在编译之前,需要修改一下文件权限,否则在编译过程会出现权限错误问题:
然后就是进行编译了:
- cd AiPi-Eyes_weather
- make -j$(nproc)
复制代码 这里的-j$(nproc)是为了提高编译速度,采用多线程形式进行编译的,可以去掉。
最后,如果一切顺利的话,就会得到和我一样的结果了。
最后是整个流程的shell脚本:
- #!/bin/bash
- sudo apt install git make ninja-build python3
- if [ $? -ne 0 ];
- then
- echo "Error: Apt download failed!"
- exit 1
- fi
- name=$(git config user.name)
- email=$(git config user.email)
- if [ -z "$name" ] || [ -z "$email" ];
- then
- git config --global user.name "guest"
- git config --global user.email "guest@email.com"
- fi
- git clone https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git
- if [ $? -ne 0 ];
- then
- echo "Error: Git download AiPi-Open-Kits failed!"
- exit 1
- fi
- cd AiPi-Open-Kits
- sed -i 's/github/gitee/g' .gitmodules
- git submodule init
- git submodule update
- if [ $? -ne 0 ];
- then
- echo "Error: Git download aithinker_Ai-M6X_SDK failed!"
- exit 1
- fi
- cd aithinker_Ai-M6X_SDK
- git submodule init
- git submodule update
- if [ $? -ne 0 ];
- then
- echo "Error: Git download tools failed!"
- exit 1
- fi
- git clone https://gitee.com/bouffalolab/toolchain_gcc_t-head_linux.git
- if [ $? -ne 0 ];
- then
- echo "Error: Git download toolchain_gcc_t-head_linux failed!"
- exit 1
- fi
- cd ..
- chmod -R 775 .
- export PATH=$PATH:$(pwd)/aithinker_Ai-M6X_SDK/toolchain_gcc_t-head_linux/bin
- cd AiPi-Eyes_weather
- make -j$(nproc)
- if [ $? -ne 0 ];
- then
- echo "Error: Build module failed!"
- exit 1
- fi
复制代码 脚本的使用(请确保在此过程中你的电脑不会休眠):
运行结果:
|