Coldfire MCF5282 DBug bootloader
源代码在线查看: eflash.dld
/*
* File: flash.dld
* Purpose: Linker file for the M5282EVB
*
* Notes: External Flash and internal SRAM
*
*/
MEMORY
{
sdram : org = 0x00000000, len = 0x01000000
user_space : org = 0x00000000, len = 0x01000000
sram : org = 0x20000000, len = 0x00010000
vector_ram : org = 0x20000000, len = 0x00000400
data_ram : org = 0x20000400, len = 0x0000FC00
ext_sram : org = 0x30000000, len = 0x00080000
ipsbar : org = 0x40000000, len = 0x40000000
flash : org = 0xF0000000, len = 0x00080000
ext_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)
} > vector_rom
.params :
{
params.o (.text)
} > params
.text :
{
*(.text)
___DATA_ROM = .;
} > dbug
GROUP :
{
.data LOAD(___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 = .;
}
} > data_ram
}
___IPSBAR = ADDR(ipsbar);
___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);
___EXT_FLASH = ADDR(ext_flash);
___EXT_FLASH_SIZE = SIZEOF(ext_flash);
___PARAMS = ADDR(params);
___PARAMS_SIZE = ___PARAMS_END - ___PARAMS_START;
___DBUG_ADDRESS = ADDR(vector_rom);
___DBUG_SIZE = 0x00040000;
___VECTOR_RAM = ADDR(vector_ram);
___USER_SPACE = ADDR(user_space);
___USER_SPACE_SIZE = SIZEOF(user_space);