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

原文地址::http://blog.csdn.net/gaoling179/article/details/6284770

 

 在Visual DSP++开发DSP过程中,应用好系统软件自带的设备驱动程序和系统服务程序,能快速的开发应用程序,不用写底层的驱动,十分方便。

 

    (1)ADI已经把所有有关DSP芯片的所有驱动及服务都已经构架好了,只要了解了其框架,写应用程序就像搭积木一样简单,首先简单介绍一下文件组成:

    ":/Program Files/Analog Devices/VisualDSP 5.0/Blackfin/include/services"下是所有系统服务头文件所在地,一般在应用程序里加一句"#include <services/services.h>"就可以了。

    ":/Program Files/Analog Devices/VisualDSP 5.0/Blackfin/lib/src/services"下是所有系统服务源文件所在地,如果调试程序可以把相应的服务程序复制到工程文件下,然后在加入工程就可以进入服务内部进行调试。

    ":/Program Files/Analog Devices/VisualDSP 5.0/Blackfin/include/drivers"下是所有设备驱动头文件所在地,一般在应用程序里加一句"#include <services/services.h>"和相应的驱动头文件如"#include <drivers/sport/adi_sport.h>"就可以把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》。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值