VS Code Extension¶
IPRO SDK Extension 3.3.0(識別碼 ipro.ipro-sdk-extension)把 FreeRTOS 專案瀏覽、CMake 建置、IntelProCube 燒錄、序列埠主控台與記憶體分析整合到 VS Code,需要 VS Code 1.102 以上。Extension 不包含在 SDK 套件內,與 SDK、負責安裝它的 IPRO SDK Online Setup 分開計版;安裝步驟見 Windows 安裝與 VS Code。
重點
- Online Setup 3.6.0 一次安裝 SDK V2.2.0、Extension 與各項工具;以 Full environment 安裝的環境可以直接建置。
- Windows 上的工具鏈是 Online Setup 安裝的 GCC 13.1.1,SDK 已依它準備;以 Diagnostics 確認 Extension 用的是同一個安裝目錄的編譯器。
- 燒錄 IPRO7AI Reef EVK 時,晶片配置用
IPRO7AI,分割表用應用所用的那一份;boot2 映像與mfg資料以 IntelProCube 命令列寫入。 - 主控台鮑率(
ipro.monitorBaudRate)與燒錄鮑率(ipro.baudRate)分開設定。 - 沒有原始碼層級(F5)除錯:安裝 OpenOCD 並不會設定好 GDB debug adapter。
功能¶
| 功能 | 用途 |
|---|---|
| 專案 | 依分類瀏覽應用、釘選並切換目前的專案(IPRO: Go to Project…、IPRO: Select Project) |
| Build/Batch Build | CMake 設定與 Make/Ninja 建置(ipro.generator),debug/release/size Profile,錯誤可從 Problems 跳到原始碼 |
| 設定 | IPRO Config: Menuconfig、IPRO Config: Open .config、IPRO Config: Load Defconfig |
| Flash/Monitor | 以 IntelProCube 燒錄;內建序列埠主控台,鮑率另外設定 |
| Analysis/Debug | Memory Map、Decode Crash Report、Pin Function Lookup;Register Explorer 需相容的 CCI 連線 |
SDK 建置原樣讀取 .config,不解析 Kconfig 的 select 與 depends on。用 Menuconfig 修改後,請確認相依選項都已寫入 .config,見建置系統與設定。
使用 SDK V2.2.0¶
- 以 Online Setup 安裝:新環境選 Full environment,見 Windows 安裝與 VS Code;已有環境時,可選 SDK only 把 SDK V2.2.0 加到該環境,見單獨安裝 SDK 或工具鏈。
- 以 File → Open Folder… 開啟
<安裝目錄>\sdk\IPRO-SDK-V2.2.0(內含CMakeLists.txt、apps與bsp)。安裝時沒有勾選設定切換工作時,對它執行IPRO Setup: Set SDK Root。 - 執行
IPRO Setup: Run Diagnostics,核對 SDK 根目錄、編譯器、CMake、Ninja、Python 與燒錄工具都指向同一個安裝目錄;編譯器是<安裝目錄>\toolchain\riscv_ipro7_win32的 GCC 13.1.1。改用其他工具鏈時以ipro.toolchainPath設定(編譯器前綴,以riscv64-unknown-elf-結尾)。
- 在 V2.2.0 建置並上板驗證之前,保留原本的 SDK 目錄。不要把舊的
build/目錄、CMake 快取或.vscode資料夾複製到新的 SDK。 - 工作區設定(
.vscode/settings.json)可能蓋過使用者設定;以 Diagnostics 顯示的路徑為準。
控制中心¶
按 F1 執行 IPRO: Open Control Center,在同一個面板看到目前的 SDK、專案與連線,以及常用操作;再執行 IPRO Setup: Run Diagnostics 核對工具路徑。也可以在 VS Code 的 Settings 搜尋 ipro 調整設定。
第一次建置¶
- 執行
IPRO: Go to Project…,選擇 platform 分類的ipro7ai_reef_demo。 - 執行
IPRO Config: Select Build Profile,選擇 debug、release 或 size。 - 執行
IPRO: Build,在 Terminal 查看結果;錯誤可從 Problems 跳到原始碼。建置成功的標準是結束碼為 0 且產生映像,不是看到 CMake 印出Configuring done。 - 確認產生
apps/platform/ipro7ai_reef_demo/build/build_out/ipro7ai_reef_demo_IPRO7.bin。
IPRO: Batch Build 一次建置多個選定的專案。SDK 或工具路徑變更後,先執行 IPRO: Clean 再重新建置,避免沿用舊的快取。
多數 Reef 應用把 Reef 的設定放在另一個檔案(defconfig_reef、defconfig_reef_ov5640 等);直接建置就是 Reef 版本的只有 ipro7ai_reef_demo、ipro_reef_teach 與 ipro_agora_sentino。命令列寫法 make -C <應用> DEFCONFIG=<檔名> 與 Reef 設定清單見建置系統與設定。
燒錄與主控台¶
- 以
IPRO Setup: Select Flash Tool選擇 IntelProCube,或把ipro.flashToolPath設為它的資料夾。 - 接好開發板(SW7 撥到 CAM、SW8 撥到 PWR、主控台線接 U6、插上 USB-C),執行
IPRO: Select Serial Port選擇主控台埠。使用 IPRO Debug Probe 時選它的 UART 埠;CCI 埠用於暫存器存取,不能用於主控台或燒錄。 - 在
IPRO Config: Configure Flash…把晶片配置設為IPRO7AI,分割表設為應用所用的那一份:ipro7ai_reef_demo與ipro7_uvc_cam網路攝影機用partition_cfg_2M.toml。自帶分割表的應用列在燒錄與序列埠。 - 讓 Reef 進入下載模式:按住 SW1(BOOT),按一下 SW2(RESET),放開 SW1。接著執行
IPRO: Flash,確認燒錄工具的結果。先關閉其他占用序列埠的程式。 - 按 SW2 啟動韌體。確認
ipro.monitorBaudRate與韌體一致(IPRO Config: Set Monitor Baud Rate),再執行IPRO: Serial Monitor。要改鮑率時,先執行IPRO: Close Serial Monitor,設定後再重新開啟。
| 設定 | 意義 |
|---|---|
ipro.baudRate |
燒錄鮑率,預設 921600 |
ipro.monitorBaudRate |
主控台鮑率,預設 115200,必須與韌體一致 |
ipro.chipVariant |
傳給燒錄工具的 --chip-variant:Reef 用 IPRO7AI |
ipro.partitionTable |
傳給燒錄工具的 --pt;在 Reef 上請依應用設定 |
ipro.flashTargets、ipro.activeFlashTarget |
具名的燒錄設定,切換時不必每次修改設定 |
所有 Reef 設定的主控台都是 115200 baud,只有 ipro7_jpeg_decode(defconfig_reef)是 921600,以應用的 CONFIG_PLATFORM_UART_BAUDRATE 為準。ipro_ble_remote 的第一次燒錄(boot2 與 A/B 分割表)與 ipro_reef_teach 的 mfg 資料,請用 IntelProCube 命令列,見燒錄與序列埠與燒錄 Edge AI 韌體。
記憶體與除錯工具¶
IPRO Analyse: Memory Map:建置後檢視各記憶體區域與各元件的用量。是否放得下仍以連結器輸出與燒錄時用的分割表為準。IPRO Analyse: Decode Crash Report:把例外的回溯轉成原始碼位置。IPRO Debug: Pin Function Lookup:查詢腳位功能。IPRO Debug: Register Explorer:需要相容的 Probe、可正常運作的 CCI 連線與正確的板端設定。Probe 能在 USB 列舉,不代表與開發板之間的 CCI 連線可用。
安裝 OpenOCD 並不會帶來 F5 原始碼層級除錯:Extension 不會設定 GDB debug adapter 或 launch 設定。主控台日誌與當機解碼見除錯與疑難排解。
在 Reef 上動手做¶
以出廠韌體走一次 VS Code 裡的「修改、建置、燒錄」流程。
-
確認主控台設定。 韌體的主控台鮑率寫在
.config,ipro.monitorBaudRate必須相同: -
修改程式。 開啟
apps/platform/ipro7ai_reef_demo/main.c,修改main()裡的標語: -
建置:執行
IPRO: Build。映像檔是apps/platform/ipro7ai_reef_demo/build/build_out/ipro7ai_reef_demo_IPRO7.bin。 -
燒錄:依燒錄與主控台,以 SW1 + SW2 進入下載模式,晶片配置
IPRO7AI、分割表partition_cfg_2M.toml執行IPRO: Flash,再按 SW2。 -
看主控台:以 115200 baud 執行
IPRO: Serial Monitor。開頭幾行中(略去日誌前綴):Build:行是這次建置的時間,標語則是你改過的文字。reef selftest可檢查板上各區塊。
完成後把那一行改回來,或重新燒錄出廠映像。接下來:建立第一個自己的應用與測試你的應用。
元件更新¶
更新透過 IPRO SDK Online Setup 進行;它把元件安裝到新的目錄,或把 SDK、工具鏈加到既有環境,不會覆蓋正在使用的版本:
| Online Setup 模式 | 安裝內容 | 可切換的設定 |
|---|---|---|
| Full environment | SDK、工具鏈、建置工具(CMake、Ninja、Python)、IntelProCube、OpenOCD、Extension | 全部 |
| SDK only | SDK | ipro.sdkRoot |
| Toolchain only | RISC-V 工具鏈 | ipro.toolchainPath |
| Build tools only | CMake、Ninja、Python | 各自的路徑 |
| IntelProCube only | IntelProCube | ipro.flashToolPath |
| OpenOCD only | OpenOCD | — |
| Extension only | Extension VSIX | — |
SDK only 與 Toolchain only 可以加到既有環境,見單獨安裝 SDK 或工具鏈。更新後重開 VS Code 並執行 Diagnostics。要回到舊版時,把設定指回保留的目錄,或以 Install from VSIX… 安裝舊版 VSIX。
命令¶
F1 或 Ctrl+Shift+P 開啟命令面板。Extension 沒有預設快捷鍵,可自行綁定。
| 命令 | 用途 |
|---|---|
IPRO: Open Control Center |
開啟控制中心 |
IPRO Setup: Set SDK Root |
設定 SDK 根目錄 |
IPRO Setup: Run Diagnostics |
檢查 SDK 與工具路徑 |
IPRO Setup: Select Flash Tool |
選擇 IntelProCube 資料夾 |
IPRO: Go to Project…、IPRO: Select Project |
尋找與切換專案 |
IPRO Config: Select Build Profile |
選擇 debug、release 或 size |
IPRO: Build |
建置目前的專案 |
IPRO: Clean |
刪除目前專案的建置輸出 |
IPRO: Batch Build |
建置多個專案 |
IPRO Config: Menuconfig、IPRO Config: Open .config |
編輯或開啟設定 |
IPRO Config: Select Flash Target、IPRO Config: Configure Flash… |
選擇燒錄目標;設定晶片配置、分割表與鮑率 |
IPRO: Select Serial Port |
選擇主控台/燒錄序列埠 |
IPRO Config: Set Monitor Baud Rate |
設定主控台鮑率 |
IPRO: Flash |
燒錄韌體 |
IPRO: Serial Monitor、IPRO: Close Serial Monitor |
開啟主控台;關閉並釋放序列埠 |
IPRO: Build, Flash & Monitor |
依序建置、燒錄並開啟主控台 |
IPRO Analyse: Memory Map |
分析記憶體用量 |
IPRO Analyse: Decode Crash Report |
解碼例外與回溯 |
IPRO Debug: Pin Function Lookup |
查詢腳位功能 |
IPRO Debug: Register Explorer |
經 CCI 檢視暫存器 |
常見問題¶
| 現象 | 處理方式 |
|---|---|
| 找不到 IPRO 命令 | 確認 Extension 版本、VS Code Profile、Workspace Trust 與 SDK 根目錄,再重新載入視窗 |
| Diagnostics 仍顯示舊的 SDK | 工作區與資料夾設定可能蓋過使用者設定;對 V2.2.0 目錄再執行一次 IPRO Setup: Set SDK Root |
| 編譯或連結失敗 | 以 Diagnostics 確認編譯器是同一個安裝目錄的工具鏈(Windows 為 Online Setup 安裝的 GCC 13.1.1;macOS/Linux 為 GCC 14) |
| 主控台亂碼或仍是舊鮑率 | 核對韌體的主控台鮑率與 ipro.monitorBaudRate,再關閉並重開主控台 |
燒錄 Reef 時出現 flash jedec id: 00000000 |
把晶片配置設為 IPRO7AI |
燒錄工具沒有印出 [All Success] |
開發板沒有進入下載模式,或序列埠被其他程式占用 |
| 偵測得到 Probe,但 CCI 沒有回應 | USB 列舉成功不代表板端的 CCI 連線正常;檢查接線與板端設定 |
版本¶
SDK、Extension 與 Online Setup 是各自計版的套件。目前的 Extension 是 3.3.0,由 Online Setup 3.6.0 安裝;安裝程式的版本號不代表 Extension 也是同一版。實際安裝的版本以 Extensions 面板顯示為準。
相關文件¶
- Windows 安裝與 VS Code:安裝工具與 Extension、加入 SDK V2.2.0。
- 燒錄與序列埠:IntelProCube 命令列、分割表、boot2 與
mfg。 - 建置系統與設定:
.config、替代設定與 Reef 建置清單。 - 建立第一個自己的應用:自己的 Reef 應用。