TI中文支持网
TI专业的中文技术问题搜集分享网站

初次上电启动检测硬盘失败,复位重启却正常

采用SEED DM6467的评估板

如题,板子上电初次启动总会出现如下错误:

sii9134 reg initialized.

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2

ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx

Palm Chip BK3710 IDE Register Fail

Initializing USB Mass Storage driver…

usbcore: registered new driver usb-storage

USB Mass Storage support registered.

usbcore: registered new driver usbhid

drivers/usb/input/hid-core.c: v2.0:USB HID core driver

mice: PS/2 mouse device common for all mice

Registering Audio Devices. Total communication  peripherals             (ASP) : 2 

Codec with ID = 0 on ASP = 0 is initialized.Using minor number :  3

Configuring the McASP as Master

Configuring the McASP 1 for DIT 

SPDIF on ASP = 1 isinitialized.Using minor number : 19

NET: Registered protocol family 2

IP: routing cache hash table of 512 buckets, 4Kbytes

TCP: Hash tables configured (established 8192 bind 16384)

NET: Registered protocol family 1

NET: Registered protocol family 17

IP-Config: Guessing netmask 255.255.255.0

IP-Config: Complete:

      device=eth0, addr=192.168.0.201, mask=255.255.255.0, gw=192.168.0.1,

     host=192.168.0.201, domain=, nis-domain=(none),

     bootserver=255.255.255.0, rootserver=255.255.255.0, rootpath=

Looking up port of RPC 100003/2 on 255.255.255.0

RPC: sendmsg returned error 22

portmap: RPC call returned error 22

Root-NFS: Unable to get nfsd port number from server, using default

Looking up port of RPC 100005/1 on 255.255.255.0

RPC: sendmsg returned error 22

portmap: RPC call returned error 22

Root-NFS: Unable to get mountd port number from server, using default

RPC: sendmsg returned error 22

mount: RPC call returned error 22

Root-NFS: Server returned error -22 while mounting /tftpboot/192.168.0.201

VFS: Unable to mount root fs via NFS, trying floppy.

VFS: Cannot open root device "hdb1" or unknown-block(2,0)

Please append a correct "root=" boot option

Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

但是按下复位键重启的时候却可以正常启动,顺利挂载进入文件系统!如下:

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2

ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx

    ide0: BM-DMA at 0xe1066000-0xe1066007, BIOS settings: hda:pio, hdb:pio

IRQ LOCK: IRQ22 is locking the system, disabled

Initializing USB Mass Storage driver…

usbcore: registered new driver usb-storage

USB Mass Storage support registered.

usbcore: registered new driver usbhid

drivers/usb/input/hid-core.c: v2.0:USB HID core driver

mice: PS/2 mouse device common for all mice

Registering Audio Devices. Total communication  peripherals             (ASP) : 2 

Codec with ID = 0 on ASP = 0 is initialized.Using minor number :  3

Configuring the McASP as Master

Configuring the McASP 1 for DIT 

SPDIF on ASP = 1 isinitialized.Using minor number : 19

NET: Registered protocol family 2

IP: routing cache hash table of 512 buckets, 4Kbytes

TCP: Hash tables configured (established 8192 bind 16384)

NET: Registered protocol family 1

NET: Registered protocol family 17

IP-Config: Guessing netmask 255.255.255.0

IP-Config: Complete:

      device=eth0, addr=192.168.0.201, mask=255.255.255.0, gw=192.168.0.1,

     host=192.168.0.201, domain=, nis-domain=(none),

     bootserver=255.255.255.0, rootserver=255.255.255.0, rootpath=

kjournald starting.  Commit interval 5 seconds

EXT3-fs warning: maximal mount count reached, running e2fsck is recommended

EXT3 FS on hdb1, internal journal

EXT3-fs: recovery complete.

EXT3-fs: mounted filesystem with ordered data mode.

VFS: Mounted root (ext3 filesystem).

Freeing init memory: 164K

INIT: version 2.85 booting

Mounting a tmpfs over /dev…done.

