Jag försöker snacka med en hårddisk (Toshiba MK2004GAL). Det verkar funka fint att läsa/skriva register, utföra kommandon och läsa ut data, men hur jag än gör så vägrar disken sätta INTRQ.
Är det nån här som har lite erfarenhet av IDE-interface och har någon aning om vad jag kan ha missat?
Tidigare har jag använt compactflash-kort (i IDE-mode) och då var det inga problem med interrupt.
Problem med IDE-hårddisk (löst)
Problem med IDE-hårddisk (löst)
Senast redigerad av cyr 22 maj 2005, 19:45:00, redigerad totalt 1 gång.
Använder du en mikrokontroller när du kommunicerar med IDE enheten? eller en vanlig PC?
Om du kör under en PC, vilket OS kör du under?
Om du inte kör med en vanlig PC och har eget OS så måste du programmera PIC8259 (båda 2 i ditt fall), och se till så att du ändrar i Interrupt Vector Table på rätt offset så att den hoppar till din avbrottshanterare (förutsatt att du kör processorn i Oskyddat läge), är du i skyddat läge så måste din IDT vara rätt skriven.
I övrigt tycker jag att du ska kolla upp flaggen "nIEN" finns i ATA Control Register, denna flagga maskerar avbrott.
Berätta lite mer om den miljö du använder IDE hårddisken i, gränsnittet spelar väldigt stor roll här.
Om du kör under en PC, vilket OS kör du under?
Om du inte kör med en vanlig PC och har eget OS så måste du programmera PIC8259 (båda 2 i ditt fall), och se till så att du ändrar i Interrupt Vector Table på rätt offset så att den hoppar till din avbrottshanterare (förutsatt att du kör processorn i Oskyddat läge), är du i skyddat läge så måste din IDT vara rätt skriven.
I övrigt tycker jag att du ska kolla upp flaggen "nIEN" finns i ATA Control Register, denna flagga maskerar avbrott.
Berätta lite mer om den miljö du använder IDE hårddisken i, gränsnittet spelar väldigt stor roll här.
Hittills har jag inte kommit längre än "identify device" (0xec) med hårddisken.
Det ska generera IRQ enligt standarden, och de tre olika CF-kort jag kört med tidigare gjorde också det...
INTRQ-pinnen går hög en hel del när hårddisken är inkopplad till en USB-IDE brygga (i samma bygge), så själva pinnen funkar.
Fattar ingenting nu (så jag antar det är något riktigt riktigt simpelt jag missat. Undrar bara vad...
)
Det ska generera IRQ enligt standarden, och de tre olika CF-kort jag kört med tidigare gjorde också det...
INTRQ-pinnen går hög en hel del när hårddisken är inkopplad till en USB-IDE brygga (i samma bygge), så själva pinnen funkar.
Fattar ingenting nu (så jag antar det är något riktigt riktigt simpelt jag missat. Undrar bara vad...
