快乐虾
http://blog.csdn.net/lights_joy/
lights@hb165.com
本文适用于
ADI bf561 DSP
uclinux-2008r1.5-rc3(smp patch)
Visual DSP++ 5.0(update 5)
欢迎转载,但请保留作者信息
由于希望使用vdsp的库,故此在config.h中包含了vdsp的头文件:
#ifndef __ASSEMBLY__
#include <ccblkfn.h>
#endif
这样造成的问题是有部分宏定义和uclinux中的文件的定义相冲突,比如IRQ_PLL_WAKEUP就有这样的警告提示:
"..\..\linux-2.6.x\include\asm/mach/irq.h", line 145: cc0047: {D} warning:
incompatible redefinition of macro "IRQ_PLL_WAKEUP" (declared at
line 977 of "E:\Program Files\Analog Devices\VisualDSP
5.0\Blackfin\include\defBF561.h")
#defineIRQ_PLL_WAKEUP(IVG_BASE + 0)/* PLL Wakeup Interrupt */
在vdsp下,这个宏仅仅是一个MASK:
/* Peripheral Masks For SIC_ISR, SIC_IWR, SIC_IMASK */
#define PLL_WAKEUP_IRQ 0x00000001 /* PLL Wakeup Interrupt Request */
#define IRQ_PLL_WAKEUP 0x00000001 /* PLL Wakeup Interrupt Request */
而在uclinux,这个宏定义则直接定义了pll wakup中断映射到内核中的中断级别:
#define IVG_BASE 7
/* IVG 7 */
#define IRQ_PLL_WAKEUP (IVG_BASE + 0) /* PLL Wakeup Interrupt */
为此,必须将这些有冲突的定义进行重命名处理。在它们的名称前加上UC_的前缀:
#define UC_IRQ_PLL_WAKEUP (IVG_BASE + 0) /* PLL Wakeup Interrupt */
这实在不是个好办法,哎!
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)