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
CCSv5:使用"eclipsec.exe"或"eclipse" Windows :> eclipsec -nosplash Linux的:> Eclipse -nosplash 调试器的变化 ? 没有全局(工作区)级的 "调试选项"(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) ? 使用"停止暂停"(haltsuspend)按钮来停止目标运行 ? 打开"断点"视图 – "视图 - >"断点" (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" – <安装目录>ccsv5ccs_basescriptingexamplesloadti 使用loadti: 运行"BlinkingLED.out? ? 关闭所有正在运行的CCS ? 打开一个DOS命令窗口 ? 浏览到"BlinkingLED.out"程序的位置 – Location: BlinkingLEDF2806x_FLASHBlinkingLED.out – > set PATH=%PATH%;ccsv5ccs_basescriptingexamplesloadti – 您需要把换成您的安装位置 – > 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的文档: ? ccsv5ccs_basescriptingdocsGettingStarted.htm ? 命令行项目管理工具的MediaWiki文档: ? http://processors.wiki.ti.com/index.php/Projects_-_Command_Line_Build/Create 脚本控制台 (Scripting Console) ? CCS的命令行操作 ? 视图 - >脚本控制台 View->Scripting Console ? 按TAB查看命令列表 – 按TAB使用部分输入的命令自动完成功能 ? 命令相关的文档 – JS:> help ? JavaScript和shell可以访问到所有的DSS API ? 从控制台运行DSS的脚本 ? 创建自己的自定义命令 – 在*. js文件中创建一个JavaScript函数 – 加载自定义的JavaScript文件 ? loadJSFile / myCustomConsoleCmd.js ? 可选的第二个参数(布尔),将决定是否自动加载脚本 – 该函数现在可以从脚本控制台内用其名称调用 脚本控制台 ? 视图 - >脚本控制台 View->Scripting Console ? 按TAB查看命令列表 – 按TAB使用部分输入的命 令自动完成功能 ? 命令相关的文档 – JS:> help 脚本控制台 ? 脚本控制台和GEL都可用于自动化 ? GEL仅限于一个激活的调试会话并且(多数情况)只适用于一个调试上下文 ? 脚本控制台随时都可以使用(虽然某些命令在没有激活的调试会话的情况下将无法正常工作) ? 脚本控制台和GEL都可以为自定义"脚本"添加菜单 – GEL:hotmenu – 脚本控制台: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)或本地站点(目录) ? 拖放 – 许多插件是压缩归档,可以直接下载并复制到: ccsv5eclipsedropins文件夹 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脚本工具的使用方法。