打印
[其他ST产品]

【正点原子K210连载】第五章 编译CanMV固件 摘自【正点原子】DNK210使用指南-CanMV版指南

[复制链接]
129|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 正点原子官方 于 2024-6-27 15:16 编辑

第五章 编译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项目的开源地址为:https://github.com/kendryte/canmv.git,因此可以使用Git工具获取CanMV,在新安装的Git工具使用前需要先配置用户名和用户邮箱地址:
<div align="left"><font face="黑体"># Linux</font></div><div align="left"><font face="黑体"><b>git</b> config <b>--</b>global user.name "Your user name"</font></div><div align="left"><font face="黑体"><b>git</b> config <b>--</b>global user.email "Your user email"</font></div>

使用Git工具获取CanMV项目源码仓库:
<div align="left"><font face="黑体"># Linux</font></div><div align="left"><font face="黑体"><b>git</b> clone https<b>://</b>github.com<b>/</b>kendryte<b>/</b>canmv.git <b>$WORKSPACE</b><b>/</b>canmv<b>/</b></font></div><div align="left"><font face="黑体"><b>cd</b> <b>$WORKSPACE</b><b>/</b>canmv<b>/</b></font></div><div align="left"><font face="黑体"><b>git</b> submodule update <b>--</b>init <b>--</b>recursive</font></div>

获取到CanMV项目源码仓库后,查看仓库的Tag:
<div align="left"><font face="黑体"># Linux</font></div><div align="left"><font face="黑体"><b>git</b> tag -l</font></div>

在列出的所有Tag中,找到最新的Tag,然后切换到该Tag,以v1.0.5为例:
<div align="left"><font face="黑体"># Linux</font></div><div align="left"><font face="黑体"><b>git</b> checkout v1.0.5</font></div>

至此,已经成功获取到最新发布的CanMV源码了,若读者后续有修改CanMV源码并提交修改的需求,可以在此基础上创建一个分支:
<div align="left"><font face="黑体"># Linux</font></div><div align="left"><font face="黑体"><b>git</b> switch -c dev</font></div>

为方便读者使用,在A盘à软件资料à软件àCanMV项目仓库压缩包中提供了CanMV项目仓库的仅克隆无修改的压缩包(可能不是最新版本)。
关于Git工具软件的使用介绍不是本教程文档的重点,请读者在使用中遇到问题时,善用搜索引擎。
5.3 编译CanMV源码
关于CanMV源码的编译,建议读者先详细阅读CanMV仓库下的build.md文档。
编译CanMV源码前,需要先安装一下Python依赖库:
<div align="left"><font face="黑体"># Linux</font></div><div align="left"><font face="黑体"><b>cd</b> <b>$WORKSPACE</b><b>/</b>canmv<b>/</b></font></div><div align="left"><font face="黑体">pip install -r requirements.txt</font></div>

随后,读者请根据使用的板子,进入对应的工程目录下,对工程进行配置:
<div align="left"><font face="黑体"># Linux</font></div><div align="left"><font face="黑体"><b>cd</b> projects<b>/</b>canmv_atk_dnk210<b>/</b></font></div><div align="left"><font face="黑体"><b>python</b> project.py <b>\</b></font></div><div align="left"><font face="黑体">    <b>--</b>toolchain <b>$TOOLS</b><b>/</b>kendryte-toolchain<b>/</b>bin <b>\</b></font></div><div align="left"><font face="黑体">    <b>--</b>toolchain-prefix riscv64-unknown-elf- <b>\</b></font></div><div align="left"><font face="黑体">    config</font></div>

以上的配置,主要是配置编译工程所使用的工具链,如果读者有对CanMV固件功能裁剪或自定的的需求,可以执行一下命令,然后对工程进行更加详细的配置:
<div align="left"><font face="黑体"># Linux</font></div><div align="left"><font face="黑体"><b>python3</b> project.py menuconfig</font></div>

工程配置完成后,便可对工程进行编译:
<div align="left"><font face="黑体"># Linux</font></div><div align="left"><font face="黑体"><b>python</b> project.py build</font></div><font face="黑体"></font>

编译完成后,将在工程的build目录下生成canmv.bin文件,即CanMV固件。

使用特权

评论回复
沙发
suncat0504| | 2024-6-29 19:24 | 只看该作者
跟着高手学习。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

16

帖子

1

粉丝