3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

STM32CubeIDEを使ってみよう STM32H745 DualCore編

Last updated at Posted at 2022-10-16

STM32CubeIDEを使ってみようの続編として STM32H7シリーズのデュアルコア STM32H745 を使ってみましょう。
本記事において使用する NUCLEO-H745ZI-Q_ は2022年10月1日開催の IoT あるじゃん ALGYAN x STM x mROS-base 世界初!mROS 2ハンズオン においてを STマイクロエレクトロニクス社 村澤様 より頂戴したものを使用しています。
なお、コードの書き方等については STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 Lチカ編 をご覧ください。

プロジェクトを作る

File⇒New⇒STM32 Project をクリックします。
image.png

ボード設定する

Board Selector のタブにおいて STM32H7 のチェックをつけて今回使用する NUCLEO-H745ZI-Q を選択します。
image.png
プロジェクト名を入力して Next をクリックします。
3.png
これで H745 のプロジェクトが生成されました。
4.png

そのままでは動かないプログラム

この段階でLD1~3のピンが設定されているのでプログラムを打ち込んでみましょう。
LD1~3が出てきません。
image.png
エラーが出てしまいます。
image.png
ピン番号を入れても動作しません。

コアとGPIOを紐づける

次にコアとGPIOを紐づけてみましょう。
Pinout&Configuration の画面において該当のピンをクリックして Pin ResevationFree から使用コアを選択します。
image.png
次に DeviceConfiguration Tool Code Generation をクリックします。
image.png

プログラム作成

今回は LD1 が選択可能になっています。
コードは必ずの間に記述してください。
コードジェネレートする事で消えてしまいます。

  /* USER CODE BEGIN 3 */
  /* USER CODE END 3 */

追加コード例

    /* USER CODE BEGIN 3 */
	  HAL_GPIO_TogglePin(LD1_GPIO_Port,LD1_Pin);
	  HAL_Delay(500);
  }
   /* USER CODE END 3 */

image.png
それではコンパイルしてみましょう。
image.png
無事動作しました。
5-2-8.png
これはGPIOがコアとつながっていない為です。
今回は、1つのGPIOは1つのコアが使用するように設定 します。

2つ目のコアで動かす

それでは次はもう一個のコアで動かしましょう。
Pinout&Configuration の画面においてもう一個のコアを選択しましょう。
image.png
LD2,LD3 が選択できるようになりました。
image.png
この状態で Run を押してみましょう。
image.png
正常に動作してそうに見えますが、残念ながら動作しません。
5-3-6.png
それではマルチコア用に修正しましょう。

マルチコア向けに設定を変更する

Run As⇒Run Configurations をクリックします。
image.png
最初にM7コアを設定します。
CM7 をクリックします。
image.png
Startup⇒Add をクリックします。
image.png
Project 名に CM4Build ConfigurationDebug にします。
image.png
以下のような構成になります。
image.png
次にM4コアの設定をします。
CM4 をクリックします。
デバッガ から
ポート番号:61238
Type:None

とします。
image.png
次に Startup⇒Edit をクリックします。
image.png
Download のチェックを外してOKをクリックします。
image.png
Downloadfalse になっている事を確認し Apply をクリックし、OK をクリックします。
image.png
これでコンパイルする事で両マイコンにプログラムを転送して、動作する事が出来ます。
image.png
以上で2つのコアが動作するプログラムを作る事が出来ました。

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?