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.

Need Help : USB_Developers package doesn't support MSP430F565X series MCUs.

Other Parts Discussed in Thread: MSP430F5659, MSP430F5529, MSP430F6637, MSP430F6638, MSP430F6636, MSP430F6634, MSP430F6635, MSP430F6633, MSP430F6632, MSP430F6631, MSP430F6630, MSP430F5638, MSP430F5637, MSP430F5636, MSP430F5634, MSP430F5635, MSP430F5633, MSP430F5632, MSP430F5631, MSP430F5630

Hi,

I am using MSP430F5659 MCU and need to configure its USB in CDC profile.For this I downloaded the latest USB_developers package and tried testing it.

The examples are pre-built for MSP430F5529 MCUs and Builds without any errors if MCU chosen is 5529. I have then changed the device to MSP430F5659 and it throws   #error \
    Define a constant of format __MSP430Fxxxx__ within the projects preprocessor settings,
according to the device being used.

The error links me to the file device.h which has definitions for _MSP430F563x_F663x, __MSP430F550x, __MSP430F552x devices only which apparently is the reason for error. Can anyone please let me know if an updated device.h/USB developers package file is available or about a correct method of defining MSP430F565x MCUs.

Thanks,

Jithin Sam George

  • Hi Guyz,

    So I did a comparison between MCUs declared in device.h and the one I am using (MSP430F5659) and figured that MSP430F563X series MCUs have a near Identical Pin map and peripheral allocation.

    So I changed the following lines of definitions which assigns the list of MCUs specified to  MSP430F563x_F663x defenition,

    //**********************************************************************//
    #if defined (__MSP430F6638__) || defined (__MSP430F6637__) || \
        defined (__MSP430F6636__) || \
        defined (__MSP430F6635__) || defined (__MSP430F6634__) || \
        defined (__MSP430F6633__) || \
        defined (__MSP430F6632__) || defined (__MSP430F6631__) || \
        defined (__MSP430F6630__) || \
        defined (__MSP430F5638__) || defined (__MSP430F5637__) || \
        defined (__MSP430F5636__) || \
        defined (__MSP430F5635__) || defined (__MSP430F5634__) || \
        defined (__MSP430F5633__) || \
        defined (__MSP430F5632__) || defined (__MSP430F5631__) || \
        defined (__MSP430F5630__)

      #define __MSP430F563x_F663x

    //**********************************************************************//

    to the following adding MSP430F5659 to the same class of devices with MSP430F563x_F663x definition.

    //**********************************************************************//

    #if defined (__MSP430F6638__) || defined (__MSP430F6637__) || \
        defined (__MSP430F6636__) || \
        defined (__MSP430F6635__) || defined (__MSP430F6634__) || \
        defined (__MSP430F6633__) || \
        defined (__MSP430F6632__) || defined (__MSP430F6631__) || \
        defined (__MSP430F6630__) || \
        defined (__MSP430F5638__) || defined (__MSP430F5637__) || \
        defined (__MSP430F5636__) || \
        defined (__MSP430F5635__) || defined (__MSP430F5634__) || \
        defined (__MSP430F5633__) || \
        defined (__MSP430F5632__) || defined (__MSP430F5631__) || \
        defined (__MSP430F5630__) || defined (__MSP430F5659__)
        #define __MSP430F563x_F663x

    //**********************************************************************//

    I could successfully build the code and execute it. Figured it maybe helpful for starters like me facing the same problem. It would also be a great help if you could check and verify if what I have done is right, without any repercussions?

    Thanks,

    Jithin

  • HeyJithin,

    Thanks for posting up your solution.  I've got this same problem.  Is this fix still working out for you?  I'm hesitant to do this because The 5659 (according to the device datasheet) is associated with the 565x rather than the 563x, according to TI.  I'm curious here.

    Thanks,

    Rob

  • Hey Rob,

    I was waiting for someone from TI to Validate this. I tried the above and it did work for me. I tested only for a few hours, and since then I have been busy with other sections of project. I'll be integrating the code in some time and I was hoping to get a fix by then. 

    As far as what I have seen, the above section is used to select required registers during the flow of the program. I went through the code and stack and cross checked with 5659 datasheet if correct registers were being set. Also the port pins assigned with USB in 5659 matches with 563x (Not with other two Classes). I'd suggest you doing the same.

    Regards,

    Jithin

  • Thanks I appreciate it.  I wish someone from TI would address this problem.

    Rob

  • Jithin, Rob,

    What you are doing should be fine. MSP430F5/6659 has not been fully tested with the USB stack yet- and that is why it is not included in device.h. Our next release of the USB stack coming in August will support F5/6659 devices.

    For now my best advice is to continue what you are doing, although I can't guarantee all functionality will be supported in the USB stack. From a hardware perspective, the 5659 and 5638 are compatible.

  • Any news on the release date of the  new USB stack?

    I am currently using code from an older 6638 design on a new 5659 design, but am not confident that I've covered all the bases.  I'm not getting very good throughput.

    I'd feel a whole lot better designing with the new stack.

**Attention** This is a public forum