RVMCU課堂[5]:手把手教你玩轉(zhuǎn)RV STAR—Nuclei Studio JLink篇
本教程以RV-STAR開發(fā)板上使用JLink調(diào)試器下載運(yùn)行helloworld并輸出到RTT Viewer為目標(biāo),從IDE的下載安裝開始詳細(xì)介紹了使用Nuclei Studio JLink進(jìn)行RISC-V嵌入式開發(fā)的方法。系統(tǒng)環(huán)境:Windows 10-64bit硬件平臺(tái):基于GD32VF103 MCU的RV-STAR開發(fā)板,JLink調(diào)試器(調(diào)試器固件版本需支持RISC-V)
01Nuclei Studio和JLink的下載和安裝
- 在芯來科技官網(wǎng)文檔與工具頁面可以下載IDE軟件,其鏈接如下:
- 根據(jù)自己的操作系統(tǒng)下載對(duì)應(yīng)的文件即可,IDE不需要安裝,下載后直接解壓縮即可使用;
- 下一步安裝JLink驅(qū)動(dòng),在SEGGER官網(wǎng)下載,其連接如下:
- 安裝過程沒有特別要注意的,直接安裝即可。
- 在Nuclei Studio解壓縮的目錄下雙擊NucleiStudio.exe即可啟動(dòng)IDE;
- 第一次啟動(dòng)Nuclei Studio將會(huì)彈出對(duì)話框要求設(shè)置Workspace目錄路徑,該目錄將用于存放后續(xù)創(chuàng)建的項(xiàng)目工程文件。設(shè)置好Workspace路徑,再單擊“Launch”啟動(dòng)Nuclei Studio;
- 啟動(dòng)后頁面如下圖,推薦打開Launch Bar功能,方便快速編譯和調(diào)試。打開菜單欄“Window -> Preferences”,搜索“bar”,勾選第一個(gè)選項(xiàng)“Enable the Launch Bar”即可啟用Launch Bar功能。
- 在菜單欄中,選擇“File-> New -> C/C Project”開始新建工程,在彈窗中雙擊選擇“C Managed Build”;
- 新的頁面中“Project name”填寫“helloworld”,“Project type”?選擇“Nuclei SDK Project For GD32VF103 SoC”和“RISC-V Cross GCC”,如下圖,點(diǎn)擊“Next”。新的頁面不用修改,直接點(diǎn)擊“Next”即可;
- 在選擇模板工程頁面修改“Project Example”選項(xiàng)為“baremetal_helloworld”,后續(xù)頁面不需要修改,點(diǎn)擊“Next”直到最后一頁,點(diǎn)擊“Finish”完成新建模板helloworld工程。最終IDE內(nèi)如下:
JLink調(diào)試器可以使用SEGGER的RTT功能打印輸出,需要配置一些文件到工程當(dāng)中。
- IDE內(nèi)右擊新建的工程,選擇“Show In->System Explorer”打開新建工程所在路徑。在“application”文件夾所在目錄下新建一個(gè)“SEGGER”文件夾;
- 打開JLink驅(qū)動(dòng)的根目錄,將“Samples->RTT”路徑下的“SEGGER_RTT_V680d.zip”解壓縮(具體壓縮包名可能因版本不同而變化),如下圖所示:
- 解壓后將RTT文件夾下的“SEGGER_RTT.c”,“SEGGER_RTT.h”和“SEGGER_RTT_Conf.h”三個(gè)文件以及Syscalls文件夾下的“SEGGER_RTT_Syscalls_GCC.c”這些文件復(fù)制到之前新建的SEGGER文件夾中;
- 在Nuclei Studio中單擊當(dāng)前工程,按“F5”刷新工程即可看到SEGGER文件夾,雙擊“SEGGER”文件夾可以看到新增的四個(gè)文件。配置完成如下圖,雙擊打開“SEGGER_RTT_Syscalls_GCC.c”文件,注釋掉第59行的“#include”;
- 右擊當(dāng)前工程名,選擇“Properties”打開設(shè)置頁面,在左側(cè)導(dǎo)航欄選擇“C/C Build->Settings”,在“Tool Settings”頁面的三個(gè)“Includes”中點(diǎn)擊右上方的加號(hào)新增路徑,在彈窗中輸入"${workspace_loc:/${ProjName}/SEGGER}",點(diǎn)擊“OK”保存。全部修改后點(diǎn)擊“Apply and Close”;
- 在工程的“nuclei_sdk/SoC/hbird/Common/Source/Stubs”下的“write.c”文件處右擊,選擇“Resource Configurations->Exclude From Build”,彈窗中選擇“Select All”和“OK”完成在工程中移除原有的write.c文件。
- 使用JLink調(diào)試RV-STAR需要移除開發(fā)板上的五個(gè)短接帽,如下圖中紅框所示。連接時(shí)如果看不清圖中文字,可以參考板上的絲??;
- JLink的引腳如下,紅框標(biāo)注的是需要連接的引腳,將JLink的引腳與上圖中紅框引腳按照名字一一對(duì)應(yīng)相連。注意接到RV-STAR開發(fā)板靠近GD32VF130VBT6芯片側(cè)的排針上。VTref引腳要接到RV-STAR開發(fā)板RGB LED下方的3V3接口;
- 使用時(shí)Type-C也需要連接,起到供電的作用。連接后參考實(shí)物圖如下:
- 為了方便設(shè)置,先編譯工程“helloworld”,點(diǎn)擊左上角的錘子圖標(biāo)編譯工程;
- 編譯后右擊工程,選擇“Debug As->Debug Configurations”,彈出的頁面中雙擊“GDB SEGGER JLink Debugging”新建Debug設(shè)置;
- 在“Debugger”頁面參考圖中內(nèi)容修改“Device name”為“GD32VF103VBT6”,“Interface”為“JTAG”,“Initial speed”為“Auto”。點(diǎn)擊“Apply”保存設(shè)置;
- 打開Startup頁面,確保設(shè)置選項(xiàng)與圖中紅框標(biāo)注的內(nèi)容一致。點(diǎn)擊“Apply”保存設(shè)置,點(diǎn)擊“Close” 關(guān)閉頁面;
- 這樣JLink的Debug設(shè)置文件配置完成,想要查看打印信息,還需要打開JLink RTT Viewer查看printf打印信息。安裝JLink驅(qū)動(dòng)同時(shí)會(huì)安裝RTT Viewer,啟動(dòng)后如下圖配置即可。使用中可能因?yàn)殚_發(fā)板Reset斷開連接,按照相同的配置再連一次即可;
- 左上角Launch Bar切換下拉選項(xiàng)為“Debug”,點(diǎn)擊甲蟲標(biāo)志進(jìn)入Debug,點(diǎn)擊紅色按鈕可以退出Debug;
- 全速運(yùn)行后點(diǎn)擊旁邊的停止圖標(biāo),可以在“RTT Viewer”中看到如下信息,證明程序正確運(yùn)行;
更多實(shí)驗(yàn)例程可以到RVMCU社區(qū)快速入門頁面獲取教程資料:https://www.rvmcu.com/quickstart.html歡迎登陸我們的RV社區(qū):https://www.riscv-mcu.com,更多精彩的RVMCU內(nèi)容等您來~