14.1.1.1. הקמת סביבת הפיתוח¶
אתה צריך שלושה דברים על המארח לפני שתוכל לקמפל: עורך (VS Code מומלץ מכיוון שמנפה הבאגים משתלב בו), מעטפת בסגנון Linux (WSL ב-Windows, מקורית ב-Linux/macOS), ומאגר OpenMV עם ה-SDK המוצמד שחולץ.
14.1.1.1.1. VS Code¶
כל עורך מתאים לפיתוח קושחה – הבנייה היא פשוט make, ומנפה הבאגים על החומרה רץ גם משורת הפקודה. Visual Studio Code הוא פשוט הדרך הקלה ביותר: הגדרת ניפוי באגים של הקושחה משתלבת בהרחבת Cortex-Debug שלו, כך שכאשר VS Code מותקן שאר העמודים הללו עובדים מהקופסה, הן בבנייה והן בניפוי באגים.
14.1.1.1.1.1. התקנת VS Code¶
Windows – הורד את תוכנית ההתקנה מ-code.visualstudio.com והרץ אותה. התקן את VS Code על Windows, לא בתוך WSL; הוא משתלב עם WSL דרך הרחבת WSL, ומריץ את ממשק המשתמש שלו ב-Windows בעוד שהמהדר, הקבצים ומנפה הבאגים שוכנים ב-Linux.
macOS – הורד את ה-
.zipמ-code.visualstudio.com, פתח אותו, וגרור את Visual Studio Code.app אל/Applications. אוbrew install --cask visual-studio-code.Linux – התקן את ה-
.deb/.rpmמ-code.visualstudio.com (למשלsudo apt install ./code_*.deb), או השתמש ב-Snap/Flatpak של ההפצה.
הרחבות להתקנה (מתוך לוח ההרחבות, Ctrl+Shift+X):
C/C++ (
ms-vscode.cpptools) – ניווט בקוד מקור של C ו-IntelliSense.Cortex-Debug (
marus25.cortex-debug) – ניפוי באגים על השבב באמצעות GDB ושרת J-Link / OpenOCD. נדרש עבור ניפוי באגים של הקושחה.WSL (
ms-vscode-remote.remote-wsl) – ב-Windows בלבד. מאפשר ל-VS Code לפתוח תיקייה בתוך הפצת ה-WSL שלך כך שהעורך, הטרמינל, IntelliSense ו-Cortex-Debug כולם פועלים ב-Linux. התקן את הרחבות C/C++ ו-Cortex-Debug אל תוך מארח ה-WSL לאחר ההתחברות (VS Code יבקש זאת).
14.1.1.1.2. מעטפת המארח¶
אתה צריך סביבת Linux (x86-64) או macOS (arm64) עם git וכמה כלים בסיסיים. בחר את הסעיף המתאים למערכת ההפעלה שלך.
14.1.1.1.2.1. Windows: התקנת WSL¶
WSL מריץ סביבת משתמש אמיתית של Ubuntu על Windows. לאחר התקנתה, כל הוראה מאוחרת יותר במדריך זה זהה ל-Linux מקורי.
פתח PowerShell כמנהל מערכת (לחיצה ימנית על Start -> Terminal (Admin)).
התקן את WSL עם הפצת Ubuntu המוגדרת כברירת מחדל:
wsl --installפעולה זו מפעילה את תכונות Windows הנדרשות, מתקינה את ליבת WSL 2, ומתקינה את Ubuntu. אתחל מחדש אם תתבקש.
לאחר האתחול מחדש, Ubuntu עולה ומבקש ממך ליצור שם משתמש וסיסמה ל-UNIX. חשבון זה עצמאי ובלתי תלוי בחשבון ה-Windows שלך.
עדכן את ההפצה:
sudo apt update && sudo apt upgrade -yודא שאתה על WSL 2 (נדרש – WSL 1 אינו נתמך בתהליך עבודה זה). ב-PowerShell:
wsl --list --verboseהעמודה
VERSIONחייבת להציג2. אם היא מציגה1, המר אותה:wsl --set-version Ubuntu 2
טיפ
עבוד בתוך מערכת הקבצים של Linux (~/ ב-WSL), ולא תחת /mnt/c/. בנייה על הכונן המעוגן של Windows איטית בהרבה ועלולה לגרום לבעיות הרשאות קבצים ובעיות סיום שורות. שכפל את המאגר אל תיקיית הבית של ה-WSL שלך.
כדי לפתוח את הפרויקט מאוחר יותר: הפעל את Ubuntu מתפריט Start לקבלת מעטפת, או מ-VS Code ב-Windows לחץ Ctrl+Shift+P -> WSL: Connect to WSL, ולאחר מכן File -> Open Folder ובחר את המאגר המשוכפל במערכת הקבצים של Linux.
14.1.1.1.2.2. דרישות מוקדמות ל-Linux / WSL¶
ה-SDK מספק את המהדר, ולכן נדרשות רק מספר חבילות מארח:
sudo apt-get update
sudo apt-get install git build-essential
14.1.1.1.2.3. דרישות מוקדמות ל-macOS¶
בנייה מקורית נתמכת על macOS מבוסס שבב Apple (arm64) בלבד. באמצעות Homebrew
brew install bash make coreutils
(מחשבי Mac מבוססי Intel אינם מארח בנייה מקורי נתמך – השתמש בבנייה דרך Docker מתוך בניית הקושחה או במכונה וירטואלית של Linux.)
14.1.1.1.3. השגת קוד המקור¶
שכפל את המאגר עם כל תת-המודולים (MicroPython, CMSIS, מנהלי התקנים של ספקים וכו«):
git clone --recursive https://github.com/openmv/openmv.git
cd openmv
שכפול רקורסיבי מלא הוא גדול. עבור שכפול מהיר יותר ורדוד:
git clone --depth=1 https://github.com/openmv/openmv.git
cd openmv
git submodule update --init --depth=1 --no-single-branch
git -C lib/micropython/ submodule update --init --depth=1
הערה
כשבונים לוח מסוים, ניתן במקום זאת לתת ל-make למשוך רק את תת-המודולים של אותו לוח:
make TARGET=<board> submodules
הפקודה git submodule update המפורשת שהוצגה למעלה כבר מכסה הכול, ולכן שלב זה הוא אופציונלי.
14.1.1.1.4. התקנת OpenMV SDK¶
מתוך שורש המאגר, הרץ את התקנת ה-SDK החד-פעמית:
make sdk
פעולה זו מורידה את openmv-sdk-<version>-<os>-<arch>.tar.xz מ-download.openmv.io, מאמתת את סכום הביקורת SHA-256 שלה, ומחלצת אותה אל ~/openmv-sdk-<version>/ (הגרסה מוצמדת על ידי קובץ ה-SDK_VERSION של המאגר). הפעולה אידמפוטנטית – הרצה חוזרת אינה עושה דבר אם הגרסה הנכונה כבר מותקנת, והבנייה הרגילה נעצרת עם השגיאה ”OpenMV SDK not found. Run »make sdk« to install it.“ אם היא חסרה או בגרסה שגויה.
ה-SDK כולל את כל מה שהבנייה ומנפה הבאגים צריכים, וכולם מתווספים ל-PATH אוטומטית על ידי ה-Makefile:
רכיב |
מטרה |
|---|---|
ערכת כלי ARM GNU ( |
מהדר, מקשר, |
LLVM/clang |
משמש עבור אובייקטים נבחרים בחלק מהפורטים |
CMake, GNU Make |
תזמור הבנייה עבור ספריות של ספקים |
Python (ניתן להעברה) |
סקריפטים של בנייה, עוזרי |
STM32CubeProgrammer ( |
צריבת SWD וזרימת השחזור של STM32N6 |
ST Edge AI |
מהדר רשתות נוירונים עבור ה-NPU של STM32N6 |
|
צריבה דרך USB DFU |
|
משגר שרת ה-GDB של יעד |
אזהרה
OpenMV N6 ו-OpenMV AE3 משתמשים בליבות Cortex-M55 ודורשים GCC 14.3 או חדש יותר. הבנייה אוכפת זאת עבור יעדים אלה ונעצרת עם השגיאה ”Upgrade to GCC 14.3+ for proper CM55 support“ אם נמצא arm-none-eabi-gcc ישן יותר לפני זה של ה-SDK ב-PATH. ערכת הכלים המצורפת של ה-SDK כבר עומדת בדרישה זו; השגיאה משמעה שערכת כלים אחרת וישנה יותר מסתירה אותה.