Eine 128 MBytes SD-Card die 262.144 Blöcke a 512 Bytes (= 128 MBytes) hat, wird mit dem Kommando CMD16 auf 32 Bytes Blöcke umgestellt. Hat die Karte jetzt 262.144 Blöcke a 32 Bytes (= 8 MBytes) oder hat sie 4.194.304 Blöcke a 16 Bytes 128 MBytes)?
Hallo,damit stellst du die blockgrösse auf 512 Bytes.Es gibt ein paar karten,wo die blockgrösse anders voreingestellt ist. gruss andy
Das ist nicht richtig und beantwortet meine Frage nicht. Laut Spezifikationen kann bei Standard SD-Cards die Blockgröße ab 1 Byte eingestellt werden. Die Frage ist: beeinflusst die Göße der Blöcke die verfügbare Kapazität.
Hallo,komisch das meine Karte nach senden von cmd16 eine Blockgrösse von 512 Bytes hat.Aber wenn du es besser weisst,dann ist ja gut.
>Laut >Spezifikationen kann bei Standard SD-Cards die Blockgröße ab 1 Byte >eingestellt werden. KANN , muss aber nicht. Set length is valid for memory access commands only if partial block read operation are allowed in CSD. In the case of a High Capacity SD Memory Card, block length set by CMD16 command does not affect the memory read and write commands. Always 512 Bytes fixed block length is used. This command is effective for LOCK_UNLOCK command. In both cases, if block length is set larger than 512Bytes, the card sets the BLOCK_LEN_ERROR bit.
Andy, du bist ein echter Ignorant. Du weißt definitiv nicht wie eine SD-Card auf dieses Kommando reagiert. Warum antwortest du überhaupt? Willst du dich wichtig mache? Ich habe eine ernsthafte Frage gestellt - auf die ich eine ebensolche Antwort möchte. Schau dir die Spezifikationen auf https://www.sdcard.org/home/ an, dann siehst du, dass ich recht habe. Eine Standard SD-Card lässt sich mit CMD16 auf Blockgrößen ab 1 Byte einstellen.
>Andy, du bist ein echter Ignorant. Du weißt definitiv nicht wie eine >SD-Card auf dieses Kommando reagiert. Er scheint es wohl ausprobiert zu haben. Wie reagieren deine Karten auf das Kommando? >Warum antwortest du überhaupt? Weil er dir helfen möchte? >Willst du dich wichtig mache? Ich habe eine ernsthafte Frage gestellt - >auf die ich eine ebensolche Antwort möchte. Kann es sein das du etwas unhöflich bist? Kann es sein das du Null Ahnung hast? Kann es sein das dir hier deshalb keiner mehr eine Antwort gibt? >Spezifikationen auf https://www.sdcard.org/home/ an, dann siehst du, >dass ich recht habe. Eine Standard SD-Card lässt sich mit CMD16 auf >Blockgrößen ab 1 Byte einstellen. Aber nur beim Lesen, hab ich aber auch noch nie probiert. Alle meine SD Karten liefern in WRITE_BL_PARTIAL eine 0. Schreiben geht also nur mit 512Byte pro Sektor. Deine merkwürdige Frage mit kleinerer Blocklänge deutet darauf hin das du mit einem viel zu kleinen Controller auf eine SD Karte zugreifen möchtest. Nimm was mit mindestens 1kB RAM, dann klappt das auch. Und jetzt spar dir bitte eine Antwort in deinem üblichen beleidigendem Stil.
> Eine Standard SD-Card lässt sich mit CMD16 auf > Blockgrößen ab 1 Byte einstellen. Ich meine schon Karten gesehen zu habe, die READ_BL_PARTIAL = 0 liefern. Das ist dann für den Anwender doof, wenn eine Karte geht und eine andere nicht. Karten mit gesetztem WRITE_BL_PARTIAL habe ich noch nie gesehen. Ich würde immer die 512 Byte lesen und notfalls die Bytes wegschmeissen die nicht gebraucht werden. Ich habe hier schon sehr schlechte Erfahrungen mit "selten genutzten" SD Karten Features gemacht. Zum Schreiben braucht man eh' einen 512 Byte Puffer.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.