Forum: Mikrocontroller und Digitale Elektronik [AVR] IAR4.30 Fehler e18


von Marco S. (masterof)


Angehängte Dateien:

Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Marco S. (masterof)


Lesenswert?

Danke für den Tip.
Werde mal es entsprechen Ändern und dann melden ob es geklappt hat.

Gruß Marco

von Marco S. (masterof)


Lesenswert?

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.

von Marco S. (masterof)


Lesenswert?

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.

von Marco S. (masterof)


Lesenswert?

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
Noch kein Account? Hier anmelden.