Hallo ich versuche zum ersten mal C anstelle von ASM zu benutzen, und da ich Linuxer bin muss es eben sdcc sein. Ich will nun ein Bit endlos durch meinen Port laufen lassen. Unter Asm macht man das mit RL oder RR, in sdcc schreibt man das so: i=((i<<1)|(i>>7)) Der sdcc compiliert ja nicht nur, sondern macht vorher eine .asm file, in der der Assemblercode drin steht. Dort steht auch richtigerweise rr a; Nun lade ich aber die .ihx in meinen 8051er Simulator, der meckert dann erstmal ueber einen checksum error und wenn ich mir das Prog dann dort anschaue steht da kein RR, sondern ein RRC. Macht nun der sdcc und oder sein Assembler Murks oder der Simulator? Wieso kommen da .ihx raus, und keine .hex? Ist das ein Unterschied oder ist einfach der Name unterschiedlich. Ich rufe einfach sedcc bla.c auf, keine weiteren Optionen. Dann muesste er doch ein fuer mein 89s8252 passendes Hexfile erstellen, oder? TIM
Hi der sdcc hatte, als ich mit ihm gearbeitet habe, die Angewohnheit sehr merkwürdige HEX-Dateien (mit der Endung ihx und unterschiedlichsten Zeilenlängen) zu erstellen. Evtl. macht das deinem Simulator Probleme. Beim sdcc sollte das tool packihx dabei sein welches aus dem durcheinandergewürfelten ihx ein ordentliches hex macht. i=((i<<1)|(i>>7)) hat bei mir aber immer funktioniert. Matthias
hoert sich ja nach nem passenden Tipp an, nur passiert nach einem packihx bla.ihx nichts. Ich habe danach keine bla.hex und an der bla.ihx hat sich (laut checksum) nichts geaendert, auch wenn packihx meine :040000000200823246 :01000B0032C2 :0100130032BA :01001B0032B2 :0100230032AA :01002B0032A2 :1000820075810712007EE5826003020033020033AD :1000330012003880FE7A0175800075900075B05A01 :1000430075A0008AA0EA03FAC00212006AD002C0B7 :100053000212006AD002C00212006AD002C0021269 :10006300006AD00280DD22758901D28CAA8CC3EA92 :0F007300958C5004AA8C80F6C28C2275820022D4 :00000001FF packihx: read 22 lines, wrote 13: OK. Tim
Hi dann ist an dem HEX-File eben nichts mehr zu packen. Du kannst aber mal versuchen mit hex2bin und bin2hex ein komplett neues HEX-File zu erstellen. Diese Tools gibt es hier http://www.keil.com/download/list/utility.htm für Windows. Für Linux findet sich aber bestimmt auch was. Oder versuch einfach mal: :1000000002008232FFFFFFFFFFFFFF32FFFFFFFF13 :10001000FFFFFF32FFFFFFFFFFFFFF32FFFFFFFF8A :10002000FFFFFF32FFFFFFFFFFFFFF32FFFFFFFF7A :10003000FFFFFF12003880FE7A0175800075900086 :1000400075B05A75A0008AA0EA03FAC00212006ACD :10005000D002C00212006AD002C00212006AD002AE :10006000C00212006AD00280DD22758901D28CAAFA :100070008CC3EA958C5004AA8C80F6C28C227582BF :10008000002275810712007EE582600302003302C0 :0200900000333B :00000001FF Matthias
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.