Der Unterschied zwischen SD und SDHC/SDXC ist im Wesentlichen, dass bei
letzteren Adressen in 512-Byte-Blöcken verwendet werden, während bei den
älteren Byte-weise adressiert wird. Steuert man HC/XC (blockweise) also
wie SD (byteweise) an, gehen alle (Block-)Zugriffe um den Faktor 512
daneben, umgekehrt genauso, oder das Lesen schlägt fehl, weil die Karte
nicht mitten im Block lesen kann. Aber das war's auch schon an echten
Inkompatibilitäten. SD erlaubt potenziell verschiedene (konfigurierbare)
Block-Größen (u.a. 512 Bytes), HC/XC nur 512-Byte-Blöcke. Daher zur
Sicherheit bei der Initialisierung jede Karte auf 512-Byte-Blöcke
einstellen, dann passt das.