F 429開発ボードについて--挑戦者におけるSDカード読み書きテストのメモ
1035 ワード
最近、SDカードのコードを調整する際、「0-野火【F 429開発ボード-チャレンジャー】光ディスク資料A盤(資料盤)3-プログラムソースコード1-ファームウェアライブラリルーチンSDIO-SDカード読み書きテスト」コードを使用してSDカードをテストしたが、合格しなかった.シリアルポート出力情報は次のとおりです.
SDカードの読み書き実験を開始SDカードの初期化に成功!SDカード消去テストに失敗しました.ヒント:一部のSDカードは消去テストをサポートしていません.SDカードが次のsingle読み書きテストに合格すれば、SDカードが正常に使用できることを示します.Single blockテストに失敗しました.SDカードが開発ボードに正しく接続されているか、SDカードテストを交換してください.Multi blockのテストに失敗しました.SDカードが開発ボードに正しく接続されているか、SDカードのテストを交換してください.
SDカードを2枚試して、複数の資料を見た後、バスレートの問題ではないかと思った.つまり、私が持っているこの2枚のSDカードの通信レートは高くないということだ.そしてbsp_sdio_sd.cのline 346行:
次のように変更します.
このときバスの速度は2 Mhzであるべきで、「on STM 32 F 4 xx devices,SDIOCLK is fixed to 48 MHz」である.テストに合格しました.シリアルポート出力情報は次のとおりです.
SDカードの読み書き実験を開始SDカードの初期化に成功!SDカード消去テストに成功!Single blockテスト成功!Multi blockテスト成功!
SDカードの読み書き実験を開始SDカードの初期化に成功!SDカード消去テストに失敗しました.ヒント:一部のSDカードは消去テストをサポートしていません.SDカードが次のsingle読み書きテストに合格すれば、SDカードが正常に使用できることを示します.Single blockテストに失敗しました.SDカードが開発ボードに正しく接続されているか、SDカードテストを交換してください.Multi blockのテストに失敗しました.SDカードが開発ボードに正しく接続されているか、SDカードのテストを交換してください.
SDカードを2枚試して、複数の資料を見た後、バスレートの問題ではないかと思った.つまり、私が持っているこの2枚のSDカードの通信レートは高くないということだ.そしてbsp_sdio_sd.cのline 346行:
/**
* @brief SDIO Data Transfer Frequency (25MHz max)
*/
#define SDIO_TRANSFER_CLK_DIV ((uint8_t)0x0)
次のように変更します.
/**
* @brief SDIO Data Transfer Frequency (25MHz max)
*/
#define SDIO_TRANSFER_CLK_DIV ((uint8_t)0x16)
このときバスの速度は2 Mhzであるべきで、「on STM 32 F 4 xx devices,SDIOCLK is fixed to 48 MHz」である.テストに合格しました.シリアルポート出力情報は次のとおりです.
SDカードの読み書き実験を開始SDカードの初期化に成功!SDカード消去テストに成功!Single blockテスト成功!Multi blockテスト成功!