14.1.1.5. Käynnistyslataimen palauttaminen¶
Normaali laiteohjelmiston flash-kirjoitus ei koskaan kosketa käynnistyslatainta, joten keskeytynyt laiteohjelmiston päivitys on lähes aina palautettavissa: suorita sama flash-kirjoituskomento uudelleen sivulta Laiteohjelmiston flashaus (dfu-util -w odottaa laitetta) tai suorita Load Custom Firmware uudelleen kameran ollessa edelleen käynnistyslataimessaan. Tällä sivulla käsitellään harvinaisempaa tapausta, jossa käynnistyslatain itse on vaurioitunut eikä kamera enää ilmoittaudu DFU-laitteena nollauksen yhteydessä.
Käynnistyslatain sijaitsee laiteohjelmistosta ja tiedostojärjestelmästä erillisellä flash-muistialueella, ja jokaisella OpenMV-merkkisellä kameralla on laitteistopohjainen paluureitti, joten kameraa on vaikea saada pysyvästi palautuskelvottomaksi. Arduino-kortit ovat ainoa poikkeus – niiden käynnistyslataimet ovat kiinteät eivätkä käyttäjän palautettavissa.
OpenMV IDE automatisoi kaikki nämä palautustoimenpiteet ja ohjaa sinut laitteistovaiheiden (hyppyjohtimet, kytkimet, painikkeet) läpi matkan varrella. Alla olevat osiot dokumentoivat, mitä se tekee kullekin kameraperheelle, niitä tilanteita varten, joissa haluat suorittaa palautuksen itse.
14.1.1.5.1. STM32-kamerat (BOOT–RST-hyppyjohdin)¶
STM32 OpenMV -kameroille (M4, M7, H7, H7 Plus, Pure Thermal):
Irrota kamera.
Kytke hyppyjohdin BOOT- ja RST-nastojen väliin.
Kytke uudelleen. Kamera ilmoittautuu nyt ST:n järjestelmän DFU-laitteena (
0483:df11), riippumatta vaurioituneesta laiteohjelmistosta.Flash-kirjoita vain käynnistyslatain – OpenMV IDE Load Custom Firmware tiedostolla
bootloader.bin, tai:dfu-util -w -d ,0483:df11 -a 0 -s 0x08000000 -D bootloader.binPoista hyppyjohdin ja kytke uudelleen.
Flash-kirjoita laiteohjelmisto normaalisti (katso Laiteohjelmiston flashaus).
14.1.1.5.2. OpenMV Cam N6 (BOOT–VCC-hyppyjohdin)¶
Irrota kamera.
Kytke hyppyjohdin BOOT- ja VCC-nastojen väliin.
Kytke uudelleen. Kamera ilmoittautuu nyt ST:n järjestelmän DFU-laitteena (
0483:df11), riippumatta vaurioituneesta käynnistyslataimesta.Flash-kirjoita uudelleen STM32CubeProgrammer-ohjelmalla (sisältyy OpenMV SDK:hon) käyttäen
bootloader.bin-tiedoston ohella toimitettavaa flash-asettelukuvausta – se kirjoittaa uudelleen ensimmäisen vaiheen käynnistyslataimen, ulkoisen flash-muistin lataajan sekä käynnistyslataimen:STM32_Programmer_CLI -c port=USB1 -d OPENMV_N6/FlashLayout.tsvPoista hyppyjohdin ja kytke uudelleen.
Flash-kirjoita laiteohjelmisto normaalisti (katso Laiteohjelmiston flashaus).
14.1.1.5.3. OpenMV Cam RT1062¶
RT1062:n suojatun käynnistyslataimen uudelleenluonti edellyttää sirun ROM-sarjalataustilaan (SDP) siirtymistä hyppyjohtimella, RAM-flashlataajan asettamista ja sen jälkeen flash-asetuslohkon, SBL:n ja laiteohjelmiston uudelleenkirjoittamista. Manuaalinen vaihesarja:
Irrota kamera, kytke SBL- ja 3.3V-nastat hyppyjohtimella yhteen ja kytke uudelleen. Siru ilmoittautuu SDP ROM -tilassa (
0x1FC9:0x0135).Aseta ja käynnistä RAM-flashlataaja:
sdphost -u 0x1FC9,0x0135 -- write-file 0x20001C00 sdphost_flash_loader.bin sdphost -u 0x1FC9,0x0135 -- jump-address 0x20001C00
Kamera vastaa nyt flashlataajana (
0x15A2:0x0073). Määritä ulkoinen flash-muisti, kirjoita flash-asetuslohko ja kirjoita sitten SBL:blhost -u 0x15A2,0x0073 -- fill-memory 0x2000 4 0xC0000008 word blhost -u 0x15A2,0x0073 -- configure-memory 9 0x2000 blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60000000 0x1000 blhost -u 0x15A2,0x0073 -- fill-memory 0x2000 4 0xF000000F word blhost -u 0x15A2,0x0073 -- configure-memory 9 0x2000 blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60001000 <sbl_size> blhost -u 0x15A2,0x0073 -- write-memory 0x60001000 blhost_flash_loader.bin
Kirjoita laiteohjelmisto ja aseta käynnistyslähteen varoke (fuse) niin, että siru käynnistää uuden SBL:n ulkoisesta flash-muistista:
blhost -u 0x15A2,0x0073 -t 120000 -- flash-erase-region 0x60040000 <firmware_size> blhost -u 0x15A2,0x0073 -- write-memory 0x60040000 firmware.bin blhost -u 0x15A2,0x0073 -- efuse-program-once 0x06 00000010 blhost -u 0x15A2,0x0073 -- reset
Poista hyppyjohdin ja katkaise kamerasta virta ja kytke se takaisin.
Varoitus
efuse-program-once 0x06 00000010 on kertaluonteinen, peruuttamaton varokkeen kirjoitus, joka asettaa laitteen käynnistymään ulkoisesta flash-muistista. Tämä on toinen syy antaa OpenMV IDE:n suorittaa RT1062:n käynnistyslataimen palautus sen sijaan, että suorittaisit vaihesarjan käsin.
14.1.1.5.4. OpenMV AE3¶
AE3:n suojattua käynnistyslatainta ei palauteta USB DFU:n kautta. Se kirjoitetaan uudelleen sirun MRAM-muistiin Alif Semiconductorin SE Tools -työkaluilla (toimitetaan OpenMV IDE:n mukana) sarjamuotoisen ISP-yhteyden välityksellä. Tämä on vuorovaikutteinen, vain palautukseen tarkoitettu toimenpide – ei rutiininomainen flash-kirjoitusmenetelmä – ja se on käsin tehtynä virhealtis; kaikesta tällä sivulla olevasta tämä kannattaa jättää OpenMV IDE:n hoidettavaksi.
Yhteys. SE Tools kommunikoi AE3:n kanssa sen virheenkorjaussovittimen sarjamuotoisen ISP-portin kautta – FTDI 0403:6015- tai CH340 1A86:55D3 -liitännän sekä J-Linkin avulla. Palautus edellyttää laitteen asettamista recovery-tilaan: ota käyttöön kortilla oleva recovery-kytkin.
SE Tools. OpenMV IDE sisältää nämä Alif-ohjelmat. Ne käyttävät kahta yhteistä asetustiedostoa – isp_config_data.cfg ja global-cfg.db – jotka maintenance luo ensimmäisen yhteyden yhteydessä:
Työkalu |
Tarkoitus |
|---|---|
|
Kysele Secure Enclavea ( |
|
Päivitä Secure Enclaven järjestelmäpaketti, kun se on vanhempi kuin laiteohjelmiston edellyttämä versio. |
|
Luo sisällysluettelokuva (TOC) (käytetään pelkän sovelluksen kirjoittamiseen). |
|
Kirjoita kuva(t) MRAM-muistiin – vaihe, joka palauttaa käynnistyslataimen. |
Toimenpide:
Yhdistä AE3:een työkalulla
maintenance; se kysyy sarjaporttia ja laitetyyppiä ja luo tiedostotisp_config_data.cfgjaglobal-cfg.dbmuita työkaluja varten.Jos Secure Enclaven järjestelmäpaketti on vanhentunut,
updateSystemPackagepäivittää sen; katkaise virta ja kytke se takaisin pyydettäessä.app-write-mram -i "bootloader.bin 0x80000000 firmware_pad.toc 0x8057E000"kirjoittaa käynnistyslataimen ja TOC:n MRAM-muistiin.AE3 ilmoittautuu uudelleen
37C5:96E3DFU-laitteena. Suorita normaali neljän kuvan flash-kirjoitus sivulta OpenMV AE3: dfu-util ladataksesi sovelluksen.Katkaise kamerasta virta ja kytke se takaisin sekä käännä recovery-kytkin takaisin pois päältä.
Muista
OpenMV IDE hoitaa paljon muutakin kuin tämän onnistuneen perustapauksen – vioittunut Secure Enclaven laiteohjelmisto, viallinen käynnistyslatain ja muut vikatilat vaativat kukin omat palautusvaiheensa, ja matkan varrella moni asia voi mennä pieleen. Jos yllä olevat manuaaliset vaiheet eivät palauta kameraa toimintaan, käytä OpenMV IDE:tä sen palauttamiseen.