qaz098xsw 发表于 2017-10-18 21:12

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

ADSP设备驱动和系统服务简介在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,就可以了,非常简单。不同的服务程序之间有相互的联系和初始化顺序。    联系如图所示:
http://www.logicdsp.com/data/attachment/forum/201303/09/105729h6s6b65559wjn6ld.gif 01.gif (20.04 KB, 下载次数: 2)
下载附件
2013-3-9 10:57 上传



    初始化顺序:    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 。    设备驱动在程序中的位置如下图所示:http://www.logicdsp.com/data/attachment/forum/201303/09/105728uzzj1vjji9x3urli.gif 02.gif (20.15 KB, 下载次数: 3)
下载附件
2013-3-9 10:57 上传



    (4)具体的内容请详细阅读ADI公司的《Device Drivers and System ServicesManual for XXX Processors》。
页: [1]
查看完整版本: ADSP设备驱动和系统服务简介