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

📄 video_in_out.ldf

📁 自己写的adi bf561的bootloader.实现最简单的串口和flash
💻 LDF
📖 第 1 页 / 共 3 页
字号:
               } > MEM_A_L1_CODE      L1_data_a      {         INPUT_SECTION_ALIGN(4)         ___l1_data_cache_a = 0;         INPUT_SECTIONS($OBJECTS_CORE_A(L1_data_a) $LIBRARIES_CORE_A(L1_data_a))                  /*$VDSG<insert-input-sections-at-the-start-of-l1_data_a>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-start-of-l1_data_a>  */                  RESERVE(heaps_and_stack_in_L1_data_a, heaps_and_stack_in_L1_data_a_length = 2K, 4)         INPUT_SECTIONS($OBJECTS_CORE_A{DualCoreMem("CoreA")}(cplb_data) $LIBRARIES_CORE_A{DualCoreMem("CoreA")}(cplb_data))         INPUT_SECTIONS($OBJECTS_CORE_A(cplb_data) $LIBRARIES_CORE_A(cplb_data))         INPUT_SECTIONS($OBJECTS_CORE_A(voldata) $LIBRARIES_CORE_A(voldata))         INPUT_SECTIONS($OBJECTS_CORE_A(constdata) $LIBRARIES_CORE_A(constdata))         INPUT_SECTIONS($OBJS_LIBS_INTERNAL_CORE_A(data1))         INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL_CORE_A(data1))         INPUT_SECTIONS($OBJECTS_CORE_A(data1) $LIBRARIES_CORE_A(data1))         INPUT_SECTIONS($OBJECTS_CORE_A(.edt) $LIBRARIES_CORE_A(.edt))         INPUT_SECTIONS($OBJECTS_CORE_A(.cht) $LIBRARIES_CORE_A(.cht))                  /*$VDSG<insert-input-sections-at-the-end-of-l1_data_a>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-end-of-l1_data_a>  */               } > MEM_A_L1_DATA_A      bsz_L1_data_a ZERO_INIT      {         INPUT_SECTION_ALIGN(4)         INPUT_SECTIONS($OBJECTS_CORE_A(bsz) $LIBRARIES_CORE_A(bsz))      } > MEM_A_L1_DATA_A      L1_data_a_stack_heap      {         INPUT_SECTION_ALIGN(4)         RESERVE_EXPAND(heaps_and_stack_in_L1_data_a, heaps_and_stack_in_L1_data_a_length, 0, 4)         ldf_heap_space = heaps_and_stack_in_L1_data_a;         ldf_heap_end = (ldf_heap_space + (((heaps_and_stack_in_L1_data_a_length * 2K) / 2K) - 4)) & 0xfffffffc;         ldf_heap_length = ldf_heap_end - ldf_heap_space;      } > MEM_A_L1_DATA_A      L1_data_b      {         INPUT_SECTION_ALIGN(4)         ___l1_data_cache_b = 0;         INPUT_SECTIONS($OBJECTS_CORE_A(L1_data_b) $LIBRARIES_CORE_A(L1_data_b))                  /*$VDSG<insert-input-sections-at-the-start-of-l1_data_b>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-start-of-l1_data_b>  */                  RESERVE(heaps_and_stack_in_L1_data_b, heaps_and_stack_in_L1_data_b_length = 2K, 4)         INPUT_SECTIONS($OBJECTS_CORE_A(ctor) $LIBRARIES_CORE_A(ctor))         INPUT_SECTIONS($OBJECTS_CORE_A(ctorl) $LIBRARIES_CORE_A(ctorl))         INPUT_SECTIONS($OBJECTS_CORE_A(vtbl) $LIBRARIES_CORE_A(vtbl))         INPUT_SECTIONS($OBJECTS_CORE_A(.gdt) $LIBRARIES_CORE_A(.gdt))         INPUT_SECTIONS($OBJECTS_CORE_A(.gdtl) $LIBRARIES_CORE_A(.gdtl))         INPUT_SECTIONS($OBJECTS_CORE_A(.frt) $LIBRARIES_CORE_A(.frt))         INPUT_SECTIONS($OBJECTS_CORE_A(.rtti) $LIBRARIES_CORE_A(.rtti))         INPUT_SECTIONS($OBJECTS_CORE_A(.edt) $LIBRARIES_CORE_A(.edt))         INPUT_SECTIONS($OBJECTS_CORE_A(.cht) $LIBRARIES_CORE_A(.cht))         INPUT_SECTIONS($OBJS_LIBS_INTERNAL_CORE_A(data1))         INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL_CORE_A(data1))         INPUT_SECTIONS($OBJECTS_CORE_A(data1) $LIBRARIES_CORE_A(data1))         INPUT_SECTIONS($OBJECTS_CORE_A{DualCoreMem("CoreA")}(cplb_data) $LIBRARIES_CORE_A{DualCoreMem("CoreA")}(cplb_data))         INPUT_SECTIONS($OBJECTS_CORE_A(cplb_data) $LIBRARIES_CORE_A(cplb_data))         INPUT_SECTIONS($OBJECTS_CORE_A(voldata) $LIBRARIES_CORE_A(voldata))         INPUT_SECTIONS($OBJECTS_CORE_A(constdata) $LIBRARIES_CORE_A(constdata))                  /*$VDSG<insert-input-sections-at-the-end-of-l1_data_b>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-end-of-l1_data_b>  */               } > MEM_A_L1_DATA_B      bsz_L1_data_b ZERO_INIT      {         INPUT_SECTION_ALIGN(4)         INPUT_SECTIONS($OBJS_LIBS_INTERNAL_CORE_A(bsz))         INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL_CORE_A(bsz))         INPUT_SECTIONS($OBJECTS_CORE_A(bsz) $LIBRARIES_CORE_A(bsz))      } > MEM_A_L1_DATA_B      L1_data_b_stack_heap      {         INPUT_SECTION_ALIGN(4)         RESERVE_EXPAND(heaps_and_stack_in_L1_data_b, heaps_and_stack_in_L1_data_b_length, 0, 4)         ldf_stack_space = heaps_and_stack_in_L1_data_b;         ldf_stack_end = (ldf_stack_space + (((heaps_and_stack_in_L1_data_b_length * 2K) / 2K) - 4)) & 0xfffffffc;      } > MEM_A_L1_DATA_B            /*$VDSG<insert-new-sections-at-the-end-for-CORE-A>        */      /* Text inserted between these $VDSG comments will be preserved */      /*$VDSG<insert-new-sections-at-the-end-for-CORE-A>        */         } /* SECTIONS */} /* p0 */PROCESSOR p1{      MEMORY   {      MEM_B_L1_SCRATCH        { TYPE(RAM) START(0xFF700000) END(0xFF700FFF) WIDTH(8) }      MEM_B_L1_CODE           { TYPE(RAM) START(0xFF600000) END(0xFF603FFF) WIDTH(8) }      MEM_B_L1_DATA_B         { TYPE(RAM) START(0xFF500000) END(0xFF507FFF) WIDTH(8) }      MEM_B_L1_DATA_A         { TYPE(RAM) START(0xFF400000) END(0xFF407FFF) WIDTH(8) }            /*$VDSG<insert-new-memory-segments-for-CORE-B>            */      /* Text inserted between these $VDSG comments will be preserved */      /*$VDSG<insert-new-memory-segments-for-CORE-B>            */         } /* MEMORY */      OUTPUT($COMMAND_LINE_OUTPUT_DIRECTORY/p1.dxe)   RESOLVE(start, 0xFF600000)   KEEP(start,_main)      /*$VDSG<insert-user-ldf-commands-for-CORE-B>                 */   /* Text inserted between these $VDSG comments will be preserved */   /*$VDSG<insert-user-ldf-commands-for-CORE-B>                 */      SECTIONS   {      /* Workaround for hardware errata 05-00-0189 -      ** "Speculative (and fetches made at boundary of reserved memory      ** space) for instruction or data fetches may cause false      ** protection exceptions".      **       ** Done by avoiding use of 76 bytes from at the end of blocks      ** that are adjacent to reserved memory. Workaround is enabled       ** for appropriate silicon revisions (-si-revision switch).      */      RESERVE(___wabb1=MEMORY_END(MEM_B_L1_SCRATCH) - 75, ___lb1 = 76)      RESERVE(___wabb3=MEMORY_END(MEM_B_L1_CODE) - 75, ___l3 = 76)      RESERVE(___wabb5=MEMORY_END(MEM_B_L1_DATA_B) - 75, ___l5 = 76)      RESERVE(___wabb7=MEMORY_END(MEM_B_L1_DATA_A) - 75, ___l7 = 76)                  /*$VDSG<insert-new-sections-at-the-start-for-CORE-B>      */      /* Text inserted between these $VDSG comments will be preserved */      /*$VDSG<insert-new-sections-at-the-start-for-CORE-B>      */            scratchpad      {         INPUT_SECTION_ALIGN(4)                  /*$VDSG<insert-input-sections-at-the-start-of-scratchpad-for-CORE-B>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-start-of-scratchpad-for-CORE-B>  */               } > MEM_B_L1_SCRATCH      L1_code      {         INPUT_SECTION_ALIGN(4)         __CORE = 1;         INPUT_SECTIONS($OBJECTS_CORE_B(L1_code) $LIBRARIES_CORE_B(L1_code))                  /*$VDSG<insert-input-sections-at-the-start-of-l1_code_coreB>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-start-of-l1_code_coreB>  */                  INPUT_SECTIONS($OBJECTS_CORE_B(VDK_ISR_code) $LIBRARIES_CORE_B(VDK_ISR_code))         INPUT_SECTIONS($OBJECTS_CORE_B(cplb) $LIBRARIES_CORE_B(cplb))         INPUT_SECTIONS($OBJECTS_CORE_B(cplb_code) $LIBRARIES_CORE_B(cplb_code))         INPUT_SECTIONS($OBJECTS_CORE_B(noncache_code) $LIBRARIES_CORE_B(noncache_code))         INPUT_SECTIONS($OBJECTS_CORE_B(program) $LIBRARIES_CORE_B(program))                  /*$VDSG<insert-input-sections-at-the-end-of-l1_code_coreB>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-end-of-l1_code_coreB>  */               } > MEM_B_L1_CODE      L1_data_a      {         INPUT_SECTION_ALIGN(4)         ___l1_data_cache_a = 0;         INPUT_SECTIONS($OBJECTS_CORE_B(L1_data_a) $LIBRARIES_CORE_B(L1_data_a))                  /*$VDSG<insert-input-sections-at-the-start-of-l1_data_a_coreB>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-start-of-l1_data_a_coreB>  */                  RESERVE(heaps_and_stack_in_L1_data_a, heaps_and_stack_in_L1_data_a_length = 2K, 4)         INPUT_SECTIONS($OBJECTS_CORE_B{DualCoreMem("CoreB")}(cplb_data) $LIBRARIES_CORE_B{DualCoreMem("CoreB")}(cplb_data))         INPUT_SECTIONS($OBJECTS_CORE_B(cplb_data) $LIBRARIES_CORE_B(cplb_data))         INPUT_SECTIONS($OBJECTS_CORE_B(voldata) $LIBRARIES_CORE_B(voldata))         INPUT_SECTIONS($OBJECTS_CORE_B(constdata) $LIBRARIES_CORE_B(constdata))         INPUT_SECTIONS($OBJS_LIBS_INTERNAL_CORE_B(data1))         INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL_CORE_B(data1))         INPUT_SECTIONS($OBJECTS_CORE_B(data1) $LIBRARIES_CORE_B(data1))         INPUT_SECTIONS($OBJECTS_CORE_B(.edt) $LIBRARIES_CORE_B(.edt))         INPUT_SECTIONS($OBJECTS_CORE_B(.cht) $LIBRARIES_CORE_B(.cht))                  /*$VDSG<insert-input-sections-at-the-end-of-l1_data_a_coreB>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-end-of-l1_data_a_coreB>  */               } > MEM_B_L1_DATA_A      bsz_L1_data_a ZERO_INIT      {         INPUT_SECTION_ALIGN(4)         INPUT_SECTIONS($OBJS_LIBS_INTERNAL_CORE_B(bsz))         INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL_CORE_B(bsz))         INPUT_SECTIONS($OBJECTS_CORE_B(bsz) $LIBRARIES_CORE_B(bsz))      } > MEM_B_L1_DATA_A      L1_data_a_stack_heap      {         INPUT_SECTION_ALIGN(4)         RESERVE_EXPAND(heaps_and_stack_in_L1_data_a, heaps_and_stack_in_L1_data_a_length, 0, 4)         ldf_heap_space = heaps_and_stack_in_L1_data_a;         ldf_heap_end = (ldf_heap_space + (((heaps_and_stack_in_L1_data_a_length * 2K) / 2K) - 4)) & 0xfffffffc;         ldf_heap_length = ldf_heap_end - ldf_heap_space;      } > MEM_B_L1_DATA_A      L1_data_b      {         INPUT_SECTION_ALIGN(4)         ___l1_data_cache_b = 0;         INPUT_SECTIONS($OBJECTS_CORE_B(L1_data_b) $LIBRARIES_CORE_B(L1_data_b))                  /*$VDSG<insert-input-sections-at-the-start-of-l1_data_b_coreB>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-start-of-l1_data_b_coreB>  */                  RESERVE(heaps_and_stack_in_L1_data_b, heaps_and_stack_in_L1_data_b_length = 2K, 4)         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(vtbl) $LIBRARIES_CORE_B(vtbl))         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(.frt) $LIBRARIES_CORE_B(.frt))         INPUT_SECTIONS($OBJECTS_CORE_B(.rtti) $LIBRARIES_CORE_B(.rtti))         INPUT_SECTIONS($OBJECTS_CORE_B(.edt) $LIBRARIES_CORE_B(.edt))         INPUT_SECTIONS($OBJECTS_CORE_B(.cht) $LIBRARIES_CORE_B(.cht))         INPUT_SECTIONS($OBJS_LIBS_INTERNAL_CORE_B(data1))         INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL_CORE_B(data1))         INPUT_SECTIONS($OBJECTS_CORE_B(data1) $LIBRARIES_CORE_B(data1))         INPUT_SECTIONS($OBJECTS_CORE_B{DualCoreMem("CoreB")}(cplb_data) $LIBRARIES_CORE_B{DualCoreMem("CoreB")}(cplb_data))         INPUT_SECTIONS($OBJECTS_CORE_B(cplb_data) $LIBRARIES_CORE_B(cplb_data))         INPUT_SECTIONS($OBJECTS_CORE_B(voldata) $LIBRARIES_CORE_B(voldata))         INPUT_SECTIONS($OBJECTS_CORE_B(constdata) $LIBRARIES_CORE_B(constdata))                  /*$VDSG<insert-input-sections-at-the-end-of-l1_data_b_coreB>  */         /* Text inserted between these $VDSG comments will be preserved */         /*$VDSG<insert-input-sections-at-the-end-of-l1_data_b_coreB>  */               } > MEM_B_L1_DATA_B      bsz_L1_data_b ZERO_INIT      {         INPUT_SECTION_ALIGN(4)         INPUT_SECTIONS($OBJS_LIBS_INTERNAL_CORE_B(bsz))         INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL_CORE_B(bsz))         INPUT_SECTIONS($OBJECTS_CORE_B(bsz) $LIBRARIES_CORE_B(bsz))      } > MEM_B_L1_DATA_B      L1_data_b_stack_heap      {         INPUT_SECTION_ALIGN(4)         RESERVE_EXPAND(heaps_and_stack_in_L1_data_b, heaps_and_stack_in_L1_data_b_length, 0, 4)         ldf_stack_space = heaps_and_stack_in_L1_data_b;         ldf_stack_end = (ldf_stack_space + (((heaps_and_stack_in_L1_data_b_length * 2K) / 2K) - 4)) & 0xfffffffc;      } > MEM_B_L1_DATA_B            /*$VDSG<insert-new-sections-at-the-end-for-CORE-B>        */      /* Text inserted between these $VDSG comments will be preserved */      /*$VDSG<insert-new-sections-at-the-end-for-CORE-B>        */         } /* SECTIONS */} /* p1 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -