引言
隨著嵌入式技術(shù)的飛速發(fā)展,芯片調(diào)試作為硬件開發(fā)流程中的關(guān)鍵環(huán)節(jié),其重要性不言而喻。國科安芯的AS32系列MCU芯片憑借其卓越的性能和豐富的功能,逐漸在工業(yè)控制、物聯(lián)網(wǎng)等領(lǐng)域嶄露頭角。然而,對于許多開發(fā)人員而言,如何高效地調(diào)試AS32系列MCU芯片仍是一個亟待解決的問題。本文將深入探討基于免費(fèi) Eclipse+GCC+JLINK 的AS32系列MCU芯片調(diào)試方法,旨在為技術(shù)開發(fā)人員提供一份詳盡、實(shí)用的實(shí)踐指南,助力其在AS32系列MCU芯片應(yīng)用開發(fā)中實(shí)現(xiàn)高效調(diào)試與功能優(yōu)化。
一、開發(fā)環(huán)境搭建
(一)平臺資源準(zhǔn)備
硬件設(shè)備
PC :本操作基于 Windows 10 系統(tǒng),確保電腦具備充足的存儲空間和穩(wěn)定的電源供應(yīng),以滿足 Eclipse開發(fā)工具及調(diào)試過程中的資源需求。
AS32 開發(fā)板 :作為調(diào)試的核心載體,需提前檢查開發(fā)板的完整性,確認(rèn)其芯片型號、引腳定義等參數(shù)與所開發(fā)項目要求相符。同時,確保開發(fā)板與電腦的連接線路無損壞,通信接口(如 JTAG/SWD 接口)能夠正常工作,以保障調(diào)試數(shù)據(jù)的穩(wěn)定傳輸。
Jlink 調(diào)試器 :選擇與 AS32 芯片兼容的 Jlink 調(diào)試器型號,如 J-Link V9 或 J-Link EDU 等。在使用前,需仔細(xì)閱讀調(diào)試器的用戶手冊,了解其工作原理、連接方式以及支持的調(diào)試協(xié)議等信息,確保調(diào)試器能夠準(zhǔn)確地與開發(fā)板上的芯片進(jìn)行通信。
軟件工具
Eclipse IDE :選用 Eclipse IDE 2025 - 03(4.35.0)版本。Eclipse 作為一款功能強(qiáng)大的集成開發(fā)環(huán)境,為嵌入式開發(fā)提供了豐富的插件和工具支持。其具備良好的跨平臺特性,界面友好且易于操作,能夠方便地進(jìn)行代碼編輯、編譯、調(diào)試等一系列開發(fā)活動。在安裝 Eclipse 時,需注意選擇適合 Windows 10 系統(tǒng)的版本,并按照安裝向?qū)У奶崾就瓿砂惭b過程。安裝完成后,建議對 Eclipse 進(jìn)行個性化配置,如設(shè)置代碼編輯器的字體、顏色、縮進(jìn)等格式,以提高代碼編寫效率和可讀性。
ansilic_Toolchain :從國科安芯官網(wǎng)下載 ansilic_Toolchain,該工具鏈包含 GCC 工具鏈、OpenOCD 以及相關(guān)配置文件。GCC(GNU Compiler Collection)作為一款廣泛使用的開源編譯器,為 RISC - V 架構(gòu)的 AS32 芯片提供了高效的代碼編譯和優(yōu)化功能;OpenOCD(Open - On - Chip Debugger)則負(fù)責(zé)實(shí)現(xiàn)調(diào)試器與芯片之間的通信,是調(diào)試過程中的關(guān)鍵組件。下載完成后,建議將 ansilic_Toolchain 文件夾放置于 Eclipse 的安裝目錄下,以便在后續(xù)工程配置中能夠方便地進(jìn)行路徑引用和工具鏈切換。
AS32 驅(qū)動庫 :同樣從國科安芯官網(wǎng)獲取 AS32 驅(qū)動庫。驅(qū)動庫為開發(fā)人員提供了針對 AS32 芯片各個外設(shè)(如 GPIO、UART、SPI、I2C 等)的底層驅(qū)動函數(shù)和操作接口,使得開發(fā)人員能夠更加便捷地進(jìn)行芯片功能的開發(fā)和調(diào)試。在使用驅(qū)動庫時,需要仔細(xì)研讀其提供的文檔和示例代碼,了解每個驅(qū)動函數(shù)的功能、參數(shù)設(shè)置以及調(diào)用流程,以便在實(shí)際項目中正確地調(diào)用和配置。
Zadig - 2.7.exe :用于配置 Jlink 驅(qū)動。在 Windows 系統(tǒng)中,Zadig 能夠方便地將 Jlink 的驅(qū)動程序轉(zhuǎn)換為 WinUSB 格式,從而確保 Jlink 調(diào)試器與電腦之間能夠建立穩(wěn)定可靠的通信連接。在使用 Zadig 軟件時,需先將 Jlink 調(diào)試器連接至電腦的 USB 端口,然后按照軟件的操作提示,選擇設(shè)備相應(yīng)的并進(jìn)行驅(qū)動轉(zhuǎn)換。在轉(zhuǎn)換過程中,軟件可能會要求用戶安裝一些必要的系統(tǒng)更新或驅(qū)動組件,需確保這些安裝操作順利完成,以避免驅(qū)動配置失敗導(dǎo)致調(diào)試無法正常進(jìn)行。
(二)Jlink 驅(qū)動配置
在創(chuàng)建工程之前,Jlink 驅(qū)動的正確配置是確保調(diào)試順利進(jìn)行的前提。具體操作步驟如下:
將 Jlink 調(diào)試器接入電腦的 USB 端口,確保電腦能夠識別到該設(shè)備。
打開 Zadig - 2.7.exe 軟件,點(diǎn)擊 “Options” 按鈕,在彈出的下拉菜單中勾選 “List All Devices” 選項,使軟件能夠列出系統(tǒng)中所有連接的設(shè)備。
在 Zadig 的設(shè)備列表中,找到 Jlink 設(shè)備。此時,軟件會自動顯示與 Jlink 相關(guān)的驅(qū)動信息,包括當(dāng)前使用的驅(qū)動程序以及可用的驅(qū)動程序列表。
選擇將 Jlink 轉(zhuǎn)為 WinUSB 格式。在軟件界面中,找到對應(yīng)的驅(qū)動程序選項(通常為 “WinUSB” 或類似名稱),并點(diǎn)擊 “Install driver” 按鈕進(jìn)行驅(qū)動安裝。在安裝過程中,系統(tǒng)可能會彈出安全警告提示,需用戶確認(rèn)并繼續(xù)安裝。
安裝完成后,Zadig 會提示驅(qū)動轉(zhuǎn)換成功。此時,可關(guān)閉 Zadig 軟件,Jlink 驅(qū)動配置即告完成。通過此步驟,Jlink 調(diào)試器能夠以 WinUSB 模式與電腦進(jìn)行通信,為后續(xù)的調(diào)試工作奠定了基礎(chǔ)。
二、Eclipse 工程創(chuàng)建與配置
(一)創(chuàng)建新工程
打開 Eclipse IDE,點(diǎn)擊 “File->New”,選擇新建 “C/C++ Project”。
在彈出的新建項目向?qū)е校x擇 “C Managed Build” 項目類型,該類型適用于 C 語言項目的開發(fā)和管理,能夠方便地進(jìn)行項目構(gòu)建和調(diào)試設(shè)置。
點(diǎn)擊 “Next” 按鈕,進(jìn)入下一步配置界面。在 “Project name” 文本框中輸入工程名稱,建議使用簡潔明了且具有項目標(biāo)識性的名稱,如 “AS32_LED_Demo”。在 “Project types” 區(qū)域中,選擇 “Empty Project” 作為項目類型,這樣可以為項目提供一個干凈的基礎(chǔ)框架,便于開發(fā)人員根據(jù)實(shí)際需求自定義項目結(jié)構(gòu)和配置。在 “Toolchains” 選項中,選擇 “RISC - V Cross GCC”,指定該工程使用 RISC - V 架構(gòu)的 GCC 工具鏈進(jìn)行編譯和鏈接。
再次點(diǎn)擊 “Next” 按鈕,在接下來的界面中,通常無需進(jìn)行額外配置,可直接點(diǎn)擊 “Next” 繼續(xù)。
進(jìn)入工具鏈配置界面后,在彈出的工程窗口中,找到 “Toolchain name and path” 配置項,點(diǎn)擊路徑選擇按鈕,定位到 ansilic_Toolchain 所在的路徑,確保 Eclipse 能夠正確識別并使用該工具鏈進(jìn)行項目編譯和調(diào)試。完成路徑設(shè)置后,點(diǎn)擊 “Finish” 按鈕,即可成功創(chuàng)建一個新的 AS32 工程。
(二)目錄管理
手動管理目錄
右鍵點(diǎn)擊工程名稱,選擇 “New->Folder”,創(chuàng)建子目錄 “Peripherals”,用于存放 AS32 芯片的驅(qū)動文件。
在創(chuàng)建目錄時,建議選擇 “Create virtual folders” 選項,這樣可以將驅(qū)動文件以虛擬路徑的形式添加到工程中,避免將文件全部復(fù)制到工程目錄下,便于后續(xù)對驅(qū)動文件的統(tǒng)一管理和更新。點(diǎn)擊 “Finish” 按鈕完成目錄創(chuàng)建。
采用相同的方法,依次創(chuàng)建 “Core”(保存中斷入口和鏈接文件)、“Startup”(存放啟動文件)、“System”(存放開發(fā)人員自定義的延時函數(shù)和打印函數(shù)等輔助函數(shù)文件)、“User”(存放用戶應(yīng)用程序代碼文件)等目錄。創(chuàng)建完成后,工程的目錄結(jié)構(gòu)將變得更加清晰有條理,便于開發(fā)人員對不同功能模塊的文件進(jìn)行分類存放和管理。
接下來,需要向工程目錄中導(dǎo)入相應(yīng)的文件。右鍵點(diǎn)擊相應(yīng)的目錄名稱,選擇 “Import”。
在彈出的導(dǎo)入向?qū)е校x擇 “General->File System”,點(diǎn)擊 “Next” 按鈕。
在新窗口中,瀏覽并選擇之前下載的 Drivers 目錄下對應(yīng)的文件夾,勾選需要添加的文件。在導(dǎo)入文件時,通常無需勾選頭文件(*.h),因?yàn)轭^文件主要起到代碼聲明和引用的作用,在實(shí)際編譯過程中,編譯器會根據(jù)需要自動包含相應(yīng)的頭文件。同時,建議勾選 “Advanced” 下的全部選項,以確保文件導(dǎo)入過程中的各種參數(shù)配置能夠滿足項目要求。
對于 “User” 目錄,由于其是開發(fā)人員自己創(chuàng)建的目錄,用于存放用戶自定義的代碼文件,因此可以直接右鍵點(diǎn)擊該目錄,選擇 “New->File” 創(chuàng)建新的 C 源文件(.c)和頭文件(.h)。在創(chuàng)建文件時,需為文件命名,并根據(jù)項目需求編寫相應(yīng)的代碼邏輯。
自動創(chuàng)建
除手動管理目錄外,還有一種更為簡便的方法 —— 自動創(chuàng)建目錄并導(dǎo)入文件。具體操作為:將國科安芯提供的 Driver 目錄下所有子目錄及其包含的文件復(fù)制到工程目錄下。然后返回 Eclipse,右鍵點(diǎn)擊工程名稱,選擇 “Refresh”,Eclipse 將自動識別并加載新添加的目錄和文件,完成項目的快速搭建。這種方法適用于對項目目錄結(jié)構(gòu)和文件組織要求不是特別嚴(yán)格的場景,能夠快速地將驅(qū)動文件和示例代碼等資源導(dǎo)入到工程中,節(jié)省開發(fā)時間。
(三)項目配置
目標(biāo)處理器配置
右鍵點(diǎn)擊工程名稱,選擇 “Properties” 打開工程屬性配置窗口。在左側(cè)配置項列表中,依次展開 “C/C++ Build->Settings->Tool Settings->Target Processor” 節(jié)點(diǎn),進(jìn)入目標(biāo)處理器配置頁面。
根據(jù) AS32 芯片的實(shí)際內(nèi)核類型,選擇對應(yīng)的目標(biāo)處理器選項。在本例中,若芯片內(nèi)核為 RV32I,則在 “Target” 下拉菜單中選擇 RV32I 選項。此外,還需按照項目需求對其他相關(guān)參數(shù)進(jìn)行配置,如設(shè)置芯片的工作頻率、內(nèi)存大小等參數(shù),以確保編譯器能夠根據(jù)芯片的實(shí)際硬件特性進(jìn)行代碼優(yōu)化和編譯。
編譯器配置
在 “C/C++ Build->Settings->Tool Settings->GNU RISC - V Cross Assembler” 選項中,對 Cross 匯編編譯選項進(jìn)行配置。在 “includes->Include paths” 選項中,添加工程所需的匯編頭文件路徑。例如,將 “Core” 和 “Startup” 目錄的路徑添加到此處,以便匯編器能夠在編譯過程中正確地找到并包含相應(yīng)的頭文件。
同樣地,在 “C/C++ Build->Settings->Tool Settings->GNU RISC - V Cross C Compiler” 選項中,對 Cross C 編譯選項進(jìn)行設(shè)置。在 “includes->Include paths” 選項中,添加工程所需的 C 語言頭文件路徑。通常情況下,需要添加 AS32 驅(qū)動庫中 Drivers 目錄下的相應(yīng)子目錄路徑,如 Drivers/Include、Drivers/Peripherals 等,這樣可以確保編譯器在編譯 C 源代碼時能夠正確解析對驅(qū)動庫函數(shù)的調(diào)用和相關(guān)數(shù)據(jù)類型的定義。
鏈接器配置
在 “C/C++ Build->Settings->Tool Settings->GNU RISC - V Cross C Linker” 選項中,對 Cross C 鏈接選項進(jìn)行配置。在 “General->Script files” 選項中,添加鏈接腳本文件(link.lds)。鏈接腳本文件用于定義程序的內(nèi)存布局、各個代碼段和數(shù)據(jù)段的存放位置等關(guān)鍵信息,是鏈接過程中的重要依據(jù)。同時,勾選 “Do not use standard start files” 和 “Remove unused sections” 選項,以避免鏈接過程中引入不必要的標(biāo)準(zhǔn)啟動文件和未使用的代碼段,從而減小程序的體積,提高程序的運(yùn)行效率。
在 “Miscellaneous” 選項下,勾選 “Use newlib - nano” 和 “Do not use syscalls” 選項。Newlib - nano 是一個輕量級的 C 標(biāo)準(zhǔn)庫實(shí)現(xiàn),相較于完整的新lib庫,其占用的存儲空間更小,適合在資源受限的嵌入式環(huán)境中使用。而 “Do not use syscalls” 選項則表示不使用標(biāo)準(zhǔn)的系統(tǒng)調(diào)用接口,這對于在裸機(jī)環(huán)境下運(yùn)行的 AS32 芯片程序來說是較為常見的配置,因?yàn)樵谶@種環(huán)境下,程序通常直接與硬件進(jìn)行交互,無需依賴操作系統(tǒng)的系統(tǒng)調(diào)用功能。
生成 bin/hex 文件配置
在 “C/C++ Build->Settings->Build Steps” 選項中,可以添加自定義的構(gòu)建命令,用于在編譯完成后生成 bin/hex 文件。bin/hex 文件是程序的二進(jìn)制或十六進(jìn)制格式的可執(zhí)行文件,能夠直接燒錄到芯片中運(yùn)行。在本例中,可在構(gòu)建步驟中添加如下命令:“riscv - none - embed - objcopy - O binary ”led.elf“ ”led.bin“; riscv - none - embed - objdump - D ”led.elf“ > ”led.dump“”。其中,led.elf 為編譯生成的可執(zhí)行文件,led.bin 和 led.dump 分別為生成的二進(jìn)制文件和反匯編文件。在更換工程時,只需將命令中的目標(biāo)文件名稱相應(yīng)修改即可。
可以看到,無報錯,到此,工程搭建全部完成。
審核編輯 黃宇
-
芯片
+關(guān)注
關(guān)注
459文章
52205瀏覽量
436447 -
mcu
+關(guān)注
關(guān)注
146文章
17851瀏覽量
360683 -
Eclipse
+關(guān)注
關(guān)注
1文章
115瀏覽量
21858
發(fā)布評論請先 登錄
RISC-V JTAG:開啟MCU 芯片調(diào)試之旅

【瑞薩RA2L1入門學(xué)習(xí)】RA2L1開發(fā)環(huán)境搭建

【敏矽微ME32G070開發(fā)板免費(fèi)體驗(yàn)】介紹、環(huán)境搭建、工程測試
C2000 MCU JTAG 連接調(diào)試

RA-T馬達(dá)工程串口直接啟動Workbench調(diào)試方案

評論