基于Eclipse的TI集成开发环境IDE-CCSv5使用教程

TI嵌入式处理器的集成开发环境(IDE)包括调试器,编译器,编辑器,DSP/BIOS操作系统等等,现在最新的CCSv5 IDE基于Eclipse开源软件框架(v4+)并融合了TI设备的支持与功能,适用于windows和linux环境下开发,CCSv5是基于原版的 Eclipse,并且TI将直接向开源社区提交改进,用户可以随意的将各种其他厂商的Eclipse插件或TI的工具拖放到现有的Eclipse环境,用户可以享受到Eclipse中所有最新的改进所带来的便利,CCSv5(CCSv5.1 CCSv5.2 CCSv5.0)还集成额外的工具,包括 操作系统的应用程序开发工具(Linux操作系统,Android的...)以及 代码分析、源代码控制等。本文介绍了TI的IDE集成开发环境CCSv5的基本特点,相对于CCSv3.3和CCSv4的改进和提升,其Eclipse各种视图环境、Target configuration的和debug session视图方法和GEL、DSS脚本工具的使用方法。

CCSv5的两个版本:

? v5.0不是为了替代CCSv4,主要针对需要在设备上运行Linux的用户与多核C6000的用户,增加了一些在CCSv4上没有的Linux的调试功能,现已被CCSv5.1取代,不再提供技术支持。

? v5.1针对CCSv4的替换版,面向所有用户,支持Windows和Linux,注意,并非所有的仿真器(emulator)有Linux版支持,SD DSK / EVM板载仿真器,XDS560 PCI没有支持,大多数的大多数的USB / LAN仿真器将被支持,XDS100,SD510USB/USB+,560v2,BH560m/bp/lan等都在两个平台上有所支持,具体可以参考 HTTP://processors.wiki.ti.com/index.php/Linux_Host_Support

图1. TI IDE开发环境CCS的开发进展视图

CCSv5的改进:

用户对于CCSv4的反馈包括需要更小的镜像,CCS DVD映像太大(下载> 1GB,安装4GB),需要更快的启动时间和调试器的响应速度,CCS比较迟缓,需要更简易,即安排好用户界面。CCSv5.1下载大小是1.2GB,并且CCSv5.1使用动态下载,根据用户的选择,相应的软件包将被下载并自动安装,用户可以在以后添加更多的功能或者用户可以选择下载完整的DVD映像,CCSv5.1还加快常用任务,包括启动CCS、启动调试会话(Debug Session)、创建一个新项目(良好的初始体验),CCSv5.1提高了响应速度,包括单步(Stepping)(在各种视图打开的状态下)、并划分了运行模式并可以切换。在实时模式下,表达式 (Expressions) 和绘图(Graph)视图的连续刷新、存储目标配置(Target Configuration)以及加载/烧录程序于闪存,而在简易模式下 默认情况下,CCS将打开简单/基本模式,简化菜单选项,工具栏按钮的用户界面, TI提供的编辑(CCS Edit)和调试(CCS Debug)透视图(perspective),简化构建选项(build options)。高级模式下可以使用默认的Eclipse透视图(perspective)、非常类似于CCSv4、推荐给会添加其它Eclipse插件到IDE的用户使用。

CCSv5的常用功能包括如下1).创建新项目,能非常简单的使用模板创建对应任意设备的新项目;2).构建选项(build options),选项升级需基于编译器版本而不是CCS由更新;3).共享项目,使用户更轻松地共享项目,包括版本控制的使用(可移植项目),设置链接资源的过程需要进行简化4).帮助和文档更方便,可以很容易地从IDE内部访问产品的帮助系统并且Eclipse和TI的帮助必须进行综合,包括一个很好的教程,基于任务的帮助,Flash视频的链接,改良的欢迎屏幕。

CCS5.1 的更新与改进

1).Eclipse

- 更新的Eclipse及CDT (C/C++ Development Tooling)

