目前在测试CH32V307读写SD卡的例程。
用以下硬件运行官方V1.9版的例程,发现无法仿真,能下载但串口输出异常。相关截图见下。
硬件平台:
https://detail.tmall.com/item.htm?spm=a230r.1.14.11.392c1289VDs56I&id=675794731693&ns=1&abbucket=1
仿真提示:
固件下载后的串口输出
补充:
以上硬件平台,可以正常下载并仿真例程中的GPIO固件,也可以单步调试。
end
目前在测试CH32V307读写SD卡的例程。
用以下硬件运行官方V1.9版的例程,发现无法仿真,能下载但串口输出异常。相关截图见下。
硬件平台:
https://detail.tmall.com/item.htm?spm=a230r.1.14.11.392c1289VDs56I&id=675794731693&ns=1&abbucket=1
仿真提示:
固件下载后的串口输出
补充:
以上硬件平台,可以正常下载并仿真例程中的GPIO固件,也可以单步调试。
end
您好,这个提示表示编译生成的二进制文件没有自动刷新成功,这时直接在文件资源区按F5手动刷新即可。
谢谢!手动刷新后,仿真的问题解决了。
但读写SD卡的例程,还是无法正常跑起来。请问有什么办法可以解决?
=====================================
通过仿真可知,固件无法退出下面这个循环。
=====================================
另外,我用的SD卡是8G的Micro SD,以及开发板的实物如下:
=====================================
上面的问题解决了。
仿真不过是因为硬件问题,SD卡的IO与网口的IO冲突了。断开网口IO就能正常运行了。
请问,SDIO的读写速度,最大能到多少啊?
根据初步测试结果,写2M Byte 大约需要6秒,读2M大约需要2秒。
即:读=340 (KByte/s)? , 读 = 1024 (KByte/s)。
这与规格书上描述的“SDIO 的时钟最快可达到 HCLK 的一半”相差较远啊。
是不是我又搞错了什么?
您好,
SDIO操作TF卡的速率,有多个方面的因素影响,比如卡本的速度等级,测试的文件大小等。
规格书描述的是,片内的SDIO这个控制器,时钟最高可以达到HCLK的一半,并不是所有的卡都支持这么高的速度。SDIO对卡读写的时钟频率,是卡在初始化时,读取到卡的相关寄存器决定的。从我自己实际测试的情况看,品牌16G、32G容量的卡能够支持更高的时钟频率,市售的小容量如128M、256M、512M卡,往往只能支持较小的时钟频率。
截图的测试数据,是从什么地方过来的呢?USB?SPI Flash?不管从什么地方搬过来的,除了要考虑最开始提到的影响因素外,还要考虑数据源传输时的瓶颈问题。如果可以,将逻辑分析仪挂在SDIO上,方便更直观的看到卡片的工作情况。
您好,看您最后的解决方案是断开网口IO,问一下具体是怎么操作呢,在官方例程中好像并没有使用网口呀