Hi, I'm using the latest CVS version of msp430-gcc with gcc-3.2.3 and bintuils 2.14. I discovered that if I write:
ticker = ms * 1024; as expected it gets optimised away to bit shifts (gcc -O2 of course), but if I write: ticker = ms * 1024L; it creates code which tries to use the hw multiplier. Is this a bug or is there a good reason for this? I'm also having link problems in that some part of the library is apparently not found (I'm not sure whether its trying to find the routine to do the multiplications in hardware or whether its looking for the emulation routines). The only msp430 specific option that I've used is: -mmcu=msp430x149 and I'm using gcc to do the linking as I though that shoud know the right libs to load up rather than trying to do it myself with ld. I'm getting errors like this though: gui_survey.o(.text+0xc4):/home/steve/src/embedded/gui_survey.c:29: undefined reference to `__umulsi3hw' so perhaps someone can point me in the right direction. Thanks, Steve.