13.1.14. การแก้ไขระบบไฟล์ ROM#

บอร์ดที่รองรับ ROMFS มีระบบไฟล์แบบอ่านอย่างเดียวในแฟลช เมาท์บนกล้องที่ /rom มันมาพร้อมกับโมเดลแมชชีนเลิร์นนิงเริ่มต้นของบอร์ด และเป็นที่ที่โมเดลและสินทรัพย์ของผลิตภัณฑ์ควรอยู่: ไฟล์ใน ROMFS ถูก memory-map ตรงจากแฟลช ดังนั้นโมเดลขนาดใหญ่จึงโหลดโดยไม่ต้องใช้ RAM สำหรับการคัดลอก เมนูย่อย Tools → ROM File System ของ IDE เป็นตัวแก้ไขสำหรับมัน

13.1.14.1. ตัวแก้ไข#

Edit ROMFS on OpenMV Cam อ่าน ROMFS ของกล้องที่เชื่อมต่อและเปิดในตัวแก้ไข: แผนผังไฟล์พร้อมปุ่มเพิ่มไฟล์ สร้างโฟลเดอร์ ลบและแยกรายการ และดึงโมเดลตรงจาก model zoo จอแสดงการใช้งานติดตามว่าเนื้อหาใช้ partition ROMFS ของบอร์ดไปเท่าไร ไม่มีอะไรแตะต้องกล้องจนกว่าคุณกด Commit ซึ่งจะถามว่าจะเขียนผลลัพธ์กลับไปยังกล้องหรือบันทึกลงไฟล์ .img บนดิสก์

การแปลงสองอย่างเกิดขึ้นโดยอัตโนมัติเมื่อคุณเพิ่มไฟล์ สคริปต์ .py ถูกคอมไพล์ข้ามเป็นไบต์โค้ด .mpy สำหรับบอร์ดเป้าหมาย และไฟล์โมเดลถูกแปลงสำหรับตัวเร่ง NPU ของบอร์ดเมื่อบอร์ดมี NPU และโมเดลต้องการ สิ่งที่ลงใน ROMFS คือรูปแบบที่กล้องรันได้โดยตรงเสมอ ไฟล์ที่ลากมาจากตัวจัดการไฟล์ของคุณผ่านการแปลงแบบเดียวกัน ลงในโฟลเดอร์ที่คุณวาง -- หรือรากเมื่อคุณวางบนพื้นที่ว่าง

The Edit ROMFS dialog: a file tree of model and label files, the usage readout, and the Commit, Model Zoo, Add File, New Folder, Delete, and Extract File buttons

กล่องโต้ตอบ Edit ROMFS แสดงเนื้อหาเริ่มต้นของบอร์ด ซึ่งได้แก่ โมเดลแมชชีนเลิร์นนิง พร้อมจอแสดงการใช้งานที่ด้านล่างขวา#

Open ROMFS File รันตัวแก้ไขเดียวกันกับไฟล์ภาพ .img บนดิสก์แทนกล้องที่เชื่อมต่อ และ New ROMFS File เริ่มต้นว่างเปล่า ไม่ว่าจะแบบไหน ก็คือเส้นทางในการเตรียมภาพ ROMFS แบบออฟไลน์ สำหรับการแฟลชในการผลิตหรือจัดส่งพร้อมกับการบิวด์เฟิร์มแวร์แบบกำหนดเอง Reset ROMFS on OpenMV Cam คืนค่า ROMFS ของกล้องที่เชื่อมต่อกลับเป็นค่าเริ่มต้นของบอร์ด โดยยกเลิกการแก้ไขทั้งหมด

การอ่านและเขียน ROMFS ของกล้องทำผ่าน bootloader ของมัน พร้อมกล่องโต้ตอบความคืบหน้าที่คุณยกเลิกได้ การยกเลิกการอ่านเพียงแค่ละทิ้งมัน; การยกเลิกการเขียนจะทิ้ง ROMFS ที่เขียนไม่ครบไว้ ดังนั้นให้รัน Reset ROMFS หรือ commit อีกครั้งก่อนพึ่งพามัน ไม่ว่ากรณีใด IDE จะขอให้ bootloader รีสตาร์ทกล้องและรอให้มันกลับมา -- และหากกล้องยังคงอยู่ในโหมด bootloader แทน IDE จะแจ้งให้ทราบ และกล่องโต้ตอบ bootloader ในการเชื่อมต่อครั้งถัดไปจะเสนอการรีเซ็ตและการแก้ไขแบบเดียวกัน

See also

ดู การสร้าง ROMFS image สำหรับบทบาทของ ROMFS ในการจัดส่งแอปพลิเคชัน ว่าต้องใส่อะไรในนั้นและกล้องอ่านมันอย่างไรในขณะรันไทม์