SparkFun Forums 

Where electronics enthusiasts find answers.

Discussions on how to get your MSP JTAG programmer up and running.
By mclparker
#56248
Hi all,

I am doing some research on non-invasive vital signs monitoring. I
have assembled the materials for my baseline hardware platform
according to the pulseoximeter design and c code files given on Texas
Instrument's website
"http://focus.ti.com/apps/docs/appsolnte ... bstractNam\
e=slaa274"

Unfortunately, the programming aspects of the MSP 430FG are way beyond
my skill level.

I have begun the programming effort using the TI C code developed for
the pulse oximeter design described in slaa274.pdf without much
success. I am using the Texas Instrument's Flash Emulation tool MSP430
80-Pin Package Board, USB Programmer MSP-FET430U80, and IAR Embedded
Workbench IDE free version.

The code compiles ok, but won't link due to the following error:

Error[e46]: Undefined external "mul16" referred in main ( C:\Mike
IU\medical device\Mike Oximeter Experiment\Oximeter
C Code Mike\Mike Oximeter Phase 1b\Debug\Obj\main.r43 )

The line of code creating this error, I think, is:

int32_t mul16(register int16_t x, register int16_t y);

As best as I can tell, there is a function mul16 that is not defined
anywhere. Perhaps this has somthing to do with IAR libraries?

Can anyone help me to locate this “mul16” function?

Thanks everyone

Mike
By OldCow
#56257
The assembly source code for mul16(x,y) is called "mul.s43" and is included in the "slaa147.zip".

All you need to do is include both the c-source code and "mul.s43" in your project. You do not need to modify anything.
By mclparker
#56263
Thank you very much. This worked like a charm. I have been pulling my 8 hairs out by the roots to solve this.

mike
OldCow wrote:The assembly source code for mul16(x,y) is called "mul.s43" and is included in the "slaa147.zip".

All you need to do is include both the c-source code and "mul.s43" in your project. You do not need to modify anything.