当前位置:首页 » 编程语言 » dspc语言程序设计
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

dspc语言程序设计

发布时间: 2023-02-11 00:13:41

⑴ TMS320F2812原理及其C语言程序开发的二、内容简介

《TMS320F2812原理及其C语言程序开发》共分12章。第1章为处理器的功能以及开发环境CCS的介绍,用简单易懂的实例引领读者入门。第2章为结合工程开发的C语言基础介绍,重点是培养读者C语言开发的基本能力。第3章为TMS320F2812外设的C语言程序开发,重点介绍外设的C语言构成,使读者对TMS320F2812的外设编程有一个清楚的认识。第4~10章为TMS320F2812的外设介绍,重点介绍外设工作原理、寄存器位信息及功能,并且根据不同的外设提供详细的C语言程序开发,可以使读者对外设充分理解。第12章为以TMS320F2812为处理器的电气平台开发介绍,重点介绍以处理器为核心的各模块硬件设计、软件开发,更好地提升读者的开发能力。附录中还介绍μC/OS-Ⅱ操作系统在TMS320F2812上移植及实时多任务管理。
《TMS320F2812原理及其C语言程序开发》适合学习DSP TMS320F2812的初级、中级用户及有一定基础的DSP设计开发人员,是DSP方面软件和硬件工程师必备的工具书,也可以作为TMS320F2812 DSP爱好者的自学教材。此外,《TMS320F2812原理及其C语言程序开发》还可以作为高等院校相关专业的参考教材。
-------------------------------------------------------------------------------- 以F2812为核心的电气平台的开发与设计
丰富的C语言程序开发实例
C语言的编程基础和编程规范
详细介绍F2812的外设原理和编程技巧
F2812的Boot ROM相关内容及多种启动方式介绍
ADC外部校正原理
嵌入式项目流程管理知识介绍
μC/OS-Ⅱ系统在F2812上的移植,以及实时多任务管理 第1章 芯片功能概述、软件介绍、项目流程管理研究
1.1 TMS320F2812性能概述
1.2 TMS320F2812结构概述
1.2.1 引脚分布
1.2.2 TMS320F2812引脚信号捕述
1.3 TMS320F2812功能概览
1.3.1 存储空间示意图
1.3.2 简要描述
1.4 DSP集成环境CCS介绍
1.4.1 CCS安装
1.4.2 CCS配置软件设置
1.4.3 CCS软件慨述
1.4.4 File(文件)菜单介绍
1.4.5 Edit(编辑)菜单介绍
1.4.6 View(视图)菜单介绍
1.4.7 Project(工程)菜单介绍
1.4.8 Debug(调试)菜单介绍
1.5 CCS工程管理
1.5.1 创建新的工程文件
1.5.2 编译并运行程序
1.6 一个简单的例子程序介绍
1.6.1 基本的程序代码生成
1.6.2 具体的程序开发介绍
1.7 嵌入式项目开发流程管理
1.7.1 概述
1.7.2 项目启动
1.7,3 项目计划
1.7.4 项目研发
1.7.5 项目结束
第2章 C语言程序设计基础
2.1 C语言数据结构及语法
2.1.1 C语言数据结构
2.1.2 C语言运算符与表达式
2.2 程序控制结构
2.2.1 if语句
2.2.2 switch语句
2.2.3 while语句
2.2.4 for语句
2.2.5 程序控制中的特殊运算符
2.3 数组
2.4 指引
2.5 函数
2.6 C语言编程规范
2.6.1 环境
2.6.2 语言规范
2.6.3 字符类
2.6.4 变情类型
2.6.5 函数声明和定义
2.6.6 变量初始化
2.6.7 算法类型转换
2.6.8 编程风格
第3章 TMS320F2812外设的C语言程序设计
3.1 导言
3.2 传统的#define方法
3.3 位定义和寄存器结构体定义方式
3.3.1 定义寄存器结构体
3.3.2 使用DATA_SECTION将寄存器结构体映射到地址空间
3.3.3 添加位定义
3.3.4 共同体定义
3.4 位操作和寄存器结构体定义方式的优点
3.5 对位或寄存器整体进行操作
3.6 一个特殊的例子(eCAN控制寄存器)
第4章 TMS320F2812系统控制及中断
4.1 存储空间
4.1.1 Flash存储器
4.1.2 OTP存储器
4.1.3 Flash和()TP寄存器
4.2 时钟及系统控制
4.2.1 时钟及系统控制概述
4.2.2 外设时钟控制寄存器(PCLKCR)
4.2.3 系统控制和状态寄存器(SCSR)
4.2.4 高/低速外设时钟预定标寄存器(HISPCP/L()SPCP)
4.3 振荡器及锁相环模块
4.4 低功耗模式
4.5 F2812外设结构
4.5.1 外设结构寄存器
4.5.2 受EALLOW保护的寄存器
4.6 F2812外设中断扩展模块
4.6.1 PIE控制器概述
4.6.2 中断操作步骤
4.6.3 向量表的映射
4.6.4 中断源
4.6.5 复用中断操作过程
4.6.6 使能/禁止复用外设中断的程序步骤
4.6.7 外设向CPU发出的复州中断请求流程
4.6.8 PIE向量表
4.6.9 P1E配置寄存器
4.6.10 中断程序设计
4.7 看门狗模块
4.7.1 看门狗模块介绍
4.7.2 看门狗计数寄存器(WDCNTR)
4.7.3 看门狗复位寄存器(WDKEY)
4.7.4 看门狗控制寄存器(WDCR)
4.7.5 看门狗模块程序设计
4.8 32位CPU定时器
4.8.1 TIMERxTIM寄存器
4.8.2 TIMERxPRD寄存器
4.8.3 TIMERxTCR寄存器
4.8.4 TIMERxTPR寄存器
4.8.5 定时器程序设计
4.9 通用输入输出口(GPI())
4.9.1 GPI()介绍
4.9.2 输入限制
4.9.3 GPxMUX寄存器(功能选择寄存器)
4.9.4 GPxDIR寄存器(方向控制寄存器)
4.9.5 GPxDAT衡存器(数据寄存器)
4.9.6 GPxSET寄存器(置位寄存器)
4.9.7 GPxCLEAR寄存器(清除寄存器)
4.9.8 GPxTOGGLE寄存器(取反触发寄器)
4.9.9 寄存器位I/O引脚的映射
4.9.10 GPIO程序设计
第5章 TMS320F2812外部接口(XINTF)
5.1 外部接U功能概述
5.2 X1NTF配褂概述
5.2.1 政变XINTF配置和时序寄器的程序
5.2.2 XINTF时钟
5.2.3 写缓冲器
5.2.4 XINTF每个区域访问的引导、激活、跟踪的时序
5.2.5 XREADY信号采样
5.2.6 区域切换
5.2.7 XMP/MC信号对XINTF的影响
5.3 引导、激活、跟踪等待状态的配置
5.4 XINTF寄存器
5.4.1 XINTF时序寄存器(XTIMINGx)
5.4.2 XINTF配性寄仔器(XINCNFx)
5.4.3 XBANK寄存器
5.5 信号描述
5.6 XINTF操作时序图
5.7 XINTF应用开发及C语言程序设计
5.7.1 XINTF应用开发概述
5.7.2 XINTF模块的C语言程序设计
第6章 TMS320F2812串行通信接口(SCI)
第7章 TMS3211F2812的串行外围设备接口(SPI)
第8章 TMS320F2812增强型区域控制网络(eCAN)模块
第9章 TMS320F2812模/数转换(ADC)模 块
第10章 TMS320F2812事件管理器(EV)模块
第11章 Boot ROM介绍和F2812程序仿真与下载
第12章 基于TMS320F2812的电气平台开发设计
附录 μC/OS-Ⅱ操作系统在F2812上移植及实时多任务管理
参考文献
……

