进入http://www.ti.com.cn/product/cn/tms320f28335 下载C2833x/C2823x C/C++ 头文件和外设示例

即SPRC530,目前最新版本是V131。安装好后进入C:\tidcs\c28\DSP2833x\v131。

或者安装controlSUITE,进F:\ti\controlSUITE\device_support\f2833x  进去里面还有v132 v133,进去看了,是DSP2833x_examples_ccsv4的,没有CCS5的。

先到目录下的doc文件夹下 controlSUITE_DSP2833x_HeaderFiles_Quickstart_Readme.pdf 看看,2833x系列头文件入门。


v133\DSP2833x_headers    也就是28335的头文件 ,里面有cmd文件,gel文件,外设的.h头文件,还有全局变量定义源文件。

              cmd文件,gel文件具体文件干什么的,现在不知道,先放着,以后在慢慢研究,不急,还是准菜鸟一枚。

              打开其中一个.h头文件,多是位域,结构体,联合体等定义。


v133\DSP2833x_headers\source  存放着DSP2833x_GlobalVariableDefs.c文件,按意思应该是全局变量定义,先打开看看。

*********************************************

#ifdef __cplusplus
#pragma DATA_SECTION("XintfRegsFile")
#else
#pragma DATA_SECTION(XintfRegs,"XintfRegsFile");
#endif
volatile struct XINTF_REGS XintfRegs;

*********************************************

哦哦,看不懂,先上百度,google查查。

#ifdef __cplusplus 用于C++代码,当然那个else就是用于C代码了。采用#pragma编译器声明,将XintfRegs变量分配到XintfRegsFile数据区,C或C++采用不同的#pragama声明方式,当对一个C++程序进行编译时,编译器自动定义__cplusplus

以下转自http://www.61ic.com/Article/CCS/Experience/201307/49745.html >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.

  简单地说就是防止编译器对代码进行优化.比如如下程序:

  XBYTE[2]=0x55;

  XBYTE[2]=0x56;

  XBYTE[2]=0x57;

  XBYTE[2]=0x58;

  如果对外部硬件上述四条语句分别表示不同的操作,会产生四种不同的动作,那么编译器就不能像对待纯粹的程序那样对上述四条语句进行优化只认为
XBYTE[2]=0x58;而忽略前三条语句(即只产生一条机器代码),此时编译器会逐一的进行编译并产生相应的机器代码(四条).

 一般说来,volatile用在如下的几个地方:

  1、中断服务程序中修改的供其它程序检测的变量需要加volatile;

  2、多任务环境下各任务间共享的标志应该加volatile;

  3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能由不同意义;

  另外,以上这几种情况经常还要同时考虑数据的完整性(相互关联的几个标志读了一半被打断了重写),在1中可以通过关中断来实

  现,2中可以禁止任务调度,3中则只能依靠硬件的良好设计了。

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<以上转自http://www.61ic.com/Article/CCS/Experience/201307/49745.html


f2833x\v133\DSP2833x_common           按意思应该是个公用文件,先打开看看,

                \include 下的  DSP28x_Project.h

                    #ifndef DSP28x_PROJECT_H
                    #define DSP28x_PROJECT_H
                    #include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
                    #include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
                    #endif  // end of DSP28x_PROJECT_H definition

                意思很明显DSP28x_Project.h ,包含DSP2833x_Device.h和DSP2833x_Examples.h文件。

                DSP2833x_Examples.h在v133\DSP2833x_common\include下,里面是PLL倍频分频,CPU速度,一些包含和定义。

               DSP2833x_Device.h在     v133\DSP2833x_headers\include下,里面是是汇编指令定义,助记符定义,文件包含等。

v133\DSP2833x_common\source   下是一些.C源程序和一些.asm汇编代码。  如DSP2833x_Adc.c是ADC的初始化函数。

