当前位置:首页 > 工业技术
TI DSP/BIOS用户手册与驱动开发
TI DSP/BIOS用户手册与驱动开发

TI DSP/BIOS用户手册与驱动开发PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:(美)Texas Instruments Incorporated著;王军宁等编译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:730214124X
  • 页数:256 页
图书介绍:DSP/BIOS是TI公司为其TMS320C6000等系列DSP平台设计的实时多任务操作系统内核,本书着重介绍DSP/BIOS内核原理和设备驱动的开发与使用。
《TI DSP/BIOS用户手册与驱动开发》目录

第一部分 DSP/BIOS用户手册 2

绪言 2

第1章 DSP/BIOS概述 3

1.1 DSP/BIOS的特色与优点 3

1.2 DSP/BIOS组件 4

1.2.1 DSP/BIOS实时内核和API 5

1.2.2 DSP/BIOS配置 6

1.2.3 DSP/BIOS分析工具 7

1.3 命名规则 8

1.3.1 模块头文件名 9

1.3.2 对象名称 9

1.3.3 操作名 9

1.3.4 数据类型名 10

1.3.5 存储器段命名 11

1.3.6 标准存储段 12

1.4 更多的信息 13

第2章 程序生成 14

2.1 开发过程 14

2.2 静态配置DSP/BIOS应用程序 14

2.2.1 使用图形化配置工具 15

2.2.2 使用文本编辑器 15

2.2.3 配置DSP/BIOS应用程序的步骤简介 15

2.2.4 引用静态创建的DSP/BIOS对象 16

2.3 动态创建DSP/BIOS对象 19

2.4 建立DSP/BIOS程序使用的文件 21

2.5 编译和链接DSP/BIOS程序 22

2.5.1 构建CCS项目 22

2.5.2 使用makefile建立DSP/BIOS应用程序 23

2.6 DSP/BIOS程序中的运行支持库 25

2.7 DSP/BIOS启动序列 26

2.8 DSP/BIOS中使用C++语言 28

2.7.1 C5500平台启动序列 28

2.8.1 存储器管理 29

2.8.2 名称改编 29

2.8.3 在配置中调用类的成员函数 30

2.8.4 类的构造函数和析构函数 30

2.9 DSP/BIOS调用的用户函数 31

2.10 Main函数中调用DSP/BIOS API函数 31

第3章 监测 33

3.1 实时分析 33

3.1.1 实时调试与循环调试的对比 33

3.1.2 软件监测与硬件监测的对比 33

3.2 监测性能 34

3.2.1 监测内核与非监测内核的对比 35

3.3 监测APIs 36

3.3.1 显式监测与隐式监测的对比 36

3.3.2 事件日志管理器(LOG模块) 37

3.3.3 统计对象管理器(STS模块) 38

3.3.4 追踪管理器(TRC模块) 42

3.4 隐式DSP/BIOS监测 44

3.4.1 执行图 44

3.4.2 CPU负荷图 45

3.4.3 隐式HWI监测 47

3.4.4 最大堆栈深度 49

3.4.5 中断响应时间 50

3.5 内核对象观察 51

3.5.1 使用树型视图 52

3.5.2 使用右键快捷菜单 53

3.5.3 各种对象类型属性的显示 54

3.6 线程级调试 60

3.6.1 使能线程级调试 60

3.6.2 打开线程控制窗口 61

3.6.3 使用线程控制窗口 61

3.8 实时数据交换(RTDX) 63

3.8.1 RTDX应用 63

3.7 用于现场测试的监测 63

3.8.2 RTDX实例 64

3.8.3 RTDX数据流 64

3.8.4 RTDX运行模式 65

3.8.5 编写汇编代码时的特殊注意事项 66

3.8.6 RTDX目标缓冲区大小 66

3.8.7 RTDX数据的发送 66

第4章 线程调度 67

4.1 线程调度概述 67

4.1.1 线程类型 67

4.1.2 线程类型的选择 68

4.1.3 线程特点比较 69

4.1.4 线程优先级 70

4.1.5 让出和抢占 71

