01
gd32簡介
GD32是由兆易創(chuàng)新(GigaDevice)研發(fā)設(shè)計(jì)的一系列32位MCU,GD32是有和ST產(chǎn)品線P2P的產(chǎn)品系列,但和ST的產(chǎn)品差距還很大,還需要國人們一起努力呀。
目前GD32的單片機(jī)從內(nèi)核上區(qū)分有Cortex-M3、Cortex-M4、Cortex-M23和RISC-V內(nèi)核系列。
開發(fā)環(huán)境:支持主流的Keil MDK4/5、IAR等 IDE;
開發(fā)編程/燒寫工具:因?yàn)椴捎脴?biāo)準(zhǔn)的Cortex-M內(nèi)核,所有支持標(biāo)準(zhǔn)的JlinkV8/V9、Ulink2和自己的GD-link工具;
總之,只要你熟悉STM32,那么上手GD32就很快,而且GD32還有很多開發(fā)板,每塊開發(fā)板都配備有相應(yīng)的demo,雖然GD32和ST由一定差距,但希望更多的開發(fā)者支持國產(chǎn)。
基于RT-Thread的BSP 框架
前面簡單介紹了GD32,接下來再介紹下基于RT-Thread的BSP架構(gòu)。GD32的BSP 框架結(jié)構(gòu)如下圖所示:
02
使用 Keil +Env開發(fā) GD32
目前市面通用的MDK for ARM版本有Keil 4和Keil 5:使用Keil 4建議安裝4.74及以上;使用Keil 5建議安裝5.20以上版本。筆者的MDK是5.30。
Pack包安裝
從MDK的官網(wǎng)可以下載得到MDK的安裝包,然后安裝即可。
安裝完成后會(huì)自動(dòng)打開,我們將其關(guān)閉。
接下來我們下載GD32F4xx的軟件支持包。
03
RT-Thread PIN設(shè)備驅(qū)動(dòng)簡介
RT-Thread 提供了一套簡單的 I/O 設(shè)備模型框架,如下圖所示。
它位于硬件和應(yīng)用程序之間,共分成三層,從上到下分別是 I/O 設(shè)備管理層、設(shè)備驅(qū)動(dòng)框架層、設(shè)備驅(qū)動(dòng)層。
應(yīng)用程序通過 I/O 設(shè)備管理接口獲得正確的設(shè)備驅(qū)動(dòng),然后通過這個(gè)設(shè)備驅(qū)動(dòng)與底層 I/O 硬件設(shè)備進(jìn)行數(shù)據(jù)(或控制)交互。關(guān)于I/O模型的詳細(xì)描述請參看RT-Thread官方手冊。
I/O設(shè)備模型
PIN設(shè)備屬于Miscellaneous類型,在驅(qū)動(dòng)文件pin.c中的rt_device_pin_register()函數(shù)可以看到其注冊的設(shè)備類型,PIN設(shè)備是很多驅(qū)動(dòng)的基礎(chǔ),其他驅(qū)動(dòng)的開發(fā)還會(huì)依賴PIN設(shè)備,比如軟件I2C的驅(qū)動(dòng)就是在PIN設(shè)備的基礎(chǔ)上開發(fā)的。
應(yīng)用程序通過 RT-Thread 提供的 PIN 設(shè)備管理接口來訪問 GPIO,相關(guān)接口如下所示:
04
RT-Thread 的UART簡介
UART和其他設(shè)備一樣,應(yīng)用程序通過統(tǒng)一的設(shè)備管理接口來訪問串口硬件,相關(guān)接口如下所示:
UART的主要步驟如下所示:
1.首先查找串口設(shè)備獲取設(shè)備句柄。
2.配置串口參數(shù)。
3.初始化回調(diào)函數(shù)發(fā)送使用的信號量,然后以讀寫及中斷接收方式打開串口設(shè)備。
4.設(shè)置串口設(shè)備的接收回調(diào)函數(shù),之后發(fā)送字符串,并創(chuàng)建讀取數(shù)據(jù)線程。
運(yùn)行序列圖如下圖所示:
-
mcu
+關(guān)注
關(guān)注
146文章
17316瀏覽量
352346
發(fā)布評論請先 登錄
相關(guān)推薦
評論