ここでは『SW4STM32 - System Workbench for STM32』を使って最初からプロジェクトを作成する方法を示します。

SW4STM32を起動すると毎度のことながらworkspaceの場所を聞かれますので、今まで通り .\Ac6\workspace で進めてください。

起動したらメニューから [File] → [New] → [C++ Project] を選択するとダイアログが開きます。
ここでは、Project Nameを "test" としておきます。
また、Project Typeを Executable → Ac6 STM32 MCU Projectを選びToolchainsが、"Ac6 STM332 MCU GCC"とします。
そして[Next]ボタンで次に行きます。
キャプチャ10

ここでは、特に何もせず[Next]ボタンで次に行きます。
キャプチャ11

MCU Configuration ダイアログが出るので、Seriesから"STM32F7"を選んで、、、Boardから"STM32F746G-DISCO"を選びます。
これは、SW4STM32があらかじめ今回のターゲットボード設定が登録されています。楽ですね!
と言う事で、またまた[Next]ボタンで次に行きます。
キャプチャ12

Project Firmware Configuration ダイアログが表示されます。
ここでは、No firmware か Hardware Abstraction Layer (Cube HAL)が選べますので、Cube HALを選んでください。
 ※Standard Peripheral Library (StdPeriph)は、選べませんが・・・(理由は後述)
そして初回だと必要ファイルのダウンロードが必要なので、[Download target firmware]ボタンを押します。
キャプチャ13

ライセンスの確認ダイアログが出るので、了解 (I accept the agureement.) して[Ok]ボタンを押します。キャプチャ14

ダウンロードが開始されます。茶でもすすりながら待ちま~す♪
キャプチャ15



ここで、先ほどちょろっと出てきたCubeHALの説明です。
これは、STマイクロ社が自社のSTM32シリーズで使えるライブラリー提供しておりその名称になります。
 ①Standard Peripheral Library (StdPeriph)
 ②Hardware Abstraction Layer (Cube HAL)
上記2つが、存在していて①が初期の頃からあるハードウェア寄りの基本的なライブラリーです。
対してCube HALは、近年登場してきたマイコン間の差異を吸収するように出来ているリッチなライブラリーです。
最新のSTM32マイコン(高性能版)は、StdPeriphがサポートさずにCubeHALに移行してきています。
今回使っているSTM32F746G-DISCOボードに搭載されているSTM32F746NGH6マイコンは、高性能版ですのでCube HALのみサポートされていて、先ほどのインストールダイアログでStdPeriphが選択できなかったのは、このような事情からです。
 ※なお、StdPeriphを使う場合は、CooCox IDEを使っていたりします。
 ※今のことろ自分はこっちの方が使いやすいです。詳しくは勝手に調べてくださいw(;´∀`)


はい、ダウンロードが完了したら色んな項目が選択出来るようになりました!
ここでは、初期状態のまま[Finish]ボタンで終了させます。
キャプチャ16
なお、その他項目の意味は以下のような感じです。
①Extract all firmware in separate folder はライブラリファイル(ファーム及びドライバー)をworkspace内にダウンロード保存します。
②Add low level diver in the project は、プロジェクトに先ほどダウンロードしたライブラリ(ファーム及びドライバー)をリンクする設定です。
 ※As sources in the application project ... ロジェクト内に必要ファイルをコピーする
 ※As static external libraries ... コピーせず必要ファイルを参照する
③Additional drivers / Additional utilities and third-party utilies は、各種ライブラリーをプロジェクトに取り込みます。
 ※前にサンプルを実行する例を示しましたが、これらに組み込まれているライブラリー(リアルタイムOSやFATファイルシステム等)を自動で個別追加できます。


やっとプログラムを作るうえでのひな形(プロジェクト)が出来上がりました。
左側のProject Explorerに今回作成した test が加わります。
 ※ダウンロードした stm32f746g-disco_hal_lib も追加されています。

test → src → main.c を選んでファイルをオープンしてください。
画面で示したように main(){ ... } 関数内に記述しましょう!
これは、ボードに搭載されているLEDを500ミリ秒周期で点滅させるプログラムコードになります。
キャプチャ17
コードを記載したらメニューから[Project] → [Build All] ビルド(コンパイル)しましょう!
しばらくするとビルドが終了します。
 ※Build Finished ってコンソールに表示されます
キャプチャ18

前のエントリーで示した通り、左側のProject Explorerにある test プロジェクトを左クリックしてメニューを出し、[Debug As] → [1 Ac6 STM33 C/C++ Application]を選ぶとボードに書き込みを行いデバッガーを実行します。
あとは、デバッガーが一旦停止するので[F8]キーを押して実行(スタート)させます。

どうですか?ボード裏面の緑色LEDが点滅しましたか?
IMG_20170106_021558
こんな感じで新規のプロジェクトを作っていきます。
ぜひ、沢山あるサンプルコードを参考にしていろんなものを作ってみて下さい♪(^^)/


Yahoo!ショッピングでSTM32F7を検索