4.2 硬件中断 72

4.2.2 禁止和使能硬件中断 73

4.2.1 配置硬件中断 73

4.2.3 实时仿真模式对DSP/BIOS中断的影响 74

4.2.4 中断环境管理 77

4.2.5 寄存器 83

4.3 软件中断 84

4.3.1 创建SWI对象 84

4.3.2 在配置工具里设置软件中断优先级 85

4.3.3 软件中断优先级和应用程序堆栈大小 86

4.3.4 软件中断的执行 87

4.3.5 使用SWI对象的邮箱 87

4.3.6 使用SWI的优缺点 91

4.3.7 软件中断抢占时的寄存器保存 92

4.3.8 禁止和恢复SWI 92

4.4 任务 93

4.4.1 创建任务对象 93

4.4.2 任务的执行状态和调度 95

4.4.4 任务钩子 97

4.4.3 检测堆栈溢出 97

4.4.5 用于额外环境保护的任务钩子 98

4.4.6 任务让出与时间片调度 99

4.5 空闲循环 101

4.6 功率管理 102

4.6.1 闲置时钟域 103

4.6.2 引导时节省功耗 104

4.6.3 电压和频率尺度调整 104

4.6.4 使用睡眠模式 105

4.6.5 睡眠及尺度调整的协调 105

4.7 信号灯 107

4.8 邮箱 112

4.9 定时器、中断和系统时钟 116

4.9.1 高分辨率和低分辨率时钟 116

4.9.2 系统时钟 118

4.9.3 系统时钟的实例 119

4.10 周期函数管理器(PRD)和系统时钟 120

4.10.1 调用PRD对象的函数 121

4.10.2 PRD和SWI的统计信息 121

4.11 使用执行图观察程序的执行情况 122

4.11.1 执行图中的状态指示 122

4.11.2 执行图中的线程 123

4.11.3 执行图中的序列号 123

4.11.4 使用RTA控制面板设置执行图 124

5.1 存储器管理 125

第5章 存储器和低级函数 125

5.1.1 配置存储器段 126

5.1.2 禁止动态存储分配 126

5.1.3 在自己的链接命令文件中定义存储器段 127

5.1.4 动态存储分配 128

5.1.5 获得一个存储器段的状态 130

5.1.6 减小存储器碎片 130

5.1.7 MEM模块使用举例 130

5.2.1 停止程序执行 134

5.2 系统服务 134

5.2.2 错误处理 135

5.3 队列 136

5.3.1 原子QUE函数 136

5.3.2 其他QUE函数 137

5.3.3 QUE程序示例 138

第6章 I/O概述和管道 141

6.1 I/O概述 141

6.2 管道与流的对比 142

6.3 不同驱动模型的比较 143

6.3.1 创建一个使用IOM微型驱动的设备 143

6.3.2 创建一个使用SIO流和DIO适配器的设备 144

6.3.3 创建一个使用SIO/DEV模型的设备 144

6.3.4 创建一个使用DSP/BIOS提供的软件驱动的设备 145

6.4 数据管道管理器(PIP模块) 145

6.4.1 写入数据到管道 146

6.4.2 从管道中读取数据 147

6.4.3 使用管道的通知函数 148

6.4.4 PIP模块API函数的调用顺序 148

6.5 主机通道管理器(HST模块) 150

6.5.1 传输HST数据到主机 151

6.6 I/O性能问题 151

第7章 流I/O和设备驱动 153

7.1 流I/O和设备驱动概述 153

7.2 创建和删除流 155

7.2.1 静态创建流对象 155

7.2.2 动态创建和删除流对象 155

7.3 流I/O——读入流和写出流 156

7.3.1 缓冲区交换 157

7.3.2 例子——从DGN设备读取输入缓冲区 158

7.3.3 例子——对DGN设备的读和写 160

7.3.4 例子——使用发放/回收模型的流I/O 161

7.4 可堆叠设备 163

7.4.1 例子——SIO_create和堆叠设备 164

7.5 流控制 168

7.6 流选择 169

7.6.1 程序示例 170

7.7 到多个客户端的流传输 170

