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]

Re: Modifying memory layout, possible?



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

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