《DNK210使用指南 -CanMV版 V1.0》第一章 本書學習方法

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

第一章 本書學習方法

為了讓讀者更好地學習和使用本書,本章將為讀者介紹本書的學習方法,包括:本書的學習順序、編寫規範、程式碼規範、資料查詢和學習建議等內容。
本章分為如下幾個小節:
1.1 本書學習順序
1.2 本書參考資料
1.3 本書編寫規範
1.4 本書程式碼規範
1.5 例程資源說明
1.6 學習資料查詢
1.7 給初學者的建議

1.1 本書學習順序
為了讓讀者更好地學習和使用本書,我們做了以下幾點考慮:
1, 堅持循序漸進的思路講解,從基礎到入門,從簡單到複雜;
2, 將知識進行分類介紹,簡化學習過程;
3, 將板卡硬體資源介紹獨立成一個文件《DNK210硬體參考手冊.pdf》。
因此,讀者在學習本書的時候,我們建議:先通讀一遍《DNK210硬體參考手冊.pdf》,對板卡的硬體資源有個大概的瞭解,然後從本書的基礎篇開始,再到實驗篇,循序漸進,逐一攻克。
對於初學者,更是要按照以上建議的學習路線進行學習,不要跳躍式學習,因為本書中的知識是環環相扣的,如果沒有掌握前面的知識,就去學習後面的知識,就會學的非常吃力。
對於已經有了一定微控制器基礎的讀者,就可以跳躍式地學習,學習效率,當然了,若是遇到不懂的知識點,也得查閱前面的知識點進行鞏固。

