用ccs检测电流wif信号放大器程序怎么写

08-0508-0508-1709-12
09-2204-1104-0901-13
◇本站云标签
◇热点推荐当前位置: >>
CCS4.0中文详解
CCSv4 开发环境File 菜单:File 菜单部分选项解释和实例: 一、Switch Workspace(切换工作空间) :改变 workspace 的路径。 二、新建 CCS 一般项目的选项解释: File -& New -& CCS Project(文件-&新建-& CCS 项目) a. 在“Project Type:(项目类型:)”下拉菜单中选择要使用的体系结构。单 击“Next(下一步)”。默认情况下,“Debug(调试)”和“Release(发布)” 处于启用状态。b.下面的框通常可留空, 但是如果该项目依赖于需要首先生成的其他项目(例如 静态库项目) ,可在此处选择这些相关项目。单击“Next(下一步)”。 “C/C++ Indexer(C/C++ 索引器)”选项卡可配置索引器的级别。索引器是 CCSv4 的一项功能, 用于创建源代码信息列表,这些信息可支持编辑器中的自动 完成和“转到定义”功能。默认选项为“Full C/C++ Indexer(完整 C/C++ 索 引器)”,该选项可提供最多的功能。 c.在接下来的这一屏幕中,大部分选项都可保留为默认值。根据所做的选择,将 会显示其他屏幕。 1、“Device Variant(设备变量)”:根据步骤 3 中指定的设备系列选择 要使用的设备。 2、“Target content(目标内容)”:启用对 BIOS 实时操作系统的支持。 3、“Output type(输出类型)”:将设置保留为“Executable(可执行)” 以生成完整的程序。另一个选项为“Static Library(静态库)”,静态库 是其他项目要使用的功能的集合。 4、“Code Generation tools(代码生成工具)”:保留默认设置(除非安 装了其他版本的代码生成工具且要使用某个特定版本) 。 5、 “Output Format (输出格式) ”: 通常此选项以灰色显示为“legacy COFF ( 旧 COFF ) ” 。 目 前 只 有 ARM 系 列 还 允 许 选 择 另 外 一 个 选 项 “eabi (ELF)”。 6、“Linker Command File(链接器命令文件)”:可留空,链接器命令文 件可在稍后添加。如果存在可用的有效文件,系统将会预填充该字段。如果 项目使用 BIOS,则将自动添加链接器命令文件。 7 、 “Runtime Support Library (运行时支持库) ”:通常将其保留为 “&automatic& (&自动&) 因为代码生成工具会自动选择正确的运行时库。 ”, 如果需要,可在此处选择其他运行时支持库。 8、“Treat as an Assembly-only project(视为仅汇编项目)”:通常将 其取消选中。正如其名称所示,如果项目中没有 C 源代码文件,请选中此复 选框。选中此复选框后,系统还将从项目中移除运行时支持库。 三、目标配置 CCSv4 提供了一个十分简单易用的图形目标配置编辑器,它提供多个预配置的设 备和开发板,而且还可以在自定义硬件中使用。 a.每个项目可以拥有一个或多个目标配置,但只能有一个处于活动状态。 b.右键单击项目名称, 并选择“New -& Target Configuration File(新建 -& 目 标配置文件)”,为配置文件命名,将会添加扩展名.ccxml. c.如果选中“Use shared location(使用共享位置)”选项,新的目标配置将 在所有项目之间共享,并存储在默认的 CCSv4 目录下。 所有的用户定义的目标配置文件都存放在默认目录下, 默认的位置可以通过菜单 window(窗口)-&Preferences(参数选择)-&C/C++ & Debug(调试) 来改变, 如下图: d.单击“Finish(完成)”。此时将打开目标配置编辑器,如下图:e.目标中有两项元素是必须配置的: ? 通过“Connection(连接)”下拉菜单可以选择是使用一个软件模拟器,还 是使用多种内置或独立仿真器。 ? “Device(设备)”部分包含与所选连接兼容的所有设备。上部的框是筛选 器,可以帮助在下部框中的浏览表中选择正确设备。 f.选择设备后,单击“Save(保存)”按钮。该配置将自动设置为“Active(活 动)。每个项目可以拥有多个目标配置,但只能有一个处于活动状态,该配置将 会自动启动。 注 : 要 查 看 系 统 现 有 的 所 有 目 标 配 置 , 只 需 转 到 菜 单 “View -& Target Configurations(查看 -& 目标配置)”。 g.Advanced Setup(高级设置) 编辑器主要用来: 1.对已存在的目标配置修改 1 个或几个属性。 2.根据自己的要求定制目标配置属性,比如:JTAG 时钟频率,GEL 文件脚本初 始化等。 3.通过设置其中的硬件仿真、路径和 CPU 等来构造新的目标配置。 四、新建 DSP/BIOS 6 项目的选项解释: 创建一个名为“BIOS2_stairstep”的项目,将“Project Type(项目类 型)”设置为“C2000”、“Device Variant(设备变量)”设置为“Generic C28xx+ Device(通用 C28xx+ 设备)”、“Runtime Support Library(运行时 支持库)”设置为“automatic”,再选择“Enable RTSC Support(启用 RTSC 支持) ,然后跳至下面的 BIOS6 支持部分。
BIOS 6 支持: 1. 选择“Enable RTSC Support(启用 RTSC 支持)”还需要执行其他一些项 目配置步骤。单击“Next(下一步)”。 2. 通过此屏幕可使用工作区中的现有 RTSC 配置项目, 或者从头开始创建一个。 选中“Create a new RTSC Configuration project (创建新的 RTSC 配置项目) ” 选项,因为工作区中一开始并没有项目。单击“Next(下一步)”。 (可选)选中“Reference an existing RTSC Configuration project(引用现有 RTSC 配置项目)”选项,可以选择工作区中的现有 RTSC 配置项目。该框中将 显示所有 RTSC 项目。 只需单击“下一步”。 3.在下一个屏幕中可以选择配置项目的名称 - 通常建议选择默认名称。单击 “Next(下一步)”。 在 “New RTSC Configuration Project(新的RTSC 配置项目)” 对话框中, 为配置工程选择默认的名字和地址。然后单击“Next(下一步)”。 4.在下一个屏幕中需要选择 BIOS6 的目标配置。 从“RTSC Platform(RTSC 平台)”框中选择目标。CCSv4 需要花费一段时间来 扫描与所选设备相匹配的所有可用平台。 选择“RTSC Build-Profile(RTSC 生成配置文件)”框。其中有四个选项可供 选择:whole_program_debug(所有程序调试) 、debug(调试) 、release(发布) 和 whole_program(所有程序) 。 单击“Next(下一步)”。 5.在下一个屏幕中可选择一个项目模板。选择“Create a project using one of the templates(使用其中一个模板创建项目)”,然后在可用模板之间进行选 择。单击“Finish(完成)”。 刚开始使用 BIOS6 时,项目模板是一个十分有用的工具。 启用“Create a project using one of the templates(使用其中一个模板创 建项目) 并选择模板“RTA Example ”, (RTA 示例) 单击“Finish ”。 (完成) ”。 这会在 C/C++ 工程列表中显示两个工程:根据用户的应用的主要的工程和 RTSC 配置工程。 RTSC 配置工程包含一个*.cfg 文件, 该文件包含 XDC 工具和 DSP/BIOS 模块目标的静态配置。 6. 此时项目已创建,并且会显示在“C/C++ Projects(C/C++ 项目)”选项 卡中。打开 BIOS 6 配置文件会显示 BIOS 图形配置器 XGCONF。 “Available Packages (可用的包) ”视图显示可添加到配置的所有 BIOS 模块。 “Outline(大纲)”视图显示配置项目正在使用的所有 BIOS 模块。 中心窗口显示“Outline(大纲)”视图中所选模块的设置。
五、Configuration Templates配置模板 当用户创建有RTSC 支持的 CCSv4工程,则用户可以选择RTSC 配置模板。 DSP/BIOS的模板,这些模板会同时复制那些默认的.c 文件到CCS工程和默认 的.cfg到 RTSC配置工程。 ? Clock Example(时钟例子) 这个模板用clock.c 文件和common.cfg文件 : ? Error Example(错误例子) 这个模板用error.c文件和 error.cfg文件 : ? Event Example(事件例子) :这个模板用event.c 文件和 common.cfg 文件 ? Hello Example(Hello例子) 这个模板用hello.c文件和 common.cfg文件 : ? Legacy Example(以前例子) :这个模板用legacy.c 文件和 legacy.cfg文件 ? Log Example(记录例子) :这个模板用log.c文件和 log.cfg 文件 ? Memory Example(存储例子): 这个模板用memory.c文件和 memory.cfg文件 ? Mutex Example(互斥例子): 这个模板用 mutex.c 文件和common.cfg文件 ? RTA Example(RTA例子): 这个模板用stairstep.c文件和 stairstep.cfg文 件 ? Static Example(静态例子): 这个模板用static.c文件和 static.cfg文件 ? Swi Example(软件中断例子) 这个模板用swi.c 文件和common.cfg 文件 : 其他额外的模板对于IPC(Inter-Processor Communication)产品是有效的, IPC产品在应用程序上和 DSP/BIOS一起运行。下列这些模板只复制一个默认 的.cfg文件到 RTSC配置工程(没有 .c f文件) 。 ? Full BIOS Configuration(完整BIOS配置) 使能Task, Swi, Idle, and Clock : scheduling的功能作用,同时使能Event, Mailbox, and Semaphore模块。这会 使能存储器模块并创建一个默认的存储器堆并成为“堆” 。 ? Full BIOS with RTA Configuration(用 RTA 的完整 BIOS 配置) 除了前面 : 模板的配置,它会使能并配置记录相关的模块,配置记录缓冲、诊断、RTA 代理 和 RTDX 驱动。 CCS建立设置(CCS Build Settings)的运行规则: 当创建了一个 RTSC 配置工程,你就能改变CCSv4中工程的属性,通过右击工程 的名称选择Properties (属性) 但是, , 对RTSC配置工程的CCS建立设置要多注意, 配置工程的CCS建立设置必须和那些参照 RTSC配置的应用工程匹配或兼容。这 样,如果改变RTSC配置工程的CCS建立设置,则同时要改变用这个配置的应用工 程的建立设置。在属性对话框的“CCS Build(CCS建立)&类中,General选项卡 应用于汇编设置; RTSC Configuration(RTSC配置)选项卡应用于运行.cfg 文件的配置作用; Link Order(连接顺序)选项卡应用于链接设置。 注:如果有任何platform-specific(平台特性)配置在用户的.cfg 文件中,用 户必须改变相应的设置。 用XGCONF来配置DSP/BIOS模板和目标: XGCONF是让用户可以灵活地创建和观察RTSC配置脚本的工具(在DSP/BIOS 5.x, 它有些像DSP/BIOS配置工具) 。启动XGCONF:在 &C/C++ Projects&视图中右击一 个*.cfg文件,选择Open with & XGCONF. XDC 工具和RTSC 文件材料: XDC 工具是一套创建和使用RTSC包的工具。RTSC支持实时软件组成,它允许产品 作为可以不断重复使用的程序包来发展。 XDC工具and RTSC 由DSP/BIOS(和其他使用RTSC的产品)定义配置语言。对于 DSP/BIOS 6.x版本,配置脚本存入.cfg文件和其他文件。 View 菜单:View 菜单部分选项解释: 一、Outline 视图 命令 名称 描述Hide Fields 隐藏在列表中的区域。 (隐藏区域) Hide 在列表中隐藏非公开的成员。 Non-Public Members (隐 藏非公开成 员) Hide Static 在列表中隐藏静态成员。 Members (隐 藏 静 态 成 员) Sort items 在列表中按照字母顺序排列各项目。 alphabetic ally(按照 字母顺序排 列各项目) Refactor (重构) 打开给选定单元重新命名的选项。Team(组) Team 子菜单下的菜单项和“版本控制管理”相 关,并且由和工程联系的“版本控制管理系统” 决定。代码编辑器为那些不在“版本控制管理” 下 的 工 程 提 供 了 特 别 菜 单 项 Share Project...。这条命令将出现一个对话框,并 让用户选择和任意已装载在代码编辑器的“版 本控制管理”分享工程,代码编辑器拥有 CVS 提供的支持。Compare 跟子目录进行如下形式的比较: With (对比) 1.将两个或三个选定的资源相互进行比较; 2.将选定的资源和远程版本进行比较(如果工 程和“版本控制管理系统”有联系) ; 3.将选定的资源和本地历史资源进行比较; 在选定比较类型之后,将看到一个比较编辑器 或比较对话框。在比较编辑器中,可以浏览和 复制在比较资源间的各种变化;在比较对话框 中,只能浏览各种变化。Replace 将选定的资源与其子目录下 local history 中 With (替代) 的资源交换,当工程在“版本控制管理”下, 将可能会有多余的项目由“版本控制管理系统” 提供。 Properties 显示选中的资源的性能窗口,显示的性能类型 (属性) 由选定的资源类型所决定。 Declaratio 可以在列表中选择一个元素名称并在 Search ns(声明) 框中快速查看它的声明。 References 可以在列表中选择一个元素名称并在 Search (参考) 框中查看该元素的参考信息。 Active 从列表中选择你想要建立的配置。 Build Configurat ion (活跃状 态的建立配 置) Open (打开) 在新的工作窗口打开选定的资源。如果资源是 和编辑器有联系,则工作台启动相关的内部、 外部或 ActiveX 编辑器,同时在那个编辑器中 打开文件。Outline view icons 图标 描述 类 命名空间 宏定义 枚举类型 计数器 变量 私有区域 受保护区域 公共区域 包含 私有方式 受保护方式 公共方式 结构体 类型定义 联合体 函数 二、反汇编视图 选择菜单 View(查看) -& Disassembly(反汇编) ,显示反汇编窗口。1.改变反汇编窗口下的初始地址: 在 the Enter location here(在这输入地址) 窗口上输入地址,可以输入数 字或有意义的 c 符号。反汇编窗口会随着输入的值上下翻动。 2. Show Source(显示源程序信息) : 右击选择 Show Source,这样 C 源代码和反汇编代码交叉显示,源程序信息及源 程序行数都会显示在反汇编窗口。 Project 菜单:Project 菜单部分选项解释和实例: 一、Build Active Project:生成活动项目。 二、Rebuild Active Project:重新生成活动项目。可重新生成所有源文件和引 用的项目。 三、Import Existing CCS/CCE Eclipse Project:导入现有的 CCS/CCE Eclipse 项目。 四、Import Legacy CCSv3.3Project:导入旧版 CCSv3.3 项目。 五、Rebuild All :对工程中所有文件重新编译并链接生成输出文件。 六、Add Files to Project(添加文件到工程) :根据文件的扩展名将文件添 加到工程的相应子目录中。工程中支持 C 源文件、汇编源文件、库文件、头文件 和链接命令文件。 其中 C 和汇编源文件可被编译和链接,库文件和链接命令文件 只能被链接 CCS 会自动将头文件添加到工程中。 七、Link Files to Project(链接文件到工程) :将文件链接到项目来创建文 件引用,这样可以将文件保留在其原始目录中。 Tools 菜单:Tools 菜单部分选项的解释和实例: 一、Memory Map(存储器映射) :用来定义存储器映射。存储器映射指明了 CCS 调试器能访问哪段存储器,不能访问哪段存储器。典型情况下,存储器映射与命 令文件的存储器定义相一致。 二、Pin Connect(针连接) :用于指定外部中断发生的间隔时间,从而使用 Simulator 来仿真和模拟外部中断信号。 (1)创建一个数据文件以指定中断间隔时间(用 CPU 时钟周期的函数来表示) 。 (2)从 Tools 菜单下选择 Pin Connect 命令。 (3)按 Connect 按钮,选择创建好的数据文件,将其连接到所需的外部中断引 脚。 (4)加载并运行程序。 为了仿真外部中断, 必须首先创建一个数据文件以指定中断间隔时间。中断间隔 用 CPU 时钟周期函数来表示。 模拟仿真在第一个时钟周期开始。在每一个指定的 时钟周期都会发生一个中断。数据文件必须以下列形式包含一个时钟周期函数: clock cycle [rpt { n| EOS}] clock-c CPU 时钟周期参数指定中断发生的时间间隔。时钟周期可以被指定为 ycle absolute(绝对的)或 relative(相对的) 。 (时钟 周期) rpt 以固定的次数重复相同的模式 n 一个正整数,指定重复的次数 EOS 重复相同的模式直到仿真结束 将数据连接到所需的外部中断引脚: 1.点击“Launch TI Debugger(开始 TI 调试) ”运行基于无工程的调试段。 2.选择菜单 Window -& Show View -& Pin Connect 。出现 Pin Connect 工具 栏。可以用的外部中断引脚会被显示在 Pin Name 栏中。 3.在 Pin Name 栏中选择你想用的,右键点击,选择 Connect 按钮,会出现 Open Pin File 对话框。如果 Connect 按钮处于不能被选状态,说明目标在调试中没 有被选择或选择的目标不支持引脚连接。 4.指定数据文件夹的名字并按 Open 按钮。三、Port Connect(端口连接) :将 PC 文件与存储器(端口)地址相连接,从而 可从文件中读取数据或将存储器(端口)数据写入文件中。 连接文件: 将文件与存储器(端口)地址相连接,遵循以下步骤: 1.点击“Launch TI Debugger(开始 TI 调试) ”运行基于无工程的调试段。 2.选择菜单 Window -& Show View -& Port Connect 。出现 Port Connect(端 口连接) 工具栏。 3.右键选择 connect(连接0按钮,打开 Port Connect 对话框。 4.在 Port Address(端口地址)框中输入存储器地址,这个参数可以是一个绝 对地址,c 表达式,一个 c 函数的名字或是一个汇编语言标志。如果写16进制的 地址,要在地址前加0x,否则,CCS 会把它当做10进制处理。 5.在 Length(长度)框中,写存储器范围的长度,可以是 c 表达式。 6.在 Page(页面) 框中,选择存储器的类型。 7.在 Type(类型) 框中,选择 Write(写)或 Read(读)按钮,默认执行 Read 操作,将连续的从数据文件中读取信息。选择 No Rewind 后,当读取信息到数据 文件末尾,将停止读取。 8.点击 OK,选择要连接的文件。 9.下载并运行程序。 任何存储单元的地址都可以连接一个文件。一个最大的单输 入单输出文件可以只连接一个存储器地址, 同时多个存储器地址可以只连接一个 文件。四、Graph(图形) :在时域或频域显示信号波形。频域分析时将对数据进行 FFT 变换,时域分析时数据无需进行预处理。显示缓冲的大小由 Constellation Points(构象点)定义。其中基于时间的图形为:“Single Time(单曲线图)” 和“Dual Time(双曲线图)” ;基于频率的图形为:所有 FFT 选项 。
Manual Refresh(手动刷新):捕捉并显示从目标来的新数据。 Refresh On halt(停止时刷新): 当遇到目标停止时捕捉并显示数据。 Continuous Refresh(周期性刷新): 使图形周期性的刷新。 Reset(复位):擦除显示的图形。 Properties(属性):显示图形属性对话框。Graph Properties(图形属性): 各个图形有总共有下列属性: 1.Acquisition Buffer Size(采集缓冲大小) 2.DSP Data Type(DSP 数据类型) 3.Index Increment(增量指标) 4.Interleaved Data Sources(交叉数据源) 5.Q Value(Q 值) 6.Sampling Rate HZ(采样率) 7.Signal Type(信号类型) 8.Start Address 1(开始地址1)/Start Address A(开始地址 A)/Start Address Real Data 开始地址数据的实部) ( /Start Address2 开始地址2) /Start Address B(开始地址 B)/Start Address Imaginary Data(开始地址数据的虚 部) 9.Grid Style(格子风格) 10. Data Plot Style (数据图风格)(不适用 FFT Waterfall) 属性分析: Signal Type(信号类型) : 指定产生特定图形的的信号源的类型。有 Real 和 Complex 两个选项。Real 对应 在单个时间轴上只有一个信号源显示;Complex 对应两个信号源。当可以选择 Complex 选项时,Graph Property 对话框会有 Interleaved Data Source 选项。 Interleaved Data Sources(交叉数据源) : Interleaved Data Sources 指定信号源是否交叉。将 Interleaved Data Sources 设为 false ,则在 Graph Property 对话框中会有两个起始地址选项: Start Address A Start Address B。用户可以在 Start Address 输入任意的 C 表达式, 样本每次从实际的/模拟的目标板中读取时,该表达式都会被重新计算。所以, 如果在这区域输入一个符号, 该符号值过段时间会变化,用户不需要重新输入该 参数。 Start Address(开始地址) : 开始地址指包含要显示的数据的采集缓冲器的开始地址。当图形更新时,采集缓 冲器从这个地址开始, 收集来自实际的或模拟的目标板的数据, 同时不断更新缓 存器。可以在 Start Address 输入任何有效的 c 表达式,当从实际的或模拟的目 标板中读取数据时,这些表达式每次都会重新计算。这意味着当输入一个符号, 这个符号的值之后会改变,无需再重新输入这个参数。 Acquisition Buffer Size(采集缓冲大小) : 这是用在实际的/模拟的目标板的采集缓冲器的大小。当一个图形在更新,采集 缓冲器将从实际的/模拟的目标板上读取数据并更新显示缓冲器,依据显示缓冲 器画出图形。可以在 Acquisition Buffer Size 输入任意的 C 表达式,样本每次 从实际的/模拟的目标板中读取时,该表达式都会被重新计算。所以,如果在这 区域输入一个符号,该符号值过段时间会变化,用户不需要重新输入该参数。 Index Increment(增量指标) : 指定样本的增量指标, 该指标用于数据的图形显示。增量指标的值等于非交叉源 的样本补偿。 这个补偿使得可以用一个单独的图形的显示, 从多种信号源中提取 信号数据。 用户可以输入一个相应的补偿值来指定多个数据源显示。这个选项提 供了交叉信号源的通用规范。如果 Interleaved Data Sources 选项被选中,则 index increment 选项无效。 FFT Frame Size(FFT 帧尺寸) : FFT 帧尺寸指定每个 FFT 运算中所使用的采样数量。 注:采集缓冲器可以和 FFT 帧尺寸不一样的大小。 FFT Order(FFT 顺序) : FFT Order 指定 FFT Frame Size 的大小,FFT Frame Size 等于2的 FFT Order 次 方 Waterfall Height(瀑布高度) : Waterfall Height (%) 指定 Max Y 在图形框图的纵坐标的百分比。 Number of waterfall Frames(瀑布框图的数量) : 指定显示瀑布框图的数量。 FFT Windowing Function(FFT 窗口功能) : 选择下列窗口功能,这些功能会在 FFT 运算执行前作用在数据上,选项如下: Rectangle (矩形) Bartlett(巴特利特) Blackman (布莱克曼) Hanning (汉宁 ) Hamming (汉明 )Display Data Size(显示缓冲器的大小) : 这是设置显示缓冲器的大小,显示缓冲器的内容将以图形的形式显示在屏幕上。 显示缓冲器位于主机上,这样即使主机和实际的/虚拟的目标板不连接时,以前 的信号也可以显示。 显示缓冲器的大小设置会不同,主要取决于用户选择的显示类型,即时间/频率 区域选项。对于时间区域图形,Display Data Size 包含图形显示样本的数量, 显示缓冲器上不做任何预处理。通常 Display Data Size 要大于或等于采集缓冲 器的大小。如果 Display Data Size 大于采集缓冲器的大小,那么缓冲数据将会 转移到显示缓冲器。对于频率区域图形(FFT Magnitude, Complex FFT, FFT Magnitude and Phase),Display Data Size 由 FFT 帧尺寸表现,而 FFT 帧尺寸 用于 FFT 频率分析。 用户可以在 Display Data Size 输入任意的 C 表达式,样本每次从实际的/模拟 的目标板中读取时,该表达式都会被重新计算。所以,如果在这区域输入一个符 号,该符号值过段时间会变化,用户不需要重新输入该参数。 DSP Data Type(DSP 数据类型) : 可以选择下列数据类型 64-bit signed integer 64位带符号整型 64-bit floating point 64位浮点型 32-bit signed integer 32位带符号整型 32-bit unsigned integer 32位无符号整型 32-bit floating point 32位浮点型 16-bit signed integer 16位带符号整型 16-bit unsigned integer 16位无符号整型 8-bit signed integer 8位有符号整型 8-bit unsigned integer 8位无符号整型 Q-Value(Q 值) : 设置一个非零的 Q 值,它是整数的替代数。在实际或虚拟的目标上的数据用 Q 值去解释。对 DSP 而言,参与运算的数只能是整数或有符号的整数,它不认识任 何小数。因此对于小数,可采取放大的方法,将其变为整数,Q 格式就是这样产 生的。Qk 格式是将一个数放大了2的 k 次方,然后舍弃了剩余小数,形成一个全 是整数的替代数,这样,这个数可以保证更加准确的运算。 Sampling Rate (Hz)(采样率) : 采样率用来计算在图形中显示的时间和频率值。 Axes Display(坐标显示) : 选择 X 轴和 Y 轴在图形框中是否显示。True 表示显示;False 表示不显示。 Time Display Unit(时间显示单元) : 指定图形的时间坐标轴的衡量单位。 s: second 秒 ms: millisecond 毫秒 us: microsecond 微秒 sample: 依照显示缓冲指数显示 Frequency Display Unit(频率显示单元) : 指定图形的频率坐标轴的衡量单位 Hz、kHz、MHz。 Magnitude Display Scale(显示缩放的量级) : 设置在图形中数据值的缩放比例功能,有两个选项:Linear:以线性方式显示数 据;Logarithmic:以对数方式显示数据。 Data Plot Style(数据图风格) : 设置数据在图形框中的表现形式,有两个选项,Line :将数据值线性的连接起 来;Bar:用垂直线显示数据。 Grid Style(格子风格) : 设置图形的水平和垂直背景线条。 Grid 表示无表格; No Major 表示大表格; Minor 表示小表格。 Use DC Value for Graph(对图形用 DC 值) : 设置 ture(正确)后,显示的图形占纵坐标一半的范围;设置 false(错误)后, 显示的图形在纵坐标的范围由图形的最大值和最小值决定。 五、Generic Debugger Options (通用调试器选项) 1.Program/Memory Load Options(程序/存储下载选项) : Disable all breakpoints when loading a different program(下载不同程序 使所有断点失效): 当把另一个 COFF(.out)文件中数据和符号加载入目标板(实际目标板或 Simulator)中,时,使原来的断点失去作用。该选项被默认选中。 Halt at program termination (requires setting a breakpoint)(当程序终止 时停止): 默认情况下,用 TI 运行支持库(rts*.lib)连接 COFF(.out)文件时,当 COFF (.out)文件被下载时,在该 COFF(.out)文件末尾将加一个断点。 Enable CIO function use (requires setting a breakpoint)(使能 CIO 功能): 使能 C I/O 断点对于 C I/O 库函数(比如 printf and scanf.)的正常运行非常 必要,但是当不需要产生任何输出或读任何输入时,就不需要设置 C I/O 断点。 该选项被默认选中。 2.Program Verification Options (程序验证选项): 当 COFF(.out)文件被下载时,CCS 需要检查文件被正确下载。 Full verification(完整验证):当写入存储器时检查文件的所有内容。 Fast verification(快速验证):每段只检查一个字(默认选项) 。 No verification(不验证): 文件被下载时不作任何检查。 3.Realtime Options (实时选项) : Halt the target before any debugger access(调试器访问之前停止目标): 当目标在运行而调试器要求连接目标时(比如刷新的时候) ,运行的目标将停止 一个简短的时间来重新接收请求的数据, 然后再继续运行。 在这个简短的时间里, 时序严格中断将被忽略。这个选项默认不被选中。 Enable silicon real-time mode (service critical interrupts when halted, allow debugger accesses while running)(使能硅实时模式): 这个选项只被少数的仿真器所支持。当该选项被选中时,当目标正在运行时,调 试的连接请求依然会被允许。当目标停止时,时序严格中断仍然有效。这个选项 默认不被选中。 Enable polite real-time mode(使能“礼貌”实时模式): 该选项只有当“硅实时模式”被选中时才能被选。该选项被选中时,当程序使能 时序严格中断时,CCS 将阻止运行的目标停下。如果调试器请求连接目标并让运 行目标停止时,用户将会被问是否用 Rude Real-Time 模式,在 Rude Real-Time 模式下,用户将重新获得对目标的控制,此时时序严格中断被忽略。 4.Auto Run Options(自动运行选项) :这个选项被用来何时停止程序,是在程序下载或重新运行时停止还是目标复 位时停止。默认情况下,选择程序停止在“main”处,选择“on a program load or restart”选项。5.Launch Options (启动选项) : Connect to the target on debugger startup(调试器启动时连接目标): 这个选项只适用于硬件仿真, 该选项被选中时,当基于无项目的调试段刚开始调 试时便会自动连接目标。这个选项默认不被选中。 Restore breakpoints from previous session(从以前的段中恢复断点): 默认情况下, 当调试活动项目时, 该选项被使能。 但是对于基于无项目的调试段, 它将不起作用。 当一个基于无项目的调试段被终止然后重新建立时,所有以前设 置的断点将无效;但是当选择 Target-&Restore Debug State 后,基于无项目的 调试段建立时会自动使能所有断点。 6.Connection Options(连接选项) : Reset the target on a connect(连接时复位目标): 当目标被连接时自动复位,这个选项默认不被选中。 Remove remaining debug state at connect(连接时移除存在的调试状态): 在一些情况下,当目标不被连接时,CCS 不能移除所有的断点。使能这个选项会 使 CCS 在连接时重新尝试移除存储器中的所有的软件断点代码。 这个选项默认被 选中。 Auto connect if a child connects(若子项目连接时自动连接): 该选项只针对路由可以选, 当该选项被使能,开发板可以连接到调试级下面的子 项目,CCS 自动连接到这些子项目的父项目。7.OS Aware Debug Options(OS 意识调试选项) : Display processes and threads in the debug view(在调试窗口显示进程和 线程): 该选项被默认使能。 所有进程和线程都将显示在调试窗口。不使能该选项会使调 试器运行稍微更快些。 但是如果希望设置软件断点, 下载模块符号或看进程列表, 该选项需要使能。 Update process list on every halt(目标停止时更新进程的列表): 每次目标停止时都更新进程的列表。 不使能这个选项会使调试器在较慢的硬件仿 真时运行更快。Automatically load module symbols(自动下载模块符号): Never(默认选项) When modules are loaded and unloaded(当模板加载和卸载): 给内核打补丁,调试器自动设置隐藏的断点。 Whenever halted in the module load/unload routines( 每当停止在模板加载/ 卸载时): 当内核不能被打补丁是需要用该选项。此时断点需要手动设置,在这种情况下, 目标不会自动重新运行。Simulators will flush the pipeline on a halt(模拟仿真器在停止时刷新传 递途径): 该选项被默认使能。 该选项被应用于周期精确的模拟仿真。当需要调试更简单是 需要使能该选项,当要是 profile 更准确时,不要使能该选项。 Automatically step over functions without debug information when source stepping(没有有效源函数的调试信息自动跳过这些函数): 该选项被默认使能。 当运行到不包括有效源程序的函数时,调试器会自动跳过这 些函数。 Reset the target on a program load or restart(程序下载或重启时复位目 标): 当下载 COFF 文件或重新启动文件时,复位目标。这个选项默认不被选中。 六、对 C28x Flash 编程CCSv4 超过 CCSv3.3 的改进就是 flash-programmer 插件被植入 CCSv4, 当调试一 个包含有源文件和 CMD 文件(设置对于 Flash)的项目时,一旦目标设置正确,如 果 CCSv4 检测到有代码通过 CMD 文件指定到 Flash,它将在下载程序的时候自动 烧写相关联的代码到 Flash。 为了在 CCSv4 中建立 Flash 编程设置且对 Flash 编程,则应遵照以下几个步骤: 1.首先确保你的目标设置正确的对应你的器件。 2.执行“Target(目标)-& Launch TI Debugger(开始 TI 调试)。 ” 3.在 Debug(调试)透视窗,执行”Tools(工具)-&On-chip Flash(片上 Flash)&。 4.Flash 设置。 5.执行“Target(目标)-&Debug Active Project(调试活动工程),或者 ” 执行“Target(目标)-&Load program(下载程序) ”并且选择要编程的.out 文 件。CCSv4 IDE 将自动地 program/load 代码到 flash and/or RAM 的合适位置, 类似于在 RAM 调试时下载程序到 RAM 。Clock Configuration(时钟配置): 时钟配置的设定主要用来计算 Flash 操作时的系统频率。 Flash Program Setting(Flash 程序设置): 该选项决定调试器如何控制 COFF 文件的下载操作 (Erase/Program/Verify/RAM Only)。 Erase(擦除): 擦除 Flash 存储的内容。 可以选择擦除 Flash 存储的所有内容,或是擦除 Flash 存储的某一段。 Code Security Password - Program Password(代码安全密码-程序密码): 代码安全模块 (CSM) 用来锁定设备的 128 位密码口令,分成八段 16 位的密码。 Key 7 在程序段空间的地址是 0xAE7,而且是最重要的字;Key 0 在程序段空间 的地址是 0xAE0,是最不重要的字。 新的设备是不加密的, 一个不加密的设备也有一段密码,该密码在密码段 PWL0 PWL7(0x3F7FF8 - 0x3F7FFF)处有值,其值都是 0xFFFF。你可以再不加密的设备 上读或编写 flash 内存。 一段加密的密码,其值也在 PWL0 - PWL7, (0x3F7FF8 - 0x3F7FFF)处,并不全 等于 0xFFFF。当你编写一段加密的密码,设备在下一次启动会锁住。一个被锁 的设备不允许你读或写 flash 存储,必须解锁再读写。 Code Security Password - Lock(代码安全密码-锁住): 按 Lock 键,锁住设备。锁住设备不需要密码。On-Chip Flash 程序通过使位于 地 址 0xAEF 的代 码安 全模块 位置 和控 制寄 存器 (CSMSCR) 中 的 第 15 位即 (FORCESEC)置 1 来锁住设备。当设备被锁,将看到所有 flash 存储都变为 0。 Code Security Password - Unlock(代码安全密码-解锁): 向 Key 0 - Key 7 输入 128 位的密码解锁。 Frequency Test(频率测试) Start Frequency Test(开始频率测试)按钮,启动频率测试操作。该操作将开 通指定的 GPIO 寄存器来确保合适的时钟配置,同时需要你用示波器来监测 GPIO 寄存器引脚。频率测试使目标处于运行状态。End Frequency Test 按钮将停止 频率测试操作。 Depletion Recovery(损耗修复): 损耗修复算法会寻找处于损耗的段并会试图修复他们。 所有在设备上的段将被检 测。 Checksum(检测总和): 计算检测总和的 flash 操作,会计算 Flash 存储和 OTP 存储的检测总和。 七、Profile1、函数分析(Function Profiling) :共有三步来形成并显示函数分析数据。 第一步:设置 Profile 来捕捉函数分析数据: 通过菜单 Tools (工具)-& Profile (剖切分析)-& Setup Profile Data Collection(设置数据分析采集) 打开 Profile Setup(剖切分析设置)视图 框。Profile Setup(剖切分析设置)视图框和调试段有感应联系,所以调试段 需要有效并能选择要显示的设置数据。首先通过 Activate(激活)按钮打开函 数分析。 第二步:运行.out 文件: 当函数分析已经配置好后,接下来就是下载并运行程序。一旦 PCDT 数据通过模 拟仿真器输出后,函数分析数据就应该可以看到,此时,程序不需要终止。 第三步:建立分析视图: 通过菜单 Tools (工具)-& Profile(剖切分析) -& View Function Profile Results(查看函数分析结果) ,可以看到在函数分析视图中的数据。2、Code Coverage(代码覆盖) 基于代码覆盖的模拟仿真来源于通过模拟仿真器的 ABA_PROG 数据输出。共有3 步来形成并显示基于代码覆盖的模拟仿真。 第一步:设置 profiler 来捕捉代码覆盖数据: 通过菜单 Tools(工具) -& Profile (剖切分析)-& Setup Profile Data Collection (设置数据分析采集)打开 Profile Setup(剖切分析设置)视图 框。Profile Setup(剖切分析设置)视图框和调试段有感应联系,所以调试段 需要有效并能选择要显示的设置数据。首先通过 Activate(激活)按钮打开代 码覆盖分析。 第二步:运行.out 文件至结束或 CPU 复位: 当 profiler 已经配置好后,接下来就是下载并运行程序。代码覆盖数据要等到 程序终止或 CPU 复位才能看到。 如果程序不终止,用户可以通过停止程序运行然 后复位 CPU 来产生数据。 第三步:建立代码覆盖视图: 通过菜单 Tools (工具) -& Profile (剖切分析) -& View Code Coverage Results (查看代码覆盖结果) ,可以看到 Line Coverage(线覆盖)视图和 Function Coverage(函数覆盖) 视图中的数据。八、Image Analyzer(图像分析) :使用 Image 图来测试图像处理算法,图像数 据基于 RGB 和 YUV 数据流显示。 1.工具栏的功能: Zoom In 放大 Zoom Out 缩小 Zoom Options 缩放选项: o Reset 复位 o Horizontal Zoom 水平缩放 o Vertical Zoom 垂直缩放 o Both Directions 两个方向同时缩放 o Zoom Factor 缩放因素 刷新: 从文件或连接的设备中重新下载数据 停止中刷新: 在 CPU 停止运行时刷新图像 2.右击 Image 的菜单的功能: Properties(属性): 打开性能视图并显示图像的性能属性 Import Properties(导入属性): 导入包含图像属性的文件 Export Properties(导出属性): 将图像属性导出给文件 Red Component(红色成分): 只显示红色成分 Green Component(绿色成分): 只显示绿色成分 Blue Component(蓝色成分): 只显示蓝色成分 RGB: 显示所有成分3.图象属性: General Title:标题 Background Color:背景颜色 Image Format: RGB, Bayer, YUV, Bitonal 图像格式YUV Number of pixels per line:每条线的象素点的数量 Number of lines :线的数量 Data format(数据格式): Planar or Packed(二维的或空间的) Resolution 分辨率: 4:4:4, 4:2:2, 4:2:0, or 4:1:1 YUV order : YUV 顺序,只针对 Packed 数据格式Y Pixel stride (bytes): 为了获取下个像素点的 Y 成分的值需要跳过的字 节数。典型的数值: o Planar : 1 字节 o Packed 4:4:4 : 3 字节 o Packed 4:2:2 or 4:2:0 : 2字节 Y mask: 图像分析读取在 Y Pixel stride 指定的字节大小的数据包,数据 包的字节顺序是 Big Endian。Y mask 指定在数据包的哪些位代表了 Y 成分 的值。典型的数值: o Planar : 0xFF o Packed 4:4:4 : 0xFF0000 o Packed 4:2:2 or 4:2:0 : 0xFF00 Y Line stride (bytes): 只用在 Planar 数据格式中。为了获取下一行的第 一个像素点需要跳过的字节数。 U Pixel stride (bytes): 为了获得下一个像素点的 U 成分的值需要跳过的 字节数。典型的数值: o Planar : 1 字节 o Packed 4:4:4 : 3 字节 o Packed 4:2:2 or 4:2:0 : 4 字节 U mask: 图像分析读取在 U Pixel stride 指定的字节大小的数据包,数据包 的字节顺序是 Big Endian。U mask 指定在数据包的哪些位代表了 U 成分的 值。典型的数值: o Planar : 0xFF o Packed 4:4:4 : 0xFF0000 o Packed 4:2:2 or 4:2:0 : 0xFF000000 U Line stride (bytes): 只用在 Planar 数据格式中。为了获取下一行的第 一个像素点需要跳过的字节数。典型的数值: o 4:4:4 : 每行像素的数量 o 4:2:2 or 4:2:0 : (每行像素的数量) / 2 o 4:1:1 : (每行像素的数量) / 4 V Pixel stride (bytes): 为了获得下一个像素点的 V 成分的值需要跳过的字节数。典型的数值: o Planar : 1字节 o Packed 4:4:4 : 3字节 o Packed 4:2:2 or 4:2:0 : 4 字节 V mask: 图像分析读取在 V Pixel stride 指定的字节大小的数据包,数据包 的字节顺序是 Big Endian。V mask 指定在数据包的哪些位代表了 V 成分的 值。典型的数值: o Planar : 0xFF o Packed 4:4:4 : 0xFF0000 o Packed 4:2:2 or 4:2:0 : 0xFF000000 V Line stride (bytes): 只用在 Planar 数据格式中。为了获取下一行的第 一个像素点需要跳过的字节数。典型的数值: o 4:4:4 : 每行像素的数量 o 4:2:2 or 4:2:0 : (每行像素的数量) / 2 o 4:1:1 : (每行像素的数量) / 4 Alpha Pixel stride (bytes): 为了获得下一个像素点的 Alpha 成分的值需 要跳过的字节数。这是可选项。如果图像中没有 Alpha 成分则设该值为0. Alpha mask: 图像分析读取在 Alpha Pixel stride 指定的字节大小的数据包, 数据包的字节顺序是 Big Endian。Alpha mask 指定在数据包的哪些位代表 了 Alpha 成分的值。这是可选项。如果图像中没有 Alpha 成分则设该值为0. Alpha Line stride (bytes):只用在 Planar 数据格式中。为了获取下一行 的第一个像素点需要跳过的字节数。这是可选项。如果图像中没有 Alpha 成 分则设该值为0. 九、GEL(General Extension Language,通用扩展语言) 是类似与 C 的一种解释性语言,它可以创建 GEL 函数,以扩展 CCS 的用途。 按照 GEL 的语法创建 GEL 函数加载到 CCS 即可。GEL 语法: GEL 是一个大小写敏感但缺少类型检测的解释性语言,只有 int 类型, 在语法上可看作是 C 语言的一个子集。 1.GEL 函数定义在文本文件中以.gel 为扩展名。 一个 GEL 文件可以包含很多 GEL 函数定义。GEL 函数不标明任何返回类型,也不 需要任何头文件来定义函数中使用的参数的类型, 这些类型信息由数据值自动获 得。和标准 C 一样,一个 GEL 函数定义不能嵌入在其他的 GEL 函数定义中。 通过 GEL 函数定义中定义参数, 可将变元传递给 GEL 函数。与 C 函数参数不一样 的是,GEL 函数不需要定义参数类型,只需参数名即可,参数类型则自动由传递 的变元来判断。GEL 函数可以是以下几种类型之一: a.一个实际或仿真的 DSP 程序符号值(如果传递的是 DSP 程序符号) b.一个数字常量(如果传递的是表达式或常量值) c.一个字符串常量(如果传递的是字符串) 2.函数的局部变量 在 GEL 函数函数里, 你可以声明局部变量, 也可以用在目标配置中定义了的变量。 当一个目标变量被使用,CCS 调试器将从目标中获得必要的信息,同时包含符号 信息的 COFF 文件必须被下载。 下面的例子, 变量 i 在 GEL 函数中声明, 变量 data 被假定为目标的符号。 MyFunc(num) { for (i=0; i&= i++) data[i] = 0; } 3.函数的全局变量 全局变量在函数中的声明和局部变量相同,全局变量如果没有赋初值,将会被初 始化为0.一个有全局变量的 GEL 文件当它被下载时将会被声明; 文件不被下载时 则不声明。一个文件中的全局变量必须有不同于其他变量的名字,否则,结果将 出错。同时,当一个目标全局变量或标志用了与一个 GEL 全局变量相同的名字, 则目标全局变量优先使用这个名字。 4.函数的循环 RecursiveTest(num) { int i = do { GEL_TextOut(&@%d &, &Test Output&, 0, 0, 0, i); i++; } while (i &= 5); GEL_TextOut(&\n&, &Test Output&); if (num & 5) RecursiveTest(num+1); } GEL 函数可以在任何能键入 C 表达式的地方调用。既可以在任何可键入 C 表达式 的对话框中调用, 也可在其他 GEL 函数中调用。 但递归的 GEL 函数是不被支持的, 当一个 GEL 函数在运行时,不能再运行它的另一个实例。 5.GEL 的返回语句 GEL 支持在函数中使用标准 C 返回语句,形式如下: return [ 表达式]; GEL 函数无需返回一个值,当 return 后面没有跟表达式时,它返回的不是一个 有效值,而是将控制权返回给调用函数,当函数结尾没有 return 语句时也是如 此。 C 语言不同的是, 和 GEL 函数不指定返回类型, 返回类型在运行时自动确定。 6.GEL if 和 if-else 语句 GEL 支持标准 C 中的 if 和 if-else 语句,形式如下: if ( 表达式) 语句1; if ( 表达式 ) 语句1; else 语句2;7.GEL for 语句 GEL 支持标准 C 中的 for 语句,形式如下: for (表达式1;表达式2; 表达式3 ) 语句1; 8.GEL while and do-while 语句 GEL while and do-while 语句 和标准 C 的 while and do-while 语句类似。但 是 GEL 版本不支持嵌入的 continue 语句。 while ( 表达式 ) 语句1; do 语句1 while ( 表达式 ); 9.GEL 的 break 语句 GEL 支持标准 C 中在 for, while, and do-while 循环的 break 语句,形式如下: Break; 10.GEL 的注释 GEL 支持标准 C 和 C++在一个文件中的注释。注释由/* */ 限定,可以在几行 范围注释;注释若用//限定,则只能延生到该行的末尾。 /* 注释 占了两行 */ // :注释只占这一行 11.GEL 的预处理语句 与标准 C 一样,GEL 支持标准的#define 预处理语句,#define 是 GEL 支持的唯 一一个的预处理关键字。使用#define 可以定义一个宏。12.嵌入 GEL 函数 CCS 提供一系列的嵌入 GEL 函数,使用这些函数,用户可以控制仿真或实际目标 板的状态,访问仿真或实际目标板存储器,并在输出窗口显示结果。所有的嵌入 GEL 函数都有一个“GEL_”前缀标志,用于区分嵌入 GEL 函数与用户定义的 GEL 函数,所有的嵌入的 GEL 函数和用户定义的 GEL 函数都是由 GEL 语句组成。 版本改变:下面这些内置的 GEL 函数不被支持。GEL 会识别这些函数,但是,当 这些函数被调用时,不执行任何操作。 GEL_CloseWindow GEL_Exit GEL_ProjectCreateDefaultCo GEL_ProjectSetSubProjC GEL_OpenMemoryWindo nfig onfigSel w GEL_ProjectLoad GEL_SrcDirAdd GEL_OpenWindow GEL_ProjectRebuildAll GEL_SrcDirRemoveAll GEL_ProjectAddSubPr GEL_ProjectRebuildAllConfi GEL_StopTransferToFile oj g GEL_TransferToFile GEL_ProjectBuild GEL_ProjectRemoveConfig GEL_TransferToFileConf GEL_ProjectBuildCon GEL_ProjectRemoveSubProj g fig GEL_ProjectSave GEL_WatchAdd GEL_ProjectClose GEL_ProjectSetActive GEL_WatchDel GEL_ProjectCreateCo GEL_ProjectSetActiveConfig GEL_WatchReset pyConfig同步选项:Synchronous Options GEL Function(GEL 函数) 与 GEL 同步 GEL_AddInputFile 是 GEL_AddOutputFile 是 GEL_AdvancedReset 否 GEL_Animate 否 GEL_AsmStepInto 否 GEL_AsmStepIntoBackwards 否 GEL_AsmStepIntoBackwards 否 GEL_AsmStepOver 否 GEL_BreakPtAdd 是 GEL_BreakPtDel 是 GEL_BreakPtDisable 是 GEL_BreakPtReset 是 GEL_CancelTimer 是 GEL_ClearProfileConfigurati 是 on GEL_DisableRealtime 否 GEL_DriverString 是 GEL_EnableClock 是 GEL_EnableRealtime 否 GEL_Go 是(只有地址给定时)完全同步 否 否 否 否 否 否 否 否 否 否 否 否 是 是 否 是 否 否 是(只有地址给定时) GEL_Halt GEL_HWBreakPtAdd GEL_HWBreakPtDel GEL_HWBreakPtDisable GEL_HWBreakPtReset GEL_IgNoreUnkNownHalts GEL_IsInRealtimeMode GEL_Load GEL_LoadGel GEL_LoadProfileConfiguratio n GEL_LowPowerRun GEL_MapAdd GEL_MapAddStr GEL_MapDelete GEL_MapOff GEL_MapOn GEL_MapReset GEL_MemoryFill GEL_MemoryLoad GEL_MemorySave GEL_PatchAssembly GEL_PinConnect GEL_PinDisconnect GEL_PortConnect GEL_PortDisconnect GEL_ProbePtAdd GEL_ProbePtDel GEL_ProbePtDisable GEL_ProbePtReset GEL_RefreshWindows GEL_RemoveDebugState GEL_RemoveInputFile GEL_RemoveOutputFile GEL_Reset GEL_Restart GEL_RestoreDebugState GEL_Run GEL_RunBackwards GEL_RunF GEL_SetBlockResetMode GEL_SetSimMode GEL_SetStatusInterval GEL_SetTimer否 是 是 是 是 是 是 否 是 是 否 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 是 否 否 是 是 是 是 否 否 否 否 否 是 是 是否 否 否 否 否 是 是 否 是 否 否 是 是 是 是 是 是 是 是 是 是 是 是 是 是 否 否 否 否 否 否 否 否 是 是 否 否 否 否 否 否 是 是 GEL_SetWaitInResetMode GEL_SharedMemHaltOnStepOff GEL_SharedMemHaltOnStepOn GEL_SharedMemHaltOnWriteOff GEL_SharedMemHaltOnWriteOn GEL_SrcStepInto GEL_SrcStepIntoBackwards GEL_SrcStepOver GEL_StepInto GEL_StepOut GEL_StepOver GEL_SymbolAdd GEL_SymbolAddRel GEL_SymbolDisable GEL_SymbolEnable GEL_SymbolHideSection GEL_SymbolLoad GEL_SymbolLoadRel GEL_SymbolRemove GEL_SymbolShowSection GEL_SyncHalt GEL_SyncRun GEL_SyncStepInto GEL_SyncStepOut GEL_SyncStepOver GEL_System GEL_TargetTextOut GEL_TextOut GEL_UnloadAllSymbols GEL_UnloadGel GEL_XMDef GEL_XMOff GEL_XMOn是 是 是 是 是 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 是 是 否 是 是 是 是是 是 是 是 是 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 否 是 是 否 是 是 是 是 GEL 的嵌入函数列表: GEL_AddInputFile() GEL_AddOutputFile( ) GEL_AdvancedReset( GEL_MapOff() ) GEL_MapOn() GEL_Animate() GEL_MapReset() GEL_AsmStepInto() GEL_MemoryFill() GEL_AsmStepOver() GEL_MemoryLoad() GEL_BreakPtAdd() GEL_MemorySave() GEL_BreakPtDel() GEL_PatchAssembly() GEL_BreakPtDisable GEL_PinConnect() GEL_BreakPtReset() GEL_PortConnect() GEL_CancelTimer GEL_PortDisconnect() GEL_ClearProfileCo GEL_ProbePtAdd() nfiguration GEL_ProbePtDel() GEL_DisableRealtim GEL_ProbePtDisable e() GEL_ProbePtReset() GEL_EnableClock() GEL_RefreshWindows GEL_EnableRealtime GEL_RemoveDebugState () GEL_RemoveInputFile() GEL_Go() GEL_RemoveOutputFile() GEL Grammar GEL_Reset() GEL_Halt() GEL_Restart() GEL_HWBreakPtAdd() GEL_RestoreDebugState GEL_HWBreakPtDel() GEL_Run() GEL_HWBreakPtDisab GEL_RunF() le GEL_SetBlockResetMode() GEL_HWBreakPtReset GEL_SetTimer () GEL_SetSimMode() GEL_IsInRealTimeMo GEL_SetWaitInResetMode() de GEL_SharedMemHaltOnStepOff GEL_Load() () GEL_LoadGel() GEL_SharedMemHaltOnStepOn( Gel_LoadProfileCon ) figuration GEL_SharedMemHaltOnWriteOn GEL_LowPowerRun() () GEL_MapAdd() GEL_MapAddStr() GEL_MapDelete() 部分嵌入函数功能分析: 1.GEL_Animate():开始 Animate DSP 程序。GEL_SharedMemHaltOnWr iteOff() GEL_StepInto GEL_StepOut GEL_StepOver GEL_SrcStepInto() GEL_SrcStepOver() GEL_SyncHalt GEL_SyncRun GEL_SyncStepInto GEL_SyncStepOut GEL_SyncStepOver GEL_SymbolAdd() GEL_SymbolAddRel() GEL_SymbolHideSection () GEL_SymbolRemove() GEL_SymbolShowSection () GEL_SymbolLoad() GEL_SymbolLoadRel() GEL_System() GEL_TargetTextOut() GEL_TextOut() GEL_UnloadAllSymbols( ) GEL_UnloadGel() OnFileLoaded() OnHalt OnPreFileLoaded() OnReset() OnResetDetected() OnRestart() OnTargetConnect() 2.GEL_Go(address):执行 DSP 程序到一个由参数指定的地址。参数(可选项) 指的是程序存储器的地址, 如果不指定参数,则 GEL_Go()与 GEL_Run()函数完成 的功能相同。如果程序始终执行不到指定的地址,则 GEL 函数不能停止运行。 3.GEL_Run(“condition”):开始执行 DSP 程序.带引号的参数(可选项)是一 个表达式,如果运行 GEL 函数时带有此条件参数,则条件为真时程序才运行,程 序再运行到每个断点处都会判断条件是否满足, 当不满足时 CCS 调试器将在该地 址停止。 4.GEL_Halt():停止正在运行的 DSP 程序。 5.GEL_RunF(): 此函数在运行 DSP 程序之前先禁止所有的断点,同时还断开与目 标系统的连接。 此命令在对目标系统进行硬件复位或需要断开 JTAG 或 MPSD 电览 连接时有用。CCS 调试器将在需要存取目标系统(如读存储器)或用户中止程序 运行时重新使能断点并建立与目标系统的连接。 6.GEL_Restart():复位 DSP 程序到其入口地址,此函数应在 DSP 程序(包括符 号信息)已被加载入目标板之后使用。 7.GEL_BreakPtAdd(address,“condition”):在指定地址设定一个软件断点, 参数 condition 是可选项,如果指定了一个参数,则该断点变成一个条件断点, 仅当条件为真时,该断点有效。参数 address 是必需的,用于指定断点地址。该 地址可以是绝对地址、C 表达式、C 函数名或汇编代码标号名。 8.GEL_BreakPtDel(address):清除指定地址的软件断点。如果在指定地址没有 软件断点, 则该函数不做任何实质性工作, 地址参数是必需的, 可以是绝对地址、 C 表达式、C 函数名或汇编代码标号名。 9.GEL_BreakPtReset():清除所有软件断点。 10.GEL_TextOut( &text&[, &windowName&[,textColor[, lineNumber[, appendToEnd [, param1, param2, .. param4]]]] ):将一个固定的字符串打印 到指定的输出窗口。参数说明如下: Text:必需的参数,指定用于输出的格式文本(包括格式说明符,如%d,%u 等) , 格式说明符的个数必须与参数[param1, param2, .. param4]的个数相同。 windowName:可选参数,指定输出的窗口。 textColor:可选参数,指定打印文本的颜色,0-黑色;1-蓝色;2-红色。 lineNumber: 指定打印从哪行开始。如果窗口是一个不带滚动条的窗口则此参数 是可选的。 appendToEnd:可选参数,当打印到一个不带滚动条的窗口时的标志符号,当标 志为1时,文本被追加到现有的行上,否则将原有行删除,用新的一行代替。 param1, param2, .. param4:可选参数,与 text 参数中的格式说明匹配使用。 11.GEL_TargetTextOut(startAddress [,page [, maxLength [,Format [, &windowName& [,textColor [, lineNumber [, appendToEnd [, changeHighlight]]]]]]] ):将一个格式字符串打印到输出窗口,这个字符串必 须是目标板已存在的,且以二进制0作为结束标志。 startAddress:包含格式字符的块起始地址,这个参数是必须的。 Page:可选参数,指示存储器的类型,0-程序存储器;1-数据存储器;2-I/O。对 Simulator 而言,不支持 I/O(Page=2) ,该参数的默认值为0. maxLength:可选参数,当块大于400个字节时用来指示块的最大长度。目标板的 格 式 文 本 应 以 二 进 制 0 结 束 , 如 果 没 有 碰 到 这 个 标 志 , 只 打 印 前 400 ( 或 maxLength)个字节。 Format :可选参数,指示打印的文本是打包的还是未经打包压缩的,0-未经打 包的 ASCII 字符; 1-打包的ASCII 字符, 使用 big endian 格式; 2-打包的 ASCII 字符,使用 little endian 格式。 windowName:可选参数,指定输出的窗口。 textColor:可选参数,指定打印文本的颜色,0-黑色;1-蓝色;2-红色。 lineNumber: 指定打印从哪行开始。如果窗口是一个不带滚动条的窗口则此参数 是可选的。 appendToEnd:可选参数,当打印到一个不带滚动条的窗口时的标志符号,当标 志为1时,文本被追加到现有的行上,否则将原有行删除,用新的一行代替。 changeHighlight:可选参数,当打印到一个不带滚动条的窗口时的标志符号。 当此标志使能时,新的文本将与原来的文本比较,如果两者有不同,则新的文本 被高亮显示。 12.GEL_Load( &fileName& [,&cpuName&] [,&boardName&] ):将目标文件(COFF 文件) 及相应的符号表加载入存储器中, 参数 fileName 指定要加载的 COFF 文件, 如果这个文件不在当前目录中,则需给出其完整路径。在写路径时,反斜线“\” 应写两次,即“\\” ;参数 cpuName 给出CPU名,在设置多处理器时应与配置 的 CPU 名一致,如果只有一个处理器,则该参数可以不填;boardName(可选) 指目标配置中的指定文本字符串。 13.GEL_SymbolLoad(&fileName&[, &cpuName&[, &boardName&]] ):加载指定目 标文件的符号信息, 这个函数在CCS调试器不能或不需要将目标代码加载入存 储器(如程序代码放在ROM中)时有用,不更改程序入口点,参数 fileName 指定的是包含符号信息的COFF文件;cpuName 是可选参数,指定符号信息将 要加载到的CPU的名称,在多处理器的环境中此参数有用;boardName 指定符 号信息将要加载到的板块名称, 若没有指定,则用GEL函数运行的处理器的板 块名称。 14.GEL_MapAdd(address, page,length,readable,writeable):设置存储器映射 中某块目标存储器的读/写属性,如果存储器范围与一个已有存储器范围重合, 则在存储器映射中使用新设置的属性。 Address:必需的参数,指定存储器范围的开始地址,可以是绝对地址、C 表达 式、C 函数名或汇编代码标号名。 Page:必需的参数,指示存储器的类型,0-程序存储器;1-数据存储器;2-I/O。 对 Simulator 而言,不支持 I/O(Page=2) ,该参数的默认值为0. Length:必需的参数,定义存储器范围的长度,此参数可以是任何C表达式。 Readable:必需的参数,定义存储器范围是否可读,0-不可读;1-可读。 Writeable:定义存储器范围是否可写,0-不可写;1-可写。 15.GEL_MapDelete(address, page):从存储器映射中删除一块存储范围,删除 后, CCS调试器将不从目标板的该块存储范围读或写数据。若显示的存储地址 是不可读的,则CCS调试器将不显示目标板的相应值,而是显示其默认值。两 个参数 address, page 同 GEL_MapAdd 函数的相应参数含义相同。 16.GEL_MapOn(): 使能存储器映射,CCS调试器不从具有不可读属性的存储块 中读数据,也不向具有不可写属性的存储块中写数据。当存储器映射刚使能时, 整个存储器范围都被假设为不可写/不可读属性。此时可以用 GEL_MapAdd 函数 添加存储块,并允许调试器存取合法的存储块,当目标系统加电时,存储器映射 是被禁止的。 17.GEL_MapOff():禁止存储器映射。应注意的是禁止存储器映射可能导致目标 系统的总线错误,因为CCS调试器可能存取一个不存在的存储器。 18.GEL_MapReset():复位存储器映射,使所有存储器属性为不可写/不可读。 19.GEL_MemoryFill(startAddress, page, length, pattern [, patternSizeType]):使用指定的值填充某块存储器。 startAddress:必需的参数,指定存储器块的开始地址 Page:必需的参数,指示存储器的类型,0-程序存储器;1-数据存储器;2-I/O。 对 Simulator 而言,不支持 I/O(Page=2) ,该参数的默认值为0. Length:必需的参数,定义要填充的字数。 pattern :必需的参数,指定填充值(整个存储器块都填充此值) 。 patternSizeType (可选):指定 CCStudio 需要翻译的模式大小。如果没有提供, 则模式的大小用 GEL_MemoryFill 函数运行的那个存储器的字的大小。 20.GEL_ MemoryLoad(startAddress,page,length, &fileName&, &[bitsize]&, &[swap]&) : 从 指 定 文 件 中 加 载 一 块 存 储 器 。 数 据 块 由 startAddress , page,length 参数决定。如果加载的文件后缀名为.Out,则使用COFF格式, 否则CCS调试器根据文件中的头信息判断文件格式。 startAddress: 指定存储器块的开始地址 Page:指示存储器的类型,0-程序存储器;1-数据存储器;2-I/O。对 Simulator 而言,不支持 I/O(Page=2) ,该参数的默认值为0. length :定义要填充的字数。 fileName(用双引号标注) ,指定存放目标数据的文件名。 bitsize 和 swap 是可选项。 如果文件是原始二进制,它们代表位的大小(8, 16, 32 or 64) 和在文件中二进制数据的字节交换。 21.GEL_MemorySave(startAddress,page, length, &fileName&[,io_Format][,append]):将某个目标板存储器块保存到指定文件 中,数据块由 startAddress,page,length 参数决定。如果加载的文件后缀名 为.Out,则使用COFF格式,否则,使用C风格的Hex格式。 startAddress: 指定存储器块的开始地址 Page 指示存储器的类型,0-程序存储器;1-数据存储器;2-I/O。对 Simulator 而言,不支持 I/O(Page=2) ,该参数的默认值为0。如果遇到无效的参数值比如 无效的Page值,GEL不给出报警信息。 Length: 定义要填充的字数。 fileName : (用双引号标注) ,指定存放目标数据的文件名。 io_format :是一个整数,代表着写入指定的输出文件的存储器的字数格式。 默认值为1(十六进制) 。参数表如下: 1 *.dat Hex 2 *.dat Integer 3 *.dat Long 4 *.dat Float 5 *.out COFF Append 表示要保存的存储器应该去覆盖指定文件的内容(0) ,还是附加到文 件的末尾(任意非零值) : 0 覆盖指定文件的内容 任意非零值 附加到文件的末尾 22.GEL_PatchAssembly(address,page, &patchString& ):将汇编代码插入到某 个页面的指定地址,前两个参数在前面的GEL函数中已说明,patchString 指 定要插入的汇编指令字符串。 23.GEL_System(&dosCommand&[, param1, param2, .. param4] ):在CCS集 成环境中(IDE)执行一个DOS命令。执行DOS命令的输出送到IDE的 一个输出窗口中。 可执行的DOS命令限于那些只产生文本输出 (不是图形方式) 及在执行后不需要用户再输入信息的命令。 有的DOS命令可以带参数执行,GEL_System 函数中的 param1, param2, .. param4可指定执行DOS命令的参数,参数还可以是DSP目标板上产生的数 据。 如果需要带参数,则需使用格式说明符,有关格式说明符的说明参见 GEL_TextOut 函数,格式说明符与参数一一对应,如果参数比格式说明符多,则 多余的参数被忽略。 GEL_System 函数可用来扩展CCS的功能,例如,可以使用该函数在后台执行 一个编译任务并将结果输出到CCS的输出窗口中。 24.GEL_CancelTimer(timer_id): timer_id 和用于设置定时器的 timer_id 相同。 该函数取消由先前 GEL_SetTimer 函数设置的定时器。 25.GEL_BreakPtDisable(address):address 指定软件断点的位置。该函数使指 定位置的软件断点失效。如果断点不存在或已经失效,不采取任何措施。该函数 不能使硬件断点失效。 26.GEL_ClearProfileConfiguration():该函数清除所有的 profile 的配置信 息,包括活动区、范围、控制点和定制数据收集选项。 27.GEL_DisableRealtime():该函数使实时调试失效。 28.GEL_EnableClock([bool enable]);该函数用于使能或不使能 profile 时钟。 参数可选,0:不使能时钟;1:使能时钟;空白:使能时钟。 29.GEL_EnableRealtime();该函数使能实时调试。 30.GEL_LoadGel( &fileName& ):该函数用于下载指定的 GEL 文件。fileName 指出要下载的 GEL 文件的名称。 31.GEL_LoadProfileConfiguration(sFileName);下载已保存的 profile 配置。 sFileName 指出要下载的配置的名称。 32.GEL_LowPowerRun();该函数让目标以低功耗模式运行。 33.GEL_ProbePtAdd(address);该函数在指定位置设置一个软件断点。Address 指定断点的位置, 如果地址是字符串参数,任何时候符号改变都会在那个地址设 置一个标志性的断点。否则,在指定的位置会设置断点。 34.GEL_ProbePtDel(address);该函数让你在指定位置删除断点。address 指定 要删除的断点的位置。 35.GEL_ProbePtDisable(address);使指定地址的断点失效,如果断点不存在或 已失效,则不存取任何措施。Address 指定断点的位置。 36.GEL_ProbePtReset();用来移除所有设置的断点。 37.GEL_RefreshWindows();该函数使反汇编窗口、混合模式窗口、寄存器窗口、 存储器窗口和观察窗口刷新来得到在目标上的内容。如果目标停止时,目标存储 器一直变化,这个函数很有用。 38.GEL_RemoveDebugState();该函数移除来自目标的调试状态, 和目标不能连接 时的状态很相似。调试状态包括硬件和软件断点,全局断点,profiling 状态和 其他所有影响目标执行的事件。 39.GEL_SetBlockResetMode(&integer&);该函数时硬件仿真起床序列的一部分, 当目标的能源区关闭时,该函数将停止目标。参数 integer: 0 [默认] - 不做任何块复位。 1 - 块复位一次 40.GEL_SetSimMode( mode ):该函数让你能使仿真在硬件模式和软件模式切换。 Mode 指示仿真类型: Mode Value 硬件仿真模式 0 软件仿真模式 1 (默认)用关键字将 GEL 函数添加到 GEL 目录中: 你可以添加常用的 GEL 函数到 CCS 的 GEL 菜单栏下。用关键字 menuitem 可以在 GEL 目录下创建一个新的下拉菜单,可以用关键字 hotmenu, dialog, o 或 slider 添加新的目录到最近的下拉列表中。 当选择用户定义的菜单项目 (在 GEL 目录下) ,一个对话框或滑块会出现。 注:对能定义的 GEL 函数的数量没有限制。但是,出现在 GEL 菜单下的 GEL 函数 的数量会受到主机屏幕和分辨率的限制。 1.hotmenu 关键字: 用 hotmenu 关键字添加一个 GEL 函数到 GEL 目录下,当被选择时立刻执行。语 法如下: Hotmenu 函数名() { 语句 } 这个关键字定义的 GEL 函数没有参数的传递。 举例: menuitem &My Functions&; hotmenu InitTarget() { *waitState = 0x11; } hotmenu LoadMyProg() { GEL_Load(&c:\\mydir\\myfile.out&); } 上面的例子将在 Scripts 菜单下添加子目录,如图: 2.dialog 关键字: 用 dialog 关键字来添加一个 GEL 函数到 Scripts 菜单下并创建一个用于参数输 入的对话窗口。当从 Scripts 菜单下选择用 dialog 关键字创建的函数,一个对 话窗口会出现并提示你输入参数。dialog 关键字创建函数格式如下: dialog 函 数 名 ( paramName1 &param1 definition&,paramName2 &param2 definition&, ... ) { 语句 } paramName[1-6]:用于函数内部的参数变量名称。 &param1 definition&打印在对话窗口上的参数描述。 最多通过对话窗口添加六个参数到 GEL 函数,下面的例子显示如何用 dialog 关 键字添加两个目录子菜单。 menuitem &My Functions&; dialog InitTarget(startAddress &Starting Address&, EndAddress &End Address&) { statements } dialog LoadMyProg() { statements } 上面的例子将在 Scripts 菜单下添加子目录,如图:当使用 InitTarget 命令调用函数,InitTarget 对话框提示输入起址和终址。输完参数后,按 Execute 按钮调用使用这些参数的 GEL 函数。3.Slider 关键字: 用 Slider 关键字来添加一个 GEL 函数到 Scripts 菜单下。当从 Scripts 菜单下 选择用 Slider 关键字创建的函数,一个滑动的物体会出现,来控制传递给 GEL 函数的值。每次移动滑块的位置,GEL 函数都会以一个新的参数值被调用并反映 在滑块的新的位置上。你只能传递一个参数给 slider GEL 函数。slider GEL 函 数的格式如下: slider param_definition( minVal, maxVal,increment, pageIncrement, paramName ) { statements } param_definition :打印在滑块的参数描述。 minVal :一个整形常量,当滑块在最低水平时,指定传给函数的值。 maxVal :一个整形常量,当滑块在最高水平时,指定传给函数的值。 increment :一个整形常量,每次滑块移动一个位置,指定传给函数的增量值。 pageIncrement: 一个整形常量,每次滑块移动一页,指定传给函数的增量值。 paramName: 用于函数内部的参数定义。 下面的例子显示如何用 slider 关键字添加音量控制滑块 menuitem &My Functions&; slider VolumeControl(0, 10, 1, 1, volume) { /* initialize the target variable with the Parameters passed by the slider object. */ targVarVolume = }十、Real-Time Analysis 工具在CCStudio v4.x用法: DSP/BIOS支持一系列由Code Composer Studio v4.x.提供的实时分析(RTA)工 具, 选择菜单 Tools(工具) & RTA : RTA 控制面板: RTA 控制面板让用户观察和设置在运行时记录的类型变化。可以提供菜单Tools (工具)& RTA & RTA Control(RTA控制)打开。Logger Buffer(记录器缓冲) 显示所有在应用程序的LOG实例,还有CPU下载 和STS。使LOG实例失效,会影响在Raw Logs(初始记录)和Printf Logs(写格 式化输出记录)工具栏的信息;使CPU下载失效,会影响在CPU Load (CPU下载) 和 Load Data (下载数据) 工具栏信息的更新; 使STS失效, 会影响在 Statistics Data(统计数据)工具栏的信息更新。 控制面板包括如下工具图标: 关闭所有RTA工具,包括本身 自动使框的大小适合它们的内容 扩张在 Logger Buffer(记录器缓冲)栏中的所有节点 收缩在 Logger Buffer(记录器缓冲)栏中的所有节点 对从目标来的数据流进行开关。默认为开 通过从目标应用程序得到的当前运行设置来刷新设置的视图设置从目标上过来的RTA数据流程序时间(单位:分钟) 。默认时间和目 标应用程序运行时间相同 Raw Logs(初始记录) : 默认情况下,Raw Logs 工具显示完全的“unformatted log ”数据。默认框显 示如下项目: time, seqID, arg1...arg4, and formattedMsg,可通过菜单 Tools & RTA & Raw Logs 打开。组设定开关的视图(Shift+G) 打开寻找对话框搜寻记录 自动使框的大小适合它们的内容 打开设置过滤表达式的对话框,获取过滤的记录去匹配模式 可以通过右击工具栏打开目录选项,打开右击菜单: ? Column Settings(专栏设置) :打开一个对话框,可以设置隐藏或显示不同 的专栏,也可以修改队列、字体和专栏显示的格式(比如:十进制、二进制等) ? Copy(复制) :复制选定的内容到剪切板 ? Data ( 数 据 ) & Export Selected ( 导 出 选 定 的 ) : 选 择 一 个 .csv (commaseparated value)文件去包括选定的数据。 ? Data(数据) & Export All(导出所有) 选择一个.csv (commaseparated : value)文件去包括所有当前显示在记录中的数据。 ? Groups(组) :定义组去包含各种记录信息的类型。 Printf Logs(写格式化输出记录) : Printf Logs是查看所有用户生成的LOG_printf() 信息的一个很方便的方式。默 认情况下,Printf Log工具栏显示time,seqID, and formattedMsg。选择菜单 Tools (工具) & RTA& Printf Logs 写格式化输出记录) ( 打开。 右击菜单和Raw Logs 相同。CPU Load(CPU下载) : CPU Load显示应用程序没有在闲置范围的时间百分比。 通过菜单Tools (工具) & RTA & CPU Load (CPU下载)打开右击菜单如下: ? Legend(说明) 开关这个命令隐藏图形的说明。 : ? Horizontal Axis(水平轴) 开关这个命令隐藏X轴的时间标志。 : ? Vertical Axis(垂直轴) 开关这个命令隐藏Y轴的线标志。 : ? Show Grid Lines(显示格子线条) 选择开关X轴和Y轴的格子线条。 : ? Display As(按...显示) 选择你想用来显示数据的标签。默认是一条连接 : 线,但是你可以选择不同类型和大小的标签。 ? Auto Scale(自动缩放) 改变比例使下载的数据适合显示的范围,当该选 : 项打开,当新数据导入时比例可能变化。 ? Reset Auto Scale(重置自动缩放) 重置比例使得更好的显示当前的数据。 : ? Data(数据) & Export All(导出所有) 选择一个.csv (commaseparated : value)文件去包括所有当前显示在记录中的数据。 ? Groups(组) 定义组去包含各种记录信息的类型。 : ? Insert Measurement Mark(嵌入测量标签) 嵌入一个标签在你右击的地方。 : ? Remove Measurement Mark(移除测量标签) 选择一个标签移除。 : ? Remove All Measurement Marks(移除所有测量标签) :移除所有你放置的标 签 。 ? Display Properties(显示属性). 打开一个对话框让你改变颜色、比例、 显示格式和在图形上的标志。Load Data(下载数据) : Load Data(下载数据)是观察“CPU load-related logs”很方便的方式。默认 下,Load Data(下载数据)工具栏显示time(时间), taskHandle(任务处理), task(任务), cpuTime(CPU时间),total(所有), 和 load(下载) 。通过菜 单Tools (工具)& RTA & Load Data(下载数据)打开。显示在该工具栏的数 据是用来绘制CPU Load图形的初始数据。Load Data(下载数据)工具栏图标和 右击菜单和Raw Logs(原始记录)相同。Statistics Data(统计数据) : Statistics Data(统计数据)工具让用户观察线程执行的数据。通过菜单Tools (工具)& RTA & Statistics Data(统计数据)打开。默认下,Statistics Data (统计数据)工具栏对于每个STS目标显示STS目标名称、count(计数) 、total (所有) 、max(最大值)和 average(平均值) 。 十一、在 CCStudio v4.x中的Runtime Object Viewer实时目标视图 (ROV) 用DSP/BIOS时,ROV是一个调试工具,它的视图提供了在应用程序中的所有模块 的状态信息。ROV是一个停止模式的调试工具,只有当目标停止运行时它才能接 收应用程序的数据。即使用户把在应用程序的RTDX不使能,ROV也会在停止点提 供数据,相反的,RTA需要RTDX。要打开ROV,遵循以下步骤: 1.下载应用程序进行调试,如果用的是多核的设备,在打开ROV之前选择你想用 来调试的设备。 2.通过菜单Tools(工具)-&ROV打开。 3.运行应用程序到你想观察信息的断点处 4.在ROV,的左窗格,从可展开的树状结构选择一个模块 5.在ROV,的右窗格, 你可能需要扩展目标的级别或选择一个你想观察数据的标签 (根据你选择模块的不同,标签也不一样。 )当你重新下载或返回应用程序时,ROV会清除它的所有缓冲器的数据。 当应用程序停止在一个断点处,ROV会刷新当前显示的信息。如果在最后一次ROV 请求数据后有任何数据发生变化,则ROV以红色文本显示该数据。但是,ROV只在 它被请求时才去检索数据。总之,如果区域没有变红,这并不代表这个数据没有 变化。当目标在运行时,你可能继续使用ROV。任何在最后的断点处重新取回的数据将 以灰色的背景显示。当数据不被重新取回,你会看到一条&Target running...& 的信息,它表示再目标运行下,ROV不能重新取回新的数据。ROV通过使背景变红 来高亮显示错误。 移动你的鼠标在红色背景的区域来查看错误信息。ROV可以检查如下错误: 1.Validation errors验证错误:模块可以给ROV提供验证信息。举例,一个特殊 的结构区域能含有的最大值是32,,如果在目标上是33,则模块会报告这个问题。 2. Memory.存储器:ROV可以报告不好的存储访问或其他可检测的问题。 3.ROV errors ROV错误:如果从目标上传来的损坏的数据导致在模块上的ROV相 关代码运行不正确,则ROV会报告这个异常。Target 菜单:Target 菜单部分选项解释和实例: Load Program(下载程序) :将 COFF(.out)文件中数据和符号加载入目标板(实 际目标板或 Simulator)中。 Reload Program(重新下载程序) :重新加载 COFF 文件,如果程序未作更改则只 加载程序代码而不加载符号表。 Load Symbols(下载符号) :当调试器不能或无需加载目标代码(如目标代码存 放于 ROM 中)时,仅将符号信息加载入目标板。此命令只清除符号表,不更改存 储器内容和设置程序入口。 Step Into:单步运行,如果运行到调用函数处将跳入子函数单步执行。 Step Over:执行一条源程序指令指令。与 Step Into 不同的是,为保护处理器 流水线, 该指令的若干条延迟分支或调用将同时被执行。如果运行到子函数调用 处将不跳入子函数中执行,除非在函数内部设置了断点。 Run:从当前程序计数器(PC)执行程序,碰到断点时程序暂停执行。 Halt(停止) :中止程序运行。 Go to main(到 main 处) :在程序的 main 符号处设置一个临时断点。此命令在 调试 C 程序时起作用。 Restart(重新启动) ;将 PC 值恢复到程序入口,让程序指针 PC 跳到程序开始执 行的地址。此命令并不开始程序的执行。 Connect Target(连接目标0:连接到硬件目标。 Terminate All(停止所有):停止所有正在调试的项目。 Run to Line(运行到线条处) :从当前程序计数器(PC)执行程序,直到遇到源 程序窗口或反汇编窗口的高亮长条处暂停执行。 Step Return:跳出当前的调试方法。 Assembly Step Into:在反汇编窗口中单步调试,与 Step Into 类似。 Assembly Step Over:在反汇编窗口中调试,与 Step Over 类似。 Add Symbols(添加符号) :添加符号信息。 Reset(复位) :复位 DSP,初始化所有寄存器到其上电状态并中止程序运行。 Clock(时钟) :1.Enable(使能) :为了获得指令周期及其他事件的统计数据, 必须使能剖切时钟,当剖切时钟被禁止时,将只能计算到达每个剖切点的次数, 而不能计算统计数据。剖切时钟作为一个变量(CLK)通过 Clock 窗口被访问, CLK 变量可在 Watch 窗口观察。 指令周期的计算方式与使用的 DSP 驱动程序有关。 对使用 JTAG 扫描路径进行通讯的驱动程序,指令周期通过处理器的片内分析功 能进行计算,其他的驱动程序则可能使用其他类型的定时器。Simulator 使用模 拟的 DSP 片内分析接口来统计剖切数据。当时钟使能时,CCS 调试器将占用必要 的资源实现指令周期的计数。 2.View(视图) :在剖切窗口(Profile )显示每个剖切点处的统计数据,包括 该剖切点执行的次数及最小、最大、平均和总的指令周期数。程序每次执行到剖 切点时都会更新剖切统计窗口。 但太多的更新窗口将降低剖切功能的性能。有两 种减小窗口更新次数的方法: 一种方法是将更新窗口与剖切点相连接,另一种方 法是根据需要打开或关闭更新窗口。 3.Setup(设置) :设置时钟。在 Clock Setup 对话框中,在 Count 域选择剖切的 事件。对某些驱动程序而言,CPU Cycles 可能是唯一的选项。对于使用片内分 析功能的驱动程序而言,可以剖切其他事件,如中断次数、子程序或中断返回次 数、分支数及子程序调用次数等。可使用 Reset Option 参数来决定如何计数。 如选择 Manual 选项,则 CLK 变量将不断累加指令周期数,这与 TI Simulator 类似;如选择 Auto 选项,则在每次 DSP 运行前将自动将 CLK 置为 0,因此 CLK 变量显示的是上一次运行以来的指令周期数,这与 TI Emulator 类似。 4.Reset(复位):复位 Clock。 New Target Configuration(新的目标配置) :为项目新建目标配置。 Debug Active Project(调试活动项目) :开始以设置的目标配置调试活动项目 Launch TI Debugger(开始 TI 调试) :开始以默认目标配置来调试项目。 Debug(调试):打开可以修改目标配置的对话框。
更多搜索:
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。}

我要回帖

更多关于 wifi信号放大器管用吗 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信