13.1.11. Firmware-updates en -herstel¶
De IDE is tevens de firmwarebeheerder van de camera. Elke IDE-release bevat de bijbehorende firmware-release voor elk board, de versiecontrole verloopt automatisch bij het verbinden, en de loaders voor de bootloader van elke board-familie zijn ingebouwd – de IDE detecteert het board en spreekt het juiste protocol zonder dat dit hoeft te worden opgegeven. Een camera up-to-date houden vergt niets meer dan deze aansluiten en de melding accepteren.
13.1.11.1. Bijwerken¶
Wanneer bij het verbinden een camera wordt aangetroffen met firmware die ouder is dan de meegeleverde release, maakt de IDE de verbinding af en biedt vervolgens de update aan (je kunt de melding permanent wegklikken). Accepteer je deze, dan herstart de IDE de camera in zijn bootloader, programmeert de nieuwe firmware en maakt opnieuw verbinding. De twee selectievakjes in het updatedialoogvenster – wis het interne flashgeheugen-bestandssysteem, en reset het ROM-bestandssysteem – staan aanvankelijk uitgeschakeld en onthouden je laatste keuze; met beide uitgeschakeld behoudt een update alles wat op de camera is opgeslagen. De uitzondering is bijwerken vanaf zeer oude firmware, waarbij het dialoogvenster het wissen afdwingt en dit met een waarschuwing aangeeft. Dezelfde controle kun je desgewenst uitvoeren vanaf de firmwareversievermelding in de statusbalk.
Tussen releases door haalt Tools → Install the Latest Development Release de huidige ontwikkelbuild voor het verbonden board op en installeert deze – de manier om een fix of een nieuwe functie op te pikken die wel is samengevoegd maar nog niet is uitgebracht. Ontwikkelbuilds zijn precies dat; productiecamera’s zouden releases moeten volgen.
Los van de firmware controleert de IDE bij het opstarten of er bijgewerkte bronnen – voorbeelden, meegeleverde firmware, documentatie – beschikbaar zijn voor de IDE zelf, en biedt aan deze te installeren. Ook meldt de IDE wanneer er een nieuwere versie van de IDE beschikbaar is, met een link naar de downloadpagina.
13.1.11.2. Aangepaste firmware laden¶
Tools → Load Custom Firmware (Ctrl+Shift+L) flasht een firmware-binary vanaf schijf in plaats van de meegeleverde release – het implementatiepad voor firmware die uit de broncode is gebouwd, met ingevroren scripts of een aangepaste configuratie ingebakken. Het dialoogvenster neemt het firmwarebestand en dezelfde selectievakjes voor het wissen van het bestandssysteem en het resetten van ROMFS als bij de updatemelding.
Zie ook
De firmware bouwen voor het in eerste instantie bouwen van die binary.
13.1.11.3. Het bestandssysteem wissen¶
Tools → Erase Internal FAT File System (Ctrl+Shift+E) herformatteert het interne flashgeheugen-bestandssysteem van de camera, verwijdert elk opgeslagen bestand – main.py, bibliotheken, assets, logs – en maakt de standaardinhoud opnieuw aan. Het is de fabrieksreset voor de opslag van de camera: de oplossing voor een beschadigd bestandssysteem, en een schone lei voordat je een camera aan iemand anders overdraagt. De firmware zelf en het ROM-bestandssysteem blijven onaangeroerd.
13.1.11.4. Een onbruikbare camera herstellen¶
Een camera waarvan de firmware zodanig beschadigd is dat deze niet langer als seriële poort verschijnt, kan nog steeds gered worden, omdat de bootloader onder de firmware zit en alles overleeft behalve hardwareschade. Wanneer er bij het verbinden geen camera wordt gevonden, vraagt de IDE of er een onbruikbare camera is aangesloten en leidt je door het herstel: je selecteert het board-type, de IDE bestuurt de bootloader-interface van het board, en de meegeleverde release-firmware wordt geïnstalleerd. Tools → Force enter OpenMV Cam bootloader voert de stap voor het herstarten in de bootloader expliciet uit voor een camera die nog wel verbinding maakt. Boards hebben voor het ergste geval ook een hardwarematige manier om de bootloader bij het inschakelen af te dwingen; de quick reference-pagina van elk board behandelt de specifieke procedure ervan.