- 使用"原版"的Eclipse和CDT, CCSv5.1使用的Eclipse3.7,CCSv4使用Eclipse3.2, 编辑器,检索器(Editor/Indexer)改善

– 拖放支持

– 支持在链接文件时使用宏(可移植项目)

– 动态语法检查

– 从Eclipse内搜索插件

– 警告和错误在控制台的输出上更明显

2).提升可用性

- 透视图(Perspectives)

- 视图(Views)

- 创建项目

- 使用链接资源(Linked Resources)

3) 项目管理的变化

4)调试器的变化

5). Linux支持

- Linux主机(host)支持

- 支持Linux调试(内核/应用)

5).Multi-core多内核调试

6).系统分析器( System Analyzer )

图2. 简化的透视图(Perspectives) – CCS Edit

简化的视图 – 调试视图(Debug View):清爽,简洁,更多自定义选项,没有额外的"线程"节点,没有"CIO/目标"(CIO/target)错误节点,"项目/目标配置"(Project / Target Configuration )节点下直接显示多个CPU设备,可以自定义选择显示更多JTAG的层次结构,可以收合到单行来优化屏幕空间 ("面包屑"模式)

图3. 简化的视图 – 调试视图(Debug View)

 

简化新项目向导 – 一页完成

指定一个特定的设备型号和连接类型,向导将会自动创建目标配置文件

图4. 新项目创建向导页面

图5. 链接源文件到项目

 

资源管理器 - 教程

视图: CCSv5 的变化

? 断点(Breakpoint):

– 取消了在试图内列的就地编辑(使用断点属性页)

– 过滤视图,只显示当前调试上下文 (debug context)的断点

– 与调试视图链接: 突出显示当前调试上下文中,目前已经到达了的断点

? 寄存器(Register):

– 无"网格"(Grid)模式的支持

? 变量(Variables)(V4 - > Local (本地))和表达式(Expressions)(V4 - > Watch(观察)):

– 这些视图已被重命名为标准的Eclipse名称

– 在表达式视图"添加全局变量"(Add global variables)的功能

– 表达式格式(Hex, Dec, Bin, Char)可以在视图级别调整

– 默认值因类型而定

? 反汇编(Disassembly)

– 无反汇编显示风格上的变化支持

– 可选择链接到激活的调试上下文:更新视图到当前调试上下文的地址

? 按照堆栈帧

– 跟踪表达式

? 控制台(Console)

– 不支持从控制台运行GEL命令(使用脚本控制台)

– 有一个可选 CI / O控制台对应所有CPU (多核调试)

项目管理的变化

? "激活的项目"(Active project) 是选定的项目上下文

– 在"项目资源管理器"(Project Explorer)点击另一个项目会自动将其变为"Active project"

– 在没有选定的项目上下文的情况下点击"调试"(Debug)按钮,将会开启最后一个被调试

的项目的调试会话

? 在项目级别管理链接资源(项目属性页面)

– 在项目级别创建链接资源路径变量

– 编辑/转换/删除一个项目的链接资源

? "C/ C+ +项目"视图更名为"项目资源管理器"

? 项目"宏"更名为"构建变量"(Build Variables)

? 更多的项目模板支持

? 命令行对于项目的"创建/导入/构建"命令语法改变

CCSv4:命令的调用由使用一个特定的.jar执行Java来完成

> jre\ bin\ java -jar startup.jar<restOfCommand>

CCSv5:使用"eclipsec.exe"或"eclipse"

Windows :> eclipsec -nosplash<restOfCommand>

Linux的:> Eclipse -nosplash<restOfCommand>

调试器的变化

? 没有全局(工作区)级的 "调试选项"(Debugger Options)

? 大多数的调试视图支持"钉住"(pin)和"克隆"(clone)

? 调试配置(Debug Configurations)

– 指定在启动调试会话时运行的调试初始化脚本(JavaScript文件)

? 使用DSS初始化目标

? 一个脚本可以在多核的调试环境下初始化多个CPU

? 可以替换启动GEL文件

