13.1.13. Actualizări și recuperare firmware#
IDE-ul este totodată managerul de firmware al camerei. Fiecare versiune a IDE-ului include versiunea de firmware corespunzătoare pentru fiecare placă, verificarea versiunii rulează automat la conectare, iar încărcătoarele pentru bootloaderul fiecărei familii de plăci sunt integrate – IDE-ul detectează placa și comunică folosind protocolul corect fără a i se indica acest lucru. Menținerea unei camere la zi nu necesită nimic mai mult decât conectarea ei și acceptarea solicitării.
13.1.13.1. Actualizare#
Când conectarea găsește o cameră care rulează un firmware mai vechi decât versiunea inclusă, finalizează conectarea și apoi oferă actualizarea (poți respinge solicitarea definitiv). Acceptă-o, iar IDE-ul repornește camera în bootloaderul ei, programează noul firmware și se reconectează. Cele două casete de bifare ale dialogului de actualizare – ștergerea sistemului de fișiere din memoria flash internă și resetarea sistemului de fișiere ROM – pornesc nebifate și rețin ultima ta alegere; cu ambele dezactivate, o actualizare păstrează tot ce este stocat pe cameră. Excepția este actualizarea de la un firmware foarte vechi, caz în care dialogul forțează ștergerea și anunță acest lucru printr-un avertisment. Aceeași verificare rulează la cerere din intrarea pentru versiunea de firmware din bara de stare.
Între lansări, Tools → Install the Latest Development Release descarcă și instalează versiunea de dezvoltare curentă pentru placa conectată – modalitatea de a obține o corecție sau o funcție nouă care a fost integrată, dar încă nu a fost livrată. Versiunile de dezvoltare sunt exact asta; camerele de producție ar trebui să urmărească lansările. O placă provenită dintr-un depozit terț își ia atât lansările, cât și versiunile de dezvoltare din canalele proprii ale acelui furnizor.
Independent de firmware, IDE-ul verifică la pornire dacă sunt disponibile resurse actualizate – exemple, firmware inclus, documentație – pentru IDE-ul însuși și oferă să le instaleze. De asemenea, te anunță când o versiune mai nouă a IDE-ului este disponibilă, cu un link către pagina de descărcare.
13.1.13.2. Încărcarea unui firmware personalizat#
Tools → Load Custom Firmware (Ctrl+Shift+L) programează un fișier binar de firmware de pe disc în locul lansării incluse – calea de implementare pentru firmware-ul construit din sursă, cu scripturi înghețate sau o configurație personalizată integrată. Dialogul acceptă fie un fișier binar de firmware, fie pachetul .zip de ieșire al construirii unei plăci (IDE-ul îl despachetează și programează firmware-ul și sistemul de fișiere ROM pe care le conține – sau doar imaginile sistemului de fișiere ROM, pentru un pachet care le conține numai pe acestea), plus aceleași casete de bifat pentru ștergerea sistemului de fișiere și resetarea ROMFS ca în dialogul de actualizare. Funcționează la fel pentru o cameră care se află deja în modul bootloader.
Vezi și
Construirea firmware-ului pentru a construi mai întâi acel fișier binar.
13.1.13.3. Ștergerea sistemului de fișiere#
Tools → Erase Internal FAT File System (Ctrl+Shift+E) reformatează sistemul de fișiere din memoria flash internă a camerei, eliminând fiecare fișier stocat – main.py, biblioteci, resurse, jurnale – și recreând conținutul implicit. Este resetarea din fabrică pentru stocarea camerei: soluția pentru un sistem de fișiere corupt și un punct de plecare curat înainte de a oferi o cameră altcuiva. Firmware-ul în sine și sistemul de fișiere ROM rămân neatinse.
13.1.13.4. Recuperarea unei camere blocate#
O cameră al cărei firmware este suficient de deteriorat încât nu mai apare ca port serial poate fi totuși salvată, deoarece bootloaderul se află sub firmware și supraviețuiește oricărei probleme cu excepția deteriorărilor hardware. Când conectarea nu găsește nicio cameră, IDE-ul întreabă dacă este atașată o cameră blocată și te ghidează prin recuperare: selectezi tipul plăcii, IDE-ul controlează interfața bootloaderului plăcii, iar firmware-ul din versiunea inclusă este instalat. Tools → Force enter OpenMV Cam bootloader execută în mod explicit pasul de repornire în bootloader pentru o cameră care încă se conectează. Plăcile au de asemenea o metodă hardware de a forța bootloaderul la pornire pentru cel mai rău caz; pagina de referință rapidă a fiecărei plăci descrie procedura ei specifică.