未验证 提交 1c81a6d2 编写于 作者: W woody 提交者: GitHub

修复sdio读写块的地址偏移问题 (#6082)

* 修复sdio读写块的地址偏移问题
上级 b1fab894
......@@ -534,13 +534,17 @@ static rt_err_t swm_sdio_rxconfig(struct sdio_pkg *pkg, rt_uint32_t *buff, int s
{
struct rt_mmcsd_cmd *cmd = pkg->cmd;
struct rt_mmcsd_data *data = cmd->data;
int offset = 0;
for (uint32_t i = 0; i < data->blks; i++)
{
offset = i* data->blksize / 4;
while ((SDIO->IF & SDIO_IF_BUFRDRDY_Msk) == 0)
__NOP();
SDIO->IF = SDIO_IF_BUFRDRDY_Msk;
for (uint32_t j = 0; j < data->blksize / 4; j++)
buff[j] = SDIO->DATA;
{
buff[offset + j] = SDIO->DATA;
}
}
return RT_EOK;
}
......@@ -549,13 +553,15 @@ static rt_err_t swm_sdio_txconfig(struct sdio_pkg *pkg, rt_uint32_t *buff, int s
{
struct rt_mmcsd_cmd *cmd = pkg->cmd;
struct rt_mmcsd_data *data = cmd->data;
int offset = 0;
for (uint32_t i = 0; i < data->blks; i++)
{
offset = i* data->blksize / 4;
while ((SDIO->IF & SDIO_IF_BUFWRRDY_Msk) == 0)
__NOP();
SDIO->IF = SDIO_IF_BUFWRRDY_Msk;
for (uint32_t j = 0; j < data->blksize / 4; j++)
SDIO->DATA = buff[j];
SDIO->DATA = buff[offset + j];
}
return RT_EOK;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册