Gast
#2905773
Hallo, ich setzte gerade meinen in C geschriebenen Bootloader Code auf XMega um. Irgendwie klappt das aber nicht so ganz. Der Code wird per Linker Schalter -Ttext=0x20000 auf die korrete Flash position gemappt. Auch die ISR Vectoren sind dort. Der Init Code setzt aber das RAMPZ register aux 0x02. Damit werden alle IO-Zugriffe auf den falschen Addressbereich gemappt. Nach dem Reset ist das RAMPZ Register noch auf 0x00. zB Zugriff auf IO-POrt PORTE.OUT = 0xaa; geht halt nicht auf das IO-Register sondern auf eine Addresse um 0x20000 "daneben". Ich habe mir versucht am Atmel-Applikation-Notes etwas abzuschauen. Die sind aber nicht mit AVR-Staudio Projektfiles sondern mit IAR-Projektfiles. Kann mir jemand einen Tipp oder ein BeispielCode für den Bootloaderbereich geben? Danke, Adib. --