ModusToolbox™の初期設定

イライラさせる開発環境だぜ、これほんと…

こうした悩みを解決します。

スポンサーリンク

ModusToolbox™とは

infinionのマイコンボード開発で用いる純正の統合開発環境です。

まあこれを使うあたり、組み込み初心者ではないでしょう。

でも、でもですよ、この開発環境設定がイライラさせるんですねえ、ほんとに。

久々に壁ドンしてしまいました(意味違う

これよくわからないのが、2台のパソコンにModusToolbox™入れたんですが、一方は問題なく動き、他方はエラーだらけとなり、一体なんなんでしょう。

以下私のつまずいた点。ubuntu22.04使ってます。

kitprog3が古い

ModusToolbox™で初めて書き込みしようとすると、確実にこのエラーが出ると思われます。

※バージョンやユーザ名は自分のに置き換えてくださいね

* KitProg3 firmware is out of date. Update to the latest detected version (2.60.1450)
* found in C:/Users/user/ModusToolbox/tools_3.2/../../../../Infineon/Tools/ModusToolboxProgtools-1.2.1/kp-firmware
* using fw-loader tool

開発環境のkitprog3は古いからfw-loaderを使って、kitprog3を最新版に更新して、と言われてます。
(なぜ最初から最新版入れて提供しないのか。。。)

ディレクトリの指定も4階層上がっててよく分かりませんが、つまるところ
C:/Infineon/Tools/ModusToolboxProgtools-1.2.1/kp-firmware
に移動して、ターミナルを開きます。

そして、

$ .\fw-loader --update-kp3

を実行すると、更新処理が始まります。

.\fw-loaderだけだとダメです。
オプション(今回だと–update-kp3)で実行コマンドを選択します。

The firmware update has completed successfully.

が出れば更新成功してます。

ModusToolbox™を開き直して、Runすると書き込みできるはずです。

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日かかりました)

error: コンテンツ保護のため右クリック使用禁止