📄 vdk-bf533.ldf
字号:
RESERVE(___wab4=0xFF907FFF - 75,___l4=76) /* data B sram/cache */
# endif
# if DATAA_CACHE
RESERVE(___wab5=0xFF803FFF - 75,___l5=76) /* data A sram */
# else
RESERVE(___wab6=0xFF807FFF - 75,___l6=76) /* data A sram/cache */
# endif
# if defined(USE_SDRAM)
# if !defined(EZKIT_SDRAM_64MB) /* { */
RESERVE(___wab8=0x1FFFFFF - 75,___l8=76) /*EZ-Kit sdram */
# else
RESERVE(___wab9=0x3FFFFFF - 75,___l9=76) /*EZ-Kit sdram */
# endif
# endif
#endif /*} __WORKAROUND_AVOID_LDF_BLOCK_BOUNDARIES */
/*
** Include avoidance of boot-loader used bytes. The workaround for errata
** 05-00-0189 may have achieved this this already in some instances.
*/
#if ((defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ == 0xffff || __SILICON_REVISION__ == 0x1)) || \
!defined(__SILICON_REVISION__))
/* FF900000-0xFF90000F used by boot-loader for 0.1 silicon. */
RESERVE(___bldr1=0xFF900000,___bldr1l=16)
#endif
#if !defined(__WORKAROUND_AVOID_LDF_BLOCK_BOUNDARIES)
# if ((defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ == 0xffff || __SILICON_REVISION__ == 0x2)) || \
!defined(__SILICON_REVISION__))
/* 0xFF807FDF-0xFF807FFF used by boot-loader for 0.2 silicon. */
RESERVE(___bldr2=0xFF807FDF,___bldr2l=33)
# elif ((defined(__SILICON_REVISION__) && \
(__SILICON_REVISION__ == 0xffff || __SILICON_REVISION__ >= 0x3)) || \
!defined(__SILICON_REVISION__))
/* 0xFF807FEF-0xFF807FFF used by boot-loader for 0.3 and later. */
RESERVE(___bldr3=0xFF807FEF,___bldr3l=17)
# endif
#endif /* __WORKAROUND_AVOID_LDF_BLOCK_BOUNDARIES */
#if defined(USE_SCRATCHPAD_STACK) || defined(USE_SCRATCHPAD_HEAP)
stack_and_heap_scratchpad
{
INPUT_SECTION_ALIGN(4)
RESERVE(stack_and_heap_in_scratchpad, stack_and_heap_in_scratchpad_length,4)
#if defined(USE_SCRATCHPAD_STACK) && defined(USE_SCRATCHPAD_HEAP)
ldf_stack_space = stack_and_heap_in_scratchpad;
ldf_stack_end = (ldf_stack_space + ((stack_and_heap_in_scratchpad_length *STACK_SIZE) / STACKHEAP_SIZE) - 4 ) & 0xfffffffc;
ldf_heap_space = ldf_stack_end + 4;
ldf_heap_end = ldf_stack_space + stack_and_heap_in_scratchpad_length;
ldf_heap_length = ldf_heap_end - ldf_heap_space;
#elif defined(USE_SCRATCHPAD_STACK)
ldf_stack_space = stack_and_heap_in_scratchpad;
ldf_stack_end = ldf_stack_space + stack_and_heap_in_scratchpad_length;
#elif defined(USE_SCRATCHPAD_HEAP)
ldf_heap_space = stack_and_heap_in_scratchpad;
ldf_heap_end = ldf_heap_space + stack_and_heap_in_scratchpad_length;
ldf_heap_length = ldf_heap_end - ldf_heap_space;
#endif
} > mem_l1_scratch
#endif
L1_code
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $LIBS(VDK_ISR_code) )
INPUT_SECTIONS( $OBJS(L1_code) $LIBS(L1_code))
INPUT_SECTIONS( $OBJS(cplb_code) $LIBS(cplb_code))
INPUT_SECTIONS( $OBJS(cplb) $LIBS(cplb))
INPUT_SECTIONS( $OBJS(noncache_code) $LIBS(noncache_code))
INPUT_SECTIONS( $INPUT_BY_MEM_TYPE(program))
} >mem_l1_code
l1_code_cache
{
INPUT_SECTION_ALIGN(4)
#if INSTR_CACHE
___l1_code_cache = 1;
#else
___l1_code_cache = 0;
INPUT_SECTIONS( $LIBS(VDK_ISR_code) )
INPUT_SECTIONS( $OBJS(L1_code) $LIBS(L1_code))
INPUT_SECTIONS( $OBJS(cplb_code) $LIBS(cplb_code))
INPUT_SECTIONS( $OBJS(cplb) $LIBS(cplb))
INPUT_SECTIONS( $INPUT_BY_MEM_TYPE(program))
#endif
} >mem_l1_code_cache
data_L1_data_a
{
INPUT_SECTION_ALIGN(4)
#if !DATAA_CACHE
___l1_data_cache_a = 0;
#endif
INPUT_SECTIONS( $OBJS(l1_data_a) $LIBS(l1_data_a))
INPUT_SECTIONS( $OBJS(L1_data_a) $LIBS(L1_data_a))
INPUT_SECTIONS( $OBJS(l1_data) $LIBS(l1_data))
INPUT_SECTIONS( $OBJS(L1_data) $LIBS(L1_data))
INPUT_SECTIONS( $OBJS(.frt) $LIBS(.frt) )
INPUT_SECTIONS( $OBJS(.frtl) $LIBS(.frtl) )
INPUT_SECTIONS( $OBJS(ctor) $LIBS(ctor) )
INPUT_SECTIONS( $OBJS(ctorl) $LIBS(ctorl) )
INPUT_SECTIONS( $OBJS(.gdt) $LIBS(.gdt) )
INPUT_SECTIONS( $OBJS(.gdtl) $LIBS(.gdtl) )
INPUT_SECTIONS( $OBJS(vtbl) $LIBS(vtbl))
INPUT_SECTIONS( $OBJS(.rtti) $LIBS(.rtti) )
INPUT_SECTIONS( $OBJS(.edt) $LIBS(.edt) )
INPUT_SECTIONS( $OBJS(.cht) $LIBS(.cht) )
INPUT_SECTIONS( $OBJS_LIBS_INTERNAL(data1))
INPUT_SECTIONS( $OBJS_LIBS_NOT_EXTERNAL(data1))
INPUT_SECTIONS( $OBJS(voldata) $LIBS(voldata))
INPUT_SECTIONS($OBJS(constdata) $LIBS(constdata))
INPUT_SECTIONS( $OBJS(data1) $LIBS(data1))
INPUT_SECTIONS( $OBJS(cplb_data) $LIBS(cplb_data))
} >mem_l1_data_a
bsz_L1_data_a ZERO_INIT
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJS(L1_bsz) $LIBS(L1_bsz))
INPUT_SECTIONS( $INPUT_BY_MEM_TYPE(bsz))
} >mem_l1_data_a
data_L1_data_b
{
INPUT_SECTION_ALIGN(4)
#if !DATAB_CACHE
___l1_data_cache_b = 0;
#endif
INPUT_SECTIONS( $OBJS(l1_data_b) $LIBS(l1_data_b))
INPUT_SECTIONS( $OBJS(L1_data_b) $LIBS(L1_data_b))
INPUT_SECTIONS( $OBJS(l1_data) $LIBS(l1_data))
INPUT_SECTIONS( $OBJS(L1_data) $LIBS(L1_data))
# if defined(__MEMINIT__) && !defined (USE_SDRAM)
INPUT_SECTIONS( $OBJS(bsz_init) $LIBS(bsz_init))
#endif
#if USE_L1_DATA_HEAP && USE_L1_DATA_STACK
RESERVE(stack_and_heap_in_L1_data_b, stack_and_heap_in_L1_data_b_length = STACKHEAP_SIZE,4)
#elif USE_L1_DATA_HEAP
RESERVE(stack_and_heap_in_L1_data_b, stack_and_heap_in_L1_data_b_length = HEAP_SIZE,4)
#elif USE_L1_DATA_STACK
RESERVE(stack_and_heap_in_L1_data_b, stack_and_heap_in_L1_data_b_length = STACK_SIZE,4)
#endif
INPUT_SECTIONS( $OBJS(vtbl) $LIBS(vtbl))
INPUT_SECTIONS( $OBJS(.rtti) $LIBS(.rtti) )
INPUT_SECTIONS( $OBJS(.edt) $LIBS(.edt) )
INPUT_SECTIONS( $OBJS(.cht) $LIBS(.cht) )
INPUT_SECTIONS( $OBJS_LIBS_INTERNAL(data1))
INPUT_SECTIONS( $OBJS_LIBS_NOT_EXTERNAL(data1))
INPUT_SECTIONS($OBJS(voldata) $LIBS(voldata))
INPUT_SECTIONS($OBJS(constdata) $LIBS(constdata))
INPUT_SECTIONS($OBJS(data1) $LIBS(data1))
INPUT_SECTIONS( $OBJS(cplb_data) $LIBS(cplb_data))
} >mem_l1_data_b
bsz_L1_data_b ZERO_INIT
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJS(L1_bsz) $LIBS(L1_bsz))
INPUT_SECTIONS( $INPUT_BY_MEM_TYPE(bsz))
} >mem_l1_data_b
# if defined(__MEMINIT__) && !defined (USE_SDRAM)
.meminit { ALIGN(4) } >mem_l1_data_b
#endif
#if USE_L1_DATA_STACK || USE_L1_DATA_HEAP
stack_and_heap_L1_data_b
{
INPUT_SECTION_ALIGN(4)
#if !(defined(__MEMINIT__) && !defined(USE_SDRAM))
RESERVE_EXPAND(stack_and_heap_in_L1_data_b, stack_and_heap_in_L1_data_b_length,0,4)
#endif
#if USE_L1_DATA_STACK && USE_L1_DATA_HEAP
ldf_stack_space = stack_and_heap_in_L1_data_b;
ldf_stack_end = (ldf_stack_space + (stack_and_heap_in_L1_data_b_length * STACK_SIZE)/ STACKHEAP_SIZE - 4 ) & 0xfffffffc;
ldf_heap_space = ldf_stack_end + 4;
ldf_heap_end = ldf_stack_space + stack_and_heap_in_L1_data_b_length;
ldf_heap_length = ldf_heap_end - ldf_heap_space;
#elif USE_L1_DATA_STACK
ldf_stack_space = stack_and_heap_in_L1_data_b;
ldf_stack_end = ldf_stack_space + stack_and_heap_in_L1_data_b_length;
#elif USE_L1_DATA_HEAP
ldf_heap_space = stack_and_heap_in_L1_data_b;
ldf_heap_end = ldf_heap_space + stack_and_heap_in_L1_data_b_length;
ldf_heap_length = ldf_heap_end - ldf_heap_space;
#endif
} > mem_l1_data_b
#endif
#if DATAA_CACHE
l1_data_a_cache
{
INPUT_SECTION_ALIGN(4)
___l1_data_cache_a = 1;
} >mem_l1_data_a_cache
#endif /* } DATAA_CACHE */
#if DATAB_CACHE
l1_data_b_cache
{
INPUT_SECTION_ALIGN(4)
___l1_data_cache_b = 1;
} >mem_l1_data_b_cache
#endif /* } DATAB_CACHE */
#if (defined(USE_SDRAM_STACK) || defined(USE_SDRAM_HEAP)) && \
(!DATAA_CACHE && !DATAB_CACHE)
# warning Putting stack/heap into external sdram without data cache enabled can have a serious performance impact
#endif
#ifdef USE_SDRAM
sdram0_bank0
{
#if defined(USE_SDRAM_STACK) && defined(USE_SDRAM_HEAP)
RESERVE(stack_and_heap_in_sdram, stack_and_heap_in_sdram_length = STACKHEAP_SIZE,4)
#elif defined(USE_SDRAM_STACK)
RESERVE(stack_and_heap_in_sdram, stack_and_heap_in_sdram_length = STACK_SIZE,4)
#elif defined(USE_SDRAM_HEAP)
RESERVE(stack_and_heap_in_sdram, stack_and_heap_in_sdram_length = HEAP_SIZE,4)
#else
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJS(sdram0_bank0) $LIBS(sdram0_bank0))
INPUT_SECTIONS( $OBJS(noncache_code) $LIBS(noncache_code))
INPUT_SECTIONS( $INPUT_BY_MEM_TYPE(program))
INPUT_SECTIONS( $OBJS(cplb_code) $LIBS(cplb_code))
#endif
} >mem_sdram0_bank0
#if defined(USE_SDRAM_STACK) || defined(USE_SDRAM_HEAP)
stack_heap_sdram
{
INPUT_SECTION_ALIGN(4)
RESERVE_EXPAND(stack_and_heap_in_sdram, stack_and_heap_in_sdram_length,0,4)
#if defined(USE_SDRAM_STACK) && defined(USE_SDRAM_HEAP)
ldf_stack_space = stack_and_heap_in_sdram;
ldf_stack_end = (ldf_stack_space + ((stack_and_heap_in_sdram_length * STACK_SIZE)/ STACKHEAP_SIZE) - 4 ) & 0xfffffffc;
ldf_heap_space = ldf_stack_end + 4;
ldf_heap_end = ldf_stack_space + stack_and_heap_in_sdram_length;
ldf_heap_length = ldf_heap_end - ldf_heap_space;
#elif defined(USE_SDRAM_STACK)
ldf_stack_space = stack_and_heap_in_sdram;
ldf_stack_end = ldf_stack_space + stack_and_heap_in_sdram_length;
#elif defined(USE_SDRAM_HEAP)
ldf_heap_space = stack_and_heap_in_sdram;
ldf_heap_end = ldf_heap_space + stack_and_heap_in_sdram_length;
ldf_heap_length = ldf_heap_end - ldf_heap_space;
#endif
} >mem_sdram0_bank0
#endif /* USE_SDRAM_STACK || USE_SDRAM_HEAP */
sdram0_bank1
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJS(sdram0_bank1) $LIBS(sdram0_bank1))
INPUT_SECTIONS( $OBJS(sdram0_data) $LIBS(sdram0_data))
INPUT_SECTIONS( $OBJS(cplb) $LIBS(cplb))
INPUT_SECTIONS( $OBJS(data1) $LIBS(data1))
INPUT_SECTIONS( $OBJS(voldata) $LIBS(voldata))
INPUT_SECTIONS( $OBJS(constdata) $LIBS(constdata))
INPUT_SECTIONS( $OBJS(.edt) $LIBS(.edt) )
INPUT_SECTIONS( $OBJS(.cht) $LIBS(.cht) )
INPUT_SECTIONS( $OBJS(.rtti) $LIBS(.rtti) )
INPUT_SECTIONS( $OBJS(vtbl) $LIBS(vtbl) )
INPUT_SECTIONS( $OBJS(cplb_data) $LIBS(cplb_data))
} >mem_sdram0_bank1
sdram0_bank2
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJS(sdram0_bank2) $LIBS(sdram0_bank2))
INPUT_SECTIONS( $OBJS(sdram0_data) $LIBS(sdram0_data))
#if defined(__MEMINIT__)
INPUT_SECTIONS( $OBJS(bsz_init) $LIBS(bsz_init))
#endif
INPUT_SECTIONS( $OBJS(cplb) $LIBS(cplb))
INPUT_SECTIONS($OBJS(data1) $LIBS(data1))
INPUT_SECTIONS($OBJS(voldata) $LIBS(voldata))
INPUT_SECTIONS($OBJS(constdata) $LIBS(constdata))
INPUT_SECTIONS( $OBJS(.edt) $LIBS(.edt) )
INPUT_SECTIONS( $OBJS(.cht) $LIBS(.cht) )
INPUT_SECTIONS( $OBJS(.rtti) $LIBS(.rtti) )
INPUT_SECTIONS( $OBJS(vtbl) $LIBS(vtbl) )
INPUT_SECTIONS( $OBJS(cplb_data) $LIBS(cplb_data))
} >mem_sdram0_bank2
#if defined(__MEMINIT__)
.meminit { ALIGN(4) } >mem_sdram0_bank2
#endif
sdram0_bank2_bsz ZERO_INIT
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJS(sdram_bsz) $LIBS(sdram_bsz))
INPUT_SECTIONS( $OBJS(bsz) $LIBS(bsz))
} >mem_sdram0_bank2
sdram0_bank3
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJS(sdram0_bank3) $LIBS(sdram0_bank3))
INPUT_SECTIONS( $OBJS(noncache_code) $LIBS(noncache_code))
INPUT_SECTIONS( $INPUT_BY_MEM_TYPE(program))
INPUT_SECTIONS( $OBJS(cplb_code) $LIBS(cplb_code))
} >mem_sdram0_bank3
#endif
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -