TMS320F28388D: CCS Graph (Time) not plotting float buffer correctly in CCS 20.4

Part Number: TMS320F28388D
Other Parts Discussed in Thread: CCSTUDIO, C2000WARE

Hello,

I’m facing an issue with Code Composer Studio Graph (Time) when plotting a float32_t buffer, and I would like to check if this is a known issue or a configuration change in newer CCS versions.

Context

  • Device: C2000 (F2838x)

  • CCS versions tested:

    • CCS 12.0 → works correctly

    • CCS 20.x → graph is incorrect

  • Buffer type: float32_t

  • Data source: written inside an ISR using DCL FDLOG (DCL_writeLog)

What works

  • The buffer values are correct when inspected in Watch/Expressions

  • The same firmware plots correctly in CCS 12.0

  • FDLOG initialization and logging are working as expected

Problem

In CCS 20.x, the Graph (Time) window does not plot the data correctly.
It looks like the graph is interpreting the buffer as the wrong data type, even though:

The plotted waveform looks corrupted, while individual buffer elements (e.g. SCOPE_AArr[0], [1], [2]) show correct floating-point values in the debugger.

Question

  • Is there an additional setting required in newer CCS versions?

  • Are there known issues with Graph + float32?

Any guidance or confirmation would be appreciated.

