PR

modustoolboxの初期設定

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

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

姫野秀徳

組み込みエンジニアとしてメーカー勤務10年。
第二種電工事士、基本情報技術者、Code.org認定教師。
microbitを用いた電子工作&プログラミング教室を開校。
組み込み開発の実際を発信するyoutube活動も行う。

無料で学べる組み込み開発オンラインスクールはじめました!
https://kumicla.tatepro.com

姫野秀徳をフォローする

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

この内容が良いと思ったら、いいね💖を押して教えてください!

組みクラ – 組み込み開発を学び、未来を創るエンジニアへ
無料で学べる!組み込み開発の基礎から応用までをマスターできるオンラインスクール「組みクラ」

組み込みエンジニアは、あらゆる産業の基盤を支える重要な職業です。
私たちタテプロは、次世代の組み込みエンジニアを育成し、業界の競争力を高めるために活動しています。
あなたも、無料で学べる「組みクラ」で、組み込み開発のスキルをしっかり身につけ、キャリアを加速させましょう!
今すぐ学び始めて、将来の自分をステップアップさせる第一歩を踏み出しませんか?

\立プロとLINEで友だちになりませんか/
立プロと友だちになる
組み込み機器
シェアしていただけると嬉しいです!

コメント

タイトルとURLをコピーしました