本系统软件是在CCS
代码生成工具奠定了CCS所提供的开发环境的基础。
TMS
C编译器(C complier):将C源程序代码自动编译为汇编语言源代码,C编译器与ANSI标准完全兼容,具有ANSI标准运行支持库,可将目标代码文件直接发放入ROM中使用。
编译器(assembler):将汇编语言源文件转换成为基于公用目标文件格(COFF)的机器语言目标文件。
连接器(linker):将目标文件连接起来产生一个可执行模块。
归档器(archiver):将一组文件归入一个归档文件。
运行支持库(run-time-support libraries)。
交叉引用列表器(cross-reference lister)。
绝对列表器(absolute lister)。
TI公司的DSP集成开发环境CCS(Code Composer Studio)。CCS提供了环境配置、源文件编辑、程序调试、跟踪和分析等工具,CCS支持C源程序,汇编程序和C与汇编的混合程序设计。应用程序通过工程文件来创建,工程文件包括C源程序,汇编源程序,目标文件,库文件,连接命令文件和包含文件。编译,汇编和连接文件时可以分别指定它们的选项。在CCS中,可以编译单个文件,也可以扫描出工程文件的全部文件包含重属树,还可以利用传统的makefiles文件编译。CCS还提供GEL语言,它允许开发者向CCS菜单中添加自定义功能。 CCS一般工作在两种模式 ,即软件仿真器和硬件在线编程。本设计进行实时在线编制和调试应用程序。
TI DSP 提供了在系统仿真支持的功能,它使得CCS能够控制程序的执行,实时地监视程序运行,增强JTAG连接提供了在片仿真的支持,它是一种可与任意DSP系统相连接的连接。仿真器提供DSP侧的JTAG接口,使用JTAG仿真器可以实现实时的仿真,并在断点时将寄存器内容和存储器内容上传CCS开发环境中。以便进行系统调试,即决编程中的逻辑错误。
系统的硬件必须有相应得程序相配合,才能被执行。因此对硬件的编程是系统的又一关键步骤。可以说硬件和软件在系统的实现中同等重要,在进行硬件设计时要考虑如何进行软件编程实现:而进行的软件编程又是围绕硬件进行的。该程序设计不同与在计算机上的程序的设计。主要表现在以下两个方面,一方面:编程操作的对象不同,系统机上的程序设计大多属于纯软件的,而DSP的程序设计属于对具体的硬件操作方面的程序设计;另一方面,系统机的编程是在操作系统得基础上的编程,因而实现起来相对简单,而DSP的程序设计是没有操作系统的,因此每一步操作都需要用户按步骤一步一步的实现,因而编程较难实现。 若图片无法显示请联系QQ752018766
程序设计是针对围绕着系统整体实现的 。流程图如下:
在初始化子程序中,首先定义了两个采样缓冲数组,其长度为一秒的采样值,
图 5-2 5402初始化流程图
数组长度50*128=6400个。为了能够高速的执行程序,实现高速的实时的处理,因此本系统采用在程序初始化时,将中断向量表程序和实时计算程序从外部程序存储器搬移到内部的DARAM中,而将显示等慢速操作程序仍放在外部程序存储器中执行。从而既充分的利用了内部的存储器资源,又实现了高速的实时处理。
此外在初始化程序中还进行了提高时钟频率,在程序外部存储器地址空间插入5
个软件等待周期,外部数据存储器操作时插入1个软件等待周期。对I/O操作时函数进行的 ,其中X[2*nx]为输入输出数据存储数组,nx为FFT运算长度,scale=1 是表示进行归一化,scale=0 表示不进行归一化运算处理。因此在本系统中只需完成数据变换前的准备和数据变化后的处理。流程图如上所。
DSP系统中对FLASH编程一般有两种方法:一是通过仿真器在DSP仿真环境下通过仿真口(JTAG)对FLASH擦除/编程操作;另一种是直接通过主机口(HPI)FLASH进行操作。考虑工程的需要,我们通过主机口(HPO对FLASH进行编程和擦除操作。基本思想是:将应用程序编译连接成目标文件后,利用HEX500将其转换成ASCI卜He:格式,通过主机口将应用程序逐块装载到片内RAM某一区域;然后将FLASH读写控制程序和监控程序装载到片内的另一区域。最后运行片内监控程序通过FLASH读写控制程序逐字/字节将应用程序写入FLASH。在对FLASH擦除/编程以后,芯片有一个延迟时问把FLASH的状态反馈给状态位。Am29LV400B提供T6个状态位:DQ2, DQ3,DQ5, DQ6, DQ7以及RY/BY#,通过这些状态位可以判断擦除/编程操作过后的状态。我采用了DQ5和DQ7作为本程序的状态检测位。DQ7为数据查询位,在FLASH的编程过程中,DQ7输出的是写人数据的反码;编程结束后.DQ7输出的是写人数据的原码,由此可以判断嵌入式编程算法是否完成。擦除过程中,DQ7输出“0 擦除结束或进人擦除暂停模式后,DQ7输出“I"o擦除过程中为了在DQ7 r获得
有效的状态信息,系统所提供的有效地址必须是正在被擦除的块中的地址。IlQ5为擦除/编程操作的超时标识位,用来指示FLASH擦除/编程操作是否超过规定的时限。如果操作超过规定的时限,DQ5将输出“I ..。此时必须对FLASH复位才可进行其他的操作。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>