[ECOS] Modifying memory layout, possible?

Jesper Skov jskov@redhat.com
Tue Oct 31 06:29:00 GMT 2000


>>>>> "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.

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


More information about the Ecos-discuss mailing list