91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

兆易創(chuàng)新GD32VW553上的UART實踐 | 技術(shù)集結(jié)

RT-Thread官方賬號 ? 2026-04-06 18:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

兆易創(chuàng)新GD32VW553H-EVAL開發(fā)實踐指南》電子書正式上線! 本書是RT-Thread工程師團隊與兆易創(chuàng)新聯(lián)合推出的評測活動產(chǎn)出,系統(tǒng)梳理了UART、WDG、I2CTIMER、PWM、SPI等基礎(chǔ)外設(shè),到Wi-Fi無線通信的完整驅(qū)動開發(fā)實踐,手把手帶你完成從硬件調(diào)試到無線應(yīng)用部署的完整流程。

本文是《GD32VW553上的UART實踐》。

目錄


開發(fā)環(huán)境搭建


VSCode軟件調(diào)試環(huán)境搭建


芯片資源 - Uart


UART功能調(diào)試


Git鏈接


開發(fā)者貢獻名單

1 開發(fā)環(huán)境搭建

1.1 軟件下載鏈接

RT-Thread 環(huán)境:https://github.com/RT-Thread/rt-thread/tree/master/bsp/gd32/risc-v/gd32vw553h-eval

方案一:可以使用git工具直接拉取RT-Thread整包:git clone https://github.com/RT-Thread/rt-thread.git

方案二:可以直接從git界面下載zip整包,本地解壓;

8463128c-31a0-11f1-ab55-92fbcf53809c.jpg

RT-Thread ENV工具:https://www.rt-thread.org/download.html#download-rt-thread-env-tool

8472970c-31a0-11f1-ab55-92fbcf53809c.jpg

編譯器工具鏈:https://www.gigadevice.com.cn/product/mcu/mcus-product-selector/gd32vw553hmq6

847c9e46-31a0-11f1-ab55-92fbcf53809c.jpg

固件燒錄工具GD32AllInOneProgrammer:https://www.gd32mcu.com/cn/download?kw=GD32+All-In-One+Programmer&lan=cn

848b59e0-31a0-11f1-ab55-92fbcf53809c.jpg

1.2 環(huán)境配置

1.2.1 RT-Thread ENV工具配置

將1.1->第3小節(jié):鏈接中下載的文件拷貝至工作文件夾(此處為筆者習(xí)慣,僅供參考,可跳過);

8496efa8-31a0-11f1-ab55-92fbcf53809c.jpg

打開路徑中的exe文件運行RT-Thread ENV工具,此時該文件會自動配置Windows下的環(huán)境變量;

84a29344-31a0-11f1-ab55-92fbcf53809c.jpg

此處需要注意輸出文件中包含的環(huán)境變量的設(shè)置,當我們解壓并使用后,再次移動軟件位置時,記得將環(huán)境變量同步更改,否則可能會報錯,無法找到pkgs指令;若是不會修改環(huán)境變量,最簡單的解決方案就是刪除當前的ENV整包,然后在需要安裝的位置重新解壓,并運行即可;

當軟件環(huán)境配置完成后,分別運行pkgs —upgrade、pkgs —update,此時觀察倉庫可以發(fā)現(xiàn)倉庫中增加了packages文件夾,里面包含了gd32的lib庫;

84acb5ea-31a0-11f1-ab55-92fbcf53809c.jpg84bbcada-31a0-11f1-ab55-92fbcf53809c.jpg

1.2.2 GD32編譯鏈環(huán)境搭建

對于任意一款芯片的編譯肯定都需要適配交叉編譯工具鏈,一般這部分廠商都有提供,本次需要將交叉編譯工具集成到RT-Thread的環(huán)境中;

由于在第一章1.1已經(jīng)下載好了編譯器工具鏈,首先需要選擇一個自己想要放置編譯鏈的地方解壓工具鏈;

然后在RT ENV環(huán)境下運行下面命令,注意:PTAH=后面跟著的路徑需要改為自己的路徑,下方指令不可直接復(fù)制粘貼使用!下方指令不可直接復(fù)制粘貼使用!下方指令不可直接復(fù)制粘貼使用!

setRTT_EXEC_PATH=E:\GD32\GD32VW5\GD32EmbeddedBuilder_v1.5.4_Rel\Tools\RISC-V Embedded GCC\8.2.0-2.2-20190521-0004\bin

