gnormhurst
13-02-2005, 17:02
I got into the scripting thing -- I figure it's a good way to get my newbie programmers involved quickly. I modified the scripting system to allow mutliple script routines in the one script array (I have a NAME and an END "command" that indicates the extent of each script).
So I started writing lots of little scripts (all in the one array). I'm not even halfway into it when the linker complains:
MPLINK 3.90, Linker
Copyright (c) 2004 Microchip Technology Inc.
Error - section '.idata_scripting.o' can not fit the section. Section '.idata_scripting.o' length=0x000001a5
Errors : 1 I searched other threads and saw there may be a possibility of modifying the linker script to allow for bigger arrays.
Can someone explain the syntax and semantics of the linker script? And what the physical limits are? See my linker script below.
Thanks,
Norm
// $Id: 18f8520i.lkr,v 1.4 2003/03/13 05:02:23 sealep Exp $
// File: 18f8520i.lkr
// Sample linker script for the PIC18F8520 processor
LIBPATH .
//FILES c018i.o
FILES clib.lib
FILES p18f8520.lib
CODEPAGE NAME=vectors START=0x0 END=0x7ff PROTECTED
CODEPAGE NAME=page START=0x800 END=0x7FFF
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF003FF PROTECTED
ACCESSBANK NAME=accessram START=0x0 END=0x5F
DATABANK NAME=gpr0 START=0x80 END=0xFF PROTECTED
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
DATABANK NAME=gpr6 START=0x600 END=0x6FF
DATABANK NAME=gpr7 START=0x700 END=0x7F3
DATABANK NAME=dbgspr START=0x7F4 END=0x7FF PROTECTED
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED
SECTION NAME=CONFIG ROM=config
STACK SIZE=0x100 RAM=gpr6
So I started writing lots of little scripts (all in the one array). I'm not even halfway into it when the linker complains:
MPLINK 3.90, Linker
Copyright (c) 2004 Microchip Technology Inc.
Error - section '.idata_scripting.o' can not fit the section. Section '.idata_scripting.o' length=0x000001a5
Errors : 1 I searched other threads and saw there may be a possibility of modifying the linker script to allow for bigger arrays.
Can someone explain the syntax and semantics of the linker script? And what the physical limits are? See my linker script below.
Thanks,
Norm
// $Id: 18f8520i.lkr,v 1.4 2003/03/13 05:02:23 sealep Exp $
// File: 18f8520i.lkr
// Sample linker script for the PIC18F8520 processor
LIBPATH .
//FILES c018i.o
FILES clib.lib
FILES p18f8520.lib
CODEPAGE NAME=vectors START=0x0 END=0x7ff PROTECTED
CODEPAGE NAME=page START=0x800 END=0x7FFF
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
CODEPAGE NAME=eedata START=0xF00000 END=0xF003FF PROTECTED
ACCESSBANK NAME=accessram START=0x0 END=0x5F
DATABANK NAME=gpr0 START=0x80 END=0xFF PROTECTED
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
DATABANK NAME=gpr6 START=0x600 END=0x6FF
DATABANK NAME=gpr7 START=0x700 END=0x7F3
DATABANK NAME=dbgspr START=0x7F4 END=0x7FF PROTECTED
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED
SECTION NAME=CONFIG ROM=config
STACK SIZE=0x100 RAM=gpr6