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.0 kirjoitushetkellä), ja make sdk lataa ja purkaa kyseisen SDK:n hakemistoon ~/openmv-sdk-<version>/. Kääntäminen lisää sitten SDK:n gcc-, llvm-, cmake-, python- ja ST-työkaluhakemistot PATH-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:

  1. Asenna editori (VS Code).

  2. Hanki Linux-tyyppinen komentotulkki (natiivi Linux, macOS tai WSL Windowsissa).

  3. Kloonaa repositorio ja sen alimoduulit.

  4. make sdk – kertaluonteinen työkaluketjun asennus.

  5. make -C lib/micropython/mpy-cross – käännä tavukoodikääntäjä.

  6. make TARGET=<board> – käännä laiteohjelmisto.

  7. Flashaa se (OpenMV IDE tai dfu-util).

  8. Liitä halutessasi J-Link ja debuggaa sitä.

Alla olevat sivut käyvät läpi jokaisen vaiheen järjestyksessä.