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]

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


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