Release 1.4 Build 2
General
- Support for AT90USB162, AT90USB646, AT90USB647, ATmega88P, ATmega168P.
- Support for AVRDragon.
CrossStudio General
- Properties window has been redesigned.
- Environment options dialog has been redesigned.
- Source control integration has been redesigned to work more efficiently than previous
releases.
- Shift+Escape will now hide a dock site.
- Operating system file open dialog is now used.
- New memory usage window.
- Added FAQ and technical support links on the help menu.
- Help system works faster.
- Output window can now show utf-8 characters.
Compiler
- Structs with bitfields are at least the size of an int.
- 2D arrays in EEPROM go into EDATA0.
- Fixed assignment problem which caused scanf to fail.
- Interrupt functions now go into an ISR section.
CrossStudio Editing
- New menu and toolbar support for HTML editing.
- Added Go To Header to swap from header file to source file.
- Added Save Copy Of to create a new file from an existing file.
- Can now specify a codec to use when loading and saving files.
- New JAM/STAPL parsing/colouring.
- Function names are now coloured.
CrossStudio Project/Build
- New environment options to enable building using 1.5 binaries, libraries and source files.
- Compile now available on project explorer Folders.
- Link available on project explorer Projects.
- Preprocess action available on project Files.
- Fixed problem when locating the project explorer from
the text editor when the same file is included more than once
in a project/solution.
- Fixed crash when selecting properties on solutions with only one project.
- Better support for handling read-only project files.
- Removed linker property Include Startup Code.
- Added new debugger project properties
Working Directory to specify the working directory in which
debugIO operations are performed and Command Arguments to
specify the argc/argv values supplied to the application.
Libraries
- Printf and scanf have been removed from the C library. There are two
new libraries that implement printf and scanf using either the target or the
host debugger. The particular implementation can be selected using the linker
project property IO Library Name. The host debugger library
also implements file and other standard IO functions.
- Added support for time.h and locale.h.
- Added debug_system, debug_vfscanf, debug_tmpnam, debug_vscanf,
debug_fsetpos, debug_remove, debug_rename, debug_tmpfile, debug_ungetc,
debug_vfprintf, debug_vprintf, debug_perror, debug_getenv functions
to the debugIO library.
- Fixed return value of ctl_message_queue_receive and ctl_byte_queue_received.
Release 1.4 Build 1
General
- New licence management system you will need to activate the software with your
product key using Tools | License Manager.
- Support for AT90USB1286, AT90USB1287, ATmega164P, ATmega165P, ATmega169P,
ATmega324P, ATmega3250P, ATmega325P, ATmega3290P, ATmega329P, ATmega48P,
ATmega644P, ATtiny261, ATtiny44, ATtiny461, ATtiny84, ATtiny861.
- Support for AVRISP mkII.
IDE
- New debug registers window.
- New step into start debugging action.
- Subversion source code control support.
- New "Save Solution As" action.
- Help pages can now be displayed in an external HTML browser.
- Improved layout of New Project Dialog.
- Improved layout of Environment Options Dialog.
- Added Windows docking window (Ctrl+Alt+R) which replaces the
Window > Windows dialog.
- Re-worked Debug Windows menu organisation.
- Added a quick document selector on Ctrl+Tab and Ctrl+Shift+Tab
which mimics Windows Explorer Alt-tabbing.
- Now Ctrl+Tab and Ctrl+Shift+Tab follow Visual Studio tabbing
behaviour so that you can quickly alternate between the same two documents.
- New Paste As String, Paste As HTML, and Paste As Comment
to quickly paste copied content into program source code.
- Configurable dynamic visual brace, parenthesis, and bracket matching automatically which
highlights the mate if it is visible on the screen.
-
Increase Text Size and Decrease Text Size in text editor
context menu now make the font size change permanent.
- Added text editor font selection to Tools > Options dialog.
- New Bookmarks window (Ctrl+Alt+K or View > Bookmarks):
bookmarks are now permanent and the Edit > Bookmarks menu is updated
to reflect the new bookmark capability.
- Numbered (permanent) bookmarks 1 through 9 can be dropped (Ctrl+K, 1
through Ctrl+K, 9) and jumped to (Ctrl+Q, 1 through Ctrl+Q,
9).
- New Find and Replace window (Ctrl+Alt+F or Search > Find
And Replace) which contains a much enhanced find and replace capability,
including project-wide, solution-wide, all-open-document, and directory (and
subdirectory) find and replace.
- Exception trapping support is moved from Debug > Exceptions to
the Breakpoints window to better highlight debugger and simulator capabilities
and state.
-
Help > Keyboard Map now has a Report feature to generate
an HTML keyboard map report to an editor for saving or printing.
- New Autos window (Debug > Autos) that displays automatic
variable and expression values for the current context. Note that this is
not the same as the Locals window—the Locals window displays
the values of parameters and local variables in the currently selected frame,
the Autos window displays globals, locals, and expressions for the
context around the current and previous execution points.
- New environment option to hide the Output window after a successful
build (which is now the default).
- New option to hide the Output window after a successful download
(which is now the default).
- Fixed phantom windows reappearing in a dock site after the final dock window
in a dock site was closed.
- Added new Undo and Redo grouping styles in Tools > Options:
Individual words (now the default), Individual characters (the
default up to v1.5 ), and Whole of last insertion (like Microsoft Word
and many other Office applications).
- New code editor key sequences: Delete Word (Ctrl+K, T) to delete
the word under the cursor, Delete to Start of Line (Ctrl+K, Backspace),
Delete to End of Line (Ctrl+K, Ctrl+K), and Select Word (Ctrl+Q,
T).
- In addition to the middle mouse button bringing up the Go To Function
menu, Alt-Middle will bring up the Go To Header menu.
-
Go To Definition (Ctrl+Q, D) will move the cursor to the definition
of the variable or function under the cursor and drop a navigation marker.
-
Go To Declaration (Ctrl+Q, E) will move the cursor to the
declaration of the variable or function under the cursor and drop a navigation
marker.
- The code editor now allows additional per-language user-defined keywords.
Set these up in the Languages pane of the Tools > Options
dialog.
-
Tools > Options now opens at the previously-selected page rather
than always at Environment/General.
- Fixed problem single stepping SP-relative function calls.
- Removed Include Startup Code property.
Assembler
- Removed undocumented .safe directive.
CTL
- New byte queues that are a specialisation of message queues.
- The use_timeout parameter to blocking functions can now specify an absolute
or a delay time period.
Release 1.3 Build 1
General
- Support for AT90CAN32, AT90CAN64, ATmega1280, ATmega1281 and ATmega640.
- Tested with JTAGICEmkII firmware versions 0x401-0x0403 and 0x407-0x0413. Seems to be
a bit more reliable than the previous release.
IDE
- Added vector section name in output section properties.
- Number of projects in Solution name is now updated in Project Explorer when projects are added or deleted.
- Debug start actions now available on projects in the Project Explorer.
- When adding files to a project that are children of the $(StudioDir) directory then $(StudioDir) is used in the filepath.
- Addresses in memory map files can be offsets from the enclosing address (or offset) by prefixing the address with a +.
- Registers window keeps track of open groups.
- New project wizard resized.
- JavaScript TargetInterface now has a readBinary method.
- Windows dialog is now a more capable docking window.
Compiler
- Added flex array support in structures.
- Fixed auto-parameter widening with narrow types.
- Fixed non-simple binary assignment when LHS has side effects.
C Library
- Supplied build of missing _c functions.
- Fixed __float32_to_int32 so that truncated-to-zero results are returned as zero.
- Changed crt0.asm so interrupts are disabled and restored when reading and writing EEPROM.
CTL
- CTL projects are now created that reference the source code of CTL. This allows
the threads window to work correctly when debugging information is enabled.
- New CTL variable ctl_timeslice_period, when non-zero implements timeslicing.
- New file in $(StudioDir)/targets/ctl_avr.c that implements the CTL
functions ctl_start_timer and ctl_get_ticks_per_second. This file also
implements the board specific CTL functions ctl_board_init, ctl_board_set_leds
and ctl_board_on_button_pressed.
- Updated default CTL application.
Release 1.2 Build 1
General
- Support for __eeprom allocated variables.
- libusb now installed by CrossWorks installer or CrossStudio executable.
- Linux now supported.
- Support for ATmega644, ATtiny85 and ATtiny25.
- Tentative support for AT76C device.
IDE
- Added "Auto Disconnect" environment option. This causes a disconnect/reconnect
on stop/start debugging and may make JTAGICE mkII debugging a little more reliable.
- Single stepping on ATmega AVR's now uses a hardware breakpoint and is faster
as a consequence.
- Moved the fuse bits and lock bits editor onto the target context menu.
- Disconnect and disable debugWIRE now on the target context menu.
C Library
- Target header files now define both the bit number and the bit mask for hardware
bit definitions.
- Supplied missing _c header files.
Release 1.1 Build 1
General
- Support for V2 architecture Tiny devices that have no multiply instructions.
- Support for devices with more than 128K of code memory and 22-bit program counters.
- Support for JTAGICE mkII, STK500 High voltage programming, STK500/AVRISP ISP programming.
- JTAG ICE target properties have changed to be compatible with JTAGICE mkII.
- Simulator now generalised to support full AVR instruction set and can be configured based on
a device type.
- Added support for all AVR microcontroller devices. C compiler support for architecture V2 and
above.
- Fuse bits and Lock bits editor redesigned.
- Support for creating bootloader executables and debugging with JTAG ICE.
IDE
- Now using the Qt 3.3.4 DLL which has the QString() constructor bug fixed.
Previously, Qt 3.3.2 had a bug causing CrossStudio to crash randomly.
Compiler
- Support for 8K, 128K, and 8M devices with -m8k, -m128k, and -m8m switches.
- Fixed register spill bug.
Linker
- Support for 8K, 128K, and 8M devices with -m8k, -m128k, and -m8m switches.
Compiler Driver
- Support for 8K, 128K, and 8M devices with -m8k, -m128k, and -m8m switches.
C Library
- Support for tiny devices with no multiply instructions and for parts with more than 128K of code memory.
- Fixed problem printing values in wrong field width when supporting output
widths greater than the natural integer width.
- Fixed indeterminate behaviour when rounding the last bit of a quotient.
Known Problems
- Debugging of boot loaders with JTAGICE mkII is problematic.
- When stop is pressed and debug IO is occuring (e.g. when using debug_printf)
JTAGICE mkII may return an invalid PC and sometimes lock up the JTAGICE mkII.
- Continuous usage of OCDR register by the application can cause CrossStudio to lock up.
- Usage of the ISP mode of JTAGICE mkII with debugWIRE devices is problematic.
- Disabling the debugWIRE fuse on disconnect is problematic.
Release 1.0 Build 1
Known Problems
Help System
- The help system content is not yet complete. We are converting our printed
matter to XHTML as an ongoing activity.