Wie testen Sie Ihren Assembler-Code?
Ich arbeite an einem seriellen Servocontroller als Teil eines Hexapod-Roboterprojekts und der Code ist an einem Punkt angelangt, an dem es kompliziert wird ;) Wie auch immer, ich bin es gewohnt, Unit-Tests in meinem täglichen Job als C++-Serverentwickler zu verwenden und Ich habe also versucht, die gleichen Arten von Tests auf meinen AVR-Assemblercode anzuwenden. Ich habe einen Weg gefunden, der für mich in Ordnung ist (siehe hier ), aber ich bin interessiert, ob es Standardwerkzeuge oder -techniken gibt, die mir fehlen.
Aktualisiert: Für diejenigen unter Ihnen, die daran interessiert sind, sind jetzt die vollständigen Quellen zum Servocontroller und die Komponententests hier verfügbar .
Ich würde dies auch als elegant bezeichnen, möchte aber das Problem hinzufügen, wenn Sie meine Störung verzeihen.
Ich weiß, dass es sehr teure Softwarepakete gibt, um Situationen wie diese zu bewältigen, aber in der Firma, in der ich arbeite, können wir uns die Kosten nicht leisten, wenn wir nicht sicher sind, dass sie das tun, was wir brauchen.
Test Driven Development (TDD) ist eines der besseren Systeme, von denen ich für die Entwicklung gehört habe, und ich genieße es, aber die Probleme, die meine Zeit in Anspruch nehmen, werden normalerweise durch komplexe Interrupts und Hardwareereignisse verursacht, die viele Glitches nennen würden. Es scheint eine Kleinigkeit zu sein, alle 2 Stunden ein Problem zu haben, wenn sich die Sterne ausrichten, aber wenn Ihr Telefon nur einmal pro Woche einfriert, würden Sie den Namen des Ingenieurs verfluchen. In unserem Fall müssen wir in einen Futterplatz wandern, wenn es wirklich kaputt geht, was ich, wie Sie sich vorstellen können, gerne vermeide.
Ich habe sehr intelligente Lösungen zur Überprüfung der Funktionalität von Subsystemen gesehen, die mir bei richtiger Implementierung wahrscheinlich 3 Stunden einer 50-Stunden-Woche einsparen würden, aber wenn es einen intelligenten Weg gäbe, Glitch-Situationen zu finden, würde mir das Wochen Arbeit ersparen Suchen Sie nach dem "Fehler", der gelegentlich im Feld unter hoher Last auftritt.
Dieser Beitrag hilft wahrscheinlich nicht viel, aber ich finde, alles ans Licht zu bringen, macht es einfacher, alles zu lösen. Wenn es eine TDD-Methode zum Auffinden von Glitch-Situationen gäbe, könnte ich Zehntausende dafür bekommen, dafür zu bezahlen. -max
Interessant. Nach Weihnachten hatte ich vor, mich mit Assembler mit Pics zu beschäftigen, wenn ich etwas mehr Zeit habe, werde ich mir Ihr System genau ansehen.
Eine Möglichkeit, die ich sehen könnte, wäre, eine Art Framework in einer anderen Sprache zu schreiben, um die Scheinobjekte usw. zu erstellen und abzureißen, aber wie Sie dies mit dem Chip / der Simulation verbinden würden, wäre ein Problem.
Wenn es jedoch zu mühsam wird, überwiegt das die Vorteile von Unit-Tests und macht Sie auch weniger daran interessiert, es zu verwenden.
Len Holgate
Kortuk
Kortuk
Len Holgate
Kortuk
Len Holgate
Kortuk