Hallo,
asm(" ESTOP0"); fkt. bei den TMS320Fxxxx
Gibt es beim MSP430 etwas äquivalentes und wenn ja wie latet die C-Zeile?
Danke...
VG Walter
|
Anzeige
|
MSP430 asm(" ESTOP0");
Gast
#7333904
Hallo, asm(" ESTOP0"); fkt. bei den TMS320Fxxxx Gibt es beim MSP430 etwas äquivalentes und wenn ja wie latet die C-Zeile? Danke... VG Walter Da müßte wohl jemand im TMS Manual nachschauen, wozu man diesen Assemblerbefehl überhaupt benötigt. Jede CPU hat ihren eigenen Assembler. Und deshalb benutzt man Hochsprachen.
Gast
#7334111
Ich frage natürlich nur die jenigen, die asm(" ESTOP0"); kennen. Wenn ich das richtig verstehe, ist ESTOP0 ein Breakpoint für den Debugger. Was willst du damit erreichen? Je nachdem macht ein "while(1);" dasselbe...
Gast
#7334155
Oh, Oh, Oh. Ich will einfach nur wissen, ob es für den asm(" ESTOP0"); ein Äquivalent im MSP430 gibt. VG Walter
d.H. du hast keinerlei Ahnung, was der Befehl am TMS320 tut, und willst ihn einfach auf Gut Glück irgendwie in ein MSP430-Programm einfügen? Okay, gut, erm... ja... Dann mach mal.
Gast
#7334170
Ich habe keinerlei Ahnung, ich habe das Wissen, was er im Zusammenhang mit dem CCS und TMS320... in C-Progs. macht. Off. fehlt bei dir ( Εrnst B.) dieses Wissen. Noch einaml: Ich will einfach nur wissen, ob es für den asm(" ESTOP0"); ein Äquivalent im MSP430 gibt. VG Walter
Ach, d.H. es macht was anderes als ein Software-definierten Breakpoint? Dann erleuchte uns. Berechnet es PI auf 1000 Stellen?
Dann formuliere deine Frage um, z.B. "Wie kann ich in C am MSP430 einen Programabbruch erzwingen" oder "Wie kann ich in C am MSP430 mit nur einem ASM-Befehl PI auf 1000 Stellen berechnen"
Gast
#7334187
Εrnst B. kannst du meine Frage beantworten? Nein, dann schweige ab jetzt. Ja, dann sage es, wie lautet der äquivalente asm -Bef. beim MSP430. VG Walter es ist asm("nop"); wenn kein Debugger angeschlossen ist. Wenn ein Debugger angeschlossen ist, kannst du dort einen Breakpoint auf das NOP setzen. Schöner als das per inline ASM zu machen wäre das entsprechende intrinsic, __no_operation()
Gast
#7334220
Εrnst B. gehört estop0.png zum MSP430? NEIN. Gehört zum TMS320.... Off. gibt es kein Äquivalent zum estop0 im MSP430xxx Ich frage mal bei TI nach... VG Walter
deshalb habe ich es angehängt. DU wolltest das Äquivalent dazu beim MSP430. Der Weg dazu:
Gast
#7334258
Hast Du Dir schon mal die Assembler Befehle des MSP430 angesehen? Das ist sehr überschaubar, die Frage nach einem gleichwertigen Befehl kannst Du Dir also selber beantworten. Ob es möglich ist eventuell über die Peripherie etwas äqivalentes zu machen ist eine andere Sache.
Gast
#7334268
Dieter (Gast) dafür brauche ich kein Forum. Für alle die ... Off. schreibt der debugger beim Setzen eines Soft-Breakpoints 0x4343 an die Stelle des Masch.-Befs. Ich frage bei TI nach. Da gibt es sachkundige Auskunft... VG Walter
Gast
#7334281
Um herauszufinden ob es einen äquivalenten Assembler Befehl gibt braucht man beim MSP430 weniger Zeit als hier eine vernünftig formulierte Frage zu stellen. Gut, die Betonung liegt auf "vernünftig formuliert".
Gast
#7334288
Alles GUT....
Mach das, dann haben die auch was zu Lachen.
Gast
#7334307
Damit machst Du Dir das Leben unnötig schwer, denn Du kannst so nur Leute fragen, die sowohl TMS320 als auch MSP430 kennen. Alle diejenigen, die sich mit dem MSP430 bestens auskennen, den TMS320 aber nicht kennen, schließt Du damit davon aus, Deine Frage beantworten zu können. Ich bezweifle wirklich, daß das eine sinnvolle Vorgehensweise ist. Ich weiß zwar nicht, was ein ESTOP0 auf dem TMS320 tut und ich weiß auch nicht (auch deshalb) ob ich dieses Kommando in meinem derzeitigen Projekt benötige, aber ich habe plötzlich das Verlangen, dieses Kommando auf einem 8051 zu benutzen. Da ich nicht weiß, was das Kommando macht, muss es auch nicht unbedingt einen Sinn ergeben. Wie heißt das Kommando! Los! Never mind ... Gruß Jobst
Beitrag #7334710 wurde von einem Moderator gelöscht.
Gast
#7334780
asm(" MOV.B #0,R3");
Tue das. Der TMS-Experte wird die Frage dann an den MSP-ler weiterleiten. Der MSP-ler dann an den TMS-ler usw. usw.
Gast
#7334803
Peter D -> die Antwort ist da schon da.
Gast
#7334811
Genau das wurde gestern hier schon weiter oben vorgeschlagen (weil das für "NOP" steht).
Gast
#7334818
NOP ist 0x4303 nicht 0x4343!!!!!! Beim MSP430 kann man einen HW-Breakpoint setzen um dann alle Register auszulesen. LPM3; => zwingt den MSP430 in den Powerdown/Sleepmode. Dieser kann durch nur durch einen Interrupt aufgeweckt werden. Wird aber nicht zum Debuggen benötigt.
Gast
#7334847
Du glaubst dass die Anzahl der Ausrufezeichen etwas über die Richtigkeit aussagt? Es gibt viele Möglichkeiten beim MSP430 einen "NOP" darzustellen weil das nur durch einen anderen Befehl emuliert wird. Siehe z.B. hier:
Gast
#7334861
Nachtrag zum NOP (aus slau144.pdf, MSP430F2xx, MSP430G2xx Family, Seite 98):
Gast
#7334912
Moderator: Bitte schließen, die Frage ist beantwortet. Zur Klärung, denn dieser Thread ist etwas ausgeartet. Die Instruktion
wird zu
übersetzt, und
wird zu
übersetzt. __op_code(0x4343) führt zum gewünschten Ergebnis. D.h. bei einem angeschlossenen Debugger wird der Opcode als Software-Break behandelt. Ein NOP, im Gegensatz, bewirkt wenig überraschend kein Software-Break. Getestet unter:
Im TI Forum gibt es eine erklärung dafür:
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|