14.1. פיתוח קושחה¶
עמודים אלה מיועדים ל-מפתחי קושחה – אנשים שרוצים לשנות את קוד ה-C שרץ על ה-OpenMV Cam, ולא רק לכתוב סקריפטים ב-MicroPython. הם מכסים את כל המחזור: הקמת עורך, התקנת שרשרת כלי הבנייה (toolchain), הידור הקושחה עבור כל לוח נתמך, צריבת הבנייה שלכם על מצלמה, וניפוי באגים שלה על חומרה אמיתית עם בדיקת J-Link וניפוי באגים ברמת המקור צעד-אחר-צעד ב-VS Code.
בסיומם אתם אמורים להיות מסוגלים לקחת מכונה נקייה, לבנות את הקושחה, להעלות אותה על מצלמה, להציב נקודת עצירה (breakpoint) בקוד המקור של ה-C, ולהריץ צעד-אחר-צעד את המעבד.
הערה
קושחת OpenMV היא הסתעפות (fork) של MicroPython עם תוספת ספריית הראייה הממוחשבת של OpenMV, מנהלי ההתקן והפורטים של הלוחות. המקור נמצא ב-github.com/openmv/openmv. מודולי ה-Python image / ml / csi שבהם אתם משתמשים בסקריפטים הם קוד C במאגר זה.
14.1.1. כיצד הבנייה עובדת¶
שני דברים כדאי להבין לפני שמתחילים, מכיוון שהם מסבירים כל הוראה שלהלן:
הבנייה מונעת-SDK. אינכם מתקינים בעצמכם את מהדר ה-ARM, את CMake, את Python, או את כלי ST. המאגר מקבע גרסת OpenMV SDK מדויקת (קובץ
SDK_VERSION–1.6.0בעת כתיבת שורות אלה), ו-make sdkמוריד ומחלץ את אותו SDK אל~/openmv-sdk-<version>/. הבנייה לאחר מכן מקדימה את תיקיות ה-gcc,llvm,cmake,pythonוכלי ST של ה-SDK אל ה-PATH. משמעות הדבר היא שכולם בונים עם שרשרת הכלים הזהה לחלוטין, וההגדרה במחשב המארח זעירה.אין בנייה מקורית ל-Windows. שרשרת הכלים וסקריפטי הבנייה מיועדים ל-Linux (x86-64) ול-macOS (arm64) בלבד. ב-Windows אתם בונים בתוך WSL (Windows Subsystem for Linux), שהיא סביבת Linux אמיתית – כך שלאחר ש-WSL מותקן, משתמשי Windows עוקבים אחר הוראות ה-Linux בדיוק. בנייה מבוססת Docker ומכונה וירטואלית של Linux הן גם אפשרויות.
הרצף ברמה הגבוהה בכל מערכת נתמכת הוא תמיד:
התקינו עורך (VS Code).
השיגו מעטפת (shell) דמוית Linux (Linux מקורי, macOS, או WSL ב-Windows).
שכפלו את המאגר ואת תת-המודולים שלו.
make sdk– התקנת שרשרת כלים חד-פעמית.make -C lib/micropython/mpy-cross– בנו את מהדר ה-bytecode.make TARGET=<board>– בנו את הקושחה.צרבו אותה (OpenMV IDE או
dfu-util).באופן אופציונלי, חברו J-Link ונפו אותה.
העמודים שלהלן מדריכים דרך כל שלב לפי הסדר.