Morgen, ich hab einen BL für einen ATMEGA2561 mit CodeVision geschrieben und wollte den nun von einem Programmierzentrum in meine Chips brennen lassen. Leider bekommt das PG-Zentrum das nicht richtig 'gebacken'. :-( Der Aussagen nach des PG-Zentrum ist mein Hex-File falsch. kurz zur Info: wenn ich das Hex-File mit den CV in die Rechner schreibe läuft alles SUPER :-). (siehe Anhang) Jetzt wollte ich den Leuten beweisen das mein File richtig ist, aber leider bekomme ich das Hex-File nicht richtig dekodiert, ich hoffe Ihr könnt mir helfen. Der Bootloader-Bereich des ATMEGA2561 sollte bei der Adresse 0x0001FC00 anfangen, das wird auch im CV richtig angezeigt, aber hier fängt das File ab der Adresse: 0x0003F800 an ( 0x0000F800 + (0x00003000 << 4)). hier mal die ersten 3 Zeilen des Hex-Files: :02 0000 02 3000 CC :0A F800 00 0D9467FC0D9400FC0D94 BC :10 F80A 00 00FC0D9400FC0D9400FC0D9400FC0D94 7A danke Stephan
Stephan wrote:
> Der Aussagen nach des PG-Zentrum ist mein Hex-File falsch.
Jags mal durch hex2hex.
Manche wollen die Rekords in streng aufsteigender Reihenfolge.
Oder das Codevision hat sich irgendwelche unbekannten Records für die
Fusebits ausgedacht. Die funktionieren dann natürlich nur mit dem
Codevision-Programmer.
Es sollte dann aber in Codevision einstellbar sein, daß es echte
Hexfiles erzeugt.
Peter
Hi, 0x0003F800 = 2 * 0x0001FC00 Im Hexfile steht die *BYTE*adresse, CV zeigt Dir die *WORD*adresse. Schau Dir im Datenblatt mal an, wie der PC vom AVR funktioniert. Dann wird Dir klar warum das so ist. CU
Hallo, Codevision benutzt doch zum erzeugen des Hexfiles den AVR Assembler (avrasm2). Im Zielverzeichnis befindet sich eine Datei AvrBuild.bat, dort stehen die verwendeten Befehle drin. @Stefan: sind die Leerzeichen von Dir eingefügt worden? Wäre zu prüfen, welchen Programmer das Programmierstudio benutzt. Eventuell ist der noch gar nicht für den Adressraum des 2561 vorbereitet? Wie ist denn deren Fehlermeldung? Grüße, Klaus
Hallo, danke für die Antworten. @ Klaus Leidinger ja, die Leerzeichen waren von mir. was die Leute im PG-Zentrum verwenden sagen sie leider nicht, ich erkenne nur den Fehler wenn sie mir ein Muster schicken und der Bootloader nicht funktioniert. :-( die Datei "AvrBuild.bat" habe ich in meiner Installation von CVA nicht gefunden. @ FBI hab ich gemacht und gesehen das beim AVR der Flash mit 16Bit angeschlossen ist. "...the Flash is organized as 32K/64K/128K x 16.." (hätte ich wissen müssen!) aber wie hilft mir das jetzt weiter??? hab das hier gefunden: C. Load Data Low Byte 1. Set XA1, XA0 to “01”. This enables data loading. 2. Set DATA = Data low byte (0x00 - 0xFF). 3. Give XTAL1 a positive pulse. This loads the data byte. D. Load Data High Byte 1. Set BS1 to “1”. This selects high data byte. 2. Set XA1, XA0 to “01”. This enables data loading. 3. Set DATA = Data high byte (0x00 - 0xFF). 4. Give XTAL1 a positive pulse. This loads the data byte. heist das der AVR wird immer mit 16Bit programmiert??? und ich kann ihn dan garnicht mit 8Bit programmieren??? Stephan
Stephan wrote: > ja, die Leerzeichen waren von mir. was die Leute im PG-Zentrum verwenden > sagen sie leider nicht, ich erkenne nur den Fehler wenn sie mir ein > Muster schicken und der Bootloader nicht funktioniert. :-( Das hex-File ist ja nur eine Sache, da steht nur der Programmcode drin. Du must ihnen außerdem noch die richtigen Fuse-settings mitschicken. Peter
Hallo @ Peter ja, das mit den FUSE hatte ich natürlich auch gemacht und die sind auch schon x-mal kontrolliert worden und sind so wie ich sie wollte. Aber das BL-Programm steht NIE an der stelle wo ich es hin haben will. AN: 0x0001FC00 <- laut FUSE-BITS Stephan
@Stefan, welchen Programmer(Hardware) benutzt Du denn? Probier doch mal, das Hexfile nicht mit Codevision, sondern z.B. mit dem AVRStudio Programmer zu brennen. Das würde ausschließen, dass da eine "Sonderbehandlung" durch den CV Programmer erfolgt. Das AVRbuild.bat sollte im gleichen Verzeichnis liegen wie das c-File und das hex File. Durch die 16 Bit decodierung müsste die 0xF800 aus dem Hexfile ja *2 auf 1F000 landen, aber wer macht diese Konvertierung?...und, wo steht das Zielprogramm denn? Gemäß dem Hexfile müsste es doch an F800 stehen. Welche Version des AVRStudio hast Du auf dem Rechner? und welche von Codevision? Ich habe gerade gesehen, das CV eine ältere Version des avrasm2 benutzt, allerdings heist das noch nicht, das die alte version das nicht kann. Grüße, Klaus
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.