《Blackfin双核处理器与应用开发》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:唐建主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121115653
  • 页数:389 页
图书介绍:本书全面介绍了ADI公司的VisualDSP++开发环境的使用要点,系统地说明了ADSP-BF561的体系结构,然后讲解了在该处理器上移植视频编解码算法H.264/AVC的基本思路并给出了视频解码算法p264中的一些代码优化实例,介绍了基于该处理器的几种开发模式和优化功能。最后两章分别介绍了在ADSP-BF561上移植嵌入式操作系统uClinux的方法、VDK的原理与使用。

绪论 1

第1章 概述 15

1.1 内核与存储器体系结构 15

1.1.1 内核体系结构 15

1.1.2 存储器体系结构 16

1.2 时钟、电源、引导模式、事件处理 18

1.2.1 时钟信号 18

1.2.2 动态电源管理 18

1.2.3 引导模式 19

1.2.4 事件处理 20

1.3 ADSP-BF561外设 20

1.4 VisualDSP++ 5.0 24

1.5 工程开发 28

1.6 代码开发工具 33

1.7 处理器工程 38

第2章 计算单元 46

2.1 寄存器文件 46

2.1.1 寄存器文件 46

2.1.2 使用计算状态 49

2.2 数据类型 49

2.2.1 使用数据格式 49

2.2.2 使用乘法器整数和小数格式 52

2.3 算术逻辑单元 54

2.3.1 ALU操作 55

2.3.2 ALU数据流详细情况 58

2.3.3 ALU除法支持与视频操作 60

2.4 乘累加器 60

2.4.1 乘法器操作 60

2.4.2 乘法器数据流描述 62

2.5 桶式移位器 64

2.6 数据地址产生器 67

2.6.1 数据地址产生器功能与寄存器 67

2.6.2 DAG的寻址 69

第3章 运行模式与程序控制 75

3.1 运行模式 75

3.1.1 用户模式 76

3.1.2 监控模式 77

3.1.3 仿真模式 78

3.1.4 复位与空闲状态 78

3.1.5 系统复位和上电配置 79

3.1.6 引导方式 82

3.2 程序控制 83

3.2.1 程序控制器相关寄存器 83

3.2.2 指令流水线 85

3.2.3 分支和程序设计 86

3.2.4 循环和程序设计 88

3.2.5 事件和控制 89

3.2.6 内核事件控制寄存器 96

3.2.7 事件向量表 97

3.2.8 中断服务 101

3.2.9 中断的嵌套 101

3.2.10 异常处理 103

3.2.11 使用性问题 105

3.3 动态电源管理 107

3.3.1 时钟 107

3.3.2 动态电源管理控制器 110

第4章 存储器 117

4.1 存储器结构概述 117

4.2 L1指令存储器 118

4.2.1 指令存储器 118

4.2.2 L1指令Cache 120

4.2.3 指令Cache管理 122

4.2.4 指令测试寄存器 123

4.3 L1数据存储器 124

4.3.1 L1数据存储器 124

4.3.2 L1数据Cache 126

4.3.3 数据测试寄存器 129

4.4 片上L2存储器 129

4.5 存储器保护与属性 130

4.5.1 存储器管理单元 130

4.5.2 存储器页面 131

4.5.3 CPLB管理 131

4.5.4 MMU应用 132

4.5.5 有关寄存器 133

4.6 存储器有关操作 134

4.6.1 加载/存储操作 134

4.6.2 其他存储器有关操作 136

4.7 描述存储器的一些术语 137

第5章 片上总线与DMA 139

5.1 片上总线 139

5.1.1 内核接口 139

5.1.2 系统接口 140

5.1.3 外设与外部访问总线(PAB、EAB) 144

5.1.4 DMA相关的总线 145

5.2 直接存储器访问 147

5.2.1 DMA概述 147

5.2.2 DMA和存储器DMA MMR 148

5.2.3 DMA操作流 156

5.2.4 2D DMA 159

5.2.5 存储器DMA 160

5.2.6 DMA性能优化 161

5.2.7 DMA的软件管理 165

5.2.8 DMA错误 169

第6章 片上外设 171

6.1 SPI兼容端口控制 171

6.1.1 SPI功能 171

6.1.2 接口信号 171

6.1.3 SPI寄存器 173

6.1.4 SPI通用操作 177

6.1.5 DMA 180

6.2 并行外设接口 182

