14.1. Razvoj firmvera

Ove stranice namijenjene su razvojnim programerima firmvera – osobama koje žele mijenjati C kod koji se izvodi na OpenMV Cam, a ne samo pisati MicroPython skripte. Pokrivaju cijeli ciklus: postavljanje uređivača, instalaciju alata za izgradnju, kompiliranje firmvera za svaku podržanu ploču, programiranje vaše verzije na kameru i otklanjanje pogrešaka na stvarnom hardveru pomoću J-Link sonde i pojedinačnog otklanjanja pogrešaka na razini izvornog koda u VS Code.

Do kraja biste trebali biti u stanju uzeti čisto računalo, izgraditi firmver, staviti ga na kameru, postaviti točku prekida u C izvornom kodu i izvoditi procesor korak po korak.

Napomena

OpenMV firmver je odvojak (fork) projekta MicroPython s dodanom OpenMV bibliotekom za strojni vid, upravljačkim programima i portovima za ploče. Izvorni kod nalazi se na github.com/openmv/openmv. Python moduli image / ml / csi koje koristite u skriptama C su kod u ovom repozitoriju.

14.1.1. Kako izgradnja funkcionira

Dvije stvari vrijedi razumjeti prije nego što počnete, jer objašnjavaju svaku uputu u nastavku:

  • Izgradnja je vođena SDK-om. Ne instalirate sami ARM kompajler, CMake, Python ili ST alate. Repozitorij utvrđuje točnu verziju OpenMV SDK-a (datoteka SDK_VERSION1.6.0 u trenutku pisanja), a make sdk preuzima i raspakira taj SDK u ~/openmv-sdk-<version>/. Izgradnja zatim dodaje SDK-ove direktorije gcc, llvm, cmake, python i ST alata na početak PATH. To znači da svatko gradi s potpuno istim alatima, a postavljanje na računalu je minimalno.

  • Ne postoji izvorna izgradnja za Windows. Alati i skripte za izgradnju ciljaju samo Linux (x86-64) i macOS (arm64). Na sustavu Windows gradite unutar WSL-a (Windows Subsystem for Linux), koji je stvarno Linux okruženje – pa nakon što je WSL instaliran, korisnici sustava Windows slijede Linux upute u potpunosti. Izgradnja temeljena na Dockeru i Linux virtualni stroj također su opcije.

Visokorazinski slijed na bilo kojem podržanom sustavu uvijek je:

  1. Instalirajte uređivač (VS Code).

  2. Nabavite ljusku sličnu Linuxu (izvorni Linux, macOS ili WSL na sustavu Windows).

  3. Klonirajte repozitorij i njegove podmodule.

  4. make sdk – jednokratna instalacija alata.

  5. make -C lib/micropython/mpy-cross – izgradite kompajler bajtkoda.

  6. make TARGET=<board> – izgradite firmver.

  7. Programirajte ga (OpenMV IDE ili dfu-util).

  8. Po želji, priključite J-Link i otklonite pogreške.

Stranice u nastavku vode kroz svaki korak redom.