hi, bin gerade dabei meine ersten at's zu brennen(at89cx051). ich habe mir den programmer von batronix nachgebaut. programmentwicklung geschieht mit µvision2 von Keil in C. beim compilieren wird auch ein hex-80 file erzeugt. nur das einbinden des Hex-files in das prog-studio von batronix klappt wohl nicht richtig. es werden immer nur 6byte geladen wenn ich aber ein beispielprogramm von batronix verwende klappts 100pro. gibts da unterschiede in den hex-files? oder kann mir jemand sagen, was ich falsch mache? marko
Dann schau Dir das File doch mal mit einem Editor an. Es gibt neben Intel-Hex auch Motorola-Hex, also musst Du beim Generieren schon das Format angeben, das der Progger sehen will, oder es ins richtige umwandeln (es gibt genug utility-Programme dafür). Oder Du nimmst das bin-Format, das ist eindeutig.
Hallo Marko, ich hatte auch schon diverse Probleme mit dem HEX-Format. Hatte mir auch mal einen HEX2BIN-Converter geschrieben. Der konnte allerdings keine "Löcher", sprich wenn im Code ungenutzte Speicherbereiche waren, diese zu überspringen. Ebenso verhält es sich mit vielen "preiswerten" Brennern. Vielleicht hat Deiner da auch Probleme. Wandel die Datei vorher mal mit einem HEX2BIN-Converter um. Dann siehst Du auch gleich, ob es wirklich eine 6-Byte Datei ist. @Profi: Ich glaube´, µVision kann keinen BIN-Code ausgeben. P.S.: HEX2BIN-Converter gibt es hier: http://www.keil.com/download/docs/hex2bin.zip.asp
Schau mal wieviele Zeilen die Hex Datei hat. Damit das HEX2BIN Utility z.B. mit den AVR Studio Hex Dateien geht muss man die erste Zeile löschen. Diese ist warscheinlich ein Zusatz um auch >64kB speichern zu können.
@ markus : stimmt µvisio2 gibt kein .bin file aus selbst der hex2bin converter akzeptiert das von µvision2 erzeugte hex-file nicht ein programm wurde auf zwei unterschiedlichen umgebungen geschrieben 1. µvision2 2. Ride ++ also das von µvisio2 erzeugte hex-file: :09082A00120833C2967F407E1FC4 :0C083300EF4E6007EF1F70F81E80F522EA :10080000C29712082FD29712082FC29712082FD220 :10081000977F987E3A12082AD2967F407E1F120850 :0A0820002AD2967F987E3A02083330 :0300000002083FB4 :0C083F00787FE4F6D8FD75810702080000 :00000001FF ++ das von Ride erzeugte hex-file: :03000000020003F8 :0F000300758108E478FFF6D8FD75A0FF02001E96 :0C001200EE4F6007EF1F70F81E80F52213 :10001E00C2977E1F7F40120012D2977E1F7F401222 :10002E000012C2977E1F7F40120012D2977E3A7F37 :10003E0098120012C2967E1F7F40120012D2967E38 :10004E001F7F40120012C2967E1F7F40120012D2F6 :09005E00967E3A7F9812001222EE :00000001FF es sind unterschiede vorhanden bei gleichem code, wobei das von Ride erzeugte hex-file von batronix's prog-studio akzeptiert wird und die hardware funktioniert. nun habe ich echt kein draht ständig mit drei programmen zu arbeiten. 3 programme....da ich gern mit µvision2 die programme entw. + simul. dann müßte ich den code in Ride übertragen -> hex in prog-studio :( so genug gejammert hat jemand ne idee :D
Hallo Marko, ich habe Deine Zeilen, die µVision erstellt haben soll, in eine hex-Datei gepackt und diese mit dem hex2bin von der Keil-Homepage in eine bin-datei umgewandelt. Klappte problemlos. Heraus kam eine 2123 Bytes große Datei. Ab Adresse 0000 steht ein Sprung auf Adresse 083f. Dort geht es auch weiter. Ob das sinnvoll ist, was da dann steht war mir ohne Disassembler etwas mühsam nachzuvollziehen. Also, warum kann er das bei Dir nicht konvertieren? Gruß, Markus
Habe gerade noch etwas gefunden: Wenn es mit dem Konvertieren nach *.bin dann klappt kommt das nächste Problem auf Dich zu: Ich vermute, Du hast eine Demoversion vom Keil-µVision. Diese hat verschiedene Beschränkungen (siehe Kiel-Homepage). Eine davon ist, daß der vom C-Compiler erzeugte Code ab Adresse 0x0800 liegt. Das heißt, er wird auf einem 89C1051 oder 89C2051 nicht laufen. Wenn Du einen 89C4051 zur Hand hast: Bingo, das könnte klappen! Ansonsten schreib Dein Programm in Assembler! CU, Markus
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.