Mircochip Intel Hex 32 umwandeln

Gast #1436607
Lesenswert?

Hallo zusammen,

hab mal wieder eine Frage an euch.

So es geht darum ich habe einen Mikrocontroller der Firma Microchip Typ 
dsPIC30F5011

ich lade in Programm welches eine Hex-Datei ist auf µc über MPLab. 
Wollte aber gerne wissen was so in der Hex-Datei drin steht. habe schon 
rausgefunden das es sich um Intel Hex 32 handelt.
Wollte jetzt gerne wissen mit welchen Programm ich das in Ascii 
umwandeln kann.
Um so sehen wie es programmiert ist.

Über Vorschläge würde ich mich freuen.


Danke
Gast #1436627
Lesenswert?

Hab z.B. sowas stehen...


:100200002f052100807922000001880000000000f5
:10021000050007000c000700f66602000000000061
:100220000040da000000fe004440a900400e20001b
:100230000000e0000300320000002000a001880060
:100240004440a80000000600a06b27000100200029
:100250001600370062004000e080480091018800ed

das möchte ich umwandeln
#1436973
Lesenswert?

Starte mplab IDE
Configure->Select Device  dsPIC30F5011
Datei->Import  Dateiname.hex
View->Program Memory

Dann am unteren Rand des Fensters "Machine" auswählen und schon sieht 
man das Disassembler Listing.

Nachteil: man kann das Listing nur über print screen als Bitmap 
speichern.
Gast #1444368
Lesenswert?

Darkspelly schrieb:

>nur was heißt jetzt

>nop
>nopr

Was genau hast du denn erwartet, wenn nicht sowas wie "nop" o.ä.?

Oliver

P.S.
spess53 (Gast) schrieb:

>Und du solltest fit in
>Assemblerrprogrammierung sein. Sonst verstehst du eh nur Bahnhof.
#1444371
Lesenswert?

Darkspelly schrieb:
> super danke für diesen tip!!!
>
> nur was heißt jetzt
>
> nop
> nopr
>
> nur ??????

Vergiss es.
Du erwartest wahrscheinlich, dass du C-Code zu Gesicht bekommst.

Das ist aber genauso unmöglich, wie aus einer Frikadelle wieder zur Kuh 
zurückzukommen.
#1444386
Lesenswert?

Darkspelly schrieb:

> nur was heißt jetzt
>
> nop
> nopr

nop steht für No Operation, quasi der Rechner macht bewußt nichts. Er 
meditiert also praktisch für einen Maschinenzyklus...


> nur ??????

Wenn Du Dir ein HEX File disassemblierst, dann solltest natürlich schon 
die Sprache verstehen, in die Du übersetzt. Hast denn kein Manual zu 
Deinem Prozessor im Netz finden können?

Übrigens: Erster Treffer bei Google bei Eingabe Deines Prozessors:

http://ww1.microchip.com/downloads/en/DeviceDoc/70116e.pdf

Michael
#1444814
Lesenswert?

Die PIC24 und dsPIC33 kennen 2 verschiedene "nop" Befehle:

einmal Hexcode 000000, das ist das normale nop
zum Anderen
alle Hexcodes von FF0000 bis FFFFFF werden als nopr angezeigt.

Beide machen aber genau dasselbe, nämlich einen Machinenzyklus mit 
Nichtstun vertrödeln und das Programm mit dem darauffolgenden Befehl 
fortsetzen.

Die nopr entstehen, wenn man in den unteren 16 Bit z.B. eine Konstante 
speichert (mit asm-Befehl tblwtl) und die oberen 8 Bit des Befehlscodes 
unverändert mit "FF" stehen lässt.

Edit
Das soll einen gewissen Schutz gegen das Ausführen von (konstanten) 
Daten im Flash-Speicher als Befehl bieten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren