網頁

【AIoT 實戰手記】Infineon PSoC™ Edge E84 AI Kit 從零開始的基礎操作

前些時候參加活動時,有幸得到一組 “ Infineon PSoC™ Edge E84 AI Kit (KIT_PSE84_AI) “ ,是整合 Arm® Cortex®-M55(帶 Helium 向量擴充)、Cortex®-M33 以及 Arm® Ethos™-U55 NPU 的異質多核架構,無疑是目前 microNPU 領域的高效能強者之一。


這是第一次接觸 Infineon MCU,在剛開箱時面臨 IDE 安裝、SDK 拉取、除錯埠辨識與中斷寫法等繁雜細節。這篇文章將以 AI 協作開發的觀點,分享如何結合 AI 助手( Antigravity IDE ),透過 ModusToolbox™ 工具鏈、精準對照 Infineon 官方文件以及 VS Code Serial Monitor,打造極速的自動化嵌入式開發體驗。





📖 一、 將開發板接上電腦


硬體剛到手時,遇到的第一個問題是:「為什麼 USB 線插上去後,裝置管理員抓不到 KitProg3 USB-UART (COM Port)?」


這時最有效的做法就是讓 AI (Antigravity IDE) 直接研讀 Infineon 官方《Quick Start Guide》與《User Guide》,就會提供建議的除錯步驟:

1. J1 與 J2 雙 USB-C port 的正確連接法

查閱 《User Guide》的硬體區塊圖會發現,開發板右側設有兩個 USB-C 介面:


  • J1 (KitProg3 program/debug USB-C connector):上方的 USB 孔。這才是連向板載 KitProg3 (PSoC 5LP) 燒錄除錯器與虛擬串口 (COM Port) 的埠。

  • J2 (PSoC™ Edge E84 USB Device/Host connector):下方的 USB 孔。直連 E84 晶片本體(Target USB),僅做 Target USB 通訊或供電,無法提供燒錄與 Debug 串口功能。


💡 經驗談:務必將 USB 傳輸線插在上方 (J1) 插孔,Windows 裝置管理員才會正確列舉出 KitProg3 USB-UART (COMx)!另外,因原廠並未附 USB 線材,所以請確保使用的 USB-C 線具備資料傳輸功能(部分線材僅能供電,無法傳輸資料)。



2. 綠燈閃爍並非報錯,而是出廠 OOB Demo

剛通電時,板上的 LED5 (Power, 橘燈) 恆亮,而 LED1 (User, 綠燈) 則持續閃爍。 參照 《Quick Start Guide》 第 2 頁的定義:


"The green LED (LED1) starts blinking indicating that the Out-of-box (OOB) demo has started."


這代表晶片內部預載的 Out-of-Box (OOB) 展示程式正在正常運行,完全不必擔心是硬體異常!


3. 裝置管理員正確出現 KitProg3 USB-UART (COM Port)



💻 二、 打造極速開發介面:VS Code Serial Monitor 安裝與配置


在監控 PSoC™ Edge E84 AI Kit 除錯輸出上,不需要額外開啟複雜的外掛軟體 ( UART terminal software : Tera Term 終端模擬器),直接在 VS Code 內建環境下安裝官方擴充套件即可:

1. 安裝步驟

  1. 開啟 VS Code,按下 Ctrl + Shift + X 開啟 Extensions(擴充套件)。

  2. 搜尋 Serial Monitor,認明由 Microsoft 官方發行的套件並點擊 Install。



2. 視窗開啟與連線設定

  1. 按下 Ctrl + Shift + P 輸入 Serial Monitor: Focus on Serial Monitor View。

  2. 設定參數:

    • Port:選擇 COMx - KitProg3 USB-UART(COMx)

    • Baud Rate:115200

    • Data Bits / Stop Bits / Parity:8 / 1 / None

    • 行尾結束符號:建議設為 None,另有選項 CRLF 或 NL/LF

  3. 點擊 Start Monitoring 即可開啟連線。連線後按一下板上的 SW2 (Reset) 按鈕,便能看到 UART 印出的系統診斷資訊。




🛠️ 三、 無縫自動化:AI 助手如何操作 ModusToolbox™ 

當安裝完 ModusToolbox™ 後,很多人以為只是個基於 Eclipse / VS Code 的 GUI IDE,但實際上 ModusToolbox™ 的底層採用了「CLI-First (命令列優先)」架構!

1. 為什麼 AI 能夠直接幫你編譯與燒錄?

ModusToolbox™ 安裝包(位於 C:\Users\user\ModusToolbox\tools_3.8\)內建了完整的命令列工具鏈:


  • modus-shell (內建 Bash 環境與 GNU Arm GCC arm-none-eabi-gcc)

  • make & ninja (建構工具)

  • mtbgetlibs (依賴庫自動拉取工具)

  • openocd (KitProg3 / CMSIS-DAP 燒錄器工具)


這意味著, AI 助手可以直接透過控制台呼叫命令列進行自動化建構,完全不需要工程師手動切換視窗去點擊 GUI 按鈕!也就是不一定要開啟 “ModusToolbox™ 3.8 Dashboard” 進行開發。

2. 解決網路拉庫逾時:mtbgetlibs 的魔法

當初次建立專案遇到 fatal: unable to access 'https://github.com/Infineon/...' 的 Git clone 網路連線逾時時,不需要重跑 GUI 精靈。AI 可以直接在後台調用 mtbgetlibs:


# AI 在背景自動執行的指令範例


C:/Users/user/ModusToolbox/tools_3.8/mtbgetlibs/mtbgetlibs --app .


mtbgetlibs 會自動分析專案檔,精準下載並補齊 TARGET_KIT_PSE84_AI 板級支援包 (BSP) 以及 cmsis、core-lib、device-db 等 12 個核心依賴庫,輕鬆解決依賴問題!




