SD-Card Kommando CMD16

Gast #2513806
Lesenswert?

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.
Gast #2513849
Lesenswert?

>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.
Gast #2513854
Lesenswert?

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.
Gast #2514418
Lesenswert?

>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.
#2514754
Lesenswert?

> 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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren