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

来源:互联网 发布:java stream filter 编辑:程序博客网 时间:2024/04/29 03:08

 

快乐虾

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)

 

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

 

 

由于希望使用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)

uclinux-2008R1.5-RC3(bf561)VDSP5的移植(21)dlb创建(2009-1-14)

 

原创粉丝点击