public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] eCos PID ROM/RAM
@ 2001-01-27  4:47 Dave Airlie
  2001-01-29 10:01 ` Jonathan Larmour
  0 siblings, 1 reply; 2+ messages in thread
From: Dave Airlie @ 2001-01-27  4:47 UTC (permalink / raw)
  To: ecos-discuss

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? 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?

I'll submit the patches back if I get them cleaned up a bit... (they
should be small enough to not need copyright assignment, and most of the
code is RH's anyways :-)

dave.


-- 
      David Airlie, Software Engineer, Parthus Technologies plc.,
       Mary Rosse Centre, National Tech Park, Limerick, Ireland.
   t: +353-61-508116 / f: +353-61-508101 / David.Airlie@parthus.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ECOS] eCos PID ROM/RAM
  2001-01-27  4:47 [ECOS] eCos PID ROM/RAM Dave Airlie
@ 2001-01-29 10:01 ` Jonathan Larmour
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Larmour @ 2001-01-29 10:01 UTC (permalink / raw)
  To: Dave Airlie; +Cc: ecos-discuss

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-01-29 10:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-01-27  4:47 [ECOS] eCos PID ROM/RAM Dave Airlie
2001-01-29 10:01 ` Jonathan Larmour

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).