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

2341:035b

-a 0 -s 0x08040000

-a 1 -s 0x90B00000:leave

Arduino Giga

2341:0366

-a 0 -s 0x08040000

-a 1 -s 0x90B00000:leave

Arduino Nicla Vision

2341:035f

-a 0 -s 0x08040000

-a 1 -s 0x90B00000:leave

แฟลชแอปพลิเคชัน (แสดงตัวอย่าง 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

0x90F00000

cyw4343_7_45_98_102.bin

Bluetooth firmware

0x90FC0000

cyw4343_btfw.bin

แฟลชทั้งสองรายการบน 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 ภายใน