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.

CCS/LAUNCHXL-F28379D: Using GUI composer v2(web) with

Part Number: LAUNCHXL-F28379D


Tool/software: Code Composer Studio

Hello All,

I am trying to build a simple GUI to display the status of the LED for a generic blinky example using the Launchxl-f28379D.  When using CCS I can download the code to RAM and run it through the debugger - it works fine.  When I try to build a GUI and bind the symbol to led (XDS)  it will connect to the board and download the program, but the LED indicator does not update and the LED on the board does not flash.

Any ideas about what I am doing incorrectly would be helpful.  Also,  when I try to bind the widget value to my global variable (led)  it does not show up as an option for binding when pressing ctr-space.

Here is the code.

// Included Files
//
#include "driverlib.h"
#include "device.h"

volatile uint16_t led;   // This is for exporting to GUI

//
// Main
//
void main(void)
{
//
// Initialize device clock and peripherals
//
Device_init();

//
// Initialize GPIO and configure the GPIO pin as a push-pull output
//
Device_initGPIO();
GPIO_setPadConfig(DEVICE_GPIO_PIN_LED1, GPIO_PIN_TYPE_STD);
GPIO_setDirectionMode(DEVICE_GPIO_PIN_LED1, GPIO_DIR_MODE_OUT);

//
// Initialize PIE and clear PIE registers. Disables CPU interrupts.
//
Interrupt_initModule();

//
// Initialize the PIE vector table with pointers to the shell Interrupt
// Service Routines (ISR).
//
Interrupt_initVectorTable();

//
// Enable Global Interrupt (INTM) and realtime interrupt (DBGM)
//
EINT;
ERTM;

//
// Loop Forever
//
for(;;)
{
//
// Turn on LED
//
GPIO_writePin(DEVICE_GPIO_PIN_LED1, 0);
led = 0;

//
// Delay for a bit.
//
DEVICE_DELAY_US(500000);

//
// Turn off LED
//
GPIO_writePin(DEVICE_GPIO_PIN_LED1, 1);
led = 1;

//
// Delay for a bit.
//
DEVICE_DELAY_US(500000);
}
}

//
// End of File
//

  • Bradley,

    I have seen something similar on C2000 before. I believe the issue is due to a reset command that happens in the GEL startup script is clearing the program if you have it loaded into RAM vs FLASH.

    The file is a bit hard to find but it is in
    <your user folder>\AppData\Local\Texas Instruments\TICloudAgent\loaders\ccs_base\emulation\gel

    the filename is f28379d_cpu1.gel

    If I clear this file then the program runs correctly in GUI Composer. I believe one of the commands in that file is clearing the RAM or some other state so that the program doesn't execute properly when loaded via GUI Composer.



    Regards,
    John

  • John,

    I appreciate your response. I gave it a try , but the behavior is still the same.

    Regards,

    Brad
  • John,

    I was wrong. Your solution worked. Thank a million.

    Regards,

    Brad
  • No problem. The issue is that the sequence of steps is a little different between GUI Composer and Code Composer Studio. In GUI Composer it connects, programs, disconnections as one step and then connects again to start the data transfer. That last step triggers another reset. It is only an issue when the program is in RAM and if we are using the debug probe for the data transfer (called XDS model in GUI Composer). I believe we are going to make a change to the tool so that this problem does not occur. I filed a defect to track that request. GC-1007

    Regards,
    John