posted December 17, 2004 13:42
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):
quote:
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.
------------------