Yocto Tricks

Ich arbeite gerade an eine Projekt, das viele verschiedene Hardwaren mit einem Yocto build bedienen will. Dabei habe ich ein paar Tricks gefunden, die ich hier gerne teilen möchte.

VSCode Settings automatisch erstellen

Mit dem kleine Script oe-setup-vscode könnt ihr VSCode zur Verwendung mit Yocto konfigurieren. Wenn ihr euere Yocto Umgebung ertellt habt, müsst ihr lediglich folgenden Befehl ausführen

build oe-setup-vscode <path to .vscode folder> <yocto build directory>
You had no /home/bastian/Projects/yocto/.vscode configuration.
These configuration files have therefore been created for you.

Damit wird die Extension yocto-bitbake vorgeschlagen, Python Vorschläge mit poky Code gefüttert, Dateiendungen .conf und .inc mit bitbake Syntax gehighlightet und VSCode so eingestellt mit den vielen Dateien eines Yocto Projekts klar zu kommen.

Überblick über die erzeugten Pakete

Mit dem Tool oe-pkgdata-browser könnt ihr sehen, welche Pakete von welchem Rezept gebaut wurden.

Auch die zu dem Paket gehörigen Dateien die im Image installiert werden sind aufgelistet

Warum wurde ein Paket installiert?

Wenn ihr für euer Image eine .dot Datei erstellt habt, könnt ihr mit oe-depends-dot herausfinden welches Paket dazu geführt hat ein anderes zu installieren.

oe-depends-dot -k busybox -w task-depends.dot
Because: core-image-minimal packagegroup-core-boot
core-image-minimal -> packagegroup-core-boot -> busybox

Testergebnisse des OEQA Tests aufbewahren und vergleichen

Nachdem ihr ein ptest Lauf ausgeführt habt, könnt ihr mit Hilfe von resulttool Die Testergebnisse direkt in ein git repository comitten. So fallen Änderungen im Testergebnis direkt auf.

resulttool store tmp/log/oeqa/testresults.json ../tests
INFO: Reading files from tmp/log/oeqa/testresults.json
INFO: Found 1 revisions to store
INFO: Storing test result into git repository ../test
INFO: Read local tags only, some remote tags may be missed
INFO: Committing data into to branch master
INFO: Updating /home/bastian/Projects/yocto/test HEAD to latest commit
INFO: Creating tag master/75102-g28fd497a26bdcc12d952f81436a6d873d81cd462/0

Um zu so einem Testergebnis zu kommen müsst ihr in eurer Konfiguration beispielsweise der local.conf diese Optionen hinzufügen

EXTRA_IMAGE_FEATURES ?= "debug-tweaks ptest-pkgs"
IMAGE_INSTALL += "ptest-runner"

Um den Test direkt im Anschluss eines Builds durchzuführen könnt ihr diese Optionen einschalten

IMAGE_CLASSES += "testimage testsdk"
TESTIMAGE_AUTO:qemuall = "1"

Anschließend wird nach einem bitbake-Lauf das erstelle Image in qemu gestartet und der Test durchgeführt. Das Testergebnis liegt dann in build/tmp/logoeqa/testresults.json.

Gibt es updates für meine Pakete?

Um herauszufinden ob es neuer Versionen der Softwarepakete gibt, kann das Werkzeug devtool eingesetzt werden. Entweder es wird ein spezielles Paket angegeben, oder es werden alle bekannten Pakete in allen Layern überprüft.

devtool check-upgrade-status

Das läuft für eine ganze Weile und gibt dann eine Liste der Pakete, die bereits eine neuere Version haben.

Full Circle Sci-Fi

