CCS编译环境说明
CCS C 编译器版本 3 产品说明书

Functional changes from version 2 to version 3:●Support for DOS only systems and Windows 3.1/DOS only systems has beenterminated. The PCB and PCM IDE's have been discontinued. CCSC.EXE isnow a 32 bit application and now has a full set of command line options.PCW and CCSC fully operate on Windows 95,98,ME,NT4, and 2000. Customerswho buy or have PCB or PCM must use MPLAB as an IDE or their own editor.●All DLL files used by the compilers are in a DLL directory directly underthe directory with the EXE files. All .DLL files in the same directoryas the EXE are no longer used and may be deleted. The PC.DEF file andPCINCLUDES environment variable (in AUTOEXEC.BAT) are also no longer used.●CCSC now has the following command format:CCSC Valid Options:options cfilename options cfilename+FB Select PCB (12 bit)-D Do not create debug file +FM Select PCM (14 bit)+DS Standard .COD formatdebug file+FH Select PCH (PIC18)+DM.MAP format debug file +F7Select PC7 (PIC17)+DC Expanded .COD formatdebug file+FS Select PCS (SX)+Yx Optimization level x (0-9)+ES Standard error file+T Create call tree (.TRE) +EO Old error file format+A Create stats file (.STA)-J Do not create PJT file-M Do not create symbolfileCCSC Valid Options: (The xxx in the following are optional. If included, it sets the file extension.) options cfilename options cfilename+LNxxx Normal list file+O8xxx8 bit Intel HEX outputfile+LSxxx MPASM format list file+OWxxx16 bit Intel HEX outputfile+LOxxx Old MPASM list file+OBxxx Binary output file+LYxxx Symbolic list file-O Do not create object file -L Do not create list file+P Keep compile status window up after compile+Pxx Keep status window up for xx seconds after compile+PN Keep status window up only if there are no errors+PE Keep status window up only if there are errors+Z Keep scratch and debug files on disk after compileI="..."Set include directory search path, for example:I="c:\picc\examples;c:\picc\myincludes"If no I= appears on the command line the .PJT file willbe used to supply the include file paths.#xxx="yyy"Set a global #define for id xxx with a value of yyy, example:#debug="true"+STDOUT Outputs errors to STDOUT (for use with third party editors)+SETUP Install CCSC into MPLAB (no compile is done)+V Show compiler version (no compile is done)+Q Show all valid devices in database (no compile is done)●PCW has a new "Global Defines" window to allow compile time #defines tobe entered, saved in a separate file and loaded.● A new preprocessor directive #LOCATE has been added. #LOCATE works like#BYTE however in addition it prevents C from using the area. For example:float x;#locate x=0x50Will locate the float variable at 50-53 and C will not use this memoryfor other variables automatically located.●New byte wide I/O functions have been added that follow the normal rules formaintaining the TRIS register (unlike memory mapped port access). Examples:OUTPUT_B(3);X = INPUT_A();●New built-in function to restart the processor:RESET_CPU();Will jump to location 0 on 12 and 14 bit parts and also reset theregisters to power-up state on the PIC18.●PCW IDE changes:View Data Sheet and View Valid Fuses have moved to the View menuView|Valid Interrupts has been added to show a chips valid interrupts●The device .h file format has been updated. Information about device specificfunctions available is now in the .h file. The following defines supported forcompatibility with the old C71 compiler are no longer in the .h file. Use thenewer names:RTCC_ZERO use INT_RTCCEXT_INT use INT_EXTADC_DONE use INT_AD●#DEVICE must now be the first non-comment line in the program. Some pre-processordirectives may appear before this like #include and #define. Previous versionsof the compiler did not require a #device (it defaulted to a '71 in PCM).●The function EXT_INT_EDGE now accepts two parameter. The first parameter isthe external interrupt number (0,1 or 2) for the PIC18. If used it has no effecton 14 bit parts. If there is only one parameter the function works asit used to on external interrupt 0.●The functions SETUP_COUNTERS(), SET_RTCC() and GET_RTCC are still accepted bythe compiler however newer functions will provide better compatibility acrossfamilies. The newer functions are: SETUP_TIMER0(), SETUP_WDT(), SET_TIMER0()and GET_TIMER0(). Note that the PIC18 SETUP_WDT() only allows the WDT to beturned on or off, the time is set with #FUSES. The other PICs are the opposite.The TIMER0 is 16 bit on the PIC18 by default but can be setup to 8 bit.●For the PIC18 the READ/WRITE_PROGRAM_EEPROM accept a byte address and the readreturns a byte result. The WRITE will only work if a programming voltage isapplied to the chip.●The previously undocumented function ISAMOUNG is documented in this version.ISAMOUNG returns true if a character is one of the characters in a constantstring. For example:if( ISAMOUNG( x, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ") )...●Quoted strings now accept inserted hex numbers via \x. For example:printf("Hi There\x0D\x0A");●By default the compiler treats SHORT as one bit, INT as 8 bits and LONG as16 bits. The traditional C convention is to have INT defined as the mostefficient size for the target processor. This is why it is 8 bits on the PIC.In order to help with code compatibility a new directive has been added thatwill allow these types to be changed. #TYPE can redefine these keywords.For example:#TYPE SHORT=8, INT=16, LONG=32Note that the commas are optional. Since #TYPE may render some sizesinaccessible (like a one bit int in the above) four new keywords havebeen added to represent the four ints: INT1, INT8, INT16 and INT32.Be warned CCS example programs and include files may not work right ifyou use #TYPE in your program.●The ABS, LABS and FABS functions were implemented as simple C functionsin stdlib.h. ABS() is now built into the compiler and accepts any typeas a parameter. It returns the same type as the argument. For compatibilityLABS and FABS are #defined to ABS in stdlib.h.●The debug file (.COD) has been expanded from the Microchip definition toto include information to permit advanced debugging. This includes allC data types and better tracking information. CCS now provides a .DLL thatmay be used by debuggers to use this information. For example it is possibleto have a watch expression like: TABLE[I].LAST-TABLE[I].FIRSTThe new .DLL knows how to evaluate the expression and provide a properlyformatted string back to the debugger. Arrays and structures are alsoproperly formatted. The stack frame may be viewed along with the parameterspassed at each level and function return values may be traced. CCS is workingwith emulator manufactures to make use of these new capabilities.●The PCW help filename has been changed from PCW.HLP to CCSC.HLP. The samehelp file is used for PCB, PCM, and PCH.●The PCW context sensitive help has been enhanced. Placing the cursor on anyC keyword, preprocessor directive or built in function and pressing F1 willbring up help on that item. In addition pressing F1 when a red error messageis being shown will bring up additional help with that error.●The PCW IDE now allows the toolbar to be customized.● A number of internal compiler limits have been increased. For example thelimitation of a macro expansion being less than 256 characters is now 32768. Changes not documented in the May-2001 manual:●If @filename appears on the CCSC command line command line options willbe read from the specified file. Parameters may appear on multiplelines in the file.●If the file CCSC.INI exists in the same directory as CCSC.EXE then commandline parameters are read from that file before they are processed on the command line.●printf() now accepts both 16 and 32 bit variables for %LU and %LD●#define macros now accept the ANSI operators # and ##. In summary the#idx will be replaced with "paramx" and idx##idy is replaced withparamxparamy and is expanded if a new macro name is formed.●#elif is now supported. For example:#if __device__==71#define adc_pin PIN_A0#elif __device__==74#define adc_pin PIN_A2#elif __device__==874#define adc_pin PIN_E0#else#define adc_pin PIN_A1#endif●#IF directives now support: defined(id)This expression evaluates to 1 if id is a preprocessor id and0 otherwise. For example:#ifdef __PCB__#include <16c54.h>#elif defined(__PCM__)#include <16c74.h>#elif defined(__PCH__)#include <18c658.h>#endif●printf() now supports %s to insert a constant or variable string.●Three functions have been added to make manipulation of byteswithin variables easier.i8 = MAKE8(var,offset)Extracts the byte at offset from var.Same as: i8 = (((var >> (offset*8)) & 0xff)except it is done with a single byte move.i16 = MAKE16(varhigh,varlow)Makes a 16 bit number out of two 8 bit numbers.If either parameter is 16 or 32 bits only the lsbis used.Same as: i16 = (int16)(varhigh&0xff)*0x100+(varlow&0xff)except it is done with two byte moves.i32 = MAKE32(var1,var2,var3,var4)Makes a 32 bit number out of any combinationof 8 and 16 bit numbers. Note that the numberof parameters may be 1 to 4. The msb is first.If the total bits provided is less than 32 thenzeros are added at the msb.●#asm now accepts a parameter to prevent the compiler from doing automaticbank switching and optimization in the ASM code. For example:#byte x = 0xa0#asmclrf x#endasmWill generate a bank switch to bank 1 and a clear of location 20 in that bank.#asm ASISclrf x#endasmWill just generate the clear of location 20 and ignore the bank.●The READ_ADC() function always defaults to a 8 bit result. This maybe different from previous versions where the defualt was differentdepending on the chip. Use #DEVICE ADC=xx to specify the desired resolution.●Constant strings are now concatinated when they appear separated by whitespace. For example:printf("hi" "there"); is the same as printf("hithere");Changes not documented in the July-2001 manual:●Arrays may be defined with [] in many cases. For example:const char id[] = {"Hi There"}; // Same as [9]int x[]; // Same as *xint x[] = {1,2,3}; // Same as [3]●The #USE I2C option NOFORCE_SW is still accepted however the new FORCE_HWis what will appear in future documentation.●#INT_ directives now allow a NOCLEAR option to prevent the compilerfrom clearing the interrupt. For example:#INT_RTCC NOCLEARisr() {...}。
软件开发工具CCS使用

