PIC16F716,程序才占80%,怎么报程序定位错误出错,为什么?

2020-02-10 08:41发布

我用的PIC16F716,程序才占80%,怎么报程序定位错误这类的错,为什么

MPLINK 4.30, Linker
Copyright (c) 2009 Microchip Technology Inc.
Error - section '.org_2' can not fit the absolute section. Section '.org_2' start=0x00000008, length=0x00000df2
Errors    : 1


应该是指程序定位有关系吧,我的程序中只放了两个ORG,又没有程序溢出。。。

网上说跟设置LKR文件有关系,请问LKR文件有何用?怎么设置?

各位帮帮我呀!!!

谢谢了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
max232
2020-02-10 13:37
具体情况是这样的:
716最大程序空间地址是:7FFFH,我的程序现在用了了:6FFFH,下面是716的LKR文件,似乎是我编译的时候用了前者,定义了_DEBUG,6FFF之后的空间是受保护的(有什么?),在编译器里怎么设置才能生成ELSE的选项啊?

// File: 16f716_g.lkr
// Generic linker script for the PIC16F716 processor

#IFDEF _DEBUG
  
  LIBPATH  .
  
  CODEPAGE   NAME=page     START=0x0      END=0x6FF
  CODEPAGE   NAME=debug    START=0x700    END=0x7FF    PROTECTED
  CODEPAGE   NAME=.idlocs  START=0x2000   END=0x2003   PROTECTED
  CODEPAGE   NAME=.config  START=0x2007   END=0x2007   PROTECTED
  
  DATABANK   NAME=sfr0     START=0x0      END=0x1F     PROTECTED
  DATABANK   NAME=sfr1     START=0x80     END=0x9F     PROTECTED
  
  DATABANK   NAME=gpr0     START=0x20     END=0x64
  DATABANK   NAME=dbgspr   START=0x65     END=0x6F     PROTECTED
  DATABANK   NAME=gpr1     START=0xA0     END=0xBF
  
  SHAREBANK  NAME=gprnobnkdbg START=0x70     END=0x70   PROTECTED
  SHAREBANK  NAME=gprnobnkdbg START=0xF0     END=0xF0   PROTECTED
  SHAREBANK  NAME=gprnobnk    START=0x71     END=0x7F
  SHAREBANK  NAME=gprnobnk    START=0xF1     END=0xFF   PROTECTED
  
  SECTION    NAME=PROG     ROM=page       // ROM code space
  SECTION    NAME=IDLOCS   ROM=.idlocs    // ID locations
  
#ELSE
  
  LIBPATH  .
  
  CODEPAGE   NAME=page     START=0x0      END=0x7FF
  CODEPAGE   NAME=.idlocs  START=0x2000   END=0x2003   PROTECTED
  CODEPAGE   NAME=.config  START=0x2007   END=0x2007   PROTECTED
  
  DATABANK   NAME=sfr0     START=0x0      END=0x1F     PROTECTED
  DATABANK   NAME=sfr1     START=0x80     END=0x9F     PROTECTED
  
  DATABANK   NAME=gpr0     START=0x20     END=0x6F
  DATABANK   NAME=gpr1     START=0xA0     END=0xBF
  
  SHAREBANK  NAME=gprnobnk START=0x70     END=0x7F
  SHAREBANK  NAME=gprnobnk START=0xF0     END=0xFF     PROTECTED
  
  SECTION    NAME=PROG     ROM=page       // ROM code space
  SECTION    NAME=IDLOCS   ROM=.idlocs    // ID locations
  
#FI

一周热门 更多>