DSP

ADSP设备驱动和系统服务简介

2019-07-13 15:45发布

    在Visual DSP++开发DSP过程中,应用好系统软件自带的设备驱动程序和系统服务程序,能快速的开发应用程序,不用写底层的驱动,十分方便。       (1)ADI已经把所有有关DSP芯片的所有驱动及服务都已经构架好了,只要了解了其框架,写应用程序就像搭积木一样简单,首先简单介绍一下文件组成:     ":/Program Files/Analog Devices/VisualDSP 5.0/Blackfin/include/services"下是所有系统服务头文件所在地,一般在应用程序里加一句"#include "就可以了。     ":/Program Files/Analog Devices/VisualDSP 5.0/Blackfin/lib/src/services"下是所有系统服务源文件所在地,如果调试程序可以把相应的服务程序复制到工程文件下,然后在加入工程就可以进入服务内部进行调试。     ":/Program Files/Analog Devices/VisualDSP 5.0/Blackfin/include/drivers"下是所有设备驱动头文件所在地,一般在应用程序里加一句"#include "和相应的驱动头文件如"#include "就可以把SPORT驱动加入到工程。     ":/Program Files/Analog Devices/VisualDSP 5.0/Blackfin/lib/src/drivers"下是所有设备驱动源文件所在地,如果调试程序可以把相应的驱动程序复制到工程文件下,然后在加入工程就可以进入驱动内部进行调试。         (2)下面简单介绍一下系统服务:     系统服务对不同的芯片提供了统一的接口,是位于应用程序的最底层,实现的也是芯片最底层的功能,如设置IO口为输出则只需调用FLAG系统服务函数adi_flag_SetDirection,就可以了,非常简单。不同的服务程序之间有相互的联系和初始化顺序。     联系如图所示:       初始化顺序:     1.Interrupt control service
    2.External bus interface unit
    3.Power management service
    4.Port control (if applicable)
    5.Deferred callback service
    6.DMA manager service
    7.Programmable flag service
    8.Timer service
    9.Real-time clock service
    10.Semaphore service     初始化程序可以使用ADI提供的系统服务层初始化文件(adi_ssl_Init.c 与 adi_ssl_Init.h),在头文件设置宏定义就可以了。       (3)下面简单介绍一下设备驱动:     设备驱动也提供了统一的接口,对设备驱动的操作如同对文件操作一样简单,也可以对设备驱动进行控制,只要调用下面这几个函数就可以了, adi_dev_Close
adi_dev_Control adi_dev_Init
adi_dev_Open adi_dev_Read
adi_dev_Terminate
adi_dev_Write 。     设备驱动在程序中的位置如下图所示:         (4)具体的内容请详细阅读ADI公司的《Device Drivers and System ServicesManual for XXX Processors》。