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 מקורי.

  1. פתח PowerShell כמנהל מערכת (לחיצה ימנית על Start -> Terminal (Admin)).

  2. התקן את WSL עם הפצת Ubuntu המוגדרת כברירת מחדל:

    wsl --install
    

    פעולה זו מפעילה את תכונות Windows הנדרשות, מתקינה את ליבת WSL 2, ומתקינה את Ubuntu. אתחל מחדש אם תתבקש.

  3. לאחר האתחול מחדש, Ubuntu עולה ומבקש ממך ליצור שם משתמש וסיסמה ל-UNIX. חשבון זה עצמאי ובלתי תלוי בחשבון ה-Windows שלך.

  4. עדכן את ההפצה:

    sudo apt update && sudo apt upgrade -y
    
  5. ודא שאתה על 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 (arm-none-eabi-gcc 14.3)

מהדר, מקשר, arm-none-eabi-gdb לניפוי באגים

LLVM/clang

משמש עבור אובייקטים נבחרים בחלק מהפורטים

CMake, GNU Make

תזמור הבנייה עבור ספריות של ספקים

Python (ניתן להעברה)

סקריפטים של בנייה, עוזרי mpy-cross, חתימה, כלי מודלים

STM32CubeProgrammer (STM32_Programmer_CLI)

צריבת SWD וזרימת השחזור של STM32N6

ST Edge AI

מהדר רשתות נוירונים עבור ה-NPU של STM32N6

dfu-util

צריבה דרך USB DFU

gdbrunner

משגר שרת ה-GDB של יעד make debug (תוכנת Segger J-Link שהוא מפעיל היא התקנה נפרדת)

אזהרה

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 כבר עומדת בדרישה זו; השגיאה משמעה שערכת כלים אחרת וישנה יותר מסתירה אותה.