運行完成后,在gd32vw553h-eval的目錄下直接執(zhí)行scons -j128編譯即可;

記得一定要在\rt-thread-master\bsp\gd32\risc-v\gd32vw553h-eval,這個目錄下執(zhí)行,其中j后面跟著的數(shù)字是指使用幾個核進行編譯,可根據(jù)自己的電腦實際性能調(diào)整;

編譯完成后既可以看到文件夾中多了rtthread.bin文件,該文件就是后面需要下載到板卡的二進制文件;

1.3 固件燒錄(直接按照git中完成)

固件燒錄需要使用上述的第一章1.1中下載的GD32AllInOneProgrammer軟件,燒錄說明位于燒錄軟件下的Doc文件夾,或在線搜索使用方法,下述是燒錄的示例:

84c92950-31a0-11f1-ab55-92fbcf53809c.jpg

需要注意的是使用上述軟件燒錄時需要將boot1置為高電平,燒錄結(jié)束后重新設(shè)置為低電平,手動調(diào)整板載的boot跳線帽

運行結(jié)果:燒錄完畢后,使用串口連接自己的串口終端軟件,即可通過串口與開發(fā)板交互;

1.4. 測評結(jié)論

GD32這款板子在環(huán)境搭建上相對還是比較簡單的,基本可以無腦跟著Git中的指引一步步完成開發(fā)環(huán)境的搭建,無需開發(fā)者到處尋找資料;同時搭建開發(fā)環(huán)境所需的軟件包也比較集中,且容易獲??;

2 VSCode軟件調(diào)試環(huán)境搭建

2.1 調(diào)試環(huán)境搭建

配置VSCode調(diào)試環(huán)境,首先在第一章中已經(jīng)下載好了《GD32EmbeddedBuilder》,調(diào)試環(huán)境配置時需要用到該文件夾中的Tools;

84d2fbec-31a0-11f1-ab55-92fbcf53809c.jpg

其次在BSP根目錄下執(zhí)行下述命令,生成VSCode工程所需文件。

scons —target=vs

在VSCode安裝擴展插件Cortex-Debug,版本v1.4.4。

完成上述工作后,點擊運行和調(diào)試選項,創(chuàng)建一個launch.json配置文件,配置文件示例如下:

{"version":"0.2.0","configurations":[ { "name":"Cortex Debug", "cwd":"${workspaceFolder}", "executable":"${workspaceFolder}/rtthread.elf", "request":"launch", "type":"cortex-debug", "servertype":"openocd", "serverpath":"E:/GD32/GD32VW5/Tools/GD32EmbeddedBuilder_v1.5.2.30854/Tools/OpenOCD/xpack-openocd-0.11.0-3/bin/openocd", "configFiles": [ "${workspaceFolder}/openocd_gdlink.cfg" ], "runToEntryPoint":"main", "showDevDebugOutput":"raw", "toolchainPrefix":"E:/GD32/GD32VW5/Tools/GD32EmbeddedBuilder_v1.5.2.30854/Tools/RISC-V Embedded GCC/8.2.0-2.2-20190521-0004/bin/riscv-none-embed" }]}

這里需要注意如果你的${workspaceFolder}工作空間不是當前的路徑,可以自行將${workspaceFolder}相關(guān)的路徑改為自己launch.json的絕對路徑/相對路徑使用;

上述文件中的部分字段需要根據(jù)用戶環(huán)境進行修改,格式需與示例一致:

“serverpath”:該字段需要改為用戶的openocd所在路徑,openocd工具位于GD32EmbeddedBuilder工具包中。

“toolchainPrefix”:該字段需修改為用戶的工具鏈所在路徑,工具鏈位于GD32EmbeddedBuilder工具包中。

完成上述配置后即可點擊調(diào)試選項進行調(diào)試,調(diào)試時boot管腳均置為低電平即可,調(diào)試時同樣會進行固件下載。

2.2 調(diào)試環(huán)境測試

在工程界面點擊Cortex Debug,即可進入調(diào)節(jié)界面;

84ddb2f8-31a0-11f1-ab55-92fbcf53809c.jpg

在調(diào)試界面可以查看變量值、暫停后可以查看當前任務(wù)的調(diào)用棧情況,同時也支持在vscode界面進行斷點操作、單步調(diào)試、Reset等;

