Multi-ICE and AT91R40008: Trouble with vector table from Addr 0x00

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi everyone.
I have a custom board using the AT91R40008. It is actually quite
similar to the AT91EB40A board so I am trying to port the Flash memory
uploader code from the AT91 software library to it. Unfortunately, I
am having problems because the flash memory uploader has a file called
cstartup_flash.s which is linked to address 0x00. The 0x00 address
read only and is used for the flash. Because of that, the startup
vector table cannot be written and it is causing problems.

I thought it would help to remap so that 0x00 could be read however I
get a data abort exception because the startup code assumes that remap
has not been performed yet. It accesses data from the "pre-remap" sram
addresses (0x0030 0000) which is now invalid.

In short, I am wondering how to handle this. My goal is to load the
Flash Memory Uploader code into SRAM, run it once to load my flash,
and then from there, run the flash memory loader from flash. I am
quite frustrated right now, but I would appreciate any help or advice
people can offer.
Steve Rut

Re: Multi-ICE and AT91R40008: Trouble with vector table from Addr 0x00
Quoted text here. Click to load it

On an AT91R40008, set up the chip select and the remap before attempting
to load the RAM. The chip select unit is always writeable like a block
of RAM, so you can start with it. The only chip select that absolutely
needs to be set up is NCS0 for the Flash with the final Flash address
(I'm using 0x01000000).

Been there - done that.

Tauno Voipio
tauno voipio @ iki fi

Site Timeline