CH32V003
沁恒最近推出的低價CH32V003系列, 基于青稞RISC-V2A內核, 48MHz主頻, 2KB SRAM, 16KB Flash, 作業電壓兼容3.3V和5V. 主要引數如下
- System Clock: 48MHz
- SRAM: 2KB
- Flash: 16KB
- Power Supply: 3.3/5V
- 多種低功耗模式: 睡眠, 待機
- 上/下電復位, 可編程電壓檢測器
- DMA: 1組1路通用
- 運放比較器: 1組
- ADC: 1組10位
- Timer: 1個16位高級, 1個16位通用
- WDG: 2個看門狗定時器和1個32位系統時基定時器
- USART: 1
- IIC: 1
- SPI: 1
- I/O: 18
- UUID: 64bit
- Debug port: 1-wire serial (SWDIO)
- Package: TSSOP20, QFN20, SOP16, SOP8

硬體部分
開發板

- 典型的WCH風格開發板, 土綠+密集的過孔+不計面積走長線.
- 有開關, 但是沒有專門的燒錄口, 燒錄是通過右邊一排的 VCC, GND, PD1(SWDIO) 連接的.
- 三顆LED, 一顆電源指示, 兩顆未連接但是有排針, 可以自己用跳線連到其他pin口方便觀察輸出
燒錄器 WCH-Link

CH32V003的燒錄需要使用新出的WCHLink, 芯片是CH32V30x的這種, 據說舊的不支持但是我沒實際測過.
軟體部分
Win10下的開發環境是比較簡單的, 軟體就是MounRiver, 版本v1.82, 下載地址 http://mounriver.com/download
軟體集成了代碼編輯, 編譯環境和燒錄工具. 直接安裝即可. 因為是基于 Eclipse 開發, 使用體驗還不錯.
注意要使用較新的版本, 舊版本不支持 CH32V003, 編譯會報錯 riscv-none-embed/bin/ld.exe: cannot find -lprint
MounRiver的使用說明參考官方專欄, 介紹得較為詳細
運行LED閃燈示例代碼
下面以最簡單的GPIO示例走一遍編譯燒錄的程序
連線
開發板 ---> WCHLink, 注意如果已經通過PC的USB口連接了開發板, 就不要連WCHLink VCC, 如果連了WCHLink VCC, 就不要接USB口
- VCC -> 3V3
- GND -> GND
- PD1 -> SWDIO
開發板本身
- 連接一個LED到 PD0, 用于觀察PD0的輸出
編譯專案
下載示例代碼: https://www.wch.cn/downloads/CH32V003EVT_ZIP.html
解壓后, 在MounRiver中 File -> Load -> Project, 打開 EVT\EXAM\GPIO\GPIO_Toggle目錄下的 GPIO_Toggle.wvproj
按 Shift + F7 或通過工具列按鈕編譯即可. 編譯正常會顯示
07:29:58 **** Build of configuration obj for project GPIO_Toggle ****
make -j4 all
text data bss dec hex filename
3396 40 520 3956 f74 GPIO_Toggle.elf
07:30:02 Build Finished. 0 errors, 0 warnings. (took 4s.306ms)
示例專案中默認的構建結果為 bin 檔案, 編譯結束后在 obj 目錄下能看到 GPIO_Toggle.bin, 但是沒有 GPIO_Toggle.hex, 與專案預設的燒錄目標 (hex) 不同, 為避免后面報錯, 需要將編譯輸出修改為 hex:
- 專案樹中選中當前專案
- 選單 Project -> Properties
- 對話框 C/C++ Build -> Settings -> GNU RISC-V Cross Create Flash Image -> General
- 對話框 Output file format (-O): 將 Raw Binary 修改為 Intel HEX
再次編譯后, 在 obj 目錄下就能看到生成的 GPIO_Toggle.hex 檔案
燒錄
選單 Flash -> Config, 點擊第一個圖示 Query Status 查詢芯片狀態, 連接成功后底下會顯示0000#07:48:33:283>> Query Success, 同時會顯示紅色的Code Read-Protect Status Disabled或綠色的Code Read-Protect Status Enabled, 紅色的表示讀保護關閉, 這時候可以燒錄, 如果是綠色表示讀保護打開, 需要關閉后才能燒錄. 下面 Target 中會顯示檢測到的MCU型別, 寫入開始地址 0x08000000, 以及要寫入的檔案 obj\GPIO_Toggle.hex
以上無誤后, 應用保存, 按 F8 或點擊工具列圖示燒錄, 燒錄程序輸出
------------ Begin flash process of "obj\GPIO_Toggle.hex" ------------
07:59:24:625 >> Current project vendor is WCH, debugger is WCH-Link
07:59:24:626 >> Attempt to open device and upgrade firmware if necessary...
07:59:24:629 >> WCH-Link no need to upgrade. Already the latest version.
07:59:24:711 >> Starting to Send Chip Type...
07:59:24:772 >> Send Chip Type Success
07:59:24:772 >> Starting to Check Read-Protect Status...
07:59:24:773 >> Read-Protect Status Currently Disabled
07:59:24:773 >> Starting to Erase All...
07:59:24:781 >> Erase All Success
07:59:24:841 >> Starting to Download & Verify...
07:59:25:278 >> Download & Verify Success
07:59:25:278 >> Starting to Reset...
07:59:25:295 >> Reset Success
07:59:25:295 >> Starting to Close Link...
07:59:25:296 >> Close Link Success
---------------------------------End ---------------------------------
Operation Finished (took 0s.672ms)
燒錄成功后就能看到連接的LED開始閃爍
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/523008.html
標籤:其他
