Pumpkin, Inc.

Pumpkin User Forums

Problems with Rowley CrossWorks MSP430 v1.3

For issues specific to TI's MSP430 line of ultra-low-power microcontrollers, including compilers (e.g. Quadravox AQ430), IDEs (e.g. IAR Embedded Workbench) and development tools (e.g. TI MSP-FET430 Flash Emulation Tool).

Problems with Rowley CrossWorks MSP430 v1.3

Postby aek » Fri Dec 17, 2004 1:42 am

Rowley has released CrossWorks for MSP430 v1.3, and with this new release, Salvo users should be aware of the following:

1) When opening projects in the current Salvo release (built from early CS430 v1.2), it is necessary to do the following (courtesy Paul Curtis at Rowley):

You need to set "Include Startup Code" to "Yes" in the Linker Options of the project. This is a slight incompatibility with v1.2. If you set this to "Yes", it's backward compatible with v1.2.

2) Users have reported (and I have witnessed) run-time problems with Salvo tasks that i) had switch() statements with more than 4 cases, and ii) multiple instances of sprintf(). These are due to some incompatible optimizations that are present in v1.3 (and maybe in later v1.2, but not in early v1.2). Until we have fully characterized the effect of these new optimizations, we recommend that all users set the following Code Generation Options to "None" or "No" when applied to a project's source code (*.c) files that contain Salvo tasks:

Jump Threading Optimization
Peephole Optimizaton
Register Allocation

Source code modules that do not include Salvo tasks can have all optimizations applied to them without worry.

I suspect that the problem is in Register Allocation, as Salvo does not save registers between context switches (in order to minimize RAM requirements). Once we have fully characterized this problem, we will update RM-CS430.PDF.


Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Return to TI's MSP430

Who is online

Users browsing this forum: Google [Bot] and 2 guests