寫在前面:聚沃科技SDK使用GD固件庫基礎(chǔ)上開發(fā)了MCU外設(shè)驅(qū)動的中間層以及板級外設(shè)的驅(qū)動,相關(guān)例程調(diào)用驅(qū)動函數(shù)實現(xiàn),用戶在基于聚沃科技的SDK做產(chǎn)品開發(fā)時,可以很方便的適配新的硬件,直接調(diào)用相關(guān)驅(qū)動接口開發(fā)上層應(yīng)用即可,類似STM32的hal庫,彌補了原廠這一塊的空缺,并且在驅(qū)動中做了很多容錯性處理,總結(jié)了應(yīng)用中常見一些問題,可靠性比原廠demo例程更好,可在裸機(jī)、RTOS等不同開發(fā)框架下穩(wěn)定運行,能很好的縮短軟件開發(fā)周期。 本文主要針對SDK如何重定義硬件接口和外設(shè)參數(shù)進(jìn)行說明,方便讓大家快速靈活使用聚沃科技SDK。 |
軟件架構(gòu)簡介
聚沃科技SDK框架如下圖所示,底層驅(qū)動為官方提供的外設(shè)庫,聚沃科技實現(xiàn)了抽象層驅(qū)動包括MCU_Driver和BSP_Driver,其中MCU_Driver為MCU底層外設(shè)驅(qū)動,調(diào)用底層驅(qū)動進(jìn)行再次封裝,BSP_Driver為板級資源驅(qū)動,調(diào)用MCU_Driver進(jìn)行再次封裝,便于應(yīng)用層調(diào)用,應(yīng)用層及應(yīng)用層驅(qū)動為上層應(yīng)用,包括主函數(shù)文件以及相關(guān)上層驅(qū)動。該例程架構(gòu)經(jīng)過多層封裝便于讀者開發(fā)中直接使用。

主要功能介紹:
- driver_public.c
該文件主要會初始化延時模塊、系統(tǒng)tick中斷、配套例程的LCD和串口打印,不同系列之間也會根據(jù)芯片特點做一些必要性初始化,比如H7的SDK中還做了cache的使能、中斷向量表到SRAM的copy和偏移、基礎(chǔ)MPU的配置。
在mian函數(shù)開始調(diào)用driver_init即可,產(chǎn)品開發(fā)中不需要LCD和串口打印可配置LCD_DEBUG為0或直接刪除對應(yīng)代碼:

提供了機(jī)器周期延時、us延時、ma延時函數(shù),采用了僅查詢方式實現(xiàn),支持函數(shù)重入、ROTS下調(diào)用等。

提供了定時任務(wù)函數(shù)指針可方便增加一些簡單的定時任務(wù),配置時間值并指向函數(shù)即可自動調(diào)用執(zhí)行:

- driver_public.h
測試?yán)坦δ軙r,在該頭文件中可以選擇LCD打印信息,并選擇對應(yīng)的屏幕類型,例程結(jié)果會顯示在LCD上,不使用LCD時LCD_DEBUG配置0即可;

該文件中預(yù)留了分散加載的宏定義,可以方便的指定變量、函數(shù)位置,需要配合工程配置以及SCT文件使用:




- driver_xx.c\bsp_xx.c中定義接口和參數(shù)
在驅(qū)動文件上方提供了注冊接口或參數(shù)的示例,可參考修改即可:
- 普通GPIO:

GPIO_DEF括號內(nèi)內(nèi)容分別是:注冊名稱、PORT、PIN、GPIO模式、默認(rèn)電平、IO中斷回調(diào)函數(shù);需要增加或者修改可以復(fù)制模版后修改名稱和參數(shù)。
調(diào)用驅(qū)動時將注冊名稱指針傳輸調(diào)用:


定義USART時參考模版分別定義TX、RX、DMA通道,USART波特率和模式,如沒有使用DMA任意填寫參數(shù);
通信類外設(shè)有三個模式:MODE_POLL、MODE_DMA、MODE_INT可選,根據(jù)需要選擇配置,也可以應(yīng)用中修改結(jié)構(gòu)體參數(shù)并重初始化來靈活變更模式。

本教程由GD32 MCU方案商聚沃科技原創(chuàng)發(fā)布,了解更多GD32 MCU教程以及聚沃科技資料板下載,關(guān)注聚沃科技官網(wǎng)
-
mcu
+關(guān)注
關(guān)注
147文章
18588瀏覽量
385941 -
SDK
+關(guān)注
關(guān)注
3文章
1093瀏覽量
51147 -
驅(qū)動接口
+關(guān)注
關(guān)注
0文章
10瀏覽量
2758
發(fā)布評論請先 登錄

聚沃科技SDK使用指南
評論