Hallo Ich Habe ein Problem mit dem IAR-Compiler. Wenn ich das Application Notes AVR231 mit dem CompilerIAR4.30 DemoVersion für den ATmega2561 comperlieren lasse erzeugt er mir follgende Fehlermelung: IAR Universal Linker V4.60I/386 Copyright 1987-2007 IAR Systems. All rights reserved. Error[e18]: Range error, Number out of range. Valid range is -128 (-0x80) to 255 (0xFF). File: C:\Micha SIB FFS\Bootloader Beta2\aes.c, Line: 285 Source: LDI R31, (kTable) >> 8 Where $ = KeyExpansion + 0x22 [0x3F43A] in module "aes" (C:\Micha SIB FFS\Bootloader Beta2\Release\Obj\aes.r90), offset 0x22 in segment part 32, segment FARCODE What: 8 ? (kTable >> 1 & 0x7FFFFFFF) >> 8 - 1 : kTable [0x3F0] Allowed range: 0xFFFFFF01 - 0xFF Operand: kTable [0x3f004] in module aes (C:\Micha SIB FFS\Bootloader Beta2\Release\Obj\aes.r90), Offset 0x0 in segment part 8, segment NEAR_F Wenn ich ihn aber für den ATmega64 comperlieren lasse erzeugt er mir keine Fehlermeldung. Habe die AES.h, ASE.c und nochmal die Fehlermeldung in einer Zip angehängt. Hoffe ihr könnt mir helfen. Gruß Marco
Das wird wohl daran liegen, daß der Mega2561 mehr als 128 kByte FlashROM, also mehr als 64 kiWorte Codespeicher hat. Das wiederum bedeutet, daß zur Adressierung dieses größeren FlashROM-Bereichs andere Adressierungstechniken verwendet werden müssen, als für die bisherigen AVRs bis einschließlich zum Mega128. "comperlieren"? Schönes Wort.
Danke für den Tip. Werde mal es entsprechen Ändern und dann melden ob es geklappt hat. Gruß Marco
Der Fehler liegt sehr warscheinlich beim IAR da auch das komperlieren auch testeweise mit ATmega128 nicht geht, und der ist schon bei dem Application Notes von Atmel da bei. Der Compiler hat probleme mit dee raprozässor __farflash und __hugeflash.
Habe das Programm jetzt so weit abgeändert jetzt gibt es die meldung: Fatal Error[e72]: Segment NEAR_ID must be defined in a segment definition option (-Z, -b or -P) aus. Hoffe irgent jemand hat eine gute Idee.
Fehler gefunden. Das Projekt war verstellt. Habe jetzt das Projet vom Mega128 genommen und die haeder m2561.h statt m128.h und _MEMSPM_ gelöscht und dann ging der Bootloader. Und folgende werte im Linker eingestellt BOOT_SIZE 1000 FLASH_SIZE 40000 IVT_SIZE CC RAM_SIZE 2000 RAM_BASE 200 APP_SRAM_USAGE 41E
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.