イライラさせる開発環境だぜ、これほんと…
こうした悩みを解決します。
modustoolboxとは
infinionのマイコンボード開発で用いる純正の統合開発環境です。
まあこれを使うあたり、組み込み初心者ではないでしょう。
でも、でもですよ、この開発環境設定がイライラさせるんですねえ、ほんとに。
久々に壁ドンしてしまいました(意味違う
これよくわからないのが、2台のパソコンにmodustoolbox入れたんですが、一方は問題なく動き、他方はエラーだらけとなり、一体なんなんでしょう。
以下私のつまずいた点。ubuntu22.04使ってます。
bin/makeがない
modustoolboxでまずはLチカのサンプルコードもらおうと、
File -> New -> ModustoolboxApplication
と進むと、project creatorが表示されます。
そこには、githubから引っ張ってきたサンプルコードの一覧が列挙されます。
しかし、bin/makeがない、と赤字で表記されてサンプルコードが表示されない。
そもそもこのbinディレクトリはmodustoolbox/tools_x.x/modus-shellディレクトリにあるとのこと。
(x.xはバージョン情報、例えば、tools_3.1とかになってますよ、実際は。)
で、そこを見るとそもそもbinディレクトリがない。
modustoolboxには、CY_TOOLS_PATHS correctly?とか表示される。
どう調べても、それはすでに存在するプロジェクトで設定する内容で、bin/makeがないというエラーと関係がない。
純正環境がテキトーなこと言うんじゃないということと、そこまで言うならガイドを出せと言いたい。気が利かないエンジニアが作った開発環境だと思わせる。
けどまあ純正環境だからこそ、こんな動きが許されるというのだが。
あと、警告として、プロキシサーバー設定が云々とも書かれてますけど、これも関係ないです。
すみません、愚痴が長くなりましたが、結局どうすればよいかというと、modustoolbox/tools_x.x/modus-shellディレクトリにあるpostinstallを実行すればよいです。
//パスは基本的に→ ~/ModusToolbox/tools_3.1/modus-shell
$./postinstall
これによってbinディレクトリとその中のファイルがインストールされます。
これでサンプルコードが参照できるようになります。
Error: unable to find a matching CMSIS-DAP device
さて、サンプルコードも引っ張ってこれるようになったので、とりあえずボードに書いてみるか。
ビルドも通ったし、Runで書き込もうとすると、
Error: unable to find a matching CMSIS-DAP device
このように表示されて書き込みできません。おい、もう勘弁してくれよ…
これはケーブルの断線とかボードの故障によってmodustoolboxが認識できないことが疑われる、と。
で、それを確認するために、tools_x.x/modus-shell/binディレクトリのfw-loaderを実行しなさい、と。
$ ./fw-loader --device-list
ちゃんと認識できていれば上記コマンドでボード情報が表示される。
しかし、接続されたデバイスはないと言われる。なんでだよ…
Infineon Firmware Updater, Version: 3.5.0.2114
(C) Copyright 2018-2023 by Cypress Semiconductor Corporation (an Infineon company)
All Rights Reserved
Info: Start the API initialization
Info: The hardware initialization has completed in 252 ms
Error: No connected devices.
私の場合、これはopenocdがなかったために起こった問題でした。
$ sudo apt-get install openocd
openocdをインストールして、
$ ./fw-loader --device-list
再度デバイスリストを表示させたら、問題なく表示しました。
そしてmodustoolboxでrunするとこちらも問題なく書き込み動作できました。
まとめ
modustoolboxはクセあり環境、導入時要注意。(丸1日かかりました)
コメント