软件开发工具CCS使用
程序的执行控制—执行程序
➢ 执行程序的4种命令: Debug→ Run:运行程序,直到遇到断点为止 Debug→ Halt :暂停程序的执行 Debug→ Animate:动画执行程序 Debug→ Run Free :全速运行程序,禁止所有断点 注意:在仿真器中,Run Free 命令无效
软件开发工具CCS使用
3. CCS中的文件类型
➢ project.mak:CCS1.2中使用的工程文件 ➢ project.pjt:CCS2.0之后使用的工程文件 ➢ program.c: c程序源文件 ➢ program.asm:asm源文件 ➢ : c程序和DSP/BIOS API头文件 ➢ :库文件 ➢ project.cmd:链接命令文件 ➢ program.obj:编译或汇编产生的目标文件 ➢ program.out:可执行的程序文件 ➢ program.wks:用于保存环境设置的工作文件 ➢ program.cdb:配置数据库文件
行分析,评估算法性能。
软件开发工具CCS使用
创建、打开和关闭工程
➢ Project→New:用于创建一个新的工程文件 ➢ Project→Open:用于打开一个已有的工程文
件 ➢ Project→Close:用于关闭当前的工程文件
软件开发工具CCS使用
在工程中添加/删除文件
➢ 用命令Project →Add Project,在对话窗口 中选择需要的源程序和需要的文件
软件开发工具CCS使用
程序的执行控制— 断点操作
➢ 软件断点设置 ✓ 使用断点对话框:使用命令 Debug →Break points
弹出对话框 采用工程工具条:将光标移到需设置断点的语句上,
ccs软件

