From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Larmour To: Dave Airlie Cc: ecos-discuss@sources.redhat.com Subject: Re: [ECOS] eCos PID ROM/RAM Date: Mon, 29 Jan 2001 10:01:00 -0000 Message-id: <3A75AFF5.BD4B13A2@redhat.com> References: X-SW-Source: 2001-01/msg00456.html Dave Airlie wrote: > > I created a ROMRAM config for my PID which copies my ROM image down to RAM > and jumps to it ... it does the copy in PLATFORM_SETUP1 Macro, after > enabling the RAM, I've also used the PID RAM linker files for the ROMRAM > setup and added defined(ROMRAM) where I thought was necessary, however > I've hit a problem with the booting of the ROM, because I've used RAM > linked scripts (which is correct because it is running out of RAM), the > reset_vector is incorrect it is at 0x8044, so I am hexediting the produced > image to make the reset_vector 0x04000044, where the ROM is, > > How to other platforms handle this problem? or do they do some MMU pokery > to get around it? Include the memory layout .h file (CYGHWR_MEMORY_LAYOUT_H), like the SH HAL does, and then in vectors.S, change: #ifdef CYGHWR_HAL_ARM_HAS_MMU #define UNMAPPED(x) ((x)-__exception_handlers) #else #define UNMAPPED(x) (x) #endif to also provide for ifdef CYG_HAL_STARTUP_ROMRAM and doing, e.g. #define UNMAPPED(x) (x-CYGMEM_REGION_ram+CYGMEM_REGION_rom) > also I have a ldr pc,0x8074 in my code to jump to RAM, > this is something I don't like anyone got a better way for me to jump to > the RAM image once it is copied? b __foo __foo: Since __foo will be the address in RAM. Jifl -- Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062 Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine