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.

AM263P4: CLion IDE causing errors when updating core "Registers".

Part Number: AM263P4
Other Parts Discussed in Thread: SEGGER

Tool/software:

I’ve been working with CLion and OpenOCD/GDB-multiarch and there are a bunch of issues that I need help resolving.

 I understand TI is not familiar with CLion, but I’m hoping you have the expertise to help point me in the right direction on these issues.

 There are definitely several issues that need to be explained, but the one that did not have a workaround is the debugger generating errors whenever the ARM core “Registers” are updated.

 Whenever the applications automatic “Registers” group of registers are updated it generates the following errors on the GDBserver.  See the Clion video attached.

Error: data abort at 0xb0622de7, dfsr = 0x00000008
Error: data abort at 0x00008004, dfsr = 0x00000409
Error: data abort at 0xb0622de7, dfsr = 0x00000008
Error: data abort at 0x00008004, dfsr = 0x00000409
 

Looks like CLion is trying to access a couple of invalid address when the Registers is updated.  I’m hoping the Registers list is something that can be found in OpenOCD .cfg or something like armv4_5.c, and it’s something that just needs to be fixed for the R5 core.

 

Thanks for any help. 

PS. I will be contacting CLIon/Jetbrains as well.  But they may say a generic function is called and it’s an MCU implementation issue.  Please provide any information that may help.

 

 

Additional information that may help:

  • When using OpenOCD and gdb-multiarch from WSL shell manually, running “info registers” does not generate these errors.  See WSL video attached
    • But not sure if this is the same command used in CLion when “Registers” is updated
  • Here is a list of the registers updated in CLion
  • Here is the response from CLion.  I enabled diagnostics logging and sent them the log while I refreshed the Registers.  

    Is there anything that needs to be fixed in OpenOCD source or .cfg files to support this operation?

    CLion interacts with GDB using mi2 format.
    
    Register reading statements from your log:
    42-data-list-register-values --thread 1 --frame 0 --skip-unavailable r 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 25 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
    

  • Hi Huey,

    Unfortunately, we could not reproduce the issue on our side.

    The register config is set in the architecture file itself, where as the base addess is provided in am263x.cfg file

  • What is the observation upon applying the CLion IDE support team response?

  • Jetbrains (CLion) basically said, when the "Register" registers are updated, the following command was seen in the diagnostics logs.

    CLion interacts with GDB using mi2 format.
    
    Register reading statements from your log:
    42-data-list-register-values --thread 1 --frame 0 --skip-unavailable r 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 25 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112

    This is the command that reads all the core registers and displays it in the "Threads and Variables" window shown above.  I personally don't understand what it "mi2 format" or all the numbers mean.  I'm hoping it makes sense so someone at TI.

    Maybe there is a number in there that represents an address that it is trying to access that is invalid and causing the "data abort" messages.

    The log mentions 42 registers, the window displays 39 registers and the error seems to be access 2 addresses.   missing 1.

  • Hi Huey,

    Let me check this quick look at google does give some result. l will check this.

  • Hi Huey,

    I will close this thread now. As per our discussion its best to continue with segger based debugger solution.