7.8 主机与目标板之间数据的流传输 171

7.9 设备驱动模板 172

7.9.1 典型的文件组织 172

7.10 流DEV结构体 173

7.10.1 DEV_Fxns结构体 173

7.10.2 DEV_Frame结构体 173

7.10.3 DEV_Obj结构体 174

7.11 设备驱动初始化 175

7.12 打开设备 176

7.13.1 DEV_STANDARD流传输模型 179

7.13 实时I/O 179

7.13.2 DEV_ISSUERECLAIM流传输模型 180

7.14 关闭设备 181

7.15 设备控制 183

7.16 设备就绪 184

7.17 设备类型 186

第二部分 DSP/BIOS驱动开发手册 190

绪言 190

8.1.1 应用程序开发/整合者 191

8.1.2 驱动开发者 191

第8章 设备驱动开发工具包简介 191

8.1 阅读指南 191

8.2 DSP/BIOS驱动开发工具包概述 192

8.2.1 功能设备驱动 192

8.2.2 驱动模型 192

8.2.3 可复用的类驱动模块 193

8.3 DDK工具包内容和组织 194

8.4 使用应用程序示例 195

第9章 DSP/BIOS设备驱动的结构和使用 197

9.1 设备驱动双层模型 197

9.1.1 应用程序结构概述 198

9.1.2 驱动的初始化和绑定 198

9.1.3 设备实例和通道实例 199

9.2 设备驱动数据流 199

9.2.1 通道实例句柄 200

9.2.2 IOM请求包 200

9.2.3 通道操作 202

9.2.4 I/O请求的递交 202

9.2.5 设备控制 203

9.3 类驱动概述 203

9.3.1 SIO适配器(DIO) 203

9.3.2 PIP适配器(PIO) 204

9.3.3 GIO类驱动 205

10.1 注册微型驱动 206

第10章 使用DSP/BIOS设备驱动 206

10.2 配置SIO/DIO类驱动 207

10.2.1 应用程序示例 207

10.2.2 配置过程 208

10.3 配置PIP/PIO类驱动 209

10.3.1 应用程序示例 209

10.3.2 配置过程 209

10.4.2 配置过程 211

10.4.1 应用程序示例 211

10.4 配置GIO类驱动 211

第11章 GIO类驱动 212

11.1 GIO模块概述 212

11.2 GIO实现细节 213

11.2.1 GIO_Obj结构体 213

11.3 错误处理 214

11.4 扩展GIO的API 214

12.1.1 绑定通道——mdBindDev 216

第12章 微型驱动的开发步骤 216

12.1 微型驱动的设计与实现 216

12.1.2 创建和删除通道——mdCreateChan/mdDeleteChan 217

12.1.3 递交I/O请求——mdSubmitChan 218

12.1.4 服务设备中断并完成I/O操作——ISR 218

12.1.5 控制设备——mdControlChan 218

12.2 C5402 SBS微型驱动示例 219

12.2.1 常量、类型和结构 219

12.2.2 初始化函数 220

12.2.3 mdBindDev函数 221

12.2.4 mdControlChan函数 223

12.2.5 mdCreateChan函数 224

12.2.6 mdDeleteChan函数 225

12.2.7 mdSubmitChan函数 226

12.2.8 mdUnBindDev函数 227

12.2.9 ISR函数 228

A.1 微型驱动接口概述 230

附录A IOM接口 230

附录B PIO适配器 237

B.1 PIO适配器接口概述 237

附录C LIO模型到IOM模型的移植 244

C.1 LIO模型和IOM模型的比较 244

C.1.1 L1O概念回顾 244

C.1.2 LIO适配器与IOM类驱动的对比 245

C.1.3 LIO接口函数与IOM接口函数的对比 245

C.2 LIO模型到IOM模型的移植 246

C.2.1 配置 246

C.2.2 初始化 246

C.3 LIO控制器到IOM微型驱动的移植 246

附录D GIO API的ASYNC扩展 248

D.1 ASYNC模块概述 248

参考文献 256

相关图书
作者其它书籍
返回顶部