話說本人使用的是GD32F103VCT6(或GD32F103VET6),采用SWD燒寫的方式,確實一直用的好好的。但是,量產的多少,總會出現一些意想不到的情況,比如引出SWD燒寫口的焊盤脫落了,或者因為靜電等原因造成SWD無法燒錄,又或者是出現“Programming error@:0x00000000”的情況。這個時候,只是一味地采用SWD燒寫的方式,就有點無能為力了。

眾所周知,可以使用串口給STM32燒寫程序,只需設置成Boot0=1,Boot1=0,使用flash_loader_demonstrator這個小工具即可。那么,GD32是否也可以這么做呢?查看了電路圖,我的電路板剛好USART1頁引出來了。馬上去試試唄。

1、采用FlyMcu工具,測試是不行,識別不了GD32芯片。

2、是不是GD32有自己專用的串口燒寫工具呢?網上一搜索,確實如此,那就是:GigaDevice MCU ISP Programmer。
3、采用GigaDevice MCU ISP Programmer給GD32燒寫程序:
(1)打開軟件:分明是欺負我的筆記本屏幕有點小啊,算了,忍了。

識別出串口為“COM15”,波特率不要選擇太高,這里選擇“115200”。點擊“Next”,會彈出下面界面:

(2)繼續點擊“Next”,會出現下面界面:

能夠自動識別出芯片型號,我這里的芯片型號是“GD32F103VCT6”。繼續點擊“Next”,會出現下面界面:

勾選“Download to Device”,添加要燒錄的hex文件,勾選上“Erase necessary pages”和“Verity after download”,點擊“Next”即可。
(3)此時會出現下面的界面,說明正在燒寫程序:

(4)出現下面的界面,表示燒寫成功。

