CH32F203系列微控制器作為COTEX-M3的成員,是市面難得的一款同時(shí)兼顧價(jià)格優(yōu)勢(shì)和兼容市面XXX32功能的國(guó)產(chǎn)微控制器產(chǎn)品,它足以讓我們不必為價(jià)貴而煩惱,不必為貨缺而擔(dān)憂(yōu),基于此,本次淺談如何快速上手CH32F203。
?
一、硬件基礎(chǔ)
??CH32F203雖然在功能上比XXX32F103有所增加和加強(qiáng),但其外設(shè)和硬件在設(shè)計(jì)上還是兼容市場(chǎng)上主流的微控制器xx32F103, 比如: CH32F203RCT6的引腳數(shù)量、內(nèi)存空間、焊接封裝和XXX32F103RCT6完全一致,且都是工業(yè)級(jí)產(chǎn)品, CH32F203C8T6 和XX32F103C8T6之間的關(guān)系也是如此。因此在常用功能上(加強(qiáng)功能點(diǎn)擊?CH32F203與其它COTEX-M3的差異)硬件上可以零改動(dòng),直接用CH32F203微控制器替換XXX32F103實(shí)現(xiàn)快速生產(chǎn)是可能的。CH32F203的主頻最高可支持144M,性能上可以遠(yuǎn)超同后綴的XXX32F103的72M主頻。
二、軟件代碼
由于CH32F203其外設(shè)和硬件兼容了XXX32F103,所以在不使用增強(qiáng)功能的情況下,完全可以直接使用原來(lái)的XXX32F103代碼,雖然CH32F203有自己的庫(kù),但用XXX32F103代碼在CH32F203微控制器上運(yùn)行XXX32F103原來(lái)的功能完全不在話(huà)下,筆者直接下載XXX32F103的Hex文件,直接就正常運(yùn)行。 因此只要不涉及到特殊功能(點(diǎn)擊?CH32F203與其它COTEX-M3的差異),在CH32F203上運(yùn)行XXX32F103的代碼上可以實(shí)現(xiàn)零改動(dòng),當(dāng)然CH32F203也提供了自身的軟件庫(kù)方便客戶(hù)使用。
?
三、FLASH算法和調(diào)試(KEIL下SWD調(diào)試)
? CH32F203系列支持SWD,可支持WCH-Link等仿真器最好選在keil環(huán)境下下載,CH32F203與仿真器的SWD引腳連接是SWCLK-SWCLK、SWDIO-SWDIO、GND-GND、3V3-3V3(有的仿真器需要連接)
? CH32系列MCU可以使用keil下載和調(diào)試之前XXX32F103的代碼,首先需要將keil下CH32F203設(shè)置算法,即點(diǎn)擊下載“CH32F2_CH57X_FLM”將“CH32F2xx.FLM”文件拷貝到Keil(或相應(yīng)安裝目錄)\ARM\Flash,如下圖所示:
?
?? ??
? ?首先確認(rèn)WCH-Link(建議使用)調(diào)試仿真器在電腦設(shè)備管理器端口(COM和LPT)中顯示 WCHDapLink SERIAL(COM?),表示當(dāng)前為Cotex-M3調(diào)試仿真器,可直接進(jìn)行下面的操作,如果顯示為WCH-LinkRV SERIAL(COM?)表明當(dāng)前為RISC-V的調(diào)試仿真器,需要短接仿真器的TX和GND引腳后重新插到電腦(這種方式可以切換WCH-LinkRV和WCHDapLink),識(shí)別為WCHDapLink SERIAL(COM?)方可進(jìn)行CH32F203的SWD仿真下載。
其次選擇“Options for Target”進(jìn)入到如下界面,選擇自己對(duì)應(yīng)的調(diào)試工具如本次以WCH-Link點(diǎn)擊Setings,如下圖所示:
? ? ? ??
? ? ? ??然后點(diǎn)對(duì)話(huà)框的Debug如下圖界面,選擇SW模式(該芯片只能選SW模式),當(dāng)SW Device的IDCODE出現(xiàn)后表示仿真器和設(shè)備已經(jīng)連接正常,否則需要檢查相應(yīng)的仿真器和板子的狀態(tài)。
?進(jìn)入如下界面后點(diǎn)擊Flash Download,進(jìn)入如下左側(cè)界面后點(diǎn)擊Add,出現(xiàn)下圖右側(cè)會(huì)話(huà)框后,選擇點(diǎn)擊CH32F2xx.FLM后點(diǎn)Add即完成了CH32微控制器Flash的設(shè)置。
?特別注意“RAM for Algorithm”的Size設(shè)置(SRAM為20K填0x5000、SRAM為32K填0x8000、SRAM為64K填0x10000),例如:之前的Size 0x800或0x1000,一定要改到0x5000或以上,F(xiàn)203C8T6的SRAM為20K(0x5000)。
??
?
? ? ? ? ??如果Programming Algorithm還有其它多余型號(hào)的Flash算法驅(qū)動(dòng),請(qǐng)用上圖“6 Add”右邊的“Remove”去掉多余的FLASH算法驅(qū)動(dòng),結(jié)果如下圖:?
四、ISP下載方式(支持USB和串口下載)
? ? ? ??使用點(diǎn)擊下載“WCHISPTool下載軟件”mcu下載工具下載程序,支持USB 和串口兩種方式。MCU對(duì)應(yīng)的串口管腳PA9(TX)、PA10(RX),USB管腳查看相應(yīng)型號(hào)對(duì)應(yīng)可用于下載的USB引腳。
1)? BOOT0接VCC,BOOT1接地,將MCU通過(guò)串口或USB連接到電腦。
2)?打開(kāi)WCHISPTOOl工具,選擇相應(yīng)的MCU系列、對(duì)應(yīng)型號(hào)、下載方式、勾選下載配置等點(diǎn)下載。
3)?BOOT0接地,重新上電,開(kāi)始運(yùn)行代碼。
WCHISPTOOL工具操作流程如下圖所示
? ?注意事項(xiàng)1:以下第4步適用于Flash+RAM=220K的MCU型號(hào)例如:“CH32F203RCT6”和“CH32F203VCT6”可以選擇配置RAM和ROM的空間。
? ?注意事項(xiàng)2:當(dāng)成功下載一次后,希望后續(xù)連續(xù)下載到多個(gè)目標(biāo)板,只需要重復(fù)下圖的8,9,10,11的步驟即可。
五、J-FLASH下載(有時(shí)不是很好用)
? ? ? ? ?CH32系列MCU可以支持J-FLASH(V6以上版本)下載,可以點(diǎn)擊下載“支持CH32F/CH579的JLINK FLASH的軟件和方法”查看具體操作,里面包含軟件和詳細(xì)的使用說(shuō)明,可供您參考,如果之前的低版本(V6以下)不支持該功能,請(qǐng)卸載重新安裝本次下載的軟件(永遠(yuǎn)只保留一個(gè)可用的J-flash軟件),為保證項(xiàng)目進(jìn)行順利請(qǐng)建議直接使用WCH-Link調(diào)試使用脫機(jī)燒錄量產(chǎn)。
六、脫機(jī)燒錄
? 脫機(jī)燒錄可以使用官方的32位專(zhuān)用脫機(jī)燒錄器,可以點(diǎn)擊下載“WCH 脫機(jī)燒錄下載工具和說(shuō)明”查看具體操作方法,可直接咨詢(xún)浩然電子相關(guān)銷(xiāo)售人員或浩然的線上商城購(gòu)買(mǎi)脫機(jī)燒錄下載器。
七、使用CH32F203的軟件庫(kù)
? ?
備注: 目前兼容推薦的有CH32F203C8T6、CH32F203CBT6、CH32F203RCT6、CH32F203VCT6、CH32F207VCT6(網(wǎng)絡(luò))、CH32F208RBT6(藍(lán)牙),CH32F203完美兼容CH32F103的功能,優(yōu)化了CH32F103的潛在問(wèn)題,且貨源充足,價(jià)格實(shí)惠,所以CH32F103不推薦使用。
? ? ? ? ? 從長(zhǎng)遠(yuǎn)考慮更推薦直接使用開(kāi)源沒(méi)有版權(quán)限制的RISC-V架構(gòu)(你懂得)的?CH32V103C8T6、CH32V103R8T6、CH32V203C8T6、CH32V303C8T6、CH32V303CBT6、CH32V303RBT6、CH32V303RCT6、CH32V303VCT6、CH32V307VCT6(網(wǎng)絡(luò))、CH32V208RBT6(藍(lán)牙)等, V系列與F系列軟硬件兼容,只需Mounriver 開(kāi)發(fā)環(huán)境配專(zhuān)用WCH-LINK調(diào)試工具即可輕松切換 。
。