shuiii
驱动牛犊
驱动牛犊
  • 注册日期2005-08-26
  • 最后登录2011-05-30
  • 粉丝1
  • 关注0
  • 积分605分
  • 威望173点
  • 贡献值0点
  • 好评度57点
  • 原创分0分
  • 专家分0分
阅读:2000回复:14

请zhuxiaofeng 老兄进来一下。

楼主#
更多 发布于:2007-07-09 18:15
还是SD驱动的问题!
读0block时失败了。
这是我现在的调试信息
SDMemory: +DllEntry++++++DLL_PROCESS_ATTACH
SDMemory: +SMC_Init
SDMemory: +GetStorageID
SDMemory: GetStorageID Insufficient buffer space
SDMemory: -GetStorageID
SDMemory: +GetStorageID
SDMemory: -GetStorageID
SDMemory: +SDMemRead
SDMemRead: Reading blocks 0-0
SDMemReadMultiple: Reading blocks 0-0
SDMemDoBusRequest: CMD17 Arg 0x00000000 TransferClass 0 NumBlocks 1 BlockSize 512
BusRequestHandler starts (CMD:17).pRequest->TransferClass=0.
SDHCD: Clock started...
SendCommand (0x00044910, 0x0011, 0x00000000, 0x0001, 0x1) starts
sendSDICommand short response required
GetCommandResponse started
GetCommandResponse returned SD_API_STATUS_SUCCESS
SDHCD:BusRequestHandler ends
TransferIstThread(): Wait Failed!
SDHCD: Clock stopped  2
SDHCD: Clock stopped...
BusRequestHandler starts (CMD:17).pRequest->TransferClass=0.
SDHCD: Clock started...
SendCommand (0x00044910, 0x0011, 0x00000000, 0x0001, 0x1) starts
sendSDICommand short response required
SDHCD:BusRequestHandler ends
GetCommandResponse started
GetCommandResponse returned SD_API_STATUS_SUCCESS
TransferIstThread(): Wait Failed!
SDHCD: Clock stopped  2
SDHCD: Clock stopped...
BusRequestHandler starts (CMD:17).pRequest->TransferClass=0.
SDHCD: Clock started...
SendCommand (0x00044910, 0x0011, 0x00000000, 0x0001, 0x1) starts
sendSDICommand short response required
SDHCD:BusRequestHandler ends
GetCommandResponse started
GetCommandResponse returned SD_API_STATUS_SUCCESS
TransferIstThread(): Wait Failed!
SDHCD: Clock stopped  2
SDHCD: Clock stopped...
BusRequestHandler starts (CMD:17).pRequest->TransferClass=0.
SDHCD: Clock started...
SendCommand (0x00044910, 0x0011, 0x00000000, 0x0001, 0x1) starts
sendSDICommand short response required
SDHCD:BusRequestHandler ends
GetCommandResponse started
GetCommandResponse returned SD_API_STATUS_SUCCESS
TransferIstThread(): Wait Failed!
SDHCD: Clock stopped  2
SDHCD: Clock stopped...
SDMemDoBusRequest Failed: CMD17 returned API status 0xC0000015
SDMemory: -SDMemRead
BusRequestHandler starts (CMD:7).pRequest->TransferClass=2.
SDHCD: Clock started...
SendCommand (0x00044910, 0x0007, 0x00000000, 0x0000, 0x0) starts
SendCommand no response required
SDHCD: Clock stopped  2
SDHCD: Clock stopped...
SDHCD:BusRequestHandler ends
BusRequestHandler starts (CMD:13).pRequest->TransferClass=2.
SDHCD: Clock started...
SendCommand (0x00044910, 0x000d, 0x00020000, 0x0001, 0x0) starts
sendSDICommand short response required
GetCommandResponse started
GetCommandResponse returned SD_API_STATUS_SUCCESS
SDHCD: Clock stopped  2
SDHCD: Clock stopped...
SDHCD:BusRequestHandler ends
http://www.esdevelop.cn
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-09 18:32
你更新了没有??
2007---5月份的更新。。
SDMemory: +GetStorageID
SDMemory: GetStorageID Insufficient buffer space
这这个函数里面微软又加了一句话。。
详细的见www.cnemb.com中有关这个主题的讨论吧。
做一个出色的程序员!
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-09 18:37
做一个出色的程序员!
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-07-09 18:39
还有看看你的DMA中断寄存器,
好像是中断没有产生。
TransferIstThread(): Wait Failed!
在这时候看看相关的数据传输的寄存器。
做一个出色的程序员!
shuiii
驱动牛犊
驱动牛犊
  • 注册日期2005-08-26
  • 最后登录2011-05-30
  • 粉丝1
  • 关注0
  • 积分605分
  • 威望173点
  • 贡献值0点
  • 好评度57点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-07-10 14:44
