SDHC(SD Host Controller)でシングルブロック転送のみを使用するには、次のカーネルのコンフィギュレーションを変更してください。
Linux Kernel Configuration
Device Drivers --->
<*> MMC/SD/SDIO card support --->
[*] Enforce to use single block transfer ← チェックを入れる
このコンフィギュレーションは、Linuxカーネル v2.6.26-at16以降で設定可能です。
シングルブロック転送のみを使用した場合、マルチブロック転送よりもSD/microSDカードに対する、読み書きの速度が低下します。
Linuxカーネル v2.6.26-at19以降では、下記エラッタの回避策が入っていています。下記エラッタ対策のために、この設定を選択する必要性はありません。
Linuxカーネル v2.6.26-at18以前では、マルチブロック転送時にエラー1が発生すると、Freescale i.MX257 (Armadillo-400シリーズのプロセッサ)のエラッタ「ENGcm072072」に該当してしまいます。そのため、シングルブロック転送のみで通信する設定を準備していました。可能であれば、最新のカーネルをご利用ください。
スパイクノイズなど外乱が非常に多く存在する環境にArmadilloを設置すると、SDの通信にエラーが発生する可能性があります。 ↩