From richard at imagecraft.com Mon Mar 3 03:06:36 2008
From: richard at imagecraft.com (Richard Man)
Date: Mon Mar 3 03:22:40 2008
Subject: [Icc-430] ICC430 V7.07 released
Message-ID: <200803031122.m23BMcVF051571@mail.imagecraft.com>
V7.07 - March 3rd, 2008
TI Supplied Files
- new header files from TI
- 2.3.x MSP430.DLL
IDE
- [ADV and PRO only] Added capability to create Library projects.
Compiler
[ the optimizations below should improve code size 2-4%, depending
on the application ]
- now generate sym(Rx) addressing mode, e.g.
char buf[];
...
int i;
...
= buf[i] ...
would use a single addressing mode to access the item
- More optimal code for some cases when comparing against a constant.
(The MSP430 does not have a full set of branch instructions nor does it
allow an immediate as the second operand of a CMP instruction. With
some comparisons, the old code generates moving of the constant to a
register. The new code adjusts the constant by one and eliminates this
move)
- Added CALL/RET -> BR tail call optimization
- Added support for volatile tracking, with effect that the peephole and
register history optimizations being more effective.
Library
- the low level floating point to (unsigned) long conversion function
was not working correctly for numbers larger than ~16000000.
// richard
On-line orders,
support, and listservers available on web site.
[ For technical support on ImageCraft products, please include all
previous replies in your msgs. ]
From llchisho at paradise.net.nz Wed Mar 19 17:26:56 2008
From: llchisho at paradise.net.nz (llchisho@paradise.net.nz)
Date: Wed Mar 19 18:27:02 2008
Subject: [Icc-430] Assembly labels, line numbers and NoIce
Message-ID: <1205976416.47e1bd60dbed4@www.paradise.net.nz>
I am using ICC430V7.06A and NoICE 8.8.6.1600 for the MSP430F1611.
I have some assembly language source files in my project, and I have put double
colons after the public labels and started them with an _. These routines are
called from C with prototypes in an h file.
The project links and runs correctly, but the names of the labels from the
assembly source files are not present in NoICE. They do not appear in the DBG
file either.
I attempted to add .dbfunc and .dbend directives similar to the ones emitted by
the C compiler in the assembly code it writes but this caused a linker crash.
Adding the phony -1 and -2 line numbers fixed that but still doesn't give
source-level debug.
How can I make the public labels visible in NoICE ?
How can I do source-level debug of assembly source ?
Since first writing this I have tried V7.07beta with NoIce 9, and have got the
same result.
Ticking the undocumented box under Project/Options/Compiler "Generate Assembly
Line Numbers for NoIce430" results in a string of messages saying that .s files
cannot be found in the project directory.
I generate my output files in an O directory under the project directory, and
the .s files which cannot be found are C compiler output files and are in the O
directory.
However, something is done as all the .o files get line numbers relating to the
.s files added which totally mucks up the source display in NoIce.
I'm not sure quite what this is supposed to be used for and with what limitations.
Perhaps we need an assembly pre-processor which takes a .asm (say) file and
generates a .s file with line number definitions and function information added.
Then the IDE needs to know how to use it.
PS For some cases there may be an advantage in having a "#pragma raw
" (or something), which would be similar in usage to "monitor" or
"interrupt" but the opposite in effect in that the compiler wouldn't generate
any function entry or exit code at all, and wouldn't validate parameter use and
return value assignment, but would still emit the necessary directives for block
start/end, line numbers etc.
This would leave all code to be inserted by the programmer using inline assembly
statements, or C for the brave, but register preservation would not be the
compiler's job so minimal assembly functions can be tidily added to C source.
This would remove the source of the empty declaration messages.
Thanks, Len Chisholm.
From jdurand at interstellar.com Wed Mar 19 17:47:26 2008
From: jdurand at interstellar.com (Jerry Durand)
Date: Wed Mar 19 18:47:21 2008
Subject: [Icc-430] Assembly labels, line numbers and NoIce
In-Reply-To: <1205976416.47e1bd60dbed4@www.paradise.net.nz>
References: <1205976416.47e1bd60dbed4@www.paradise.net.nz>
Message-ID: <20080320014702.A536E6E6D54@smtp.interstellar.com>
At 06:26 PM 3/19/2008, you wrote:
>I am using ICC430V7.06A and NoICE 8.8.6.1600 for the MSP430F1611.
First, get a newer version. I've worked with the programmer there to
fix/add things. My version is over 9.0.
>I have some assembly language source files in my project, and I have
>put double
>colons after the public labels and started them with an _. These routines are
>called from C with prototypes in an h file.
>The project links and runs correctly, but the names of the labels from the
>assembly source files are not present in NoICE. They do not appear in the DBG
>file either.
I've had a lot of trouble with globals not showing up. I often have
to look at the map file to get the address and then enter a WATCH
manually at that address. Locals always seem to work for me.
Oh, and debugging on the MSP430F2xxx series can lead to some
interesting problems if you use the LPM modes. I have a debug switch
that keeps the processor running but simulates LPM by waiting for a
timeout in a loop.
--
Jerry Durand, tel: +1-408-356-3886
Skype: jerrydurand, USA Toll Free: 866-356-3886
Durand Interstellar, Inc. www.interstellar.com
From richard at imagecraft.com Thu Mar 20 16:56:14 2008
From: richard at imagecraft.com (Richard Man)
Date: Thu Mar 20 16:57:48 2008
Subject: [Icc-430] Eliminating RCS -
Message-ID: <200803210057.m2L0vlmj057625@mail.imagecraft.com>
At the next major releases, unless there is strong objection, support
for the RCS will be removed. I believe it has been broken for a while
since some Windows upgrade and most people use their own solution for
source code management need.
Let me know I am wrong on this.
// richard
On-line orders,
support, and listservers available on web site.
[ For technical support on ImageCraft products, please include all
previous replies in your msgs. ]