📄 videoinedgedetection_bf561.ldf
字号:
#else
#define CRT crts561.doj
#endif /* } */
#endif /* __cplusplus */ /* } */
#endif /* USE_FILEIO */ /* } */
#endif /* USE_PROFILER */ /* } */
#endif /* USER_CRT } */
#ifdef __cplusplus /* { */
#ifdef __WORKAROUNDS_ENABLED /* { */
#define ENDCRT , crtn561y.doj
#else
#define ENDCRT , crtn561.doj
#endif /* } */
#else
#define ENDCRT
#endif /* } */
$OBJECTS = CRT, $COMMAND_LINE_OBJECTS ,cplbtab561a.doj ENDCRT;
MEMORY
{
/* ----- Core A ----- */
MEM_A_L1_SCRATCH { TYPE(RAM) WIDTH(8) START(0xFFB00000) END(0xFFB00FFF) }
MEM_A_L1_CODE_CACHE { TYPE(RAM) WIDTH(8) START(0xFFA10000) END(0xFFA13FFF) }
MEM_A_L1_CODE { TYPE(RAM) WIDTH(8) START(0xFFA00000) END(0xFFA03FFF) }
#ifdef USE_CACHE
MEM_A_L1_DATA_B { TYPE(RAM) WIDTH(8) START(0xFF901000) END(0xFF903FFF) }
#else
MEM_A_L1_DATA_B { TYPE(RAM) WIDTH(8) START(0xFF902000) END(0xFF906FFF) }
#endif
MEM_A_L1_STACK { TYPE(RAM) WIDTH(8) START(0xFF900000) END(0xFF901FFF) }
#ifdef USE_CACHE
MEM_A_L1_DATA_A_CACHE { TYPE(RAM) WIDTH(8) START(0xFF804000) END(0xFF807FFF) }
MEM_A_L1_DATA_A { TYPE(RAM) WIDTH(8) START(0xFF800000) END(0xFF803FFF) }
#else
MEM_A_L1_DATA_A { TYPE(RAM) WIDTH(8) START(0xFF800000) END(0xFF807FFF) }
#endif
MEM_L2_SRAM_COREA { TYPE(RAM) WIDTH(8) START(0xFEB10000) END(0xFEB1FFFF) }
MEM_STD_HEAP { TYPE(RAM) WIDTH(8) START(0x00008000) END(0x001FFFFF) }
MEM_SDRAM0_BANK0 { TYPE(RAM) WIDTH(8) START(0x00600000) END(0x00FFFFFF) }
MEM_SDRAM0_BANK1 { TYPE(RAM) WIDTH(8) START(0x01000000) END(0x01FFFFFF) }
MEM_SDRAM0_BANK2 { TYPE(RAM) WIDTH(8) START(0x02000000) END(0x02FFFFFF) }
MEM_SDRAM0_BANK3 { TYPE(RAM) WIDTH(8) START(0x03000000) END(0x03FFFFFF) }
/* ----- Core B ----- */
MEM_B_L1_CODE { TYPE(RAM) WIDTH(8) START(0xFF600000) END(0xFF603FFF) }
MEM_B_L1_DATA_B { TYPE(RAM) WIDTH(8) START(0xFF502000) END(0xFF503FFF) }
MEM_B_L1_STACK { TYPE(RAM) WIDTH(8) START(0xFF500000) END(0xFF501FFF) }
/* ----- Shared Memory ----- */
MEM_L2_SRAM_SHARED { TYPE(RAM) WIDTH(8) START(0xFEB00000) END(0xFEB0FFFF) }
}
/* Core A */
PROCESSOR p0
{
OUTPUT( $COMMAND_LINE_OUTPUT_FILE)
/* Following address must match start of MEM_A_L1_CODE */
RESOLVE(start,0xFFA00000)
KEEP(start,_main)
SECTIONS
{
l1_code
{
INPUT_SECTION_ALIGN(4)
__CORE = 0;
INPUT_SECTIONS( $OBJECTS(Callback_Code_L1) $LIBRARIES(Callback_Code_L1))
INPUT_SECTIONS( $OBJECTS(App_Code_L1) $LIBRARIES(App_Code_L1))
INPUT_SECTIONS( $OBJECTS (program) $LIBRARIES (program))
} >MEM_A_L1_CODE
l1_code_cache
{
#ifdef USE_CACHE /* { */
___l1_code_cache = 1;
#else
___l1_code_cache = 0;
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJECTS (L1_code) $LIBRARIES (L1_code))
INPUT_SECTIONS( $OBJECTS (cplb) $LIBRARIES (cplb))
INPUT_SECTIONS( $OBJECTS (cplb_code) $LIBRARIES (cplb_code))
INPUT_SECTIONS( $OBJECTS (program) $LIBRARIES (program))
#endif /* USE_CACHE } */
} >MEM_A_L1_CODE_CACHE
bsz_init {
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJECTS (bsz_init) $LIBRARIES (bsz_init))
} >MEM_A_L1_DATA_A
.meminit{ ALIGN(4) } >MEM_A_L1_DATA_A
l1_data_b
{
INPUT_SECTION_ALIGN(4)
#ifndef USE_CACHE /* { */
___l1_data_cache_b = 0;
#endif /* } USE_CACHE */
INPUT_SECTIONS( $OBJECTS (L1_data_b) $LIBRARIES (L1_data_b))
INPUT_SECTIONS( $OBJECTS(Sobel_In_buf1) $LIBRARIES(Sobel_In_buf1))
INPUT_SECTIONS($OBJECTS (constdata) $LIBRARIES (constdata))
#if defined(__cplusplus) || defined(USER_CRT) /* { */
INPUT_SECTIONS( $OBJECTS (ctor) $LIBRARIES (ctor) )
INPUT_SECTIONS( $OBJECTS (ctorl) $LIBRARIES (ctorl) )
INPUT_SECTIONS( $OBJECTS (.gdt) $LIBRARIES (.gdt) )
INPUT_SECTIONS( $OBJECTS (.gdtl) $LIBRARIES (.gdtl) )
INPUT_SECTIONS( $OBJECTS (vtbl) $LIBRARIES (vtbl) )
INPUT_SECTIONS( $OBJECTS (.frt) $LIBRARIES (.frt) )
INPUT_SECTIONS( $OBJECTS (.frtl) $LIBRARIES (.frtl) )
INPUT_SECTIONS( $OBJECTS (.edt) $LIBRARIES (.edt) )
INPUT_SECTIONS( $OBJECTS (.cht) $LIBRARIES (.cht) )
#endif /* } */
} >MEM_A_L1_DATA_B
l1_data_a
{
INPUT_SECTION_ALIGN(4)
#ifndef USE_CACHE /* { */
___l1_data_cache_a = 0;
#endif /* } USE_CACHE */
INPUT_SECTIONS( $OBJECTS (L1_data_a) $LIBRARIES (L1_data_a))
INPUT_SECTIONS( $OBJECTS(Sobel_In_buf0) $LIBRARIES(Sobel_In_buf0))
INPUT_SECTIONS( $OBJECTS (cplb_data) $LIBRARIES (cplb_data))
INPUT_SECTIONS($OBJECTS (data1) $LIBRARIES (data1))
INPUT_SECTIONS($OBJECTS (voldata) $LIBRARIES (voldata))
#if defined(__cplusplus) || defined(USER_CRT) /* { */
INPUT_SECTIONS( $OBJECTS (.edt) $LIBRARIES (.edt) )
INPUT_SECTIONS( $OBJECTS (.cht) $LIBRARIES (.cht) )
INPUT_SECTIONS( $OBJECTS (ctor) $LIBRARIES (ctor) )
INPUT_SECTIONS( $OBJECTS (ctorl) $LIBRARIES (ctorl) )
INPUT_SECTIONS( $OBJECTS (.gdt) $LIBRARIES (.gdt) )
INPUT_SECTIONS( $OBJECTS (.gdtl) $LIBRARIES (.gdtl) )
INPUT_SECTIONS( $OBJECTS (vtbl) $LIBRARIES (vtbl) )
INPUT_SECTIONS( $OBJECTS (.frt) $LIBRARIES (.frt) )
INPUT_SECTIONS( $OBJECTS (.frtl) $LIBRARIES (.frtl) )
INPUT_SECTIONS( $OBJECTS (.edt) $LIBRARIES (.edt) )
INPUT_SECTIONS( $OBJECTS (.cht) $LIBRARIES (.cht) )
#endif /* } */
} >MEM_A_L1_DATA_A
#ifdef USE_CACHE /* { */
l1_data_a
{
INPUT_SECTION_ALIGN(4)
___l1_data_cache_a = 1;
} >MEM_A_L1_DATA_A_CACHE
#endif /* USE_CACHE } */
bsz_L1_data_a ZERO_INIT
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJECTS (bsz) $LIBRARIES (bsz))
} >MEM_A_L1_DATA_A
bsz_L1_data_b ZERO_INIT
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJECTS (bsz) $LIBRARIES (bsz))
} >MEM_A_L1_DATA_B
l2_sram_coreA
{
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $OBJECTS (cplb_code) $LIBRARIES (cplb_code))
INPUT_SECTIONS( $OBJECTS(Sobel_Out_buf0) $LIBRARIES(Sobel_Out_buf0))
INPUT_SECTIONS( $OBJECTS(Sobel_Out_buf1) $LIBRARIES(Sobel_Out_buf1))
INPUT_SECTIONS( $OBJECTS (l2_sram_coreA) $LIBRARIES (l2_sram_coreA))
INPUT_SECTIONS( $OBJECTS (L1_code) $LIBRARIES (L1_code))
INPUT_SECTIONS( $OBJECTS (program) $LIBRARIES (program))
INPUT_SECTIONS( $LIBRARIES (noncache_code))
INPUT_SECTIONS( $LIBRARIES (program))
INPUT_SECTIONS( $OBJECTS (cplb) $LIBRARIES (cplb))
INPUT_SECTIONS( $OBJECTS (constdata) $LIBRARIES (constdata))
INPUT_SECTIONS( $LIBRARIES (data1))
INPUT_SECTIONS( $OBJECTS (data1))
} >MEM_L2_SRAM_COREA
l2_shared {
// Contains data shared between cores - Requires use of resolve.
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS( $LIBRARIES(l2_shared) )
// Holds control variable used to ensure atomic file I/O
// Must be in shared memory and NOT cached.
INPUT_SECTIONS( $LIBRARIES(primio_atomic_lock))
} >MEM_L2_SRAM_SHARED
stack
{
ldf_stack_space = .;
ldf_stack_end = ldf_stack_space + MEMORY_SIZEOF(MEM_A_L1_STACK);
ldf_stack_length = ldf_stack_end - ldf_stack_space;
_ldf_stack_space = ldf_stack_space;
_ldf_stack_length = ldf_stack_length;
} >MEM_A_L1_STACK
heap
{
ldf_heap_space = .;
ldf_heap_end = ldf_heap_space + MEMORY_SIZEOF(MEM_STD_HEAP) - 1;
ldf_heap_length = ldf_heap_end - ldf_heap_space;
_ldf_heap_space = ldf_heap_space;
_ldf_heap_length = ldf_heap_length + 1;
} >MEM_STD_HEAP
sdram0_bank0 {
// Data
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS($OBJECTS(video_sdram_bank0))
} >MEM_SDRAM0_BANK0
sdram0_bank1 {
// Data
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS($OBJECTS(video_sdram_bank1))
INPUT_SECTIONS($OBJECTS(sdram_bank1))
INPUT_SECTIONS($OBJECTS(sdram_data) $LIBRARIES(sdram_data))
INPUT_SECTIONS($OBJECTS(data1) $LIBRARIES(data1))
INPUT_SECTIONS($OBJECTS(voldata) $LIBRARIES(voldata))
} >MEM_SDRAM0_BANK1
sdram0_bank2 {
// Data
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS($OBJECTS(video_sdram_bank2))
INPUT_SECTIONS($OBJECTS(constdata) $LIBRARIES(constdata))
} > MEM_SDRAM0_BANK2
sdram0_bank2_bsz ZERO_INIT {
// Bsz
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS($OBJECTS(bsz) $LIBRARIES(bsz))
} > MEM_SDRAM0_BANK2
sdram0_bank3 {
// Program Section
INPUT_SECTION_ALIGN(4)
INPUT_SECTIONS($OBJECTS(video_sdram_bank3))
INPUT_SECTIONS( $OBJECTS(program) $LIBRARIES(program))
INPUT_SECTIONS( $OBJECTS(noncache_code) $LIBRARIES(noncache_code))
} >MEM_SDRAM0_BANK3
}
}
/* Core B
* SDK-CoreB_Idle.doj - program to keep Core B at IDLE
*/
$OBJECTS_CORE_B = ../../../BFinUtils/ADSP-BF561/SDK-CoreB_Idle.doj;
PROCESSOR p1
{
OUTPUT( $COMMAND_LINE_OUTPUT_DIRECTORY/Core_b.dxe )
/* Following address must match start of MEM_B_L1_PROGRAM */
RESOLVE(start,0xFF600000)
KEEP(start)
SECTIONS
{
l1_code_cache {
INPUT_SECTION_ALIGN(4)
__CORE = 1;
INPUT_SECTIONS( $OBJECTS_CORE_B(program))
} >MEM_B_L1_CODE
l1_data_coreb
{
INPUT_SECTION_ALIGN(4)
#ifndef USE_CACHE /* { */
___l1_data_cache_b = 0;
#endif /* } USE_CACHE */
INPUT_SECTIONS($OBJECTS_CORE_B (constdata) $LIBRARIES (constdata))
INPUT_SECTIONS($OBJECTS_CORE_B (voldata) $LIBRARIES (voldata))
#if defined(__cplusplus) || defined(USER_CRT) /* { */
INPUT_SECTIONS( $OBJECTS_CORE_B (ctor) $LIBRARIES_CORE_B (ctor) )
INPUT_SECTIONS( $OBJECTS_CORE_B (ctorl) $LIBRARIES_CORE_B (ctorl) )
INPUT_SECTIONS( $OBJECTS_CORE_B (.gdt) $LIBRARIES_CORE_B (.gdt) )
INPUT_SECTIONS( $OBJECTS_CORE_B (.gdtl) $LIBRARIES_CORE_B (.gdtl) )
INPUT_SECTIONS( $OBJECTS_CORE_B (vtbl) $LIBRARIES_CORE_B (vtbl) )
INPUT_SECTIONS( $OBJECTS_CORE_B (.frt) $LIBRARIES_CORE_B (.frt) )
INPUT_SECTIONS( $OBJECTS_CORE_B (.frtl) $LIBRARIES_CORE_B (.frtl) )
INPUT_SECTIONS( $OBJECTS_CORE_B (.edt) $LIBRARIES_CORE_B (.edt) )
INPUT_SECTIONS( $OBJECTS_CORE_B (.cht) $LIBRARIES_CORE_B (.cht) )
#endif /* } */
} >MEM_B_L1_DATA_B
stack
{
ldf_stack_space = .;
ldf_stack_end = ldf_stack_space + MEMORY_SIZEOF(MEM_B_L1_STACK);
} >MEM_B_L1_STACK
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -