14.1.1.3. A firmware felvillantása (flashelése)¶
Miután elkészült a firmware.bin (és a hozzá tartozó romfs<n>.img) a A firmware felépítése lépés alapján, programozza azt a kamerára. Az OpenMV IDE az ajánlott módszer; a parancssoros eljárás kameracsaládonként eltér, és minden család esetében az oldal alján linkelt oldalakon van dokumentálva. Magát a rendszerbetöltőt külön kell helyreállítani – lásd A rendszerbetöltő helyreállítása.
14.1.1.3.1. OpenMV IDE: egyéni firmware betöltése (ajánlott)¶
Az OpenMV IDE az összes flashelő eszközt tartalmazza (dfu-util, az NXP SPSDK eszközök, az Alif SE Tools, az STM32 eszközök), Windowson telepíti a szükséges USB illesztőprogramokat, kezeli a rendszerbetöltőbe való belépést, és kiválasztja a csatlakoztatott kamerához tartozó helyes parancsot. Ez az ajánlott módja egy egyéni build flashelésének.
Csatlakoztassa a kamerát USB-n keresztül (nem kell a Connect gombra kattintania).
Tools -> Load Custom Firmware.
A párbeszédablakban állítsa be a Firmware Path mezőt a build
build/<TARGET>/bin/firmware.binfájljára.Opcionálisan jelölje be az Erase internal file system lehetőséget a kamera belső FAT fájlrendszerének törléséhez (lásd A belső fájlrendszer törlése arról, hogy mikor és miért).
Opcionálisan jelölje be a Reset ROMFS file system lehetőséget az alapértelmezett ROMFS újraflashelésére (le van tiltva, ha közvetlenül egy
.imgfájlt választott).Kattintson a Run gombra. Az IDE a kamerát a rendszerbetöltőjébe állítja vissza, megjeleníti a pontos flashelési parancsot és egy folyamatjelzőt, majd az új firmware-rel indítja újra a kamerát. Várja meg a kék öntesztelő LED-et; a kamera ezután normál módon újra-enumerálódik.
Létezik a Tools -> Force enter OpenMV Cam bootloader menüpont is, amellyel a kamera flashelés előtt manuálisan DFU módba helyezhető.
14.1.1.3.2. Windows: az USB illesztőprogramok telepítése¶
A Windows nem rendelkezik beépített illesztőprogrammal a kamera USB DFU, SDP és ISP interfészeihez, ezért a parancssoros eszközök (dfu-util, az NXP SPSDK eszközök, az Alif SE Tools) nem tudják érzékelni az eszközt, amíg nincs hozzá kötve egy WinUSB illesztőprogram. Az OpenMV IDE Windows-telepítője ezeket az illesztőprogramokat mind telepíti, így a legegyszerűbb megoldás az OpenMV IDE egyszeri telepítése – ezután mind az IDE, mind a parancssoros eszközök működnek. Ezért sikerül a grafikus felületű flashelés egy friss Windows gépen, miközben egy önálló dfu-util nem.
Ha az IDE telepítése nem lehetséges, futtassa a megfelelő illesztőprogram-telepítőt az OpenMV IDE share/qtcreator/drivers/ könyvtárából rendszergazdaként:
Illesztőprogram-telepítő |
Az általa kötött USB eszközök |
|---|---|
|
OpenMV DFU eszközök, valamint az RT1062 SPSDK interfészek ( |
|
Arduino DFU eszközök ( |
|
Az AE3 rendszerbetöltő helyreállításához használt FTDI |
|
Az STM32 rendszerbetöltő helyreállításához használt ST |
Alternatívaként kösse a WinUSB-t a konkrét VID:PID párhoz a Zadig vagy a pnputil eszközzel. Ezek nélkül a parancssoros flashelés Windowson nem működik. A Linux és a macOS nem igényel illesztőprogram-telepítést (a Linux csak az udev szabályokat igényli).
14.1.1.3.3. Flashelés SWD-n keresztül (make deploy)¶
Ha egy debug szonda már a kamerához van kötve – ahogy a hibakereséshez van –, a leggyorsabb szerkesztés-build-flash ciklus megkerüli az USB DFU-t, és közvetlenül SWD-n keresztül programozza a chipet. Az STM32 kamerákon:
make -j$(nproc) TARGET=<TARGET> deploy
Ez a frissen buildelt firmware-t a STM32_Programmer_CLI segítségével (az SDK-ból) flasheli a csatlakoztatott szondán keresztül. Nincs rendszerbetöltőbe való belépés, nincs USB újra-enumerálás, és nincs kábelcsere: buildeljen, futtassa a deploy parancsot, és a kamera az új kóddal indul újra. Ez az ajánlott munkafolyamat az aktív firmware-fejlesztés során. Szonda nélküli flasheléshez, vagy ha másoknak terjeszti a firmware-t, használja a DFU-t vagy az OpenMV IDE-t.
14.1.1.3.4. Belépés a rendszerbetöltő / DFU módba¶
A flashelés megköveteli, hogy a kamera a rendszerbetöltő / DFU módjában legyen. Három módon lehet belépni:
Csatlakoztatáskor (bármely kamera). Minden kamera futtatja a rendszerbetöltőjét egy rövid ideig bekapcsoláskor, mielőtt a firmware elindulna – csatlakoztassa a kamerát USB-hez, és a rendszerbetöltő rövid ideig figyel.
Az IDE-ből (bármely kamera). Csatlakoztatott kamerával a Tools -> Force enter OpenMV Cam bootloader menüpont rendszerbetöltő módba indítja újra.
Arduino reset gomb. Az Arduino kártyákon kattintson duplán a reset gombra a rendszerbetöltő módba lépéshez.
14.1.1.3.5. Parancssoros flashelés kameracsaládonként¶
Az alábbi oldalak bemutatják, hogy az OpenMV IDE mit végez a háttérben minden egyes kameracsaládnál, arra az esetre, ha saját maga szeretné futtatni a flashelést – szkriptekben, CI-ben vagy gyártósoron. A mindennapi flasheléshez az OpenMV IDE-t ajánljuk.