当前位置: 技术问答>linux和unix
有哪些朋友做过IDE驱动或相关移植的吗,请教关于IDE驱动初始化检测的过程
来源: 互联网 发布时间:2015-10-25
本文导语: 我在一块ARM的开发板上做IDE接口在uclinux上的移植。编译内核,挂载硬盘,但通过终端显示信息无法识别到硬盘。如下 ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx Initialise all interface structures ini...
我在一块ARM的开发板上做IDE接口在uclinux上的移植。编译内核,挂载硬盘,但通过终端显示信息无法识别到硬盘。如下
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
Initialise all interface structures init_ide_data
Initialise all interface structures init_ide_data
111111ide_init_default_hwifs
base==3700400
hw.irq==21
enter io_ports init
base==3700400
offsets[i]==0
hw->io_ports[i]==3700400
enter io_ports init
base==3700400
offsets[i]==8000
hw->io_ports[i]==3708400
enter io_ports init
base==3700400
offsets[i]==2
hw->io_ports[i]==3700402
enter io_ports init
base==3700400
offsets[i]==8002
hw->io_ports[i]==3708402
enter io_ports init
base==3700400
offsets[i]==4
hw->io_ports[i]==3700404
enter io_ports init
base==3700400
offsets[i]==8004
hw->io_ports[i]==3708404
enter io_ports init
base==3700400
offsets[i]==6
hw->io_ports[i]==3700406
enter io_ports init
base==3700400
offsets[i]==8006
hw->io_ports[i]==3708406
enter io_ports init
base==3700400
offsets[i]==406
hw->io_ports[i]==3700806
offsets is -1
hwif->hw.io_ports[IDE_DATA_OFFSET== 0
hw->io_ports[IDE_DATA_OFFSET]== 3700400
hwif->hw.io_ports[IDE_DATA_OFFSET== 0
hw->io_ports[IDE_DATA_OFFSET]== 3700400
found 2
hold is 0
index ==0
probing for hda: present=0, media=32, probetype=ATA
hwif->INB(IDE_STATUS_REG==ff
hwif->INB(IDE_ERROR_REG)==ff
IDE: waiting for drives to settle...
dfdffdsfd hwif->INB(IDE_SELECT_REG) ff
drive->select.all a0
probing for hda: present=0, media=32, probetype=ATAPI
hwif->INB(IDE_STATUS_REG==ff
hwif->INB(IDE_ERROR_REG)==ff
IDE: waiting for drives to settle...
dfdffdsfd hwif->INB(IDE_SELECT_REG) ff
drive->select.all a0
probing for hdb: present=0, media=32, probetype=ATA
hwif->INB(IDE_STATUS_REG==ff
hwif->INB(IDE_ERROR_REG)==ff
IDE: waiting for drives to settle...
dfdffdsfd hwif->INB(IDE_SELECT_REG) ff
drive->select.all b0
probing for hdb: present=0, media=32, probetype=ATAPI
hwif->INB(IDE_STATUS_REG==ff
hwif->INB(IDE_ERROR_REG)==ff
IDE: waiting for drives to settle...
dfdffdsfd hwif->INB(IDE_SELECT_REG) ff
drive->select.all b0
读出的寄存器,hwif->INB(IDE_SELECT_REG) ff,值为ff,感觉有问题。不知道有没有哪些朋友对ata规范协议熟悉或对linux下ide源码,ide-probe.c熟悉,指点一,二。
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
Initialise all interface structures init_ide_data
Initialise all interface structures init_ide_data
111111ide_init_default_hwifs
base==3700400
hw.irq==21
enter io_ports init
base==3700400
offsets[i]==0
hw->io_ports[i]==3700400
enter io_ports init
base==3700400
offsets[i]==8000
hw->io_ports[i]==3708400
enter io_ports init
base==3700400
offsets[i]==2
hw->io_ports[i]==3700402
enter io_ports init
base==3700400
offsets[i]==8002
hw->io_ports[i]==3708402
enter io_ports init
base==3700400
offsets[i]==4
hw->io_ports[i]==3700404
enter io_ports init
base==3700400
offsets[i]==8004
hw->io_ports[i]==3708404
enter io_ports init
base==3700400
offsets[i]==6
hw->io_ports[i]==3700406
enter io_ports init
base==3700400
offsets[i]==8006
hw->io_ports[i]==3708406
enter io_ports init
base==3700400
offsets[i]==406
hw->io_ports[i]==3700806
offsets is -1
hwif->hw.io_ports[IDE_DATA_OFFSET== 0
hw->io_ports[IDE_DATA_OFFSET]== 3700400
hwif->hw.io_ports[IDE_DATA_OFFSET== 0
hw->io_ports[IDE_DATA_OFFSET]== 3700400
found 2
hold is 0
index ==0
probing for hda: present=0, media=32, probetype=ATA
hwif->INB(IDE_STATUS_REG==ff
hwif->INB(IDE_ERROR_REG)==ff
IDE: waiting for drives to settle...
dfdffdsfd hwif->INB(IDE_SELECT_REG) ff
drive->select.all a0
probing for hda: present=0, media=32, probetype=ATAPI
hwif->INB(IDE_STATUS_REG==ff
hwif->INB(IDE_ERROR_REG)==ff
IDE: waiting for drives to settle...
dfdffdsfd hwif->INB(IDE_SELECT_REG) ff
drive->select.all a0
probing for hdb: present=0, media=32, probetype=ATA
hwif->INB(IDE_STATUS_REG==ff
hwif->INB(IDE_ERROR_REG)==ff
IDE: waiting for drives to settle...
dfdffdsfd hwif->INB(IDE_SELECT_REG) ff
drive->select.all b0
probing for hdb: present=0, media=32, probetype=ATAPI
hwif->INB(IDE_STATUS_REG==ff
hwif->INB(IDE_ERROR_REG)==ff
IDE: waiting for drives to settle...
dfdffdsfd hwif->INB(IDE_SELECT_REG) ff
drive->select.all b0
读出的寄存器,hwif->INB(IDE_SELECT_REG) ff,值为ff,感觉有问题。不知道有没有哪些朋友对ata规范协议熟悉或对linux下ide源码,ide-probe.c熟悉,指点一,二。
|
我正在做这个加我QQ 21605045