STM32F4シリーズを使ってみる9 - STM32F429I-Discovery準備編 -

STM32F429I-Discovery(製品名:STM32F429I-DISCO)、ようやく一般市場でも入手
しやすくなってきましたね。twitterのタイムライン見てると既に手に入れられた方、
使用されている方々の写真もびしばし上がってます。

私の方はというと…少数の方は更新に気づいていたとは思いますが、東海自然歩道へと
向かう前日の11/29にすでに既存のSTM32F4向けFatFs実装例に対応ボードの
一つとして基本部分を組み入れたソースコードを公開しております。
尤も429I-DiscoveryからはぢめてF4シリーズに触る奇特な人もいるかもしれないので
これがどういう物で何ができるか今一度軽く解説をさせていただきます。
※注意※
 ここここを見て私のプロジェクトをビルド・デバッグ出来る環境拵えてることが
 前提です!"意味が分からない"という方はご縁がなかったということで…



私のFatFs実装例(通称いつもの)は、ChaNさんのFatFsを中心に各マイコンの極めて
基本的な機能を網羅しています。STM32F4においては下に述べる機能を抑えています。
STM32F429I-Discoveryでも勿論使用しております。

 1.GPIO操作
  ->LED点滅・SW入力
 2.UART
  ->割り込みを使用したバッファリングされた送受信・stdioのリダイレクト
 3.液晶モジュール
  ->MCUバスインターフェース(i8080,SPI,I2C)で駆動できる表示素子の操作
   STM32F429I-DiscoveryはRGBインターフェースを使わずともSPI単体でも画像
   データを送ることができます(遅いですが)。
 4.FatFsのローレベル部の実装
  ->SPIやSDIO等とMMC/SDカードとのインターフェース。STM32F429I-Discovery
   ではSPI4を使用しSPI互換モードでSD/MMCを動作させております。
   
 5.外部RAMの制御
  ->STM32F407系はFSMCでSRAMを、STM32F429I-DiscoveryではFMCで
   SDRAMを制御します。


んでもっていつものをSTM32F429I-Discoveryで動かしているところ

DMAの転送に使用される内蔵RAMが圧倒的に増加したので多少転送効率もよくなり、
その分ヒープ領域もたくさん取れるようになったのもうれしいです♥
画像はRAM馬鹿食いのgiflibを動かしてるところ

ファイラーの操作はタッチパネルより。STM32F429I-Discvoeryではコントローラに
内蔵のフィルタがあるSTMPE811が使用されているのでキャリブレーションも簡略化
しました。同基板ではVBATがVCC直結で外部にピンが出ておらずバックアップRAMが
機能しないので苦肉の策です…

タッチパネルからのファイラーの操作は上下でファイルポインタ移動、右で選択、
左でキャンセルと手抜k直感的です!


前回述べていた基礎のとっかかりに関しては対応完了です。このプロジェクトではまだ
STM32F429I-Discoveryの機能のすべてを使いこなしてはいません。以下の項目は目下
実装中のSTM32F429にしか使えない機能です。

 1.LCDCを使用したRGBインターフェースによる高速な表示
  ->前回はやっけつで急ごしらえしましたが過去の資産をなんとか生かせるように
   作り変えてます…こちらはもうすぐ完了…。
 2.FatFsのファイル読み書き先をSDカードからUSBメモリに
  ->これ結構作業量ががが
   こちらに関しては先人の作例も数多くあるので参考にさせてもらってます。
   せっかくUSB-OTGがあるのにSDカードばっか使っててもったいないですから自身
   の学習がてらに実装がんばります!



そういうわけでSTM32F429I-Discoveryのフル機能を駆使した作例のほうは
もう少しお待ちください。過去のSTM32F407系の作例と完全に切り離して
STM32F429I-Discovery専用のプロジェクトとして公開する予定です。


おまけ

1年以上前に購入した699元全部載せSTM32F407基板もSTM32F427IIT6に
換装してパワーアップさせました。
実はずーーーーっとF427系のチップが出るの待っていたのです!

こっちはこっちでF407系の資産生かしてなおかつ強化する方向で遊んでいきます。

PARTYHARD!(見えづらいですが左上)

もいっこおまけ

STM32F42xxx&STM32F43xxx系をJTAGから見た場合バウンダリスキャンのTAPIDが
40x系と違うものになってるのでOpenOCDで書き込もうとするとコけます。
この修正はgerritに投げてますのでOpenCOD0.9.0あたりで反映されるはずです。

Go to top of page