CCS软件CCS软件是一款功能强大的集成开发环境,常用于嵌入式系统的软件开发。
该软件提供了丰富的工具和功能,方便开发人员进行代码编写、调试和测试。
本文将介绍CCS软件的基本特性、优势以及在嵌入式系统开发中的应用。
CCS软件的基本特性CCS软件具有以下基本特性:1.集成开发环境:CCS软件集成了代码编辑器、编译器、调试器等工具,便于开发人员在同一个界面中完成软件开发的各个环节。
2.支持多种处理器架构:CCS软件支持多种处理器架构,包括ARM、MSP430等,满足不同嵌入式系统的开发需求。
3.强大的调试功能:CCS软件提供了丰富的调试功能,包括单步调试、断点调试等,方便开发人员对代码进行调试和优化。
4.丰富的代码库:CCS软件内置了丰富的代码库,开发人员可以快速调用常用的函数和库,提高开发效率。
CCS软件的优势CCS软件具有以下优势:1.高度集成:CCS软件集成了多种开发工具,避免了开发人员在不同工具之间切换,提高了开发效率。
2.易于学习:CCS软件提供了友好的界面和详细的文档,使开发人员能够快速掌握软件的使用方法。
3.广泛应用:CCS软件被广泛应用于汽车、通信、工控等领域的嵌入式系统开发,稳定可靠。
4.持续更新:CCS软件的开发团队不断更新软件版本,提供更多功能和优化,保持软件的竞争力。
CCS软件在嵌入式系统开发中的应用CCS软件在嵌入式系统开发中扮演着重要角色。
开发人员通过CCS软件可以轻松实现以下功能:1.硬件调试:CCS软件支持多种调试功能,开发人员可以通过CCS软件对嵌入式系统的硬件进行调试,找出问题并进行修复。
2.固件开发:CCS软件提供了丰富的代码库和模板,开发人员可以快速编写固件,并通过CCS软件进行编译和烧录。
3.系统优化:CCS软件提供了丰富的性能分析工具,开发人员可以通过CCS软件对系统进行性能分析,找出性能瓶颈并进行优化。
4.团队协作:CCS软件支持团队协作,多个开发人员可以共享代码库、项目和资源,提高团队效率。
(完整word版)ccs软件简介

