motorola自己开发的针对coldfire 5272的Dbug bootloader程序
源代码在线查看: sdram.dld
/*
* File: sdram.dld
* Purpose: Linker file for the M5272C3 Rev 2.0 and earlier
*
* Notes: dBUG running in SDRAM
*
*/
MEMORY
{
sdram : org = 0x00000000, len = 0x00400000
vector_ram : org = 0x00000000, len = 0x00000400
user_space : org = 0x00020000, len = 0x00FE0000
mbar : org = 0x10000000, len = 0x00001800
sram : org = 0x20000000, len = 0x00001000
ext_sram : org = 0x30000000, len = 0x00080000
flash : org = 0xFFE00000, len = 0x00200000
vector_rom : org = 0xFFE00000, len = 0x00004000
params : org = 0xFFE04000, len = 0x00002000
dbug : org = 0xFFE08000, len = 0x00038000
}
SECTIONS
{
.vectors :
{
vectors.o (.text)
} > sdram
.text :
{
*(.text)
} > sdram
GROUP:
{
.data :
{
___DATA_ROM = .;
___DATA_RAM = .;
*(.data)
*(.code_relocation)
___DATA_END = .;
}
.bss (BSS) :
{
___BSS_START = .;
*(.bss)
*[COMMON]
___BSS_END = .;
___HEAP_START = .;
. = . + 4;
___HEAP_END = .;
___PARAMS_START = .;
. = . + 0x48;
___PARAMS_END = .;
___SP_END = .;
. = . + 0xC00;
___SP_INIT = .;
}
} > sdram
}
___MBAR = ADDR(mbar);
___VECTOR_RAM = ADDR(vector_ram);
___SDRAM = ADDR(sdram);
___SDRAM_SIZE = SIZEOF(sdram);
___SRAM = ADDR(sram);
___SRAM_SIZE = SIZEOF(sram);
___EXT_SRAM = ADDR(ext_sram);
___EXT_SRAM_SIZE = SIZEOF(ext_sram);
___FLASH = ADDR(flash);
___FLASH_SIZE = SIZEOF(flash);
___PARAMS = ADDR(params);
___PARAMS_SIZE = ___PARAMS_END - ___PARAMS_START;
___DBUG_ADDRESS = ADDR(vector_rom);
___DBUG_CODE_START = ADDR(dbug);
___DBUG_CODE_SIZE = SIZEOF(dbug);
___DBUG_SIZE = 0x00040000;
___VECTORS_ROM = ADDR(vector_rom);
___VECTORS_RAM = ADDR(vector_ram);
___VECTORS_SIZE = SIZEOF(.vectors);
___USER_SPACE = ADDR(user_space);
___USER_SPACE_SIZE = SIZEOF(user_space);
/* Is this linked to run in ROM? */
___Running_in_ROM = 0x0;