This is the mail archive of the ecos-discuss@sources.redhat.com 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: ROMRAM on EB55


I've connected a Wiggler to the board, and here are my results so far:

mlt_arm_at91_eb55_romram.ldi contains a line -> SECTION_rom_vectors (ram, 0x02008000, LMA_EQ_VMA).  I believe that this is causing the ROMRAM image to be linked to run from 0x02008000 upwards.  However, in the assembly code in the appropriate hal_platform_setup.h file, we mask an address (because at this point we want to point to flash, not to RAM).  The code that performs the masking shifts the address down in to (pre-remap) flash, but it still points at 0x8000 upwards - I need this bit to be removed as well, so it seems that the masking code is incomplete.  We then copy some useless area of memory into the registers and use it to setup our EBI.

I have tried changing the .ldi file such that the SECTION_rom_vectors is now at 0x02000000 and recompiled.  This causes the redboot_ROMRAM image to load correctly, and bring up a command prompt, as I would expect.  However, when I use Insight to load a RAM image of my application for debugging, it crashes.  I presume that I am attempting to load the RAM image over the top of Redboot.

There seems to be two alternatives to this problem - change the .ldi file for my RAM builds, such that RAM images do not overwrite redboot, or to alter the assembly code in hal_platform_setup.h to better mask the address that is given in the .ldi file down to the correct location.  Which of these is the "correct" way (or is there something else that I haven't mentioned)?  Do you think that these changes will break other things?

Alan Bowman

-----Original Message-----
From: Scott Dattalo [mailto:scott@dattalo.com]
Sent: 16 December 2003 17:03
Cc: ecos-discuss@sources.redhat.com
Subject: RE: [ECOS] ROMRAM on EB55


Alan,

Is it possible to connect a JTAG debugger like a Wiggler to your board and 
single step through the startup sequence? I know that I had similar 
problems with ROMRAM for an EB40-type system. It turned out that in my 
case the memory map of the board I was debugging was slightly different 
than Atmel's EB40 board. I discovered that in the startup code 
(hal_platform_setup.h) addresses were hardcoded for the EB40. This of 
course caused the ROMRAM image to fail. 

Scott


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

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


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