6.2.1 并行外设接口功能 182

6.2.2 PPI存储器映射寄存器 183

6.2.3 ITU-R 656模式 187

6.2.4 通用PPI模式 190

6.2.5 DMA操作 195

6.2.6 数据传送方案 195

6.3 串口控制器 196

6.3.1 串口控制器功能 196

6.3.2 SPORT寄存器 199

6.3.3 立体声串行操作 207

6.3.4 多通道操作 208

6.3.5 支持H.100标准协议 212

6.4 UART端口控制器 213

6.4.1 串行通信 213

6.4.2 UART控制和状态寄存器 213

6.4.3 Non-DMA与DMA模式 217

6.4.4 IrDA支持 218

6.5 可编程标志 220

6.5.1 可编程标志功能 220

6.5.2 可编程标志存储器映射寄存器 222

6.6 定时器 226

6.6.1 通用定时器寄存器 226

6.6.2 通用定时器的使用 230

6.6.3 内核定时器 242

6.6.4 看门狗定时器 243

第7章 H.264/AVC标准简介及部分程序分析 245

7.1 H.264/AVC标准简介 245

7.1.1 H.264/AVC的基本框架 245

7.1.2 H.264/AVC的新特性 247

7.2 H.264/AVC在ADSP-BF561上的移植 248

7.2.1 源码简介 248

7.2.2 在ADSP-BF561上移植p264概述 249

7.3 变换和量化过程的优化 252

7.3.1 H.264/AVC的整数变换及量化原理[5] 252

7.3.2 反量化过程的优化 254

7.3.3 DCT反变换的优化 258

7.3.4 Hadamard变换及其优化 264

7.4 非整数样点插值过程的优化 267

7.4.1 非整数样点的插值过程 267

7.4.2 插值过程的优化 270

第8章 ADSP-BF561编程模式与优化功能 275

8.1 编程模式 275

8.1.1 单核应用 275

8.1.2 双核单独应用 276

8.1.3 双核单一应用 279

8.1.4 双核应用中的一些考虑 282

8.2 双核程序示例分析 283

8.2.1 客户端-服务器应用示例 283

8.2.2 双核系统中的PGO 285

8.2.3 程序间分析和文件属性 287

8.2.4 同步函数 290

8.3 双核FFT编程设计 290

8.3.1 基2 DIT FFT基本原理与程序设计 290

8.3.2 并行计算设计方法学 292

8.3.3 基于多DSP系统的FFT并行计算 293

8.3.4 基2 DIT FFT双核单一应用并行程序设计 295

第9章 uClinux系统开发 298

9.1 uClinux概述 298

9.1.1 历史 298

9.1.2 uClinux的内存管理 300

9.1.3 uClinux进程管理特点 301

9.1.4 uClinux的开发 302

9.2 ADSP-BF561 uClinux快速指南 303

9.2.1 基本环境 304

9.2.2 编译、烧写、下载 304

9.3 Ubuntu基本服务配置 308

9.3.1 串口通信服务配置 308

9.3.2 TFTP服务配置 309

9.3.3 NFS服务配置 312

9.4 在Ubuntu中安装B1ackfin工具链 314

9.4.1 工具链概述 314

9.4.2 可执行文件格式 315

9.4.3 工具链安装 317

9.4.4 LDR与ldr-utils 320

9.4.5 在Windows中安装Blackfin工具链 323

9.5 U-Boot Bootloader 323

9.5.1 U-Boot基本知识 323

9.5.2 U-Boot移植与编译 329

9.5.3 U-Boot下载与更新 334

9.6 uClinux-dist 336

9.6.1 文件系统 336

9.6.2 uClinux-dist镜像文件 338

9.6.3 内核更新管理 340

9.6.4 移植Linux到用户目标板 343

9.6.5 内核编译 346

9.7 利用NFS调试程序 351

第10章 VDK基本原理与使用 354

10.1 VDK简介 354

10.2 线程 356

10.3 线程调度 360

10.4 信号 363

10.4.1 信号量 363

10.4.2 互斥 364

10.4.3 消息 365

10.4.4 多处理器消息传递 366

10.4.5 事件和事件位 370

10.4.6 设备标志 372

10.5 中断服务程序 372

10.6 VDK API参考 374

10.7 典型API简介与应用 377

10.7.1 信号量API简介与应用 377

10.7.2 事件和事件位API简介与应用 381

10.7.3 消息的API简介与应用 384