84ec3760-31a0-11f1-ab55-92fbcf53809c.jpg

2.3 測評結(jié)論

整體來說調(diào)試環(huán)境搭建非常簡單,但是調(diào)試界面相對于keil、esp-idf、勞德巴赫等其他環(huán)境較為簡陋,不過功能完全足夠開發(fā)者使用;

3 芯片資源 - Uart

芯片采用RISC-V架構(gòu)處理器,適用于低能耗、小面積的嵌入式應(yīng)用,具有簡單的動態(tài)分支預(yù)測、指令預(yù)取緩沖區(qū)和I-cache等多種高效微架構(gòu)特點。

3.1 Uart分布

84f6a254-31a0-11f1-ab55-92fbcf53809c.jpg

根據(jù)芯片架構(gòu)示意圖可以看到,芯片共有三路串口,其中UART2掛載在APB2總線上,USART0和UART1掛載在APB1上;這里需要注意我們在使用不同Uart時,需要初始化對應(yīng)的總線時鐘;

3.2 存儲

RISC-V處理器采用哈弗架構(gòu),可以使用單獨的總線來提取指令和加載/存儲數(shù)據(jù)。程序存儲器,數(shù)據(jù)存儲器,寄存器和I/O端口組織在同一線性4GB(32位芯片)地址空間內(nèi)。具體的存儲器映射表可以查看《GD32VW55x_用戶手冊_Rev1.4.pdf》第1.3節(jié);

Uart地址空間

USART0:0x4000 4800 - 0x4000 4BFF

UART1:0x4000 4400 - 0x4000 47FF

UART2:0x4001 1000 - 0x4001 13FF

Ram段

85011216-31a0-11f1-ab55-92fbcf53809c.jpg

代碼段

850c7fde-31a0-11f1-ab55-92fbcf53809c.jpg851ba4e6-31a0-11f1-ab55-92fbcf53809c.jpg

其中我們主要關(guān)注和使用較多的就是主存儲0x0800 0000 - 0x083F FFFF和0x0BF4 0000 - 0x0BF7 FFFF ROM區(qū)間;

根據(jù)芯片的引導(dǎo)配置章節(jié)可以看出,該芯片將Bootload、secure boot分別放在了ROM段0x0BF40000、0x0BF46000作為起始地址,本地代碼一般放在了起始地址0x08000000的主存儲區(qū);

3.3 USART 模塊內(nèi)部框圖

85248a2a-31a0-11f1-ab55-92fbcf53809c.jpg

從模塊內(nèi)部框圖可以看出,Uart的讀寫操作主要都是在讀/寫緩沖區(qū)完成,用戶可以通過CPU在串口傳輸完成后直接讀取讀緩沖區(qū)的內(nèi)容,或像寫緩沖區(qū)寫入數(shù)據(jù),配置控制/狀態(tài)寄存器及中斷完成Uart的讀寫操作;

從圖中同樣可以看到該芯片Uart支持DMA直接將緩沖區(qū)數(shù)據(jù)搬入/出;

讀寫緩沖區(qū)分別對應(yīng)Uart的數(shù)據(jù)接受/發(fā)送寄存器,同時FIFO的控制/狀態(tài)獲取,主要依賴于FIFO控制和狀態(tài)寄存器;

同時芯片支持硬件流控功能,可通過nCTS和nRTS引腳來實現(xiàn)。通過將USART_CTL2寄存器中RTSEN位置1來使能RTS流控,將USART_CTL2寄存器中CTSEN位置1來使能CTS流控。

8531e832-31a0-11f1-ab55-92fbcf53809c.jpg

GD32vw553 引腳映射關(guān)系

853f17aa-31a0-11f1-ab55-92fbcf53809c.jpg

測試階段暫時將PA2/3作為UART1的收發(fā)引腳,PA6/7作為UART2的收發(fā)引腳;

4 UART功能調(diào)試

4.1 測試環(huán)境

Demo中僅使能了UART0一路串口,首先需要測試3路串口是否均可使用,可以在RTT的menuconfig中將UART1/2使能;

使能后會出現(xiàn)宏定義相關(guān)的報錯,此時需要修改drv_usart.c文件,由于GD32vw55x的另外兩路都是UART,drv中寫死的USART宏并不適用,臨時改為UART1/UART2,重新編譯可成功編譯;