In der Welt der Science-Fiction-Romane haben Autoren oft visionäre Ideen über die Zukunft der Technologie und deren Auswirkungen auf unsere Gesellschaft. Ein solches Beispiel ist die Perry Rodan-Serie, die bereits seit den 1960er Jahren eine treue Leserschaft begeistert. In dieser Serie gibt es eine faszinierende Parallele zur heutigen Realität: Das positronische Gehirn. Wenn wir uns Software wie ChatGPT ansehen, einen fortschrittlichen Textgenerator entwickelt von der Firma OpenAI, gibt es einige bemerkenswerte Ähnlichkeiten zu dieser fiktiven Technologie.

Das positronische Gehirn in Perry Rodan ist ein zentraler Computer, der mit Informationen gefüttert und programmiert wird, um Voraussagen zu treffen. Die positornischen Gehirne stehen nur stationär zur Verfügung, ähnlich einem Rechenzentrum. Die Bedienung erfolgt über die Eingabe von Fragen auf Kunststoffstreifen, die dann in das Gehirn eingesetzt werden. Durch einen iterativen Prozess werden Fragen und Antworten ermittelt, wobei das Gehirn zu 100% logische Antworten liefert. Um eine zuverlässige Antwort zu erhalten, musste also ein geeigneter Prompt eingegeben werden.

Ähnlich dazu bietet ChatGPT eine neue Methode des Informationsabrufs im World Wide Web. Es wurde erfolgreich in Suchmaschinen wie Bing integriert und ermöglicht es den Nutzern, Fragen im Freitext zu stellen und relevante Antworten zu erhalten. Das Modell wurde mit einer Vielzahl von Texten trainiert und basiert auf einer statistischen Wahrscheinlichkeit, welche Elemente in einem Satz am wahrscheinlichsten folgen. Wenn man ChatGPT mit einer gut formulierten Frage konfrontiert, kann es erstaunlich relevante und verständliche Antworten liefern.

Allerdings gibt es auch Unterschiede zwischen ChatGPT und dem positronischen Gehirn. Während das positronische Gehirn in Perry Rodan zu 100% logische Antworten liefert, ist ChatGPT immer noch anfällig für logische Fehler und kann mit „Garbage in, garbage out“ verglichen werden. Das bedeutet, dass die Qualität der Antworten stark von der Qualität der gestellten Frage und den zugrunde liegenden Informationen abhängt. ChatGPT kann nicht die tiefere Logik hinter dem Text erfassen, sondern basiert auf der statistischen Wahrscheinlichkeit von Satzelementen.

Trotz dieser Unterschiede ist es dennoch erstaunlich, wie weit sich die Technologie entwickelt hat und wie nah wir der fiktiven Welt von Perry Rodan kommen. Die Idee, Informationen in einen zentralen Computer einzuspeisen und auf diese Weise Antworten zu erhalten, ist nun Realität geworden. ChatGPT und ähnliche Textgeneratoren haben das Potenzial, die Art und Weise, wie wir nach Informationen suchen, zu revolutionieren und unsere Vorstellungskraft zu übertreffen.

Die Perry Rodan-Serie hat viele faszinierende Konzepte und Ideen präsentiert, und es ist spannend zu sehen, wie einige davon in unserer heutigen Welt umgesetzt werden. Obwohl ChatGPT noch nicht die Perfektion des positronischen Gehirns erreicht hat, zeigt es uns doch, dass wir uns in Richtung einer Zukunft bewegen, die einst als futuristisch und unerreichbar galt. Mit weiteren Fortschritten in der Künstlichen Intelligenz könnten wir bald noch beeindruckendere Technologien erleben, die Perry Rodans Visionen noch näher kommen. Wer weiß, vielleicht werden wir irgendwann ein positronisches Gehirn haben, das in der Lage ist, Antworten mit absoluter logischer Korrektheit zu liefern.

In der Zwischenzeit können wir jedoch die Fortschritte von ChatGPT und ähnlichen Textgeneratoren genießen und die faszinierende Ähnlichkeit mit dem positronischen Gehirn in Perry Rodan erkennen. Es ist eine aufregende Zeit, in der wir leben, und wir können gespannt sein, was die Zukunft für uns bereithält. Lang lebe der Administrator!

