This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: ARM port: how to handle ROM at address 0 without MMU ?
- From: "Eric de Jong" <list_ericdejong_10 at gmx dot net>
- To: <ecos-discuss at ecos dot sourceware dot org>
- Date: Mon, 16 Feb 2004 07:54:00 +0100
- Subject: Re: [ECOS] ARM port: how to handle ROM at address 0 without MMU ?
- References: <20040213094741.449FB3658FC@mail.esiee.fr>
- Reply-to: "Eric de Jong" <list_ericdejong_10 at gmx dot net>
>> The thing is I have a platform that has:
>> - ROM at address 0
>> - no MMU
...
>> The question is: what do you think is the best way of modifying the
>> vectors.S file in order to handle this?
You will have to move the vectors to ram. For the interrupt vectors, place the table
in ram and modify the interrupt support routines in ecos: When a function registers a
new interrupt service routine it has to write to the new location in ram. When the
interrupt occurs the processor has to fetch the address from the new location in ram
(see the chip documentation for this, probably an instruction like 'ldr pc,
.address_of_memory_location')
The virtual vector table is used for communication between e.g. the redboot stub and
the program you want to debug. I guess you can just move the location of this table
to a fixed known location in ram. Compile redboot and compile your program. As long
as the location is the same for both, debugging should work.
Eric
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss