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.

Hwi Interrupt Vectors Conflict

Other Parts Discussed in Thread: MSP430F5632, SYSBIOS, MSP430F5229, MSP430F5529

I am using TI-RTOS 2.16.1.14 with the MSP430F5632. When I try to set up the Hwi for GPIO Port 2, I get the following error:

"Hwi 44 is already in use by portP2Hwi (function: &ti_sysbios_family_msp430_Timer_periodicStub__E)"

I have the TimestampProvider module set to Timer Id 2 (A2), so I may still be using the MSP430F5229 Interrupt Vectors in which vector 44 corresponds to TA2CCR0? But if I try to set up an Hwi with Interrupt number 40 for Timer A2, I get this error:

"Hwi 40 is already in use by timerA2Hwi (function: &ti_sysbios_family_msp430_Timer_periodicStub__E)"

I have the Clock Module set to Timer Id 0 with no instances, and I am not using the Timer Module. I have also changed the Platform to ti.platforms.msp430:MSP430F5632 in Properties -> CCS General -> RTSC.

Is there something that needs to be changed for this to work?

  • Jason,

    I tried recreating the issue and didn’t see any problems.  I installed 2.16.1.14, built the driver library for the F5632, created an empty project for F5529, built it, then changed the project properties to select F5632, changed the platform name to ‘ti.platforms.msp430:MSP430F5632’, removed the ‘lnk_msp430f5632.cmd’ that was added to the project with the device change, and built the project.  I verified Clock’s timer vector was at Hwi53 (by opening src/sysbios/HwiFuncs.c).  And that there were no other Hwi stubs created.  I then added two more timer instances and they ended up at Hwi49 and Hwi40, as expected for the F5632. 

    Is it possible for you to post your project to the forum?  

    Or, can you describe in detail the steps you’ve used to create this project? 

    Also, have you cleaned and rebuilt the project after making the configuration changes?

    If you want to send me the project privately you can send me a forum friend request, and then you can send the project directly to me to try.

    Thanks,
    Scott

  • Hi Scott,

    I followed the same steps as you when creating the project. The problem happens when I try to add the I/O Port 2 Interrupt Vector at Hwi44, with a Timer or Timestamp set to Timer Id 2 (Timer A2). If I build the project without the Port 2 Interrupt (Hwi44) and I check HwiFuncs.c, the Timestamp instance seems to be created correctly at Hwi40. But once I add Hwi44, I see this message in the Problems window.

    "Hwi 44 is already in use by portP2Hwi (function: &ti_sysbios_family_msp430_Timer_periodicStub__E)"

    If I build the project, it seems like it will actually build, but I am not sure if it is working correctly with this error. The Console window shows "**** Build Finished ****", with no errors. And in HwiFuncs.c, the Port 2 and Timestamp Hwis seem to be in the correct places. Cleaning and Rebuilding does not seem to make any difference.

    When I tried changing the TimestampProvider to Timer Id 3 (Timer B0), there were no more problem messages. But if I set any Clock, Timestamp, or Timer with Timer Id 2, there is the same error message.

    I also have the MSP430-specific Hwi Management Module with "Fill unused vectors" enabled, so the rest of the Hwis are filled with empty stubs, but toggling this option does not seem to make a difference either.

    Thanks,

    Jason

  • Hi Jason,

    OK, thanks.

    I just tried adding a Hwi44 and it worked for me as expected, there was no indicator about Hwi44 already being used.  And HwiFuncs.c looked fine.

    I just accepted your friend request.  Please send me your whole project if possible, or at least the application .cfg file…

    Thanks,
    Scott

  • Hi Scott,

    I re-read your project setup steps, and I am wondering why you deleted the "lnk_msp430f5632.cmd" instead of the "lnk_msp430f5229.cmd file"?

    I tried to create a copy of the project to send to you, but the error message mysteriously disappeared in the new project. I was able to just rename my old project to a temporary name, and rename it back to its original name, and the error message seems to be gone now. I'm not really sure what was going on, since I even tried deleting the Debug folder and rebuilding the project before. But it seems to be okay now, thanks for looking into it.

    Cheers,

    Jason

  • Hi Jason,

    In my empty project I originally had a “MSP_EXP430F5529LP.cmd” file, not lnk_msp430f5529.cmd.  When I saw that lnk_msp430f5632.cmd got added when I changed the device in the project properties, I just deleted it to quickly avoid link errors.  I was trying to focus on the configuration and generation phase where you were seeing the problem, and just wanted it to link to make sure there wasn’t any other problem.  (And I don’t have a board with an F5632 with me anyways.)  I should have kept that new linker command file.  I just went back and used lnk_msp430f5632.cmd instead, and saw no change in build behavior.

    I’m glad the problem is gone now.  But it is a bit disconcerting that the problem just went away.  I wonder if maybe some files were cached on your PC somehow, and renaming cleaned that up.  This is just a guess, I’ve not heard of that happening before, but that is what that behavior sounds like.

    Cheers!
    Scott