Skip to content

Instantly share code, notes, and snippets.

@mamemomonga
Last active May 26, 2020 02:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mamemomonga/b61610bf27135e100e9a3fba53f5e0ff to your computer and use it in GitHub Desktop.
Save mamemomonga/b61610bf27135e100e9a3fba53f5e0ff to your computer and use it in GitHub Desktop.
STM32 Nucleo F401RE macOSでビルドとアップロードしてLチカ

STM32 Nucleo F401RE macOSでビルドとアップロードしてLチカ

STM32CubeMXのインストール

チップやボードを選んでライブラリと初期コードを生成してくれるツール。要JRE

コマンド

$ brew tap AdoptOpenJDK/openjdk
$ brew cask install adoptopenjdk11

上記のようにJRE/JDKをいれてからダウンロードしたSTM32CubeMXインストーラを実行する。

macOSにARMのGCCコンパイル環境を構築する

コマンド

$ brew update
$ brew upgrade
$ brew tap ArmMbed/homebrew-formulae
$ brew install arm-none-eabi-gcc

$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ST-Linkのインストール

コマンド

$ brew install stlink

$ st-util --version
v1.6.0

$ st-info --version
v1.6.0

$ st-flash --version
v1.6.0

Lチカ

  1. STM32CubeMXでボードを選ぶ
  2. Create Project
  3. 「Initalize app peripherals with their default Mode」でYes
  4. Project Managerで保存先を設定、ToolchainでMakefileを洗濯して「Generate Code」
  5. Src/main.c を開く
  6. /* USER CODE BEGIN 3 / と / USER CODE END 3 */ の手前の } の間に以下のコードを入れる

コード

HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_SET);
HAL_Delay(100);
HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
HAL_Delay(100);
  1. make を実行する
  2. STM Nucleo BoardをMacに接続する
  3. st-info --probe を実行して接続状態を確認する
  4. プログラムをアップロードする

コマンド

$ st-flash --format ihex write ./build/blink.hex
  • 搭載LED(D4)が細かくチカチカしたら成功。なお、デフォルトではボタンでチカチカ具合がかわるソフトがすでに入っている。
  • Nucleo F401REボードはボードの小さい方がST-Linkになりプログラマになるそうだ。

Raspberry Pi(Raspbian)での開発環境導入

$ sudo apt install -y gcc-arm-none-eabi binutils-arm-none-eabi stlink-tools build-essential

make flash で書き込めるようにする

$ cat > flash.make << 'EOS'
flash:
	st-flash --format ihex write $(BUILD_DIR)/$(TARGET).hex
EOS

$ echo 'include flash.make' >> Makefile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment