当前位置: 技术问答>linux和unix
S3C2440 访问IDE硬盘,为何读回的数据都是0?
来源: 互联网 发布时间:2016-02-15
本文导语: 平台:S32440,linux 2.6.22, 硬盘连线: CPU的 nGCS1/nGCS2 - 硬盘CS0/CS1 CPU的 Addr3~1 - 硬盘DA2~0 在linux内核中调试硬盘未成功,转到U-Boot下使一个个地操作寄存器。 发现如下问题: 1. 设置硬盘的跳线,作...
平台:S32440,linux 2.6.22,
硬盘连线:
CPU的 nGCS1/nGCS2 - 硬盘CS0/CS1
CPU的 Addr3~1 - 硬盘DA2~0
在linux内核中调试硬盘未成功,转到U-Boot下使一个个地操作寄存器。
发现如下问题:
1. 设置硬盘的跳线,作为从盘
2. 直接读取硬盘的Device/Head寄存器(linux中称为IDE_SELECT_REG),值为0x68
3. 往硬盘的Device/Head寄存器中写入0xa0,再回读,值为0x68
4. 往硬盘的Device/Head寄存器中写入0xb0,再回读,值为0x00
这证明硬盘是可以被选中的,但是为什么它的值为0?正确的应该是0xb0。
我又做了一个实验:
1. 设置硬盘的跳线,作为主盘
2. 直接读取硬盘的Device/Head寄存器,值为0x00
3. 往硬盘的Device/Head寄存器中写入0xa0,再回读,值为0x00
4. 往硬盘的Device/Head寄存器中写入0xb0,再回读,值为0x00
我每根信号线都量过了,连接没问题。
请问,为什么读回的值是0呢?
我只有一个万用表,不能进行太复杂的测试。
硬盘连线:
CPU的 nGCS1/nGCS2 - 硬盘CS0/CS1
CPU的 Addr3~1 - 硬盘DA2~0
在linux内核中调试硬盘未成功,转到U-Boot下使一个个地操作寄存器。
发现如下问题:
1. 设置硬盘的跳线,作为从盘
2. 直接读取硬盘的Device/Head寄存器(linux中称为IDE_SELECT_REG),值为0x68
3. 往硬盘的Device/Head寄存器中写入0xa0,再回读,值为0x68
4. 往硬盘的Device/Head寄存器中写入0xb0,再回读,值为0x00
这证明硬盘是可以被选中的,但是为什么它的值为0?正确的应该是0xb0。
我又做了一个实验:
1. 设置硬盘的跳线,作为主盘
2. 直接读取硬盘的Device/Head寄存器,值为0x00
3. 往硬盘的Device/Head寄存器中写入0xa0,再回读,值为0x00
4. 往硬盘的Device/Head寄存器中写入0xb0,再回读,值为0x00
我每根信号线都量过了,连接没问题。
请问,为什么读回的值是0呢?
我只有一个万用表,不能进行太复杂的测试。
|
据LZ描述,估计是硬件上问题吧,也就是说从硬件上不支持这种大硬盘,可能大容量硬盘采用了一些其它的技术,而你的板子上没有相应的处理,你试一试相同牌子厂商最近生产的低容量硬盘(这种方式来排除是不是因为新技术的运用而导致不支持),你再试一试其它牌子的大容量硬盘(排除偶然因素)
最后你可以从这些硬盘的各种技术参数入手来进行问题定位.一般说来,硬盘的兼容性很好,因为其规格主要受ATA66/100/133等限制,其它方面都差不了多少,还有就是你要在内核硬盘驱动中找到你用大容量硬盘时,是在什么地方出现不能识别(用printk来输出信息看什么地方出现了问题),这样或许更容易定位问题
最后你可以从这些硬盘的各种技术参数入手来进行问题定位.一般说来,硬盘的兼容性很好,因为其规格主要受ATA66/100/133等限制,其它方面都差不了多少,还有就是你要在内核硬盘驱动中找到你用大容量硬盘时,是在什么地方出现不能识别(用printk来输出信息看什么地方出现了问题),这样或许更容易定位问题
|
应该是硬件问题!
|
在内核中确定你的硬盘的型号和厂家是对应的或者兼容的..
|
"日立120G的就不行,80G的三星3.5英寸的也"
去他网站上看看有没有linux驱动的支持,另外就是换高版本的内核,如现在的2.6.22.x的版本试试
去他网站上看看有没有linux驱动的支持,另外就是换高版本的内核,如现在的2.6.22.x的版本试试
|
没弄过这些..你上面的问题好像ATA100只是40g跟80g的区别..如果再试1个40g的也可以的话,还是怀疑接线问题,猜测40脚40芯的线刚刚够40g的数据访问..而80脚40芯的线是通过总线切换访问高40g的..
40脚40芯这些都不懂..帮不到你..
40脚40芯这些都不懂..帮不到你..
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。