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/TMS320F28379D: Gui Composer running from Flash

Part Number: TMS320F28379D

Tool/software: Code Composer Studio

Hi E2E,

I have a question regarding Gui Composer when running from Flash. I program F28379D with the Control Card and the JTAG emulator on the Control Card. 

I flash the program to the device, so it is already running. I use a GPIO which goes high when the program enters the interupt and goes low when the interrupt is finished. I observe this toggling GPIO on a scope. The interrupt is running at 20 kHz. 

When I start the GUI (either in cloud or in standalone) the GUI connects properly and I can observe and change variables. My problem is that although I do not program the device when starting Gui composer, there is a small interuption in my program. I can see this interuption because the GPIO stops toggling for a short time. 

Is this the usual behaviour? Or is there any way to avoid that the programm is stopped when i connect the device via JTAG / XDS ?

Thanks in advance and best regards

MK

  • user5341576 said:
    My problem is that although I do not program the device when starting Gui composer, there is a small interuption in my program. I can see this interuption because the GPIO stops toggling for a short time. 

    Do you just see a momentary halt during the hardware connection or does it also reset the device? For instance, if you keep count of the number of items the interrupt is serviced, do you see that count getting reset when the GUI connects to the device? That seems to be the behavior I observe. 

    I will need to investigate this further regarding the expected behavior and get back to you.

  • Earlier I was doing some tests in CCS and connecting to a program in Flash. My question about device reset was concerning something I had observed but turned out I was actually doing something incorrect. I think we can ignore that for now since we are talking about GUI Composer here. What you are observing may be momentary interruption when GC connects to the device, but the device should continue running after connection.

  • AartiG said:

    What you are observing may be momentary interruption when GC connects to the device, but the device should continue running after connection.

    That is exactly what I observe. The question is if  I can avoid this momentary interruption?
  • Currently there isn't a way to avoid it. I have filed an enhancement request to see if this is something we can support in a future release. The tracking # for the request is GC-2217. At this time I cannot provide a timeline though as it will need to first be evaluated by the development team. Thank you for your understanding.

  • Thank you very much for that answer.

    What would happen if I use the Gui Composer with a SCI / UART connection instead of the XDS connection? Would it be possible to connect to a running application with GUI composer via SCI / UART wihout a momentary interruption?

    I definitely need something which does not interrupt the program. Or can you propose another straightforward solution to me with manageable effort to implement?

  • Since CCS supports non-intrusive connection for C2000 when real-time mode is enabled, I wonder if running the GUI from within CCS (ie GUI exported to CCS desktop view) might be an option. The connection would then be established by CCS and the GUI would run in one of CCS's views. I personally have not tried this out myself but in theory it sounds like it should work.

    Please see this quicktip video on how to enable real-time mode in CCS and connect to a running target. There might be some specific considerations for the F28379D different from the device used in the video. If so, I would suggest checking in the C2000 device forum and they should be able to clarify if any specific settings are required to connect in real-time to F28379D device.

    Hope this helps. 

  • AartiG said:

    Since CCS supports non-intrusive connection for C2000 when real-time mode is enabled, I wonder if running the GUI from within CCS (ie GUI exported to CCS desktop view) might be an option. The connection would then be established by CCS and the GUI would run in one of CCS's views. I personally have not tried this out myself but in theory it sounds like it should work.

    Thanks a lot for that suggestion with the CCS desktop view. I will try that. 

    But what about the idea of using the SCI / UART connection instead of the XDS? Would it be possible to connect to a running application with GUI composer via SCI / UART wihout a momentary interruption?

  • I checked with a GUI Composer expert about this and they said it should be possible, but they would require changes to the target application.

    In GC, there are probably 3 main ways that one could connect using UART: 

    1. Program model with Monitor mode : It works just like XDS but it uses a fixed serial protocol with code in FW to perform non-intrusive memory reads/writes. In this case GC app polls the target for changes (just like XDS) , so probably not most efficient option.

    a) GCv2 tutorial here: https://dev.ti.com/gc/designer/help/GC_UserGuide_v2/monitor.html

    b) More detailed example with an old 28x fw using GCv1 (FW and actual protocol should be re-usable with no changes in GCv2) : https://processors.wiki.ti.com/index.php/ProgramModelUart_GuiComposer

    2. Streaming with JSON formatted strings : Target sends data to PC in JSON format, the format of strings being sent is somewhat defined. The main benefit is that GC has a parser built-in thus parsing of this data does not require code development

    a) Tutorial : https://dev.ti.com/gc/designer/help/GC_UserGuide_v2/serial.html#

    3. Custom Codec : In this case it is up to developer to define the protocol, but javascript needs to be used to develop custom codec (in summary a custom data parser)

    a) It is least documented, but information that we do have is listed in this section of users Guide: https://dev.ti.com/gc/designer/help/GC_UserGuide_v2/targetprog.html#usb-uart-custom

     

    Hope this is helpful.

  • Thank you. We can close the thread now.
    I will test the suggested solutions.