This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: MPC860 eCos application
- From: Gary Thomas <gary at mlbassoc dot com>
- To: nprasad3 at gmu dot edu
- Cc: ecos-discuss at sources dot redhat dot com
- Date: 11 Dec 2003 21:08:49 -0700
- Subject: Re: [ECOS] MPC860 eCos application
- Organization: MLB Associates
- References: <53c96588ff.588ff53c96@gmu.edu>
On Thu, 2003-12-11 at 18:55, nprasad3@gmu.edu wrote:
> Hi,
>
> I have redboot working and i'm trying to write a simple application (just prints Hello eCos World!) but I seem to be missing something as redboot fails to load default .srec with the following message:
>
> *** Abort! Attempt to load S-record to address: 0xfff00000, which is not in RAM
>
> 1. Built libtarget.a (Work with ROM Monitor, Startup Mode : RAM) - target.ld still has references to rom.
> STARTUP(vectors.o)
> ENTRY(__exception_reset)
> INPUT(extras.o)
> GROUP(libtarget.a libgcc.a libsupc++.a)
> MEMORY
> {
> ram : ORIGIN = 0x00001000, LENGTH = 0x1FFF000
> rom : ORIGIN = 0xfff00000, LENGTH = 0x800000
> }
>
> SECTIONS
> {
> .vectors 0xfff00000 : { . = .; KEEP(*(.vectors)) } > rom
> .. etc (bunch of references to rom)
> }
>
> 2. I modified the target.ld to change rom references to ram, [0xfff0000 -> 0x00007050] as redboot message is as [RAM: 0x00001000-0x02000000, 0x00007050-0x01fff000 available] and redboot loads the .srec file but my application does not run (*probably* its just the wrong printf i.e. target.ld is producing a copy of the printf whose state is different from the one redboot is using).
>
> How can I make my application refer to code that's in ROM (redboot has the printf which is working) but run from RAM?
Try generating a whole new build tree just for this. Trying to adjust
one from ROM to RAM mode is error-prone.
--
Gary Thomas <gary@mlbassoc.com>
MLB Associates
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss