我在使用MPLAB调试一个程序时,没加link文件时正常的一个变量在加了link文件后其值变为了Restricted Memory,不知何故
芯片是PIC18F46J50
定义变量时使用了"#pragma udata gpr1"或其他的段名也没效果,定义段和分配段这一部分理解的比较模糊,望高人指点
lkr文件如下
LIBPATH .
FILES c018i.o
FILES clib.lib
FILES p18F46J50.lib
CODEPAGE NAME=boot START=0x0 END=0x17FF PROTECTED
CODEPAGE NAME=vectors START=0x1800 END=0x1829 PROTECTED
CODEPAGE NAME=page START=0x182A END=0xFFFF
//CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x300007 PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
//CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED
ACCESSBANK NAME=accessram START=0x0 END=0x5F
DATABANK NAME=gpr0 START=0x60 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=usb4 START=0x400 END=0x4FF PROTECTED
DATABANK NAME=unused_usb START=0x500 END=0x7FF
DATABANK NAME=gpr8 START=0x800 END=0x8FF
DATABANK NAME=gpr9 START=0x900 END=0x9FF
DATABANK NAME=gpr10 START=0xA00 END=0xAFF
DATABANK NAME=gpr11 START=0xB00 END=0xBFF
DATABANK NAME=gpr12 START=0xC00 END=0xCFF
DATABANK NAME=gpr13 START=0xD00 END=0xDFF
DATABANK NAME=gpr14 START=0xE00 END=0xEFF
DATABANK NAME=gpr15 START=0xF00 END=0xF5F
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED
SECTION NAME=CONFIG ROM=config
SECTION NAME=ScriptBuffer RAM=unused_usb
STACK SIZE=0x100 RAM=gpr3 |