背景
前回stm32を複数台繋げた状態で、それぞれを識別してプログラムを書き込む方法を把握しました。方法が分かったのは良いのですが、都度stlinkのid serialを調べるのが手間なので、ポートを渡したらplatformioで書き込んでくれるスクリプトを書きました。
使い方を共有します。
コードをclone(ダウンロード)
便利スクリプトをまとめているgithubのリポジトリに上げています。https://github.com/asukiaaa/useful-scripts/blob/master/platformio/upload-to-stm32-port
前回の記事で把握したstlinkのserial idをポートから調べてアップロードコマンドに渡すスクリプトです。
記事を書いている時点での内容はこちらです。
#!/bin/bash
if [ "$1" = "" ]; then
echo "Please execute with path of stm32 serial port.
$0 port
Example:
$0 /dev/ttyACM0"
exit 1
fi
PORT=$1
SERIAL_RAW=$(udevadm info $PORT | grep SERIAL_SHORT=)
SERIAL=${SERIAL_RAW#*=}
PLATFORMIO_UPLOAD_FLAGS="-cadapter serial $SERIAL" pio run -t upload ${@: 2}
適当な場所にcloneしてください。
下記のコマンドはホームディレクトリにgitprojectsというディレクトリを作り、その中にリポジトリをcloneしています。
mkdir -p ~/gitprojects
cd ~/gitprojects
git clone https://github.com/asukiaaa/useful-scripts.git
上記の場所にリポジトリを置くと下記のコマンドで呼び出せます。
~/gitprojects/useful-scripts/platformio/upload-to-stm32-port
ポートを指定して実行
先程cloneしたコマンドをplatformioのプロジェクトの中で対象のポート名と共に呼び出せば、ポートを指定してプログラムを書き込めます。cd [stm32のplatformioのプロジェクト]
~/gitprojects/useful-scripts/platformio/upload-to-stm32-port /dev/ttyACM0
第2引数以後はplatformioのコマンドに渡しているので、-vオプションでplatformioのコマンドの確認も可能です。
~/gitprojects/useful-scripts/platformio/upload-to-stm32-port /dev/ttyACM0 -v
0 件のコメント :
コメントを投稿