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

快乐虾

http://blog.csdn.net/lights_joy/

[email protected]

本文适用于

ADI bf561 DSP

优视BF561EVB开发板

uclinux-2008r1.5-rc3(smp patch)

Visual DSP++ 5.0(update 5)

欢迎转载,但请保留作者信息

有一个警告:

"..\..\linux-2.6.x\include\linux/kernel.h", line 101: cc0047: {D} warning:

incompatible redefinition of macro "abs" (declared at line 89 of

"E:\Program Files\Analog Devices\VisualDSP

5.0\Blackfin\include\stdlib.h")

#define abs(x) ({\

uclinux下,abs是这样定义的:

#define abs(x) ({ \

int __x = (x); \

(__x < 0) ? -__x : __x; \

})

vdsp则是这样定义的:

#ifndef __NO_BUILTIN

#if defined(__ADSP21XX__) || defined(__ADSPBLACKFIN__)

#define abs __builtin_abs

#define labs __builtin_labs

#endif

#endif /* __NO_BUILTIN */

int __builtin_abs(int __a);

实际上二者的功能是相同的,在此使用VDSP的定义,直接将kernel.h中的定义改为:

#ifndef abs

#define abs(x) ({ \

int __x = (x); \

(__x < 0) ? -__x : __x; \

})

#endif

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)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(23)PREEMPT_ACTIVE is too low(2009-1-14)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(24)Gcc版本号(2009-1-14)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(25)inline(2009-1-15)

你可能感兴趣的:(linux,.net,Blog,gcc,Flash)