ccs软件简介CCS软件简介CCS(Code Composer Studio)代码调试器是一种合成开发环境。
它是一种针对标准TMS320调试器接口的交互式方法。
CCS目前有CCS1.1,CCS1.2 和CCS2.0等三个不同时期的版本,又有CC2000 ( 针对C2XX ),CCS5000 ( 针对C54XX )和CCS6000 (针对C6X )三个不同的型号。
我们所使用的是CCS50002.0的版本。
CCS5000具有以下特性:●TI编译器的完全集成的环境:CCS5000目标管理系统,内建编辑器,所有的调试和分析能力集成在一个Windows环境中。
●对C和DSP汇编文件的目标管理:目标编辑器保持对所有文件及相关内容的跟踪。
它只对最近一次编译中改变过的文件重新编译,以节省编译时间。
●高集成的编辑器调整C和DSP汇编代码:CCS5000的内建编辑器支持C和汇编文件的动态语法加亮显示。
使用户能很容易地阅读代码和当场发现语法错误。
●编辑和调试时的后台编辑:用户在使用编译器和汇编器时没有必要退出系统到DOS环境中,因为CCS5000会自动将这些工具装载在它的环境中。
在其窗口中,错误会加亮显示只要双击错误就可以直接到达出错处。
●在含有浮点并行调试管理器(PDM)的原有的MS窗口下支持多处理器CCS5000在Windows95和Windows-me中支持多处理。
PDM允许将命令传播给所有的或所选择的处理器。
●在任何算法点观察信号的图形窗口探针:图形显示窗口使用户能够观察时域或频域内的信号。
对于频域图,FFT在主机内执行,这样就可以观察所感兴趣的部分而无须改变它的DSP代码。
图显示也可以同探针连接,当前显示窗口被更新时,探针被指定,这样当代码执行到达该点时,就可以迅速地观察到信号。
●文件探针在算法处通过文件提取或加入信号或数据:CCS5000允许用户从PC机读或写信号流。
而不是实时的读信号,这就可以用已知的例子来仿真算法。
02_CCS软件使用说明

