Changes in Release 1.1
Compiler
- Added binary constants which are written with a leading
0b, e.g. 0b1010 is 10 decimal. Binary
constants are signalled with a warning when the -ansi command
line option is given. The C preprocessor also supports binary constants.
- Corrected a problem in the switch statement as in
some cases the 1.0.0 compiler would destroy the contents of a register used
in
the expression.
- The long double type is now treated identically to the double type
when Treat 'double' as 'float' is set to Yes.
- Single-bit bitfield manipulation and access now generates much denser
code.
- Correctly implemented the __monitor function attribute
to support Salvo from Pumpkin, Inc.
- Fixed a corruption problem on return when a multi-register
value is allocated to coincide with the function return registers.
- The compiler now fragments the code of a function which enables further
size reduction optimizations by the linker.
- Code generation for 0(SP) source address is now always
coded using @SP which reduces the size of code.
- for statement generation now recognizes more special forms
and codes appropriately.
- Narrowing and widening conversions corrected to ensure that new registers
are used when required.
- Corrected a code generation problem compiling x *= y when -mmpy specified.
- Corrected a problem in the spiller which caused incorrect code generation
on reload.
- Corrected optimization applied for x & y when y is
non-constant.
Target Interfaces
- The FET target interface now has a RAM Fill Value property
that is used to fill the RAM before a program is downloaded. If this property
is
empty,
the
RAM is not filled and is left intact. You can use the RAM Fill Value
as a watermark to see how far the stack descends during program execution.
- Added the PRGS430 Serial Programmer target interface to support the Texas
Instruments PRGS430 serial programmer.
- Added the SoftBaugh Flash Replicator target interface
to support the SoftBaugh flash replicator.
- Added the Gessler Flash Bootloader target
interface to support the Gessler flash bootloader.
Editor
- Added a setting to allow or disallow Cut and Copy from
cutting and copying the current line if there is no
selection.
- Added a setting to disable the numeric keypad '–' and '+'
keys from being used as Cut and Copy (as
they are in Brief).
- Added themes to the Environment Options dialog.
- Made Shift+Insert a synonym for Paste in all contexts.
- Made Ctrl+Insert a synonym for Copy in all contexts.
- Made Shift+Delete a synonym for Cut in all contexts.
- Corrected a crash when editing long lines of plain text without syntax
highlighting.
- Corrected syntax highlighting problems with multi-line comments and preprocessor
continuations.
- Added a VHDL syntax highlighter.
Assembler
- Fixed PC-relative addressing mode offset computations.
- The C compilers preprocessor is now integrated into the assembler.
Linker
- Corrected PC-relative addressing mode offset computations.
- User symbols can now replace symbols defined in the library; required to
support Salvo from Pumpkin, Inc.
- Added a few micro-optimizations including branch switching.
- The section start and end symbols have been renamed to allow them to be
accessed from C.
- The linker now supports section checksum generation using the -H option.
Archiver
- The archiver no longer uses PKZIP format for its archives in order to be
portable to Linux.
C Library
- Added missing __int8_lsl_asgn and __int8_lsr_asgn runtime support routines.
- Corrected__vfprint.c which causes __vfprintf_long not
to recognize "%l" format strings correctly.
- Added debug_scanf function.
- The debug_getx functions now take input from the debug I/O console.
CrossStudio
- Added new project types for all SoftBaugh, Olimex, and TI boards.
- Added a new project wizard to assist in setting up a project.
- The New Folder dialog is reworked and presents example
file filters.
- New projects now have the runtime startup code automatically placed into
the project and do not use the standard startup object module.
- Solutions
can now be created on drives other than the drive containing CrossStudio.
- Fixed incorrect reporting of file permissions on NTFS and network drives.
- The Evironment Options dialog now displays all properties
that are also settable through the Properties Window.
- There is an all-new Build Properties dialog (Alt+Enter)
that is much easier to use than the previous dialog.
- The user interface can be switched between the tabbed interface and an
MDI-style interface.
- Project files can now be linked into other project files - most of the
project dialogs have had to be upgraded to support this.
- Configurations now have a hidden property which causes them to be hidden
from the configuration combo box.
- Externally built executables can be debugged.
- Solutions are now created using the new project wizard.
- Linker section placement can now be done using a file that is separate to
the memory map file.
- Project system can create an additional output file for example S-Record.
- Special function registers window added which displays the registers
defined in the memory map file used to link the project.
- Trace window improvements.
- Breakpoint dialog rehashed to support MSP430 EEM.
- Support for specifying the clock control on MSPF149 and EEM enabled parts.
- Exception support for PC not in FLASH range.
- Register write breakpoints.
Installer
- The installer now installs program shortcuts correctly on international
versions of Windows.
- The default destination directory is now correct on international versions
of Windows.
Known Problems
We hope to fix all known problems before the next release of the software.
Printing
- Printing is a problem; there are a number of problems in the underlying
Qt toolkit that make printing a rather hit-and-miss affair. If it works for
you, that's good, and could you let us know if it does. If it doesn't and
produces erratic results, we'd also like to know about it. It would help us
if you could provide the make and model of the printer you are using when
you send in your reports.
FET examples
- You must define the target property for these examples before building them.
Help System
- The help system content is not yet complete. We are converting our printed
matter to XHTML as an ongoing activity.
User Interface
- Editing code templates in the Editor Properties dialog
will not change the templates.