snikeguo opened a new pull request, #16464: URL: https://github.com/apache/nuttx/pull/16464
*Note: Please adhere to [Contributing Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md).* ## Summary Add DMA Alignment Component and Integrate It into the MMC Driver ## Impact I believe DMA management should be handled by device drivers, not by the FAT layer. For more details, see: @apache/nuttxhttps://github.com/apache/nuttx/issues/16415 during MMC/TF card enumeration, DMA should not be used because the data volume is only a few bytes. Linux is also designed this way. ## Testing MMC Write Logic: mmcsd_writemultiple() { .... mmcsd_transferready(); ... SDIO_DMASENDSETUP(); } In the current code (https://github.com/apache/nuttx/commit/b05ec7729d9b7fe85a6f11bfbb2da979255f44b7), I found that after writing multiple sectors, when sending ACMD51 and then querying R1, the error rate is very high. test code: int r1_error_cnt=0; mmcsd_transferready() { ... ret = mmcsd_get_r1(priv, &r1); if (ret != OK) { ferr("ERROR: mmcsd_get_r1 failed: %d\n", ret); return ret; } /* Now check if the card is in the expected transfer state. */ if (IS_STATE(r1, MMCSD_R1_STATE_TRAN)) { /* Yes.. return Success */ priv->wrbusy = false; return OK; } extern int wm_called; if(wm_called) { r1_error_cnt++; } }  With my code, the test results show no errors.  -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org