在编译程序时出现
Error - section '.udata_main.o' can not fit the section. Section '.udata_main.o' length=0x00000606
Errors : 1
询问高人得知该错误为RAM分配超过256B。
解决方法为:
1、打开18f452.lkr——即所选MCU的lkr文件
lkr文件所在位置为:C:\Program Files\Microchip\mplabc18\v3.40\bin\LKR,用记事本打开。
其关于RAM分配的为
ACCESSBANK NAME=accessram START=0x0 END=0x7F
DATABANK NAME=gpr0 START=0x80 END=0xFF
DATABANK NAME=gpr1 START=0x100 END=0x1FF
DATABANK NAME=gpr2 START=0x200 END=0x2FF
DATABANK NAME=gpr3 START=0x300 END=0x3FF
DATABANK NAME=gpr4 START=0x400 END=0x4FF
DATABANK NAME=gpr5 START=0x500 END=0x5FF
ACCESSBANK NAME=accesssfr START=0xF80 END=0xFFF PROTECTED
SECTION NAME=CONFIG ROM=config
STACK SIZE=0x100 RAM=gpr5
2、将其中gpr0范围改为START=0x80 END=0x4FF
如下:
DATABANK NAME=gpr0 START=0x80 END=0x4FF
其余屏蔽即可。gpr5为堆栈地址,不做修改。