快乐虾
http://blog.csdn.net/lights_joy/
lights@hb165.com
本文适用于
ADI bf561 DSP
uclinux-2008r1.5-rc3(smp patch)
Visual DSP++ 5.0(update 5)
欢迎转载,但请保留作者信息
出现一个错误提示:
"../../linux-2.6.x/include/linux/hardirq.h", line 60: cc0035: fatal error:
#error directive: PREEMPT_ACTIVE is too low!
#error PREEMPT_ACTIVE is too low!
出错的代码为:
#if PREEMPT_ACTIVE < (1 << (HARDIRQ_SHIFT + HARDIRQ_BITS))
#error PREEMPT_ACTIVE is too low!
#endif
搜一下PREEMPT_ACTIVE的定义,有这样的结果:
F:/embed/uClinux/uClinux-dist-2008R1.5-RC3/linux-2.6.x/include/asm/thread_info.h(115):#define PREEMPT_ACTIVE 0x4000000
不过在这个定义的前面还有一个条件:
#ifdef __KERNEL__
呵呵,__KERNEL__这个宏用于区分用户程序可以使用的定义,在uclinux的原始文件中是通过在makefile中控制编译器的选项来达到这一目的的。而我们在每个uclinux内核的c文件头加上了#include <config.h>,因此直接将这一定义放在config.h中:
#define __KERNEL__ 1 // 仅适用于内核配置
1 参考资料
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(1):前言(2009-1-12)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(2):代码注释(2009-1-12)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(3):vdsp项目创建(2009-1-12)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(4):目录差异(2009-1-12)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(5):'bf561.h'的问题(2009-1-12)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(6):CONFIG_BFIN_KERNEL_CLOCK(2009-1-12)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(7):CONFIG_MEM_MT48LC16M16A2TG_75(2009-1-12)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(8):CONFIG_CLKIN_HZ(2009-1-12)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(9):CONFIG_MEM_SIZE(2009-1-12)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(10):CONFIG_FLASH_SPEED_BTT(2009-1-13)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(11):__INIT(2009-1-13)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(12):trace_buffer_init(2009-1-13)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(13):ENDPROC(2009-1-13)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(14):__FINIT(2009-1-13)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(15):CONFIG_BANK_x(2009-1-13)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(16):使用head.s做为入口点(2009-1-13)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(17):__bss_start(2009-1-13)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(18):_sdata(2009-1-14)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(19):_stext(2009-1-14)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(20):bf53x_relocate_l1_mem(2009-1-14)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(21):dlb创建(2009-1-14)
uclinux-2008R1.5-RC3(bf561)到VDSP5的移植(22):IRQ_PLL_WAKEUP(2009-1-14)