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个数据,该如何正确修改程序和数据类型呢?
特来请教
谢谢
Green Deng:
你好,具体改的是什么位置?程序修改了哪些?
@vince 说:发现单步运行在ipc_ex1_basic_c28x1
这里是只有单步运行会出现这种情况吗?
,
@vince:
您好,谢谢回复
之前跑飞的情况,已经解决。
有个新的问题。
我这边,目前是将上面的十六进制可以发送到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