CH32V103學習筆記之一——認識開發(fā)環(huán)境
1、前言
??? 前些天看到WCH沁恒微電子發(fā)布的“首屆RISC-V MCU創(chuàng)新應用邀請賽”通告,活動獎品豐富,報名參與還送基于RISC-V架構的的學習板。那還猶豫什么,登記報名參加。昨天包郵送的板子終于寄到了。我選的板載MCU是CH32V103R8T6的學習板,長下面這個樣子。

2、硬件資源
2.1、CH32V103系列MCU硬件資源
????CH32V103R8T6是以RISC-V3A處理器為核心的32位通用微控制器,基于RISC-V開源指令集設計。片上集成了時鐘安全機制、多級電源管理、通用DMA控制器,具有1路USB2.0主機/設備接口、多通道12位ADC轉換模塊、多通道TouchKey、多組定時器、多路IIC/USART/SPI接口等豐富的外設資源。

2.2、學習板硬件資源
????CH32V103R8T6學習板包含WCH-Link和CH32V103R8T6最小評估板兩部分,可分別獨立使用(斷開J2處的跳線帽,下圖示“SWD&UART接口”)。
????WCH-Link是基于CH549G主控的下載調試器,用于下載調試具有SWD接口的ARM芯片和沁恒微電子推出的RISC-V系列MCU(目前支持CH32V103、CH32F103、CH569、CH573等系列產品),包含一個虛擬串口可用來接發(fā)調試信息。
????CH32V103R8T6最小系統(tǒng)板引出全部I/O接口,板載復位按鍵,一個USB Type-C,一個USB Type-A接口,兩個用戶編程LED,一個用戶編程按鍵。用戶按鍵和LED默認未接入任何I/O。


3、集成開發(fā)環(huán)境(IDE)
????IDE使用MounRiver Studio(MRS),一款針對RISC-V和ARM兩類MCU開發(fā)的嵌入式集成開發(fā)環(huán)境。MounRiver Studio由MounRiver團隊基于GNU Eclipse深度定制而成,提供了包括定制版GCC、宏匯編、鏈接器、調試器、下載器等在內的完整開發(fā)資源。
????下載鏈接:http://www.mounriver.com/download,提供Windows和Linux平臺的工具包。
????MounRiver Studio目前是免費使用!免費使用!免費使用!

4、初探MounRiver Studio
????安裝軟件的過程就不截圖說明了,基本也就一路下一步,也沒有什么需要配置選擇的選項。MounRiver Studio自帶支持的MCU的工程模板,不用動手去費很大功夫配置各種工具鏈。下面介紹怎么使用自帶的模板建立第一個工程。
1.打開MRS軟件,按下圖操作

2.在彈出的新建工程選項窗口中依次輸入“工程名”(不要出現漢字,會導致編譯生成的文件無法下載調試),指定工程路徑,選擇對應的MCU,再點擊“完成”就會生成一個已經配置好工具鏈的工程了。

3、展開資源管理器中剛新建的工程,就能看到創(chuàng)建的工程中的各種文件。熟悉keil開發(fā)arm內核MCU流程的朋友看到這些文件應該就不陌生了。

4、編譯工程,方法有多種,自己選擇習慣的一種即可



5、編譯完成之后,工程項目樹會生成一個名為“obj”的文件夾,展開后可以發(fā)現一個和工程名稱相同的hex文件,這個文件就是編譯生成的文件。

6、下載程序前準備工作。首先將BOOT0和GND使用跳線帽短接,DIO、CLK、RX和TX四處的短接帽保持不動,插入數據線,打開S3電源開關。WCH-Link板一側的PWR和RUN指示LED會常亮,評估板上的PWR指示LED會常亮。

7、下載程序
????點擊“閃存”-“下載配置”。

????在彈出的下載配置窗口中點擊“查詢讀保護狀態(tài)”按鈕(第一次下載前檢查一次即可)

????????如果顯示“代碼讀保護已解除”,即為正常可下載狀態(tài)。如顯示“已鎖定”,點擊“解除讀保護”。
????檢查“芯片型號”和“編程地址”(這兩項如果新建工程是選擇的對應芯片保持默認即可),以及“目標文件”(著重檢查這里的hex文件名稱是否和當前工程文件名稱一致,編譯的最新hex文件保持與最新的工程文件名稱一致),設置完成點擊“保存并關閉”。

????點擊“下載”按鈕,WCH-Link一側的CON指示LED會閃爍,MRS控制臺會顯示下載進度


8、查看輸出信息。
????如果串口調試助手未在下載開始前打開設置好,則不會收到下圖信息。此時也不用重新下載,只需要按下評估板一側的RST復位按鍵就可以正常接收到下圖信息。

5、小結
????到這里,CH32V103的開發(fā)環(huán)境搭建就介紹完了,后續(xù)我會記錄更多有意思的學習過程。小伙伴們如果對我介紹的流程有什么疑惑,歡迎留言討論。
