Hallo zusammen,
ich hab folgendes Phänomen mit AvrStudio6.1 und einem Mega2560:
Ich will einen Bootloader an die Adresse 0x1F800 legen.
Also geb ich dem Linker die FlashSection .text=0x01F800
Allerdings zeigen mir .map und .lss verdoppelte Adressen an:
1 | CONTENTS, ALLOC, LOAD, DATA
|
2 | 1 .text 00000760 0003f000 0003f000 00000094 2**1
|
3 |
|
4 | Disassembly of section .text:
|
5 |
|
6 | 0003f000 <__vectors>:
|
7 | 3f000: 71 c0 rjmp .+226 ; 0x3f0e4 <__ctors_end>
|
8 | 3f002: 00 00 nop
|
Wenn ich nun das Hexfile flashe und wieder zurücklese, dann finde ich
zwei Segmente vor (was ja Sinn macht, da der 2560 ja 2 * 64kWorte Flash
hat).
Im Hexfile ist für das 2. Segment die "Extended Segment Address" mit
0x2000 angegeben:
Wieso 0x2000? Ich hätte eher 0x0001 vermutet?
Hab nirgends einen Hinweis gefunden, was das zu bedeuten hat.
Weiß jemand näheres?