⑵ 对DSP而言,CCS用C语言编程和汇编编程,二者的效率相差多少

我用的是28XX系列的,不知道经验对你有没有用,因为不同系列的芯片多少有些差别。
TI提供的库已经相当可以了,兼顾易用与效率。我当时做过这样的测试
1. 用IQMATH实现
2. 直接C语言实现
3. C语言优化实现
4. 原生汇编实现
IQMATH的运行周期在1000左右,比方案3快几十个周期,比方案4慢几个周期,方案2是10000多个周期。
另外,因为只是单独测的算法,汇编之所以快是快在寄存器的使用上,操作数可以直接入寄存器,但是考虑到程序其他部分是用C语言编写的话,把操作栈的时间也加上,并不比方案1快。毕竟我对TI的汇编吃的也不透。
在编写上,无疑是方案1提供了最接近C语言风格的实现,几乎不用考虑ISA方面的问题。
另外对于执行效率,我觉得主要考虑三点:
1.分支的使用
CCS对C语言的优化我没做过太多比对。其实单从反汇编的结果看,我接触过的嵌入式开发环境的编译器都能做出很好的优化。但是几乎每个编译器都会在逻辑的优化上有欠缺——它只能对一些显而易见的判断条件进行优化,而在写程序的过程中,我们经常出于易读性的考虑,或者稳定性的考虑,或者其他的考虑加入几乎不会发生的分支,这样的分支判断会消耗一定比率的代码段执行效率,视乎代码段内有用功能的长度而定,越长这个比率越小,越短这个比率越高。
2.一般操作,就是各种赋值操作
在一般的操作上,编译器的优化已经很令人满意了,基本上可以作为编写汇编的范本。我觉得所谓效率能达到90%就是针对这个部分说的。
3.特殊操作,比如对整块内存的操作,或者是浮点运算上。
在一些特殊的操作上,就要看是否有现成的库,或者看硬件是否支持。比如对整块内存操作就别用循环一个字节一个字节的搬了。
以上三点都能考虑到的话,相信执行效率方面已经没有太大的提升空间了。

另外如果你的代码发生在初始化部分,也就是只在系统运行开始的时候运行一次,那么优化不优化其实没有太大的必要,除非你对系统初始化的时间有严格的要求。但是如果你的代码是作为任务要被反复运行的,那就有优化的必要了。

在CCS里有代码消耗时钟周期的统计,如果你觉得某段代码效率低下的话,可以先分段进行消耗时钟周期的计算,这样优化比较有针对性。

⑶ DSP怎样用C语言写程序啊

TI有C语言的例程的,是一个安装文件,安装之后才会出现那个文件夹。文件夹里面是芯片上外设的使用方法的程序,很简单,学过ANCIC的人能够看懂。