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/AM3352: CCS 7.2.0.00013 under Ubuntu 16.04 crashes with SIGABRT when attempt to use Segger J-Link support v6.16.7.0 to debug an AM3352

Part Number: AM3352
Other Parts Discussed in Thread: SEGGER, , CCSTUDIO, TM4C1294NCPDT

Tool/software: Code Composer Studio

Updated a CCS 7.2.0.00013 installation under Ubuntu 16.04 with SEGGER J-Link Support (Linux) 6.16.7.0, in order to test the fix for the problem in CCS/AM3358: AM335x EVM connection fail using J-Link emulator. However, when starting for a debug session for a AM3352 connected with a Segger J-Link CCS repeatedly crashes with SIGABRT. No crash dump logs are generated.

SIGABRT occurs when a Linux application calls the abort() function. By attaching the native Eclipse debugger to the ccstudio process and setting a breakpoint on abort() the ccstudio stack backtrace at the point abort() was called is the following:

This shows that the GTI_GET_TARGET_PROPERTIES function in the JLINK2GTIAdapter.dvr is calling abort(), which causes CCS to exit, after an assertion failure has occurred. Not sure what causes the assertion failure.

The crash appears to be the combination of trying to use a Segger J-Link with an AM3352 under Linux since:

a) CCS 7.2.0.00013 with Segger J-Link support v6.16.7.0 running under Ubuntu 16.04 crashes when trying to debug an AM3352 using a Segger J-Link.

b) CCS 7.2.0.00013 with Segger J-Link support v6.16.7.0 running under Windows 10 is able to successfully debug an AM3352 using a Segger J-Link.

c) CCS 7.2.0.00013 with Segger J-Link support v6.16.7.0 running under Ubuntu 16.04 is able to successfully debug a TM4C1294NCPDT using a Segger J-Link.

  • Chester,

    Interestingly, I was able to connect and work with my Jlink and the original 6.14.0.e on CCSv7.2.0 - installed as admin and running as admin. (ignore the header on the screenshot below; it is in fact 7.2.0)

    More interestingly, however, is that installing the updated version 6.16.7.0 did not change the outcome. I can still connect to the target.

     

    One detail I just found (and filed as bug number CCDSK-2726) is that, when CCSv7.2.0 is installed as sudo, it leaves behind heaps of directories without execute permissions for all users, thus causing all sorts of issues.

    Is this what may be happening in your case?

    Regards,

    Rafael

  • desouza said:
    One detail I just found (and filed as bug number CCDSK-2726) is that, when CCSv7.2.0 is installed as sudo, it leaves behind heaps of directories without execute permissions for all users, thus causing all sorts of issues.

    I installed CCSv7.2.0 from my user account, and when the Segger J-Link support v6.16.7.0 update was installed CCS was running from my user account.

    Therefore don't think permissions are the cause of my failure, but will re-check when next get access to the PC.

  • Hello,  

    Were you able to figure out the issue?  I am also having problems connecting.

    Kelsey

  • Kelsey Morgan said:
    Were you able to figure out the issue?

    Not yet.

    Kelsey Morgan said:
     I am also having problems connecting.

    Is CCS crashing with a SIGABRT, or are the symptoms different?

  • The symptoms were different.  We were attempting to establish a connection with our own made a evaluation board, and also tried the Olimex AM3352 SOM EVB rev D.  

    https://www.olimex.com/Products/SOM/AM3352/AM3352-SOM-EVB/open-source-hardware 

    I also reinstalled the J-Link software with these instructions, and updated CCS to the most current version.  

    https://www.segger.com/products/debug-probes/j-link/technology/ides/ti-code-composer/ 

  • Kelsey Morgan said:
    The symptoms were different.

    Are you able to provide any more details on the symptoms?

    Kelsey Morgan said:
    We were attempting to establish a connection with our own made a evaluation board, and also tried the Olimex AM3352 SOM EVB rev D.  

    I was actually using a Olimex AM3352 SOM EVB with the tests for the Segger J-Link. Under Windows was successful, whereas under Linux CCS crashed.

    In case you aren't aware, the Olimex AM3352 SOM EVB has a 20-pin 0.10" JTAG connector, but is actually wired with the pin-out of a Compact TI 20-Pin (cTI) connector.

    To connect the JTAG on the Olimex AM3352 SOM EVB to the Segger J-Link had to use an adapter to convert between:

    a) The Segger J-Link 20-pin 0.10" ARM 20-Pin pin-out.

    b) The Olimex AM3352 SOM EVB 20-pin 0.10" Compact TI 20-Pin (cTI) pin-out.

  • desouza said:
    More interestingly, however, is that installing the updated version 6.16.7.0 did not change the outcome. I can still connect to the target.

    On further investigation the CCS crash is sensitive to the program being debugged. When I found the crash was using:

    - Ubuntu 16.04

    - CCS 7.2.0.00013

    - SEGGER J-Link Support (Linux) 6.16.7.0
    - An AM3352 connected with a Segger J-Link

    - A program compiled with the GNU ARM v6.3.1 compiler which uses Semihost support

    If instead use a program compiled with the TI ARM v17.9.3.LTS compiler then the CCS debugger doesn't crash.

    I have attached the example program compiled with the GNU ARM compiler which causes my CCS to crash when starting a debug session. The program should run on a BeagleBone black (I was using a custom AM3352 board which is compatible with the BeagleBone_Black board GEL script).

    2781.AM3352_gcc_hello.zip

    In the zip file there is also:

    1) The debug_server.log for the debug server log leading up to the crash, which ends with:

    0x7FA34B58F700 6760 3  COM_DBG_IF R: 19CoBreakpointManager::OnBreakpointHit()
    0x7FA34B58F700 6760 3 CortxA8 GTI C: GTI_GET_TARGET_PROPERTIES( 0x00007FA3E42B28B0, 0x00000006 )
    0x7FA34B58F700 6841 1  ERT E: A crash occurred - dump file written to "/home/mr_halfword/.ti/ccs720/0/dmp/"

    2) 0c3312bb-714d-60f7-54949280-672b77db.dmp which is the crash dump file.

    When CCS is restarted after the crash the crash reporting dialogue doesn't appear, but manually found the crash dump file after seeing the output from the debug server log.

    Can the CCS crash be repeated with the attached example program?

  • Chester,

    Thanks for sending the testcase and please apologize for the delay; things have been quite busy.

    I can reproduce the collapse when using the code you sent, but overall it seems this version of Segger's drivers suffers from a broader instability. For example, CCS also hangs when I launch it with the Segger plugged to my unpowered BeagleBone - it may be detecting a power failure but never giving up in trying to connect.

    I will track down what may be going on in this regard with Segger, as it does not seem to look like a problem with the Debug Server or another TI component.

    I will report back to this thread.

    I apologize for the inconvenience,
    Rafael
  • desouza said:
    I will track down what may be going on in this regard with Segger, as it does not seem to look like a problem with the Debug Server or another TI component.

    Thanks for looking at this. There is no urgency on this as have other debug probes.

    SEGGER J-Link Support (Linux) 6.18.0.0 has just been released, but the crash still occurs with that update.