This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Modifying memory layout, possible?
- To: Jesper Skov <jskov at redhat dot com>
- Subject: Re: [ECOS] Modifying memory layout, possible?
- From: Gary Thomas <gthomas at redhat dot com>
- Date: Tue, 31 Oct 2000 08:06:29 -0700 (MST)
- Cc: ecos-discuss at sourceware dot cygnus dot com, jlarmour at redhat dot com, Andreas dot Karlsson at combitechsystems dot com
- Organization: Red Hat, Inc.
On 31-Oct-2000 Jesper Skov wrote:
>>>>>> "Andreas" == Andreas Karlsson <Andreas.Karlsson@combitechsystems.com> writes:
>
> Andreas> Hello, I'm wondering if it is possible to run eCos after
> Andreas> adding more memory, in any case it seems to be hard to edit
> Andreas> the memory layout, which is a bad feature for eCos.
>
> There is a GUI for doing this, but it is only available on WinDOS.
>
> Editing the .ldi and .h files should be quite simple though. But I
> guess I'm slightly biased.
>
> Andreas> Then I compile my testprogram and I expect to see some
> Andreas> changes in the start and stop registers but no.
>
> Changes in the memory layout has to be matched with appropriate
> changes to the startup code. Arguably, it should be automatic, but I
> suspect we didn't have the .h file when the AEB HAL was written.
>
> I'll put it on my TODO list, but of course I'd be happy to accept a
> patch fixing that.
>
> Andreas> How can I tell eCos that there are more memory available so I
> Andreas> can get rid of those ".bss is not within region RAM"?
>
> Maybe the linker map doesn't have the right dependencies. Did you try
> creating a new build directory after updating the .ldi and .h files?
>
> Andreas> I thought that it was in hal_platform_setup.h but this script
> Andreas> (PLATFORM_SETUP1)just runs when
> Andreas> CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS is defined and it is not
>
> This is wrong. The startup code should allow the target to run with
> ROM startup, doing all the necessary initializations - regardless of
> the inclusion/exclusion of the GDB stubs.
>
Sorry, but on this and some other platforms, no can do :-( The startup
code moves memory around, and in some cases at least, it would be very
difficult to allow this code to run after this remap had taken place.
> The condition should probably be something like:
>
>#if !defined(CYG_HAL_STARTUP_RAM) \
> defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS)
>
> That is, always init the MMU mapping for non-RAM startups, of if the
> stubs are included.
>
> Jesper