85496a70-31a0-11f1-ab55-92fbcf53809c.jpg

單步調(diào)試查看調(diào)用棧,可以發(fā)現(xiàn)在程序啟動后會首先調(diào)用board.c中的rt_hw_board_init,另外在rt_hw_board_init中已經(jīng)初始化了board.c UART數(shù)組中的所有串口,我們可以在后續(xù)直接測試UART1/2的功能;

8555d044-31a0-11f1-ab55-92fbcf53809c.jpg

RTT中main其實只是一個Task,并不像裸機開發(fā)那樣時start.s跳轉(zhuǎn)出的首個函數(shù);

855fde90-31a0-11f1-ab55-92fbcf53809c.jpg

我們可以在main task中調(diào)用uart API發(fā)送/接收數(shù)據(jù);

856d0692-31a0-11f1-ab55-92fbcf53809c.jpg

4.3 Tx/Rx 功能測試結(jié)果

由下圖可以看到UART1/2均可正常使用,且中斷可被正常觸發(fā);

857a0590-31a0-11f1-ab55-92fbcf53809c.jpg

依然是上述代碼,將Uart2的Tx接入Uart1的Rx,可以看到打印如下:

8582dbb6-31a0-11f1-ab55-92fbcf53809c.jpg

同理可測Uart2的接收功能;

5 Git鏈接

https://gitee.com/zhang-haitao-1/gd32vw553h-test

6 開發(fā)者貢獻名單

《兆易創(chuàng)新GD32VW553H-EVAL開發(fā)實踐指南》包含的內(nèi)容以及對應(yīng)的貢獻者如下,感謝各位小伙伴的支持與貢獻!

