This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: a silly question about the __exception_handlers
- From: Andrew Lunn <andrew at lunn dot ch>
- To: twomol <twomol at bj1860 dot net>
- Cc: "ecos-discuss at sources dot redhat dot com" <ecos-discuss at sources dot redhat dot com>
- Date: Fri, 26 Nov 2004 09:39:23 +0100
- Subject: Re: [ECOS] a silly question about the __exception_handlers
- References: <20041126032144.CAQ10457.fep1.bj1860.net@twomol>
On Fri, Nov 26, 2004 at 11:42:18AM +0800, twomol wrote:
>
> hello
>
> I use E7T to describe my question.On E7T??when reset ??the address of rom/flash bank0 is mapped from 0x0 to 0x2000000.
> I use ecos configtool build a redboot.bin using E7T templet(ROM startup).At the begining of the file is the __exception_handlers.
> The first statment of the file is :ldr pc,[pc, #24];0x20
> The conetent in 0x20 is 0x1820040.If I burn the redboot.bin in the rom/flash bank0,the board reset,begin to execute the first statment "ldr pc,[pc, #24]",then the value of PC become 0x1820040.But at this moment the address of 0x1820040 can't
> be accessed,because the memory haven't be remaped.
I don't know this specific processor, but on some processors, the
first load causes the mapping to change. On others the first write
causes the mapping to change. On others the FLASH is actually mapped
twice into memory, so accessing it at both the low and high addresses
is perfectly valid until you remove the low mapping and replace it
with RAM.
You need to read the data sheet for your specific processor and see
how it handles this mapping.
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss