STM32F746DiscoveryでSDカードを扱う

STM32F746DiscoveryでSDカードを扱うにはSTM32CubeF7(https://www.stmcu.jp/design/sw_dev/firmware/52730/#52730_en)をダウンロードしてその中のSTM32Cube_FW_F7_V1.16.0/Projects/STM32746G-Discovery/Applications/FatFs/FatFs_uSD_RTOSからEmbbeded Workbench(EWARM)、Keil uVision5(MDK-ARM)、SW4STM32の中から任意のプロジェクトを選び実行することでとりあえずのSDカードのR/Wが試せます。

この例だとコンパイル容量が32kByte未満なのでどれでも選択できますが、STマイクロ提供のSTM32CubeIDEで試してみます。

やることは単に他のプロジェクトをインポートするだけです。

ではやってみましょう。

ちなみに私のPCにインストールしたSTM32CubeIDEは日本語化しているのでメニューの文字などは日本語化しています。日本語化していない場合はそれを英語に読み替えてみて下さい。

ファイル>ファイル・システムからプロジェクトを開く… を選択するとファイル・システムまたはアーカイブからプロジェクトをインポート ウィンドウが開きます。「ディレクトリー」ボタンを押してSTM32Cube_FW_F7_V1.16.0/Projects/STM32746G-Discovery/Applications/FatFs/FatFs_uSD_RTOS/SW4STM32/STM32746G_DISCOVERY を選択して「完了」ボタンを押します

以下の質問ウィンドウが開きます。

This project requires a conversion in order to be used with SM32CubeIDE.

Project files are automatically backed-up (.projec_org/.cproject_org) in project root folder before conversion.

Convert project STM32746G_DISCOVERY to an STM32CubeIDE roject?

このプロジェクトをSM32CubeIDEで使用するには、変換が必要です。

プロジェクトファイルは、変換前にプロジェクトルートフォルダーに自動的にバックアップされます(.projec_org / .cproject_org)。

プロジェクトSTM32746G_DISCOVERYをSTM32CubeIDEに変換しますか?

「OK」ボタンを押します。

以下の質問ウィンドウが開きます。

The project STM32746G_DISCOVERY was converted without problems. Some manual configuration may still be required. Read the STM32746G_DISCOVERY_converter.log file available in the project root folder.

プロジェクトSTM32746G_DISCOVERYは問題なく変換されました。 いくつかの手動構成がまだ必要な場合があります。 プロジェクトのルートフォルダーにあるSTM32746G_DISCOVERY_converter.logファイルを読みます。

「OK」ボタンを押します。

プロジェクトがSTM32CubeIDE用に変換されてインポートされているので、プロジェクト>プロジェクトのビルド でビルドします。

STM32F746DiscoveryボードをUSBケーブルでつないで実行>デバッグ>STM32 MCU C/C++ Application で起動構成プロパティーの編集 ウィンドウが開くのでそのまま「OK」ボタンを押します。

プログラムがダウンロードされてSTM32F746Discoveryが実行開始待ち状態になったら適当なマイクロSDカードを挿して、実行>再開 するとプログラムが走ります。

このときSDカードはフォーマットされてしまうのでご注意ください。

数秒待ってLD1が点灯すればSDカードWrite/Read正常終了です。

SDカードをPCなどで確認すると「This is STM32 working with FatFs」という1行からなるSTM32.txtファイルが生成されています。

これでFatFs_uSD_RTOSの動作確認ができました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です