- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CCS使用教程.doc
CCS使用教程
1. TI公司提供了高效的C编译器和集成开发环境Code Composer Studio,学习C6X的编程应该从学习CCS的使用开始。
首先安装CCS,CCS的安装有详细的说明,并配有简短的Quick Time的多媒体介绍,对于没有购买CCS的用户,可以从TI处得到30天的试用版(没有硬件仿真功能)。
使用CCS前需要对CCS进行设置,以Simulator为例,运行Setup CCS C6000 1.20,安装Device Driver,对于有硬件支持的仿真器,可以选择配套的CCS驱动,设置完成的画面如下图所示:用户的界面大致相同。
接下来就可以运行CCS了,CCS提供了比较好的例子,对于初学者,仔细学习这些例子,会起到事半功倍的效果。在CCS的Help菜单的Tutorial子菜单下,给出了四个教程,分别是:Code Composer Studio Tutorial、Advanced DSP/BIOS Tutorial、Compiler Tutorial和RTDX Tutorial,用户可以从简单的CCS功能开始,如创建一个工程文件Project,到创建一个完善的用户程序一步一步的进行。
下面是Code Composer Studio Tutorial的例子:
分别从生成一个简单的“Hello World”程序,到使用DSP/BIOS功能,到程序的调试,实时分析,I/O操作等分6课来讲解,可以领略TI的CCS的强大功能。
下面以“Hello World”程序为例讲一下CCS的使用。
首先打开一个Project文件
这些文件的路径如下图所示
打开hello.mak,会看到如下图所示的界面。将File View栏中的“+”号都打开,会看到整个项目工程中的所有资源.
其中*.c文件和*.h文件与普通的C语言编程中是一致的(TI编译器支持ANSI C标准)。需要指出的是三个文件:HELLO.CMD、RTS6201.LIB、VECTORS.ASM。HELLO.CMD文件给出了程序空间和数据空间的设置、及编译后各程序段在程序或数据空间的具体位置。RTS6201.LIB文件为DSP运行时所需要的支持库,VECTORS.ASM为中断向量表,都是区别于纯软件编程的独到之处,熟悉以后会有更深的体会。
下图为HELLO.CMD文件的代码,MEMORY分为程序空间IPRAM和数据空间IDRAM,并分别给出了起始地址origin和长度len,各段在MEMORY空间的分配也作了定义。对于实际的目标板硬件系统,由实际的存储器空间及DSP芯片上的存储空间决定。对于软件仿真,可以不考虑有没有MEMORY资源。
直接对该工程进行编译,会得到如下结果,试一下吧!也可以试一下快捷工具条上的按钮,随便点击鼠标右键,也会有意外的收获。怎么样?没有错误吧!
自己在编写工程项目文件时,经常会遇到下面的问题,没有C语言程序的入口函数,细心比较一下会发现工程文件中缺少了一个运行时支持库RTS6201.LIB,不同的DSP芯片需要不同的运行时库来支持。
下面向项目工程中加上运行时库RTS6201.LIB来纠正刚才的编译错误,同样的方法可以用来向工程中添加*.c、*.cmd、*.asm文件。*.h文件在编译时会自己找到(当然需要在环境变量中设置好啦,一般不需要改动)。
运行时库在TI的缺省路径下,注意将文件类型改为*.lib
大家可能注意到,在HELLO.C文件中有这样的定义:
#ifdef FILEIO
int i;
char scanStr[BUFSIZE];
char fileStr[BUFSIZE];
size_t readSize;
FILE *fptr;
#endif
#ifdef FILEIO
/* clear char arrays */
for (i = 0; i BUFSIZE; i++) {
scanStr[i] = 0 /* deliberate syntax error */
fileStr[i] = 0;
}
/* read a string from stdin */
scanf(%s, scanStr);
/* open a file on the host and write char array */
fptr = fopen(file.txt, w);
fprintf(fptr, %s, scanStr);
fclose(fptr);
/* open a file on the host and read char array */
fptr = fopen(file.txt, r);
fseek(fptr, 0L, SEEK_SET);
readSize = fread(fileStr, sizeof(ch
您可能关注的文档
最近下载
- (康德卷)重庆市高2025届高三第一次联合诊断检 化学试卷(含答案).docx
- 应急预案分工图.docx VIP
- 答辩单个精子转录组学、基因组学特征及在男性不育诊断中的应用.ppt
- 专题一 如何读懂诗歌(二):揣摩细节信息-2024年高考语文古代诗歌阅读技巧(全国通用).pptx VIP
- 工业企业设计卫生标准GBZ1-2010.pdf
- 李智-国际传播(第二版)第八章 国际传播的受众.pptx VIP
- HGT 21544-2006 预埋件通用图.docx
- 广播电视学导论.ppt
- (康德卷)重庆市高2025届高三第一次联合诊断检数学试卷(含答案).docx
- 露天矿安全规程考试复习题.pdf VIP
文档评论(0)