This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Allocate memory from new section
- From: "Daniel Lidsten" <Daniel dot Lidsten at combitechsystems dot com>
- To: "eCos Discussion" <ecos-discuss at sources dot redhat dot com>
- Date: Tue, 30 Jul 2002 13:26:00 +0200
- Subject: [ECOS] Allocate memory from new section
Hi,
I am having some trouble with my mpc850. Currently i cache all RAM data
and because of that both the serial port and ethernet have stoped
working. A workaround for this problem is to let the serial and ethernet
drivers allocate memory in a section that is not cached.
Is there a way to tell the compiler/linker that all memory used within
certain files (typ smc.c) shall be allocated from a predefined section
or do i have to rewrite the code to allocate memory from a the new
section. In the below clip i have created a new section called ioRAM
where i want to put all serial and ethernet related data.
Any ideas?
Regards, Daniel
MEMORY
{
ram : ORIGIN = 0, LENGTH = 0xefffff
ioRAM : ORIGIN = 0xf00000, LENGTH = 0x100000
}
SECTIONS
{
SECTIONS_BEGIN
SECTION_vectors (ram, 0, LMA_EQ_VMA)
SECTION_text (ram, 0x5000, LMA_EQ_VMA)
SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata1 (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_rodata (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA)
SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA)
SECTION_sbss (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_bss (ram, ALIGN (0x10), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
CYG_LABEL_DEFN(__IOSpace) = 0xf00000; . = CYG_LABEL_DEFN(__IOSpace)
+ 0x100000;
SECTIONS_END
}
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss