Autor Thema: HDD  (Gelesen 3475 mal)

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« am: 27. February 2005, 02:08 »
HDD
hallo,

mich würd mal gerne interessieren, wie ich eine festplatte benutze. is das wie bei FDC, dass ich erstmal darauf scharfmachen muss, und motor an, und irq abwarten und co. oder is das leichter? arbeitet man da auch mit DMA oder läuft das mit portbefehlen ab? für hilfe und links währe ich sehr dankbar (ich hab schon gegoogled und so, aber vll. kennt ja jemand ein tut, das er besonderst empfehlen kann oda so!)

mfg

J!N
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #1 am: 27. February 2005, 12:19 »
HDD
Also man kann DMA verwenden muss es aber nicht. Zum Glück ist das ansprechen wesentlich einfacher als beim FDC.
Einfach die LBA/CHS Nummer an die entrsprechenden Ports senden, den Befehl schicken, warten bis er fertig ist und dann über insw auslesen.
Geschieht über die Ports 0x1F0-0x1F7 den Rest darfste dir selbst aus einer Portliste raussuchen^^ Falls du Probleme hast, kann ich dir auch mal meine Funktionen dafür geben, aber versuchs erstmal selbst, so schwer ist das nicht.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #2 am: 27. February 2005, 13:40 »
HDD
ich habs schon fertig, das is net das problem  :lol:  das is verdammt leicht. ich mach mir nur sorgen, was is, wenn ein taskwechsel passiert, während die daten übertragen werden... is dann ein error oder stört das net oder wie?
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #3 am: 27. February 2005, 13:59 »
HDD
nie probiert hm...Setzte doch einfach während der Aktion die Interrupte aus ein Cli am Anfang ein Sti am Ende. Das sollte eventuellen Problemen Vorbeugen
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #4 am: 27. February 2005, 18:09 »
HDD
hm... das verzögert aber das taskzeug! wie lange dauert sowas etwas?
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #5 am: 01. March 2005, 17:13 »
HDD
Keine Ahnung aber die Tasks sollte das kaum stören, falls ein PIT-Int dazwischen kommt wird der ja gleich ausgeführt sobald du die Ints wieder anmachst, wird ja zwischengespeichert. Nur wenn es länger dauert als ein Taskwechsel (was höchst unwahrscheinlich ist) dann könnte vielleicht ein Aufruf draufgehen, aber darum würde ich mir kaum Gedanken machen.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #6 am: 01. March 2005, 18:20 »
HDD
also soweit ich das bisher gelesen hab dauert es ~8,5 ms zum festplatte starten, dann nochmal ~1,5 ms zum positionieren = ~10 ms. das sin bei dann bei einer frequenz von 200 hz 2 bis 3 taskwechsel...
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #7 am: 01. March 2005, 19:32 »
HDD
Eigentlich sollte es die Festplatte ja nicht stören^^ ich meinte nur zur Sicherheit könnte man es machen. Musst halt nur dafür sorgen das nicht 2 Tasks kurz nacheinander die Platte haben wollen.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #8 am: 01. March 2005, 19:40 »
HDD
jo, das is die sache vom system. das mach ich aber nur bei FDC und HDD, weil die treiber dazu vom system kommen. alle anderen geräte werden über ihre treiber gemanagt, die müssen dann schauen, dass es keine komplikationen gibt.
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

 

Einloggen