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_VERSION–1.6.0u trenutku pisanja), amake sdkpreuzima i raspakira taj SDK u~/openmv-sdk-<version>/. Izgradnja zatim dodaje SDK-ove direktorijegcc,llvm,cmake,pythoni ST alata na početakPATH. 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:
Instalirajte uređivač (VS Code).
Nabavite ljusku sličnu Linuxu (izvorni Linux, macOS ili WSL na sustavu Windows).
Klonirajte repozitorij i njegove podmodule.
make sdk– jednokratna instalacija alata.make -C lib/micropython/mpy-cross– izgradite kompajler bajtkoda.make TARGET=<board>– izgradite firmver.Programirajte ga (OpenMV IDE ili
dfu-util).Po želji, priključite J-Link i otklonite pogreške.
Stranice u nastavku vode kroz svaki korak redom.