858e7ee4-31a0-11f1-ab55-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5206

    文章

    20572

    瀏覽量

    336143
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1318

    瀏覽量

    106884
  • 兆易創(chuàng)新
    +關(guān)注

    關(guān)注

    24

    文章

    725

    瀏覽量

    84025
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    434

    瀏覽量

    27520
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于RISC-V的創(chuàng)新GD32VW553系列全新WiFi6 MCU亮相

    基于RISC-V的創(chuàng)新GD32VW553系列全新WiFi 6 MCU亮相 2023年10月17日業(yè)界領(lǐng)先的半導(dǎo)體器件供應(yīng)商
    發(fā)表于 10-17 18:31 ?1632次閱讀
    基于RISC-V的<b class='flag-5'>兆</b><b class='flag-5'>易</b><b class='flag-5'>創(chuàng)新</b><b class='flag-5'>GD32VW553</b>系列全新WiFi6 MCU亮相

    創(chuàng)新推出GD32VW553系列Wi-Fi 6 MCU

    業(yè)界領(lǐng)先的半導(dǎo)體器件供應(yīng)商創(chuàng)新GigaDevice(股票代碼603986)宣布,正式推出基于RISC-V內(nèi)核的GD32VW553系列雙模無線微控制器。
    的頭像 發(fā)表于 10-27 08:24 ?1454次閱讀
    <b class='flag-5'>兆</b><b class='flag-5'>易</b><b class='flag-5'>創(chuàng)新</b>推出<b class='flag-5'>GD32VW553</b>系列Wi-Fi 6 MCU

    GD32VW553認證測試指南應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《GD32VW553認證測試指南應(yīng)用說明.pdf》資料免費下載
    發(fā)表于 12-14 10:10 ?0次下載
    <b class='flag-5'>GD32VW553</b>認證測試指南應(yīng)用說明

    GD32VW553系列的研制射頻硬件指南應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《GD32VW553系列的研制射頻硬件指南應(yīng)用說明.pdf》資料免費下載
    發(fā)表于 12-14 10:13 ?0次下載
    <b class='flag-5'>GD32VW553</b>系列的研制射頻硬件指南應(yīng)用說明

    GD32VW553 AT命令用戶指南

    電子發(fā)燒友網(wǎng)站提供《GD32VW553 AT命令用戶指南.pdf》資料免費下載
    發(fā)表于 12-14 09:53 ?0次下載
    <b class='flag-5'>GD32VW553</b> AT命令用戶指南

    GD32VW553 BLE開發(fā)指南應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《GD32VW553 BLE開發(fā)指南應(yīng)用說明.pdf》資料免費下載
    發(fā)表于 12-14 09:55 ?0次下載
    <b class='flag-5'>GD32VW553</b> BLE開發(fā)指南應(yīng)用說明

    GD32VW553系列開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《GD32VW553系列開發(fā)指南.pdf》資料免費下載
    發(fā)表于 02-19 10:53 ?1次下載
    <b class='flag-5'>GD32VW553</b>系列開發(fā)指南

    AN146 GD32VW553認證測試指南

    電子發(fā)燒友網(wǎng)站提供《AN146 GD32VW553認證測試指南.pdf》資料免費下載
    發(fā)表于 01-17 14:39 ?0次下載
    AN146 <b class='flag-5'>GD32VW553</b>認證測試指南

    AN154 GD32VW553快速開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《AN154 GD32VW553快速開發(fā)指南.pdf》資料免費下載
    發(fā)表于 01-17 15:39 ?15次下載
    AN154 <b class='flag-5'>GD32VW553</b>快速開發(fā)指南

    AN151 GD32VW553 AT指令用戶指南

    電子發(fā)燒友網(wǎng)站提供《AN151 GD32VW553 AT指令用戶指南.pdf》資料免費下載
    發(fā)表于 01-17 15:26 ?1次下載
    AN151 <b class='flag-5'>GD32VW553</b> AT指令用戶指南

    AN153 GD32VW553基本指令用戶指南

    電子發(fā)燒友網(wǎng)站提供《AN153 GD32VW553基本指令用戶指南.pdf》資料免費下載
    發(fā)表于 01-17 15:22 ?0次下載
    AN153 <b class='flag-5'>GD32VW553</b>基本指令用戶指南

    AN152 GD32VW553 BLE開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《AN152 GD32VW553 BLE開發(fā)指南.pdf》資料免費下載
    發(fā)表于 01-17 15:19 ?2次下載
    AN152 <b class='flag-5'>GD32VW553</b> BLE開發(fā)指南

    嘗鮮體驗,創(chuàng)新GD32VW553 無線MCU評測活動開啟!技術(shù)解決方案深度評測,直播預(yù)約中 | 社區(qū)活動

    創(chuàng)新已對GD32VW553系列MCU進行了RT-Thread的適配。為助力開發(fā)者快速上手,社區(qū)聯(lián)合
    的頭像 發(fā)表于 12-25 14:58 ?1552次閱讀
    嘗鮮體驗,<b class='flag-5'>兆</b><b class='flag-5'>易</b><b class='flag-5'>創(chuàng)新</b><b class='flag-5'>GD32VW553</b> 無線MCU評測活動開啟!<b class='flag-5'>技術(shù)</b>解決方案深度評測,直播預(yù)約中 | 社區(qū)活動

    【直播預(yù)告】創(chuàng)新 GD32VW553 系列產(chǎn)品直播解讀,重磅來襲! | 問學(xué)直播

    創(chuàng)新已基于RT-Thread操作系統(tǒng),完成對GD32VW553系列芯片的適配!為了讓開發(fā)者掌握其強大的無線連接能力與開發(fā)實戰(zhàn)技巧,RT-Thread聯(lián)合
    的頭像 發(fā)表于 12-30 16:59 ?784次閱讀
    【直播預(yù)告】<b class='flag-5'>兆</b><b class='flag-5'>易</b><b class='flag-5'>創(chuàng)新</b> <b class='flag-5'>GD32VW553</b> 系列產(chǎn)品直播解讀,重磅來襲! | 問學(xué)直播

    基于 RT-Thread 和創(chuàng)新GD32F527的CAN總線監(jiān)視器 | 技術(shù)集結(jié)

    【適配新進展】創(chuàng)新與RT-Thread的適配大家庭又添新成員啦!GD32VW553現(xiàn)已正式完成適配,并在社區(qū)開發(fā)者的協(xié)作下完成了電子書《GD32
    的頭像 發(fā)表于 03-05 10:04 ?180次閱讀
    基于 RT-Thread 和<b class='flag-5'>兆</b><b class='flag-5'>易</b><b class='flag-5'>創(chuàng)新</b><b class='flag-5'>GD</b>32F527的CAN總線監(jiān)視器 | <b class='flag-5'>技術(shù)</b><b class='flag-5'>集結(jié)</b>