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

[复制链接]
533|0
手机看帖
扫描二维码
随时随地手机跟帖
qaz098xsw|  楼主 | 2017-10-18 21:12 | 显示全部楼层 |阅读模式
ADSP, vi, ce, ic, ICE
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,就可以了,非常简单。不同的服务程序之间有相互的联系和初始化顺序。

    联系如图所示:


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 。

    设备驱动在程序中的位置如下图所示:

02.gif (20.15 KB, 下载次数: 3)
下载附件
2013-3-9 10:57 上传




    (4)具体的内容请详细阅读ADI公司的《Device Drivers and System ServicesManual for XXX Processors》。


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

632

主题

842

帖子

3

粉丝