绪论 1<br>第1章 概述 15<br>1.1 内核与存储器体系结构 15<br>1.1.1 内核体系结构 15<br>1.1.2 存储器体系结构 16<br>1.2 时钟、电源、引导模式、事件处理 18<br>1.2.1 时钟信号 18<br>1.2.2 动态电源管理 18<br>1.2.3 引导模式 19<br>1.2.4 事件处理 20<br>1.3 ADSP-BF561外设 20<br>1.4 VisualDSP++ 5.0 24<br>1.5 工程开发 28<br>1.6 代码开发工具 33<br>1.7 处理器工程 38<br>第2章 计算单元 46<br>2.1 寄存器文件 46<br>2.1.1 寄存器文件 46<br>2.1.2 使用计算状态 49<br>2.2 数据类型 49<br>2.2.1 使用数据格式 49<br>2.2.2 使用乘法器整数和小数格式 52<br>2.3 算术逻辑单元 54<br>2.3.1 ALU操作 55<br>2.3.2 ALU数据流详细情况 58<br>2.3.3 ALU除法支持与视频操作 60<br>2.4 乘累加器 60<br>2.4.1 乘法器操作 60<br>2.4.2 乘法器数据流描述 62<br>2.5 桶式移位器 64<br>2.6 数据地址产生器 67<br>2.6.1 数据地址产生器功能与寄存器 67<br>2.6.2 DAG的寻址 69<br>第3章 运行模式与程序控制 75<br>3.1 运行模式 75<br>3.1.1 用户模式 76<br>3.1.2 监控模式 77<br>3.1.3 仿真模式 78<br>3.1.4 复位与空闲状态 78<br>3.1.5 系统复位和上电配置 79<br>3.1.6 引导方式 82<br>3.2 程序控制 83<br>3.2.1 程序控制器相关寄存器 83<br>3.2.2 指令流水线 85<br>3.2.3 分支和程序设计 86<br>3.2.4 循环和程序设计 88<br>3.2.5 事件和控制 89<br>3.2.6 内核事件控制寄存器 96<br>3.2.7 事件向量表 97<br>3.2.8 中断服务 101<br>3.2.9 中断的嵌套 101<br>3.2.10 异常处理 103<br>3.2.11 使用性问题 105<br>3.3 动态电源管理 107<br>3.3.1 时钟 107<br>3.3.2 动态电源管理控制器 110<br>第4章 存储器 117<br>4.1 存储器结构概述 117<br>4.2 L1指令存储器 118<br>4.2.1 指令存储器 118<br>4.2.2 L1指令Cache 120<br>4.2.3 指令Cache管理 122<br>4.2.4 指令测试寄存器 123<br>4.3 L1数据存储器 124<br>4.3.1 L1数据存储器 124<br>4.3.2 L1数据Cache 126<br>4.3.3 数据测试寄存器 129<br>4.4 片上L2存储器 129<br>4.5 存储器保护与属性 130<br>4.5.1 存储器管理单元 130<br>4.5.2 存储器页面 131<br>4.5.3 CPLB管理 131<br>4.5.4 MMU应用 132<br>4.5.5 有关寄存器 133<br>4.6 存储器有关操作 134<br>4.6.1 加载/存储操作 134<br>4.6.2 其他存储器有关操作 136<br>4.7 描述存储器的一些术语 137<br>第5章 片上总线与DMA 139<br>5.1 片上总线 139<br>5.1.1 内核接口 139<br>5.1.2 系统接口 140<br>5.1.3 外设与外部访问总线(PAB、EAB) 144<br>5.1.4 DMA相关的总线 145<br>5.2 直接存储器访问 147<br>5.2.1 DMA概述 147<br>5.2.2 DMA和存储器DMA MMR 148<br>5.2.3 DMA操作流 156<br>5.2.4 2D DMA 159<br>5.2.5 存储器DMA 160<br>5.2.6 DMA性能优化 161<br>5.2.7 DMA的软件管理 165<br>5.2.8 DMA错误 169<br>第6章 片上外设 171<br>6.1 SPI兼容端口控制 171<br>6.1.1 SPI功能 171<br>6.1.2 接口信号 171<br>6.1.3 SPI寄存器 173<br>6.1.4 SPI通用操作 177<br>6.1.5 DMA 180<br>6.2 并行外设接口 182<br>6.2.1 并行外设接口功能 182<br>6.2.2 PPI存储器映射寄存器 183<br>6.2.3 ITU-R 656模式 187<br>6.2.4 通用PPI模式 190<br>6.2.5 DMA操作 195<br>6.2.6 数据传送方案 195<br>6.3 串口控制器 196<br>6.3.1 串口控制器功能 196<br>6.3.2 SPORT寄存器 199<br>6.3.3 立体声串行操作 207<br>6.3.4 多通道操作 208<br>6.3.5 支持H.100标准协议 212<br>6.4 UART端口控制器 213<br>6.4.1 串行通信 213<br>6.4.2 UART控制和状态寄存器 213<br>6.4.3 Non-DMA与DMA模式 217<br>6.4.4 IrDA支持 218<br>6.5 可编程标志 220<br>6.5.1 可编程标志功能 220<br>6.5.2 可编程标志存储器映射寄存器 222<br>6.6 定时器 226<br>6.6.1 通用定时器寄存器 226<br>6.6.2 通用定时器的使用 230<br>6.6.3 内核定时器 242<br>6.6.4 看门狗定时器 243<br>第7章 H.264/AVC标准简介及部分程序分析 245<br>7.1 H.264/AVC标准简介 245<br>7.1.1 H.264/AVC的基本框架 245<br>7.1.2 H.264/AVC的新特性 247<br>7.2 H.264/AVC在ADSP-BF561上的移植 248<br>7.2.1 源码简介 248<br>7.2.2 在ADSP-BF561上移植p264概述 249<br>7.3 变换和量化过程的优化 252<br>7.3.1 H.264/AVC的整数变换及量化原理[5] 252<br>7.3.2 反量化过程的优化 254<br>7.3.3 DCT反变换的优化 258<br>7.3.4 Hadamard变换及其优化 264<br>7.4 非整数样点插值过程的优化 267<br>7.4.1 非整数样点的插值过程 267<br>7.4.2 插值过程的优化 270<br>第8章 ADSP-BF561编程模式与优化功能 275<br>8.1 编程模式 275<br>8.1.1 单核应用 275<br>8.1.2 双核单独应用 276<br>8.1.3 双核单一应用 279<br>8.1.4 双核应用中的一些考虑 282<br>8.2 双核程序示例分析 283<br>8.2.1 客户端-服务器应用示例 283<br>8.2.2 双核系统中的PGO 285<br>8.2.3 程序间分析和文件属性 287<br>8.2.4 同步函数 290<br>8.3 双核FFT编程设计 290<br>8.3.1 基2 DIT FFT基本原理与程序设计 290<br>8.3.2 并行计算设计方法学 292<br>8.3.3 基于多DSP系统的FFT并行计算 293<br>8.3.4 基2 DIT FFT双核单一应用并行程序设计 295<br>第9章 uClinux系统开发 298<br>9.1 uClinux概述 298<br>9.1.1 历史 298<br>9.1.2 uClinux的内存管理 300<br>9.1.3 uClinux进程管理特点 301<br>9.1.4 uClinux的开发 302<br>9.2 ADSP-BF561 uClinux快速指南 303<br>9.2.1 基本环境 304<br>9.2.2 编译、烧写、下载 304<br>9.3 Ubuntu基本服务配置 308<br>9.3.1 串口通信服务配置 308<br>9.3.2 TFTP服务配置 309<br>9.3.3 NFS服务配置 312<br>9.4 在Ubuntu中安装Blackfin工具链 314<br>9.4.1 工具链概述 314<br>9.4.2 可执行文件格式 315<br>9.4.3 工具链安装 317<br>9.4.4 LDR与ldr-utils 320<br>9.4.5 在Windows中安装Blackfin工具链 323<br>9.5 U-Boot Bootloader 323<br>9.5.1 U-Boot基本知识 323<br>9.5.2 U-Boot移植与编译 329<br>9.5.3 U-Boot下载与更新 334<br>9.6 uClinux-dist 336<br>9.6.1 文件系统 336<br>9.6.2 uClinux-dist镜像文件 338<br>9.6.3 内核更新管理 340<br>9.6.4 移植Linux到用户目标板 343<br>9.6.5 内核编译 346<br>9.7 利用NFS调试程序 351<br>第10章 VDK基本原理与使用 354<br>10.1 VDK简介 354<br>10.2 线程 356<br>10.3 线程调度 360<br>10.4 信号 363<br>10.4.1 信号量 363<br>10.4.2 互斥 364<br>10.4.3 消息 365<br>10.4.4 多处理器消息传递 366<br>10.4.5 事件和事件位 370<br>10.4.6 设备标志 372<br>10.5 中断服务程序 372<br>10.6 VDK API参考 374<br>10.7 典型API简介与应用 377<br>10.7.1 信号量API简介与应用 377<br>10.7.2 事件和事件位API简介与应用 381<br>10.7.3 消息的API简介与应用 384
展开