Hallo zusammen,
ich programmiere mir gerade eine Bootloadersoftware für eine
Mikrocontrollerschaltung.
Auf meinem Mikrocontroller läuft der AN1310 Serial-Bootloader von
Microchip.
Da mein Mikrocontroller mit seiner seriellen Schnittstelle an einer
WLAN-Karte hängt, muss ich die Bootloadersoftware neu programmiern,
damit ich über WLAN neun Programmcode in meinen Controller laden kann.
Controller: PIC16f1936
In meinem Programm habe ich den Resetvektor auf 0x400 und den
Interruptvektor auf 0x404 gelegt.
Beim Compilieren steh im .lst-File soweit alles richtig drin.
Wenn ich jetzt das Hex-File untersuche, steht dort an erster Stelle
nicht die Adresse 0x400,
sondern 0x800.
Auszug .lst-File:
1 | ADDR CODE LINE SOURCE
|
2 | 0159
|
3 | 0000 0160 ORG 0x0400
|
4 | 0400 2C20 0161 GOTO main
|
Auszug .hex-File:
1 | :020000040000FA
|
2 | :02080000202CAA
|
3 |
|
4 | --> 2 Byte, Adresse: 0x0800 Rec-Typ: 00 Code: 20 2C Checksumme: AA
|
Hier meine Frage: Wie hängt die Adresse des Hex-Files mit der
eigentlichen Adresse aus dem .lst- File zusammen? Normalerweise sollte
die Adresse im hex-File doch ebenfalls 0x400 sein. Oder muss die Adresse
aus dem Hex-File anders interpretiert werden
Grüße
Nils