STM32CubeIDEでSTM32F4Discoveryのデモプロジェクトをビルドする
はじめに
この記事はSTM32CubeIDEでSTM32F4DiscoveyのDemonstrationsプロジェクトをビルドするための備忘録です。作業の勢いで書いているので間違っている部分もあるかもしれません。参考程度にしてください。STM32F4Discoveryは、STM32F407というマイコンの評価ボードです(秋月電子での発売日が2011年なので少し古めです)。そしてSTM32CubeIDEはSTマイクロエレクトロニクスが2019年5月に発表したSTM32向けのIDEになります。
環境
- OS
- Windows 10
- STM32CubeIDE
- 1.4.2
- STM32F4Discovery
- MB997C (PCB revision C)
- Project
- Demonstrations
デモプロジェクトの作成
STM32CubeIDEを開き、File > New > STM32 Projectと選択すると、STM32 Projectの別ウインドウが開きます。このウインドウからExample Selectorタブを選択し、左側のExample FilterからでSTM32F4DiscoveryのExampleを絞り込んでいきます。絞り込めたらDemonstrationsを選択しNextをクリックしてプロジェクトを作成していきます。
ビルド(失敗)
Demonstrationsプロジェクトをビルドしてみましょう。Project > Build allを選択もしくはCtrl-Bでビルドします。
make: *** No rule to make target 'C:/Users/***/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c', needed by 'Middlewares/STM32_USBD_Library/Core/usbd_core.o'. Stop. "make all" terminated with exit code 2. Build might be incomplete.
はい。失敗しました。usbd_core.cが無いようです。
原因
Project Explorerで確認すると当該ファイル名はIDEには登録はされていますがファイル自体が存在していないようです。ファイルをダブルクリックで開いてみるとFile not foundと表示されます。Workspaceを直接エクスプローラで覗いてみてもファイルはありませんでした。DemonstrationsをSTM32CubeIDEのプロジェクトにコンバートした時に発生したバグでしょうか。
対処法
ライブラリのダウンロード
不足しているファイルを補います。具体的にはSTMicroがGitHubにあげているSTM32CubeF4リポジトリからダウンロードしてきます。
github.com
上記のSTM32CubeF4ライブラリをcloneもしくはDownload zipしてローカルに保存しておきます。
ファイルのコピー
ダウンロードしたライブラリから不足しているファイルを探して手動でコピーします。Project Explorerに不足ファイルをドラッグアンドドロップするとコピーできます。ファイルを上書きする旨を確認するダイアログが出たらOverwriteもしくはOverwrite allを選択してください。workspaceにファイルを直接コピーするのは止めた方が良いです。STM32CubeIDE(というかeclipse)がおかしくなります。
私の場合はMiddlewaresとBSPディレクトリ以下のファイルが不足していたので手動でコピーしました。ざっと見て不足しているファイルが無くなったらビルドをしてみましょう。
えいっ。
あっ…。
ライブラリとインクルードパスの修正
加速度センサのヘッダファイルが存在しないみたいです。先ほどダウンロードしたライブラリから追加します。エラー表示に従いlis302dl.hとlis3dsh.hを、lis302dl.cとlis3dsh.cと同じディレクトリにコピーします。確認ダイアログが出た場合はCopy filesを選択してみてください。
再ビルドします。えいっ。
../Dirvers/Components/lis302dl.h:48:10: fatal error: ../Common/accelero.h No such file or directory #include "../Common/accelero.h" ^~~~~~~~~~~~~~~~~~~~~ compilation terminated.
……。共通ライブラリが無いみたいです。ダウンロードしたライブラリから./Common/以下を探してドラッグアンドドロップで丸ごとコピーします。
再々ビルドします。えいっ。
Finished building target: Demonstrations.elf arm-none-eabi-size Demonstrations.elf text data bss dec hex filename 18120 568 3888 22576 5830 Demonstrations.elf Finished building: default.size.stdout arm-none-eabi-objdump -h -S Demonstrations.elf > "Demonstrations.list" Finished building: Demonstrations.list arm-none-eabi-objcopy -O binary Demonstrations.elf "Demonstrations.bin" Finished building: Demonstrations.bin 17:22:17 Build Finished. 0 errors, 0 warnings. (took 6s.197ms)
やっとビルドが通りました。良かったですね。成果物をSTM32F4Discoveryに焼いてみて確認してみましょう。評価ボードとPCをMicroUSBで接続すれば加速度マウスになります。
いまさら1903にしたら起動しなくなったりRadeon settingがエラーを吐いたりした話
Windows10を1809から1903にアップデート後に以下の現象が発生した。
- ロック画面から先に進めない
- Radeon Settings がエラーを吐く
1. ロック画面から先に進めない
Windows10のロック画面(時刻が表示される画面)からログイン画面に移動しようとすると、画面の表示が乱れPCが再起動する。
- 1903アップデート後すぐは正常に起動できた
- アップデート後にWindows updateでいくつかのパッチが降ってくる
- 再起動を要求されたので再起動する
- 当該の症状が出てログインできなくなる
- 何度か再起動してもログインできずロック画面から先に進めない
原因
たぶんGPUのドライバ関係。実は1903アップデート前に、YouTubeなどで動画を再生するとに同様に画面が乱れPCが再起動してしまう現象が発生していた(その時はChromeのGPU支援を無効して対策した)。画面の乱れ方からしてたぶん同じGPUのドライバ関係だと思う。
1903アップデートに伴ってかメーカ(lenovo)が提供するドライバがWindowsストアを経由して提供されるようになった。そこにはグラフィックのドライバも含まれているため、そこで古いドライバと新しいドライバが競合してしまったのだろうか(?)
もしくは、Windows updateで適用したパッチが何か悪さをしているのかも知れない…
対策
Windows10の自動修復の「詳細オプション」にある「システムの復元」を使いwindwos updateのパッチが当たる前まで切り戻した。ログイン画面以降にも進めるようになり無事復旧した。何が原因だったかは分からなかったが、まあ起動できたので良しとする。
CX 6.00BTのイヤーピースを無くしたのでComply Ts-167を買う
SENNHEISER CX6.00BTのイヤーピースを無くしたのでComply Ts-167を買いました。
約1年前に購入したBluetoothイヤホン CX6.00 BTのイヤーピースを無くしました。ポケットに雑に入れて持ち運んでいたので、むしろ1年間もイヤーピースを無くさずにいたのが奇跡です。
でもまあイヤーピースが無いと音楽が聴けないので、近くの家電量販店でイヤーピースを買いました。残念ながらCX6.0 BTに適合する純正イヤーピースは店頭には無く、Comply Ts-167 というイヤーピースを購入しました。
買った後に知ったのですがオーディオ界隈では定番っぽいカスタマイズパーツらしいです。なんか強そうですね。
感想
良いところ
- 遮音性と装着感
- 物理的ノイズキャンセリング感
- ウレタンフォームっぽいモチモチした材質で遮音性と装着感は抜群です
- 音質
- 遮音性が良いおかげか標準のイヤーピースよりも音が良い気がします
微妙なところ
- 価格
- イヤーピースにしては高い
- 耐久性
- 脆そう
- 遮音性・音質とのトレードオフでしょうか
総括
純正と比べてお値段はそこそこしますが、お勧めのイヤーピースだと思います。これからはイヤホン(とイヤーピース)は大事に扱います。
便利リンク
たぶん純正の交換用イヤーピースだろうと思われるリンクも張っておきます。誰か試して
NEC PA-WG1900HP2を買った
新しい無線LAN(wifi)ルータを購入しました。NECのPA-WG1900HP2です。
PA-WG1900HP2
経緯
引っ越しを機に新居のインターネット回線を光回線にしました。プロバイダはSo-netでFlet'sのマンション・ギガラインタイプの光配線方式です。規格値1Gbps出ます。ついでに、新しい無線LANルータを買おうということでNECのPA-WG1900HP2を買いました。
購入要件
購入にあたって重視した点は以下の2つの機能です。
- IEEE802.11ac
- v6プラス (IPoE やDS-Lite, MAP-Eに対応してほしい)
手持ちの電子機器に対応機種が増えたきたのと、折角の光回線の速度を体感するためにもIEEE802.11ac対応機種が必要かなと思いました。また、都会は夜間になると光回線が激遅になる問題が発生すると近所の公園に住むネコから聞いたので、プロバイダのv6プラスオプションに対応した機種を選びました。わからない用語は街角にいる動物に尋ねるかサーチエンジンで検索するとよいみたいです。
以上の要件を満たす機種であれば何でも良かったんですが、本機種が2018年7月発売ということだったので買ってしまいました。
設置
設置した図です。ONU - ルータ間はLANケーブルでつながっています。
LANケーブルをルータに挿して電源を投入すると、いきなりインターネットに繋がりました。プラグアンドプレイ()です。PPPoEの設定など一切せずに自動判別でv6プラスだと判別して即開通してくれました。
so-netの場合新しく光回線を契約すると、特に手続き無く自動的にv6プラスにしてくれるらしいです。
対応しているルータを買い、設定すれば通信できるみたいです。さらに今回買ったNEC PA-WG1900HP2君は、設定など一切せずに、自動判別で即インターネットの世界に出る事ができました。素晴らしいですね。
感想
良いところ
悪いところ
- 熱
- 筐体が少し熱いです。普通にさわれるくらいですが
SENNHEISER CX6.00BT を買った
イヤホンがもげたのでSENNHEISER CX6.00BTを買いました。
https://amzn.to/2Gl6BTV
経緯
↑で紹介したBluetoothなイヤホンが壊れたので新しい物を買いました。
(ピンぼけですが筐体の爪がもげてバッテリが露出しています)
筐体が壊れただけなので、電気的にはまだまだ使えます。
ただ露出したLiPoを耳からぶら下げて満員電車に乗るのもアレなので買い替えを決意しました。
購入
SENNHEISER CX6.00BTです。2018年3月発売ということで特に何も考えずにポチりました。こんな風にパッケージングされてます。高級そうですね。
付属品です。あと説明書もあります。
見た目重視なのでイヤホンを取り外すときは若干注意が必要です。
感想
良いところ
- コンパクト
- 以前のイヤホンを購入した時にも重視した点です
- ボックスレスだから取り回しやすく最高
- 音質
- 値段相応の音質を実感できます
- 3k JPYのBluetoothイヤホンと比較すると、細かい音まで拾えるような気がします
- 音声コーデック
- バッテリ
- JPA1は耳にLiPoを埋め込んでいましたが、CX6.00 BTはオーディオドライバとは独立した部分にバッテリが存在します
- 暴漢に突然耳の穴を襲撃されても爆発する恐れが無いので安全ですね
- カタログスペックで連続6時間くらい再生可能
悪いところ
- 認証情報のタグ
- 技適など認証情報を示すタグ(シール)が邪魔
- 剥がしたら電波法にアレするかもしれないのでアレ
- 充電がmicro USB type B
- いい加減周辺機器もtype Cにならないかなあ
追記
イヤーピース無くしました。
shimezikun.hatenablog.com