This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430 CCS v4 unresolved symbol errors when using RTC.h in project.

Other Parts Discussed in Thread: MSP430G2231, MSP430F2001

Need help.  Did I forget something when I unzipped the slaa290 file?

 

I've included the RTC.h file in my main.c project file as well as copying the RTC.h file to the TI CCS MSP430 include directory, but I get the following errors

> #include  "msp430g2231.h"

> #include  "RTC.h"

unresolved symbol TI_second, first referenced in ./main.obj

unresolved symbol TI_PM, first referenced in ./main.obj

unresolved symbol TI_minute, first referenced in ./main.obj

unresolved symbol TI_hour, first referenced in ./main.obj

 

Console Output:

'Invoking: Linker'

"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/MSP430 Code Generation Tools 3.3.2/bin/cl430" -vmsp -g --define=__MSP430F2001__ --define=__MSP430G2231__ --diag_warning=225 --printf_support=minimal -z -m"PositionSensor.map" --stack_size=50 --heap_size=0 --warn_sections -i"C:/Program Files/Texas Instruments/ccsv4/msp430/include" -i"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/MSP430 Code Generation Tools 3.3.2/lib" -i"C:/Program Files/Texas Instruments/ccsv4/tools/compiler/MSP430 Code Generation Tools 3.3.2/include" --reread_libs --rom_model -o "PositionSensor.out"  "./main.obj" -l"libc.a" "C:/Program Files/Texas Instruments/ccsv4/msp430/include/lnk_msp430g2231.cmd" 

<Linking>


 undefined first referenced

  symbol       in file     

 --------- ----------------

 TI_PM     ./main.obj      

 TI_hour   ./main.obj      

 TI_minute ./main.obj      

 TI_second ./main.obj      


error: unresolved symbols remain

error: errors encountered during linking; "PositionSensor.out" not built

  • Ed OReilly said:
    #include  "msp430g2231.h"

    Hmmm, looking at the 2x family datasheet, none of the 2x devices has an RTC, so I guess these symbols are not defined for these devices.

    Unless they are in rtc.h, but this you already include.

    So either the rtc code is not suited for use in a 2x device, or coded wrong (relying on symbols which are not auto- defined for all devices), or I'm completely 'on the woodway' (German saying, literally translated, meaning 'on the wrong track')

  • Ed,

    This application note library is being updated and hopefully it will address your issue here. I am attaching the updated app note while it is getting published on the web.

    Let me know if it works.

    Regards.

    SLAA290A.zip
  • I download zipped file and put "*.h" files in CCS v4 msp430\include directory.   I noticed that the *.h files were dated the same day, but a hour younger.  for example, the RTC.H file from the original download was dated 8/4/2005 14:30, whereas, your RTC.h files where dated 8/4/2005 13:30.  Also, in comparing the RTC.h files, I didn't notice and differences in the code.  Also, all of the RTC_*.h files are dated 2005, whereas, most other *.asm were upated this week.

    Is there a particular location for copying these zipped files too?  Any special configurations to the CCS project?   I've included the #include RTC.h file.  Do I need to declare the "TI_..." variables in the <main.c>?

    Thanks for help in matter.

    Regards, Ed

  • You will also need to make sure to copy RTC.asm into your project folder. The TI_Seconds variable is initialized inside the RTC.asm file.

    Regards,

    William

  • Ed OReilly said:
    I noticed that the *.h files were dated the same day, but a hour younger.

    Maybe due to local timezones? Usually, the files get the local time attached, so the 'younger' version may even be the 'older' one by several hours. Or both are the same. This often happens in Europe where e.g. TI Germany (and of course the rest of Germany and some other countries) lives on GMT+1, so UTC time is 1 hour apart. And then there's the additional 1hr summer time.

    Ed OReilly said:
    I've included the #include RTC.h file.  Do I need to declare the "TI_..." variables in the <main.c>?

    If these variables are meant to be used externally, then they should be exported in rtc.h (that is, if they are defined in the RTC module at all). If they are not exported by rtc.h, then they should be in any of the system-wide include files or are not meant to be used outside the rtc module. The first case would be a bug in teh compiler includes, in the secod case it would be a bug to define and use them in main.c :)

**Attention** This is a public forum