⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 videoinedgedetection_bf561.ldf

📁 这个是balckfin533/561的视频输入和输出的源代码
💻 LDF
📖 第 1 页 / 共 2 页
字号:
#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 + -