在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》。

ADSP设备驱动和系统服务简介相关推荐

  1. Linux设备驱动模型1——简介和底层架构

    以下内容源于朱有鹏<物联网大讲堂>课程的学习整理,如有侵权,请告知删除. 一.linux设备驱动模型简介 1.什么是设备驱动模型? (1)类class.总线bus.设备device.驱动d ...

  2. qnx 设备驱动开发_QNX简介

    系统简介 QNX是一个分布式.可扩展.遵从POSIX规范的类Unix硬实时操作系统. QNX为微内核的架构,微内核只提供进程调度.进程间通信.底层网络通信和中断处理四种服务.驱动程序.协议栈.文件系统 ...

  3. STM32MP157驱动开发——USB设备驱动

    STM32MP157驱动开发--USB设备驱动 一.简介 1.电气属性 2.USB OTG 3.STM32MP1 USB 接口简介 4.Type-C 电气属性 二.USB HOST 驱动开发 1.US ...

  4. STM32MP157驱动开发——Linux块设备驱动

    STM32MP157驱动开发--Linux块设备驱动 一.简介 二.驱动开发 1.使用请求队列的方式 2.测试① 3.不使用请求队列的方式 4.测试② 参考文章:[正点原子]I.MX6U嵌入式Linu ...

  5. 设备驱动简介 -- ldd3读书笔记

    1. 概述 读<Linux Device Drivers 3>(影印版)(简称 ldd3)已经到第九章了,感觉前面的也忘的差不多了.所以准备把以前读过的内容做一下笔记,并且主要侧重代码的注 ...

  6. 嵌入式linux设备驱动开发,嵌入式Linux设备驱动开发简介.pdf

    清远见--嵌入式培训专家 http :// "黑色经典"系列之<嵌入式Linux 应用程序开发详解> 11 章 嵌入式Linux 设备驱动开发 本章目标 本书从 6 章 ...

  7. 【WinCE】流设备驱动简介及GPIO驱动的实现

    流设备驱动实际上就是导出标准的流接口函数的驱动,这是文档上面的定义.在WinCE中,所有的流设备都导出流设备接口,这样WinCE中的Device Manager可以加载和管理这些流设备驱动.  流设备 ...

  8. WinCE流设备驱动简介及GPIO驱动的实现

    作者:ARM-WinCE 流设备驱动实际上就是导出标准的流接口函数的驱动,这是文档上面的定义.在WinCE中,所有的流设备都导出流设备接口,这样WinCE中的Device Manager可以加载和管理 ...

  9. linux内核驱动之 设备驱动简介之内核划分

    目录 进程管理 内存管理 文件系统 设备控制 网络 在 Unix 系统中, 几个并发的进程专注于不同的任务. 每个进程请求系统资源, 象计算能力, 内存, 网络连接, 或者一些别的资源. 内核是个大块 ...

最新文章

  1. 一家大型公司的nginx配置
  2. Java 定义字符串数组
  3. 在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式
  4. nacos启动_nacos微服务注册中心
  5. silverlight 不可
  6. mysql 用户与权限
  7. java 注销变量_[ Java学习基础 ] Java对象的创建和销毁
  8. ESP32 ESP-IDF开发环境搭建,Windows下基于ESP-IDF | Cmake | VScode插件的 ESP32 开发环境搭建
  9. matlab怎么返回操作,Matlab中function函数使用操作方法
  10. [转载] 高阶函数和柯里化
  11. PKIX path building failed
  12. 学生用计算机重启,如何使学校的电脑在重启后不自动还原系统?
  13. html - html5 audio 音乐自动播放,循环播放等9款播放器
  14. SpringBoot自动装配原理,这一篇就够了!
  15. 关于SQL2005安装完毕后,没有SQL Server Management Studio问题的解决方法
  16. Android 各大市场更改APP名称
  17. 四位企业家 一种“地头力”
  18. 错误推测法设计测试用例
  19. 手把手教你:CSS+JS 打造一个有个性的滚动条
  20. python智能抠图

热门文章

  1. 家用电器使用,一个功能接口几台设备一起实现,控制器成为对象后逐个调用设备功能....
  2. GDOI2016模拟3.15 圈地游戏 暴力图论
  3. 异常:java.util.NoSuchElementException--Scanner异常
  4. python控制电脑程序,Python简单实现控制电脑的方法
  5. 【ICML2022教程】智能交互式学习
  6. ERP,读《ERP-从内部集成起步》
  7. error: GL/gl.h: No such file or directory
  8. java锁屏_javaWeb锁屏的简单实现
  9. 程序员必备 常用英语单词
  10. 每日三题 10.13