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.

Can't run GRACE on new CCS 5.1 install

Other Parts Discussed in Thread: MSP430F2274

I just downloaded and installed the latest CCS 5 (Version: 5.1.1.00031) using the free code-size-limited license, and I'm having no luck doing anything with GRACE. When I try to create a new project using an MSP430 processor that is on the supported list, there is no option to choose an empty GRACE project (just the empty C or assembly projects, or the blink LED or hello world demo projects.) I can see GRACE projects on the list of samples, and when I import one it shows the .cfg file -- but selecting that file just shows the source code, no GRACE GUI. And when I try to build, it immediately fails with "RTSC product-type 'com.ti.sdo.grace' is not recognized. Please install at least one product of this type."

So apparently, my installation is faulty. I've installed and uninstalled CCS several times -- the first few times it hung with the error message: "can't create directory "C:/Documents and Settings/<username>/ti/CCSExternalReferences": permission denied" I manually changed permissions and created the folders, and subsequent installs worked after that. I tried installing just the MSP430 tools (including GRACE) and I've tried installing the complete tool set. Checking the installation details, "Grace 1.10.0.17 com.ti.grace.1.10.win32.feature.group Texas Instruments" is listed each time.

So it appears to be there, but it isn't. I've done some searching of this forum, and I found posts about a few installation problems with GRACE on earlier CCS versions (including comments to download and install CCS 5.1!) But I find no threads on 5.1 installation issues, so maybe it's supposed to be easy? Well, it's not working for me. What am I missing, what am I doing wrong?