Thank you.

  • Hi Jose,

    We have some recent updates to the Graph tool in CCS v20. Are you making sure to use the latest version of the CCS IDE tool? In some instances, you also may need to prepend an ampersand & to the variable depending on the way your CCS Graph settings are structured. Can you send an image of what you're seeing on the Graph as well as your current CCS graph settings

    Regards,

    Peter

  • Hi Peter,

    Thank you for your response.

    I am currently using the latest version 20.4.0.13__1.10.0. I could not find any additional CCS Graph configuration settings beyond the screen shown below. I am also accessing the variable directly, without any extra configuration options.





    Based on my application, the Graph should display three sawtooth waveforms ranging from 0 to 1, but this is not what I am seeing.

    Could you please let me know where I can find the full CCS Graph settings, or if there is any specific configuration required for this type of signal?

    My verison:

    Details

    Version: 20.4.0.13__1.10.0

    Default VS Code API: 1.102.3

    VS Code Compatibility

    List of extensions

    • @ccs/ccstudio 20.4.0
    • @ccs/ccstudio-debug 20.4.0
    • @ccs/ccstudio-getting-started 20.4.0
    • @ccs/ccstudio-guicomposer 20.4.0
    • @ccs/ccstudio-plugin 20.4.0
    • @ccs/ccstudio-project 20.4.0
    • @ccs/ccstudio-support 20.4.0
    • @ccs/ccstudio-trace-config 20.4.0
    • @ccs/ccstudio-trace-viewer 20.4.0
    • @ccs/ccstudio-updater 20.4.0
    • @theia/ai-anthropic 1.64.1
    • @theia/ai-chat 1.64.1
    • @theia/ai-chat-ui 1.64.1
    • @theia/ai-code-completion 1.64.1
    • @theia/ai-core 1.64.1
    • @theia/ai-core-ui 1.64.1
    • @theia/ai-editor 1.64.1
    • @theia/ai-google 1.64.1
    • @theia/ai-history 1.64.1
    • @theia/ai-huggingface 1.64.1
    • @theia/ai-ide 1.64.1
    • @theia/ai-llamafile 1.64.1
    • @theia/ai-mcp 1.64.1
    • @theia/ai-mcp-ui 1.64.1
    • @theia/ai-ollama 1.64.1
    • @theia/ai-openai 1.64.1
    • @theia/ai-scanoss 1.64.1
    • @theia/ai-terminal 1.64.1
    • @theia/ai-vercel-ai 1.64.1
    • @theia/api-provider-sample 1.64.1
    • @theia/bulk-edit 1.64.1
    • @theia/callhierarchy 1.64.1
    • @theia/collaboration 1.64.1
    • @theia/console 1.64.1
    • @theia/core 1.64.1
    • @theia/debug 1.64.1
    • @theia/dev-container 1.64.1
    • @theia/editor 1.64.1
    • @theia/editor-preview 1.64.1
    • @theia/electron 1.64.1
    • @theia/external-terminal 1.64.1
    • @theia/file-search 1.64.1
    • @theia/filesystem 1.64.1
    • @theia/keymaps 1.64.1
    • @theia/markers 1.64.1
    • @theia/messages 1.64.1
    • @theia/metrics 1.64.1
    • @theia/mini-browser 1.64.1
    • @theia/monaco 1.64.1
    • @theia/navigator 1.64.1
    • @theia/notebook 1.64.1
    • @theia/outline-view 1.64.1
    • @theia/output 1.64.1
    • @theia/plugin-dev 1.64.1
    • @theia/plugin-ext 1.64.1
    • @theia/plugin-ext-headless 1.64.1
    • @theia/plugin-ext-vscode 1.64.1
    • @theia/preferences 1.64.1
    • @theia/preview 1.64.1
    • @theia/process 1.64.1
    • @theia/property-view 1.64.1
    • @theia/remote 1.64.1
    • @theia/remote-wsl 1.64.1
    • @theia/scanoss 1.64.1
    • @theia/scm 1.64.1
    • @theia/scm-extra 1.64.1
    • @theia/search-in-workspace 1.64.1
    • @theia/secondary-window 1.64.1
    • @theia/task 1.64.1
    • @theia/terminal 1.64.1
    • @theia/test 1.64.1
    • @theia/timeline 1.64.1
    • @theia/toolbar 1.64.1
    • @theia/typehierarchy 1.64.1
    • @theia/userstorage 1.64.1
    • @theia/variable-resolver 1.64.1
    • @theia/vsx-registry 1.64.1
    • @theia/workspace 1.64.1
  • Hi Jose, 

    If SCOPE_AArr is a variable, then you should prepend it with & symbol. Please refer to the Debug Overview software guide which makes note of this 

    https://software-dl.ti.com/ccs/esd/documents/users_guide_ccs/ccs_debug-main.html#graph-view

    I think that should help to resolve your issue

    Regards,

    Peter

  • Hello, thanks for the explanation. SCOPE_AArr is generated and managed by the DCL_FDLOG logger from C2000Ware - float32_t SCOPE_AArr[1000];. The buffer is filled during runtime, and the data appears correct when inspected in the Expressions and Memory views.

    I already tried using &SCOPE_AArr and also &SCOPE_AArr[0] in the Graph (Time) Start Address field, but without success—the plot is still incorrect in CCS 20.4.

    This same logger configuration works correctly in older CCS (12.0) versions, i used to use this way (&SCOPE_AArr[0])

  • Hi Jose, 

    What is the size of the SCOPE_AArr variable? When you change the capacity value from 1000 to a lower value, does the graph change as expected? Your graph seems to start at 1000 but I would expect it to start at 0 if you're trying to graph the buffer from the beginning. Is the graph updating during runtime even when no other datapoints are being added to the buffer?

    FYI we are planning some updates in 20.5 which will also improve some of the graph features, that should be releasing within the next few months

    Regards,

    Peter

  • Hi Peter,

    Thanks for the questions.

    The size of the SCOPE_AArr variable is unchanged; when I reduce the capacity value from 1000 to a lower number, the graph still looks the same, only showing a smaller portion of the signal.

    Based on the behavior, it looks to me like this is mainly a variable representation issue. The data seems to be interpreted as an integer when it should be treated as a float.

    To verify this, I did a quick test converting the buffer to int16 before plotting:

    debug_rampgen(&ramp_theta, THETA_STEP_RAD);
    ramp_theta_int = (int16_t)(ramp_theta * 100.0f);

    In this case, the plot behaves correctly, as shown in the image below.

    In CCS 12, it was possible to explicitly define the buffer data type in the plot (float, int16, int32, etc.). In this newer version, the tool comments that this is handled automatically, but it seems there may be a bug and the automatic detection is not working properly.

    Could you please check this behavior on your side and see if you can reproduce it?

    Best regards,
    Jose

  • Hi Jose, 

    Thanks for the updated information and it looks like your hunch is probably correct, it is not able to correctly interpret the datatype. I will need to test this on my side to better understand. Also allow me to discuss this with our CCS team to better identify if this has been seen by others

    Regards,

    Peter