EmbDev.net

Forum: ARM programming with GCC/GNU tools what is memory remapping in ARM 7 and why we need this ?


Author: Robin Singh (singh_robin28)
Posted on:

Rate this post
0 useful
not useful
hello friends plz give me answer

thanks in advance

Author: A.K. (Guest)
Posted on:

Rate this post
0 useful
not useful
Reset starts at 0, exceptions a few words up. In production you
therefore need ROM at address 0. If you want to debug your program in
RAM, you either need RAM at address 0 or you have to map the exception
vectors to RAM.

Author: Robin Singh (singh_robin28)
Posted on:

Rate this post
0 useful
not useful
A.K. wrote:
> Reset starts at 0, exceptions a few words up. In production you
> therefore need ROM at address 0. If you want to debug your program in
> RAM, you either need RAM at address 0 or you have to map the exception
> vectors to RAM.

thanks AK

can u give me more details or any Doc or link on this memory remaping i
will be thank ful to


robin

Author: A.K. (Guest)
Posted on:

Rate this post
0 useful
not useful
See docs of the controller to be used. Implemented differently.

Author: Clifford Slocombe (clifford)
Posted on:

Rate this post
0 useful
not useful
The vector table starts at address zero. This includes the reset vector,
which is where code starts executing from on power-up, so this needs to
be non-volatile. If you need to be able to change the exception and
interupt vectors at runtime, then RAM must be mapped to address zero.

The part user manual will contain all teh details for a specific
controller. ARM9 and StrongARM parts and later have full MMU's rather
than the simple re-mappers typically implemented on ARM7.

Clifford

Author: Clifford Slocombe (clifford)
Posted on:

Rate this post
0 useful
not useful
More info ...

For NXP(Philips)LPC2000 series see
http://www.hitex.de/pdf/whitepapers/WP-ARM-0102.pdf

For Atmel AT91x40 see
http://www.hitex.de/pdf/whitepapers/WP-ARM-0104.pdf

Clifford

Author: Robin Singh (singh_robin28)
Posted on:

Rate this post
0 useful
not useful
Clifford Slocombe wrote:
> More info ...
>
> For NXP(Philips)LPC2000 series see
> http://www.hitex.de/pdf/whitepapers/WP-ARM-0102.pdf
>
> For Atmel AT91x40 see
> http://www.hitex.de/pdf/whitepapers/WP-ARM-0104.pdf
>
> Clifford

Realy thanks NOW I AM CLEAR

ROBIN

Author: Robin Singh (singh_robin28)
Posted on:

Rate this post
0 useful
not useful
Robin Singh wrote:
> Clifford Slocombe wrote:
>> More info ...
>>
>> For NXP(Philips)LPC2000 series see
>> http://www.hitex.de/pdf/whitepapers/WP-ARM-0102.pdf
>>
>> For Atmel AT91x40 see
>> http://www.hitex.de/pdf/whitepapers/WP-ARM-0104.pdf
>>
>> Clifford
>
> Realy thanks NOW I AM CLEAR
>
> ROBIN

agin small question sir :what do u mean by"change the exception and
interupt vectors at runtime",plz give ans

thanks in advance

Author: Clifford Slocombe (clifford)
Posted on:

Rate this post
0 useful
not useful
Robin Singh wrote:
> Robin Singh wrote:
>
> agin small question sir :what do u mean by"change the exception and
> interupt vectors at runtime",plz give ans
>
> thanks in advance

When an interrupt (for example) occurs, it will execute the jump
instruction placed at the interrupt vector address. In a ROM based
static system this can be set at build time to jump to a ROM based
interrupt handler. In more complex situations it may not be possible or
convenient to have a fixed interrupt vector. For example a bootloader
may use a ROM based interrupt but loads the application to RAM which may
require different interrupt handling, so the vector must be modifiable
at run-time.

Another reason for mapping the table to RAM is that RAM is typically
faster than ROM (some LPC2xxx parts have FLASH accelerators that make
this not so in some cases), so you can reduce interrupt latency this
way. You would probably also want the handlers to execute in RAM in this
case.

Clifford

Author: Robin Singh (singh_robin28)
Posted on:

Rate this post
0 useful
not useful
Clifford Slocombe wrote:
> Robin Singh wrote:
>> Robin Singh wrote:
>>
>>
>
>
>
> Clifford


again thank u very much sir

robin

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.