The CrossStudio Environment
As a software engineer, you spend a great deal of time editing, compiling, and debugging code. It stands to reason that an environment which streamlines this development process will save time, money, and frustration, and CrossStudio delivers! CrossStudio has a programmer's editor, a project system, build utilities, and a fully-integrated simulator, flash downloader and JTAG debugger. You can build your program with a single keypress and with another have it downloaded to your hardware using our slick target hardware integration. With your program loaded you're ready for testing. The debugger provides exactly what you need to get to grips with your program at high or low level.
A Great Programmer's Editor
The built-in text editor is designed by programmers for programmers. It has all the usual text editing features but also offers code templates with automatic expansion, undo and redo, editing macros, flexible clipboard handling, language-sensitive indenting, syntax highlighting, sorting, block comment and uncomment, case correction, find and replace with or without regular expressions, delimiter matching and more!
An integrated development environment should be just that—integrated. With CrossStudio, the help system goes well beyond standard tooltip and "What's This?" help. CrossStudio provides context-sensitive help in all windows. Forgotten how that call to strtok works? No problem! Click on strtok in the editor, press F1 and you're taken to the appropriate help page. Find yourself using the same help page time and time again? Add it to CrossStudio's favorites window for quick and easy access!
Providing table of contents, index, and full text search capabilities, you need never feel lost within CrossStudio.
Need to know how much data is in your application? Or where a symbol is defined? Or even how big the code is for an individual function? You can answer all these questions using the symbol browser, a versatile way of navigating your application and knowing where each and every byte goes. You can group and sort symbols how you want—by section, by size, by name, by source file, or by type. Of course, CrossStudio remembers how you like things grouped and sorted and restores them every time.
CrossWorks provides a simple and easy way to manage all your target hardware over different types of target connections.
Managing Your Projects
CrossStudio manages projects using the project explorer. Using the project explorer you can create multiple projects and group them into a solution. During development you might have a number of test programs and libraries together with the main application in a single solution. Switching between test projects and the main application is at your fingertips—no need to hunt your disk for project files when moving between projects! Just point, click, and go!
Naturally, CrossStudio supports build configurations, which allow you to to separate debug builds from release builds. But CrossStudio goes beyond the standard "debug" and "release" build configurations, and provides a hierachical build configuration system that allows you to build your project in different ways for different targets, or in different ways for the same target. This is an ideal solution for developing test builds, production builds, and managing the differences between builds for different types of hardware.
Managing Your Environment
We recognize that no two users will have the same preferences when it comes to window positions, source code indentation, or even syntax highlighting. For that reason, we have made CrossStudio easily configurable using the properties window.
In fact, the properties window is the simplest way to set up your environment and project build options. The properties window automatically presents properties for the item that you've clicked, but you can select any set of properties for display, including terminal emulator, target, build, workspace, environment, text editor and memory map editor.
Debugging Your Program
In order to be productive, an accurate, easy-to-use debugger is an essential part of any development toolset. CrossStudio's debugger does not disappoint!
WorkspacesDebugging your programs requires a different set of tools to the ones you use to edit them. To address this, CrossStudio provides workspaces that you can configure to your liking when editing and debugging. You can configure the toolbars and windows displayed in each workspace, where they are docked, or even whether they float.
For laptops with limited screen sizes, there is a full screen workspace that hides all nonessential windows so that you can concentrate on editing your source files with screen dedicated to the editor. But the full screen workspace is no different from the others and you can configure it as you wish.
BreakpointsMany debuggers are separate from the development environment and force you to place breakpoints on your code only after you start debugging and forget about them between runs. No so with CrossStudio! The debugger is an integral part of the CrossStudio development environment—you can place breakpoints on your code and set up watches before you start to run your program.
You can organise breakpoints into breakpoint groups to simplify management, and disable/enable breakpoints individually or by group. Breakpoints are specific to a project—they are saved to a session file associated with your project and are restored when it's loaded again.
Data TipsData display is a vital part of debugging. CrossStudio provides dedicated windows to show local variables, memory contents, and watched expressions.
If you hover over a variable in the code editor, its value is displayed as a data tip. Select an expression and hover over it, and it is evaluated and displayed in just the same way. Need that value in more than one number base or as a character? No problem! Enable extended data tips and select the formats you want to show simulataneously in the data tip—it's that simple!
Watch WindowsDo you need to monitor a value or expression while single-stepping your program? Do you want your frequently-examined variables quickly to hand? The watch windows are the solution to these problems. With four watch windows, you can organise your watched expressions and variables as you wish.
Need to quickly look at a variable or structure, one that's not worth adding to the watch window? Bring up Quick Watch and expand structure elements, dereference pointers, and examine member data.
You can quickly add a variable to the last selected watch window by right-clicking in the code editor and click "Add to Watch". To add an expression, simply highlight it in the code editor and do exactly the same. It's that simple. It's integrated.
Do you find yourself firing up HyperTerminal as well as your IDE in the morning? What's integrated about that? Nothing. CrossStudio provides a terminal emulator as part of the IDE, not separate from it. You can configure the terminal emulator how you like it and it remembers its settings across runs.
You can even write the session to a file for analysis later.