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.

CCSv6 Changed device but still picks up old header file

Other Parts Discussed in Thread: MSP430F5438, MSP430F5438A

Hello,

We have a project that has outgrown the MSP430 that we originally selected and I have been tasked with porting to the new device.

My first step was to go to project settings and change the device under the 'General' heading.  I then rebuilt and began remapping the I/O.  That's when I noticed that, even though the IDE has the new device selected in project settings, it is still pulling in the header file (in ccsbase/msp430/include/)  for the old device instead of the header for the new device.

I then grep'd the project directory and discovered that the .ccsproject and the .cproject files still reference the old header.

Are there some other additional steps that I am supposed to do to change devices in an existing project?

Regards,

Mark Rush

  • Hi Mark,

    How does your Project -> Properties -> Compiler -> include options look like? Does it include previous MSP430 folders?

    Regards,
    Gautam
  • Mark Rush44 said:
    That's when I noticed that, even though the IDE has the new device selected in project settings, it is still pulling in the header file (in ccsbase/msp430/include/)  for the old device instead of the header for the new device.

    With CCSv6 when the device is changed under the CCS Project Properties -> CCS General, then under the CCS Project Properties -> CCS Build -> MSP430 Compiler -> Advanced Options -> Predefined Symbols CCS should automatically change the predefined name of the form __<device_name>__ to match the new device. It is the __<device_name>__ predefined symbol which the msp430.h generic include file uses to select the device specific include file.

    With CCSv6 I tried changing the selected device from a MSP430F5438A to a MSP430F5438 and the predefined symbol changed as expected from __MSP430F5438A__ to __MSP430F5438__

    How did you determine that the header for the old device is still being used?

    Mark Rush44 said:
    I then grep'd the project directory and discovered that the .ccsproject and the .cproject files still reference the old header.

    According to Reused an MSP430G2755 project for MSP430F5310. Changed device type - .ccsproject still shows 2755 the .ccsproject only contains a snapshot of some settings when the project was created, so don't believe that it is a problem that the .ccsproject still references the old header.

    In the test where the device type was successfully changed then:

    - The .ccsproject file only referenced the original device

    - The .cproject file referenced the new and original devices

    Does this match what you found in the .ccsproject and .cproject files?

  • Thank you all for the replies.  I finally resolved the issue by creating a brand new project and manually copying old source code into it.  Probably not the most elegant, but it works.

  • That's Great!

    Goodluck & Regards,
    Gautam