AnsweredAssumed Answered

MPC5606B LCF file  configure

Question asked by 明伟 张 on Feb 13, 2017
Latest reply on Feb 16, 2017 by Martin Kovar

how to config the LCF file for putting the project code in the special flash address?

for example as follows: the project code is configed at address 0x2000,not 0x8000;

 

* lcf file for MPC560xB processors */
/* */
/* 1 MB Flash, 80KB SRAM */

 


MEMORY
{
/*
resetvector: org = 0x00000000, len = 0x00000008
init: org = 0x00000020, len = 0x00000FE0
exception_handlers: org = 0x00001000, len = 0x00001000
internal_flash: org = 0x00002000, len = 0x000FE000

internal_ram: org = 0x40000000, len = 0x00012000
heap : org = 0x40012000, len = 0x00001000
stack : org = 0x40013000, len = 0x00001000
*/

resetvector: org = 0x00000000, len = 0x00000008
APP_ENTRY: org = 0x00008000, len = 0x00078000

init: org = 0x00080020, len = 0x00000FE0
exception_handlers: org = 0x00081000, len = 0x00001000
internal_flash: org = 0x00082000, len = 0x0007E000

internal_ram: org = 0x40000000, len = 0x00006000
heap : org = 0x40006000, len = 0x00001000
stack : org = 0x40007000, len = 0x00001000
}

/* This will ensure the rchw and reset vector are not stripped by the linker */
FORCEACTIVE { "bam_rchw" "bam_resetvector" }

SECTIONS
{
.__bam_bootarea LOAD (0x00000000): {} > resetvector

.app_entry (VLECODE) LOAD(0x00008000) : {} > APP_ENTRY

GROUP : {
.init LOAD (0x00080020) : {}
.init_vle (VLECODE) LOAD (_e_init) : {
*(.init)
*(.init_vle)
}
} > init

GROUP : {
.ivor_branch_table (VLECODE) LOAD (0x00081000) : {}
.__exception_handlers (VLECODE) LOAD (_e_ivor_branch_table) : {}
} > exception_handlers

GROUP : {
.text : {}
.text_vle (VLECODE) ALIGN(0x08): {
*(.text)
*(.text_vle)
}
.rodata (CONST) : {
*(.rdata)
*(.rodata)
}
.ctors : {}
.dtors : {}
extab : {}
extabindex : {}
} > internal_flash

GROUP : {
.__uninitialized_intc_handlertable ALIGN(2048) : {}
.data : {}
.sdata : {}
.sbss : {}
.sdata2 : {}
.sbss2 : {}
.bss : {}
} > internal_ram
}

/* Freescale CodeWarrior compiler address designations */

_stack_addr = ADDR(stack)+SIZEOF(stack);
_stack_end = ADDR(stack);
_heap_addr = ADDR(heap);
_heap_end = ADDR(heap)+SIZEOF(heap);


/* Exceptions Handlers Location (used in Exceptions.c IVPR initialization)*/

EXCEPTION_HANDLERS = ADDR(exception_handlers);

/* L2 SRAM Location (used for L2 SRAM initialization) */

L2SRAM_LOCATION = 0x40000000;

Original Attachment has been moved to: MPC5606B.lcf.zip

Outcomes