環境と注意事項
- Nucleo-F401RE
- STM32CubeIDE v1.0.0
- macOS Mojave v10.14.4
- 環境と注意事項
- ダウンロード手順
- ST-Link Serverのインストール
- STM32CubeIDEのインストール
- STM32 CubeIDEの起動
- STM32 CubeIDEでプロジェクトの新規作成
- STM32 CubeIDEでLチカプログラム
- Lチカの実行
- 実行できない場合
- 参考文献
ダウンロード手順
こちらのページからダウンロードできます.
「ソフトウェアを入手」をクリックすることで画面下に遷移します.
自身の環境に合わせた製品の「ソフトウェア入手」をクリックします(私はMacなので,真ん中のもの).
ライセンス契約に同意(ACCEPT)します.
名,性,E-mailを入力し,「I have read and understood...」にチェックを入れたあと,「ダウンロード」をクリックします.
メールが届きますので,「Download now」をクリックします.
およそ1GB近いサイズのファイルがダウンロードされます.
このファイルを開くと以下のウィンドウが表示されます.
- ST Link Server
- STM32CubeIDE
なるものが入っているようです.
ST Link Serverに関してはからインストールすべきらしいですし,一応インストール操作はしましたが,効果がよく分かりませんでした.
ST-Link Serverのインストール
これは私が実際に行った操作ですが,必要性は分かりません.
一応載せておきます.
なにやら怪しい警告が出てきました.とりあえず「このままインストール」を選択しました.
今の所異常は起きてないので大丈夫かと思います..
完了です.
このあと,「ゴミ箱に移動しますか?」というダイアログが出てきたら「いいえ」を選択します.
STM32CubeIDEのインストール
次に本体となる,「STM32CubeIDE」をインストールします.
デスクトップに「STM32CubeIDE」というディスクがセットされていれば,以下のインストーラを起動できます.
ない場合は,ダウンロードしたファイルから再度起動してください.
次に「STM32CubeIDE」をApplications(アプリケーション)フォルダにドラッグしてインストールします.
STM32 CubeIDEの起動
アプリケーションフォルダにいき,右クリックしたあとOption(Alt)キーを押しながらクリックします.
(未確認の開発者のソフトウェアを受け入れるための方法です)
「未確認の開発者...」などのダイアログが出たら「開く」をクリックします.
STM32 CubeIDEでプロジェクトの新規作成
こちらの「Information Center」が開いたら「Start new STM32 project」を選択します.
(この操作はメニューバー→「File」→「New」→「STM32 project」と同じものです)
ターゲットの選択画面が出ますので,最初に「Board Selector」タブを選択します.
次に画面左上の検索ボックスに,「NUCLEO-F401RE」と入力しリターンキーを押します.
すると右に当該のボードが表示されますので,ダブルクリックすることで,選択することができます.
プロジェクトの名前を適当に設定し,「Finish」をクリックします.
すると,関連ファイルのダウンロードが始まります.
(私はここで一度フリーズしてしまったため,最初からやり直しました.)
ここまできて,マイコンのハードウェア的な設定を行えるグラフィカルな画面が出現しました.
この画面で,各周辺機能(ペリフェラル)のピンへの割り当てを行えます.
STM32 CubeIDEでLチカプログラム
左の一覧から「Src」フォルダ内の「main.c」を開きます.
名前の通り,こちらのファイルにメインのプログラムを記述していきます.
デフォルトのmain.cの中身について
「main.c」にはすでに250行ほどのプログラムが記述されています.
これは,グラフィカルな画面(.iocファイル)で設定したピンの設定などの情報を自動で記述したものであり,いわゆるマイコンの「初期設定」のようなものを行う必要がありません.
自分のプログラムを記述した後でも,iocファイルを修正することでmain.cに変更が自動反映されます.
1点注意点として自動反映の際に自分で書いたプログラムが消える恐れがあることが挙げられます.
それを避けるために,自分で書くプログラムはコメント「USER CODE BEGIN」から「USER CODE END」の間に書くようにしてください.
また,このコメントを削除してはいけません.
Lチカプログラム
main.cの一部を抜き出しました.編集すべきはわずか2行だけです.
「USER CODE BEGIN 3」の下に以下の2行を追記してください.
int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_USART2_UART_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ //ここに以下2行を追加 HAL_GPIO_TogglePin( GPIOA, GPIO_PIN_5 ); HAL_Delay( 500 ); } /* USER CODE END 3 */ }
以上で記述は完了です.
Lチカの実行
Nucleoをコンピュータにに挿入して,認識されていることを確認します.
(認識されていれば,デスクトップに以下のディスクが接続されているはずです)
STM32 CubeIDEの虫マークをクリックすることで,書き込みに入ります.
下のConsole画面に「Download verified successfully」が出てきたら書き込み完了です.
リセットボタンを押し,NUCLEO中央付近にある緑色LED(LD2)が点滅したら成功です.
実行できない場合
ST Linkファームウェアが古いとき
「ST Linkのバージョンが古いです」のような表示が出た場合にはNUCLEOの書き込み機部分のファームウェアを更新する必要があります.