工具/软件:TI-RTOS
您好!
我们创建了一个从编码器链路接收数据的链路。
由于编码器链路在其输出队列中输出位流、因此我们在输入队列中使用 System_BitstreamBuffer。
在我们的链接中、当我们接收 system_CMD_new_data 时、我们从 System_BitstreamBuffer 获取数据指针地址和数据大小。
在我们将地址和大小传递给 NSP 以直接进行网络发送之前、这是有效的、数据似乎在 NSP 通过网络接口发送数据之前完全写入。
但是、现在我们需要在发送数据之前计算校验和。
问题是、System_BitstreamBuffer 在写入 system_CMD_new_data 时通知数据地址和数据大小、同时仍写入实际数据。
这会导致我们的校验和计算产生错误的结果。
请参阅下面的内存转储:
在 system_CMD_new_data 期间传输■数据
0000 00 00 01 21 9a 01 3a 74 41 D7 00 03 00 00 0010 03 00 03 00 03 00 03 00 03 00 03 00 00 03 00 03 00 03 00 03 00 03 0020 01 69 fc 5c 31 C2 5d 79 64 d0 C7 1a fe F8 0C 0030 E2 99 D4 df 83 EB EC 11 0A 51 79 26 E1 db 08 12 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
■传输到 NSP 后实际发送的数据
0000 00 00 01 21 9a 01 3a 74 41 D7 00 03 00 00 0010 03 00 03 00 03 00 03 00 03 00 03 00 00 03 00 03 00 03 00 03 00 03 0020 01 69 fc 5c 31 C2 5d 79 64 d0 C7 1a fe F8 0C 0030 E2 99 D4 df 83 EB EC 11 0A 51 79 26 E1 db 08 12 0040 D9 CD 6B a0 bc 10 39 E4 A5 E6 6B A3 E4 bb e8 7c 0050 C9 2b A8 96 44 42 80 3f 4e 8a 90 2e 6B 3b 45 1b 0060 D3 97 6d de 4c de B3 0f 99 96 0b 1a C6 AB 77 bb 0070 29 12 63 ee F5 C6 ae 3f 5b D8 f2 7b 4D F4 bf 5F 0080 d6 AC 44 BA 0A 2D A1 2e 2f 4e D9 54 a0 70 F5 dc 0090 3b B1 b9 15 1a B2 98 73 05 D4 53 C3 ff 21 2a 67
由于我们需要等待完整数据才能计算正确的校验和、我们是否可以询问以下问题:
如何确保 System_BitstreamBuffer 上的写入完成?
您能提供正确的 API 吗? 我们尝试在 xCHM 中找到它、但找不到它?