|
1、project->options->target->device 已经选定MEGA32
2、使用的是ICCAVR6.31A
“首先,把绝对定位去掉。然后编译。成功以后,用AVR Studio仿真(软件仿真就可以),
进入仿真界面以后,切换到汇编视图,找一个空白的地方,记录下地址…… ”
用上述方法可以看到,从0x2000-0x3800都是空白,这一点从ICC的Map文件也可以证实,但是放在这里还是报错。
#pragma abs_address: 0x3000
const unsigned char S1[4] = {0x00,0x33,0x55,0xAA};
const unsigned char S2[4] = {0x10,0x13,0x15,0x1A};
#pragma end_abs_address
编译后提示:
iccavr -o M32 -LC:\icc\lib\ -g -ucrtatmega.o -bfunc_lit:0x54.0x7800 -dram_end:0x85f -bdata:0x60.0x85f -dhwstk_size:32 -beeprom:1.1024 -fihx_coff -bmyarea:0x3C00.0x3FFF -S2 @M32.lk -llpatmega -lcatmega
!E KD325G021.o(4250): Code address 0x3000 already contains a value
!E KD325G021.o(4250): Code address 0x3001 already contains a value
!E KD325G021.o(4250): Code address 0x3002 already contains a value
!E KD325G021.o(4250): Code address 0x3003 already contains a value
!E KD325G021.o(4252): Code address 0x3004 already contains a value
!E KD325G021.o(4252): Code address 0x3005 already contains a value
!E KD325G021.o(4252): Code address 0x3006 already contains a value
!E KD325G021.o(4252): Code address 0x3007 already contains a value
C:\icc\bin\imakew.exe: Error code 1
Done: there are error(s). Exit code: 1
MEGA32的最大地址0-3FFF,试了一下,只有放在空间以外,比如0X4000才不报错,但是不会产生目标码。
急急急!帮忙分析一下。先谢了!!!!! |
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|