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/AM5708: DSP IPC debug

Part Number: AM5708

Tool/software: Code Composer Studio

Hi:

Linux version: ti-processor-sdk-linux-rt-am57xx-evm-05.03.00.07,  hardware version: AM5708-ES2.0, custom board,

RTOS version: ti-processor-sdk-rtos-am57xx-evm-05.03.00.07

CCS version: 8.3.0

Emulator version: xds200

Ubuntu version:16.04

Reference example: ~ / ti-processor-sdk-rtos-am57xx-evm-05.03.00.07/ipc_3_50_03_05/examples/DRA7XX_linux_elf/ex02_messageq/dsp1.

1.Compile the source file in ubuntu environment, generate the server_dsp1.xe66 file, and use CCS for single-step debugging

2.  Run it on the emulator. After the simulation enters the main function, it runs to the call of IpcMgr_ipcStartup (); and waits until it is found in VirtQueue_startup () while (Resource_getVdevStatus (VIRTIO_ID_RPMSG)! = VRING_BUFS_PRIMED); cannot jump out.

3.The server_dsp1.xe66 output to linux runs without problems.

cp ~/server_dsp1.xe66 /lib/firmware/dra7-dsp1-fw.xe66
cd /sys/bus/platform/drivers/omap-rproc/
echo 40800000.dsp > unbind
echo 40800000.dsp > bind
cat /sys/kernel/debug/remoteproc/remoteproc

There are problems running on the simulation, how can I solve this? Or how to do DSP simulation under IPC? help me.

source file:

3250.ex02_messageq.zip

Thanks

  • Hello,

    When the DSP image is loaded from /lib/firmware, the Linux kernel remoteProc framework will parse the system resources defined in the resource table that is linked into DSP image, allocate rpmsg vring buffers and the trace buffer, and configure the DSP MMU. The default DSP resource table is ./packages/ti/ipc/remoteproc/rsc_table_vayu_dsp.h. If you load the DSP image with CCS JTAG connection, the step will be skipped and you should observe different results when trying to establish the communication between host and DSP. You may check the MMU config discrepancy with the two approaches by looking into the TLB page table: cat /sys/kernel/debug/omap_iommu/<iommu_name>/pagetable.

    To debug DSP side application, after you load the DSP image from /lib/firmware, you can connect to the core from CCS and then load ONLY the image symbols to examine the code (In CCS, Run > Load > Load Symbols) . Alternatively, you can add some Log_print in the DSP code, and then check the print log from host Linux terminal, for DSP1, the log is in /sys/kernel/debug/remoteproc/remoteproc2/trace0.

    Please also review the following article for more IPC debugging techniques.

    IPC Debugging Tools and Techniques on AM57xx

    Regards,
    Sahin