This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Booting from Flash in a AT91M55800A based platform


Pazos Escudero Nuria wrote:

Hi,

I've ported eCos and RedBoot for a proprietary platform comprising the
AT91M55800A processor a SRAM and three S29AL016D90TFI02 flash modules.
The RAM version works fine and I can communicate with the RedBoot
console through the serial port, but I have not yet managed to make the
platform boot from the flash (after copying the ROM version of the
ported RedBoot on the flash address pointed by the chip select 0). I
don't know whether the problem comes from the platform porting or from
the fact that eCos does not recognize the used flash chips from
Spansion. Could you provide me any hint?

Thanks in advance!
Nuria



If you're programming the Flash chips with a JTAG, then the lack of eCos drivers doesn't matter at this stage.
- Does the JTAG software claim that the "program and verify" worked properly?
- Are the Flash chips properly wired on the board?
- Did you set up the "_InitMemory" table in "hal_platform_setup.h" for the Flash chip(s). You need to set the base address, # wait states, etc. Plus the base address for each CS line must be different, even if the CS is disabled.
- You should be able to reset the CPU and single step through the first few instructions, using the JTAG and/or gdb. Remember that the chip starts with the first Flash (CS0) mapped to address zero. You can single step up to the point where the chip select registers are loaded and make sure that the values are being loaded properly. But note that you can't step over the remap command since the debugger messes with the pipeline.
- One of the first things that the assembly startup does is set the master clock (and maybe the PLL) running faster. If you set them running faster than the external board can support, the board may lock up.



Whatever you're using to load the RAM debug code onto the board is initializing it properly (a JTAG initialization file?). Use that as a starting point. The only thing it isn't doing is setting up the Flash chip select registers in the EBI, so pay careful attention to that.


Frank

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]