学习DSP(三)安装C2833x/C2823x C/C++ 头文件和外设示例-压缩包的更多相关文章

  1. 风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞

    风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞 0x03 任意文件下载漏洞 一些网站由于业务需求,往往需要提供文件下载功能,但若对用户下载的文件不做限制,则恶意用户就能够下载任意敏感文件, ...

  2. Android Animation学习(三) ApiDemos解析:XML动画文件的使用

    Android Animation学习(三) ApiDemos解析:XML动画文件的使用 可以用XML文件来定义Animation. 文件必须有一个唯一的根节点: <set>, <o ...

  3. centos8 安装vmware需要的内核头文件 kernel-headers.

    centos8 安装vmware需要的内核头文件 kernel-headers. uname -r (查看内核版本) rpm -qa kernel-headers (查看kernel-headers版 ...

  4. 【deep learning学习笔记】注释yusugomori的RBM代码 --- 头文件

    百度了半天yusugomori,也不知道他是谁.不过这位老兄写了deep learning的代码,包括RBM.逻辑回归.DBN.autoencoder等,实现语言包括c.c++.java.python ...

  5. Linux - Unix环境高级编程(第三版) 源代码编译(即头文件apue.h如何使用问题)【转】

    本文转载自:http://blog.csdn.net/hadas_wang/article/details/43203795 1. 下载代码:http://www.apuebook.com/code3 ...

  6. 51单片机C语言学习笔记6:51单片机C语言头文件及其使用

    很多初学单片机者往往对C51的头文件感到很神秘,而为什么要那样写,甚至有的初学者喜欢问,P1口的P为什么要大写,不大写行不行呢?其实这个是在头文件中用sfr定义的,现在定义好了的是这样的 sfr P1 ...

  7. Android(java)学习笔记260:JNI之native方法头文件的生成

    1. JDK1.6 ,进入到工程的bin目录下classes目录下: 使用命令: javah  packageName.ClassName 会在当前目录下生成头文件,从头文件找到jni协议方法 下面举 ...

  8. Android(java)学习笔记204:JNI之native方法头文件的生成

    1. JDK1.6 ,进入到工程的bin目录下classes目录下: 使用命令: javah  packageName.ClassName 会在当前目录下生成头文件,从头文件找到jni协议方法 下面举 ...

  9. C学习笔记(9)--- 预处理器,头文件

    1.预处理器: 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤.简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理. 我们将把 C 预处理 ...

随机推荐

  1. margin:0 auto 与 text-align:center 的区别(转载)

    摘自:http://www.cnblogs.com/zhwl/p/3529473.html 基本概念: 1.text-align: 属性规定元素中的文本的水平对齐方式;   该属性通过指定行框与哪个点 ...

  2. bzoj3393 [Usaco2009 Jan]Laserphones 激光通讯

    Description Input 第1行输入w和H,之后W行H列输入地图,图上符号意义如题目描述. Output 最少的对角镜数量. Sample Input 7 8 ....... ...... ...

  3. web字体格式及几种在线格式转换工具介绍

    原文地址:http://blog.csdn.net/xiaolongtotop/article/details/8316554 目前,文字信息仍是网站最主要的内容,随着CSS3技术的不断成熟,Web字 ...

  4. Linux Shell脚本编程--nc命令使用详解

    linux nc命令使用详解     功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>] ...

  5. 用WIFI为什么连不上VPN

    因为是做服务器的,经常需要通过VPN连接到公司的服务器处理一些事件. 但最近一次在寝室通过WIFI连接VPN时却报“错误 619:不能建立到远程计算机的连接,因用于此端口的连接已关闭”.我的第一反应是 ...

  6. 虚拟机设备直通的两种方式(Working in Progress)

    声明: 本博客欢迎转发.但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! pci passthroug ...

  7. 分析NTFS文件系统得到特定文件的内容

    找某一个文件的内容(如要读取文件D:\dir\dir2\text.txt,详细过程例如以下: (1)读取分区表/分区链表信息,找到磁盘F的起始扇区. (2)读取D盘的第一个扇区(分区的BOOTSETO ...

  8. 获取对象类型(swift)

    获取对象类型(swift) by 伍雪颖 let date = NSDate() let name = date.dynamicType println(name) let string = &quo ...

  9. Zabbix使用外部邮箱服务器发送邮件报警

    本来是想自己写一篇文章的,但是看到发现网上有写的不错的,于是乎又抄别人的文章,作为记录. 使用外部邮箱来发生邮件明显好处就是防止其他邮箱服务器当垃圾邮件处理,另一方面能降低收邮件延迟. 下面开始进行使 ...

  10. android——屏幕适配大全(转载)

    http://my.oschina.net/u/2008084/blog/496161 一.适配可行性 早在Android设计之初就考虑到了这一点,为了让app适应标准or山寨屏幕,google已经有 ...