This is my first experience with GRACE. (I'm just starting with MSP430, last TI experience was a few years ago with C2000 and CCS 3.3.) I'm an experienced engineer that's been doing embedded programming for years, and can program circles around just about any chip out there -- once I do battle with the PC and get the tools installed properly! It always seems to come down to the toolset installation... There's got to be something simple I'm overlooking...

  • I'm having a problem with Grace, too, since installing the 5.1.1.00031 CCS upgrade.  Running with a full Platinum(?) license in a WinXP SP3 VM using VMware Fusion 4.1(?, latest rev) on MacBook Pro running Mac OS X "Lion" (latest rev).  The reported version of the Grace "feature" in CCS is 1.1.10.0.17.

    A Grace configuration file, main.cfg, which worked fine before now has several problems with navigation in the file view, e.g., clicking on the P3/P4 button on the overview page for the GPIO device doesn't do anything; the Home button often doesn't work, etc.

    Looks like Grace is broken in the new CCS version.

    Mike (who's been using Grace quite a bit and hasn't seen this behavior before)

  • Thank's for your response, Mike. While I'm sorry you're having problems yourself, it's good to know I'm not alone. Although it sounds like you're a whole lot farther along than I am, at least you get the Grace GUI to show up! But if it's not working properly, then maybe it's not that bad that it isn't working at all for me. I'd hate to spend all this time to get it working and then find that it doesn't work properly. While Grace sounds promising, it looks like I might have to just forget about it and do the device setup the old-fashined way. I don't have a lot of hours budgeted to this project, and I can't spend them all getting the toolset working.

  • AVM,

    Don't give up on Grace; it's a useful tool.  I suspect it broke because of updates in some other part of CCS and will be fixed soon.  Be sure to give it a try again after the "all clear".

    Mike

  • Thanks, Mike. I did finally get the standalone version to work last night -- there were two issues. First, Norton quaranteed the executable for suspicious activity, and once I restored it it threw an error that yet another folder couldn't be created in directory "C:/Documents and Settings/<username>/" just like with the CCS install. I created the directory and set privileges, and now it works as the older standalone version. It works so well that I discovered that the pinouts I chose won't work (GPIO P4 can't generate interrupts!) so I was able to send the hardware guy new pinouts in time before any hardware was built. That right there saved my butt!

    Now that I have an idea why the standalone version doesn't work, maybe I can make some progress on the integrated version by looking for error logs and other folders it can't crate.

    I haven't given up, I'm making progress...

    -- Adam

  • Hello Mike,

    can you attach the main.cfg file in question? Also, did you use the update function in CCSv5.1 or did you reinstall CCSv5.1.1?

    Adam,

    which operating system are you using? As you already mentioned, there are some oddities regarding your installation process. CCS will run into problems if it is not given administrator rights.

    Regards,
    Michael 

  • Micheal,

    Thanks for looking into this. I'm running XP Pro, SP3. While I'm not using the "Administrator" account, I am logged in with a user account that has full administrator rights.

    I haven't had a chance to get back to the software installation yet, I'm busy working out schematic issues with the hardware guy. The sooner I get him settled, the sooner I'll have working hardware (and then I'll really need the development system up and running!)

    -- Adam

  • Success!

    Well, I gave the installation one more try, and it works. I uninstalled the stand-alone Grace that was working, and uninstalled the CCS 5.1 installation. Then I logged on as Administrator, turned off Norton, and ran the install again. This time everything thing appears to work.

    I doubt turning off Norton had anything to do with it, and with things working I'm not about to try installing things with it on just to find out. Based on Michael's earlier comment I'd say being logged on as Administrator was the key. I don't know why it didn't work with my regular account which does have full administrator rights, but it doesn't.

    I'm finally up and running and things appear to be looking and working as they should. Many thanks to Mike and Michael!

    -- Adam

     

  • Michael Brunotte said:

    Hello Mike,

    can you attach the main.cfg file in question? Also, did you use the update function in CCSv5.1 or did you reinstall CCSv5.1.1?

    ...

    Regards,
    Michael 

    Michael,

    Thanks for following up on this.  Here's my cfg file. (Hmm... couldn't find a way to attach a file.  Had to insert the text below.)

    I did an update from CCS v5.1.  Took awhile, lots of stuff got updated.  Completed without error.

    Mike


    main.cfg said:

    /* need to use the CSL module to generate the CSL code */
    var CSL = xdc.useModule('ti.mcu.msp430.csl.CSL');
    var Timer_A3 = xdc.useModule('ti.mcu.msp430.csl.timer.Timer_A3');
    var USCI_B0 = xdc.useModule('ti.mcu.msp430.csl.communication.USCI_B0');
    var USCI_A0 = xdc.useModule('ti.mcu.msp430.csl.communication.USCI_A0');
    CSL.configApiVersion = "1.00.00";
    var GPIO = xdc.useModule('ti.mcu.msp430.csl.gpio.GPIO');
    var BCSplus = xdc.useModule('ti.mcu.msp430.csl.clock.BCSplus');
    var System = xdc.useModule('ti.mcu.msp430.csl.system.System');

    /* set stack and heap sizes as appropriate for MSP430 */
    Program.sysStack = 0;
    Program.stack = 64;
    Program.heap = 0;
    Program.argSize = 0;
    CSL.device.vcc = 3.0;
    GPIO.regs.P3SEL.Bit0 = GPIO.defs.BIT0;
    GPIO.regs.P3SEL.Bit5 = GPIO.defs.BIT5;
    GPIO.regs.P3SEL.Bit4 = GPIO.defs.BIT4;
    BCSplus.userInputDCO = 12000.0;
    BCSplus.regs.BCSCTL2.DIVS = BCSplus.defs.DIVS_3;
    GPIO.regs.P1DIR.Bit0 = GPIO.defs.BIT0;
    GPIO.regs.P1DIR.Bit1 = GPIO.defs.BIT1;
    GPIO.regs.P1DIR.Bit4 = GPIO.defs.BIT4;
    GPIO.regs.P2DIR.Bit0 = GPIO.defs.BIT0_OFF;
    GPIO.regs.P2DIR.Bit1 = GPIO.defs.BIT1;
    GPIO.regs.P2OUT.Bit0 = GPIO.defs.BIT0_OFF;
    GPIO.regs.P2OUT.Bit1 = GPIO.defs.BIT1;
    GPIO.regs.P2DIR.Bit2 = GPIO.defs.BIT2;
    GPIO.regs.P3DIR.Bit1 = GPIO.defs.BIT1_OFF;
    GPIO.regs.P3DIR.Bit0 = GPIO.defs.BIT0_OFF;
    BCSplus.regs.LFXT1CLKHz = 12000.0;
    BCSplus.regs.BCSCTL3.LFXT1S = BCSplus.defs.LFXT1S_2;
    GPIO.regs.P2SEL.Bit6 = GPIO.defs.BIT6_OFF;
    GPIO.regs.P2SEL.Bit7 = GPIO.defs.BIT7_OFF;
    System.ie2Regs.IE2.UCA0TXIE = System.ie2Defs.UCA0TXIE;
    System.ie2Regs.IE2.UCA0RXIE = System.ie2Defs.UCA0RXIE;
    GPIO.regs.P1DIR.Bit5 = GPIO.defs.BIT5;
    GPIO.regs.P1SEL.Bit5 = GPIO.defs.BIT5;
    GPIO.regs.P2DIR.Bit6 = GPIO.defs.BIT6_OFF;
    GPIO.regs.P2DIR.Bit7 = GPIO.defs.BIT7_OFF;
    BCSplus.regs.BCSCTL1.DIVA = BCSplus.defs.DIVA_3;
    GPIO.regs.P1SEL.Bit1 = GPIO.defs.BIT1_OFF;
    GPIO.regs.P2SEL.Bit3 = GPIO.defs.BIT3;
    GPIO.regs.P1OUT.Bit5 = GPIO.defs.BIT5;
    GPIO.port2IntHandler = "Port2ISR";
    System.ie1Regs.IE1.OFIE = System.ie1Defs.OFIE_OFF;
    BCSplus.oscFaultHandler = "";
    Timer_A3.regs.TACTL.TASSEL = Timer_A3.defs.TASSEL_2;
    Timer_A3.inputClockToTimer = 1500.0;
    Timer_A3.regs.TACTL.ID = Timer_A3.defs.ID_2;
    Timer_A3.regs.TACTL.MC = Timer_A3.defs.MC_2;
    Timer_A3.regs.TACCTL0.CCIE = Timer_A3.defs.CCIE;
    Timer_A3.ccr0TimerSelection_PowerUser = xdc.module("ti.mcu.msp430.csl.timer.ITimer").CCR0TimerSelection_PowerUser_Selection_1;
    Timer_A3.ccr0TimerSelection_BasicView = xdc.module("ti.mcu.msp430.csl.timer.ITimer").CCR0TimerSelection_BasicView_Selection_3;
    Timer_A3.ccInputPin[0] = 0;
    Timer_A3.ccrOutputPin[0] = 2;
    Timer_A3.regs.TACCTL0.OUT = Timer_A3.defs.OUT;
    Timer_A3.ccr0InterruptHandler = "TIMERA0_ISR";
    GPIO.regs.P2IES.Bit7 = GPIO.defs.BIT7_OFF;
    GPIO.regs.P2IE.Bit7 = GPIO.defs.BIT7_OFF;
    Timer_A3.ccrXTimerSelection_PowerUser[1] = xdc.module("ti.mcu.msp430.csl.timer.ITimer").CCRxTimerSelection_PowerUser_Selection_1;
    Timer_A3.ccInputPin[2] = 0;
    Timer_A3.ccrXTimerSelection_BasicView[1] = xdc.module("ti.mcu.msp430.csl.timer.ITimer").CCRxTimerSelection_BasicView_Selection_2;
    Timer_A3.regs.TACCTL1.CCIE = Timer_A3.defs.CCIE;
    Timer_A3.ccr1InterruptHandler = "TIMERA1_ISR";
    GPIO.regs.P1IFG.Bit2 = GPIO.defs.BIT2_OFF;
    GPIO.regs.P1IE.Bit2 = GPIO.defs.BIT2;
    GPIO.port1IntHandler = "AccelDataRdyISR";
    USCI_B0.toggleButtonSPI = true;
    USCI_B0.showSelectionPage = false;
    USCI_B0.spiRegs.UCB0CTL1.UCSSEL = USCI_B0.spiDefs.UCSSEL_2;
    USCI_B0.usciSpiPin[0] = 1;
    GPIO.regs.P3SEL.Bit3 = GPIO.defs.BIT3;
    USCI_B0.usciSpiPin[1] = 1;
    GPIO.regs.P3SEL.Bit2 = GPIO.defs.BIT2;
    USCI_B0.usciSpiPin[2] = 1;
    GPIO.regs.P3SEL.Bit1 = GPIO.defs.BIT1;
    USCI_B0.spiRegs.UCB0CTL0.UCCKPL = USCI_B0.spiDefs.UCCKPL;
    GPIO.regs.P4OUT.Bit0 = GPIO.defs.BIT0;
    GPIO.regs.P4OUT.Bit1 = GPIO.defs.BIT1;
    GPIO.regs.P4OUT.Bit2 = GPIO.defs.BIT2;
    GPIO.regs.P4DIR.Bit0 = GPIO.defs.BIT0;
    GPIO.regs.P4DIR.Bit1 = GPIO.defs.BIT1;
    GPIO.regs.P4DIR.Bit2 = GPIO.defs.BIT2;
    GPIO.regs.P2IFG.Bit0 = GPIO.defs.BIT0_OFF;
    GPIO.regs.P2IE.Bit0 = GPIO.defs.BIT0;
    System.ie2Regs.IE2.UCB0TXIE = System.ie2Defs.UCB0TXIE;
    USCI_B0.txIntHandler = "XcvrByteTxISR";
    System.ie2Regs.IE2.UCB0RXIE = System.ie2Defs.UCB0RXIE;
    USCI_B0.rxIntHandler = "XcvrByteRxISR";
    GPIO.regs.P2IES.Bit0 = GPIO.defs.BIT0;
    USCI_A0.toggleButtonSPI = true;
    USCI_A0.showSelectionPage = false;
    USCI_A0.uartOrSpiMode = true;
    USCI_A0.spiRegs.UCA0CTL1.UCSSEL = USCI_A0.spiDefs.UCSSEL_2;
    USCI_A0.spiRegs.UCA0BR0 = 6;
    USCI_A0.spiRegs.UCA0BR1 = 0;
    USCI_A0.spiRegs.UCA0CTL0.UCMST = USCI_A0.spiDefs.UCMST;
    USCI_A0.usciSpiPin[0] = 1;
    USCI_A0.usciSpiPin[1] = 1;
    USCI_A0.usciSpiPin[2] = 1;
    USCI_A0.spiRegs.UCA0CTL0.UCMSB = USCI_A0.spiDefs.UCMSB;
    USCI_A0.standardSPIBitRatesPowerView = USCI_A0.SPIBitRate_5;
    USCI_A0.standardSPIBitRatesBasicView = USCI_A0.SPIBitRate_5;
    USCI_A0.enableUserInputCustomBaudRate = false;
    USCI_A0.userInputCustomBaudRateSpi = "10000";
    USCI_A0.spiRegs.UCA0CTL0.UCCKPL = USCI_A0.spiDefs.UCCKPL;
    USCI_A0.txIntHandler = "AccelTxISR";
    USCI_A0.rxIntHandler = "AccelRxISR";
    GPIO.port1OperatingModeOnExit = GPIO.KEEP;
    USCI_B0.spiRegs.UCB0CTL0.UCCKPH = USCI_B0.spiDefs.UCCKPH_OFF;


  • Mike,

    can you tell me which device you are using?

    Thanks,
    Michael 

  • Interesting... it looks like the actual device used is not listed in the .cfg file? I suppose it could make things very "interesting" if a .cfg file were created with one device specification, and then opened up in a project with a different device specified. I imagine things could get very confused! Any chance that's what happened in Mike's situation?

  • Michael,

    I'm using an MSP430F2274.

    Wondered if the project I'm working on, derived based on a copy of an earlier project, perhaps had the target set wrong.  Nope.  The project file | Properties | 
    General | Main: Device: Variant is properly set to MSP430F2274.  Now when I open the main.cfg file, the Grace browser opens the overview page, but won't even open the GPIO tab.  Hangs with a blank white view.

    I tried opening a main.cfg file from an earlier, working project.  Still encountered similar problems.  So it looks like my Grace installation is fried.

    Mike

     

  • Mike,

    I cannot reproduce the problem. I can start a new Grace project and insert the .cfg file you posted. Everything seems to be ok. If you experience this problem when setting up a new project, I would recommend to reinstall CCS. If possible, delete the C:\TI directory before reinstalling.

    Regards
    Michael 

  • Michael Brunotte said:

    Mike,

    I cannot reproduce the problem. I can start a new Grace project and insert the .cfg file you posted. Everything seems to be ok. If you experience this problem when setting up a new project, I would recommend to reinstall CCS. If possible, delete the C:\TI directory before reinstalling.

    Regards
    Michael 

    Michael,
    I uninstalled CCS v5.1.1, downloaded the current installer (1.2GB!) reinstalled CCS, ran update (2 small updates, one for Grace) and checked Grace navigation for the troublesome project and one other.  Everything seems to be working OK now :-)
    So something in my CCS installation must have gotten corrupted in the online 5.1.1 update.
    Thanks for your help.
    Mike

**Attention** This is a public forum