1 CCS集成环境IDE综述
不仅仅是代码生成工具
–具备基本调试功能,还具备实时分析的能力 –支持整个软件开发过程: –设计 –代码生成(项目建立,源程序编写,配置文件) –调试(语法检查,探测点,日志log功能) –实时分析(实时调试,实时状态显示,任务切
35
图2-13 生成选项窗口——编译器标签
36
表2-9 编译器、汇编器常用 选项(在Compiler中)
37
38
2.3.2 链接器选项
在汇编程序生成代码中,链接器的作用如下:
(1)根据链接命令文件(.cmd文件)将一个或多个COFF 目文件链接起来,生成存储器映象文件(.map)和可 执行的输出文件(.out文件)。
51
图2-16 在Build Options 窗口定义FILEIO
52
5.断点和观察窗口的应用
(1)选择菜单命令File→Reload Program,重新 加载程序(即加载volum1.out)。 (2)在工程视图中双击volume.c,打开源文件编辑 窗口,将光标放在dataIO()行上,并按F9键或 工具栏中的设置断点。 (3)选择菜单命令View→Watch Window,弹 出Watch窗口(如下图)。
Close按钮关闭Import Configuration对话框, 将显示Code Composer Studio Setup窗口,如 图2-2所示。
14
Code Composer studio Setup窗口
15
2.2 CCS菜单和工具栏
2.2.1 菜单 2.2.2 工具栏
16
CCS运行主窗口
CCS集成开发环境以及FIR程序流程图

4.1 CCS集成开发环境的介绍CCS(Code Composer Studio)是由TI公司针对开发TMS320系列的DSP芯片而推出的一种集成开发环境,运行于Windows操作系统中,并且使用清晰明了的图形交互界面有助于用户在软件环境下完成对程序的编辑、编译、链接、运行、软件的仿真、调试硬件和数据分析等工作。
通过提供环境配置、程序的调试、源文件的编辑、以及程序运行时的跟踪以及数据处理的分析等工具,能够满足用户完成开发DSP系统所有环节的各种需求,缩短了系统开发所需要的时间,很大程度上给设计者带来了方便。
现阶段,CCS是用于DSP系统开发的典型软件,受到了广泛的应用。
CCS的工作模式有两种:软件仿真和硬件在线编程[2]。
前者的仿真可以不用真实的DSP芯片,仅在个人微型计算机上就可以仿真DSP系统的实际工作流程,作用主要是验证前期处理算法的准确性以及调试编辑好的程序;后者的在线编程则可以在DSP芯片上进行实际的操作运行,结合硬件开发板一块实现对程序的编辑和调试以便实现特定的功能。
图4-1和图4-2分别为CCS集成开发环境运行时的配置窗口和工作窗口:图4-1 CCS的配置窗口图4-2 CCS的工作界面4.1.1 CCS的组成CCS的系统开发一般由以下五个部分组成:●C54x系列芯片的集成代码生成工具;●DSP/BIOS插件和应用程序的接口API;●RTDX插件(用于对数据进行实时的交换)和与之对应的程序接口API;●CCS集成开发环境;●非TI的公司作为第三方所提供的多种应用模块插件。
这五个组成部分用来对C语言、汇编语言或者是二者的混合语言编写的源程序进行编译、链接,最终生成可执行的程序代码,然后将其加载到指定的DSP 芯片中来完成预先设定的数据处理的任务。
4.1.2 CCS的主要功能CCS集成开发环境的功能很强大,集成了对程序的编辑、编译、链接、运行、仿真和实时跟踪等用于系统开发的所有功能,包括对工程的管理以及对软件和硬件的调试等工具,还可以对C/C++与汇编语言进行混合编程,主要的功能有:1、提供GEL工具:通过GEL的扩展语言能够编写适合自己的菜单和控制面板,而且能够对变量和配置参数等进行方便地修改;2、支持RTDX技术:在目标系统运行的过程中不经过中断就可以实现与其他应用程序进行数据交换的目的;3、编辑代码的界面是集成可视化的:用户可以在CCS的工作界面上直接编写源程序和命令文件;4、图形显示工具能够将数据处理后的结果在屏幕上清晰的显示出来:包括信号的时域和频域的波形、星座图和眼图等多种图形,而且能够对这些图形进行自动的刷新;5、具有集成代码的生成工具(包括C语言的编译器、汇编语言的汇编器以及链接器等):在一个软件中集成了对程序的编辑、编译、链接和运行调试等所有功能;6、提供DSP/BIOS工具:可以对程序代码进行实时分析;7、性能独特的编辑器能够动态的加亮显示程序的动态语法,这样便使得代码的阅读更为方便,语法错误的识别更加的容易快捷;8、可以设置断点的工具:在程序的调试过程当中可以对软硬件设置断点,还可以对条件断点进行设置;9、分析工具:对仿真器、模拟器进行分析,用于对硬件的功能进行监视和模拟、对程序执行的时钟信息进行评价;10、用户可以对程序进行项目管理。
ccs编译教程

ccs编译教程CCS(Code Composer Studio)是德州仪器(Texas Instruments)提供的一个集成开发环境(IDE),用于开发和调试基于TI的DSP(数字信号处理器)和微控制器(MCU)的嵌入式应用程序。
以下是一个简单的CCS 编译教程,涵盖从创建项目到编译的基本步骤:步骤1:安装Code Composer Studio首先,确保你已经成功安装了Code Composer Studio。
你可以从TI 的官方网站下载并按照说明进行安装。
步骤2:创建新项目1. 启动Code Composer Studio。
2. 选择"File" > "New" > "CCS Project"。
3. 在弹出的对话框中,输入项目的名称,选择项目类型(例如,C Project or C++ Project),选择合适的目标(Target)和配置,最后点击"Finish"。
步骤3:配置项目属性1. 在项目资源管理器中,右键点击项目名称,选择"Properties"。
2. 在弹出的对话框中,配置项目属性,包括代码生成器、编译器、链接器等。
这些设置取决于你的项目类型和目标设备。
步骤4:编写代码在"src" 目录中创建你的源代码文件。
例如,创建一个名为`main.c` 的文件,并在其中编写你的应用程序代码。
```c#include <stdio.h>int main() {printf("Hello, CCS!\n");return 0;}```步骤5:构建项目1. 在CCS 中,点击工具栏上的"Build" 图标,或者使用"Project" > "Build Project" 菜单。
CCS5使用说明

CCS5使用说明CCS5使用说明章节1:介绍本章节主要介绍CCS5(Code Composer Studio 5)的概述,包括软件的用途、功能特点以及适用的硬件平台等。
1.1 CCS5简介CCS5是一款用于嵌入式软件开发的集成开发环境(IDE),由德州仪器(TI)公司开发。
CCS5提供了全面而强大的工具和功能,可用于开发和调试各种微控制器和数字信号处理器(DSP)的应用程序。
1.2 CCS5的功能特点CCS5具有以下功能特点:- 代码编辑器:提供丰富的代码编辑功能,包括代码高亮、自动补全、代码折叠等。
- 编译器和调试器:支持多种编译器和调试器,可快速编译、调试嵌入式应用程序。
- 调试工具:提供强大的调试功能,包括实时变量监视、内存查看、断点设置等。
- 项目管理:支持创建和管理项目,方便团队协作和项目管理。
- 插件扩展:支持丰富的插件扩展,可增强CCS5的功能和性能。
1.3 硬件平台支持CCS5支持多种硬件平台,包括德州仪器的DSP和微控制器系列产品。
详细的硬件平台支持列表可参考附件1:章节2:安装和配置本章节主要介绍CCS5的安装和配置过程,包括软件、安装步骤以及必要的环境配置。
2.1 软件CCS5的安装文件可从德州仪器官方网站()。
请确保的软件版本和您的操作系统兼容。
2.2 软件安装按照安装向导的指示,完成CCS5的安装过程。
安装路径可根据您的需求进行选择。
2.3 环境配置在安装完成后,需要进行一些必要的环境配置,包括设置编译器和调试器的路径、配置连接设备等。
详细的环境配置步骤可参考附件2:章节3:使用指南本章节主要介绍CCS5的基本使用方法和常用功能,包括项目创建、代码编写、编译和调试等。
3.1 项目创建使用CCS5创建项目是开发嵌入式应用程序的第一步。
通过项目创建向导,您可以选择硬件平台、编译器和调试器等配置项,并指定项目的名称和路径。
3.2 代码编写在CCS5的代码编辑器中,您可以编写和编辑嵌入式应用程序的源代码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用来显示寄存器观察窗口, 在执行前先设置好各断点, 用来打开存储器窗口选项, 暂停正在执行的程序。 观察和修改寄存器。 每按一次该按钮,就会从 用来打开调用堆栈观察窗 显示存储器观察窗口。 用来打开反汇编窗口。 当前程序位置执行到下一 口。 用来打开快速观察窗口, 用来打开观察窗口,监视局 个断点处。连续按该按钮 查看和修改变量。 部变量和全局变量的值。 可以实现动画运行。
探测点工具,可用于算法的仿真,数据的实时监 视等
分析工具,包括模拟器和仿真器分析,可用于模 拟和监视硬件的功能、评价代码执行的时钟 数据的图形显示工具,可以将运算结果用图形显 示,包括显示时域/频域波形、眼图、星座图、图 像等,并能进行自动刷新
提供GEL工具。利用GEL扩展语言,用户可以编写自
5.2.2 源文件的建立、打开、关闭与编辑
以音频增益处理程序(volume)为例,在 CCS环境下讲述源程序文件的建立和编辑, 工程文件的建立,工程项目的编译、链接, 程序的运行控制、变量观察等CCS的基本使 用方法。
例5-1,建立3个新的文本格式源程序文件
文件内容如下:
(1)C语言源程序volume.c: //----------------------相关头文件------------------------------------// #include "volume.h" //-----------------------工作变量定义----------------------------------// int inp_buffer[BUF_SIZE]; // 输入缓冲区 int out_buffer[BUF_SIZE]; // 输出缓 // BUF_SIZE的定义见volume.h int *input; int *output; int volume = 2; struct PARMS str = { 2934, 9432, 213, 9432, &str };
双击桌面上的“Setup CCS2(C5000)”快捷方式图 标,屏幕上将出现“Import Configuration”对话框
在” Available Configuration(可用配置)”中列出了 包含的所有可用系统配置,如:C54xx、C55xx等系列, 有Simulator、Emulator,DSK等平台供选择 选择合适的配置(在“Filters”选项中进行设置可以帮 助更快地在可用配置找到所用的配置),点击 “Import”按钮,所选的系统配置就被添加进“System Configuration”中了 点击“Save and Quit”按钮,保存系统配置
硬件在线编程模式
可以实时运行在DSP芯片上,与硬件开发板相结合 在线编程和调试应用程序
2. 主要构成:
C55x集成代码产生工具
用来对C语言、汇编语言或混合语言编程的DSP源 程序进行编译汇编,并链接成为可执行的DSP程序 主要包括汇编器、链接器、C/C++编译器和建库 工具等 集编辑、编译、链接、软件仿真、硬件调试和实时 跟踪等功能于一体 包括编辑工具、工程管理工具和调试工具等
(3)工程项目工具条
编译当前的源文件,生成目标 (.obj)文件 操作以后改变了的文件 对上次 进行编译,并链接生成输出 重新编译并链接当前工程项目中 (.out)文件 的所有文件,生成输出(.out) 文件
在编辑窗口中的源文件或反汇编 删除全部断点 指令中设置断点 设置探测点 删除全部探测点
单步运行,遇到函数或子程序,则 进入函数内部或子程序。汇编语言 单步运行,遇到函数或子程序时全 调试 。 速完成,不进入函数内部或子程序。 单步跳出,从当前子程序的位置全 汇编语言调试 。 单步运行,遇到函数或子程序, 速执行后续子程序,返回到调用该 单步运行,遇到函数或子程序时 则进入函数内部或子程序。C语 子程序的指令。 全速完成,不进入函数内部或子 言调试程序从上次运行停止处,全速 。 (4)调试工具条 从当前PC位置开始执行程序, 程序。C语言调试 。 运行到当前光标处。 直到遇到断点后停止。
调 试 性 能 分 析 扩 展 功 能 选 项 工 具 DSP/ BIOS 核 窗 口 帮 助
设置断点、探测点, 完成单步执行、复 性能菜单。包括设置 利用通用扩展语言 位等 时钟和性能断点等 选项设置。设置字体、 扩展功能菜单 颜色、键盘属性、动 工具菜单。包括管脚 DSP/BIOS核。包括 画速度、内存映射等 帮助菜单。为用户提供 连接、端口连接、命 DSP/BIOS配置工具、实 窗口管理。包括窗口排列、 在线帮助信息 令窗口、链接配置等 时分析工具、DSP/BIOS 窗口列表等 核、芯片支持库等
集成开发环境
Байду номын сангаас
DSP/BIOS实时内核插件及其应用程序接口API, 主要为实时信号处理应用而设计,包括 DSP/BIOS的配置工具、实时分析工具等
实时数据交换的RTDX插件以及相应的程序接口
API,可对目标系统数据进行实时监视,实现DSP 与其他应用程序的数据交换
由TI公司以外的第三方提供的各种应用模块插件
//---------------------------------子程序---------------------------------// // 读取输入信号 int read_signals(int *input) { // 在此读取采集数据信号放到输入缓冲区input[] return(TRUE); } // 将数据进行处理后搬移到输出缓冲区 int write_buffer(int *input,int *output,int count) { int i; for ( i=0;i<count;i++ ) output[i]=input[i]*volume; //将输入数据放大volume倍放到输出缓冲区 return(TRUE); } // 输出处理后的信号 int output_signals(int *output) { // 在此将输出缓冲区out_buffer中的数据发送到输出设备(比如DA) return(TRUE); }
工程项目管理工具可对用户程序实行项目管理。 在生成目标程序和程序库的过程中,建立不同程 序的跟踪信息,通过跟踪信息对不同的程序进行 分类管理 基本调试工具具有装入执行代码、查看寄存器、 存储器、反汇编、变量窗口等功能,并支持C源 代码级调试
断点工具,能在调试程序的过程中,完成硬件断 点、软件断点和条件断点的设置
5.1.1 集成开发环境CCS概述
针对TMS320系列DSP
工作于Windows操作系统下,采用图形接口界面 提供有环境配置、源文件编辑、程序调试、跟踪和 分析等工具
1. CCS的两种工作模式
软件仿真器模式
可以脱离DSP芯片,在PC机上模拟DSP的指令集 和工作机制,主要用于前期算法实现和调试
3. CCS的主要功能
具有集成可视化代码编辑界面,用户可通过其界面直
接编写C、汇编、.cmd文件等
含有集成代码生成工具,包括汇编器、优化C编译器、 链接器等,将代码的编辑、编译、链接和调试等诸多
功能集成到一个软件环境中
高性能编辑器支持汇编文件的动态语法加亮显示,使 用户很容易阅读代码,发现语法错误
//-------------------------调用子程序规则--------------------------------// int read_signals(int *input); int write_buffer(int *input,int *output,int count); int output_signals(int *output); //----------------------------主程序------------------------------------// main() { int num = BUF_SIZE; int i; // ======初始化====== i=0; input=inp_buffer; output=out_buffer; // ======无限循环====== while ( TRUE ) { read_signals(inp_buffer); // 加软件断点和探针 write_buffer(inp_buffer, out_buffer, num); output_signals(output); i++; } } }
创建文件按钮。用 打开文件按钮。用来 来创建新文件。 保存文件按钮。用来保 打开已有的文件。 剪切按钮。用来剪切文本, 存当前窗口的文件。 3. 常用工具条 复制按钮。用来复制文本, 将标记文本放入剪切板。 将标记文本放入剪切板。 (1) 标准工具条粘贴按钮。用来粘贴文本,将剪 撤消按钮。用于撤消最后的编辑 切板中的文本粘贴在光标处。 恢复按钮。用于恢复最后撤消的 活动。 活动。
第5章 集成开发环境(CCS)
内容提要:
CCS概述
CCS的基本操作:
CCS的窗口、菜单和工具条,文件的编辑,CCS工程 项目的建立和构建
工程项目的调试:
程序的运行控制,断点和探测点的设置和使用,寄存 器、存储器、变量的观察和修改,图形工具的使用、 数据输入与输出等
5.1 CCS概述
集成开发环境CCS概述 CCS软件的安装
向下搜索按钮。用来查找光标所在处 向上搜索按钮。用来查找光标所在处 下一个要搜索的字符串。 搜索文本段按钮。将加亮显示的文本 前一个要搜索的字符串。 搜索多个文件按钮。在多个文件中搜 段作为搜索文本,单击该按钮,窗口 打印文件按钮。用来打印当前窗口源 帮助按钮。为用户提供上下文相关的 索指定的文本段。 将移动到该段下一个出现的位置。 文件。 帮助。