Code Composer Studio Workshop Agenda
Total Page:16
File Type:pdf, Size:1020Kb
Code Composer Studio Workshop Agenda • Overview presentation – What is Code Composer Studio v5 – Roadmap – What’s New in CCSv5 (from CCSv4 perspective) • Workshop – Getting comfortable with the CCSv5.1 environment – Uses TMS320F28069 controlSTICK CCS APPS CCS What is Code Composer Studio? • Integrated development environment for TI embedded processors – Includes debugger, compiler, editor, operating system… – The IDE is built on the Eclipse open source software framework – Extended by TI to support device capabilities • CCSv5 is based on “off the shelf” Eclipse – Going forward CCS will use unmodified versions of Eclipse • TI contributes changes directly to the open source community – Drop in Eclipse plug-ins from other vendors or take TI tools and drop them into an existing Eclipse environment – Users can take advantage of all the latest improvements in Eclipse • Integrate additional tools – OS application development tools (Linux, Android…) – Code analysis, source control… APPS CCS Code Composer Studio v5 • CCSv5 was split into two phases – 5.0 • Not a replacement for CCSv4 • Targeted at users who are using devices running Linux & multi-core C6000 • Addressed a need (Linux debug) that is not supported by CCSv4 • Deprecated in support and replaced by CCSv5.1 – 5.1 • Replacement for CCSv4 and is targeted at all users • Supports both Windows & Linux – Note that not all emulators will be supported on Linux • SD DSK/EVM onboard emulators, XDS560 PCI are not supported – Most USB/LAN emulators will be supported • XDS100, SD 510USB/USB+, 560v2, BH 560m/bp/lan – http://processors.wiki.ti.com/index.php/Linux_Host_Support CCS APPS CCS In Development Production Code Composer Studio Roadmap Early Adopter Future CCSv5.1 •Eclipse 3.7 (Indigo) 5.1.0 5.1.1 5.1.x •Windows & Linux •Replaces CCSv4 & CCSv5.0 •Supports all devices (except F24x) •Available as full installation and plug-in distribution Recommended upgrade path CCSv5.0 •Eclipse 3.6 (Helios) •Windows & Linux •Validated on a subset of devices (expanded with each release) •Targeted at Linux application developers & Early Adopters 5.0.3 No more releases CCSv4 •Eclipse 3.2 (Callisto) •Windows only 4.2.4 4.2.5 4.2.x No more releases • Large number of fixes • Small number of fixes • New device support CCS APPS CCS Current Sept Oct Nov Dec 1Q12 2Q12 2H12 What’s New in CCSv5 Customer Feedback on CCSv4 • Needs to be Smaller – The CCS DVD image is huge (>1GB to download, >4GB on disk) – Need to download a lot of things that you do not need • Needs to be Faster – Product is slow – Startup times and debugger responsiveness needs to be improved • Needs to be Easier – The user interface is too cluttered – Difficult to figure out how to get started • Thus the objective for 5.1 is to make CCS “Small, Fast & Easy” CCS APPS CCS Small • Today – Download size is 1.2GB – Separate code size limited and DVD images (users often download the wrong one) – Users have to download much more than they need • CCSv5.1 will use a dynamic download – User downloads a small initial installation package – Based on user selections the appropriate packages will be downloaded and installed dynamically – User can add more features later – Optionally users can download the complete DVD image CCS APPS CCS Fast • Speed up common tasks – Starting up CCS – Launching a debug session – Creating a new project (initial experience needs to be awesome) • Responsiveness – While using the product CCS needs to be responsive • Stepping (with views open) • Continuous refresh in real-time mode with expressions view and graphs open • Saving target configurations • Loading/Flashing programs CCS APPS CCS Easy – User Interface Modes • Simple Mode – By default CCS will open in simple/basic mode – Simplified user interface with far fewer menu items, toolbar buttons – TI supplied Edit and Debug Perspectives – Simplified build options • Advanced Mode – Use default Eclipse perspectives – Very similar to what exists in CCSv4 – Recommended for users who will be integrating other Eclipse based tools into CCS • Possible to switch Modes – Users may decide that they are ready to move from simple to advanced mode or vice versa APPS CCS Easy– Common tasks • Creating New Projects – Must be very simple to create a new project for a device using a template • Build options – Many users have difficulty using the build options dialog and find it overwhelming – Updates to options need to be delivered via compiler releases and not dependent on CCS updates • Sharing projects – Need to make it easier for users to share projects, including working with version control (portable projects) – Setting up linked resources needs to be simplified CCS APPS CCS Easy – Help & Documentation • Easy to access – The help system needs to be easily accessible within the product – Eclipse and TI help must be integrated • Quality content – A good tutorial! – Task based help – Links to flash videos – Revamped welcome screen CCS APPS CCS What’s New in CCSv5? • Eclipse – Updated Eclipse & CDT – Using "stock" Eclipse and CDT • Simplified Usability – Perspectives – Views – Creating project – Using linked resources – Resource Explorer • Project Management Changes • Debugger Changes • Linux support – Linux host support – Linux debug (kernel/application) support • Multi-core Debugging APPS CCS • System Analyzer What’s New in Eclipse? • A lot! – CCSv5.1 uses Eclipse 3.7, CCSv4 uses Eclipse 3.2 – 5 years of fixes & enhancements • Key items – Editor/Indexer improvements • Most common area of Eclipse related problems in CCSv4 • Much faster • Much more reliable – Drag & drop support – Support for using macros when linking files (portable projects) – Dynamic syntax checking – Search for plug-ins from inside Eclipse – Warnings and errors highlighted in the build output console – … APPS CCS Using “Stock” Eclipse • CCSv5 is based on “off the shelf” Eclipse – Going forward CCS will use unmodified versions of Eclipse • TI contributes changes directly to the open source community – Examples of TI contributions to Eclipse » Opening multiple instances of debug session views » Pinning debugging views to a specific debug context » Grouping CPUs in the ‘Debug’ view » Flexible hierarchy in the ‘Breakpoints’ view (add more columns, etc) • Drop in Eclipse plug-ins from other vendors or take TI tools and drop them into an existing Eclipse environment – Better compatibility with Eclipse plug-ins • Users can take advantage of all the latest improvements in Eclipse – Take new updates to Eclipse when they are released CCS APPS CCS Simplified Perspectives – CCS Edit CCS APPS CCS Simplified Views – Debug View • Cleaner, simpler, and more customizable – No extra “thread” node – No CIO/target error nodes – Multi-CPU devices listed directly below Project / Target Configuration node – Customizable to display more or less of JTAG hierarchy – Optionally collapsed to a single line to optimize screen real-estate (“Breadcrumb” mode) CCS APPS CCS Simplified Project Wizard – 1 page & done Specifying a specific device variant and connection type will have the wizard auto-create a target configuration file CCS APPS CCS Linking Source Files to Project CCS APPS CCS Resource Explorer - Tutorials CCS APPS CCS Resource Explorer - Tutorials CCS APPS CCS Views: Changes in CCSv5 • Breakpoint: – No in-place editing for columns (Use the properties page for the breakpoint) – Filter view to only display breakpoints for the current debug context – Link with Debug View: Highlights currently reached breakpoint for the current debug context • Register: – No ‘Grid’ mode support • Variables (v4 ->Locals) and Expressions (v4 -> Watch): – These views have been renamed to use standard Eclipse names – ‘Add global variables' is available in Expressions view – Expression format can be adjusted at view level – Defaults are type dependent • Disassembly – No disassembly style change support – Link with Active Debug Context: Update view to location of the current debug context • Follow stack frame – Track Expression • Console – Running GEL from the console is not supported (use the scripting console) CCS APPS CCS – Option to have one C I/O console for all CPUs (multi-core debug) Project Management Changes • ‘Active project’ will simply be the selected project context – Clicking on another project in the ‘Project Explorer’ will automatically make that the ‘Active project’ – Clicking the ‘Debug’ button without a selected project context will launch a project debug session for the last project that was debugged • Manage linked resources at the project level (Project Properties) – Create ‘Linked Resources Path Variables’ at a project level – Edit/Convert/Delete Linked Resources for a project • ‘C/C++ Projects’ view renamed to ‘Project Explorer’ • Project ‘Macros’ renamed to ‘Build Variables’ • More project template support • Syntax for command line project create/import/build have changed – CCSv4: Commands were invoked by executing java with a specific .jar • > jre\bin\java -jar startup.jar <restOfCommand> – CCSv5: ‘eclipsec.exe’ or ‘eclipse’ is used • Windows: > eclipsec -nosplash <restOfCommand> • Linux: > eclipse -nosplash <restOfCommand> APPS CCS Debugger Changes • No ‘Debugger Options’ at the global (workspace) level • Pin and clone is supported in more debugging views • Debug Configurations – Specify debug initialization scripts (JavaScript file) to run when a debug session is started • Initialize the target using DSS • One script can initialize multiple CPUs in a multi-core debug environment • Can replace startup GEL files – Specify settings for Program/Target/Source