14.1.1.3. การแฟลชเฟิร์มแวร์¶
เมื่อได้ firmware.bin (และ romfs<n>.img) จาก การสร้างเฟิร์มแวร์ แล้ว ให้โปรแกรมลงบนกล้อง OpenMV IDE เป็นวิธีที่แนะนำ ส่วนขั้นตอนบรรทัดคำสั่งจะแตกต่างกันตามรุ่นของกล้องและมีเอกสารประกอบแยกตามรุ่นในหน้าที่ลิงก์ไว้ด้านล่าง บูตโหลดเดอร์เองจะถูกกู้คืนแยกต่างหาก -- ดูที่ การกู้คืนบูตโหลดเดอร์
14.1.1.3.1. OpenMV IDE: โหลดเฟิร์มแวร์กำหนดเอง (แนะนำ)¶
OpenMV IDE รวมเครื่องมือแฟลชทุกตัวไว้ (dfu-util, เครื่องมือ NXP SPSDK, เครื่องมือ Alif SE, เครื่องมือ STM32), ติดตั้งไดรเวอร์ USB ที่จำเป็นบน Windows, จัดการการเข้าสู่บูตโหลดเดอร์ และเลือกคำสั่งที่ถูกต้องสำหรับกล้องที่เชื่อมต่ออยู่ ถือเป็นวิธีที่แนะนำในการแฟลชบิลด์กำหนดเอง
เสียบกล้องเข้า USB (ไม่จำเป็นต้องคลิก Connect)
Tools -> Load Custom Firmware
ในกล่องโต้ตอบ ตั้งค่า Firmware Path เป็น
build/<TARGET>/bin/firmware.binของบิลด์ของคุณเลือกติ๊ก Erase internal file system เพื่อลบระบบไฟล์ FAT ภายในของกล้อง (ดู การลบ filesystem ภายใน สำหรับเวลาและเหตุผล) ตามต้องการ
เลือกติ๊ก Reset ROMFS file system เพื่อแฟลช ROMFS ค่าเริ่มต้นใหม่ (ปิดใช้งานหากคุณเลือกไฟล์
.imgโดยตรง) ตามต้องการคลิก Run IDE จะรีเซ็ตกล้องเข้าสู่บูตโหลดเดอร์ แสดงคำสั่งแฟลชที่แน่ชัดและแถบความคืบหน้า จากนั้นรีบูตกล้องเข้าสู่เฟิร์มแวร์ใหม่ รอไฟ LED ทดสอบตัวเองสีน้ำเงิน กล้องจะแจงนับใหม่ตามปกติ
นอกจากนี้ยังมี Tools -> Force enter OpenMV Cam bootloader เพื่อนำกล้องเข้าสู่โหมด DFU ด้วยตนเองก่อนแฟลช
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 DFU และอินเทอร์เฟส RT1062 SPSDK ( |
|
อุปกรณ์ Arduino DFU ( |
|
อะแดปเตอร์ FTDI |
|
อุปกรณ์ ST |
หรืออีกทางหนึ่ง ผูก 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