Atmel SAMV71 SDIO接口操作注意环节

一、SDIO接口操作SD卡主要方式

方式 优势 弊端 适用场合
单块轮询 + 中断读写 不断与SD卡命令交互,耗时,同时很容易引起SD卡长时间应答等待,导致写数据会很慢 适合写入字节数不大于512B的数据量
多块轮询 + 中断读写 相对单模块,速度较快,不用与SD卡频繁交互命令 多块写数据期间,必须进入临界区,防止被中断打断而数据写入错误,(如写入两块数据,需时间2.3ms,其他任务无法进行调度) 适合写入字节数大于512B的数据量,且对实时性要求不高的场合
多块DMA+ 中断读写 不用与SD卡频繁交互命令,不占用CPU,为最佳选择 适合写入字节数大于512B的数据量,适合任何场合

备注:1、每块大小为512字节
    2、进入临界区即写操作期间,其他任何操作操作都不能打断

二、注意

    1、设置SD卡块数之前,必须先设置自己寄存器的块数,否则在多块写时,会写不进去;

    2、使用DMA模式时,在设置SD卡各相关参数之前必须先使能自己寄存器的DMA,否则,DMA写数据写不进去;

你可能感兴趣的:(嵌入式学习)