使用技巧1
Debug時,看不到外設寄存器選項,如下圖:
原因及方法:未添加SVD文件路徑,需添加SVD文件路徑。CH32V103、CH32V307對應文件路徑如下:
CH32V003:${eclipse_home}template/wizard/WCH/RISC-V/CH32V003/NoneOS/CH32V003xx.svd
CH32V103:${eclipse_home}template/wizard/WCH/RISC-V/CH32V103/NoneOS/CH32V103xx.svd
CH32V203:${eclipse_home}template/wizard/WCH/RISC-V/CH32V203/NoneOS/CH32V203xx.svd
CH32V307:${eclipse_home}template/wizard/WCH/RISC-V/CH32V303/NoneOS/CH32V307xx.svd
添加方法如下:
添加之后如下:
或可直接新建工程,也可以得到該路徑
使用技巧2
Debug時,如何更改變量顯示類型
修改方法如下:
使用技巧3
MRS下載編譯時,更改生成文件是HEX文件還是BIN文件,具體如下:
使用技巧4
MRS開發編譯時,如何修改工程優化等級,具體如下:
使用技巧5
MRS進行工程編譯時,如何配置FLASH、RAM顯示占比,具體配置如下:
添加 -Wl,--print-memory-usage
配置完成后,編譯顯示如下:
關於RAM顯示占比百分之百問題:這是由ld文件的書寫不同導致的,不影響的,data+bss的大小就是實際使用的RAM的大小(一般情況下,以CH32系列為主,其他可能有所區別)。若需要修改顯示,可將ld文件修改下,修改內容如下圖,修改ld文件的同時需要將debug.c文件中的void *_sbrk(ptrdiff_t incr)函數整體注釋掉,此處需要注意,修改過后,動態內存分配超出將不會有提示。
使用技巧6
CH32V307是支持硬件浮點的,可以是math.h中的sinf。IQMath主要是為沒有硬件浮點的MCU提供的定點運算庫。如果CH32V307要使用IQMath,需要把f擴展給關閉
CH32V307是支持單精度的浮點,math.h中的不帶f結尾的函數都是double類型的速度很慢。要使用帶f結尾的函數,如:sinf(x),cosf(x).
CH32V307使用IQMath庫時,MounRiver如何配置,如下圖:
首先在main文件中要包含頭文件路徑:#include"IQmath_RV32.h",具體如下圖:
其次要在Extension Library中勾選了“Use iqmath”。
最后,還需將f擴展給關閉,具體如下圖,參考下圖設置,關閉紅框里兩個地方
使用技巧7
使用MRS時,當使用到math數學庫時,除了要包含math.h頭文件之外,還要進行如下配置,如下圖:
使用技巧8
當需要打印浮點類型時,MRS要進行如下配置,具體如下圖:
使用技巧9
當打開工程沒有顯示LD文件時,如何配置LD文件在工程中顯示,具體如下圖。直接在工程文件夾下修改ld文件名稱,將.ld文件名稱重命名為link.ld,然后將ld文件路徑修改
使用技巧10
當使用sprintf打印時,如執行sprintf(buf, "%5.1f", fvalue),需進行如下配置:
關於sprintf函數,其並不是一個打印函數,如下圖,其是將M_PI的值輸出到str所指向的字符串。如果成功,則返回寫入的總字符數,不包括字符串追加在字符串末尾的空字符。如果失敗,則返回一個負數。可使用puts函數輸出該字符串