PIC 18f458

nobody wrote on Sunday, March 26, 2006:

Hi,

Firstly, thanks for an excellant job with FreeRTOS, i have been using the demo apps and its very impressive.

My problem:

using C18+MPLAB

I can compile the demo’s fine, using a 18f452 as the device, i want to get it working on a 18f458 - and eventually a 18f4550, but i am having trouble with this task.

if i select the device as an 18f458, open up the linker script and change the FILES p18f452.lib line to FILES p18f458.lib, and recompile i get a

section ‘SFR_BANKED0’ can not fit the absolut section. Section ‘SFR_BANKED0’ start=0x00000f00 length=0x0000002f

error, i am thinking this is due to the extra features built into this chip affecting the sfr size

can you help me out with this? i have tried many changes in the .lkr file but no success

many thanks

billy

rtel wrote on Sunday, March 26, 2006:

I have not used a 456 device, but the RAM layout for program usage I think is the same, so this is odd.

Try taking the 456 linker file and converting it for use with FreeRTOS.  Basically you have to create one large block.  You can use the existing file as a template, and see if you notice anything very different between the two.

Regards.

nobody wrote on Sunday, March 26, 2006:

hi,

Thanks for your response, i have tried many different variations to this for the 458, the latest one is below, which is practically identical to the microchip one apart from the bigblock part

LIBPATH .

FILES c018i.o
FILES clib.lib
FILES p18f458.lib

CODEPAGE   NAME=vectors    START=0x0            END=0x29           PROTECTED
CODEPAGE   NAME=page       START=0x2A           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=0xF000FF       PROTECTED

ACCESSBANK NAME=accessram  START=0x0            END=0x5F
DATABANK   NAME=BIG_BLOCK  START=0x80          END=0x5FF
DATABANK   NAME=bankedsfr  START=0xF00          END=0xF5F
ACCESSBANK NAME=accesssfr  START=0xF60          END=0xFFF          PROTECTED

SECTION    NAME=CONFIG     ROM=config

STACK SIZE=0x100 RAM=BIG_BLOCK

this one gives the error:

MPLINK 4.00, Linker
Copyright (c) 2005 Microchip Technology Inc.
Error - section ‘.udata_c018i.o’ can not fit the section. Section ‘.udata_c018i.o’ length=0x0000000a
Errors    : 1

any help appreciated, many thanks

billy