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]
Other format: [Raw text]

Synthetic Linux Target App Startup Problem


I've run into a problem I'm not sure where to look to fix.   I'm porting a
fairly complex program to eCos under the Linux synthetic target.  The
program compiles fine however when I start it under GDB it hangs.  I know
it's using malloc to request some sizeable blocks of memory. Initially
(under doug lea's memory mgt ) it hangs at :

In CYG_HAL_NEWSELECT () at heaps.cxx:19
CYG_MEMPOOL_DAMALLOC CYGMEM_POOL_HEAP1 ((CYG_UNIT8 *) CYGMEM_SECTION_HEAP1,
CYGMEM_SECTION_HEAP!_SIZE) CYGBID_ATTRIB_INIT_PRI(CYG_INIT_MEMALLOC)
then stepping through the code it loops through hal_idle_thread_action......

Thinking it might be a memory limitation under the standard synthetic
configuration, I increased RAM using prior posting guidance modifying the
mlt_synth_i386_rom.ldi and .h files.
I increased memory and received the same error until I hit a limitation
where synth_entry.c errored when calling cyg_hal_sys_brk().

I changed to using the block memory implementation and receive the error in
CYG_HAL_NEWSELECT() at mbox.cxx:165. and another loop.

I've run the basic tests for the synthetic target compiled under eCos
configure and they all work great. The program runs on Linux directly
(without eCos) without errors.

Are there limits in eCos on how much memory can be allocated for/within a
program or are limits based on the actual system memory?

Any help is greatly appreciated.
Joel Hansen




-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


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