💬 四、 提示詞對話實戰:直接以自然語言進行 AIoT 開發


在整個開發過程中,工程師完全不需要手動開啟 C 語言檔案修改暫存器或編譯專案。只需要在對話視窗給出明確的自然語言指令(Prompts),AI 助手(這裡使用 Antigravity IDE, Gemini 3.6 Flash High )就會自動閱讀文件、撰寫程式碼、複製專案檔並完成燒錄。以下是本次演化的 4 個基礎操作的 Prompt 實例:

💡 階段 1:基礎 Hello World 燒錄測試

  • 工程師給 AI 的 Prompt:


請參考 “https://github.com/Infineon/mtb-example-psoc-edge-hello-world” 幫我做出此專案且編譯並燒錄


  • AI 執行的關鍵步驟與結果: 


  1. 建立與設定專案

    • 使用 ModusToolbox project-creator-cli 導入專案範例,設定目標板(BSP)為 KIT_PSE84_AI(晶片為 PSE846GPS2DBZC4A)。

    • 下載並修復所有依賴庫(包含 BSP、core-make、retarget-io、mtb-dsl-pse8xxgp 等)。

  2. 編譯專案

    • 執行 make build

    • 成功編譯三核心二進位檔,並打包生成合成分區檔 app_combined.hex。

  3. 燒錄至開發板

    • 執行 make program

    • 透過板載 KitProg3 (CMSIS-DAPv2) 偵測到目標晶片 PSE846GPS2DBZC4A。

    • 完成外掛 QSPI Flash 及內部 RRAM 的擦除、寫入 77,824 bytes 與驗證在背景調用 make program -j4,完成 GCC 交叉編譯與 OpenOCD Flash 寫入,並確認預設 Hello World 程式順利運行。


Antigravity IDE 中可以看到由 AI 建立的檔案 :


VS Code Serial Monitor 的內容 :


經驗談 : 第一次建置因為包含了 「下載全套 SDK/BSP」 與 「三核心各自編譯+簽署合併」,所以時間會比較長。非常建議將此開發過程告訴 AI 助手將其寫成 skills,供日後使用。


skills :



💡 階段 2:按鈕輪詢控制

  • 工程師給 AI 的 Prompt:


在此專案上,增加一個「按下按鈕時 LED1 (User, 綠燈) 亮,放開時 LED1 滅 」的功能,按鈕使用 “user button (SW1)” ,直接增加在目前的 Hello World 程式上使用。按下或放開按鈕時,需有 message displayed on the serial terminal。



  • AI 執行的動作:

    1. 在 proj_cm33_ns/main.c 中,將原本 while(1) 的 LED 定時閃爍邏輯替換為 SW1 按鈕(Active LOW)狀態偵測與控制。

    2. 完成修改、重新編譯並成功燒錄至開發板!


VS Code Serial Monitor 的內容 :



💡 階段 3:進階 GPIO 下降緣中斷 (Interrupt) 與按壓計數

  • 工程師給 AI 的 Prompt:


參考 “ https://github.com/Infineon/mtb-example-psoc-edge-gpio-interrupt ” 。在此專案上,繼續增加「 每按下一次按鈕(user button (SW1)),LED1 (User, 綠燈) 反轉一次。使用 printf() 輸出按鈕按下次數,需有 message displayed on the serial terminal 」的功能。


  • AI 執行的動作:

  1. 加入按鍵防彈跳 (Debounce) 及 等待按鈕放開 (Release Check) 的處理機制,確保每次實體按下 SW1 時,LED1 精確反轉一次(亮 ↔ 滅)。

  2. 完成修改、重新編譯並成功燒錄至開發板!


VS Code Serial Monitor 的內容 :



💡 階段 4:SysTick Timer 與 1 分鐘計時並自動關閉功能

  • 工程師給 AI 的 Prompt:


參考 " https://github.com/Infineon/mtb-example-psoc-edge-pwm-timer " 下,新增「使用 SysTick Timer 建立簡單的週期性計時功能,並於 1 分鐘後停止 SysTick 計數與熄滅 LED 」。爾後接續開始原本的功能。


  • AI 執行的動作:

  1. 已參考 mtb-example-psoc-edge-pwm-timer 範例架構,成功加入 SysTick Timer 週期性計時器功能,並在 1 分鐘(60 秒)結束後關閉 SysTick、熄滅 LED1,最後接續恢復原本的 SW1 按鈕中斷反轉與計數功能!

  2. 完成修改、重新編譯並成功燒錄至開發板!


VS Code Serial Monitor 的內容 :



📖 五、 Infineon 在 github 的資源

github 上的 Infineon 擁有超過 2.2k 的 Repositories ,可以在 Search repositories 填上 “ mtb-example-psoc-edge “ ,就可以找到許多關於 “ Infineon PSoC™ Edge E84 AI Kit “ 有用的資源。




🎯 結語與工程心法

從開箱、排除硬體接線坑、補齊 SDK 庫,一直到撰寫中斷與定時器韌體,結合 AI 的人機協同開發流程展示了強大的效率優勢:


  1. 查閱官方規格書與手冊:快速辨識 J1/J2 port 差異與 SW1、LED1 的位置。

  2. 善用 CLI 工具鏈:擺脫 GUI 操作束縛,運用 make getlibs 與 make program 將自動化整合至極致。

  3. AI Pair Programming:工程師專注於架構設計與需求描述,AI 負責細節程式碼重構、命令列自動化執行與編譯除錯。


希望能為正在開發 Infineon PSoC™ Edge E84 AI Kit 的嵌入式工程師與 AIoT 開發者提供一份實用且優雅的參考指南!


沒有留言:

張貼留言