STM32F7を使ってみる12 -STM32F769I-Discoveryを動かしてみる-




超忙しい状態が続いてるせいかせっかく買ったのに半月ほど寝かせてたらその間に
円安が進んで損しましたorz

それはおいといてSTM32F769I-Discoveryを私も手に入れました★昨年販売された
STM32F746G-Discoveryを機能的に踏襲しつつ新たな機能が更に盛り込まれています。


今回の目玉はMCUのF7系最強のSTM32F769Iなわけですが、今回ついに、ついに倍精度
浮動小数点ユニットが搭載されることとなりました!!長かった・・・
ついでに細かいCortex-M7のエラッタがさりげなく直されていますがあとで紹介します。



ハードウエア的には前回は16bit分減らされて容量も半分しか使えなかったSDRAMが
32bit分全開使えて容量もアップした事とすっかりおなじみになったQSPIも64Mbyte品
に容量アップでまさに最強に強まっています!!!


では早速電源投入を・・・
・・・ぁ・・・microUSBコネクタだ・・・


microUSBケーブルを引っ張り出してきて改めて電源投入!


なんかTouchGFXというのとEmbeddedWizardとかいうのが新たにメニューに追加
されていますね。


TouchGFXのBirdtheCoinとかいうのをやってみましょ


・・・!!!
クソゲーすぎる・・・
DMA2Dのパフォーマンステスト兼ねてるみたいですね。


さてお次はEmbeddedWizardです


容量性タッチパネルコントローラの機能を最大限に生かした入力デモが利用できます。


このようなオシロ風表示もらくらくです★




お遊びはこの辺にして私のいつものをF769Iに移植してみました。

移植に関してですがF746シリーズと決定的に違う点は内蔵RAMが増量、PLL-Rが追加
されているのと倍精度浮動小数点演算ユニットの対応です。
newlibで倍精度演算ライブラリを利用できるようにするためにはGCCコンパイラに
"-mfloat-abi=hard -mfpu=fpv5-d16"を渡すべきです。

後は液晶表示のためのペリフェラルがRGBでは無くDSIを利用している点です。
DSIは速度が速すぎるため、他ポートとの兼用はしておらず完全独立しております!
DSIの叩き方等の見本はBSPが充実していますのでライセンスに乗っ取ってまるっと
利用させてもらいます。

そんでもってSDMMCのポートは二つに増えましたがこのボードではSDMMC2のみを
SDカード用のポートとして利用していますのでこちらに替えるようにします。


そしてOpenOCDでビルドしたバイナリを焼く・・・!
ねむいさんのおきぱのOpenOCDバイナリはSTM32F76x/77x系にすでに
対応しています★


いつものが無事起動しました。SDカードもしっかり見えてディレクトリを
読めています!


libjpeg,giflib,libpng等の画像デコードもいつものように無事に表示できてます♥
でも展開時の表示がなんかもたついてる感じがするんですよね・・・
解像度が800x480に上がったせいかはたまたDSIとDMA2Dの連携が上手く
いってないのかこの辺の調査は次回に繰り越します。


あと今回重要なポイントは冒頭で述べたCortex-M7コアのエラッタでデバッグ時に
ペンディングビットが立った状態だとブレークポイント張ってないのにもかかわらず
強制的にその割り込み処理の先頭でブレークしてしまうと言うちょっと厄介な
エラッタが修正されています。
画像はF746におけるUART割り込みでブレークポイント無効なのに何故かUARTの
割り込み処理の先頭でとまっちゃているのが分かると思います。


というところで駆け足で紹介しましたが今からF7に入門される人たちは上記
エラッタが修正されたSTM32F769が搭載されているSTM32F769I-Discovery
購入して遊ぶのが最も最適かと思います。

んでもって私のF7のサンプルはすでにSTM32F769I-Discoveryに対応している
(もちろんmakefileの設定でF746-G化も可能です)ので手前味噌でありますが
どしどしご利用ください!

Go to top of page