Troubleshooting

MCU (arduino com port disappears after upload)


  • 狀況

透過 Arduino IDE 上傳程式碼時,原介接 7688 Duo 的 port 退出後無法再被找到,出現上傳失敗,且於 windows 裝置管理員下的裝置會消失。

  • 判斷狀況

    1. 透過 AP 與 Station Mode 兩種皆能正常運行
    2. SSH 連入後仍可以正常編輯或執行程式碼
    3. COM Port 仍可以被找到,僅上傳時會失敗
    4. Windows 與 Linux 環境下在上傳時皆出現錯誤
    5. 消失 COM Port 會透過重置 MCU 按鈕重新被找到,但仍會出現錯誤
註解 (可能出現錯誤訊息)
PORTS {COM4, } / {} => {} ... 無法在選定的傳輸埠上找到板子,請檢查您設定的埠號是否正確,若正確,請試著在啟動上傳後按下板子的重置鍵。
  • 處理方式:Bootloader 損壞導致上傳程式碼失敗,重新安裝 Bootloader

  • 方法:

    1. 使用 AVRDUDE (AVR Downloader/UploadDER) 套件將重啟程式 (bootloader) 重新安裝至 ATmega32U 的快閃記憶體中。
    2. 將 Caterina-smart7688.hex (Windows 預設放置在 C:\Users\使用者名稱\AppData\Local\Arduino15\packages\LinkIt\hardware\avr\0.1.6\bootloaders\caterina) 置於 USB 隨身硬碟中。
    3. 透過 SSH 豋入 7688 Duo 後。
    4. 將 USB 隨身碟透過轉接線插在 7688 Duo 中 (USB Host)。
    5. 移動到此 USB 隨身碟底下
    6. 輸入指令重裝即可
    7. 成功安裝會出現 : 「avrdude done. Thank you.」 訊息。
# 預設 USB 隨身碟會被掛載於 /tmp/run/mountd 底下,假設硬碟掛載名為 sda1
# cd /tmp/run/mountd/sda1

# 輸入底下指令
# -p : 零件編號 (part no),m32u4 為 ATmega32U4
# -c : 程式代號 (programmer-id),而 linuxgpio 為 Linux GPIO (General Purpose Input/Output,通用輸出/入) 組態 (configuration)
# -e : 清除 (erase)
# -v : 詳列的輸出訊息 (verbose)
# avrdude -p m32u4 -c linuxgpio -v -e -U flash:w:Caterina-smart7688.hex -U lock:w:0x0f:m

results matching ""

    No results matching ""