14.1.1.3. การแฟลชเฟิร์มแวร์

เมื่อได้ firmware.bin (และ romfs<n>.img) จาก การสร้างเฟิร์มแวร์ แล้ว ให้โปรแกรมลงบนกล้อง OpenMV IDE เป็นวิธีที่แนะนำ ส่วนขั้นตอนบรรทัดคำสั่งจะแตกต่างกันตามรุ่นของกล้องและมีเอกสารประกอบแยกตามรุ่นในหน้าที่ลิงก์ไว้ด้านล่าง บูตโหลดเดอร์เองจะถูกกู้คืนแยกต่างหาก -- ดูที่ การกู้คืนบูตโหลดเดอร์

14.1.1.3.2. Windows: ติดตั้งไดรเวอร์ USB

Windows ไม่มีไดรเวอร์ในตัวสำหรับ USB DFU, SDP และอินเทอร์เฟส ISP ของกล้อง ดังนั้นเครื่องมือบรรทัดคำสั่ง (dfu-util, เครื่องมือ NXP SPSDK, เครื่องมือ Alif SE) จะตรวจจับอุปกรณ์ไม่ได้จนกว่าจะผูกไดรเวอร์ WinUSB เข้ากับมัน ตัวติดตั้ง Windows ของ OpenMV IDE จะติดตั้งไดรเวอร์เหล่านี้ทั้งหมด ดังนั้นวิธีที่ง่ายที่สุดคือติดตั้ง OpenMV IDE ครั้งเดียว -- หลังจากนั้นทั้ง IDE และเครื่องมือบรรทัดคำสั่งจะทำงานได้ นี่คือเหตุผลที่การแฟลชผ่าน GUI สำเร็จบน Windows ที่ติดตั้งใหม่ ในขณะที่ dfu-util แบบสแตนด์อโลนไม่สำเร็จ

หากการติดตั้ง IDE ไม่ใช่ตัวเลือก ให้รันตัวติดตั้งไดรเวอร์ที่ตรงกันจากไดเรกทอรี share/qtcreator/drivers/ ของ OpenMV IDE ในฐานะ Administrator:

ตัวติดตั้งไดรเวอร์

อุปกรณ์ USB ที่ผูกไว้

openmv\openmv.cmd

อุปกรณ์ OpenMV DFU และอินเทอร์เฟส RT1062 SPSDK (0x1FC9:0x0135 SDP ROM และ 0x15A2:0x0073 flashloader)

arduino\arduino.cmd

อุปกรณ์ Arduino DFU (2341:03xx)

ftdi\ftdi.cmd

อะแดปเตอร์ FTDI 0403:6015 ที่ใช้สำหรับการกู้คืนบูตโหลดเดอร์ AE3

DFU_Driver\STM32Bootloader.bat

อุปกรณ์ ST 0483:df11 system DFU ที่ใช้สำหรับการกู้คืนบูตโหลดเดอร์ STM32

หรืออีกทางหนึ่ง ผูก WinUSB เข้ากับ VID:PID เฉพาะด้วย Zadig หรือ pnputil การแฟลชบรรทัดคำสั่งบน Windows จะไม่ทำงานหากไม่มีสิ่งนี้ Linux และ macOS ไม่จำเป็นต้องติดตั้งไดรเวอร์ (Linux ต้องการเฉพาะกฎ udev เท่านั้น)

14.1.1.3.3. การแฟลชผ่าน SWD (make deploy)

หากโพรบดีบักเชื่อมต่อกับกล้องอยู่แล้ว -- เช่นเดียวกับการดีบัก -- วงจร edit-build-flash ที่เร็วที่สุดจะข้าม USB DFU และโปรแกรมชิปโดยตรงผ่าน SWD สำหรับกล้อง STM32:

make -j$(nproc) TARGET=<TARGET> deploy

คำสั่งนี้แฟลชเฟิร์มแวร์ที่สร้างใหม่ผ่าน STM32_Programmer_CLI (จาก SDK) ผ่านโพรบที่เชื่อมต่อ ไม่มีการเข้าสู่บูตโหลดเดอร์ ไม่มีการแจงนับ USB ใหม่ และไม่มีการสลับสาย: สร้าง รัน deploy แล้วกล้องจะรีสตาร์ทด้วยโค้ดใหม่ นี่คือขั้นตอนที่แนะนำระหว่างการพัฒนาเฟิร์มแวร์อย่างแอกทีฟ ใช้ DFU หรือ OpenMV IDE เมื่อแฟลชโดยไม่มีโพรบหรือเมื่อแจกจ่ายเฟิร์มแวร์ให้ผู้อื่น

14.1.1.3.4. การเข้าสู่โหมดบูตโหลดเดอร์ / DFU

การแฟลชต้องให้กล้องอยู่ในโหมดบูตโหลดเดอร์ / DFU มีสามวิธีในการเข้า:

  • เมื่อเสียบปลั๊ก (กล้องทุกรุ่น). กล้องทุกรุ่นจะรันบูตโหลดเดอร์ในช่วงเวลาสั้น ๆ เมื่อเปิดเครื่อง ก่อนที่เฟิร์มแวร์จะเริ่ม -- เสียบกล้องเข้า USB แล้วบูตโหลดเดอร์จะรับฟังอยู่ชั่วคราว

  • จาก IDE (กล้องทุกรุ่น). เมื่อเสียบกล้องแล้ว Tools -> Force enter OpenMV Cam bootloader จะรีบูตเข้าสู่โหมดบูตโหลดเดอร์

  • ปุ่มรีเซ็ต Arduino. บนบอร์ด Arduino ให้ดับเบิลคลิกปุ่มรีเซ็ตเพื่อเข้าสู่โหมดบูตโหลดเดอร์

14.1.1.3.5. การแฟลชบรรทัดคำสั่งตามรุ่นกล้อง

หน้าต่าง ๆ ด้านล่างแสดงสิ่งที่ OpenMV IDE ทำเบื้องหลังสำหรับกล้องแต่ละรุ่น สำหรับเมื่อคุณต้องการรันการแฟลชเอง -- ในสคริปต์, ใน CI หรือบนสายการผลิต สำหรับการแฟลชทั่วไป เราแนะนำ OpenMV IDE