Creating initial device nodes…done.

Activating swap…done. 

Remounting root filesystem…done. 

Calculating module dependencies

WARNING: Couldn't open directory /lib/modules/2.6.10_mvl401-davinci_evm-PSP_01_30_00_070: No such file or directory

FATAL: Could not open /lib/modules/2.6.10_mvl401-davinci_evm-PSP_01_30_00_070/modules.dep.temp for writing: No such file or directory

Loading modules: 

Checking all file systems: fsck

fsck 1.35 (28-Feb-2004)

Mounting local filesystems: mount nothing was mounted

Cleaning: /tmp /var/lock /var/run done.

Setting up networking (ifupdown) ..

Cleaning: /etc/network/run/ifstate done.

Starting network interfaces: done.

Starting hotplug subsystem:

   pci     

   pci      [success]

   usb     

   usb      [success]

   isapnp  

   isapnp   [success]

   ide     

   ide      [success]

   input   

   input    [success]

   scsi    

   scsi     [success]

done.

Starting portmap daemon: portmap. 

done.

Setting pseudo-terminal access permissions…done.

Updating /etc/motd…done.

INIT: Entering runlevel: 3

Starting NFS common utilities: statd lockd. 

Starting internet superserver: inetd.

Starting MontaVista target tools daemon: mvltdmvltd version 2.1 MontaVista Software,Inc.

mvltd[1029]: started on port 34577

MontaVista(R) Linux(R) Professional Edition 4.0.1 (0600980)

192.168.0.201 login:

问题很是奇怪,本人觉得首先是硬盘没有检测到的,但至于为什么初次上电就会检测硬盘失败,则毫无头绪,研究了好半天,追查到drivers/ide/ide-probe.c文件中的do_probe函数中有句话:

SELECT_DRIVE(drive);

其实质就是执行了:HWIF(drive)->OUTB(drive->select.all, IDE_SELECT_REG);这句话

即是将drive->select.all写到了IDE_SELECT_REG定义的端口上,但是我发现初次上电启动的时候,这句话并没有将drive->select.all的值写进去,我打印出来的IDE_SELECT_REG指定的地址处的值没有被改变,很奇怪!

我甚至将这句话展开手写了一遍:hwif->OUTB(drive->select.all, hwif->io_ports[IDE_SELECT_OFFSET]);发现系统初次上电启动仍然不能将drive->select.all写入到hwif->io_ports[IDE_SELECT_OFFSET]这个地址中,而按下板子上的复位键,我跟踪的时候发现可以正确写入!

目前一头雾水,不知道该如何处理了,请各位帮忙看看~先谢过了!

Louis:

你的复位是热复位还是冷复位?可以检查一下上电时序。

jason lu:

回复 Louis:

Louis

你的复位是热复位还是冷复位?可以检查一下上电时序。

Louis:

回复 jason lu:

查一下芯片的DATASHEET,一般说来,在datasheet里面都有专门一章介绍电源部分的,会有Power sequence的要求,用示波器抓一下波形,看是否与datasheet的要求一致。

jason lu:

回复 Louis:

不是Power sequence的问题吧,如果是这样那应该连uboot都起不来吧.

板子上有两个硬盘接口,我把硬盘线连接到另一个接口上就好了,呵呵

还没有看  不知道这是不是所谓的主从接口的问题,有空可以看看

 SLAVE为从接口,一般为灰色,用于接在该接口上的第二个IDE设备,如光驱。MASTER为主接口,一般为黑色,用来连接该IDE接口上的主要设备,如硬盘。   因此对于计算机内部的任一条80芯数据线,正确的接法是:    1、只有一个硬盘时请将MASTER接在硬盘上。   2、只有一个光驱时请将MASTER接在光驱上。    3、如果有一个光驱和一个硬盘,请将SLAVE接在光驱上,MASTER接在硬盘上

赞(0)
未经允许不得转载:TI中文支持网 » 初次上电启动检测硬盘失败,复位重启却正常
分享到: 更多 (0)