-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Andy Brown氏によって作成されたSTM32用非公式C++ライブラリstm32plusを用いた、STM32F4シリーズ用のC++テンプレートプロジェクトです。
stm32plusにはSTMicroelectronics純正のライブラリSTM32F4 DSP and standard peripherals libraryが使用されていますが、このライブラリのサポートは既に切れています。
そのため、Standard Peripherals Libraryサポート終了後に発売されたSTM32F7, STM32H7等及びSTM32L0,STM32L4等の低消費電力版シリーズとのコードの互換性はありません。
新規の開発ではHAL(STM32CubeF4)の使用が推奨されていることを考慮した上で、導入の検討を行ってください。
- STM32F4DISCOVERY ※makefileデフォルト
- STBee F4mini
- 32F429IDISCOVERY
- ForteFibre MainBoard V3.0(自作ボード)
その他のSTM32F4ボードに関してもmakefileに設定を加えることで使用可能です。
sudo tar xvf gcc-arm-none-eabi-6-2017-q1-update-linux.tar.bz2 -C /usr/local
sudo ln -snf /usr/local/gcc-arm-none-eabi-6-2017-q1-update /usr/local/arm-cs-tools
export PATH=$PATH:/usr/local/arm-cs-tools/bin
source ~/.bashrc
ライブラリのビルド手順です。Gistsのこのプロジェクトで管理しています。 独自のHSEクロック周波数で使用したい場合はシェルスクリプトの内容を適宜書き換えてください。
git clone https://gist.github.com/0dfe899d1230ff1a5522.git install_stm32plus
cd install_stm32plus
sh install_stm32plus.sh
スクリプトを実行すると~/workspace/stm32plus
にライブラリがビルドされた状態で配置される。
Stlink Toolsのインストール
ST-LINK V2でプログラムの書き込みをするためにインストールします。
sudo apt-get update
sudo apt-get -y install dh-autoreconf
sudo apt-get -y install libusb-1.0-0-dev
cd /tmp
git clone "https://github.com/texane/stlink.git"
cd /tmp/stlink
./autogen.sh
./configure
make
sudo make install
ついでにdfu-utilのインストールもします
sudo apt-get -y install dfu-util
また、ST-LINKへのアクセス権限を変更するために/etc/udev/rules.d/50-udev.rules
を作成し、以下の内容を記載してください。
SUBSYSTEM=="usb", KERNEL=="ttyUSB*", MODE="0666"
SUBSYSTEM=="usb", KERNEL=="ttyACM*", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="3748", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="374b", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="df11", MODE="0666"
書き換え後は再起動かudevadm control --reload
あたりで設定が反映されるはずです。
cd ~/workspace
git clone https://github.com/spiralray/stm32f4_template.git
stm32plusライブラリは相対パスで参照されるため、stm32f4_templateとstm32plusは必ず同じディレクトリに配置すること。
home
└ [username]
└ workspace
├ stm32plus
│ ├ include
│ └ build
└ stm32f4_template
├ inc
├ lib
├ src
└ makefile