关于运行FATFS的SD卡的SDIO DMA使用问题

发布于 2021-03-08 18:29:00

您好,我在开发通过网口读取SD卡的功能。

我给读取SD卡(一次读8192字节,约2.5ms)和网口发送(约1ms)各自建立了一个线程。

rt-thread应该默认就为FATFS读打开了DMA模式,所以我的期望是在SD卡线程DMA读的同时能让网口发送线程同时也发送上一周期已经读取到的SD卡的数据。

这样SD卡读和网口发送两个线程流水操作,使SD卡读的频率尽量高,最好能一个2.5ms跟着下一个2.5ms,就能使SD卡读取的速度最大化。

我的实际测试结果是两个线程虽然分时执行了,但是似乎并没有实现流水线,两个线程读一次大约用了3.5ms,也就是说两个线程实际上可能还是类似串行的。

请问像这种读SD卡,然后往外发送的程序应该怎么写,才能把SD卡的DMA读的功能最大化地发挥出来呢?

谢谢!!!

查看更多

关注者
0
被浏览
220
1 个回答
StackYuan
StackYuan 2021-03-09

线程之间使用信号量、邮箱等方式实现同步,应该就能解决好吧

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览