私が使用しているのは:
アプリがビルドされ、実行されます。
プロジェクト内の 2 つの SPI デバイスのうちの 1 つに対して Flexcomm デバイスを変更できるように、Config Tools を使用してプロジェクトを開こうとしました。アプリはFC1とFC2を使用します。FC1とFC6を使用するように設定を変更したいです。FC6 で Mikroe コネクタにコネクテッドされた SPI ピンを使用するようにします。これには、FC6_lpspi のピンの AUX3 pinmux 設定が必要になります。
Open with MCUXpresso Config Tools を使用して VSCode から構成ツールを開きます。CT は開きますが、構成を見るとプロジェクトがなぜ機能するのか理解できず、Config Tools がプロジェクトから正しい情報を取得したかどうか疑問に思います。
まず、Flexcomm クロックはすべて非アクティブになっているように見えます。
しかし、アプリは動作します。どうしてこんなことが可能なのでしょうか?
FC デバイスへのクロックが hardware_init.c で設定されていることを発見しました。どうやらConfig Toolsはこれらの設定を取得しなかったようです。このプロジェクトはConfig Toolsと完全に互換性がないからでしょうか? hardware_init.c を削除してConfig Toolsで変更できない理由はあるのでしょうか?プロジェクトに挿入する必要があるクロックファイルが生成されると思います
次に、ペリフェラルセクションが有効になっていません。これは、このプロジェクト内のすべてのペリフェラルが電源投入時の設定で使用されることを意味しますか?これは、すべての Flexcomm デバイスが SPI インターフェースとして初期化されることを意味しているようです。それは正しいですか?
最後に、RM をざっと読んで、次の情報を見つけました。
66.2.2.2 クロッキング
LP_FLEXCOMM インターフェースでは、選択した通信モジュールのレジスタ インターフェース用のバス インターフェース クロックが必要です。また、ペリフェラル通信インターフェースのクロックを生成する機能クロックも必要です。選択されていない機能のクロックは内部的にゲートされます。
表569。LPSPIクロック
低電力フレキシブル通信インターフェース (LP_FLEXCOMM)
デバイス・モード | LPSPI操作 |
デバッグ(コアはデバッグまたは停止モードです) | CR[DBGEN] = 1の場合、デバッグモードで動作を継続 CAN。 |
時計の種類 説明 | |
機能 |
|
外部 | • LPSPI シフト レジスタは SCK クロックによって直接クロックされます。 — マスター モードでは、SCK クロックは内部で生成されます。— スレーブ モードでは、SCK クロックは外部から供給されます。 |
バス | バス クロックは、LPSPI 制御および構成レジスタへのバス アクセスにのみ使用されます。バス クロック周波数は、FIFO を含む LPSPI レジスタのデータ帯域幅要件をサポートするのに十分高くなければなりません。 |
バス クロックは非アクティブな FLEXCOMMx クロックの 1 つであると想定します。
RM は「機能的」クロックとも呼ばれます。それは Config Tool のクロック ツリーのどこにありますか?
このようにプログラムを変更する場合、どのようなクロックの変更やその他の変更が必要になるかを理解するのにお力添えいただけますか?また、使用すべき適切なドキュメントを教えていただければ幸いです。
新規ユーザーがデバイスとツールを理解できるようお手伝いいただき、ありがとうございます。
親愛なる@EdwinHz様、
「 LPSPI の構成は、ConfigTools 経由ではなく、プロジェクト内ですでに手動で行われています。」と述べています。
SDK で提供されるすべての例で、プロジェクト内で手動で行うのではなく、Config Tools を使用してハードウェアをセットアップすると非常に役立ちます。
こんにちは、
SDKs github リポジトリから SDKs プロジェクトを作成または開いた場合、残念ながらまだ Config Tools でサポートされていない新しいタイプの west ツール ベースのビルド システムが使用されます。生成されたソースファイルは手動でインポートおよび管理する必要があります。詳細については、次のページを参照してください: https://github.com/nxp-mcuxpresso/vscode-for-mcux/wiki/Working-with-Config-Tools
よろしくお願いします。
ペトル・フラツキー
構成ツールチーム
こんにちは@ClarkS 、
「MCUXpresso Config Tools (Desktop) のユーザーガイド」( GSMCUXCTUG ) に次のような記述がありました。
エドウィン、
コメントありがとうございます。ConfigTools を開く際の問題についてですが、私は MacOS を搭載したコンピューターを 2 台持っています。1つはベンチュラです。常に Config Tools が開きます。もう1台には新しいセコイアが搭載されています。Config Tools を開くときに問題が発生します。古いコンピューターでプロジェクトを作成し、それらのファイルを新しいコンピューターにコピーしたところ、正常に動作しました。この問題は Sequoia に関連していると思われますが、確信はありません。それ以上のトラブルシューティングを行う時間がありません。
Zephyr デバイス ツリーに関しては、Config Tools がデバイス ツリー構成を提供するという話を見たことがあると思います。私の記憶によれば、そのバージョンの CT には Zephyr モードがありました。この情報を提供する CT の別のバージョンはありますか?
こんにちは@ClarkS 、
1. プロジェクトが ConfigTools と互換性がないわけではなく、LPSPI の構成は ConfigTools 経由ではなく、プロジェクト内ですでに手動で行われています。このため、ConfigTools ではモジュール/クロック/ピンの初期化は表示されませんが、モジュールは引き続き動作します。ConfigTools 構成を設定すると、プロジェクトの手動構成が上書きされます。
2. 残念ながら、ConfigTools ではデバイス ツリー構成は提供されません。
3. このエラーが発生する前に、どのように ConfigTools を開きましたか?この「構成ファイルが見つかりません」というエラー メッセージが表示される前に、どのような変更を加えましたか?プロジェクト全体を削除して再度インポートしてみてはいかがでしょうか?
BR、
エドウィン。
追加の問題が見つかりました。ここで、VSCode から Config Tool を開こうとすると、最初に構成ファイルを作成中と表示され、次に「構成ファイルが見つかりません」というエラーが表示されます。プログラム フォルダーを削除して、SDKs からプログラムを再インポートし、完了後に Config を開こうとしましたが、常にエラーが発生して Config Tools が開けません。
もう一つの疑問が思い浮かびました。最終的にはこのプロジェクトを Zephyr プロジェクトに変換したいと考えています。Config Tools でデバイス ツリー構成を提供する方法はないのでしょうか?CT のどこかで見たことがあるはずなのですが、今は見つけることができません。
更新の追加 - west ベースの SDK プロジェクトが、MCUXpresso 構成ツールと VS Code 拡張機能 (バージョン 25.12 以降) でサポートされるようになりました。