14.1.1.3.5.2. OpenMV AE3: dfu-util¶
تستخدم OpenMV AE3 محمّل الإقلاع openmv_dfu (معرّف التطبيق VID:PID 37C5:16E3، ومعرّف DFU VID:PID 37C5:96E3)، لكنها جهاز ثنائي النواة: وحدة Alif Ensemble بنواة Cortex-M55 عالية الأداء (HP) وأخرى عالية الكفاءة (HE). للدخول إلى محمّل الإقلاع، ما عليك سوى توصيل الكاميرا: فهي تنصت لفترة وجيزة عند التشغيل، ويجعل -w أداة dfu-util تنتظر ظهورها. تشغّل كل نواة صورة برنامجها الثابت الخاص بها ولها ROMFS خاص بها للقراءة فقط، لذا فإن التحميل الكامل هو أربع صور:
النواة |
أمر البرنامج الثابت |
أمر ROMFS |
|---|---|---|
M55-HP |
|
|
M55-HE |
|
|
يكتب التحميل الكامل الصور الأربع، مع --reset على النقل الأخير فقط:
dfu-util -w -d ,37C5:96E3 -a 1 -D firmware_M55_HP.bin
dfu-util -w -d ,37C5:96E3 -a 2 -D firmware_M55_HE.bin
dfu-util -w -d ,37C5:96E3 -a 3 -D romfs1.img
dfu-util -w -d ,37C5:96E3 -a 6 --reset -D romfs0.img
لاستبدال البرنامج الثابت لنواة واحدة فقط، حمّل alt الخاص بتلك النواة فقط (-a 1 لنواة HP، و-a 2 لنواة HE)؛ ولاستبدال ROMFS لنواة واحدة، حمّل alt الخاص بـ ROMFS لتلك النواة (-a 6 لنواة HP / romfs0، و-a 3 لنواة HE / romfs1).
14.1.1.3.5.2.1. تهيئة ذاكرة Everspin MRAM¶
تستبدل البنى الخاصة لـ OpenMV AE3 ذاكرة الفلاش الخارجية القياسية -- التي تحمل نظام ملفات FAT الداخلي وROMFS الخاص بنواة HP -- بشريحة Everspin MRAM. ينطبق هذا القسم على تلك البنى فقط. لا تستجيب قطعة Everspin التي لم تُهيّأ مطلقاً، أو التي تلفت سجلات تكوينها، لعمليات الكتابة، لذا تفشل عمليات نقل DFU إلى تلك الـ alts حتى يُعاد تهيئة الشريحة.
يكشف محمّل الإقلاع عن هذا كـ DFU alt إضافي: يؤدي تنزيل ملف مفتاح إلى -a 7 إلى تشغيل تسلسل التهيئة (إعادة ضبط JESD، وتهيئة سجل التكوين، وإزالة القفل، وتمريرتي مسح كامل للشريحة). لا يخزّن التنزيل نفسه أي شيء -- إذ يتحقق القسم من أن الملف يبدأ بالمفتاح المتوقع المكوّن من 16 بايت ويشغّل التسلسل، مرة واحدة على الأكثر في كل جلسة محمّل إقلاع.
أنشئ ملف المفتاح باستخدام tools/flash_recovery_key.py من مستودع البرنامج الثابت (يكتب ملف key.bin بحجم 4 KB)، ثم نزّله:
python tools/flash_recovery_key.py
dfu-util -w -d ,37C5:96E3 -a 7 -D key.bin
تكون الشريحة فارغة بعد ذلك: أعد تحميل ROMFS الخاص بنواة HP (-a 6 -D romfs0.img)، ويعيد نظام ملفات FAT الداخلي تهيئة نفسه عند الإقلاع التالي.
شاهد أيضا
لمحو نظام ملفات FAT الداخلي للكاميرا -- وهو الحل عندما يمنع ملف main.py سيئ أو نظام ملفات تالف الكاميرا من الإقلاع -- راجع مسح نظام الملفات الداخلي.
لاستعادة محمّل إقلاع الكاميرا نفسه، راجع استعادة محمّل الإقلاع.