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.

TMDSCNCD28388D: C2000 IPC

Part Number: TMDSCNCD28388D

你好,我正在调试IPC在CPU1与CM4之间的数据通信。

使用的例程是:ipc_ex1_basic_c28x1和ipc_ex1_basic_cm

目前,已经可以从CPU1发送0到9到CM4中。

然后,我将发送的数组中的内容改成我们自己的数据。发现单步运行在ipc_ex1_basic_c28x1的时候,会在IPC_sync(IPC_CPU1_L_CM_R,IPC_FLAG31)这一句中跑飞。

我的数据是:0xAA,0x55,0x00,0x00,0x01,0x34,0x00,0x00,0x00,0x1D,0x00,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x14,0x15,0x06,0x17,0x0F,0x3B,0x1C,0xA1,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x59,0xEE,0x5B,0x13,0x21,0x1A,0x01,0x40,0x42,0x0D,0x49,0x03,0x7F,0x10,0x81,0x3F,0xF5,0x1E,0xB8,0x51,0xEB,0x85,0x1F,0x01,0x02,0x03,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0xD5

修改完程序后,接收到的数据,有两种情况,第一种是:前66个数据是正常的,后54个数据是错误的。

第二种情况是:

接收到的数据是:aa,00,00,00,55,.......

每个数据之间都会夹着三组00

应该是数据类型出问题了。

想要通过IPC发送上面那个120个数据,该如何正确修改程序和数据类型呢?

特来请教

谢谢

  • 你好,具体改的是什么位置?程序修改了哪些?

    发现单步运行在ipc_ex1_basic_c28x1

    这里是只有单步运行会出现这种情况吗?

  • 您好,谢谢回复

    之前跑飞的情况,已经解决。

    有个新的问题。

    我这边,目前是将上面的十六进制可以发送到CM4核中,接收到的数组我定义成了uint32_t  UDPdata[120]  ,通过UDP协议将UDPdata[120]向外发送的时候,在端口精灵上,接收到的数据是aa  00 00 00 55......

    但是,我想要的,接受到的,应该是:aa 55......

    中间的3个0该怎么去掉呢?

    之前,考虑的是,改变定义的数组类型。尝试之后,还是没有办法将00完全去掉。

    特来请教、

    谢谢

    使用的两个例程,如下:

    CM_UDP03.raripc_ex1_basic_c28x1.rar