可以看出,燒寫過程還是挺方便、挺快捷的。
這樣就完成了幾塊電路板的修復,還是挺不錯的。
關鍵字:串口 GD32 燒寫程序
引用地址:
如何使用串口來給GD32燒寫程序
推薦閱讀最新更新時間:2025-04-24 15:27
走進STM32世界之Hex程序燒寫
在光立方活動中,有少部分網友提出不會將HEX程序燒錄至STM32芯片內,也為了早就想開始的STM32系列基礎教程,在北京的這個雨夜開始 走進STM32世界 。 多數51單片機(STC系列單片機)的初學者都知道,在51單片機初上電時,可以通過PC機上位機軟件將程序引導至bootloader,從而將新程序的hex文件下載至單片機中,完成程序的升級或是更新。在32位Cortex-M3內核下的STM32單片機也是可以做到的。這個上位機軟件叫做 Flash loader demonstrator ;短接boot0與VCC后,再次復位即進入到升級模式(System memory boot loader)。 我們需要先下載芯片燒錄工具軟件Fla
[單片機]
GD32 Timer定時器周期時間計算公式
有小伙伴反饋GD32 Timer定時器的周期時間不知如何計算,今天就來安排。 我們分成兩個系列來講解——GD32F30x和GD32F4xx系列。 一、GD32F30x系列 要想計算Timer的周期時間,首先要知道Timer的時鐘頻率,看時鐘頻率當然就要看時鐘樹啦,在時鐘樹的右下方就標注了Timer的時鐘頻率。 我們把圖放大,可以看到Timer1,2,3,4,5,6,11,12,13的時鐘源來自于CK_APB1,Timer0,7,8,9,10來自于CK_APB2。而CK_APB1和CK_APB2最高的頻率為60M和120M,那這兩類Timer的時鐘頻率是不是就是60M和120M呢? 答案是否定的。我們來看下圖方框中的
[單片機]
GD32 MCU ISP失敗的原因
玩過GD32的小伙伴們都知道,GD32 MCU支持ISP,即在系統編程,前面的常見問題也給大家講過什么是ISP,什么是IAP? 那有沒有小伙伴遇到過ISP失敗的情況,失敗的原因是什么呢? 我們就以GD32F30x系列為例,來看下用戶手冊: 通過將BOOT0拉高,BOOT1拉低,上電后,MCU則工作在ISP模式,此時可以通過ALL-IN-ONE軟件(或用戶自行開發的上位機軟件)對MCU進行編程、操作選項字節、flash數據回讀等操作,使用的是以下口: 如果用的是容量不超過512K的GD32F303系列(HD產品),則使用USART0(PA9 PA10)進行ISP交互,如果是超過512K的GD32F303系列(XD產
[單片機]
GD32F303標準庫開發:Keil5新建GD32標準庫工程
新建GD32工程 步驟1:創建工程模板文件 新建一個文件夾,命名為:GD32 在文件夾GD32里面新建四個文件夾 (1)CMSIS: 存放內核驅動程序和啟動引導文件 (2)FWLIB:存放庫函數文件 (3)Project:存放工程文件 (4)User: 存放用戶程序(主函數) 具體效果圖如下: 步驟2:導入GD32固件庫 GD32標準固件庫下載鏈接 1. 打開GD32F30x固件庫文件 其中需要用到的兩個文件:Firmware 和 Template。 2. 導入文件到 CMSIS 文件 (1)導入內核驅動程序 GD32F30x_Firmware_Library_V2.1.3FirmwareCMSIS 中的 4 個
[單片機]
STM32 HAL庫關于串口中斷燒錄程序后可以正常運行
1、情景描述: 最近在做一個項目,X86的上位機通過串口控制MCU,使用串口中斷接收上位機數據時,MCU在上電的情況下燒錄程序,可以正常接收上位機的數據,在斷電重啟后,一直進入不了中斷回調函數,上電的情況是X86上電,MCU也同時上電。 2、原因分析: 造成這個的原因是因為硬件上電的時候,因為X86跟MCU是同時上電的,上電后會把串口的電平拉高,這個高電平觸發了MCU的串口中斷,導致MCU的串口中斷誤以為接收到了一個數據,例如 HAL_UART_Receive_IT(&huart1, (uint8_t *)Rx_buff, 5) 這里,上電后MCU誤以為接收了一個數據,還剩下4個數據沒有接收,然后上位機每次發送5個數據過來后M
[單片機]
【STM32調試(一)】串口發送像素,上位機解析顯示
一、思路 STM32采集OV數據,數據尺寸是QVGA(320*240),RGB565數據格式。采集的FIFO數據是一個像素,占兩個字節。每采集一個像素就向串口發送一個像素。上位機是一個串口助手,接收串口數據,將一個RGB565格式像素解析為RGB55格式并顯示在上位機。 二、STM32采集數據發送 2.1、OV7725模組 我們使用正點原子的例程進行修改,在接線時注意將數據線綁在一起,其它線綁在一起,以防發生數據干擾。 我們使用正點原子的例程進行修改,在接線時注意將數據線綁在一起,其它線綁在一起,以防發生數據干擾。 我買的OV7725攝像頭是帶FIFO的,因為 OV7725 的像素時鐘(PCLK)最高可達 24Mhz,我們用S
[單片機]
單片機怎樣才能不死機之串口Overrun
閑言少敘,先上Code,大家看一下下面這段代碼有沒有問題? // Note: USART demo code runs on STM32F030#include “main.h” static __IO uint32_t TimingDelay; RCC_ClocksTypeDef RCC_Clocks; uint8_t uart_buffer[100]; // GPIO Configurationvoid GPIO_Configuration(void){ GPIO_InitTypeDef GPIO_InitStructure; GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_1
[單片機]
基于STM32模擬UART串口通信
UART工作原理 UART即通用異步收發器,是一種串行通信方式。數據在傳輸過程中是通過一位一位地進行傳輸來實現通信的,串行通信方式具有傳輸線少,成本底等優點,缺點是速度慢。串行通信分為兩種類型:同步通信方式和異步通信方式。 但一般多用異步通信方式,主要因為接受和發送的時鐘是可以獨立的這樣有利于增加發送與接收的靈活性。異步通信是一個字符接著一個字符傳輸,一個字符的信息由起始位、數據位、奇偶校驗位和停止位組成。 每一個字符的傳輸靠起始位來同步,字符的前面一位是起始位,用下降沿通知收方開始傳輸,緊接著起始位之后的是數據位,傳輸時低位在前高位在后,字符本身由5~8位數據位組成。 數據位后面是奇偶校驗位,
[單片機]