第五章 编译CanMV固件

1)实验平台:正点原子DNK210开发板

2) 章节摘自【正点原子】DNK210使用指南 - CanMV版 V1.0

3)购买链接:https://detail.tmall.com/item.htm?&id=782801398750

4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html

5)正点原子官方B站:https://space.bilibili.com/394620890

6)正点原子K210技术交流企鹅群:605557868

上一章节中已经搭建好了基于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固件。


正点原子
1 声望1 粉丝