DSP技术课程设计 语音信号扩展U律.doc_第1页
DSP技术课程设计 语音信号扩展U律.doc_第2页
DSP技术课程设计 语音信号扩展U律.doc_第3页
DSP技术课程设计 语音信号扩展U律.doc_第4页
DSP技术课程设计 语音信号扩展U律.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳理工大学信息科学与工程学院DSP技术课程设计报告课 程 设 计 任 务 书分院(系)信息科学与工程学院专业电子信息工程学生姓名学号设计题目语音信号扩展(U律)内容及要求:1完成语音信号采集;2. 对语音信号进行U律扩展;3. 传输扩展后的信号;进度安排:2009年12月28日 2010年01月03日 选题、查阅资料及编写软件程序(或硬件原理图设计)。2010年01月16日 不合格者参加第二次答辩(交正式报告的电子指导教师(签字): 年 月 日分院院长(签字): 年 月 日 摘 要 本文简要阐述了语音信号扩展U律的基本原理,可以将高位的数据扩展成低位的数据,它适用于声音信号的播放和传输系统,在设计中借助MATLAB信号处理工具箱FDAtool工具设计了语音信号扩展系数,然后在CCS中以TMS320C55x芯片的汇编语言编程实现了该语音信号扩展。利用MATLAB设计语音信号扩展,可以随时对比设计要求和语音信号扩展特性调整参数,直观简便,极大的减轻了工作量,有利于语音信号扩展设计的最优化。另外文中还介绍CCS开发环境。文中所给程序已经经过软件仿真验证,所设计的语音信号扩展符合设计要求。关键词:DSP;语音信号扩展;MATLAB;Code Composer Studio(CCS);TMS320C55x目 录绪论11 语音信号扩展u律设计任务及目的21.1语音信号扩展U律设计任务21.2语音信号扩展U律设计目的21.3 语音信号扩展U律设计基本原理21.3.1 语音信号扩展编码技术的发展21 .3.2 DSP硬件实现数据扩展解压的简单流程21.3.3 u律语音信号扩展32 TMS320C5X的硬件结构52.1 C55X的CPU体系结构52.2 指令缓冲单元(I)52.3 程序流程单元(P)52.4 地址程序单元(A)62.5 数据计算单元(D)63 语音信号扩展U律设计设计过程73.1 设计步骤74 语音信扩展u律设计软件程序85 语音信号扩展u律设计的CCS实现155.1 简述CCS环境155.1.1 CCS主要特点165.1.2 DSP/BIOS和API函数以及RTDX插件175.2 CCS配置175.3 CCS环境中工程文件的使用175.3.1 建立工程文件175.3.2 创建新文件175.3.3 向工程项目中添加文件175.4 编译链接和运行目标文件185.4.1 对程序进行编译链接并装载.out文件186仿真结果及讨论19结 论22参考文献23 III沈阳理工大学信息科学与工程学院DSP技术课程设计报告绪 论 至20世纪70年代末以来,由于数字技术和微电子技术的迅猛发展给语音信号扩展提供了先进的技术手段,基于计算机的语音信号扩展也就从信息处理、自动控制系统论、计算机科学、数据通信、电视技术等学科中脱颖而出,成为研究“语音信号的获取、传输、存储、变换、显示、理解与综合利用”的一门崭新学科数字图像处理(Digital Image Processing),就是利用数字计算机或则其他数字硬件,对从图像信息转换而得到的电信号进行某些数学运算,以提高图像的实用性。例如从卫星图片中提取目标物的特征参数,三维立体断层图像的重建等。总的来说,数字图像处理包括点运算、几何处理、图像增强、图像复原、图像形态学处理、图像编码、图像重建、模式识别等。目前数字图像处理的应用越来越广泛,已经渗透到工业、医疗保健、航空航天、军事等各个领域,在国民经济中发挥越来越大的作用。 对图像进行一系列的操作,以达到预期的目的的技术称作图像处理。图像处理可分为模拟图像处理和数字图像处理两种方式。近年来,DSP技术在我国也得到了迅速的发展,不论是在科学技术研究,还是在产品的开发等方面,在数字信号处理中,其应用越来越广泛,并取得了丰硕的成果。数字滤波占有极其重要的地位。一个完备的语音信号处理系统不但要具备语音信号的采集和回放功能,而且更重要的是要能完成复杂的语音信号分析和处理处理算法,通常这些算法运算量大,而且又要满足实时或准时的快速高效处理要求,因此需采用高速DSP芯片,另外,在要求系统满足较好的通用性的同时,针对不同的应用和不断出现的新的处理方法,还要使系统便于功能的改进和扩展。为此,我们以PC机为主机,以TMS320C50为信号处理核心设计了该系统,TMS320C50是美国Texas Instrument 公司的16位定点DSP产品,它包括改进的哈佛结构,高性能CPU,片内存储器,在外围接口以及一套高效的泄编指令集,计算速度可达40Mips且性能价格比好1 语音信号扩展U律设计任务及目的1.1 语音信号扩展U律设计任务(1)完成语音信号采集;(2)对语音信号进行U律扩展;(3)传输扩展后的信号1.2 语音信号扩展U律设计目的 本设计的目的在于通过使用DSP的程序设计完成对语音信号的扩展,既可以通过软件实现,也可以通过硬件实现。进行程序的设计,并在CCS软件环境下进行调试,同时也加深学生对数字信号处理器的常用指标和设计过程的理解。1.3 语音信号扩展U律设计基本原理 1.3.1 语音信号扩展编码技术的发展 随随着通信、计算机网络等技术的飞速发展,语音扩展编码技术得到了快速发展和广泛应用,尤其是最近20年,语音扩展编码技术在移动通信、卫星通信、多媒体技术以及IP电话通信中得到普遍应用,起着举足轻重的作用。 语音扩展编码技术的类别 语音编码就是将模拟语音信号数字化,数字化之后可以作为数字信号传输、存储或处理,可以充分利用数字信号处理的各种技术。为了减小存储空间或降低传输比特率节省带宽,还需要对数字化之后的语音信号进行扩展编码,这就是语音扩展编码技术。 语音的扩展编码方法归纳起来可以分为三大类:波形编码、参数编码和混合编码。1.3.2 DSP硬件实现数据扩展解压的简单流程 DSP将传输来的扩展后的数据进行解压成16位或32位,而后对解压后的数据进行分析,处理,最后将处理后的数据按照要求扩展成8位的数据格式输出到相应设备以供读取:DRRSRRBR解压RJUSTDDRDXR扩展XSRDX 在进行扩展时,采样后的12位数据,默认其最高位为符号位,扩展时要保持最高位即符号位不变;原数据的后11位要扩展成7位。这7位码由3位段落码和4位段内码组成,具体扩展变换后的根据后11位数据大小决定。扩展后数据的最高位(第7位)表示符号,量阶分别为1,1,2,4,8,16,32,64,由扩展后数据的第6位到第4位决定,第3位到第0位是段内码,扩展后数据有一定的失真,有些数据不能表示出,只能取最接近该数据的扩展值。例如数据125,扩展后的值为00111111,意义如下: 从左往右,第一个0为符号位,表示为一个正数;后面的011为段落码,表示量阶为4,起始数据为64,后面的4个1111为段内码,表示值为15最终结果为:64+4*15=124.1.3.3 U律语音信号扩展律算法:采用律算法对采集的语音数据进行处理,律编码是一种针对语音信号进行对数压缩非均匀量化的方案。采用律对信号进行对数形式的压缩,以便在不提高数据量的前提下提高信噪比,尽管量化的位数保持不变,但动态范围增加了。律压缩的语音信号一般用8比特抽样数据表示,携带小信号信息量比大信号信息量多。从统计意义上讲,有用信号更可能在小信号区间而非大信号区间。因此,在小信号区间需要更多的量化点数。 律算法公式:其中Xmax是信号x(n)的最大幅度,u是控制压缩程序的参数,u越大压缩就越厉害律查找表内共有256个数,分别用来获得07段量化电压,其由1616组数组成。 由下表看大信号多数由第7段表示,三个指数位用来表示第0-7段,4个尾数位用于表示后4个有效位,还有一位符号位没有给出。16比特输入数据是由线性数据变换成8比特律数据(模拟传输),然后再从律转成16比特的线性数据(模拟接收),再输出到编解码器 上图给出了按m律压扩算法的输入输出特性曲线,m为确定压缩量的参数,它反映最大量化间隔和最小量化间隔之比。由图可见,m值越大,压缩量越大。由于m 律压扩的输入和输出关系是对数函数关系,所以这种编码又称为对数PCM。 A律压扩与m律压扩相比,则压缩的动态范围略小些,小信号振幅时质量要比m律稍差。无论是A律还是m律算法,它们的特性在输入信号振幅小时都呈线性,在输入信号振幅大时呈对数压缩特性。 对于采样频率为8kHz,样本精度为16位的输入信号,使用A律压扩或m律压扩编码,经过PCM编码器之后每个样本的精度为8位,输出的数据率为64kb/s。这个数据就是CCITT ,(国际电话与电报顾问委员会)推荐的G.711标准:话音频率脉冲编码调制。U律的扩展可定义为:U律扩展的线性表如下: 扩展过的码字 偏值得输入 段值,量化值 比特 :6 5 4 3 2 1 x比特:11 10 9 8 7 6 5 4 3 2 1 x 0 0 0 a b c d 0 0 0 0 0 0 x a b c d 1 0 0 1 a b c d 0 0 0 0 0 0 1 a b c d 1 0 1 0 a b c d 0 0 0 0 0 1 a b c d 1 x 0 1 1 a b c d 0 0 0 0 1 a b c d 1 x x 1 0 0 a b c d 0 0 0 1 a b c d 1 x x x 1 0 1 a b c d 0 0 1 a b c d 1 x x x x 1 1 0 a b c d 0 1 a b c d 1 x x x x x 1 1 1 a b c d 1 a b c d 1 x x x x x x 2 TMS320C5X的硬件结构2.1 C55X的CPU体系结构C55X有1条32位的程序数据总线(PB),5条16位数据总线(BB、CB、DB、EB、FB)和1条24位的程序地址总线及5条23位地址总线,这些总线分别与CPU相连。总线通过存储单元接口(M)与外部程序总线和数据总线相连,实现CPU对外部存储器的访问。这种并行的多总线结构,使CPU能在一个CPU周期内完成1次32位程序代码读、3次16位数据读和两次16位数据写。C55X根据功能的不同将CPU分为4个单元,指令缓冲单元(I)、程序流程单元(P)、地址流程单元(A)、和数据计算单元(D)。读程序地址总线(PDA)上传送24位的程序代码地址,由读程序总线(PB)将32位的程序代码送入指令缓冲单元进行译码1。2.2 指令缓冲单元(I)C55X的指令缓冲单元有指令缓冲队列IBQ和指令译码器组成。在每个CPU周期内,I单元将从程序数据接收的4B程序代码放入指令缓冲队列,指令译码器从队列中取6B程序代码,根据指令的长度可对8位、16位、24位、32位和48位的变长指令进行译码,然后把译码数据送入P单元、A单元和D单元去执行。2.3 程序流程单元(P)程序流程单元有程序地址产生电路和寄存器组凑成。程序流程单元产生所有程序空间的地址,并控制指令的读取顺序。程序地址产生逻辑电路的任务是产生读取空间的24位地址。一般情况下,它产生的是连续地址,如果指令要求读取非连续地址的程序代码时,程序地址产生逻辑电路能够接收来自I单元的立即数和来自D单元的寄存器值,并将产生的地址传送到PAB。在P单元中使用的寄存器分为5种类型。l 程序流寄存器:包括程序计数器、返回地址寄存器和控制流程关系寄存器。l 块重复寄存器:包括块重复寄存器0和1(BRC0、BRC1)BRC1的保存寄存器(BRS1)、块重复起始地址寄存器0和1以及块重复结束地址寄存器0和1。l 单重复寄存器:包括单重复寄存器和计算单重复寄存器。l 中断寄存器:包括中断标志寄存器0和1、中断使能寄存器0和1以及调试中断使能寄存器0和1。l 状态奇存期:包括状态寄存器0,1,2和3。2.4 地址程序单元(A)地址程序单元包括数据地址产生电路、算术逻辑电路和寄存器组构成。数据地址产生电路能够接收来自I单元的立即数和来自A单元的寄存器产生读取数据空间的地址。对于使用间接寻址模式的指令,有P单元向DAGEN说明采用的寻址模式。A单元包括一个16位的算术逻辑单元,它既可以接收来自I单元的立即数也可以与存储器、I/O空间、A单元寄存器、D单元寄存器和P单元寄存器进行双向通信。A单元包括的寄存器有以下几种类型。l 数据页寄存器:包括数据页寄存器和接口数据页寄存器;l 指针:包括系数数据指针寄存器、堆栈针寄存器和8个辅助寄存器;l 循环缓冲寄存器:包括循环缓冲大小寄存器、循环缓冲起始地址寄存器;l 临时寄存器:包括临时寄存器。2.5 数据计算单元(D)数据计算单元由移位器、算数逻辑电路、乘法累加器和寄存器组构成。D单元包含了CPU的主要运算部件。D单元移位器能够接收来自I单元的立即数,能够与存储器、I/O单元、A单元寄存器、D单元寄存器和P单元寄存器进行双向通信,此外,还可以向D单元的ALU和A单元的ALU提供移位后的数据。移位可以完成以下操作:l 对40位的累加器可以完成向左最多32位的移位操作,移位数乐意从零食寄存器读取或由指令中的常数提供;l 对于16位寄存器、存储器或I/O空间数据可完成左移31位或32位的移位操作;l 对于16位立即数可完成向左移最多15位的移位操作。3 语音信号扩展U律设计过程3.1 设计步骤(1)连接好DSP开发系统,运行CCS软件;(2)设计程序或键入下面的参考程序并保存(文件名设为jia)(3) 新建两个工程,分别添加jia以及链接命令文件(.cmd文件);(4)向工程添加(5)编译、链接工程,生成Out文件;(6)装载.out文件,运行;(7)找错至无错误(8)在view下运行两程序,出现结果框图。(9)改变参数,重新设置其工作的参数,重复以上步骤并比较; 4 语音信号U律设计软件程序MEMORY PAGE 0: VECS: origin = 0080h, length = 0080h /* Internal Program RAM */ PRAM: origin = 7600h, length = 8000h /* Internal Program RAM */ PAGE 1: SCRATCH: origin = 1000h, length = 0020h /* Scratch Pad Data RAM */ DMARAM: origin = 1020h, length = 0300h /* DMA buffer */ DATA: origin = 1320h, length = 0080h /* Internal Data RAM */ STACK: origin = 1400h, length = 0500h /* Stack Memory Space */ INRAM: origin = 1900h, length = 0100h /* Internal Data RAM */ HPRAM0: origin = 1A00h, length = 0002h /* HPI memory accessible by Host and DSP */ HPRAM1: origin = 1A02h, length = 0280h /* HPI memory accessible by Host and DSP */ HPRAM2: origin = 1C82h, length = 0280h /* HPI memory accessible by Host and DSP */ EXRAM: origin = 1F10h, length = 0EA00h /* External Data RAM */SECTIONS .cinit PRAM PAGE 0 .text PRAM PAGE 0 .vectors VECS PAGE 0 init_var PRAM PAGE 0 detect PRAM PAGE 0 vrcprg PRAM PAGE 0 matprg PRAM PAGE 0 .stack STACK PAGE 1 .trap SCRATCH PAGE 1 .const EXRAM PAGE 1 .data EXRAM PAGE 1 .bss EXRAM PAGE 1 .cio EXRAM PAGE 1 .switch EXRAM PAGE 1 tables EXRAM PAGE 1 var EXRAM PAGE 1 svctab EXRAM PAGE 1 /* SS_V LSP table */ vctab EXRAM PAGE 1 /* V LSP table */ uvctab EXRAM PAGE 1 /* UV LSP table */ cuvtab EXRAM PAGE 1 /* Stochastic codebook */ cdbktab EXRAM PAGE 1 /* various codebook tables*/ logtab EXRAM PAGE 1 /* table for log2 */ powtab EXRAM PAGE 1 /* table for pow2 */ hamtab EXRAM PAGE 1 /* table for hamming */ lgwtab EXRAM PAGE 1 /* table for lag window */ acostab EXRAM PAGE 1 /* table for arccos */ sqrtab EXRAM PAGE 1 /* table for square root */ acbtab EXRAM PAGE 1 /* table for thresholds in acb */ pm03tab EXRAM PAGE 1 /* table for x(-0.3) computation */ costab EXRAM PAGE 1 /* table for cosine */ V23 INRAM PAGE 1 FSK INRAM PAGE 1 hpibuff0 HPRAM0 PAGE 1 hpibuff1 HPRAM1 PAGE 1 hpibuff2 HPRAM2 PAGE 1 dma_buff DMARAM PAGE 1/*主程序设计*/*语音采集及回放程序*/*用U律进行扩展及解压*/*采用AD50进行A/D,D/A转换 */ /*灯循环闪烁程序开始*/*L0:录音*/*L1:放音*?#include /* 头文件*/#include #include #include /* 宏定义 */#defineSIGN_BIT(0x80)/* Sign bit for a A-law byte. */#defineQUANT_MASK(0xf)/* Quantization field mask. */#defineNSEGS(8) /* Number of A-law segments. */#defineSEG_SHIFT(4) /* Left shift for segment number. */#defineSEG_MASK(0x70)/* Segment field mask. */* 函数声明 */void delay(s16 perioid);unsigned char data2alaw(int pcm_val);int alaw2data(unsigned char a_val);/* 全局变量 */HANDLE hHandset;int data;int data1;long i,j=0;long k,l=0;unsigned int tempq1;unsigned char temp2;unsigned int m;unsigned int buffer 500000;/* 主函数 */void main() if (brd_init(100) return;for (m=6;m0;m-) brd_led_toggle(BRD_LED0); delay(1000); brd_led_toggle(BRD_LED1); delay(1000); brd_led_toggle(BRD_LED2); delay(1000); hHandadset =codec_open(HANDSEC);codec_dac_mode(hHandset,CODEC_DAC_15BIT);15bit D/A转换codec_adc_mode(hHandset,CODEC_ADC_15BIT);15bit A/D转换codec_ain_gain(hHandset,CODEC_AIN_6db);shuru 6db增益codec_aout_gain(hHandset,CODEC_AOUT_MINUS_12db);输出-12db增益codec_sample_rate(hHandset,SR_8000);采样率 while (1) brd_led_disable(BRD_LED1);/关闭led1 brd_led_disable(BRD_LED2);/关闭led2 brd_led_toggle(BRD_LED0);/开启led0 while (!MCBSP_RRDY(HANDSET_CODEC) ; /等待接收handset处的采样 brd_led_toggle(BRD_LED0); data = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC); /从handset处读取 采样 temp1=data2alaw(data); /对采样进行U律扩展 /* 把低地址数据放在高八位 高地址数据放在低八位 */ i=i+1; if(i%2=1) bufferj=(temp1=40000) i=0; if(j=20000) j=0;brd_led_disable(BRD_LED0) brd_led_disable(BRD_LED2); brd_led_toggle(BRD_LED1); /点亮二极管1 表示放音开始 /* 放音部分 for(k=0;k8)&0x0ff; else temp2=bufferl&0x0ff; l+; if(l=20000) l=0; data1=alaw2data(temp2); / U律解压 while (!MCBSP_XRDY(HANDSET_CODEC) ; *(volatile u16*)DXR1_ADDR(HANDSET_CODEC) = data4; /将数据写入D/A转换器 /* 放音结束 */ brd_led_toggle(BRD_LED0); brd_led_toggle(BRD_LED1); brd_led_toggle(BRD_LED2); /主程序结束 /* 子函数 */ /*延时*/void delay(s16 period) int i, j; for(i=0; iperiod; i+) for(j=0; j1; j+); /*闪灯*/void led(s16 cnt)while ( cnt- )brd_led_toggle(BRD_LED0); /切换LED指示灯0的显示状态delay(1000);brd_led_toggle(BRD_LED1);delay(1000);brd_led_toggle(BRD_LED2);delay(1000);/*初始化codec*/void initcodec(void) /* Open Handset Codec 获取设置codec的句柄*/ hHandset = codec_open(HANDSET_CODEC); / Acquire handle to codec /* Set codec parameters */ codec_dac_mode(hHandset, CODEC_DAC_15BIT); / DAC in 15-bit mode codec_adc_mode(hHandset, CODEC_ADC_15BIT); / ADC in 15-bit mode codec_ain_gain(hHandset, CODEC_AIN_6dB); / 6dB gain on analog input to ADC codec_aout_gain(hHandset, CODEC_AOUT_MINUS_6dB); / -6dB gain on analog output from DAC codec_sample_rate(hHandset,SR_8000); / 8KHz sampling rate /*设置flash*/void flashenable(void)CPLD_CTRL2_REG|=0x0010;CPLD_DMCTRL_REG|=0x0040;/*U律压缩*/unsigned char data2alaw(s16 pcm_val) unsigned char i,sign,uchord,usetp,output;unsigned int absol,temp;absol;=abs(data)+33;temp = absol;sign=(data=0)?1:0; /判定符号:正数 =1 负数 =0for(i=0;i16;i+) output = temp&0x8000;if(output) break;tempuchord)&0x0f; /量化值uchord-; /段值uchord1;data+=33; /扩展后数值中的6位非零值data=uchord;if(sign)return 33 -data; /有符号的扩展值elsereturn data -33 /* 结束 */ 5 语音信号扩展U律设计的CCS实现 5.1 简述CCS环境 CCS,即Code Composer Studio,是TI公司在1999年推出的一个开放、具有强大集成开发环境。它最初是由GO DSP公司为TI的C6000系列DSP开发的。在TI收购了GO DSP后,将CCS扩展到了其它系列。现在所有TI的DSP都可以使用CCS进行开发,但是其中的DSPBIOS功能只有C5000和C6000的CCS中才提供。 以前的DSP软件开发都是在一个分散的开发环境下进行,程序的编写、代码的生成以及调试等都是要通过命令来完成,类似于以前的DOS,十分烦杂。而CCS的出现是DSP开发软件的一次革命性的变化。CCS主要由代码生成工具、CCS集成开发环境、DSPBIOS和API函数以及RTDX组成。 5.1.1 CCS主要特点集成可视化代码编辑界面,可以方便地直接编写C、汇编、.h文件、.cmd文件等。集成代码生成工具,包括汇编器、优化的C编译器和连接器等。具有完整的基本调试工具,可以载入执行文件(.out),查看寄存器窗口、存储器窗口和变量窗口、反汇编窗口等,支持在C源代码级进行调试。支持多片DSP联合调试。断点工具,支持硬件断点、数据空间读/写断点、条件断点等。探针工具,用于进行算法仿真,数据监视等。剖析工具,用于评估代码执行的时间。数据图形显示工具,可绘制时域/频域波形、眼图、星座图等,并可以自动刷新。提供GEI工具,用户可以根据需要编写自己的控制面板/菜单,从而方便直观地修改变量,配置参数。 5.1.2 DSP/BIOS和API函数以及RTDX插件DSP/BIOS(Basic Input Output System)和API(Application Program Interface)函数为CCS的主要插件之一。DSPBIOS可以看作是一个准实时操作系统,支持TI DSP芯片的各种实时操作系统都是以DSP/BIOS作为底层软件,为嵌入式应用提供基本的运行服务。并且,它还能实时获取目标机的信息,并将其传递给主机上的BIOSCOPE工具,对应用程序进行实时分析RTDX (Real Time Data Exchange)插件是CCS中另一个十分重要的插件。实时数据交换技术为CCS提供了一个实时、连续的可视环境,开发人员可以看到DSP应用程序工作的真实过程。RTDX允许系统开发者在不停止运行目标应用程序的情况下在计算机和DSP芯片之间传输数据,同时还可以在主机上利用对象链接嵌入(OLE)技术分析和观察数据。RTDX可以在DSPBIOS中使用,也可以脱离DSP/BIOS使用。由于CCS中的Simulator不支持RTDX,所以必须在连接有硬件仿真器或目标板的Emulator下使用。5.2 CCS配置 击桌面图标的“setup CCStudio v3.1”图标,运行CCS设置程序,如图5.1所示:点击AddSave&quit完成设置。图5.1 用标准配置文件设置系统配置5.3 CCS环境中工程文件的使用5.3.1 建立工程文件在CCS集成环境下开发汇编程序或者C/C+程序,首先要建立一个工程项目文件(*.pjt),再向工程项目文件中添加汇编程序源文件(*.asm),C/C+源文件(*.c)和链接命令文件(*.cmd),并设置工程项目选项。使用CCS开发应用程序的一般步骤如下:l 创建或打开一个工程项目文件(*.pjt),编辑各类文件,可以使用CCS提供的集成编辑环境,对链接命令文件和源程序进行编辑。l 对工程项目进行编译。在编译过程中如果出现语法错误,将在编译链接信息视窗(build)窗口中显示错误信息,用户可以根据显示的信息找到错误的位置,更改错误。l 对结果和数据进行分析和算法评估。用户可以利用CCS提供的探测点.图形显示和性能评价等工具,对运行结果及输出数据进行分析,评估算法的可能性。 下面分别进行介绍建立工程文件,单击ProjectNew命令,系统将弹出如图所示的对话框,在该对话框中输入项目文件名,如fir单击“完成”系统就会创建一个名为fir.pjt的工程项目文件如图5.2所示。图5.2 创建新的工程项目文件对话框5.3.2 创建新文件选择FileNew可打开一个新的编辑窗口。在新窗口中输入源代码。选择FileSave,在出现的对话框中输入一个文件名,并选择一个扩展名(C源代码选择*.c,汇编源代码选择*.asm),然后单击保存将源程序保存6。5.3.3 向工程项目中添加文件添加文件:单击ProjectAdd File to Project命令然后会弹出如图5.3所示的对话框,单击

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论