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.

RTOS/MSP-EXP430FR5969: Trouble using TI-RTOS with evaluation module

Part Number: MSP-EXP430FR5969
Other Parts Discussed in Thread: MSP430-FLASHER, MSPDS, MSP-FET

Tool/software: TI-RTOS

Hello,

I'm evaluating the MSP430 microcontroller and the use of TI-RTOS for a project. I try to run an example from Resource Explorer : uartecho.

For this purpose, I've installed Code Composer  7.2.0.00013 , and all what Resource explorer required.

I can compile the project, launch the debugger on the MSP-EXP430FR5969. If I launch it, it does not respond. When I pause the debugger, I find it in an hardware interrupt number 54.

Stepping in the code, I see that function Task_construct never return. Stepping through the code, I've observed that after some calls, all variables have non-sense values,..

I've check that the library used are the one installed for this test (based on the date of the creation of the folders)

NOTE : I'm already using Code composer 6.2 for TIVA projects (and several libraries installed for a long time on my PC)

I'm using a PC with Windows 7.

Can you help me running this demo on this board ?

Thanks in advance.

Marc.

  • Hello Marc,

    Thank you for your post. After you installed CCS v7.2.00013 on your PC, did it ask you to update the LaunchPad's firmware? Are you seeing any specific error message in CCS? This issue sounds similar to the one in the thread below. In this thread, Katie Pier pointed out some things to check like whether or not the LaunchPad is shown in Device Manager and whether or not MSP430-Flasher works.

    In the meantime, can you also provide what version of the MSP Debug Stack (MSPDS) you're using?

    Regards,

    James

    MSP Customer Applications

  • Hello James,

    Yes, I had to update the firmware. There is no error when I Compile. I try to put the line of code which light on the LED before the call to Task_construct() and the LED light on, so I guess the software is flashed. I can do some steps in the code until it hand into the interrupt 54. All variables shown are coherent until they get in an undefined state

    MSP430-Flasher find the evaluation board, but is not happy with file format. See the log below. I generate the .hex file with CCS, and it looks like a .hex...

    Sorry for the version of MSPDS, I don't know what it is. I did not have to install it explicitely, I do not find where this can be found. Can you tell me where I can find this ?

    Kind Regards,

    Marc.

    C:\ti\MSPFlasher_1.3.15>MSP430Flasher.exe -w uartecho.hex -v -g -z [VCC]
    * -----/|-------------------------------------------------------------------- *
    *     / |__                                                                   *
    *    /_   /   MSP Flasher v1.3.15                                             *
    *      | /                                                                    *
    * -----|/-------------------------------------------------------------------- *
    *
    * Evaluating triggers...done
    * Checking for available FET debuggers:
    * Found USB FET @ COM151 <- Selected
    * Initializing interface @ COM151...done
    * Checking firmware compatibility:
    * FET firmware is up to date.
    * Reading FW version...
    * Debugger does not support target voltages other than 3000 mV!
    * Setting VCC to 3000 mV...done
    * Accessing device...done
    * Reading device information...done
    * Loading file into device...
    # Exit: 59
    # ERROR: File type could not be identified
    * Starting target code execution...done
    * Disconnecting from device...done
    *
    * ----------------------------------------------------------------------------
    * Driver      : closed (No error)
    * ----------------------------------------------------------------------------
    */

  • I've found the problem :

    Steeping through the code I notice that "writes" have no effect to memory. I suspect the MPU to be enabled or not properly configured

    Adding a line to disable it let the program go almost normally:

        Board_initUART();
       
        MPUCTL0 = MPUPW; // disable MPU

        /* Construct BIOS objects */
        Task_Params taskParams;

        Task_Params_init(&taskParams);
        taskParams.stackSize = TASKSTACKSIZE;
        taskParams.stack = &task0Stack;
        taskParams.instance->name = "echo";
        Task_construct(&task0Struct, (Task_FuncPtr)echoFxn, &taskParams, NULL);

    Then it halt in the process on the line

    uart = UART_open(Board_UART0, &uartParams);

        if (uart == NULL) {
            System_abort("Error opening the UART");
        }

    I guess there are not enough uart defined for this board..

    Kind Regards,

    Marc Nicollerat.

  • Hello Marc,

    Marc Nicollerat said:

    I've found the problem :

    Steeping through the code I notice that "writes" have no effect to memory. I suspect the MPU to be enabled or not properly configured

    Adding a line to disable it let the program go almost normally:

        Board_initUART();
       
        MPUCTL0 = MPUPW; // disable MPU

    Excellent debugging! I was able to replicate this issue and after digging around internally, and I discovered that this is indeed a bug that has already been reported. However, thank you for bringing it to my attention. As you've already discovered, the MPU was getting enabled by default in the CCS project properties.

    Can you try removing the MPUCTL0 line of code and going into the project properties (General -> MPU) and uncheck "Enable Memory Protection Unit"? It may not do anything differently than your line of code, but since you're facing another issue related to the UART, I want to make sure.

    For me, after doing changing this in the project properties, I could send UART characters and receive the echo. I made the change, downloaded and debugged the code, stopped the debug session, unplugged the LaunchPad and plugged it back in, and then opened a terminal at 9600 baud. Note that I used the on-board debugger (eZ-FET) and not the MSP-FET, so I had all jumpers populated on J13. If you're using the MSP-FET, it should work the same but you may need to remove some or all the jumpers on J13 (see the LaunchPad's User's Guide for more details).

    For your reference, here's the original thread where this issue was reported.

    Regards,

    James

    MSP Customer Applications

**Attention** This is a public forum