DSP

uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(50):.spinlock

2019-07-13 15:52发布

  快乐虾 http://blog.csdn.net/lights_joy/ lights@hb165.com   本文适用于 ADI bf561 DSP 优视BF561EVB开发板 uclinux-2008r1.5-rc3(smp patch) Visual DSP++ 5.0(update 5)   欢迎转载,但请保留作者信息   有一个错误: [Warning li2060]  The following input section(s) that contain program code         and/or data have not been placed into the executable for processor 'p0'         as there are no relevant commands specified in the LDF:           kernel.dlb[spinlock.doj](.spinlock.text) uclinuxspinlock相关的函数定义了一个段: #define LOCK_TEXT                              /          ALIGN_FUNCTION();                    /          VMLINUX_SYMBOL(__lock_text_start) = .;             /          *(.spinlock.text)                    /          VMLINUX_SYMBOL(__lock_text_end) = .; 而这个LOCK_TEXT是放在.text中的:      .text :      {          __text = .;          _text = .;          __stext = .;          TEXT_TEXT          SCHED_TEXT          LOCK_TEXT          KPROBES_TEXT          *(.text.*)          *(.fixup)            . = ALIGN(16);          ___start___ex_table = .;          *(__ex_table)          ___stop___ex_table = .;            . = ALIGN(4);          __etext = .;      } 因此我们需要在LDF文件中加上它:         uclinux_text         {                __text = .;                _text = .;                __stext = .;                  /* TEXT_TEXT */          INPUT_SECTIONS($OBJECTS_CORE_A(L1_code) $LIBRARIES_CORE_A(L1_code))          INPUT_SECTIONS($OBJS_LIBS_INTERNAL_CORE_A(program))          INPUT_SECTIONS($OBJS_LIBS_NOT_EXTERNAL_CORE_A(program))          INPUT_SECTIONS($OBJECTS_CORE_A(program) $LIBRARIES_CORE_A(program))          INPUT_SECTIONS($LIBRARIES_CORE_A(.text.init.refok)) /*                                       SCHED_TEXT */                              //LOCK_TEXT                __lock_text_start = .;                INPUT_SECTIONS($LIBRARIES_CORE_A(.spinlock.text))                __lock_text_end = .;               /*                         KPROBES_TEXT               *(.text.*)               *(.fixup)                 . = ALIGN(16);               ___start___ex_table = .;               *(__ex_table)               ___stop___ex_table = .; */          INPUT_SECTION_ALIGN(4)                __etext = .;         } > MEM_UCLINUX_TEXT  

1       参考资料

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(45):未命名union的后遗症(2009-01-21) uclinux-2008R1.5-RC3(bf561)VDSP5的移植(46)fls_long的问题(2009-1-21) uclinux-2008R1.5-RC3(bf561)VDSP5的移植(47)per_cpu的奇怪问题(2009-1-22) uclinux-2008R1.5-RC3(bf561)VDSP5的移植(48)__start___param(2009-1-22) uclinux-2008R1.5-RC3(bf561)VDSP5的移植(49)likely(2009-1-24)