20230404 M1 Mac在Clion中配置CH32 RISC-V工具鏈

ErBW_s發表於2024-04-22

1.前言

  • 感謝該文章給我的啟發!

  • 準備好CLion

  • Windows或Linux虛擬機器並安裝好MounRiverStudio,推薦Linux虛擬機器

  • MRS官網下載好MacOS工具鏈

MRS

2.環境配置

  1. 解壓下載好的安裝包,根據電腦的晶片選擇解壓對應的openocdxpack-riscv-none-embed-gcc-8.2.0image-20230404200116832
  2. 將解壓好的兩個資料夾放在自己的想放的目錄下
  3. Users資料夾內按下cmd+shift+.顯示隱藏檔案,開啟.zshrc或其他環境變數配置檔案,如下所示新增環境變數,儲存並關閉
export RISV_GCC=/Users/baohan/ErBW_s/Code/Toolchains/xpack-riscv-none-embed-gcc-8.2.0/bin	#替換為你的檔案所在路徑
export RISV_OPENOCD=/Users/baohan/ErBW_s/Code/Toolchains/openocd-arm64/bin	#替換為你的檔案所在路徑
export PATH=$PATH:$RISV_GCC
export PATH=$PATH:$RISV_OPENOCD

3.遷移MRS檔案

  1. 在虛擬機器的MRS上對工程檔案進行一次成功編譯,會發現在工程目錄下多了一個obj資料夾,其內包含了makefilesubdir.mk檔案,這是在Clion中配置環境的關鍵

  2. 進入CLion中開啟該工程檔案,隨意開啟一個subdir.mk,此時的C_SRCS及最下面的可執行.o檔案的檔案路徑均為虛擬機器檔案路徑,用全域性替換將路徑替換為Mac下的工程路徑

    注意/\的區別!Windows下MRS生成的檔案路徑可能夾雜/\.o檔案則全為\,全域性替換會比較麻煩。

    一個可行的方法是在obj資料夾內全域性將\替換為/,隨後全域性將 /替換為 \(注意區分這裡!第二次替換時兩個斜槓前面都有一個空格!!)

image-20230404212650886

4.編譯燒錄

  1. 在Clion中編輯配置,新建一個Makefile Target

image-20230421163947620

  1. 如圖選擇並填寫,將Working Directory改為${你的工程路徑}/objmakefile選擇該資料夾下的makefile檔案

    image-20230421164027234

    image-20230421164116532

    make clean可以用於清理所有編譯的檔案,執行一次make clean再執行make all可達到重新編譯的效果

  2. 再新建一個配置,選擇OpenOCD Download & Run,如圖進行填寫

    image-20230421164135866

    Board config file選擇上文openocd/bin內的wch-riscv.cfg

    如果Debug失敗,可以將Debugger改上文中xpack-riscv-none-embed-gcc-8.2.0/bin/內的riscv-none-embed-gdb

  3. Before launch內增加執行其他配置,選擇前文新增的make all,這樣便會在執行這個配置時自動進行一次編譯。

    image-20230404214107397

  4. 然後就可以透過執行除錯進行下載除錯了!

    image-20230404214301385

5.注意事項

  1. 在Mac上想要新增檔案會比較麻煩,因為需要手動向subdir.mk檔案增加內容,不過只需要仿照檔案內原有的內容擴寫即可。
  2. 配置完成後就儘量不要再去用mrs進行編譯了,因為會覆蓋subdir.mk檔案導致需要重新全域性替換檔案路徑。

相關文章