Forum: Mikrocontroller und Digitale Elektronik Projektideen: Unit Testing Framework und CLI-Build Tool, AVR


von Hendrik K. (hendrik_k)


Lesenswert?

Als Softwareentwickler im Bereich Web-/Anwendungsentwicklung bin ich es 
gewöhnt entsprechende Werkzeuge zur Verfügung zu haben und natürlich 
auch zu nutzen. Dazu gehört ein (Unit-)Test Framework genauso, wie ein 
gutes (leicht zu bedienendes) Build-Tool. Für meine AVR-Projekte habe 
ich daher in letzter Zeit mit CMocka zum testen und CMake zum bauen 
experimentiert.

Leider ist CMocka nicht wirklich für die Entwicklung für AVR 8bit MCUs 
zu gebrauchen, zumindest wenn man die Tests auch auf dem AVR direkt 
ausführen möchte. Aus diesem Grund habe ich begonnen ein eigenes kleines 
Testframework, speziell für kleine Mikrocontroller zu entwickeln.

Hauptidee:
 1. Tests lassen sich auf dem Host ausführen
 2. Tests lassen sich auf dem Targen ausführen
 3. Code und Visualisierung für beide Plattformen gleich

Da dieses Vorgehen einige zusätzliche Schritte zum reinen compiling 
benötigt, welche mit CMake nur umständlich zu konfigurieren sind, und 
der gesamte Build-Prozess im Bereich der AVRs generell sehr speziell ist 
kam mir auch noch eine zweite Idee: die Entwicklung eines CLI-Build 
Tools wie es z.B. bei Ruby on Rails, Rust und auch Ember.js zu finden 
ist. Also Konvention über Konfiguration um sich immer wiederholende 
Konfigurationsschritte einzusparen und Code zwischen versch. Projekten 
wiederverwenden zu können.

Der Aktuelle Stand ist, dass die Bibliothek zum Testen schon als 
Prototyp existiert - das CLI-Build Tool ist im Moment nur eine Idee.

Also falls jemand an einem oder beiden Projekt(en) Interesse hat - 
einfach hier melden und wir können über weitere Details sprechen und 
Ideen sammeln.

Beide Projekte würden natürlich als Open Source Projekte veröffentlicht 
werden.

Viele Grüße
Hendrik

von X. A. (wilhem)


Lesenswert?

Wie weit bist du schon mit deinem Projekt?!?

von Hendrik K. (hendrik_k)


Lesenswert?

Dave A. schrieb:
> Wie weit bist du schon mit deinem Projekt?!?

Zuletzt habe ich einen Prototypen des CLI build tools erstellt. Bauen 
und Tests lokal, aber auch auf dem Target, ausführen funktioniert im 
Prinzip. Zuletzt habe ich mich mit dem "Dependency management" 
beschäftigt. Die Idee war die Abhängigkeiten via GIT/SVN aufzulösen und 
für jedes Projekt direkt zu kompilieren. Da dies aber nicht ganz so 
trivial ist und ich gerade einen neuen Job begonnen habe, liegt 
sämtliche private Programmierarbeit zur Zeit leider auf Eis. Daher auch 
die späte Rückmeldung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.