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-silicon (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 المضمَّنة تستوفي هذا بالفعل؛ ويعني الخطأ أن سلسلة أدوات مختلفة أقدم تحجبها.