– 在"程序 /目标/源"标签里能以每一个CPU独立指定设置

? CCSv4的"目标"(Target)菜单被v5的"运行"(Run)菜单所取代

Linux主机支持

? 在以下环境中已测试:

– Ubuntu 10.04的32位

– Ubuntu 10.10的32 / 64位

– SUSE 11 32位

? CCS依赖于一些库(因分布版本而异)

? 并非所有的功能在Linux上都有支持

– 跟踪(Trace)

? 内核跟踪(XDS560T)

? 嵌入式跟踪缓冲( ETB (Embedded Trace Buffer) )

? 系统跟踪模块( STM (System Trace Module) )

? 请注意,并非所有的仿真器在Linux上都有支持

– SD DSK / EVM板载仿真器,XDS560 PCI不支持

? 大多数USB/ LAN的仿真器都支持

– XDS100,SD510USB/USB+,560v2, BH 560m/BP/LAN

http://processors.wiki.ti.com/index.php/Linux_Host_Support

Linux 开发(目标)

? CCS支持Windows和Linux主机电脑

? 通过集成的GDB调试Linux应用程序

? 通过JTAG调试Linux内核: 更改调试上下文从而在应用程序的调试和内核调试之间切换

多核调试

? 指定一个JavaScript来执行多CPU初始化

– 用于在各个CPU上执行GEL命令,加载程序,运行过去的初始化例程

? 一些设置在相同CPU可见的调试会话之间持续存在

– CCSv4中这一行为由脚本完成,V5中有明确的GUI来控制这种行为。

? 没有"同步模式"(Synchronous Mode )按钮

– 命令可以被发送到动态创建的自定义CPU组

? 调试会话之间保存创建的自定义CPU组

? 状态视图(Status view )在同一视图中显示所有CPU的状态信息(包括路由器( routers ))

 

系统分析器

? 在任何时间,观测整个系统的应用程序,操作系统和硬件 把多个内核的软硬件仪器的输出关联到一个全局的时间轴

? 系统的分析器是由两个核心组件构成

? UIA(统一仪表体系结构 - Unified Instrumentation Architecture ):目标端日志记录

(logging),运行控制(runtime control)和数据运动(data movement)工具包

? DVT(数据分析和可视化技术 - Data Analysis and Visualization Technology ):主机端运

行控制,数据采集(data collection),数据解码(data decoding),数据分析(data analysis)和数据

可视化(data visulization)工具

项目迁移

? 从CCSv3迁移到CCSv4有一定难度

– 完全不同的环境

– 新项目系统

– 目标配置(Target Configuration)更改

– CCS的整体面目都大不一样

? CCSv4 CCSv5.1迁移会顺利得多

– 环境非常相似

– 项目系统是相同的(的简单的导入)

– 目标配置是相同的

? CCSv3 CCSv5.1迁移

– 加强V3到V5的项目转换向导

– UI的简化将有助于用户缩短学习曲线

– 详细的文档帮助人们更快熟悉v5

? 工作区

– 在v5时使用新的工作区

? 项目

– 一个V4项目导入到V5后会被修改,使其不能再用V4打开

 

Eclipse概念:工作区(Workspace)

? CCS的主要工作文件夹

? 包含被其定义的所有项目的管理信息

– 创建新项目时所使用的默认地点

? 用户首选项(User preferences),自定义的透视图(custom perspectives),

插件的缓存数据(plug-in cache),等等,都存储在工作区

? 工作区概念不可与CCSv3工作区文件(*. WKS)混淆

? 可维持多个工作区

– 每个CCS实例仅可以同时打开一个工作区

– 相同的工作区不能共享多个CCS的运行实例

– 不建议用户之间共享工作区

 

资源管理器

? 在首次使用一个新的工作区时,"资源管理器"将显示"欢迎"页面

? 视频介绍CCS入门知识,包含文档链接,例如,支持资源

? 按钮来创建一个新的项目,或导入一个现有的项目到工作区

