bash
mkdir -p ~/firmware_ws/src
cd ~/firmware_ws
git clone https://github.com/micro-ROS/micro_ros_setup src/micro_ros_setup
rosdep update
rosdep install --from-path src --ignore-src -y
source /opt/ros/humble/setup.bash
colcon build
source install/local_setup.bash
當你執行指令:
這會建立適用於 STM32F407(Olimex STM32-E407 開發板)+ FreeRTOS 的 micro-ROS 韌體專案,接下來需要進行的步驟如下:
✅ STM32F4 + micro-ROS firmware 編譯與燒錄流程
① 建立 Firmware 專案(你已完成)
會產生以下結構於 firmware/
目錄中:
② 自訂 micro-ROS 範例應用(修改 app.c)
你可以修改:
範例:定時發佈一個 Topic:
③ 建構韌體
這會自動呼叫 make
編譯 STM32 firmware,產出 .elf
、.bin
等檔案於:
④ 燒錄韌體到 STM32F407 開發板
🧰 準備:
-
USB ↔ UART 轉接器或 ST-Link v2(看板子配置)
-
安裝 STM32Flasher / openocd / st-flash 工具
🔥 使用 openocd(推薦)
1. 安裝 openocd
2. 啟動燒錄
⑤ 啟動 micro-ROS Agent 並連接
開啟 ROS2 主機(如 RPi 或 Docker):
請根據實際接線修改為
/dev/ttyUSB0
或/dev/ttyAMA0
成功會顯示:
🧪 測試 ROS2 topic 傳輸
若 app.c
有建構 publisher,就會看到連續的資料輸出。
✅ 常見問題與檢查清單
問題 | 檢查事項 |
---|---|
Agent 沒有 Client connected | STM32 韌體未成功上傳或 UART 接錯 |
無法看到 topic | app.c 是否正確設定 publisher? |
燒錄失敗 | STM32 是否正確進入 boot 模式? |
無法開機 | 確認使用的是 Olimex E407 相容板子 |
沒有留言:
張貼留言