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的改进:
CCSv5的常用功能包括如下1).创建新项目,能非常简单的使用模板创建对应任意设备的新项目;2).构建选项(build options),选项升级需基于编译器版本而不是CCS由更新;3).共享项目,使用户更轻松地共享项目,包括版本控制的使用(可移植项目),设置链接资源的过程需要进行简化4).帮助和文档更方便,可以很容易地从IDE内部访问产品的帮助系统并且Eclipse和TI的帮助必须进行综合,包括一个很好的教程,基于任务的帮助,Flash视频的链接,改良的欢迎屏幕。
CCS5.1 的更新与改进
1).Eclipse
– 更新的Eclipse及CDT (C/C++ Development Tooling)
– 拖放支持
– 支持在链接文件时使用宏(可移植项目)
– 动态语法检查
– 从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):
– 与调试视图链接: 突出显示当前调试上下文中,目前已经到达了的断点
寄存器(Register):
– 无” 格”(Grid)模式的支持
变量(Variables)(V4 – > Local (本地))和表达式(Expressions)(V4 – > Watch(观察)):
– 这些视图已被重命名为标准的Eclipse名称
– 在表达式视图”添加全局变量”(Add global variables)的功能
– 表达式格式(Hex, Dec, Bin, Char)可以在视图级别调整
– 默认值因类型而定
反汇编(Disassembly)
– 无反汇编显示风格上的变化支持
– 可选择链接到激活的调试上下文:更新视图到当前调试上下文的地址
按照堆栈帧
– 跟踪表达式
控制台(Console)
– 不支持从控制台运行GEL命令(使用脚本控制台)
– 有一个可选 CI / O控制台对应所有CPU (多核调试)
项目管理的变化
– 在”项目资源管理器”(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)
– 可以显示构建(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)”的视图是用于管理和维护目标配置文件
基本(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:/span>5秒
– DSS的:/span>1秒
程序加载API
– CCScripting比DSS API在程序加载多出/span>4秒的开销
用DSS加载小型的例子*.out文件需要/span>65毫秒
同样的情况CCScripting需要/span>4秒
在程序加载API被反复调用的情况下的叠加效果…
– DSS:加载200次 =/span>13秒
– CCScripting:加载200次 =/span>800秒
– DSS节省了/span>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:
– > set PATH=%PATH%;
– 您需要把
– > 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的文档:
命令行项目管理工具的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
可选的第二个参数(布尔),将决定是否自动加载脚本
– 该函数现在可以从脚本控制台内用其名称调用
脚本控制台
视图 – >脚本控制台 View->Scripting Console
按TAB查看命令列表
– 按TAB使用部分输入的命
令自动完成功能
命令相关的文档
– JS:> help
脚本控制台
脚本控制台和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/
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91271 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!