完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
使用rt thread 4.10版的SDIO接口和dfs接口,在使用RT1061的硬件SDIO初始化SD卡的时候开始的过程都正常,能够读出卡的大小(4G SDHC卡),但是在读第一个block的时候长时间没有响应:
msh /> src_clk: 54620688, usdhc_clk: 0, bus_width: 0 src_clk: 54620688, usdhc_clk: 375000, bus_width: 0 src_clk: 54620688, usdhc_clk: 375000, bus_width: 0 cmd->cmd_code: 00, cmd->arg: 00000000, cmd->flags: 00000060 --> resp 0x00000000 src_clk: 54620688, usdhc_clk: 375000, bus_width: 0 cmd->cmd_code: 08, cmd->arg: 000001aa, cmd->flags: 000001f7 --> resp 0x000001AA cmd->cmd_code: 55, cmd->arg: 00000000, cmd->flags: 00000031 --> resp 0x00000120 cmd->cmd_code: 41, cmd->arg: 00000000, cmd->flags: 00000074 --> resp 0x40FF8000 src_clk: 54620688, usdhc_clk: 375000, bus_width: 0 src_clk: 54620688, usdhc_clk: 375000, bus_width: 0 cmd->cmd_code: 00, cmd->arg: 00000000, cmd->flags: 00000060 --> resp 0x00000000 src_clk: 54620688, usdhc_clk: 375000, bus_width: 0 cmd->cmd_code: 08, cmd->arg: 000001aa, cmd->flags: 000001f7 --> resp 0x000001AA cmd->cmd_code: 55, cmd->arg: 00000000, cmd->flags: 00000031 --> resp 0x00000120 cmd->cmd_code: 41, cmd->arg: 40300000, cmd->flags: 00000074 --> resp 0x40FF8000 cmd->cmd_code: 55, cmd->arg: 00000000, cmd->flags: 00000031 --> resp 0x00000120 cmd->cmd_code: 41, cmd->arg: 40300000, cmd->flags: 00000074 --> resp 0xC0FF8000 cmd->cmd_code: 02, cmd->arg: 00000000, cmd->flags: 00000033 --> resp 0x03534453 0x55303447 0x800D386F 0xC700B200 cmd->cmd_code: 03, cmd->arg: 00000000, cmd->flags: 00000036 --> resp 0xE6240520 src_clk: 54620688, usdhc_clk: 375000, bus_width: 0 cmd->cmd_code: 09, cmd->arg: e6240000, cmd->flags: 00000003 --> resp 0x400E0032 0x5B590000 0x1D8A7F80 0x0A404000 [I/SDIO] SD card capacity 3872256 KB. cmd->cmd_code: 07, cmd->arg: e6240000, cmd->flags: 00000001 --> resp 0x00000700 cmd->cmd_code: 55, cmd->arg: e6240000, cmd->flags: 00000001 --> resp 0x00000920 cmd->cmd_code: 51, cmd->arg: 00000000, cmd->flags: 00000051 --> blksize:8, blks:1 resp 0x00000920 cmd->cmd_code: 06, cmd->arg: 00fffff1, cmd->flags: 00000011 --> blksize:64, blks:1 resp 0x00000900 cmd->cmd_code: 06, cmd->arg: 80fffff1, cmd->flags: 00000011 --> blksize:64, blks:1 resp 0x00000900 [I/SDIO] switching card to high speed failed! src_clk: 54620688, usdhc_clk: 25000000, bus_width: 0 cmd->cmd_code: 55, cmd->arg: e6240000, cmd->flags: 00000001 --> resp 0x00000920 cmd->cmd_code: 06, cmd->arg: 00000001, cmd->flags: 00000001 --> resp 0x80000920 src_clk: 54620688, usdhc_clk: 25000000, bus_width: 1 [D/SDIO] probe mmcsd block device! cmd->cmd_code: 17, cmd->arg: 00000000, cmd->flags: 00000051 --> blksize:512, blks:1 过了大概2分钟左右会有响应但是找到的是错的分区表: [D/SDIO] probe mmcsd block device! cmd->cmd_code: 17, cmd->arg: 00000000, cmd->flags: 00000051 --> blksize:512, blks:1 resp 0x00000900 found part[0], begin: 939524096, size: 8.15MB found part[1], begin: 1207959552, size: 8.15MB found part[2], begin: 1476395008, size: 8.15MB found part[3], begin: 1744830464, size: 8.15MB found part[4], begin: -2143289344, size: 240.900GB 目前初步排查是RT1061的ADMA2有问题,导致DMA返回不了正确的返回值,dmaConfig的设置保持drv_sdio.c没有变: dmaConfig.dmaMode = USDHC_DMA_MODE; dmaConfig.burstLen = kUSDHC_EnBurstLenForINCR; dmaConfig.admaTable = mmcsd->usdhc_adma2_table; dmaConfig.admaTableWords = USDHC_ADMA2_TABLE_WORDS; 请问有没有遇到过相似问题的朋友,帮忙解答一下!!非常感谢! |
|
相关推荐
1个回答
|
|
|
破案了。。。DMA不支持USDHC 4线模式
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1033 浏览 0 评论
2877 浏览 0 评论
图腾柱PFC无法上升至400V,且电感电流为正弦波形,但是幅值极小
9386 浏览 0 评论
飞凌嵌入式ElfBoard-Vim编辑器之静态链接和动态链接
2898 浏览 0 评论
使用 LinkBoy 将程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板
2302 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 13:49 , Processed in 0.643411 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2655