System Workbench for STM32
STM32の開発環境は今までCooCox CoIDEを使ってきました。
フリーで無制限に使えるのですが、使い勝手の悪いリポジトリ機能とプロジェクト管理が難点でした。
そこで今回はSystem Workbench for STM32に乗り換えることにします。略してSW4STM32らしいです。
yuqlid先輩のブログを参考にさせていただきました。
インストールするのは、
・SW4STM32
・GCC ARM Embedded in Launchpad
・OpenOCD
です。
SW4STM32は、Eclipse系のIDEなのでウィザードを使って超簡単にプロジェクトを作成できます。
いま所用で弄ろうとしているSTM32F429i-discoもボードとして登録されていました。
適当に進んでビルドまではいけるはずです。
ところがひっかかったのがマイコンへの書き込みです。
参考にしたブログにあるように、Debug configurationsからデバッグ構成を新規作成します。
これでデバッグモードですが書き込みできます。
リリースモードでビルドして書き込む方法は・・・検討中です。
追記:
リリースモードについて。
ビルドをReleaseモードにして、Run configurationsで構成を新規作成して、こんな感じになればOKです。
あとはRunボタンで書き込むと、デバッグモードと違い即座に実行されます。
リリースモードだと、デバッグ用の情報が入っていないため、コード量が減るはずです。
さらに追記:
デフォルトでは浮動小数点演算設定がhardになっています。場合によっては、softfpのほうがいい時があります。(STemWin使うときとか)
ProjectのPropatiesのC/C++ BuildのSettingsのMCU Settingsで設定できます。
TensorFlowのインストール
DeeplearningライブラリTensorFlowをUbuntu14.04にインストールします。
ここを参考にします。
https://www.tensorflow.org/versions/r0.8/get_started/os_setup.html
必要なパッケージをインストール。
sudo apt-get install python-pip python-dev
TensorFlowはとりあえずCPU onlyをインストール。
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
こんな感じでTensorFlowのインストールを確認。
$ python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>> hello = tf.constant('Hello, TensorFlow!!!') >>> sess = tf.Session() >>> print sess.run(hello) Hello, TensorFlow!!! >>>
チュートリアルでもやってみます。
MNIST For ML Beginners
gnuplotの導入
C++でディジタル制御のプログラムを書こうとしていて、結果をグラフで表示したいなと調べたところ、gnuplotが便利そうだとわかりました。
インストールします。
sudo apt-get install gnuplot-x11
最後のx11を付け忘れてもインストールしてしまったのですが、ubuntuではグラフウインドウが出ませんでした。ここを参考にしました。
ソースコードからはこんな感じにアクセスします。以下は一例です。
FILE *gp; gp = popen("gnuplot -persist","w"); fprintf(gp, "plot '-' with lines linetype 1 title \"model\"\n");
データの組を渡すにはこんな感じです。
fprintf(gp, "%d\t%f\n", i, out);
データの最後に'e'を出力し、closeします。
fprintf(gp, "e\n"); pclose(gp);
実行すればグラフウインドウが出ます。
ただ、グラフウインドウを閉じようとすると応答なしになってしまいます。
これをpopenしたあとに書くと、ちょっとグラフスタイルが変わりますが閉じられるようになりました。
fprintf(gp, "set terminal x11\n");
原因など詳しくはわからないですが。