Part Number:MSP430L092
We are using the MSP430L092 in a product where it boots from an EEPROM. We are downloading the program to the EEPROM and the processors boots up and runs fine. However, we would like to put some calibration information into the EEPROM and want to use the loader API functions for that purpose. In testing a few of the functions, none of them seem to return the value expected, or don't return at all (the processor seems to crash). I can understand why we might have an issue with a function that actually talks to the EEPROM, but one function that does return is the SWID function, but the values in R12 and R13 are nothing like what would be expected. I can understand why R12 might be different from the documentation since it refers to the loader software version, but R13, which contains the identifiers for TI and the MSP430, is also not correct. We have reviewed the 'MSP430L092 Loader Code User's Guide' as well as Chapter 8 in the 'MSP430x09x Family User's Guide' which refers to the Loader Code. It all seems so simple, it must mean we're missing something that we should be doing before calling the functions. An example of our function call is:
CALL &0xF884 ; SWID
We perform this call immediately after our firmware starts up, before we modify the clock speed or port configuration. Is there something we need to do to make these functions available before calling the function vectors? We have looked at the threads from Michael Pedigo titled 'None of the API functions of the loader seem to work', and it appears he is having a similar problem, but I don't see a solution there.
As for as the loader.h file, we've already recreated it from the information in the documentation, so unless that file actually contains different or additional information than the documentation, it would probably be no use to us.
Any help would be appreciated.
Thanks,
Robert Buchanan