This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Crashing eCos application
- From: Elad Yosef <elad dot yosef at gmail dot com>
- To: ecos-discuss at ecos dot sourceware dot org
- Date: Wed, 6 Apr 2011 16:02:27 +0300
- Subject: [ECOS] Crashing eCos application
hi all,
I'm using MIPS32 4KEc and developed this application on 1 RAM segment
starting at 0x8000:0000 (and that's works great).
Now due to RAM addition I want to separate the I-RAM and D-RAM.
I have edited the linker script file (ram is the I-RAM & ram_data is D-RAM):
MEMORY
{
ram_vectors : ORIGIN = 0x80000000, LENGTH = 0x200
ram : ORIGIN = 0x80000400, LENGTH = 0x3fc00 //limit to 256K 0x4fc00 -is 320k
ram_data : ORIGIN = 0x80400000, LENGTH = 0x20000
}
SECTIONS
{
SECTIONS_BEGIN
SECTION_rom_vectors (ram_vectors, 0x80000000, LMA_EQ_VMA)
SECTION_ROMISC (ram, 0x80000400, LMA_EQ_VMA)
SECTION_RELOCS (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_init (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_rodata1 (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_data (ram_data, 0x80400000, LMA_EQ_VMA)
SECTION_data1 (ram_data, ALIGN (0x8), LMA_EQ_VMA)
SECTION_eh_frame (ram_data, ALIGN (0x4), LMA_EQ_VMA)
SECTION_gcc_except_table (ram_data, ALIGN (0x4), LMA_EQ_VMA)
SECTION_ctors (ram_data, ALIGN (0x4), LMA_EQ_VMA)
SECTION_dtors (ram_data, ALIGN (0x4), LMA_EQ_VMA)
SECTION_devtab (ram_data, ALIGN (0x4), LMA_EQ_VMA)
SECTION_got (ram_data, ALIGN (0x4), LMA_EQ_VMA)
SECTION_dynamic (ram_data, ALIGN (0x4), LMA_EQ_VMA)
SECTION_sdata (ram_data, ALIGN (0x4), LMA_EQ_VMA)
SECTION_lit8 (ram_data, ALIGN (0x8), LMA_EQ_VMA)
SECTION_lit4 (ram_data, ALIGN (0x8), LMA_EQ_VMA)
SECTION_sbss (ram_data, ALIGN (0x8), LMA_EQ_VMA)
SECTION_bss (ram_data, ALIGN (0x8), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
}
Now I have eCos application that crashes when I separate the
instructions and data into 2 separate RAM segments.
It crashes during the start-up in the CTOR stage when calling:
_GLOBAL__I.11100__ZN18Cyg_HardwareThread12thread_entryEP10Cyg_Thread
(In addition I checked the option to run the application with
non-cached D-RAM and this option works (but not valid for me))
Help ? please
Thanks
Elad
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss