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]

porting eECOS 860 board


Hi all,

I have a few questions regarding the port to ecos.   I have attached below
my memory layout files as well
as the hal_aux.h file.  We are trying to build and load redboot.  (Software
based of ecos2.0b1)

My first question is regarding the hal_aux file.  Do we need to define MCP
registers and
control/status for these regions? If so, what should they be.  Does it
matter if caching is not enabled?

My second question is related to downloading and executing the code.  I
download the elf using a BDM and sourcegate tool into RAM.
This may be a basic question but which location in RAM do I start execution
from?

Thanks in advance for your help.

adious
scott


// eCos memory layout - Thu May 30 10:27:39 2002

// This is a generated file - do not edit

#include <cyg/infra/cyg_type.inc>

MEMORY
{
    ram : ORIGIN = 0xf8000000, LENGTH = 0x08000000
}

SECTIONS
{
    SECTIONS_BEGIN
    CYG_LABEL_DEFN(__reserved_vectors) = 0x00000000;
    . = CYG_LABEL_DEFN(__reserved_vectors) + 0x3000;

    CYG_LABEL_DEFN(__reserved_vsr_table) = ALIGN (0x10);
    . = CYG_LABEL_DEFN(__reserved_vsr_table) + 0x200;

    CYG_LABEL_DEFN(__reserved_virtual_table) = ALIGN (0x10);
    . = CYG_LABEL_DEFN(__reserved_virtual_table) + 0x100;

    CYG_LABEL_DEFN(__reserved_for_rom) = ALIGN (0x10);
    . = CYG_LABEL_DEFN(__reserved_for_rom) + 0x3cd00;

//    SECTION_vectors          (ram, ALIGN (0x10), LMA_EQ_VMA)
    SECTION_vectors          (ram, 0xf8000000, LMA_EQ_VMA)
    SECTION_text             (ram, ALIGN (0x4), 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);
    SECTIONS_END
}


// eCos memory layout - Thu May 30 10:21:41 2002

// This is a generated file - do not edit

#include <cyg/infra/cyg_type.inc>

MEMORY
{
    ram : ORIGIN = 0xf8000000, LENGTH = 0x08000000
    rom : ORIGIN = 0x00000000, LENGTH = 0x00400000
}

SECTIONS
{
    SECTIONS_BEGIN
    SECTION_vectors           (rom, 0x00000000, LMA_EQ_VMA)
    SECTION_text              (rom, ALIGN (0x4), LMA_EQ_VMA)
    SECTION_fini              (rom, ALIGN (0x4), LMA_EQ_VMA)
    SECTION_rodata1           (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_rodata            (rom, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_fixup             (rom, ALIGN (0x4), LMA_EQ_VMA)
    SECTION_gcc_except_table  (rom, ALIGN (0x1), LMA_EQ_VMA)

    CYG_LABEL_DEFN(__reserved_vectors) = 0x00000000;
    . = CYG_LABEL_DEFN(__reserved_vectors) + 0x3000;

    CYG_LABEL_DEFN(__reserved_vsr_table) = ALIGN (0x1);
    . = CYG_LABEL_DEFN(__reserved_vsr_table) + 0x200;

    CYG_LABEL_DEFN(__reserved_virtual_table) = ALIGN (0x1);
    . = CYG_LABEL_DEFN(__reserved_virtual_table) + 0x100;

    SECTION_data              (ram, ALIGN (0x10), FOLLOWING
(.gcc_except_table))
    SECTION_sbss              (ram, ALIGN (0x4), LMA_EQ_VMA)
    SECTION_bss               (ram, ALIGN (0x10), LMA_EQ_VMA)
    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
    SECTIONS_END
}




// The memory map is weakly defined, allowing the application to redefine
// it if necessary. The regions defined below are the minimum requirements.
CYGARC_MEMDESC_TABLE CYGBLD_ATTRIB_WEAK = {
    // Mapping for the Matrix 860 development boards
    CYGARC_MEMDESC_CACHE(   0x00000000, 0x00400000 ), // ROM region
    CYGARC_MEMDESC_NOCACHE( 0xFF000000 , 0x00100000 ), // MCP registers
    CYGARC_MEMDESC_NOCACHE( 0xFA000000,  0x00400000 ), //
Control/Status+LEDs
    CYGARC_MEMDESC_CACHE(   CYGMEM_REGION_ram, CYGMEM_REGION_ram_SIZE ), //
Main memory

    CYGARC_MEMDESC_TABLE_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]