Kurzschluss Junkies [0x29]: Technical Difficulties

Die Kurzschluss-Junkies sind mal wieder auf Twitch und sprechen im Stream über dieverse Projekte.

Discord Link: https://discord.gg/zKxQCP7s

Mastodon Link: https://kurzschluss.group

Common Sense Tipps

Subkomponenten validieren und in Betrieb nehmen, bevor man große Systeme baut. Ist wesentlich weniger kompliziert.

Lösungsansätze unter realen Bedingungen testen um Metriken zu bekommen. Anstatt an theoretische Betrachtungen als Lösungsweg festzuhalten.

Ideen sind Schall und Rauch. Umsetzen ist Gold!

Chips der Woche

PSoC® 6 Mikrocontroller von Infineon. Ein Mikrocontroller speziell für das IOT.
Energiesparend, Leistungsstark und mit dem AIROC Radio die Grundlage für sicheres Internet of Things.

Kurzschluss Junkies [0x28]: Das Große Wandern

Die Kurzschluss-Junkies sind unterwegs in den Bergen und da darf neben dem IndiaNavi auch das Bier nicht fehlen.

Discord Link: https://discord.gg/zKxQCP7s

Forum: https://kurzschluss-junkies.de/

Wir suchen einen Produktnamen für das India Navi. Vorschläge und Voting: https://datentonne.wlankaffee.de/index.php/apps/polls/s/2RocEWUgAAiLSXpn

Common Sense Tipps

Make it work, make it good, make it fast/cheap

Wie geht man am besten mit der aktuell immernoch vorherrschenden Allocation-Situation um

„Chip“ der Woche

TFP410 von TI. Ein TMDS DVI Transceiver der RGB Signale in HDMI/DisplayPort Signale konvertiert. Für Chris‘ Nebenprojekt.

VCC, VEE, VDD, VSS oder VPP?

In elektronischen Schaltplänen findet man häufig die Bezeichnungen VCC, VEE, VDD, VSS, VPP; Vor allem an Spannungsnetzen. Doch wofür stehen die Abkürzungen?

Bevor wir versuchen zu erklären, was die Abkürzungen bedeuten schauen wir zuerst an welcher Stelle in der Schaltung Spannungsnetze auftreten, die die oben genannten Bezeichnungen tragen. VCC und VDD sind häufig an Stellen mit positiver Spannung wieder, z.B. Eingangsspannung eines Microcontrollers. VSS dagegen an der Bezugsmasse oder dem Minuspol (z.B. bei einer Batterie). VEE ist seltener zu finden und bezeichnet negative Versorgungsspannungen. VPP wird meistens die Spannung genannt, mit der eine Löschung oder Programmierung durchgeführt werden kann.

Doch woher kommen die Namen?

Erklärungsversuch 1

  • VCC: Versorgungsspannung Kollektoranschluss in bipolaren Bauteilen (PNP-NPN Transistor, 74er Logik)
  • VDD: Versorgungsspannung Drainanschluss in unipolaren Bauteilen (Feldeffekttransistor, 4000er Logik)
  • VSS: Source, Masse, Minuspol
  • VEE: Negative Spannung (Emitter)

Erklärungsversuch 2

  • VCC: an den Transistorkollektor (C) angeschlossene Versorgungsspannung (positive Spannung)
  • VEE: an den Transistoremitter (E) angeschlossene Versorgungsspannung (positive Spannung)
  • VDD: an den Transistordrain (D) angeschlossene Versorgungsspannung (negative Spannung oder Masse)
  • VSS: an die Transistorsource (S) angeschlossene Versorgungsspannung (negative Spannung oder Masse)

Erklärungsversuch 3

  • C steht für Circuit, also Schaltung. VCC ist die Versorgungsspannung der Schaltung.
  • D steht für Device, also Gerät. VDD ist die Betriebsspannung einer Schaltungskomponente
  • S steht für Series, also Zusammenhängend. VSS ist der gemeinsame Bezugspunkt, also Masse

