Fatfs + DMA不等待 + OS管理 + LL库重构SDMMC驱动

2019-08-14 14:54发布

效率高于官方HAL库,.官方HAL和LL是结合用的,但是官方的LL其实也是HAL的一部分.我这个是完全LL库,修改过的LL库和自己优化过的逻辑结构.
并且有个超级完善的结构体,用操作系统信号量控制DMA传输,不要查询标志浪费CPU资源,非常方便.

先看看我定义的结构体.

2017-05-09_190854.png

TF卡上的CID CSD已经全部解释出来了.当然不是所有卡都是全齐字段的,我这种OV的山寨卡,贪便宜买的就有些没有.

DMA不查询标志位,用中断方法,然后中断发生后,操作系统所在任务才唤醒.也就是说,只要发了f_write之类的指令,任务就会马上挂起,然后等写入完成了,任务再继续进入,不需要占用CPU.

微信截图_20170509192023.png

程序基于STM32F769 DISCO实现,可以很方便移植到别的平台,包含了基本的测试.

STM32F769程序LL库FreeRTOS实验SDMMC_V2.zip (4.81 MB, 下载次数: 967) 2017-5-9 19:23 上传 点击文件名下载附件





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
cl17726
1楼-- · 2019-08-14 15:15
 精彩回答 2  元偷偷看……
jinggx
2楼-- · 2019-08-14 18:32
赞,很不错!
进击的咸鱼
3楼-- · 2019-08-14 22:40
顶上去
l6931639
4楼-- · 2019-08-14 23:25
LL裤用的人还很少,我也刚刚开始学
HinsShum
5楼-- · 2019-08-15 03:35
问个题外的问题,LL库里面的rcc文件中关于计算系统时钟频率的函数是有问题的(LL_RCC_PLL_GetPrediv),楼主有没有发现过
cl17726
6楼-- · 2019-08-15 04:45
 精彩回答 2  元偷偷看……

一周热门 更多>