Process Contiki编译错误,";错误:地址0x820003超出…第1740行的范围;

Process Contiki编译错误,";错误:地址0x820003超出…第1740行的范围;,process,compiler-errors,contiki,Process,Compiler Errors,Contiki,我开始在atmel atmega128rfa1上使用contiki操作系统。 我可以编译我的示例,但是十六进制文件不好。错误是: 错误:地址0x820003超出ipso.hex第1740行的范围(我没有使用ipso,只是保留了这个名称) 当我在linux系统中编译时,代码是程序大小是27804字节,数据是4809字节 当我在windows中编译时,程序是28292,数据是4791 我只使用一个进程和一个etimer,我想打开和关闭1个led。 生成文件由以下内容组成: ` 我不能给控制器编程。有

我开始在atmel atmega128rfa1上使用contiki操作系统。 我可以编译我的示例,但是十六进制文件不好。错误是: 错误:地址0x820003超出ipso.hex第1740行的范围(我没有使用ipso,只是保留了这个名称)

当我在linux系统中编译时,代码是程序大小是27804字节,数据是4809字节

当我在windows中编译时,程序是28292,数据是4791

我只使用一个进程和一个etimer,我想打开和关闭1个led。 生成文件由以下内容组成: `

我不能给控制器编程。有什么问题


谢谢。

在.elf文件中的特殊部分从0x810000以上开始,在生成用于编程特定内存的十六进制文件时必须删除,例如

$ avr-objdump -h webserver6.avr-atmega128rfa1

webserver6.avr-atmega128rfa1:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00001bda  00800200  0000e938  0000ea2c  2**0
              CONTENTS, ALLOC, LOAD, DATA
  1 .text         0000e938  00000000  00000000  000000f4  2**1
              CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          000031a6  00801dda  00801dda  00010606  2**0
              ALLOC
  3 .eeprom       00000029  00810000  00810000  00010606  2**0
              CONTENTS, ALLOC, LOAD, DATA
  4 .fuse         00000003  00820000  00820000  0001062f  2**0
              CONTENTS, ALLOC, LOAD, DATA
  5 .signature    00000003  00840000  00840000  00010632  2**0
              CONTENTS, ALLOC, LOAD, READONLY, DATA
所以

或者,仅复制所需的部分:

avr-objcopy -O ihex -j .text -j .data ipso.elf ipso.hex

所以它适合在Linux下编译吗?我也有类似的问题。我的编译前/编译后部分有:-objcopy-O ihex-R.eeprom-R.eesafe$(TARGET\u OUTPUT\u FILE)$(TARGET\u OUTPUT\u FILE).hex avr objcopy--无更改警告-j.eeprom--更改部分lma.eeprom=0-O ihex$(TARGET\u OUTPUT\u FILE)$(TARGET\u OUTPUT\u FILE).eep.hex您的第二个命令对我有用。因此,我将其替换为avr objcopy-O ihex-j.text-j.data$(TARGET_OUTPUT_FILE)$(TARGET_OUTPUT_FILE)。原因可能是什么?stderr>avrdude.exe:写入闪存(11674字节):stderr>写入| stderr>##
avr-objcopy -O ihex -R .eeprom -R .fuse -R signature ipso.elf ipso.hex
avr-objcopy -O ihex -j .text -j .data ipso.elf ipso.hex