第五章 编译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固件。
发表评论