Ich debugge gerade Code, der für den MSP430F2132 geschrieben wurde, der nur sehr wenig Flash-Speicher für das Programm zur Verfügung hat. Um richtig zu debuggen, muss ich Informationen an ein Terminal senden, damit sie gespeichert und zu einem späteren Zeitpunkt angezeigt werden können. Normalerweise würde ich printf oder einen ähnlichen Befehl (vielleicht putchar) verwenden und ihn mit der CCS 6.1-Konsole verknüpfen. Aufgrund des fehlenden Programmspeichers auf dem Mikro kann ich diese Funktionen jedoch nicht nutzen. Ich habe auch nicht die Möglichkeit, das Board zu modifizieren, um einen eingebauten UART-Kanal auf dem Mikro zu nutzen. Ich bin über die USB-Debug-Schnittstelle MSP-FET430UIF mit dem Mikro verbunden, die angeblich eine Rückkanal-UART-Schnittstelle implementiert, aber ich denke, dies erfordert spezielle Verbindungen zum Ziel, die ich nicht habe. Habe ich Optionen, die sehr wenig Speicher beanspruchen und mir erlauben würden, Debug-Informationen zu speichern? Ich muss nur zwei lange Ints pro Zyklus senden.
BEARBEITEN:
Bei näherer Betrachtung (das Design stammt ursprünglich nicht von mir) stelle ich fest, dass die für den MSP-FET430UIF erforderlichen "speziellen Verbindungen zum Ziel" (einfach zu den UCA0RXD- und UCA0TXD-Pins am Zielmikro) vorhanden sind, die Signale jedoch konvertiert werden an RS-485 unter Verwendung von Transceivern auf der Schnittstellenplatine (einer Testhalterung) und der Zielplatine. Vielleicht kann ich doch den FET430UIF-Backchannel-UART verwenden, obwohl ich noch keine guten Anweisungen dazu gefunden habe. Wenn hier jemand Erfahrung damit hat und eine Anleitung geben kann, wäre das sehr hilfreich.
Wenn Sie über eine funktionierende JTAG-Verbindung verfügen, können Sie den integrierten CCS-Debugger für alle Ihre Debugging-Anforderungen verwenden.
Speichern Sie einfach Ihre Debug-Werte in einem Array und richten Sie optional eine "if"-Klausel mit __no_operation() für einen Haltepunkt ein, um regelmäßig zu überprüfen, was vor sich geht. Oder halten Sie einfach die Ausführung an, nachdem Sie zurückkommen und die gesammelten Daten sehen.
Alternativ können Sie, anstatt das speicherhungrige printf auf stdout zu verwenden, mit fprintf auf stderr schreiben. Es ist bei weitem langsamer und verwendet keine Pufferung, aber für regelmäßige Statusberichte kann es ausreichen.
CL.
DerStrom8
Andrejs Gasilows
Das Photon
DerStrom8
Nick Alexejew
DerStrom8
Benutzer162889