Was ist mit VPP?

Ältere Mikrocontroller können über eine höhere Spannung als die Betriebsspannung „gebrannt“ werden. Dazu benötigen sie die Programmierspannung VPP.

Was ist eure Erklärung für die Kürzel auf Spannungsnetzen?

Kurzschluss Junkies [0x27]: Ein kleines Update

Feedback / Neuigkeiten

Danke für euren Support!

Common Sense Tipps

Basti: Große Probleme in kleine Häppchen
Chris: Inzidenzen sind immernoch wichtig

Pick and Place

Wird das dieses Jahr noch was mit dem ersten Pick?

IndiaNavi

Der Hackaday Pice ist fertig. Wir warten auf das Ergebnis.

„Chip“ der Woche

PM6200

Multifunktions Ethernet PHY mit 1.6TBit/s!!! Transferrate

Kurzschluss Junkies [0x26]: Was lange währt wird selten gut

Feedback / Neuigkeiten

Feedbackloop ist kleiner geworden. Kommt zu uns auf den Discord Server. Oder direkt in den Stream.

Common Sense Tipps

Basti: Double Check und dann Tripple Check. Und dann noch mal nachmessen.
Chris: Inzidenzen sind immernoch wichtig

Pick and Place

Es tut sich was. Aber es fehlt noch ein bisschen für den ersten Lauf

IndiaNavi

Wir haben „fertig“. Also 90%. Jetzt noch 180% Software.

„Chip“ der Woche

MAX16602 – VR13.HC Dual-Output Voltage Regulator Chipset

Kleiner PMIC mit 700A bei 1,8V. Für AI und Server

IndiaNavi Update 4.6.2021

Firmware Update over the Air

Heute habe ich einen großen Teil der Remote Update Funktion in Betrieb genommen. Es ist jetzt also möglich ein Firmwareupdate von einem HTTP Webserver einzuspielen. HTTPS funktioniert noch nicht, die TLS Engine lässt sich noch nicht richtig initialisieren. Ein Update dauert ungefähr 10 Sekunden.

Benutzeroberfläche

Auf der GUI Oberfläche wird jetzt ein Icon angezeigt, wenn das Gerät sich mit einem WiFi-Netzwerk verbunden hat.

Karten Tiles generieren

Der Konverter, der OSM Tiles von unserem Server lädt und in .raw Bilder für das Display umwandelt kann das jetzt parallel tun und läuft damit wesentlich schneller. Die Mapping Funktion hat leider eine Konvertierzeit von ca. 500ms pro Kachel. Hier kann also noch einiges optimiert werden.

Die Bilder zeigen das Display mit den Farben und auf der rechten Seite die Farben, wie sie im PNG zu sehen sind. Transparent wurde auf schwarz gemappt, daher der dunkle Balken auf dem Display.

Kurzschluss Junkies [0x25]: Mit Video und so

Feedback / Neuigkeiten

Wir haben den Podcast in einem Livestream aufgenommen. Vielleicht machen wir das jetzt immer so.

Common Sense Tipps

Basti: Kauft euch die kritischen Bauelemente (alles wofür es keine Alternative gibt) bevor ihr eure Platte entwickelt oder bestellt.
Chris: Hobby zum Beruf machen, oder besser: Habt Spaß am Job, alles andere erfüllt euch nicht.

Pick and Place

Die Endschalter sind jetzt erfolgreich angeschlossen. Es waren notwendig Pullup Widerstände dran zu machen.

IndiaNavi

ESP32 Version läuft. Display macht noch Probleme, aber es ist noch nicht klar, woher die kommen und was sie verursacht.

„Chip“ der Woche

BQ25171-Q1 von TI. Ein Ladechip für viele verschiedene Batterietypen.