※ 主办单位: 浙江大学
※ 近期授课时间: 7月24日-26日3 天 30学时 ( 每天9:00 - 12:00,13:00 - 16:30)
※ 授课地点: 浙江大学多媒体教室
※ 学习费用: 3 5 00元/人(公开课程)
报名联系: 85622860或13989834654
※课程介绍及目标
C6000 DSP培训课程主要培养学员对嵌入式DSP体系结构的理解,掌握基于C6000的DSP的软件和硬件开发技术,能够开发基于多种架构技术的DSP应用系统。
※ 主讲专家简介 : 长期从事教学与科研工作,主要研究方向包括网络通信、视频/图像处理、数据库等。曾参与或负责过“九五”预研项目以及国家863重点项目的硬、软件设计等工作。具有8年以上的硬件设计经验,尤其是近5年来一直从事相关领域的高速DSP系统硬、软件和FPGA开发经验数字电路设计工作,具有非常丰富的高速PCB设计经验。精通TI公司的C6000、ADI公司的TigerSHarc-201等系列高速DSP,成功开发了多个高速DSP和FPGA结合的高难度项目,尤其擅长多处理器系统的开发,熟悉多种图像/视频压缩算法。具有丰富的项目实战经验。在自动控制、视频信号处理以及无线通信等领域从业多年的研究开发工作,有丰富的动手调试和现场测试经验。自2002年起,在全国数百家企业和研究所做过关于DSP开发和调试的讲座和培训。
※ 课程 知识点 介绍 以及详细大纲
1. 硬件部份
1.1 硬件结构和指令集
l CPU结构TM320C6000结构及CPU、CPU数据通路与控制
l 中断
中断控制器、中断类型和中断信号、中断服务表、中断性能与编程实践
l 流水线
流水线操作概述、流水操作,流水性能考虑事项
l 存储器
存储器映射、片内存储器
l C6000的片内集成外设
外存储器接口 EMIF,主机口HPI,扩展总线,自举逻辑控制,多通道缓冲串口、定时器,中断选择,power-down逻辑
l 指令集
指令和功能单元之间的映射、延迟时隙、操作码延时、并行操作、条件操作、指令集表
1.2 TMS320C6000系列的DSP的硬件开发
l 片内存储器
l 外部存储器接口的设计与应用
EMIF控制器,SBSRAM接口设计、SDRAM/SGRAM接口、异步接口、FIFO接口、Hold接口、存储器申请的仲裁、设计实例
l 直接存储器访问(DMA)
DMA的初始化和启动、传输控制、单一通道的分裂操作,资源仲裁和优化级设置、DMA通道的状态
l 扩展的直接存储器访问(EDMA)
EDMA的控制机制和传输操作,优先级,快速DMA(QDMA)
l 主机口
有关信号与控制器,主机口存取操作,HPI的加载操作,接口 设计实例
l C6000的扩展总线
信号接口与控制寄存器,扩展总线上的I/O口与主机口工作咬牙,扩展总线的仲裁
l 多通道缓冲串口
信号接口与控制寄存器。数据的收发、多通道的选择操作、通用I/O
l 定时器
信号接口与控制寄存器、定时器的工作模式控制
l 中断控制
中断源、中断选择、外部中断信号时序
l 芯片模式设置
复位、芯片设置、芯片自举
l 电源系统设计
供电系统设计、电源监测
l C6000系统的板极设计
JTAG控制、调试考虑事项、高速电路设计与PCB设计事项
2. 软件部份
2.1 TMS320C6000开发工具
CCS软件开发工具及工程开发使用实例、代码生成工具,IDE集成开发环境,DSP/BIOS插件程序和API,应用程序开发实例
2.2 DSP/BIOS编程实例
l DSP/BIOS编程实例
l DSP/BIOS 组件
2.3 RTDX程序设计
l RTDX编程设置
2.4 程序编程实践
l 汇编、C/C++及混合编程
l C代码优化方法
l 汇编代码结构
l 线性汇编优化代码
3. C6000系列DSPs应用开发举例
详细课程大纲
|
上课内容 | |
|
DSP技术概述 |
1.1实时系统介绍 1.2 DSP的历史和特点 1.3 DSP的选择 |
|
C6000 DSP的开发环境CCS |
2.1 C6000 CCS的功能 2.2 C6000代码生成工具和开发流程 2.3 CCS的调试手段 2.4 CCS高级工具:RTDX,pin connect,profile点 |
|
在CCS下开发应用程序 |
3.1 熟悉CCS开发环境 3.2 用C语言开发应用程序的结构和技巧 3.3 用汇编语言开发应用程序的结构和技巧 3.4 用C语言和汇编语言混合开发程序 |
|
实验: CCS开发环境 |
1) 熟悉CCS开发环境 2) 熟悉C6000 project的基本组成文件 3) 学习代码生成过程 4) 学习CCS的调试方法 5) simulator中模拟中断的方法 |
|
C6000的体系结构 |
4.1C6000的VLIW体系结构 流水线,多功能单元,MIMD 4.2 C6000的汇编语言 数据处理类,数据搬移类,程序流程控制类 |
|
C6000的体系结构 |
4.3 C6000的寄存器简介 4.4 C6000的存储器结构和cache 4.5 C6000的流水线 |
|
C6000 C 运行时环境 |
5.1 C6000存储器规范 5.2 寄存器使用约定 5.3 C6000堆栈的使用 5.4 C6000函数调用约定和混合编程 5.5 C6000的初始化 |
|
实验: C6000的汇编语言和运行时环境 |
1) 用C6000的汇编语言写乘法累加程序 2) 手工优化汇编乘法累加程序,学习C6000的流水线 3) 混合代码编程: C函数调用汇编子函数,汇编子函数调用C函数 |
|
TI的实时操作系统:DSP/BIOS |
6.1 RTOS与通用OS 6.2 DSP/BIOS的模块 6.3 DSP/BIOS程序的生成 6.4 DSP/BIOS内核分析 |
|
实验: 基于DSP/BIOS的C6000软件开发 |
1)了解DSP/BIOS开发代码的流程 2)设计一个中断驱动的DSP/BIOS软件:FIR滤波 3)分析DSP/BIOS的任务切换过程 |
|
嵌入式实时系统软件开发与调试 |
7.1 调试的概念 7.2 数据链路 7.3 中断、DMA和时钟 7.4 实时调试方法与经验 7.5 调试实例分析 |
|
C6000代码优化 |
8.1 代码优化的概念 8.2 代码优化的目标和分类 8.3 基于手工汇编的代码优化 8.4 软件流水的概念 8.5 基于线性汇编的优化 8.6 理解asm文件中的循环反馈信息 8.7 代码优化实例分析 |
|
实验: C6000代码优化 |
1)手工优化乘法累加汇编代码 2)写线性汇编代码优化复数数组求模 3)反馈信息分析和资源分配 |