《DNK210使用指南 -CanMV版 V1.0》第五章 編譯CanMV韌體

正点原子發表於2024-06-29

第五章 編譯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專案的開源地址為:https://github.com/kendryte/canmv.git,因此可以使用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韌體。

相關文章