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

【瑞薩RA2L1入門學習】RA2L1開發環境搭建

評論