十四、载入/保存数据
“载入/保存数据”功能允许用户在程序执行的任何时刻从外部文件中读入数据或保存数据到文件中。需要注意的是,载入数据的变量应当是预先被定义并且有效的。
1、载入外部数据
程序执行到适当时候,需要向某变量定义的缓冲区载入数据时,选择命令File-Data-Load命令,弹出文件载入对话框,选择预先准备好的数据文件。此后,弹出一装载对话框。“Address”栏和“Length”栏已被文件头信息自动填入。用户也可以在对话栏中重新指定变量名(或缓冲区首地址)和数据块长度。
2、保存数据到文件中
程序执行到适当时候需要保存某缓冲区时,选择命令File-Data-Save弹出一对话框要求给出输出文件名。完成后,弹出一“Store Data”对话框。输入需要保存变量名(和数据块首地址)和长度,单击“OK”按钮即可。
十五、外部文件输入/输出
CCS提供了一种“探针(probe)”断点来自动读入外部文件。所谓探针是指CCS在源程序某条语句上设置的一种断点。每个探针断点都有相应的属性(由用户设置)用来与一个文件的读/写相关联。用户程序运行到探针断点所在语句时,自动读入数据或将计算结果输出到某文件中(依此断点属性而定)由于文件的读写实际上调用的是操作系统功能,因此不能保证这种数据交换的实时性。有关实时数据交换功能请参考帮助。
使用CCS文件输入/输出功能遵循以下步骤:
(1)设置探针断点。将光标移到需要设置探针的语句上,点击工程工具条上的“设置探针”按钮。光标所在语句被彩色光条高亮显示。取消设置的探针,亦点击按钮。此操作仅定义程序执行到何时读入或写出数据。
(2)选择命令“File-File I/O”,显示对话框。在此对话框中选择文件输入或文件输出功能(对应“File Input”和“File-Output”标签)。
假定用户需要读入一些数据,则在“File Input”标签窗口中点击“Add File”按钮,在对话框指定输入的数据文件。
注意此时该数据文件并未和探针关联起来,“Probe”栏中显示的是“Not Connected”。 (3) 将探针与输入文件(或者输出文件)关联起来。点击对话框中的“Add Probe Point”
按钮,弹出Break Probe/Profile Point对话框。在“Probe Point”列表中,点击选中需要关联的探针。在本例中只定义了一个探针,故列表中只有一行。从“Connect”一栏中选择刚才加入的数据文件。点击“Replace”按钮。注意在“Probe Point”列表中显示探针所在的行已与文件对应起来。出现Break/Probe/Profile Point对话框。
(4)Break/Probe/Profile Point对话框设置完成后,回到“File I/O”对话框。“c:\\My Documents\\mydata.dat”出现在“File-Output”栏。在此对话框中,指定数据读入存放的起始地址(对文件输出为输出数据块的起始地址)和长度。起始地址可以用事先已定义的缓冲区符号代替。数据的长度以WORD为单位。对话框中的“Wrap Around”选项是指当读指针到达文件末尾时,是否回到文件头位置重新读入。这在用输入数据产生周期信号场合较为有用。
(5)“File I/O”对话框完成后,点击“OK”按钮,CCS自动检查用户的输入是否正确。将探针与文件关联后,CCS给出“File I/O”控制窗口。程序执行到探针断点位置调入数据时,其进度会显示在控制窗口内。控制窗口同时给出了若干按钮来控制文件的输入/输出进程。各按钮的作用分别如下所述:
运行按钮:在暂停后恢复数据传输。 停止按钮:中止所有的数据传输进程。
回退按钮:对文件输入,下一采入数据来自文件头位置;对数据输出,新的数据写往文件首部。
快进按钮:仿真探针被执行(程序执行探针所在语句)情形。
十六、数据文件格式
1、CCS允许的数据文件格式有两种:
(1)COFF格式。二进制的公共目标文件格式,能够高效地存储大批量数据。
(2)CCS数据文件。此为字符格式文件,文件由文件头和数据两部分构成。文件头指明文件类型、数据类型、起始地址和长度等信息。其后为数据,每个数据占一行。数据类型可以为十六进制、整数、长整数和浮点数。
2、CCS数据文件文件头格式为:
文件类型 数据类型 起始地址 数据页号 数据长度 解释如下: 文件类型:固定为1651
数据类型:取指1~4,对应类型为十六进制、整数、长整数和浮点数。 起始地址:十六进制,数据存放的内存缓冲区首地址。 数据页号:十六进制,指明数据取自哪个数据页。
数据长度:十六进制,指明数据块长度,以WORD为单位。 例:某CCS数据文件的头几行内容。
651201200:起始地址0,数据类型为整数,数据长度为200。 366 -1479 ??
十七、利用图形窗口分析数据
运算结构也可以通过CCS提供的图形功能经过一定处理显示出来,CCS提供的图形显示包括时频分析、星座图、眼图和图像显示。用户准备好需要显示的数据后选择命令View-Graph,设置相应的参数,即可按所选图形类型显示数据。
各种图形显示所采用的工作原理基本相同,即采用双缓冲区(采集缓冲区和显示缓冲区)分别存储和显示图形。采集缓冲区存在于实际或仿真目标板,包含用户需要显示的数据区。
显示缓冲区存在于主机内存中,内容为采集缓冲区的拷贝。用户定义好显示参数后,CCS从采集缓冲区中读取规定长度的数据进行显示。显示缓冲区尺寸可以和采集缓冲区的不同。如果用户允许左移数据显示(Left-Shifted Data Display),则采样数据从显示区的右端向左端循环显示。“左移数据显示”特性对显示串行数据特别有用。
CCS提供的图形显示类型共有9种,每种显示所需的设置参数各不相同。限于篇幅,这里仅举例时频图单曲线显示设置方法。其他图形的设置参数说明请查阅在线帮助“Help-ceneral Help-How to Display Results Graphically?”。
选择命令View-Graph-Time/Frequency弹出Time/Frequency对话框,在“Display Type”中选择“Signal Time”(单曲线显示),则弹出图形显示参数设置对话框如下图所示。
需要设置的参数解释如下:
(1)显示类型(Display Type):单击“Display Type”栏区域,则出现显示类型下拉菜单条。点击所需的显示显示类型,则Time/Frequency对话框(参数设置)相应随之变换。
(2)视图标题(Graph Title):定义图形视图标题。 (3)起始地址(Start Address):定义采样缓冲区的起始地址。当图形被更新时,采样缓冲区内容亦更新显示缓冲区内容。对话框栏允许输入符号和C表达式。当显示类型为“Dual Time”时,需要输入两个采样缓冲区首地址。
(4)数据页(Data Page):指明选择的采用缓冲区来自程序、数据还是I/O空间。 (5)采样缓冲区(Acquisition Buffer Size):用户可以根据所需定义采样缓冲区的尺寸。例如当一次显示一帧数据时,则缓冲区尺寸为帧的大小。若用户希望观察串行数据,则定义缓冲区尺寸为1,同时允许左移数据显示。
(6)索引递增(Index Increment):定义在显示缓冲区中每隔几个数据取一个采样点。 (7)显示数据尺寸(Display Data Size):此参数用来定义显示缓冲区大小。一般地,显示缓冲区的尺寸取决于“显示类型”选项。对时域图形,显示缓冲区尺寸等于要显示的采样点数目,并且大于等于采用缓冲区尺寸。若显示缓冲区尺寸大于采样缓冲区尺寸,则采样数据可以左移到显示缓冲区显示。对频域图形,显示缓冲区尺寸等于FF帧尺寸,取整为2的幂次。
(8)DSP数据类型(DSP Data Type): DSP数据类型可以为:
32比特有符号整数; 32比特无符号整数; 32比特浮点数;
32比特IEEE浮点数; 16比特有符号整数; 16比特无符号整数; 8比特有符号整数; 8比特无符号整数。
(9)Q值(Q-Value):采样缓冲区中的数据始终为16进制数,但是它表示的实际数取值范围由Q值确定。Q值为定点数定标值,指明小数点所在的位置。Q 值取值范围为0~15,假定Q值为xx,则小数点所在的位置为从最低有效位向左数的第xx位。
(10)采样频率(Sampling Rate(HZ)):对时域图形,此参数指明在每个采样时刻定义对同一数据的采样数。假定采样频率为xx,则一个采样数据对应xx个显示缓冲区单元。由于显示缓冲区尺寸固定,因此时间轴取值范围为0~(显示缓冲区尺寸/采样频率)。对频域图形,此参数定义频率分析的样点数。频率的取值范围为0~采样率/2。
(11)数据绘出顺序(Plot Data From):此参数定义从采样缓冲区取数的顺序: 从左至右:采样缓冲区的第一个数被认为是最新或最近到来数据。 从右至左:采样缓冲区的第一个数被认为是最旧数据。 (12)左移数据显示(Left-Shifted Data Display):此选项确定采样缓冲区与显示缓冲区的哪一边对齐。用户可以选择此特性允许或禁止。若允许,则采样数据从右端填入显示缓冲区。每更新一次图形,则显示缓存数据左移,留出空间填入的采样数据。注意显示缓冲区初始化为0。若此特性被禁止,则采样数据简单地覆盖显示缓存。
(13)自动定标(Autoscale):此选项允许Y轴最大值自动调整。若此选项设置为允许,则视图被显示缓冲区数据最大值归一化显示。若此选项设置为禁止,则对话框中出现一新的设置项“Maximum Y-Value”,设置Y轴显示最大值。
(14)直流量(DC Value):此参数设置Y轴中点的值,即零点对应的数值。对FFT幅值显示,此区域不显示。
(15)坐标显示(Axes Display):此选项设置X、Y坐标轴是否显示。 (16)时间显示单位(Time Display Unit):定义时间轴单位。可以为秒(s),毫秒(ms),微秒(μs)或采样点。
(17)状态条显示(Status Bar Display):此选项设置图形窗口的状态条是否显示。 (18)幅度显示比例(Magnitude Display Scale):有两类幅度显示类型-线性或对数显示(公式为20log(X))。
(19)数据标绘风格(Data Plot Style):此选项设置数据如何显示在图形窗口中。Line:数据点之间用直线相连,Bar:每个数据点用竖直线显示。
(20)栅格类型(Grid Style):此选项设置水平或垂直方向底线显示。有3个选项。No Grid:无栅格,Zero Line:仅显示0轴,Full Grid:显示水平和垂直栅格。
(21)光标模式(Cursor Mode):此选项设置光标显示类型。有3个选项。No Cursor:无光标,Data Cursor:在视图状态栏显示数据和光标坐标,Zoom Cursor:允许放大显示图形。方法:按住鼠标左键拖动,则定义的矩形框被放大。
十八、评估代码性能
用户完成一个算法设计和编程后,一般需要测试程序效率以便进一步优化代码。CCS提供了“代码性能评估”工具来帮助用户评估代码性能。其基本方法为:在适当的语句位置设置断点(软件断点或性能断点),当此程序执行通过断点时,有关代码执行的信息被收集并统计。用户通过统计信息评估代码性能。
十九、测量时钟
测量时钟用来统计一段指令的执行时间。指令周期的测量随用户使用的设备驱动不同而变化。假若设备驱动采用JTAG扫描通道,则指令周期采用片内分析(on-chip analysis)计数。
使用测量时钟的步骤为:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库CCS5000 2.2的使用方法(5)在线全文阅读。
相关推荐: