Und siehe da jetzt mountet er sein root von der SD-Karte und startet meine Yadd auf der Box
![grins :D](./images/smilies/icon_biggrin.gif)
Leider a bisserl langsam aber immerhin.
Wenn das mit dem Schreiben noch besser klappt wird das eine feine Sache.
Dies ist wirklich eine gute Nachrichtracker hat geschrieben:Und siehe da jetzt mountet er sein root von der SD-Karte
Was klemmt denn beim Schreiben? Wird die Karte mit der mount option "sync" gemountet und/oder sind die Parameter für kupdated so eingestellt, dass geänderte Blöcke bald auf der Karte landen?racker hat geschrieben:Wenn das mit dem Schreiben noch besser klappt wird das eine feine Sache.
Die CPU-Last.just_me hat geschrieben:Was klemmt denn beim Schreiben?
das hört sich so an, also ob für jeden zu schreibenden Block mehrere geschrieben würden.racker hat geschrieben:Die besten Ergebnisse sind im Moment beim Mounten mit sync und schreiben von 512 Byte Blöcken.
Code: Alles auswählen
...
else if (cmd == READ)
{
spin_unlock_irq(&io_request_lock);
for (i = 0; i < nr_sectors; i++)
{
rc = mmc_read_block(buffer_address, mmc_address);
if (rc != 0)
{
printk("mmc: error in mmc_read_block (%d)\n", rc);
code = 0;
break;
}
else
{
mmc_address += hd_hardsectsizes[0];
buffer_address += hd_hardsectsizes[0];
}
}
spin_lock_irq(&io_request_lock);
}
else if (cmd == WRITE)
{
spin_unlock_irq(&io_request_lock);
for (i = 0; i < nr_sectors; i++)
{
rc = mmc_write_block(mmc_address, buffer_address);
if (rc != 0)
{
printk("mmc: error in mmc_write_block (%d)\n", rc);
code = 0;
break;
}
else
{
mmc_address += hd_hardsectsizes[0];
buffer_address += hd_hardsectsizes[0];
}
}
spin_lock_irq(&io_request_lock);
...
Nein, dass ist schon in Ordnung: der io_request_lock bezieht sich meines Wissens nur auf die io_request queue (und der io_request_lock wird gehalten beim Eintritt in mmc_request()). Da die Queue selber während der mmc_read_block() und mmc_write_block() nicht angefasst wird braucht der Lock dort nicht gehalten zu werden. (Es ist kein Lock für die Hardware, wie man zunächst annehmen könnte)racker hat geschrieben:Im Moment habe ich sowieso ein Verständnisproblem mit spin_lock_irq und spin_unlock_irq. Sollten die Funktionen nicht umgekehrt aufgerufen werden?
Wenn man dem 'Level darüber' mitteilen könnte/würde, dass es nur einige wenige (ich weiss nicht, wieviel die Dateisysteme jeweils gerne hätten um rund zu laufen) zu schreibende Blöcke für das mmc device puffern würde, dann sollte es eigentlich besser werden.Async geht doppelt so schnell - nur bei 100% Last macht das kein Spaß- und wenn danach der Buffer geflusht wird ist die Kiste wieder blockiert.
VCC und GND ist klar, aber welche Reihenfolge der IO Pins sollte ich wählen damit sie dann mit dem Treiber laufen.DBoxBaer hat geschrieben:racker hat geschrieben: Vlt. sollte man sich jetzt darüber einigen wie das Teil angeschlossen wird.
Nicht jeder, der eine MMC/SD Karte einbauen will kauft sich das IDE-Interface. Ein simples Durchschleifen der Pins mit Anschlussmöglichkeit würde schon reichen.
Bezüglich Anschlussbelegung:
"Meine" Pfostenstecker sind alle so beschaltet (von oben)
VCC GND
IO IO
IO IO
Und davon habe ich 5 Stück in meinem Layout...
Mit Karte ist wohl eher die SD-Card gemeint. Da die gar nicht somgerald21 hat geschrieben:Hmm, ich dachte auf dem IDE sind 5 Pfostenstecker drauf?Gorcon hat geschrieben:So viele Pins hat die Karte aber nicht.mgerald21 hat geschrieben:Hmm, und wie sieht es mit dem 4Bit Modus für SD Karten aus!?!?
Da braucht man doch ein paar Pins mehr!!
1x VCC
1x GND
1x CLK
1x CS
1x CMD/DI
4x DO[0:3]
DBoxBaer hat geschrieben:
Mit Karte ist wohl eher die SD-Card gemeint. Da die gar nicht so
viele Pins hat, braucht man auch nicht so viele an dem
Connector.
4 Bit Transfer vom CPLD erwarte ich aber sowieso eher nicht, wenn
überhaupt. Er kann aber hoffentlich die CPU entlasten, wenn er die
Serialisierung (das "Pin-Wackeln") übernimmt.
Wenn es um grosse Geschwindigkeiten geht: Dann klemmt besser
einen fertigen Card-Reader an das IDE Kabel. Sowas gibts nämlich
auch.
Ciao,
DboxBaer
Wenn schon einmal das IDE Interface eingebaut ist und es auch ein CompactFlash sein darf, bietet sich ein CompactFlash auf IDE Adapter an.DBoxBaer hat geschrieben: Wenn es um grosse Geschwindigkeiten geht: Dann klemmt besser
einen fertigen Card-Reader an das IDE Kabel. Sowas gibts nämlich
auch.
Aaah, ok.mgerald21 hat geschrieben: Nene, eine SD Karte hat 9 Pins. Im SPI Mode werden nur 6 verwendet, aber im SD-Mode (4 Bit) alle Neune.
Das kommt man bei einer 2,5" Platte auch.Achja, an so einem Adapter müsste sich auch ein Microdrive ganz wohl fühlen:
http://de.wikipedia.org/wiki/Microdrive
Vielleicht käme man dann sogar ohne Netzteil aus?
Yep, denke schon (auf eigenes Risiko)Qnkel hat geschrieben:So wie ich das sehe kann man das ja schon nachbauen, oder?
Wann werden die Treiber etc. dafür im CSV bzw. Images sein.