通过网络连接,极大地提高了PC与DSP之间的数据传输速率(相对于USB连接而言)。
在记录06(点此跳转)中给出了一个简单的测试示例,但是那只能传输很少的数据。
如果将数据(buffer)尺寸设置为一个较大的值(如2048等)就会出现timeout的错误。
在这种情形下更不用说传输一个大文件了,因此我们需要寻找一种解决方案。
本文正是为此而展开。
核心思想是:
1.在PC端,打开文件,分块读取数据到buffer(比如每一块大小为2KB等)
2.在PC端,每次读取数据到bufer后将buffer数据发送到socket
3.数据经过网络连接传送到DSP端
4.DSP端不断处理(暂存)ETH0接口收到的数据并发送响应
5.在PC端,每次发送一个数据块之后等待来自DSP的响应,之后才发送下一块
6.在PC端,不断发送数据块,直到整个文件数据发送完毕,最后关闭连接
经过测试发现,将文件分成2048B(=2KB)大小的块进行发送是一个比较好的选择。
每次发送2KB被DSP收到后立即被处理,然后DSP发回响应,表示已经收到这个数据。