? 可以随时从"帮助 - >欢迎使用CCS"(Help->Welcome to CCS)返回到资源管理器

Eclipse概念:工作台(workbench)

? "工作台"是指主要CCS 图形界面窗口,

– 相当于在CCS3.x中的"控制窗口"(control window)

? 工作台包含所有用于开发和调试的各种视图(view)与资源工作台(与CCSv3.x比较)

? CCS的3.x版

– 每个调试的CPU只可以拥有一个打开的控制窗口

– 每个控制窗口(Control Window) 之间的信息不能共享

? CCS的4 / 5

– 可以打开的多个工作台窗口("窗口" - >"新窗口")( 'Window->New Window )

– 每个工作台窗口可以有视觉上的不同( 视图 ,工具条的位置安排等),但是对应同一个CCS实例中的工作区

? 从一个工作台打开的项目将能在所有的工作台窗口中看到

 

Eclipse概念:项目(projects)

? 项目映射到文件系统中的目录

? 可以添加或链接文件到项目

– 添加文件到项目

? 复制文件到项目文件夹中

– 链接文件到项目

? 在您的项目中引用该文件

? 文件停留在原来的位置

? CCS3.x的项目只有这个文件管理概念

? 项目一定是在打开或关闭的其中一种状态

– 关闭的项目:

? 仍在工作区中,但它不能由工作台修改

? 关闭的项目资源不会出现在工作台,但资源仍然驻留在本地文件系统

? 关闭的项目需要较少的内存,并不会被频繁的扫描

? 这不同于CCS3.x中,关闭的项目不会出现在CCS3.x的项目视图窗口。

? 项目必须被导入工作区后才可以打开

– CCSv4/5,CCE的项目和传统CCSv3 项目均可导入到工作区中

Eclipse概念:项目(projects)

? 项目映射到文件系统中的目录

? 可以添加或链接文件到项目

– 添加文件到项目

? 复制文件到项目文件夹中

– 链接文件到项目

? 在您的项目中引用该文件

? 文件停留在原来的位置

? CCS3.x的项目只有这个文件管理概念

? 项目一定是在打开或关闭的其中一种状态

– 关闭的项目:

? 仍在工作区中,但它不能由工作台修改

? 关闭的项目资源不会出现在工作台,但资源仍然驻留在本地文件系统

? 关闭的项目需要较少的内存,并不会被频繁的扫描

? 这不同于CCS3.x中,关闭的项目不会出现在CCS3.x的项目视图窗口。

? 项目必须被导入工作区后才可以打开

– CCSv4/5,CCE的项目和传统CCSv3 项目均可导入到工作区中

 

视图 :项目资源管理器(Project Explorer)

? 显示所有当前工作区中定义的项目

? 主要是以文件系统的形式来展示项目文件夹中的内容

– 链接文件都标有一个特殊的连接图标

? 可以使用过滤器来隐藏的各种文件类型,以减少在视图混乱

– 默认下会过滤CCS生成的项目文件(.*)

视图:控制台(console)

? 多个上下文 (context)

– 可以显示构建(build)消息或调试(debug)消息(包括CIO),取决于所选定的控制台

– 当一个新的消息产生时上下文会自动切换

? 可以使用"钉" (pin) 功能定住窗口来避免自动切换

– CCS-3.x 中,构建输出,CIO的输出和调试器的消息都有专门的视图,

? 您也可以打开多个控制台窗口

– 比如,一个对应CIO的输出和另一个对应构建消息

单击"调试配置"(Debugger Configuration)链接

? 一个对话框将会出现,显示连接列表

– 选择""Texas Instruments XDS100v1 USB Emulator"

Eclipse概念: 透视图(perspectives)

? 定义工作台窗口内视图的初始设置和布局

? 在概念上类似于CCSv3"工作区"(*. WKS)(虽然可以在工作台上访问到多个透视图,但是同时间内只能展开一个)

? 每个透视图提供了一套完成一个特定任务类型的功能("CCS Edit"用于项目开发,"CCS Debug",用于项目调试等)

? 可以创建自定义的透视图

调试:使用观察点(watch points)

? 使用"停止\暂停"(halt\suspend)按钮来停止目标运行

? 打开"断点"视图

– "视图 - >"断点" (View -> Breakpoints)

? 创建一个新的硬件观察点(Hardware Watchpoint),

? 右键单击观察点,并选择"属性"

– 位置(Location):GpioDataRegs.GPBTOGGLE.bit.GPIO34、

– 内存(Memory): Write

视图:断点

? 查看所有可用的断点

? 可以通过CPU将断点分组(多核设备)

? 断点触发时可以指定不同的行动

– 刷新所有的窗口或更新一个特定的视图(取代CCS3.3中的"动画(animate)")

– 控制性能分析(设置分析停止/恢复点)

– 文件的I / O(CCS3.3的探测点(probe points))

– 运行GEL表达式

– 设置观察点

– 控制CPU跟踪(trace)(在个别的ARM和DSP器件上)

更多的调试

? 调查其他调试视图(通过"视图"(View)菜单中打开)

– 内存浏览器(Memory Browser)

– 寄存器(Registers)

– 反汇编(Disassembly)

? 设置断点

– 双击源代码行进行设置/清除断点

– 用"断点"(Breakpoints)视图来查看断点列表

– 注 28x 的设备只支持两个硬件断点

? 观察点使用一个硬件断点资源

? 可以使用"调试"(Debug)视图中按钮来进行以下操作:

– 重新启动程序

– 源单步

– 汇编单步

调试器选项

? 许多调试功能都可以通过调试器选项启用/禁用

? 调试会话中"CCS Debug" 透视图 :

– "工具 - >调试选项 - >通用的调试器选项"(" Tools->Debugger Options->Generic Debugger Options)

? 配置各种调试选项,例如启用/禁用:

– 自动运行到主函数

– 自动连接到硬件目标

– 实时选项(需要硬件支持 例如C2000)

– 加载程序时进行核查

– 等等... ...

? 使用"记住我的设置(Remember My Settings )"选项来保存当前设置,方便未来使用

计数周期 - 性能分析时钟(Profile Clock)

? 性能分析时钟

– 在大多数设备上都有,可用于计数周期

– 在一些目标上,它可用于计数其他事件

? 时钟的启用

– 运行 - >时钟 - >启用 (Run -> Clock -> Enable)

– 时钟现在将显示在状态栏上

? 确认观测"GpioDataRegs.GPBTOGGLE.bit.GPIO34"写入的观察点已经启用

? 点击运行按钮来运行到这个断点

编译器版本

? 每个项目都需要指定使用的编译器版本

– 实际上这是在每一个配置级别上的设置

– i.e.调试版可以使用一个版本,发行版另一个

? 如果你想使用一个新下载的编译器 ,你必须改变你的项目所指定的编译器版本

? CCS将允许您选择本地计算机上能找到的所有编译器,

? 当您通过更新管理器安装在一个新的编译器,CCS会自动获得该编译器的地址

– 然而,你也可以告诉CCS一个版本的编译器的地址

目标配置文件 - 基础知识

? 目标配置文件是定义设备与连接的XML文件(文件扩展名 *. CCXML)

– 等于CCS3.x的配置文件(*. CCS)

? "目标配置(Target Configurations)"的视图是用于管理和维护目标配置文件

? 目标配置编辑器(Target configuration editor)用于创建/修改目标配置文件

? 基本(Basic)选项卡是为了大多数用户使用

? 高级(Advanced)选项卡是为了调整默认属性,初始化脚本,或建立新的板/设备的目标配置

创建目标配置

? 打开"目标配置"(Target Configuration)的视图

– 视图- >目标配置 (View -> Target Configurations)

视图:目标配置

? 您可以轻松地打开,复制和删除目标配置(XML文件)

? 快速启动一个调试会话:右键单击目标配置,并选择"启动选定的配置(Launch Selected Configuration)"

? "启动TI调试器(Launch TI Debugger)"将使用目标配置视图里,[Default](默认)选项卡中选定的目标配置

– 右键点击文件并选择"设置为默认(Set as Default)",使其成为默认目标配置文件

– 如果没有项目指定的目标配置文件,"调试激活项目(Debug Active Project)"将使用默认目标配置

视图:GEL文件

? 显示当前的调试会话的所有加载的GEL文件和其当前的状态

? 可行的操作:

– 在编辑器中打开文件

– 刷新(重新加载)文件

– 删除/卸载文件

– 删除/卸载所有文件

– 加载额外的GEL文件

? 新加载的GEL文件会在视图中出现

? 如果加载没有问题,状态将显示成功

 

版本控制 - 提交(Check In)哪些文件?

? CCS项目文件夹内生成多个文件/文件夹

– .CPROJECT 和.PROJECT是Eclipse项目文件,并应提交

– .CCSPROJECT是CCS的具体项目文件,应提交。

– .settings是一个标准的Eclipse文件夹,其中包含适用于该项目的设置。应提交此文件夹

– .launches是在启动调试会话时生成的目录。它不涉及您的项目的构建,没有必要提交

– 项目配置文件夹的内容(调试/发布) (Debug/Release)不需要进行提交

调试服务器脚本DEBUG SERVER SCRIPTING

调试服务器脚本:介绍

? 什么是调试服务器脚本?

– 调试服务器(调试器)的一套Java API

– 可用于使调试器的任何功能自动化

? 为什么使用它?

– 自动化测试和性能测试

– 支持连接到调试器的所有CPU/内核

? 可以通过提供第三方工具脚本化,如:

– Javascript (通过Rhino )

– Perl(通过"inline:Java"的模块)

– Python(通过Jython)

– TCL(通过Jacl/ Tclblend)

DSS vs. CCS 脚本

? DSS超越CCScripting的优点:

– 更快(没有GUI的开销,在进程中运行)

– 更强大和更详细的日志(logging)

– 异常(exception)处理

? 脚本可处理DSS APIs抛出的异常

– 直接与调试服务器连接(没有调试器GUI)

? 独立DSS的安装比全整的CCStudio安装所需的空间小很多

– 轻量安装,适用于在实验室机器作自动化操作

– 同时运行多个脚本实例

– 可以从CCS- Eclipse得到互动控制台的支持。

– 更直接的API支持(减少对GEL的依赖)

? 引脚/端口连接的API

? 数据加载/保存的API + 对二进制文件支持的计划

? CCS 文件I / O API(计划中)

? ATK的支持(计划中)

– Linux上的支持

? CCS的脚本是Win32/COM

DSS:更快

? 没有GUI的自动化(没有GUI的开销)

– 没有窗口重新绘制/刷新/更新

? 对一些API开销更少

? 在进程内运行

– CCScripting 在与CCS不同的进程内运行

DSS:基准(Benchmarks)

? 启动(启动调试器)

– CCScripting:?5秒

– DSS的:?1秒

? 程序加载API

– CCScripting比DSS API在程序加载多出?4秒的开销

? 用DSS加载小型的例子*.out文件需要?65毫秒

? 同样的情况CCScripting需要?4秒

? 在程序加载API被反复调用的情况下的叠加效果...

– DSS:加载200次 =?13秒

– CCScripting:加载200次 =?800秒

– DSS节省了?12分钟!

– 在几个个别的脚本上从CCScripting迁移到DSS后增加了1.5倍到3倍的

速度

DSS: 日志(Logging)

? XML格式(易于解析)

– 可以指定在XML文件中引用的XSTL文件

? 配置日志在用Web浏览器打开时,信息显示的方式

? XSTL教程:http://www.w3schools.com/xsl/xsl_intro.asp

? 更多信息

– 序列号

– 时序信息(总和,delta 值等)

– 状态消息

? 日志的CIO输出

DSS:异常处理

? 无GUI(没有弹出对话框窗口等)

? 所有API在遇到错误时都会抛出一个Java异常

– 可以在脚本中处理异常(例如Javascript的try - catch)

DSS:异常处理

? DSS API抛出Java异常

? 您可以脚本中处理异常,使其优雅地关闭/失败或继续

DSS:调试脚本

? DSS附带Rhino调试器,它支持:

– 单步,断点,查看脚本变量...

DSS的示例脚本

// Import the DSS packages into our namespace to save on typing

importPackage(Packages.com.ti.debug.engine.scripting);

importPackage(Packages.com.ti.ccstudio.scripting.environment);

importPackage(Packages.java.lang);

// Modify these variables to match your environment. Use forward slashes

var ccs5InstallDir = "C:/Program Files/Texas Instruments";

var ccs5ScriptingLabDir = "C:/CCSWorkshop/labs/scripting";

// Create our scripting environment object - which is the main entry point

// into any script and the factory for creating other Scriptable Servers and Sessions

var script = ScriptingEnvironment.instance();

// Create a log file in the current directory to log script execution

script.traceBegin(ccs5ScriptingLabDir + "/test.xml", ccs5InstallDir +

"/ccsv5/ccs_base/scripting/examples/DefaultStylesheet.xsl");

// Set trace levels for console and logs

script.traceSetConsoleLevel(TraceLevel.INFO);

script.traceSetFileLevel(TraceLevel.ALL);

// Get the Debug Server and start a Debug Session

debugServer = script.getServer("DebugServer.1");

debugServer.setConfig(ccs5ScriptingLabDir + "/c6416_le_sim.ccxml");

debugSession = debugServer.openSession(".*");

// Load a program

debugSession.memory.loadProgram(ccs5ScriptingLabDir + "/mainapplication.out");

// Run the target

debugSession.target.run();

// All done

debugServer.stop();

script.traceWrite("TEST SUCCEEDED!");

// Stop logging and exit.

script.traceEnd();

java.lang.System.exit(0);

 

DSS的示例:loadti

? DSS的JavaScript示例,作为一个命令行程序,它可以在TI的目标板上加载/运行可执行文件

*. Out

? DSS的例子,但是能适用于任何程序和目标

? 高易用性和缺乏对GUI依赖,使其成为一个有吸引力的自动化工具,用于快速完整性测试

(Sanity Tests)和批处理回归(Batch Regressions)测试

? 一些支持的基本功能包括:

– C I/O标准输出可以被发送到控制台和脚本日志

– 生成详细的运行日志

– 执行基本的应用程序基准测试(通过使用性能分析的时钟)

– 把参数传到主函数

– 从主机到目标内存,载入/保存数据(反之亦然)

– 复位目标

? 关于loadti上的更多细节,请参阅"README.TXT"

– <安装目录>\ccsv5\ccs_base\scripting\examples\loadti

使用loadti: 运行"BlinkingLED.out?

? 关闭所有正在运行的CCS

? 打开一个DOS命令窗口

? 浏览到"BlinkingLED.out"程序的位置

– Location: <WORKSPACE>\BlinkingLED\F2806x_FLASH\BlinkingLED.out

– > set PATH=%PATH%;<CCS INSTALL DIR>\ccsv5\ccs_base\scripting\examples\loadti

– 您需要把<CCS_INSTALL_DIR>换成您的安装位置

– > loadti –h (for console help)

– > loadti –c ..\TMS320F28069.ccxml BlinkingLED.out

? 加载将需要一些时间,因为需要擦除/编程闪存

当你可以看到LD2闪烁时,程序已在运行

? 按CTRL- C中止

DSS: 资源

? DSS MediaWiki的文档(推荐阅读):

? http://processors.wiki.ti.com/index.php/Debug_Server_Scripting

? DSS API的文档:

? <INSTALL DIR>\ccsv5\ccs_base\scripting\docs\GettingStarted.htm

? 命令行项目管理工具的MediaWiki文档:

? http://processors.wiki.ti.com/index.php/Projects_-_Command_Line_Build/Create

脚本控制台 (Scripting Console)

? CCS的命令行操作

? 视图 - >脚本控制台 View->Scripting Console

? 按TAB查看命令列表

– 按TAB使用部分输入的命令自动完成功能

? 命令相关的文档

– JS:> help <COMMAND>

? JavaScript和shell可以访问到所有的DSS API

? 从控制台运行DSS的脚本

? 创建自己的自定义命令

– 在*. js文件中创建一个JavaScript函数

– 加载自定义的JavaScript文件

? loadJSFile <full路径>/ myCustomConsoleCmd.js

? 可选的第二个参数(布尔),将决定是否自动加载脚本

– 该函数现在可以从脚本控制台内用其名称调用

脚本控制台

? 视图 - >脚本控制台 View->Scripting Console

? 按TAB查看命令列表

– 按TAB使用部分输入的命

令自动完成功能

? 命令相关的文档

– JS:> help <COMMAND>

脚本控制台

? 脚本控制台和GEL都可用于自动化

? GEL仅限于一个激活的调试会话并且(多数情况)只适用于一个调试上下文

? 脚本控制台随时都可以使用(虽然某些命令在没有激活的调试会话的情况下将无法正常工作)

? 脚本控制台和GEL都可以为自定义"脚本"添加菜单

– GEL:hotmenu<function>

– 脚本控制台:hotmenu.addJSFunction

脚本控制台

// Add entries to the 'Scripts' menu

hotmenu.addJSFunction("Launch TCI6488 Simulator, Little Endian", "tci6488_le_sim()");

hotmenu.addJSFunction("Launch TCI6488 Simulator, Big Endian", "tci6488_be_sim()");

// Path to folder with target setup ccxml files

var setupConfigFileFolder = "C:/Documents and Settings/login/user/CCSTargetConfigurations";

// configure for a TCI6488 Symmetric Simulator, Little Endian

function tci6488_le_sim()

{

ds.setConfig(setupConfigFileFolder + "/tci6488_le_sim.ccxml");

debugSessionCPU1 = ds.openSession("*", "C64+_0");

debugSessionCPU2 = ds.openSession("*", "C64+_1");

debugSessionCPU3 = ds.openSession("*", "C64+_2");

}

Eclipse插件 - 基本

? CCSv5基于Eclipse,所以用户拥有巨大的第三方插件的选择

http://marketplace.eclipse.org/

? CCSv5基于Eclipse3.7

– 为了最佳的兼容性,请使用这个版本对应的插件

Eclipse插件 - 安装

? 使用Eclipse更新管理器(Update Manager )

– "帮助 - >安装新软件"(Help -> Install New Software)来进行

更新安装(指定的远程站点(URL)或本地站点(目录)

? 拖放

– 许多插件是压缩归档,可以直接下载并复制到: \ ccsv5\eclipse\dropins文件夹

http://houh-1984.blog.163.com/

TI嵌入式处理器的集成开发环境(IDE)包括调试器,编译器,编辑器,DSP/BIOS操作系统等等,现在最新的CCSv5 IDE基于Eclipse开源软件框架(v4+)并融合了TI设备的支持与功能,适用于windows和linux环境下开发,CCSv5是基于原版的 Eclipse,并且TI将直接向开源社区提交改进,用户可以随意的将各种其他厂商的Eclipse插件或TI的工具拖放到现有的Eclipse环境,用户可以享受到Eclipse中所有最新的改进所带来的便利,CCSv5(CCSv5.1 CCSv5.2 CCSv5.0)还集成额外的工具,包括 操作系统的应用程序开发工具(Linux操作系统,Android的...)以及 代码分析、源代码控制等。本文介绍了TI的IDE集成开发环境CCSv5的基本特点,相对于CCSv3.3和CCSv4的改进和提升,其Eclipse各种视图环境、Target configuration的和debug session视图方法和GEL、DSS脚本工具的使用方法。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值