Make.

Blog

STM32CubeIDEにGitを追加する

STM32CubeIDE(2019/06/11)には、デフォルトでGitが付属していなかったため、以下の手順でGitを追加する。

メニューからHelp->Eclipse Marketplaceを選択する。

Egitを追加する。Egitは、Eclipse用のgit環境のようなもの。

インストールをおして、インストール

とりあえずデフォルトのオプションでインストールする。

ライセンス等をacceptして、Finish.

インストールが終わったら、プロジェクトを右クリックし、Team->Share Projectを選択する。


左上のチェックボックスにチェックを入れて、対象のプロジェクトをGitの構成管理対象とする。その後、Create Repositoryを押して、Git リポジトリを作成する。

Repositoryに.gitが表示されたらFinishを押して終わる。

上記までの手順で、プロジェクトフォルダにGitリポジトリが作成されるため、構成管理対象としたいファイルをコミットする。

STM32CubeIDEでLチカ

STM32CubeIDEを使って、NUCLEO-F401REでLチカするまでを記録する。

STM32CubeIDEを起動する。
起動時にWorkSpaceの場所を聞かれるため、任意のパスを指定する。

Start new STM32 projectを選択する。

Board Selectorのタブを選択し、NUCLEO-F401REを検索して、右下のリストから選択する。ボードを選択したら[Next]を選択して、次に行く。

Project Setupでプロジェクト名を入力し、プロジェクトの設定を行う。
プロジェクトのOptionはデフォルトのままとする。入力が完了したらFinishを押して、プロジェクトを生成する。Finish後メッセージが複数表示されるが、ここではすべてOKでよい。

プロジェクトの生成が完了すると、以下のような画面が表示される。

まずは、そのままプロジェクトがBuildできることを確認してみる。右上のトンカチアイコンをクリックするだけでBuildが可能であった。

生成されたプロジェクトのmain.cのwhileループ内に以下の2行を追加する。

  HAL_GPIO_TogglePin( GPIOA, GPIO_PIN_5 ); // この2行を追加
  HAL_Delay( 1000 );


Debugを開始する。
メニューの虫アイコンを押す。

以下の画面が表示されるためSTM32 MCU C/C++ Applicationを選択する。

デバッガの選択は、以下のようにデフォルトのままでよい。

GDB接続設定はST-LINKのままでよい。

デバッグしようとして、NUCLEO側のST-Linkのファームウェアが古い場合は、ファームウェアの更新が求められるため、ファームウェアを更新する。以下の画面が表示さえれたら、Open in update modeを選択したあとに、Upgradeを選択して、更新する。

実行できたら、ソースコードの左側をダブルクリックして、ブレークポイントで処理がとまることを確認する。

STM32CubeIDEのインストール

STM32CubeIDEは、統合開発環境に STM32CubeMXを 合わせて、デバッグまでできるというソフトウェアである。

以下のサイトから入手する。

https://www.st.com/ja/development-tools/stm32cubeide.html

ページの下部から、自分の開発環境にあったインストーラを入手する。
今回の自分の環境は、Windows10 64bitである。


インストール方法は、とりあえずすべて[Next]で問題なし。

次回はNUCLEO-F401REでLチカできることを確認する。

LIRCで/etc/lirc/hardware.confファイルが存在しない

Raspberrypiで赤外線を送受信しようと思っていましたが、久しぶりにRaspberryPiにLIRCをインストールしてみたら、LIRCでハードウェアの設定を行うための/etc/lirc/hardware.confが存在しなくなっていた。

※本ブログの内容は、以下のコンテンツに転記しました。

Raspbian Stretchから、/etc/lirc/hardware.confではなく、/etc/lirc/lirc_options.confファイルを編集するようである。


[lircd]
nodaemon = False
driver = default
device = /dev/lirc0
output = /var/run/lirc/lircd
pidfile = /var/run/lirc/lircd.pid
plugindir = /usr/lib/arm-linux-gnueabihf/lirc/plugins
permission = 666
allow-simulate = No
repeat-max = 600
#effective-user =
#listen = [address:]port
#connect = host[:port]
#loglevel = 6
#uinput = ...
#release = ...
#logfile = ...

ファイル内の以下を修正する。

driver = default
device = /dev/lirc0

以下のコマンドを実行するのが手っ取り早い。

sudo sed -i -e "s/driver = devinput/driver = default/g" /etc/lirc/lirc_options.conf
sudo sed -i -e "s/device = auto/device = \/dev\/lirc0/g" /etc/lirc/lirc_options.conf

/boot/config.txtの変更方法も変わっている。

#RemoteController
dtoverlay=lirc-rpi
dtparam=gpio_in_pin=22
dtparam=gpio_out_pin=23

再起動して、設定を反映する。

$ sudo reboot

動作確認
再起動後、モジュールが有効になっているかを確認する。

$ lsmod | grep lirc
lirc_rpi 7355 3
lirc_dev 10391 1 lirc_rpi
rc_core 17576 1 lirc_dev
RaspberryPiにデバイスとして認識されていることを確認。

$ ls -l /dev/lirc*
crw-rw—T 1 root video 248, 0 Oct 25 22:19 /dev/lirc0
最後に、リモコンコードを受信できるかテストする。
以下のコマンドを入力し、リモコンを受光モジュールに向けて押すと、受信信号が出力される。

$ sudo /etc/init.d/lircd stop
$ sudo mode2 -d /dev/lirc0