14.1. Laiteohjelmistokehitys¶
Nämä sivut on tarkoitettu laiteohjelmistokehittäjille – ihmisille, jotka haluavat muuttaa OpenMV Cam -kamerassa ajettavaa C-koodia, eivät vain kirjoittaa MicroPython-skriptejä. Ne kattavat koko syklin: editorin pystytyksen, käännöstyökaluketjun asentamisen, laiteohjelmiston kääntämisen kaikille tuetuille korteille, oman käännöksen flashaamisen kameraan ja sen debuggaamisen oikealla laitteistolla J-Link-anturilla sekä yksiaskelisen lähdetason debuggauksen VS Codessa.
Lopuksi sinun pitäisi pystyä ottamaan puhdas kone, kääntämään laiteohjelmisto, laittamaan se kameraan, asettamaan keskeytyspiste C-lähdekoodiin ja askeltamaan suorittimen läpi.
Muista
OpenMV-laiteohjelmisto on MicroPython -haarautuma, johon on lisätty OpenMV-konenäkökirjasto, ajurit ja korttiportit. Lähdekoodi sijaitsee osoitteessa github.com/openmv/openmv. Skripteissä käyttämäsi Python-moduulit image / ml / csi ovat C-koodia tässä repositoriossa.
14.1.1. Miten kääntäminen toimii¶
Kaksi asiaa on syytä ymmärtää ennen aloittamista, sillä ne selittävät jokaisen alla olevan ohjeen:
Kääntäminen on SDK-pohjaista. Et asenna ARM-kääntäjää, CMakea, Pythonia tai ST-työkaluja itse. Repositorio kiinnittää tarkan OpenMV SDK -version (
SDK_VERSION-tiedosto –1.6.0kirjoitushetkellä), jamake sdklataa ja purkaa kyseisen SDK:n hakemistoon~/openmv-sdk-<version>/. Kääntäminen lisää sitten SDK:ngcc-,llvm-,cmake-,python- ja ST-työkaluhakemistotPATH-muuttujan alkuun. Tämä tarkoittaa, että kaikki kääntävät täsmälleen samalla työkaluketjulla, ja isäntäkoneen pystytys on minimaalinen.Natiivia Windows-käännöstä ei ole. Työkaluketju ja käännösskriptit kohdistuvat vain Linuxiin (x86-64) ja macOS:ään (arm64). Windowsissa käännät WSL:n (Windows Subsystem for Linux) sisällä, joka on aito Linux-ympäristö – joten kun WSL on asennettu, Windows-käyttäjät seuraavat Linux-ohjeita täsmälleen. Myös Docker-pohjainen käännös ja Linux-virtuaalikone ovat vaihtoehtoja.
Yleisluontoinen sekvenssi millä tahansa tuetulla järjestelmällä on aina:
Asenna editori (VS Code).
Hanki Linux-tyyppinen komentotulkki (natiivi Linux, macOS tai WSL Windowsissa).
Kloonaa repositorio ja sen alimoduulit.
make sdk– kertaluonteinen työkaluketjun asennus.make -C lib/micropython/mpy-cross– käännä tavukoodikääntäjä.make TARGET=<board>– käännä laiteohjelmisto.Flashaa se (OpenMV IDE tai
dfu-util).Liitä halutessasi J-Link ja debuggaa sitä.
Alla olevat sivut käyvät läpi jokaisen vaiheen järjestyksessä.