This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

omapl 138 sd linux驱动疑问咨询

芯片手册描述到MMCST0寄存器的DXRDY状态位是:当FIFO中数据长度小于设置的FIFOLEV时,DXRDY会被置1.

但在linux-3.3-psp03.22.000.6.sdk,Davinci_mmc.c中断处理如下:检测到DXRDY置位时,向FIFIO中连续写入FIFILEV设置的长度。

这样有个疑问:假设FIFO设置为64字节,当传输过程中,FIFO减少一个字节后就会产生中断,并且置位DXRDY。这样按上述程序连续写入64字节进FIFO,这样FIFO不就溢出??

还是说我对DXDRY置位条件理解有误? 求助各位

  • 图片显示不出来,请到使用高级编辑器编辑文档里插入图片。
  • 芯片手册描述到MMCST0寄存器的DXRDY状态位是:当FIFO中数据长度小于设置的FIFOLEV时,DXRDY会被置1.

    但在linux-3.3-psp03.22.000.6.sdk,Davinci_mmc.c中断处理如下:检测到DXRDY置位时,向FIFIO中连续写入FIFILEV设置的长度。

    这样有个疑问:假设FIFO设置为64字节,当传输过程中,FIFO减少一个字节后就会产生中断,并且置位DXRDY。这样按上述程序连续写入64字节进FIFO,这样FIFO不就溢出??

    还是说我对DXDRY置位条件理解有误? 求助各位