内容简介
《电子设计与嵌入式开发实践丛书:TI C66x多核DSP高级软件开发技术》系统介绍了C66x多核软件开发的知识,并基于C6678的设计实例介绍了相关设计经验。系统介绍了C66xDSP器件的基础概念和多核软件设计的基础知识,引领读者循序渐进地掌握多核软件设计技术。对于传统DSP开发人员比较陌生的一些概念,如Cache、预取、数据一致性、数据依赖、死锁等,进行了重点描述。系统介绍了(266x多核器件的存储器、DMA传输、中断等内容,并结合工作实际,介绍了多核软件优化、多核并行设计及任务级优化经验。最后,以多普勒成像的设计实例描述了如何实现并行设计。
全书共11章,内容包括C66xDSP的基本组成,如存储器组织、DMA传输、中断和异常、Cache缓存和数据一致性等,并包含CCs软件开发环境、SYS/BIOS实时操作系统、多核并行设计、软件设计优化等相关知识。
《电子设计与嵌入式开发实践丛书:TI C66x多核DSP高级软件开发技术》的特点是由浅入深、概念齐全、实践性强、指导性强。《电子设计与嵌入式开发实践丛书:TI C66x多核DSP高级软件开发技术》结合了多年多核软件开发的实际经验,对多核设计中常见的问题进行了详细的描述;从基本概念出发,层层推进,介绍了多核并行、数据传输与处理并行和多层次并行设计的经验。
对于从事C66x多核软件开发的设计师,《电子设计与嵌入式开发实践丛书:TI C66x多核DSP高级软件开发技术》具有很强的指导意义,《电子设计与嵌入式开发实践丛书:TI C66x多核DSP高级软件开发技术》还适合作为高校计算机、数据处理、信号处理、通信等相关专业的本科和研究生教材。
内页插图
目录
第1章 TI多核C66x DSP介绍
1.1 C6678处理器
1.1.1 C6678概览
1.1.2 外围设备
1.2 66AK处理器
1.3 66AK2H14/12/06和C6678各项功能对比
1.4 C66x处理器内核
1.5 电源休眠控制器
1.5.1 C266x内核电源休眠管理介绍
1.5.2 电源休眠管理特征
1.6 锁相环及其设置
1.6.1 主PLL和PLL控制器
1.6.2 DDR3 PLL
1.6.3 PASS PLL
1.7 C6678处理器接口通信相关外围设备
1.7.1 I2C外围设备
1.7.2 SPI外围设备
1.7.3 HyperLink外围设备
1.7.4 UART外围设备
1.7.5 PCIE外围设备
1.7.6 TSIP外围设备
1.7.7 包加速器
1.7.8 EMIFl6外围设备
1.7.9 安全加速器.
1.7.10 Gigabit 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.4 EVM板的使用
第2章 C66x存储器组织
2.1 C66x存储控制器
2.1.1 L1P存储控制器
2.1.2 L1D存储控制器
2.1.3 L2存储控制器
2.1.4 外部存储控制器
2.1.5 扩展存储控制器
2.2 多核共享存储控制器
2.2.1 概览
2.2.2 C66x内核从接口
2.2.3 系统从接口
2.2.4 系统主接口
2.2.5 外部存储器主接口
2.2.6 MSMC存储器
2.3 扩展存储控制器XMC
2.3.1 存储器映射寄存器概要
2.3.2 XMC存储器保护和地址扩展
2.3.3 存储器保护和地址扩展过程
2.3.4 地址扩展
2.3.5 XMC存储器保护结构支持
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缓存和数据一致性
第4章 DMA传输
第5章 终端和异常
第6章 如何使用CCS
第7章 SYS/BIOS实时操作系统
第8章 多核并行设计
第9章 软件优化设计
第10章 距离多普勒成像设计实例
第11章 展望
前言/序言
C66x是TI(Texas Instruments)公司推出的新一代处理器内核,包含定点和浮点计算能力,C66x包含90个新指令用于提升浮点和矢量运算。TMS320C6678是基于C66x内核的8核处理器,66AK2Hx是基于ARMCortex-A15和C66x内核的异构多核处理器。基于C66x内核的DSP处理器已经成为主流的高性能DSP。
多核DSP的软件开发技术对DSP嵌入式软件开发人员具有一定的挑战性。多核任务划分、并行处理设计、同步设计以及Cache-致性等问题是多核并行设计的关键,良好的并行设计才能发挥C66x处理器的优势。
通过多年的研究并结合工程设计实践,总结了C66x多核DSP并行开发技术经验和设计中一些经常遇到的问题。本书以C6678为例系统介绍了C66x多核DSP、数据一致性、CCS使用、SYS/BIOS实时操作系统、多核并行设计和优化等设计方法,用一个设计实例完整地描述了从任务并行设计到具体实现的过程。
在C66x多核软件设计中,程序员的软件设计思想、设计方法需要调整和提高。本书从程序员的工作需要和高校学生的学习需要出发,结合工作实际,详细叙述了多核软件开发技术。初学者可以循序渐进地建立基于C66x多核并行开发的概念,并积累优化设计的经验提高设计水平,一开始就设计出高性能的并行代码。
每章内容要点如下:
(1)第1章主要介绍了C66x处理器,并以C6678为例介绍了处理器概况、处理器内核、外围设备、多核导航器等模块。
(2)第2章主要介绍了C6678存储控制器、多核共享存储控制器、外部存储控制器EMC、扩展存储控制器XMC、存储器保护架构、带宽管理等存储器相关内容。
(3)第3章主要介绍了Cache基础知识,C66x的各级Cache、Cache的使用、数据一致性等内容。
(4)第4章主要介绍了IDMA、EDMA使用的一些知识。
(5)第5章介绍了C66x中断控制器、内核事件以及中断控制器与DSP交互的相关知识。
(6)第6章介绍了如何使用CCS进行相关的操作和配置。
(7)第7章介绍了SYS/BIOS实时操作系统,并给出了相关设计例程。
(8)第8章介绍了多核并行设计的相关问题,如并行粒度、并行方式、依赖关系、死锁活锁、同步等问题,并介绍了任务级优化设计的例子。
(9)第9章介绍了软件优化技术,如for循环优化、软件流水、编译指示和关键字的使用、内建函数的使用等。
(10)第10章介绍了一个多核软件设计的实例。
(11)第11章介绍了多核发展的趋势及一些思考。
(12)附录中列出了常用的存储器地址映射、MAR寄存器地址对照表和C6678EDMACC事件列表。
本书中关于TIC66x多核DSP的相关资料来源于TI相关网站,如TI官网(www.ti.com)、德州仪器在线技术支持社区(www.deyisupport.com)等,相关资料的最新版本可以从中查询。
参与本书审校的有牛蕾、习建博、邓庆勇、郭琦、白晓慧、张玉营、潘勇先、朱鹏等,方志红、梁之勇、宋皓、顾庆远等在多核开发技术方面做出了很大贡献。为本书的形成及多核C66xDSP开发技术做出贡献的人还有很多,在这里一并致谢!
多核开发技术发展迅速,基于C66x的多核开发技术难点较多,由于作者水平有限,书中难免有疏漏之处,欢迎读者指正。
电子设计与嵌入式开发实践丛书:TI C66x多核DSP高级软件开发技术 电子书 下载 mobi epub pdf txt