14.1.1.3. تحميل البرنامج الثابت¶
بمجرد حصولك على ملف firmware.bin (وملف romfs<n>.img المرافق له) من بناء البرنامج الثابت، قم ببرمجته على الكاميرا. يُعد OpenMV IDE الطريقة الموصى بها؛ أما إجراء سطر الأوامر فيختلف باختلاف عائلة الكاميرا وهو موثّق لكل عائلة على الصفحات المرتبطة في الأسفل. ويُستعاد محمّل الإقلاع نفسه بشكل منفصل -- راجع استعادة محمّل الإقلاع.
14.1.1.3.1. OpenMV IDE: تحميل برنامج ثابت مخصص (موصى به)¶
يجمع OpenMV IDE كل أدوات التحميل (dfu-util وأدوات NXP SPSDK وأدوات Alif SE Tools وأدوات STM32)، ويثبّت برامج تشغيل USB المطلوبة على نظام Windows، ويتولى الدخول إلى محمّل الإقلاع، ويختار الأمر الصحيح للكاميرا المتصلة. وهو الطريقة الموصى بها لتحميل بناء مخصص.
وصّل الكاميرا بمنفذ USB (لا حاجة للنقر على Connect).
Tools -> Load Custom Firmware.
في مربع الحوار، اضبط Firmware Path على المسار
build/<TARGET>/bin/firmware.binالخاص ببنائك.اختيارياً، ضع علامة على Erase internal file system لمحو نظام ملفات FAT الداخلي للكاميرا (راجع مسح نظام الملفات الداخلي لمعرفة متى ولماذا).
اختيارياً، ضع علامة على Reset ROMFS file system لإعادة تحميل ROMFS الافتراضي (يكون معطّلاً إذا حددت ملف
.imgمباشرة).انقر على Run. يعيد IDE تشغيل الكاميرا إلى محمّل الإقلاع الخاص بها، ويعرض أمر التحميل الدقيق وشريط تقدّم، ثم يعيد تشغيل الكاميرا إلى البرنامج الثابت الجديد. انتظر LED الأزرق للاختبار الذاتي؛ ثم تعيد الكاميرا التعداد بشكل طبيعي.
يتوفر أيضاً Tools -> Force enter OpenMV Cam bootloader لوضع الكاميرا في وضع DFU يدوياً قبل التحميل.
14.1.1.3.2. Windows: تثبيت برامج تشغيل USB¶
لا يحتوي نظام Windows على برنامج تشغيل مدمج لواجهات USB DFU وSDP وISP الخاصة بالكاميرا، لذا لا تستطيع أدوات سطر الأوامر (dfu-util وأدوات NXP SPSDK وأدوات Alif SE Tools) اكتشاف الجهاز حتى يُربط به برنامج تشغيل WinUSB. يثبّت مثبّت OpenMV IDE لنظام Windows جميع برامج التشغيل هذه، لذا فإن أبسط نهج هو تثبيت OpenMV IDE مرة واحدة -- وبعدها يعمل كل من IDE وأدوات سطر الأوامر. ولهذا ينجح التحميل عبر الواجهة الرسومية على جهاز Windows جديد بينما يفشل dfu-util المستقل.
إذا لم يكن تثبيت IDE خياراً متاحاً، فشغّل مثبّت برنامج التشغيل المطابق من دليل share/qtcreator/drivers/ الخاص بـ OpenMV IDE كمسؤول:
مثبّت برنامج التشغيل |
أجهزة USB التي يربطها |
|---|---|
|
أجهزة OpenMV DFU، وواجهات RT1062 SPSDK ( |
|
أجهزة Arduino DFU ( |
|
محوّل FTDI |
|
جهاز ST |
بدلاً من ذلك، اربط WinUSB بمعرّف VID:PID المحدد باستخدام Zadig أو pnputil. لا يعمل أي تحميل عبر سطر الأوامر على Windows بدون ذلك. لا يحتاج نظاما Linux وmacOS إلى تثبيت أي برنامج تشغيل (يتطلب Linux قواعد udev فقط).
14.1.1.3.3. التحميل عبر SWD (make deploy)¶
إذا كان مسبار التصحيح موصولاً بالكاميرا بالفعل -- كما هو الحال عند التصحيح -- فإن أسرع دورة تحرير-بناء-تحميل تتجاوز USB DFU وتبرمج الشريحة مباشرة عبر SWD. على كاميرات STM32:
make -j$(nproc) TARGET=<TARGET> deploy
يحمّل هذا البرنامج الثابت الذي بُني للتو عبر STM32_Programmer_CLI (من SDK) عبر المسبار المتصل. لا يوجد دخول لمحمّل الإقلاع، ولا إعادة تعداد لـ USB، ولا تبديل للكابلات: ابنِ، شغّل deploy، وتعيد الكاميرا التشغيل بالكود الجديد. هذا هو سير العمل الموصى به أثناء التطوير النشط للبرنامج الثابت. استخدم DFU أو OpenMV IDE عند التحميل بدون مسبار أو عند توزيع البرنامج الثابت على الآخرين.
14.1.1.3.4. الدخول إلى وضع محمّل الإقلاع / DFU¶
يتطلب التحميل أن تكون الكاميرا في وضع محمّل الإقلاع / DFU الخاص بها. هناك ثلاث طرق للدخول:
عند التوصيل (أي كاميرا). تشغّل كل كاميرا محمّل إقلاعها لفترة قصيرة عند تشغيلها، قبل بدء البرنامج الثابت -- وصّل الكاميرا بمنفذ USB ويكون محمّل الإقلاع منصتاً لفترة وجيزة.
من IDE (أي كاميرا). مع توصيل الكاميرا، يعيد Tools -> Force enter OpenMV Cam bootloader تشغيلها إلى وضع محمّل الإقلاع.
زر إعادة ضبط Arduino. على لوحات Arduino، انقر نقراً مزدوجاً على زر إعادة الضبط للدخول إلى وضع محمّل الإقلاع.
14.1.1.3.5. التحميل عبر سطر الأوامر حسب عائلة الكاميرا¶
تُظهر الصفحات أدناه ما يفعله OpenMV IDE خلف الكواليس لكل عائلة كاميرا، للحالات التي تريد فيها تشغيل التحميل بنفسك -- في البرامج النصية، أو في CI، أو على خط الإنتاج. وللتحميل اليومي نوصي بـ OpenMV IDE.