14.1.1.3. צריבת הקושחה¶
לאחר שיש לך firmware.bin (וה-romfs<n>.img שלו) מתוך בניית הקושחה, יש לצרוב אותו על המצלמה. OpenMV IDE היא השיטה המומלצת; התהליך בשורת הפקודה משתנה בין משפחות המצלמות ומתועד עבור כל משפחה בעמודים המקושרים בתחתית. המאתחל (bootloader) עצמו משוחזר בנפרד – ראו שחזור המאתחל (bootloader).
14.1.1.3.1. OpenMV IDE: טעינת קושחה מותאמת אישית (מומלץ)¶
OpenMV IDE כולל את כל כלי הצריבה (dfu-util, כלי NXP SPSDK, כלי Alif SE, כלי STM32), מתקין את מנהלי ההתקן הנדרשים של USB ב-Windows, מטפל בכניסה למאתחל (bootloader), ובוחר את הפקודה הנכונה עבור המצלמה המחוברת. זוהי הדרך המומלצת לצרוב בנייה מותאמת אישית.
חברו את המצלמה ל-USB (אין צורך ללחוץ על Connect).
Tools -> Load Custom Firmware.
בתיבת הדו-שיח, הגדירו את Firmware Path אל
build/<TARGET>/bin/firmware.binשל הבנייה שלכם.באופן אופציונלי סמנו Erase internal file system כדי למחוק את מערכת הקבצים הפנימית מסוג FAT של המצלמה (ראו מחיקת מערכת הקבצים הפנימית כדי להבין מתי ולמה).
באופן אופציונלי סמנו Reset ROMFS file system כדי לצרוב מחדש את ה-ROMFS המוגדר כברירת מחדל (מושבת אם בחרתם
.imgישירות).לחצו על Run. ה-IDE מאתחל את המצלמה אל המאתחל (bootloader) שלה, מציג את פקודת הצריבה המדויקת ופס התקדמות, ומאתחל את המצלמה אל הקושחה החדשה. המתינו לנורית ה-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 משויך אליו. תוכנת ההתקנה של OpenMV IDE ל-Windows מתקינה את כל מנהלי ההתקן האלה, ולכן הגישה הפשוטה ביותר היא להתקין את OpenMV IDE פעם אחת – ולאחר מכן גם ה-IDE וגם כלי שורת הפקודה יעבדו. זו הסיבה שצריבה דרך הממשק הגרפי מצליחה במכונת Windows חדשה בעוד ש-dfu-util עצמאי לא.
אם התקנת ה-IDE אינה אפשרות, הריצו את תוכנת ההתקנה המתאימה של מנהל ההתקן מתיקיית share/qtcreator/drivers/ של OpenMV IDE כמנהל מערכת (Administrator):
תוכנת התקנת מנהל התקן |
התקני USB שהיא משייכת |
|---|---|
|
התקני OpenMV DFU, וממשקי RT1062 SPSDK ( |
|
התקני Arduino DFU ( |
|
מתאם FTDI |
|
התקן ה-DFU של מערכת ST |
לחלופין, שייכו את WinUSB ל-VID:PID הספציפי באמצעות Zadig או pnputil. צריבה דרך שורת הפקודה ב-Windows אינה עובדת בלי זה. Linux ו-macOS אינם זקוקים להתקנת מנהל התקן (Linux דורש רק את כללי ה-udev).
14.1.1.3.3. צריבה דרך SWD (make deploy)¶
אם בדיקת ניפוי (debug probe) כבר מחווטת למצלמה – כפי שהיא עבור ניפוי באגים – מחזור העריכה-בנייה-צריבה המהיר ביותר עוקף את ה-USB DFU וצורב את השבב ישירות דרך SWD. במצלמות STM32:
make -j$(nproc) TARGET=<TARGET> deploy
פעולה זו צורבת את הקושחה שזה עתה נבנתה דרך STM32_Programmer_CLI (מתוך ה-SDK) דרך הבדיקה המחוברת. אין כניסה למאתחל (bootloader), אין חיבור מחדש של USB, ואין החלפת כבלים: בנו, הריצו deploy, והמצלמה תופעל מחדש ותריץ את הקוד החדש. זהו זרימת העבודה המומלצת במהלך פיתוח קושחה פעיל. השתמשו ב-DFU או ב-OpenMV IDE כאשר צורבים ללא בדיקה או כאשר מפיצים קושחה לאחרים.
14.1.1.3.4. כניסה למצב מאתחל (bootloader) / DFU¶
הצריבה דורשת שהמצלמה תהיה במצב המאתחל (bootloader) / DFU שלה. ישנן שלוש דרכים להיכנס:
בחיבור (כל מצלמה). כל מצלמה מריצה את המאתחל (bootloader) שלה למשך חלון זמן קצר כשהיא מופעלת, לפני שהקושחה מתחילה – חברו את המצלמה ל-USB והמאתחל מאזין לזמן קצר.
מתוך ה-IDE (כל מצלמה). כאשר המצלמה מחוברת, Tools -> Force enter OpenMV Cam bootloader מאתחל אותה אל מצב המאתחל (bootloader).
כפתור האיפוס של Arduino. בלוחות Arduino, לחצו לחיצה כפולה על כפתור האיפוס כדי להיכנס למצב המאתחל (bootloader).
14.1.1.3.5. צריבה בשורת הפקודה לפי משפחת מצלמות¶
העמודים שלהלן מראים מה OpenMV IDE עושה מאחורי הקלעים עבור כל משפחת מצלמות, למקרים שבהם תרצו להריץ את הצריבה בעצמכם – בסקריפטים, ב-CI, או בקו ייצור. לצריבה יומיומית אנו ממליצים על OpenMV IDE.