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.

TDA4VM: Debug A72 application and kernel on A72

Part Number: TDA4VM


Hello,
We are working on an application with multiple nodes on TDA4x PSDK7.1 with QNX OS.
The application has nodes on multiple cores but the one of the processing nodes is on a72 core. There are many complex computations in this node.
When we try to run the application, we see that the application gives memory fault in one of the function calls.
When debugged further, we see that an access to one of the local array is causing memory dump.
Since this node is on a72, could you guide us to debug, assuming we might not have access to momemtics IDE.
Also, since we are facing memory dump when accessing a local array, this could be due to stack corruption.
Is there any way to increase a72 stack?
Regards,
Vinayak
  • Hi Vinayak,

    For debugging without the QNX IDE one suggestion would be to make use of the dumper and coreinfo utilities.  These will provide a basic trace back of the error from the QNX command prompt.

    Depending on the type of error you are encountering this link may be of use to you, 8.3. How To Handle Exceptions At Current Exception Level — Processor SDK QNX J721E.  With the changes mentioned at this link a bad memory access will be SIGSEGV, as opposed to a lockup.

    Other options for debug, include good old printfs, to see where error is occurring and/or hooking up a JTAG debugger.   The Trace32 from Lauterbach is QNX aware and could be used for this, but may be overkill for this type of debug.   The IDE would be recommended approach.

    Regarding stack size, see - Stack allocation (qnx.com)

    Regards,

    kb

  • Hi KB,

    Thank you for your suggestions. 

    We try to use the  coreinfo utility we get faced following error. 

    # coreinfo
    ksh: coreinfo: cannot execute - No such file or directory

     

    Then we tried dumper utility. we are able to generate app_name.out.core file but to analyze this file gdb is required.

    After running gdb command on our target board. we faced following error

    # gdb
    ksh: gdb: cannot execute - No such file or directory

    Hence, we used gdb installed on host machine (Ubuntu system). But we faced following error.

    #gdb app_name.out app_name.out.core 

    Starting program: /home/linux/dumper/app_name.out
    /bin/bash: /home/linux/dumper/app_name.out: cannot execute binary file: Exec format error
    /bin/bash: /home/linux/dumper/app_name.out: Success

    Note: 

    1. we are using custom hardware.
    2. QNX on target board is configured by client.
    3. we are using QNX Neutrino 7.0

    Kindly guild us for further debugging. 

    Regards,

    Vinayak

  • Hi Vinayak,

    The "coreinfo" binary is included in the QNX installation on your host machine.   For QNX 7.0 its path would be as below:

    qnx700/target//qnx7/aarch64le/usr/bin/coreinfo

    The binary must be made available in the filesystem that can be accessed while running on the target.  There are various options for this.  

    If you are mounting to an SD filesystem, then the coreinfo binary should be copied to the SD card.

    If not SD/eMMC filesystem is available, the coreinfo file can be pulled into the RAM filesystem, by included it in the BSP "build" file.

    Regards,

    kb

  • Hi Vinayak,

    As this is now being discussed offline, closing this thread.

    Regards,

    kb