您好,欢迎来到聚文网。 登录 免费注册
嵌入式多核DSP高性能软件开发——TI C66x实战

嵌入式多核DSP高性能软件开发——TI C66x实战

  • 字数: 850000
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 出版日期: 2022-01-01
  • 商品条码: 9787302589365
  • 版次: 1
  • 开本: 16开
  • 页数: 560
  • 出版年份: 2022
定价:¥128 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
"本书由浅入深、概念齐全、实践性强、指导性强,结合了多年嵌入式多核软件开发的实际经验,对多核设计中常见的问题进行了详细描述。 从基本概念出发,层层推进,介绍了多核并行、数据传输与处理并行和多层次并行设计的经验,是嵌入式多核DSP并行软件开发者推荐的参考书。"
内容简介
本书系统介绍了C66x多核软件开发的知识,并基于C6678的设计实例介绍了相关设计经验。系统介绍了C66xDSP器件的基础概念和多核软件设计的基础知识,引领读者循序渐进地掌握多核软件设计技术。对于传统DSP开发人员比较陌生的一些概念,如Cache、预取、数据一致性、数据依赖、死锁等,进行了重点描述。系统介绍了C66x多核器件的存储器、DMA传输、中断等内容,并结合工作实际,介绍了多核软件优化、多核并行设计及任务级优化经验。最后,以多普勒成像的设计实例描述了如何实现并行设计。
全书共13章,内容包括C66xDSP的基本组成,如存储器组织、DMA传输、中断和异常、Cache缓存和数据一致性等,并包含CCS软件开发环境、SYS/BIOS实时操作系统、多核并行设计、软件设计优化等相关知识。
本书的特点是由浅入深、概念齐全、实践性强、指导性强。本书结合了多年多核软件开发的实际经验,对多核设计中常见的问题进行了详细的描述;从基本概念出发,层层推进,介绍了多核并行、数据传输与处理并行和多层次并行设计的经验。
对于从事C66x多核软件开发的设计师,本书具有很强的指导意义,本书还适合作为高校计算机、数据处理、信号处理、通信等相关专业的本科生和研究生教材。
作者简介
夏际金,男,1979年,江西上饶人,研究员级高级工程师,嵌入式软件、软件工程专家。长期从事嵌入式软件开发,在嵌入式多核软件设计和并行计算方面具有深入研究。
目录
第1章 TI多核C66x DSP介绍
1.1 C6678处理器
1.1.1 C6678概览
1.1.2 外围设备
1.26 6AK处理器
1.36 6AK2H14/12/06和C6678各项功能对比
1.4 C66x处理器内核
1.5 电源休眠控制器
1.5.1 C66x内核电源休眠管理介绍
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 EMIF16外围设备
1.7.8 网络协处理器和以太网驱动程序
1.7.9 串行RapidIO(SRIO)端口
1.7.10 通用目的输入/输出(GPIO)
1.8 定时器
1.9 信号量
1.10 多核导航器
1.10.1 PDSP固件
1.10.2 Packet DMA
1.10.3 队列管理器
1.10.4 描述符
1.10.5 包发送过程概述
1.10.6 包接收过程概述
1.10.7 映射信息
1.11 设计建议
1.11.1 初始化
1.11.2 接口驱动程序
1.11.3 时间戳的获取
1.11.4 EVM板的使用
1.11.5 示例程序
第2章 C66x多核引导方法
2.1 多核引导概述
2.2 复位
2.3 RBL引导
2.3.1 RBL简介
2.3.2 RBL引导过程
2.3.3 引导模式分类
2.3.4 引导模式设置
2.3.5 引导配置格式
2.4 EVM板上SPI NOR Flash引导设计
2.4.1 RBL执行过程
2.4.2 需要引导的应用程序
2.4.3 应用程序中的引导代码
2.4.4 烧写引导镜像的生成
2.4.5 程序烧写
2.4.6 SPI NOR Flash二次引导的设计
2.5 多核引导和改进
2.6 I2C二级引导(IBL和MAD)
2.6.1 MAD基础组件
2.6.2 MAD使用模式
2.6.3 多核应用程序部署工具包
2.6.4 在目标上调试应用程序
2.6.5 Image Processing示例程序使用MAD工具实现多核加载
2.7 设计建议和注意事项
第3章 SRIO
3.1 SRIO介绍
3.1.1 物理层1×/4×LP系列规范
3.1.2 SRIO外围数据流
3.1.3 SRIO包
3.2 SerDes宏及其配置
3.3 DeviceID配置
3.4 支持Rx组播和多个DestID
3.4.1 离散组播ID支持
3.4.2 混杂ID和DestID 支持
3.4.3 接收模式设置
3.5 回环
3.5.1 内部数字回环
3.5.2 SERDES回环
3.5.3 外部线路回环
3.6 菊花链操作和包转发
3.6.1 包转发介绍
3.6.2 包转发设置
3.7 DirectIO操作
3.7.1 LSU模块介绍
3.7.2 定义LSU寄存器组合及中断状态方式
3.7.3 设置LSU寄存器
3.7.4 详细数据路径描述
3.7.5 Tx操作
3.7.6 Rx操作
3.7.7 DirectIO操作特殊情况
3.7.8 调度
3.7.9 错误处理
3.7.10 DirectIO编程注意事项
3.8 消息传递
3.8.1 Rx操作
3.8.2 Tx操作
3.8.3 消息Packet DMA设置
3.8.4 消息传送编程示例
3.9 维护
3.10 门铃操作
3.11 原子操作
3.12 拥塞控制
3.13 字节存储顺序
3.13.1 内存映射寄存器空间的转换
3.13.2 有效负载数据的转换
3.14 中断操作
3.14.1 DirectIO(门铃)服务中断
3.14.2 消息传递服务中断
3.14.3 中断寄存器
3.14.4 中断处理
3.14.5 中断调步
3.15 中断设置
3.16 其他SRIO编程注意事项
3.16.1 匹配ACKID
3.16.2 软件复位
3.16.3 优化和技巧提示
3.17 SRIO_LoopbackDioIsrexampleproject介绍
第4章 C66x存储器组织
4.1 C66x存储控制器
4.1.1 L1P存储控制器
4.1.2 L1D存储控制器
4.1.3 L2存储控制器
4.1.4 外部存储控制器
4.1.5 扩展存储控制器
4.2 多核共享存储控制器
4.2.1 概览
4.2.2 C66x内核从接口
4.2.3 系统从接口
4.2.4 系统主接口
4.2.5 外部存储器主接口
4.2.6 MSMC存储器
4.3 扩展存储控制器XMC
4.3.1 存储器映射寄存器概要
4.3.2 XMC存储器保护和地址扩展
4.3.3 存储器保护和地址扩展过程
4.3.4 地址扩展
4.3.5 XMC存储器保护结构支持
4.3.6 预取缓冲
4.4 存储器保护架构
4.4.1 存储器保护的目的
4.4.2 特权级别
4.4.3 存储器保护架构
4.5 带宽管理
4.5.1 介绍
4.5.2 带宽管理架构
4.5.3 带宽管理寄存器
4.6 设计建议
4.6.1 合理规划使用存储器
4.6.2 存储器设置成不被Cache缓存和预取
第5章 Cache缓存和数据一致性
5.1 为什么使用Cache
5.2 C64x和C66x DSP之间的Cache区别
5.3 Cache存储器结构概览
……
摘要
     第3章SRIO RapidIO是一种通用、高带宽、低引脚数、基于数据包交换的系统级互连体系结构的一种开放式互连技术标准。它主要用作系统内部接口,用于以每秒千兆字节的性能水平进行芯片到芯片及板到板通信。KeyStone器件中使用的RapidIO外围设备称为串行RapidIO(Serial RapidIO,SRIO)。 SRIO接口支持4通道SRIO 2.1规范,每通道支持1.25/2.5/3.125/5Gb/s波特率传输。PCIE Gen2单个接口支持1通道或两通道,每通道优选可支持5Gb/s波特率。 SRIO端口在C6678器件上是一个高性能、接口数量少的内部连接方式。在一个基带板内部使用RapidIO进行连接设计,可以创建一个对等的互连环境,在部件间提供更多的连接和控制,性能可达GB/s。RapidIO基于处理器总线中存储器和器件寻址概念,事务处理接近由硬件管理。采用RapidIO互连不仅可以降低系统成本,还可以降低潜在风险,减小包数据处理的间接消耗并提供更高的系统带宽。 这种体系结构可以用于连接微处理器、内存和内存映射的I/O器件,通常应用于网络设备、内存子系统和通用处理系统。 RapidIO的主要特点包括: (1) 灵活的系统架构,允许点对点通信。 (2) 具有错误检测功能、强大的通信能力。 (3) 频率和端口宽度可扩展性。 (4) 非软件密集型操作。 (5) 高带宽互连,低开销。 (6) 引脚数少。 (7) 低功率。 (8) 低延迟。 3.1SRIO介绍 RapidIO体系架构和RapidIO互连结构分别如图3.1和图3.2所示。 图3.1RapidIO体系架构 图3.2RapidIO互连结构 SRIO中的RapidIO外部设备要求: SRIO为所有符合RapidIO物理层1×/4×LP系列规范V1.2的设备提供无缝接口。这包括多个供应商提供的ASIC、微处理器、DSP和交叉开关网络(Switch Fabric)设备。 SRIO的驱动库在ti\pdk_C6678_x_x_x_x\packages\ti\drv\srio目录下,相关文档在docs目录,例程在example目录下。 SRIO的编程示例程序基于寄存器层CSL(芯片支持层)。大多数代码使用如下定义的SRIO寄存器指针: #include #include CSL_SrioRegs * srioRegs = (CSL_SrioRegs *)CSL_SRIO_CONFIG_REGS; 3.1.1物理层1×/4×LP系列规范 目前,RapidIO行业协会认可两种物理层规范: 8/16 LPLVDS和1×/4×LP系列。8/16 LPLVDS规范是一个点对点同步时钟源DDR接口。1×/4×LP串行规格是一个点对点、交流耦合、时钟恢复的接口。两个物理层规格不兼容。 SRIO符合1×/4×LP系列规范。SRIO中的 SerDes(Serializer/Deserializer)技术也与该规范一致。 RapidIO物理层1×/4×LP串行规范目前涵盖四个频点: 1.25Gb/s、2.5Gb/s、3.125Gb/s和5Gb/s。这定义了每个I/O信号差分对的总带宽。由于8位/10位编码开销,每个差分对的有效数据带宽分别为1.0Gb/s、2.0Gb/s、2.5Gb/s和4Gb/s。 SRIO物理层结构如图3.3所示。 图3.3SRIO物理层结构 1. 1×和4×连接 SRIO物理层1×/4×互连结构如图3.4所示。SRIO设备引脚采用高速差分信号接收数据。 一个设备的每条正传输数据线(TDx)都连到另一个设备上对应编号的正接收数据线。 同样,每条负传输数据线(TDx)连接到一个对应编号的负接收数据线 (RDx)。图3.4中RD为接收数据线( Receive Data Line)的简写,TD为传输数据线( Tranceive Data)的缩写。 图3.4SRIO 1×和4×互连结构 2. SRIO引脚 SRIO设备引脚是基于电流模式逻辑(CurrentMode Logic,CML)开关电平的高速差分信号。发送和接收缓冲区独立于时钟恢复块中。参考时钟输入未合并到SerDes宏中。它使用了一个差分输入缓冲器,与晶体振荡器制造商提供的LVDS和LVPECL接口兼容。表3.1描述了SRIO外围设备的引脚。 表3.1SRIO外围设备的引脚 引脚名引脚数信号方向描述 RIOTX3/ RIOTX32Output发送数据差分点对点单向总线。将数据包数据发送到接收设备的Rx引脚,用于1个4×设备中的优选有效位,也可用于4个1×设备 RIOTX2/ RIOTX22Output发送数据差分点对点单向总线。将数据包数据发送到接收设备的Rx引脚, 用于4个1×设备和1个4×设备的位 RIOTX1/ RIOTX12Output发送数据差分点对点单向总线。将数据包数据发送到接收设备的Rx引脚, 用于4个1×设备和1个4×设备的位 RIOTX0/ RIOTX02Output发送数据差分点对点单向总线。将数据包数据发送到接收设备的Rx引脚, 用于1个1×设备、4个1×设备和1个4×设备的位 RIORX3/ RIORX32Input接收数据差分点对点单向总线。接收发送设备的Tx引脚的数据包数据。1个4×设备中的优选有效位,也可用于4个1×设备 RIORX2/ RIORX22Input接收数据差分点对点单向总线。接收发送设备的Tx引脚的数据包数据,用于4个1×设备和1个4×

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网