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.

TMS320F28P650DK: GUI Composer can't connect: ds-service-firmware.data is `null`

Part Number: TMS320F28P650DK

event_log.csv 

I'm trying to get a Hello World example working on my F28P65x launchpad connected to my computer with USB C. I can enter debug with CCS 20.3.1.5 and I have an LED blinking to show when it's working. 

First I tried using the simplest v2 GUI with XDS, but I was unable to correctly attach to any of the global variables. A few threads on this site said to use v3 so I have that set up with this code:

    <gc-target-connection-manager id="connection_manager" auto-connect active-configuration="xds+pm">
        <gc-transport-xds id="xds" device-name="TMS320F28P650DK9" connection-name="Texas Instruments XDS110 USB Debug Probe"></gc-transport-xds>
        <gc-model-program id="pm" program-or-bin-path="C:\Users\StewartInnes\Documents\Dev\launch_cbd_test\single_phase_launchxl-F28P65X\launch_cbd_test_cpu1\FLASH_LAUNCHXL\launch_cbd_test_cpu1.out"></gc-model-program>
  </gc-target-connection-manager>

I've tried adding attributes for ccxml-path and coreName, with no success.

Any help with this specific problem or a suggestion for a simpler way to connect a gui to this launchpad would be helpful. Thanks!

 

  • Hello,

    First I tried using the simplest v2 GUI with XDS, but I was unable to correctly attach to any of the global variables.

    Is your GC app able to establish connection with the target? Can you export your project and attach it to this thread?

    Thanks

    ki

  • I was able to get GC to connect to a simple blinky example (single core), but I had to upload my own ccmxl file into the project by uploading it as the .out file and then selecting the .out file again (attached).

    Wondering if my issue is a combination of two issues, I'm now trying to get a dual core blinky example to work in debug before I attempt to connect it to GC, but I'm running into issues when I use a flash build instead of RAM. I haven't found any documentation to support the dual core blinky; I have to edit some configuration to get anything to work and I'm still getting the following errors which mention a plugin that doesn't exist in CCS 20.3:

    C28xx_CPU1: If erase/program (E/P) operation is being done on one core, the other core should not execute from shared-RAM (SR) as they are used for the E/P code. User code execution from SR could commence after the selected flash banks are programmed.
    C28xx_CPU1: Only CPU1 on-chip Flash Plugin can configure clock for CPU1, and CPU2 Flash operations. Plugin automatically configures PLL when CPU1 Flash operations are invoked. However, if users want to do only CPU2 Flash operations without doing a prior CPU1 operation in the current session, they should click on 'Configure Clock' button in CPU1's on-chip Flash Plugin before invoking CPU2 Flash operations. When this button is used, Flash Plugin will configure the clock for CPU1/CPU2 at 200MHz using INTOSC as the clock source. Plugin will leave PLL config like this and user application should configure the PLL as required by application.
    C28xx_CPU1: Before doing any flash operations using the flash plugin, (a) Please select which flash banks should be mapped to which CPU (CPU1 vs CPU2) - This selection should be done in CPU1 flash plugin GUI. (b) Please select the flash banks that the user would like the flash plugin to erase (in the CPU1 flash plugin GUI and the CPU2 flash plugin GUI)
    C28xx_CPU1: GSxMSEL register configured correctly
    C28xx_CPU1: BankMuxSel register configured correctly
    C28xx_CPU2: If erase/program (E/P) operation is being done on one core, the other core should not execute from shared-RAM (SR) as they are used for the E/P code. User code execution from SR could commence after the selected flash banks are programmed.
    C28xx_CPU2: Only CPU1 on-chip Flash Plugin can configure clock for CPU1, and CPU2 Flash operations. Plugin automatically configures PLL when CPU1 Flash operations are invoked. However, if users want to do only CPU2 Flash operations without doing a prior CPU1 operation in the current session, they should click on 'Configure Clock' button in CPU1's on-chip Flash Plugin before invoking CPU2 Flash operations. When this button is used, Flash Plugin will configure the clock for CPU1/CPU2 at 200MHz using INTOSC as the clock source. Plugin will leave PLL config like this and user application should configure the PLL as required by application.
    C28xx_CPU2: Before doing any flash operations using the flash plugin, (a) Please select which flash banks should be mapped to which CPU (CPU1 vs CPU2) - This selection should be done in CPU1 flash plugin GUI. (b) Please select the flash banks that the user would like the flash plugin to erase (in the CPU1 flash plugin GUI and the CPU2 flash plugin GUI)

    1680.blinky.zip

  • Hello,

    Please see my older post (and following replies) which covers an F28x multi-core environment with GCv3:

     RE: TMS320F28379D: C2000 microcontrollers forum 

    Hope this helps

    ki