14.1.1.3. צריבת הקושחה

לאחר שיש לך firmware.bin (וה-romfs<n>.img שלו) מתוך בניית הקושחה, יש לצרוב אותו על המצלמה. OpenMV IDE היא השיטה המומלצת; התהליך בשורת הפקודה משתנה בין משפחות המצלמות ומתועד עבור כל משפחה בעמודים המקושרים בתחתית. המאתחל (bootloader) עצמו משוחזר בנפרד – ראו שחזור המאתחל (bootloader).

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\openmv.cmd

התקני OpenMV DFU, וממשקי RT1062 SPSDK (0x1FC9:0x0135 SDP ROM ו-0x15A2:0x0073 flashloader)

arduino\arduino.cmd

התקני Arduino DFU (2341:03xx)

ftdi\ftdi.cmd

מתאם FTDI 0403:6015 המשמש לשחזור המאתחל (bootloader) של AE3

DFU_Driver\STM32Bootloader.bat

התקן ה-DFU של מערכת ST 0483:df11 המשמש לשחזור המאתחל (bootloader) של STM32

לחלופין, שייכו את 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.