1.2 本書參考資料
本書主要參考的資料有如下兩份文件:
《Kendryte 規格書》(https://github.com/kendryte/kendryte-doc-datasheet.git)
《CanMV 文件》(https://github.com/kendryte/canmv_docs.git)
這兩份文件均是嘉楠科技針對Kendryte K210提供的文件,前者是Kendryte K210的技術規格書,該規格書主要向硬體設計者提供Kendryte K210的硬體引數資訊,當然,軟體開發者也是有必要了解這些引數資訊的。
後者是嘉楠科技針對CanMV專案提供的文件,該文件非常詳細地對CanMV的應用開發進行介紹和講解,並提供了豐富的例程以及API介紹,是CanMV應用開發者入門必看的文件之一。
以上提及的兩份文件也是讀者在學習本書的過程中必不可少的參考資料,讀者可以在A盤Kendryte K210參考資料中找到這兩份文件。

1.3 本書編寫規範
本書透過數十個例程,為讀者詳細介紹了Kendryte K210和CanMV的絕大多數功能,按照知識結構,本書分為兩大篇章:基礎篇和實驗篇。
基礎篇,共八章,主要是一下基礎知識介紹,包括晶片、軟體庫介紹以及開發環境搭建等,這些章節在結構上沒有共性,但相互有關聯,即:必須先學習前面的知識,才能更好地學習後面的知識。
實驗篇,共三十九章,主要介紹了在CanMV環境下如何在Kendryte K210上各種功能的使用和應用的開發。這些章節在結構上比較有共性,一般分為四個部分,如下:
1,功能介紹
2,硬體設計
3,程式設計
4,執行驗證
功能介紹,簡單介紹具體實驗章節使用到的硬體外設或CanMV中的軟體模組,讓讀者對實驗章節中涉及的軟硬體原理有一個基本的瞭解,便於後面的程式設計。
硬體設計,包括實驗例程實現的功能說明、使用的硬體資源及其原理圖。讀者可以清晰地瞭解實驗章節中的實驗例程要實現什麼功能、用到的哪些硬體資源、各個硬體資源之間的連線原理圖如何。這樣有利於程式的設計與實現。
程式設計,主要介紹本章實驗例程中的程式部分,包含了例程程式用到的關鍵軟體模組介紹、例程程式的程式流程圖和主要的程式碼講解,讓讀者深入瞭解整個程式程式碼。
執行驗證,是實驗章節中的實踐部分,在完成程式設計之後,執行設計的程式,並觀察是否能夠按照預期的現象進行功能,形成一個閉環。

1.4 本書程式碼規範
本書提供的試驗例程程式碼均為Python指令碼,因此程式碼也是嚴格遵循Python的語法要求進行編寫的。
總結幾個規範的關鍵點:
1,使用有意義的變數名和函式名;
2,使用簡潔明瞭的註釋介紹代程式碼的功能和目的;
3,每個程式碼塊都需要以4個空格為一個縮排等級進行縮排,以表達明確的程式碼層級關係並且方便程式碼的閱讀;
4, 方法、函式和程式碼塊兩兩之間有且只有一個空行;
5, 必須嚴格遵循Python語法進行指令碼程式的設計和編寫。

1.5 例程資源說明
DNK210開發板的配套資料中提供的CanMV版實驗例程多達39個,這些實驗例程均是基於CanMV進行編寫的,因此也只能在CanMV環境下執行。這些例程大部分都是原創,並且有著非常詳細的註釋,程式碼風格統一、內容循序漸進,非常適合初學者入門學習。
DNK210開發板的CanMV版實驗例程如下表所示:
編號 實驗名稱 編號 實驗名稱
1 列印輸出實驗 21 音訊錄製實驗
2 板卡資訊實驗 22 照片拍攝實驗
3 FPIOA管理器實驗 23 影片播放實驗
4 跑馬燈實驗 24 音訊FFT實驗
5 蜂鳴器實驗 25 image元素繪製實驗
6 按鍵輸入實驗 26 image影像濾波實驗
7 按鍵中斷實驗 27 image影像特徵加測實驗
8 machine模組實驗 28 image影像色塊追蹤實驗
9 machine.WDT實驗 29 image影像對比實驗
10 machine.Timer實驗 30 image碼識別實驗
11 machine.PWM實驗 31 YOLO2人臉檢測實驗
12 machine.I2C實驗 32 YOLO2人手檢測實驗
13 machine.UART實驗 33 YOLO2物體檢測實驗
14 六軸感測器——原始資料讀取實驗 34 人臉口罩佩戴檢測實驗
15 六軸感測器——姿態解算實驗 35 人臉屬性分析實驗
16 LCD顯示實驗 36 人臉68關鍵點檢測實驗
17 LCD圖片顯示實驗 37 人臉識別實驗
18 攝像頭影像捕獲實驗 38 車牌識別實驗
19 攝像頭影像調整實驗 39 MNIST實驗
20 音訊播放實驗

表1.5.1 DNK210 CanMV版例程表

從上表中可以看出,正點原子DNK210開發板的CanMV版例程基本上涵蓋了CanMV環境下Kendryte K210上能實現的大部分基礎功能。
並且按照上表中的實驗名稱可以看出,實驗例程的安排都是循序漸進的,從簡單且基礎的功能開始,一步一步地深入,從簡單到複雜,這樣更有利於讀者學習和掌握,也正因此,正點原子的DNK210開發板是非常適合初學者的。

1.6 學習資料查詢
有關Kendryte K210和CanMV的相關學習資料,可以嘗試從以下五個途徑進行獲取:
1,嘉楠開發者社群資料下載頁面的資料
在嘉楠開發者社群中的資料下載中心,提供了Kednryte K210的部分相關資料,其網頁連結為https://developer.canaan-creative.com/resource,在該連結裡提供了Kendrryte K210的軟體SDK、硬體設計參考、程式設計指南、編譯工具鏈和IDE等資料,如下圖所示:

圖1.6.1 嘉楠開發者社群的資料下載頁面

2,嘉楠開發者社群文件頁面的資料
嘉楠開發者社群中也針對Kendryte K210提供了CanMV的線上文件,其網頁連結為https://developer.canaan-creative.com/canmv/main/canmv/index.html,該線上文件主要介紹CanMV在Kendryte K210上的使用,文件中也提供了一些簡單的示例,並且有著對CanMV中API詳細的介紹等,如下如所示:

圖1.6.2 嘉楠開發者社群的CanMV文件頁面

3,Kendryte GitHub主頁的資料
Kendryte K210官方的很多軟體、文件等資料都在Github上開源,其網頁連結為https://github.com/kendryte,在Kendryte的GitHub主頁裡可以找到許多Kendryte K210相關的軟體、文件等相關的開源倉庫,如下圖所示:

圖1.6.3 Kendryte的GitHub主頁

4,正點原子的學習資料
正點原子提供了大量的學習資料,為方便讀者下載所有正點原子最新最全的學習資料,這些資料都放在正點原子文件中心(http://www.openedv.com/docs/index.html),如下圖所示(正點原子文件中心會不時地更新,以保證為讀者提供最新的學習資料):

圖1.6.4 正點原子文件中心(部分截圖)

在正點原子文件中心中,可以找到正點原子所有開發板、模組、產品等的詳細資料下載連結。
5,正點原子論壇
正點原子論壇(http://www.openedv.com/forum.php),即開源電子網,該論壇從2010年成立至今,已有十多年的時間,擁有數十萬的註冊使用者和大量嵌入式相關的帖子,每天有數百人互動,是一個非常好的嵌入式學習交流平臺。

相關文章