14.1.1.3.5.4. บอร์ด Arduino¶
บอร์ด Arduino ที่ใช้ STM32 (Portenta H7, Giga, Nicla Vision) แฟลชด้วย dfu-util โดยใช้ ที่อยู่ flash แบบสัมบูรณ์ ผ่าน Arduino DFU bootloader บอร์ด Nano สองรุ่นใช้เครื่องมือของตัวเอง
14.1.1.3.5.4.1. บอร์ด STM32 Arduino: dfu-util¶
หากต้องการเข้า bootloader ให้แตะปุ่ม reset สองครั้งอย่างรวดเร็ว (หรือเปิด serial port ของบอร์ดที่ความเร็ว 1200 baud -- Arduino "touch" reset)
บอร์ด |
DFU VID:PID |
คำสั่ง Firmware |
คำสั่ง ROMFS |
|---|---|---|---|
Arduino Portenta H7 |
|
|
|
Arduino Giga |
|
|
|
Arduino Nicla Vision |
|
|
|
แฟลชแอปพลิเคชัน (แสดงตัวอย่าง Nicla Vision):
dfu-util -w -d ,2341:035f -a 0 -s 0x08040000 -D firmware.bin
Wi-Fi และ Bluetooth ต้องการ blob เพิ่มเติมสองรายการที่มาพร้อม OpenMV IDE ใน share/qtcreator/firmware/CYW4343/:
ส่วนประกอบ |
ที่อยู่ flash |
ไฟล์ |
|---|---|---|
Wi-Fi firmware |
|
|
Bluetooth firmware |
|
|
แฟลชทั้งสองรายการบน external flash alt โดยมี :leave ในการถ่ายโอนครั้งสุดท้าย (แสดงตัวอย่าง Nicla Vision):
dfu-util -w -d ,2341:035f -a 1 -s 0x90F00000 -D cyw4343_7_45_98_102.bin
dfu-util -w -d ,2341:035f -a 1 -s 0x90FC0000:leave -D cyw4343_btfw.bin
14.1.1.3.5.4.2. Arduino Nano 33 BLE Sense: bossac¶
Nano 33 BLE Sense (nRF52840) ไม่ใช้ dfu-util หากต้องการเข้า bootloader ให้แตะปุ่ม RESET สองครั้งอย่างรวดเร็ว; บอร์ดจะแสดงตัวเองเป็น nRF52840 DFU device (2341:805a) แฟลชด้วย bossac โดยเขียนแอปพลิเคชันที่ flash offset 0x16000 -- เหนือ SoftDevice และ bootloader จากโรงงานซึ่งไม่เคยถูกเขียนทับ:
bossac -e -w -v -R --offset=0x16000 firmware.bin
14.1.1.3.5.4.3. Arduino Nano RP2040 Connect: picotool¶
หากต้องการเข้า bootloader ให้กดปุ่ม BOOTSEL ค้างไว้ขณะเสียบ USB; บอร์ดจะเมาท์เป็น USB mass-storage drive ชื่อ RPI-RP2 แฟลชได้โดยคัดลอกไฟล์ .uf2 ไปยัง drive นั้น หรือใช้ picotool
picotool load -x firmware.uf2
Warning
bootloader ของบอร์ด Arduino ถูกล็อกจากโรงงานและ ไม่สามารถ กู้คืนโดยผู้ใช้ -- มีเพียงบริเวณแอปพลิเคชันเท่านั้นที่จะถูกเขียน หาก Arduino bootloader เสียหายต้องกู้คืนด้วยเครื่องมือของ Arduino เอง ขั้นตอนการกู้คืน bootloader ใน การกู้คืนบูตโหลดเดอร์ ใช้ได้กับกล้องแบรนด์ OpenMV เท่านั้น
See also
หากต้องการลบ FAT filesystem ภายในของกล้อง -- วิธีแก้ไขเมื่อ main.py ที่มีปัญหาหรือ filesystem ที่เสียหายทำให้กล้องบูตไม่ได้ -- ดู การลบ filesystem ภายใน