13.1.14. עריכת מערכת קבצי ROM#
לוחות עם תמיכת ROMFS נושאים מערכת קבצים לקריאה-בלבד בזיכרון פלאש (flash), מעוגנת על המצלמה ב-/rom. היא מגיעה עם מודלי הלמידה החישובית של ברירת המחדל של הלוח, וזה המקום שאליו שייכים המודלים והנכסים של מוצר: קבצים ב-ROMFS ממופים לזיכרון ישירות מתוך זיכרון הפלאש (flash), כך שמודל גדול נטען מבלי לצרוך RAM עבור עותק. תפריט המשנה Tools → ROM File System של ה-IDE הוא העורך עבורה.
13.1.14.1. העורך#
Edit ROMFS on OpenMV Cam קורא את ה-ROMFS של המצלמה המחוברת ופותח אותו בעורך: עץ קבצים בתוספת לחצנים להוספת קבצים, יצירת תיקיות, מחיקה וחילוץ של ערכים, ומשיכת מודל ישירות מתוך גן המודלים. תצוגת ניצול עוקבת אחר כמה ממחיצת ה-ROMFS של הלוח התוכן תופס. שום דבר אינו נוגע במצלמה עד שאתה לוחץ Commit, אשר שואל האם לכתוב את התוצאה בחזרה למצלמה או לשמור אותה לקובץ .img בדיסק.
שתי המרות מתרחשות באופן אוטומטי בעת הוספת קבצים. סקריפט .py מהודר-צולב (cross-compiled) ל-bytecode מסוג .mpy עבור לוח היעד, וקובץ מודל מומר עבור מאיץ ה-NPU של הלוח כאשר יש לו כזה והמודל זקוק לכך. מה שנוחת ב-ROMFS הוא תמיד הצורה שהמצלמה מבצעת ישירות. קבצים שנגררים ממנהל הקבצים שלך עוברים את אותן המרות, אל התיקייה שעליה אתה משחרר אותם – או אל השורש כשאתה משחרר על שטח ריק.

חלון Edit ROMFS מציג את תוכן ברירת המחדל של לוח – מודלי הלמידה החישובית שלו – עם תצוגת הניצול בפינה הימנית התחתונה.#
Open ROMFS File מריץ את אותו עורך כנגד קובץ תמונה .img בדיסק במקום מצלמה מחוברת, ו-New ROMFS File מתחיל אותו ריק – כך או כך, הנתיב להכנת תמונת ROMFS במצב לא-מקוון, לצריבה בייצור או למשלוח לצד בניית קושחה מותאמת. Reset ROMFS on OpenMV Cam משחזר את ה-ROMFS של המצלמה המחוברת לברירות המחדל של הלוח, ומבטל את כל העריכות.
קריאה וכתיבה של ה-ROMFS של המצלמה עוברות דרך המאתחל (bootloader) שלה, עם חלון התקדמות שאפשר לבטל. ביטול קריאה פשוט זונח אותה; ביטול כתיבה משאיר את ה-ROMFS כתוב חלקית, לכן הרץ Reset ROMFS או בצע commit שוב לפני שתסתמך עליו. בכל מקרה ה-IDE מבקש מהמאתחל להפעיל מחדש את המצלמה וממתין שתחזור – ואם המצלמה נשארת במצב מאתחל במקום זאת, הוא אומר זאת, וחלון המאתחל בהתחברות הבאה מציע את אותן פעולות איפוס ועריכה.
ראה גם
בניית תמונת ROMFS לתפקיד של ROMFS במשלוח יישום – מה לשים שם, וכיצד המצלמה קוראת אותו בזמן ריצה.