| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第1章TI多核C66x
DSP介绍
1.1C6678处理器
1.1.1C6678概览
1.1.2外围设备
1.266AK处理器
1.366AK2H14/12/06和C6678各项功能对比
1.4C66x处理器内核
1.5电源休眠控制器
1.5.1C66x内核电源休眠管理介绍
1.5.2电源休眠管理特征
1.6锁相环及其设置
1.6.1主PLL和PLL控制器
1.6.2DDR3
PLL
1.6.3PASS
PLL
1.7C6678处理器接口通信相关外围设备
1.7.1I2C外围设备
1.7.2SPI
外围设备
1.7.3HyperLink
外围设备
1.7.4UART
外围设备
1.7.5PCIE
外围设备
1.7.6TSIP
外围设备
1.7.7包加速器
1.7.8EMIF16外围设备
1.7.9安全加速器
1.7.10Gigabit
Ethernet开关子系统
1.7.11管理数据输入输出
1.7.12串行RapidIO端口
1.7.13通用目的输入输出
1.8定时器
1.9信号量
1.10多核导航器
1.11设计建议
1.11.1初始化
1.11.2接口驱动程序
1.11.3时间戳的获取
1.11.4EVM板的使用第2章C66x存储器组织
2.1C66x存储控制器
2.1.1L1P存储控制器
2.1.2L1D存储控制器
2.1.3L2存储控制器
2.1.4外部存储控制器
2.1.5扩展存储控制器
2.2多核共享存储控制器
2.2.1概览
2.2.2C66x内核从接口
2.2.3系统从接口
2.2.4系统主接口
2.2.5外部存储器主接口
2.2.6MSMC存储器
2.3扩展存储控制器XMC
2.3.1存储器映射寄存器概要
2.3.2XMC
存储器保护和地址扩展
2.3.3存储器保护和地址扩展过程
2.3.4地址扩展
2.3.5XMC存储器保护结构支持
2.3.6预取缓冲
2.4存储器保护架构
2.4.1存储器保护的目的
2.4.2特权级别
2.4.3存储器保护架构
2.5带宽管理
2.5.1介绍
2.5.2带宽管理架构
2.5.3带宽管理寄存器
2.6设计建议
2.6.1合理规划使用存储器
2.6.2存储器设置成不被Cache缓存和预取第3章Cache缓存和数据一致性
3.1为什么使用Cache
3.2C64x和C66x
DSP之间的Cache区别
3.3Cache
存储器结构概览
3.4Cache基础知识
3.4.1直接映射Cache——L1P
Cache
3.4.2Cache缺失的类型
3.4.3组相联
Cache
3.4.4二级Cache
3.5L1P
Cache
3.5.1L1P存储器和Cache
3.5.2L1P
Cache结构
3.5.3L1P冻结模式
3.5.4程序启动的一致性操作
3.6L1D
Cache
3.6.1L1D存储器和Cache
3.6.2L1D
Cache结构
3.6.3L1D
冻结模式
3.6.4程序发起的Cache一致性操作
3.7L2
Cache
3.7.1L2存储器和Cache
3.7.2L2
Cache结构
3.7.3L2
冻结模式
3.7.4程序发起的Cache一致性操作
3.7.5Cache能力控制
3.8使用Cache
3.8.1配置L1
Cache
3.8.2配置L2
Cache
3.9数据一致性
3.9.1Snoop
一致性协议
3.9.2在外部存储器和Cache之间维持一致性
3.9.3对L2
Cache一致性操作使用指导
3.9.4对L1
Cache一致性操作使用指导
3.10片上Debug支持
3.11在运行中改变Cache配置
3.11.1禁用外部存储器Cache功能
3.11.2在运行中改变
Cache尺寸
3.12优化Cache性能
3.12.1Cache
性能特征
3.12.2阻塞情况
3.12.3优化技术概览
3.12.4应用级优化
3.12.5过程级优化
3.12.6C66x
DSP
Cache一致性操作小结
3.13设计建议
3.13.1消除虚假地址
3.13.2数据一致性问题第4章DMA传输
4.1IDMA
4.1.1IDMA
结构
4.1.2IDMA通道
4.1.3IDMA
通道1
4.2EDMA3
控制器
4.2.1EDMA3
控制器介绍
4.2.2EDMA3
器件特定的信息
4.2.3EDMA3
通道控制器配置
4.2.4EDMA3
传输控制器配置
4.2.5EDMA3
通道同步事件
4.2.6EDMA3
通道控制器
4.2.7EDMA3
传输控制器
4.3EDMA3传输类型
4.3.1A同步传输
4.3.2AB同步传输
4.4参数RAM
4.4.1PaRAM参数集
4.4.2Dummy
与Null传输比较
4.4.3参数集更新
4.4.4连接传输
4.4.5常数地址模式传输/对齐问题
4.4.6单元大小
4.5发起一个
DMA传输
4.5.1DMA
通道
4.5.2QDMA
通道
4.5.3完成一个DMA传输
4.6提升DMA性能的几点建议
4.6.1尽量用较大的ACNT
4.6.2线性传输
4.6.3地址对齐
4.6.4恰当使用多个CC和TC传输第5章中断和异常
5.1C6678处理器中断简介
5.2芯片中断控制器
5.3C66x
内核中断控制器概述
5.3.1特征
5.3.2功能块图
5.4中断控制器结构
5.4.1事件寄存器
5.4.2事件合并器
5.4.3中断选择器
5.4.4异常合并器
5.5C66x
内核事件
5.6中断控制器与DSP交互
5.6.1DSP
中断控制器接口
5.6.2DSP
服务中断事件
5.7中断设计建议
5.7.1不要过多使用中断或中断嵌套
5.7.2中断服务程序中代码不宜过长
5.7.3中断服务程序改变的全局变量要加上volatile标志第6章如何使用CCS
6.1常用界面
6.1.1Project
Explorer
6.1.2程序窗口
6.1.3目标配置窗口
6.1.4Debug
窗口
6.1.5Memory
窗口
6.1.6Expressions窗口
6.1.7Breakpoints窗口
6.1.8Problems窗口
6.1.9Console窗口
6.2新建工程
6.3新建一个目标配置文件
6.3.1新建ccxml文件
6.3.2设置仿真器
6.3.3添加器件
6.4常用操作
6.4.1Launch
6.4.2Group
6.4.3Connect
6.4.4加载程序
6.4.5设置断点调试程序
6.4.6复位
6.5常见问题
6.5.1头文件找不到
6.5.2EVM板未初始化,调试找不到DDR3
6.5.3选中不了仿真器
6.5.4加断点调试错误
6.5.5域选择不正确
6.5.6仿真器连接中断电
6.6设置字体和代码风格
6.6.1修改字体
6.6.2代码风格设置
6.7MCSDK
6.7.1MCSDK架构
6.7.2MCSDK
特点
6.8TI函数库调用
6.8.1格式选择
6.8.2库的调用
6.8.3库的使用
6.9理解CMD文件
6.9.1CMD文件简介
6.9.2MEMORY命令
6.9.3SECTIONS命令第7章SYS/BIOS实时操作系统
7.1什么是SYS/BIOS
7.1.1SYS/BIOS的优势
7.1.2SYS/BIOS和XDC
TOOL的关系
7.2SYS/BIOS包
7.3SYS/BIOS中使用C
7.3.1存储器管理
7.3.2Name
Mangling
7.3.3从配置调用对象方法
7.3.4类构造器和析构器
7.4SYS/BIOS配置和编译
7.4.1在工程中添加SYS/BIOS支持
7.4.2创建一个独立的配置工程
7.4.3配置SYS/BIOS
应用
7.4.4用XGCONF打开一个配置文件
7.4.5用XGCONF执行任务
7.4.6保存配置
7.4.7关于XCONFG视图
7.4.8使用可用产品视图
7.4.9使用概要视图
7.4.10使用属性视图
7.4.11使用问题视图
7.4.12找到并修正错误
7.5编译一个SYS/BIOS应用
7.5.1了解编译流程
7.5.2编译和连接优化
7.6线程模块
7.6.1SYS/BIOS
启动顺序
7.6.2线程模块的概览
7.6.3线程类型
7.6.4线程优先级
7.6.5让步和抢占
7.6.6钩子
7.7硬件中断
7.7.1创建中断
7.7.2硬件中断嵌套和系统堆栈大小
7.7.3硬件钩子
7.8软件中断
7.8.1创建软件中断对象
7.8.2设置软件中断优先级
7.8.3软件中断优先级和系统堆栈大小
7.8.4软件中断执行
7.8.5优点和折中
7.8.6软件中断函数同步
7.8.7软件钩子
7.9任务
7.9.1创建任务
7.9.2任务执行状态和调度
7.9.3任务堆栈
7.9.4测试堆栈溢出
7.9.5任务钩子
7.9.6空闲循环
7.10SYS/BIOS同步模块
7.10.1信号量
7.10.2事件模块
7.10.3门模块
7.10.4邮箱
7.10.5队列
7.11定时服务
7.12Memory
7.12.1新建一个Platform
7.12.2栈
7.12.3Cache配置
7.12.4Cache
Runtime
API
7.12.5动态存储器分配
7.12.6Heap的实施
7.13硬件抽象层
7.14典型设计实例和建议
7.14.1典型设计
7.14.2设计建议第8章多核并行设计
8.1并行粒度和并行级别
8.2并行方式
8.3任务类型
8.3.1相同任务的多个副本
8.3.2多个独立任务
8.3.3单个任务拆分成多个子任务
8.3.4多个松散耦合任务
8.3.5耦合度高的任务
8.4依赖关系
8.4.1数据依赖
8.4.2存储器依赖
8.5死锁和活锁
8.5.1死锁
8.5.2活锁
8.6同步
8.6.1SYS/BIOS同步模块
8.6.2采用控制信号实现多核对等同步
8.7forkjoin
8.8OpenMP并行设计
8.9任务级优化设计
8.9.1一种典型的任务处理流程
8.9.2优化设计实例第9章软件优化设计
9.1for循环优化
9.1.1移出能在循环外完成的计算
9.1.2循环体内的大运算换成小运算
9.1.3多重循环
9.1.4for循环中有判断
9.2多核for循环并行任务优化
9.2.1资源占用小的for循环
9.2.2资源占用大的for循环
9.3if声明优化
9.3.1if转换
9.3.2消除if声明
9.3.3相同代码合并减少if声明
9.3.4减少嵌套的if
9.3.5优化条件表达式
9.3.6优化稀疏矩阵
9.4软件流水
9.5正确使用编译指示和关键字
9.5.1restrict关键字
9.5.2nassert关键字
9.5.3interrupt中断关键字
9.5.4near和far关键字
9.5.5const关键字
9.5.6UNROLL编译指示
9.5.7MUST_ITERATE编译指示
9.5.8CODE_SECTION
编译指示
9.5.9DATA_SECTION编译指示
9.5.10SET_CODE_SECTION和SET_DATA_SECTION编译指示
9.5.11DATA_ALIGN
编译指示
9.5.12STRUCT_ALIGN
9.6采用内建函数
9.6.1数据移动和打包函数
9.6.2使用除法指令
9.6.3使用C66x定点指令实现复数矩阵操作和向量操作
9.6.4浮点和矢量运算
9.7选定正确的优化级别
9.8软件优化小结第10章距离多普勒成像设计实例
10.1背景介绍
10.2距离多普勒成像算法
10.3数据组织形式
10.4算法的并行化设计
10.5forkjoin的设计
10.6脉冲压缩的设计
10.6.1IFFT转为FFT
10.6.2无缓存的大点数FFT、IFFT设计
10.6.3有数据缓冲多核大点数FFT、IFFT设计
10.6.4资源使用情况
10.6.5复数相乘
10.6.6脉冲压缩的伪码实现
10.7其他阶段任务分解
10.8实验结果分析第11章展望
11.1异构多核SOC处理器
11.1.1异构多核DSP
11.1.2异构多核FPGA
11.2嵌入式软件设计思考
11.2.1掌握系统架构
11.2.2做好软件模块化设计
11.2.3片上系统架构设计的挑战
11.2.4自动化并行设计附录A附录B附录C参考文献