1.前言
-
感謝該文章給我的啟發!
-
準備好CLion
-
Windows或Linux虛擬機器並安裝好MounRiverStudio,推薦Linux虛擬機器
-
從MRS官網下載好MacOS工具鏈
2.環境配置
- 解壓下載好的安裝包,根據電腦的晶片選擇解壓對應的
openocd
及xpack-riscv-none-embed-gcc-8.2.0
- 將解壓好的兩個資料夾放在自己的想放的目錄下
- 在
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檔案
-
在虛擬機器的MRS上對工程檔案進行一次成功編譯,會發現在工程目錄下多了一個
obj
資料夾,其內包含了makefile
和subdir.mk
檔案,這是在Clion中配置環境的關鍵 -
進入CLion中開啟該工程檔案,隨意開啟一個
subdir.mk
,此時的C_SRCS
及最下面的可執行.o
檔案的檔案路徑均為虛擬機器檔案路徑,用全域性替換將路徑替換為Mac下的工程路徑注意
/
和\
的區別!Windows下MRS生成的檔案路徑可能夾雜/
和\
,.o
檔案則全為\
,全域性替換會比較麻煩。一個可行的方法是在
obj
資料夾內全域性將\
替換為/
,隨後全域性將/
替換為\
(注意區分這裡!第二次替換時兩個斜槓前面都有一個空格!!)
4.編譯燒錄
- 在Clion中編輯配置,新建一個
Makefile Target
-
如圖選擇並填寫,將
Working Directory
改為${你的工程路徑}/obj
,makefile
選擇該資料夾下的makefile
檔案make clean
可以用於清理所有編譯的檔案,執行一次make clean
再執行make all
可達到重新編譯的效果 -
再新建一個配置,選擇
OpenOCD Download & Run
,如圖進行填寫Board config file
選擇上文openocd/bin
內的wch-riscv.cfg
如果
Debug
失敗,可以將Debugger
改上文中xpack-riscv-none-embed-gcc-8.2.0/bin/
內的riscv-none-embed-gdb
-
在
Before launch
內增加執行其他配置,選擇前文新增的make all
,這樣便會在執行這個配置時自動進行一次編譯。 -
然後就可以透過
執行
和除錯
進行下載除錯了!
5.注意事項
- 在Mac上想要新增檔案會比較麻煩,因為需要手動向
subdir.mk
檔案增加內容,不過只需要仿照檔案內原有的內容擴寫即可。 - 配置完成後就儘量不要再去用mrs進行編譯了,因為會覆蓋
subdir.mk
檔案導致需要重新全域性替換檔案路徑。