版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、使用CCS进行DSP编程(一)CCS编程入门pacificxuTI公司提供了高效的C编译器和集成开发环境Code Composer Studio,学习C6X的编程应该从学习CCS的使用开始。首先安装CCS,CCS的安装有详细的说明,并配有简短的Quick Time的多媒体介绍,对于没有购买CCS的用户,可以从TI处得到30天的试用版(没有硬件仿真功能)。使用CCS前需要对CCS进行设置,以Simulator为例,运行Setup CCS C6000 1.20,安装Device Driver,对于有硬件支持的仿真器,可以选择配套的CCS驱动,设置完成的画面如下图所示:用户的界面大致相同。接下来就可
2、以运行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功
3、能,到程序的调试,实时分析,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文件给出了程序空间和数据空间的设置、及编译后各程序段在程序或数据空间的具体位置
4、。RTS6201.LIB文件为DSP运行时库,VECTORS.ASM为中断向量表,都是区别于纯软件编程的独到之处,熟悉以后会有更深的体会。下图为HELLO.CMD文件的代码,MEMORY分为程序空间IPRAM和数据空间IDRAM,并分别给出了起始地址origin和长度len,各段在MEMORY空间的分配也作了定义。对于实际的目标板硬件系统,由实际的存储器空间及DSP芯片上的存储空间决定。对于软件仿真,可以不考虑有没有MEMORY资源。直接对该工程进行编译,会得到如下结果,试一下吧!也可以试一下快捷工具条上的按钮,随便点击鼠标右键,也会有意外的收获。怎么样?没有错误吧!自己在编写工程项目文件时,
5、经常会遇到下面的问题,没有C语言程序的入口函数,细心比较一下会发现工程文件中缺少了一个运行时支持库RTS6201.LIB,不同的DSP芯片需要不同的运行时库来支持。下面向项目工程中加上运行时库RTS6201.LIB来纠正刚才的编译错误,同样的方法可以用来向工程中添加*.c、*.cmd、*.asm文件。*.h文件在编译时会自己找到(当然需要在环境变量中设置好啦,一般不需要改动)。运行时库在TI的缺省路径下,注意将文件类型改为*.lib,大家可能注意到,在HELLO.C文件中有这样的定义:#ifdef FILEIO int i; char scanStrBUFSIZE; char fileStrB
6、UFSIZE; size_t readSize; FILE *fptr;#endif#ifdef FILEIO /* clear char arrays */ for (i = 0; i < BUFSIZE; i+) scanStri = 0 /* deliberate syntax error */ fileStri = 0; /* read a string from stdin */ scanf("%s", scanStr); /* open a file on the host and write char array */ fptr = fopen(&quo
7、t;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(char), BUFSIZE, fptr); printf("Read a %d byte
8、char array: %s n", readSize, fileStr); fclose(fptr);#endif 其中还有一些变量的定义和对文件的操作,运行编译好的程序后好象这些语句都没有执行,因为在CCS的编译环境中这个参数还没有定义。按下图进行设置:设置完成后可以进行重新编译,会发现新的错误(如果没有出现这个错误,说明设置的不对)。双击这个错误,在HELLO.C文件中,光标会出现在出错的地方。在第52行的这一句,可以看到语句的后面没有加“分号”, scanStri = 0 加上“分号”后重新编译,ok?!加载hello.out运行,会出现下面的输入界面,输入一串文字并确定,在“Stdout”窗口会有下面的显示,小结:在这里简单介绍了CCS的使用,包括CCS的设置、帮助文件的使用,(TI的帮助文件系统、详细地介绍了CCS的使用,强烈建议用户认真学习。)并以“Hello World”程序为例对CCS的使用中容易出现问题的一些地方作了一般的介绍,包括运行时库的添加、预编译定义设置
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏州工学院《教育学原理》2025-2026学年期末试卷
- 促销管理专业知识与实践技能试题及答案
- C6-Biotin-phytoceramide-t18-0-6-0-Biotin-ceramide-t18-0-6-0-生命科学试剂-MCE
- BTTAA-Standard-生命科学试剂-MCE
- 高空作业机械维修工岗前实操知识水平考核试卷含答案
- 海水珍珠养殖工操作评估知识考核试卷含答案
- 压延玻璃成型工岗前复测考核试卷含答案
- 竹藤师班组评比能力考核试卷含答案
- 纺粘熔喷热轧非织造布制作工岗前管理应用考核试卷含答案
- 化学清洗工岗前技术规范考核试卷含答案
- 2025陕西有色榆林新材料集团有限责任公司招聘(12人)笔试历年典型考点题库附带答案详解试卷2套
- 公司法务国际化发展策略规划
- 城市地下排水管网检测报告模板
- 火力发电厂岗位人员配置标准
- (完整版)波形护栏安装施工方案
- 长螺旋钻干作业引孔静压PHC管桩施工工法
- 七上英语人教新版阅读短文填空小纸条
- 有机合成实验室安全培训课件
- 炎症性肠病超声诊断
- 企业资产交接流程及确认书范本
- DBJ-T 15-119-2023 预拌混凝土用机制砂应用技术规程
评论
0/150
提交评论