Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   guidelines for modifying the linker script??? (http://www.chiefdelphi.com/forums/showthread.php?t=34567)

gnormhurst 13-02-2005 17:02

guidelines for modifying the linker script???
 
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:

Code:

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

Code:

// $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


Travis_Rozek 05-03-2005 14:23

Re: guidelines for modifying the linker script???
 
Our team is having the same problem. Does anyone know how to fix this?

[edit]
We managed to fix this problem by activating the optimization options in the compiler. We also removed the third argument from all the autonomous scripting functions and changed the structure definition to only two arguments. We also changed the first argument from a long int to an int, all of which freed up a lot of space. Hope this helps.

ldeffenb 06-03-2005 02:03

Re: guidelines for modifying the linker script???
 
We tried increasing the linker file, but quickly discovered why FIRST has it marked Read-Only. The only compiler/linker switches that can help you require a complete and total recompile of everything, but there are some modules for which FIRST only supplies a library, not source code.

We went back and did some *serious* code reduction and manual optimizations to get it all to fit.

Lynn (D) - Team Voltage 386 Software

PS. Watch for us at the Central Florida Regionals, we'll be the ones capping the center goal with a vision tetra in autonomous every now and then!

See BitTorrent videos at http://ldeffenb.dnsalias.net:30049. Download the one called "20050222 Tetras".

PPS. BitTorrent clients are available at www.BitTorrent.com or www.BitTornado.com.


All times are GMT -5. The time now is 15:59.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi