14.1.1.3. Nạp firmware¶
Sau khi có firmware.bin (và romfs<n>.img đi kèm) từ Biên dịch firmware, hãy nạp nó lên camera. OpenMV IDE là phương pháp được khuyến nghị; quy trình dòng lệnh khác nhau tùy theo dòng camera và được ghi chép riêng cho từng dòng ở các trang được liên kết ở cuối. Bản thân bootloader được phục hồi riêng -- xem Khôi phục bootloader.
14.1.1.3.1. OpenMV IDE: Tải Firmware Tùy Chỉnh (được khuyến nghị)¶
OpenMV IDE tích hợp sẵn mọi công cụ nạp firmware (dfu-util, các công cụ NXP SPSDK, Alif SE Tools, các công cụ STM32), cài đặt driver USB cần thiết trên Windows, xử lý việc vào bootloader và chọn lệnh đúng cho camera đang kết nối. Đây là cách được khuyến nghị để nạp bản build tùy chỉnh.
Cắm camera vào USB (bạn không cần nhấn Connect).
Tools -> Load Custom Firmware.
Trong hộp thoại, đặt Firmware Path trỏ tới
build/<TARGET>/bin/firmware.bincủa bản build.Tùy chọn đánh dấu Erase internal file system để xóa hệ thống tệp FAT nội bộ của camera (xem Xóa filesystem nội bộ để biết khi nào và tại sao).
Tùy chọn đánh dấu Reset ROMFS file system để nạp lại ROMFS mặc định (bị tắt nếu bạn chọn trực tiếp file
.img).Nhấn Run. IDE đặt lại camera vào bootloader, hiển thị lệnh nạp chính xác và thanh tiến trình, rồi khởi động lại camera với firmware mới. Chờ đèn LED tự kiểm tra màu xanh; sau đó camera liệt kê lại bình thường.
Ngoài ra còn có Tools -> Force enter OpenMV Cam bootloader để đặt camera vào chế độ DFU thủ công trước khi nạp firmware.
14.1.1.3.2. Windows: cài đặt driver USB¶
Windows không có sẵn driver cho các giao diện USB DFU, SDP và ISP của camera, vì vậy các công cụ dòng lệnh (dfu-util, các công cụ NXP SPSDK, Alif SE Tools) không thể phát hiện thiết bị cho đến khi driver WinUSB được gán vào. Trình cài đặt Windows của OpenMV IDE sẽ cài tất cả các driver này, vì vậy cách đơn giản nhất là cài OpenMV IDE một lần -- sau đó cả IDE lẫn các công cụ dòng lệnh đều hoạt động. Đây là lý do nạp firmware qua GUI thành công trên máy Windows mới trong khi dfu-util độc lập thì không.
Nếu không thể cài IDE, hãy chạy trình cài driver phù hợp từ thư mục share/qtcreator/drivers/ của OpenMV IDE với quyền Administrator:
Trình cài driver |
Thiết bị USB được gán |
|---|---|
|
Các thiết bị OpenMV DFU và các giao diện RT1062 SPSDK ( |
|
Các thiết bị Arduino DFU ( |
|
Bộ chuyển đổi FTDI |
|
Thiết bị DFU hệ thống ST |
Ngoài ra, có thể gán WinUSB cho VID:PID cụ thể bằng Zadig hoặc pnputil. Không có cách nạp firmware dòng lệnh nào trên Windows hoạt động nếu không làm bước này. Linux và macOS không cần cài driver (Linux chỉ cần các quy tắc udev).
14.1.1.3.3. Nạp firmware qua SWD (make deploy)¶
Nếu đầu dò debug đã được nối với camera -- như khi debugging -- chu trình chỉnh sửa-build-nạp nhanh nhất sẽ bỏ qua USB DFU và lập trình chip trực tiếp qua SWD. Trên các camera STM32:
make -j$(nproc) TARGET=<TARGET> deploy
Lệnh này nạp firmware vừa build qua STM32_Programmer_CLI (từ SDK) qua đầu dò đang kết nối. Không cần vào bootloader, không cần liệt kê lại USB, và không cần đổi cáp: build, chạy deploy, và camera khởi động lại với code mới. Đây là quy trình được khuyến nghị trong quá trình phát triển firmware tích cực. Dùng DFU hoặc OpenMV IDE khi nạp firmware không có đầu dò hoặc khi phân phối firmware cho người khác.
14.1.1.3.4. Vào chế độ bootloader / DFU¶
Nạp firmware yêu cầu camera phải ở chế độ bootloader / DFU. Có ba cách để vào:
Khi cắm vào (bất kỳ camera nào). Mỗi camera chạy bootloader trong một khoảng thời gian ngắn khi khởi động, trước khi firmware bắt đầu -- cắm camera vào USB và bootloader đang lắng nghe trong chốc lát.
Từ IDE (bất kỳ camera nào). Với camera đã cắm vào, Tools -> Force enter OpenMV Cam bootloader khởi động lại vào chế độ bootloader.
Nút reset Arduino. Trên các bo mạch Arduino, nhấp đúp nút reset để vào chế độ bootloader.
14.1.1.3.5. Nạp firmware dòng lệnh theo dòng camera¶
Các trang dưới đây cho thấy những gì OpenMV IDE thực hiện bên dưới cho từng dòng camera, dành cho khi bạn muốn tự chạy quá trình nạp -- trong các tập lệnh, trong CI, hoặc trên dây chuyền sản xuất. Để nạp firmware hàng ngày chúng tôi khuyến nghị OpenMV IDE.