感谢!
果然是DMA没有产生中断。
现在存储管理里面已经可以看到SD卡了。而且可以格式化,新建分区,不能mount上去。
所以在windows目录下还是没有盘符。
http://www.esdevelop.cn
jasonshi
驱动小牛
驱动小牛
  • 注册日期2004-10-11
  • 最后登录2011-07-01
  • 粉丝2
  • 关注0
  • 积分23分
  • 威望446点
  • 贡献值3点
  • 好评度256点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-07-10 14:59
那剩下的应该是注册表的问题了
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-07-10 15:01
我以前也遇到过重问题,
能在存储器里面看见,但是没有盘符。
主要还是读写有问题,
仔细看看读写的情况,如果正确的话,就会出现了。。
做一个出色的程序员!
shuiii
驱动牛犊
驱动牛犊
  • 注册日期2005-08-26
  • 最后登录2011-05-30
  • 粉丝1
  • 关注0
  • 积分605分
  • 威望173点
  • 贡献值0点
  • 好评度57点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-07-10 17:31
sdbus和sdmemory的注册表就是默认的没有改。应该也不用改吧。
读写有问题怎么还可以格式化呢?
请问zhuxiaofeng,你当时是怎么改的呢。可不可以提供一下代码?这驱动搞了我快三周了。快晕死了。
http://www.esdevelop.cn
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-07-10 18:18
你用的什么的板子?
平台什么的?
我的提供给你也没用,我们是自己的板子,
寄存器什么都不一样。
做一个出色的程序员!
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-07-10 18:39
sdbus和sdmemory的注册表这些都不用改。
因为你的DMA 中断都没有产生,所以数据都没传输。
所以读写肯定有问题了。
正常的话,DMA中断是肯定要产生的。
这句话TransferIstThread(): Wait Failed!不应该出现的。
好好看看寄存器的值吧!
做一个出色的程序员!
shuiii
驱动牛犊
驱动牛犊
  • 注册日期2005-08-26
  • 最后登录2011-05-30
  • 粉丝1
  • 关注0
  • 积分605分
  • 威望173点
  • 贡献值0点
  • 好评度57点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-07-10 19:13
我用的是2440,硬件上应该不会有太大差别。
DMA已经可以产生中断了。不过现在还不能确定数据传输是否正确了。
http://www.esdevelop.cn
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-07-10 20:03
差别很大的,呵呵,我们是自己的板子。
自己控制器。和samsung的差别很大的。
用CETK测试一下就知道。
它有专门的测试项。
呵呵。。
做一个出色的程序员!
shuiii
驱动牛犊
驱动牛犊
  • 注册日期2005-08-26
  • 最后登录2011-05-30
  • 粉丝1
  • 关注0
  • 积分605分
  • 威望173点
  • 贡献值0点
  • 好评度57点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-07-11 11:00
看来真是数据传输有问题了。
我把m_pDMABuffer的值打印出来居然为NULL。
但是DMA中断设为传输完产生,即从MMCFIFO传送到m_pDMABuffer,
中断产生了,即便是数据传错了也不应该为NULL啊。不解。
http://www.esdevelop.cn
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-07-11 21:32
DMA中断是数据传输后自动产生的,
不是你设置什么时候产生就产生的吧?
看看传之前的BUffur,
在看看DMA的物理地址的数据。
我的更奇怪,在DEBUG下面没事,
现在 Release的时候不能用了。
以前一直没有release过,呵呵,在调试中,。。。
做一个出色的程序员!
shuiii
驱动牛犊
驱动牛犊
  • 注册日期2005-08-26
  • 最后登录2011-05-30
  • 粉丝1
  • 关注0
  • 积分605分
  • 威望173点
  • 贡献值0点
  • 好评度57点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-07-17 11:11
Re:请进来一下。
问题找到了。真是物理地址有问题,申请地址的时候写错了。现在SD驱动已经基本上OK了,速度也还可以。打了补丁,也不知道是不是真的支持SD2.0了,下次去弄一张大点的卡试下了。感谢zhuxiaofeng 老兄的一路关注和提示。
http://www.esdevelop.cn
游客

返回顶部