第五章 编译CanMV固件
上一章节中已经搭建好了基于CanMV的C开发环境,这么一来便可以进行基于C语言和FreeRTOS的应用开发或者编译基于MicroPython语法的应用开发方式所需的CanMV固件,本章就将带领读者体验一下CanMV固件的编译流程。
本章分为如下几个小节:
5.1 CanMV固件编译说明
5.2 获取CanMV源码
5.3 编译CanMV源码
5.1 CanMV固件编译说明
CanMV固件可由CanMV项目编译得到,如果读者对CanMV固件有裁剪或自定义功能的需求,那么可根据本章介绍的内容,亲自编译CanMV固件。
但对于大部分读者,编译CanMV固件并不是必须的,因为在A盘à软件资料à软件àCanMV固件中提供了编译好的固件,读者可以直接使用。
因此,需不需要读者自行编译CanMV固件,完全由读者的实际情况决定,若以提供的固件不能满足读者的使用需求,那遍需要自行编译CanMV固件。当然,自行编译CanMV固件,也能对CanMV项目有更多的了解。
5.2 获取CanMV源码
CanMV项目的开源地址,因此可以使用Git工具获取CanMV,在新安装的Git工具使用前需要先配置用户名和用户邮箱地址:
# Linux
git config --global user.name "Your user name"
git config --global user.email "Your user email"
使用Git工具获取CanMV项目源码仓库:
# Linux
git clone https://github.com/kendryte/canmv.git $WORKSPACE/canmv/
cd $WORKSPACE/canmv/
git submodule update --init --recursive
获取到CanMV项目源码仓库后,查看仓库的Tag:
# Linux
git tag -l
在列出的所有Tag中,找到最新的Tag,然后切换到该Tag,以v1.0.5为例:
# Linux
git checkout v1.0.5
至此,已经成功获取到最新发布的CanMV源码了,若读者后续有修改CanMV源码并提交修改的需求,可以在此基础上创建一个分支:
# Linux
git switch -c dev
为方便读者使用,在A盘→软件资料→软件→CanMV项目仓库压缩包中提供了CanMV项目仓库的仅克隆无修改的压缩包(可能不是最新版本)。
关于Git工具软件的使用介绍不是本教程文档的重点,请读者在使用中遇到问题时,善用搜索引擎。
5.3 编译CanMV源码
关于CanMV源码的编译,建议读者先详细阅读CanMV仓库下的build.md文档。
编译CanMV源码前,需要先安装一下Python依赖库:
# Linux
cd $WORKSPACE/canmv/
pip install -r requirements.txt
随后,读者请根据使用的板子,进入对应的工程目录下,对工程进行配置:
# Linux
cd projects/canmv_atk_dnk210/
python project.py \
--toolchain $TOOLS/kendryte-toolchain/bin \
--toolchain-prefix
riscv64-unknown-elf- \
config
以上的配置,主要是配置编译工程所使用的工具链,如果读者有对CanMV固件功能裁剪或自定的的需求,可以执行一下命令,然后对工程进行更加详细的配置:
# Linux
python3 project.py menuconfig
工程配置完成后,便可对工程进行编译:
# Linux
python project.py build
编译完成后,将在工程的build目录下生成canmv.bin文件,即CanMV固件。
网友评论