天嵌 ARM开发社区

 找回密码
 注册
查看: 2886|回复: 10

SD卡读写问题

[复制链接]
858366588 发表于 2011-8-27 09:53:09 | 显示全部楼层 |阅读模式
我用TQ2440开发板自带的SD卡驱动程序
我先给写缓冲区全附值为0
再向4096起始的地址写入一个数据块
再用读数据块函数读出一个数据块的数据
读出来的都是值都是255
写数据函数会不会有问题?
liuxin07zdhld 发表于 2011-9-3 09:48:49 | 显示全部楼层
遇到同样问题,找技术员,技术员不给解答,只说没问题,麻烦版主给解答下吧
回复

使用道具 举报

hlei5202010 发表于 2011-9-25 11:23:10 | 显示全部楼层
我也遇到这个问题
回复

使用道具 举报

hlei5202010 发表于 2011-9-25 22:55:45 | 显示全部楼层
我的问题解决了,是天嵌的程序问题,那程序根本就不正常,只能读一次,读第二次就出错了,而且写之后不能读,可恨的是天嵌的相关人员坚决说程序没问题!
回复

使用道具 举报

 楼主| 858366588 发表于 2011-9-27 11:47:36 | 显示全部楼层
4# hlei5202010

请问是怎么解决的
有源程序的话请和大家分享一下
回复

使用道具 举报

1013269594 发表于 2011-10-15 00:30:49 | 显示全部楼层
本帖最后由 1013269594 于 2011-10-15 00:38 编辑

求啊!SD的读写程序啊!我怎么一直读出来说是0啊!麻烦哪位兄弟发给我一个能正确读写出来数据的程序啊!
回复

使用道具 举报

亚瑟王 发表于 2011-10-17 11:55:43 | 显示全部楼层
我们当初在u-boot中也是用这个代码来实现从SD卡烧写也没有发现你说的这个只能读一次的bug啊,所以我认为这个代码是OK的。
回复

使用道具 举报

qq371833846 发表于 2012-5-12 13:33:06 | 显示全部楼层
我的读出来全是0
回复

使用道具 举报

亚瑟王 发表于 2012-5-12 17:20:34 | 显示全部楼层
qq371833846 发表于 2012-5-12 13:33
我的读出来全是0

亲,你是怎么读的?
回复

使用道具 举报

qq371833846 发表于 2012-5-15 22:43:39 | 显示全部楼层
读写木有问题了,是我的串口打印Uart_Printf输出格式搞错了。
回复

使用道具 举报

zxk_programmer 发表于 2012-9-27 08:01:40 | 显示全部楼层
  1. void Wt_Block(void)
  2. {
  3.       while(wt_cnt<128*block) {
  4.               status=rSDIFSTA;
  5.               if((status&0x2000)==0x2000)
  6.              {
  7.                    rSDIDAT=*Tx_buffer++;
  8.                    wt_cnt++;
  9.              }
  10.       }
  11. }
复制代码
我这代码是09年tq2440的,现在的不知是个什么样子。*Rx_buffer++ = rSDIDAT;此句每次会把Tx_buffer的地址增加一,也就是说缓冲区的首地址永远都在变,后面程序用的时候就永远是在错误的首地址上执行,程序不对也就自然了。改成Rx_buffer[rd_cnt++] = rSDIDAT;
天嵌的驱动代码大多是从其他板子上拷贝再做点小修改来的,可读性很差,sd卡驱动功能也不完整,流程和sdspec3.01上的也有不一致的地方,我改了两个多礼拜才初步调通。
附上代码:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-22 19:40 , Processed in 2.041035 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表