NXPチームの皆様、こんにちは。
現在、MCXA176VLHマイクロコントローラ用のSDK(バージョン26.03.00)を評価しているのですが、プロジェクトを作成してビルドした際に、 kFROM12_to_LPUART0が_clock_attach_id列挙型に含まれていないため、BOARD_DEBUG_UART_CLK_ATTACHを#defineできないというエラーが発生しました。そのため、#defineを使用するBOARD_InitDebugConsole()関数がコンパイルに失敗しました。
列挙型の構造を確認したところ、類似した列挙型メンバーはkFRO12M_to_MAIN_CLK と kFRO12M_to_CLKOUT の 2 つしか存在しませんでした。代わりに使える列挙型変数はありますか?また、その関数をコメントアウトしても、後々問題が発生しないでしょうか?変数の値を調べるのにprintfを使うつもりはありません。デバッグ中に値を確認するだけです。
よろしくお願いいたします。
ラム
こんにちは、 @LamK さん。
こちらでテストしてみました。
これはバグです。
UARTを使用したい場合。
kFROM12_to_LPUART0 を kFRO_LF_DIV_to_LPUART0 に置き換えることができます。
情報ありがとうございます。
これがあなたのお役に立てば幸いです。
BR
ハリー
こんにちは、 @Harry_Zhang さん。
まだ基板は作っていません。SDKを調べていただけです。kFRO_LF_DIV_to_LPUART0 を使用するとビルドできるので、ハードウェアが手元に来たら必ず試してみます。
また、 BOARD_InitDebugConsole関数を宣言するのではなく、board.hヘッダーファイル内で直接定義した場合にのみビルドが成功する点にも触れておくべきでしょう。というのも、何らかの理由でリンカーがboard.cppファイル内の関数をリンクできなかったためです。確認したところ、board.oファイルはコンパイルされていましたが、リンカーがそれを見つけられなかったようです。これもまたバグの一つでしょう。
そして私が言ったように、修正方法は、定義をboard.cppにある他の#includeと一緒にヘッダーに直接コピー&ペーストするだけです。これが今後のSDKバージョンの開発に役立つことを願っています。
よろしくお願いします、
ラム
こんにちは、 @LamK さん。
情報ありがとうございます。
「BOARD_InitDebugConsole関数を宣言する代わりにboard.hヘッダーで直接定義した場合、リンカーが何らかの理由でboard.cppファイル内の関数をリンクできなかったため、問題が発生しました。board.oファイルはコンパイルされていることは確認しましたが、リンカーが何らかの理由でそれを見つけられなかったため、おそらくそこに別のバグがあると思われます。 」
この問題を再現できるように、プロジェクトを共有していただけますか?
BR
ハリー
こんにちは、 @Harry_Zhang さん。
新しいプロジェクトを作成してすぐにビルドしてテストするたびに、先に述べた#defineの問題が発生します。kFROM12_to_LPUART0 を kFRO_LF_DIV_to_LPUART0 に置き換えると問題は解決しますが、再度ビルドすると「 `BOARD_InitDebugConsole()` への未定義の参照」という別のエラーが発生します。
私が使用しているSDKは、SDK Builderから入手したMCXA176バージョン26.03です。ダウンロードしてIDEにインストールし、それを使ってプロジェクトを作成しました。
もう一つは、新しいプロジェクトを作成する際に、.mex ファイルがないため、設定ツールを使用してピンとクロックを設定できないことです。ファイルが見つかりません。こちらの投稿( https://community.nxp.com/t5/MCUXpresso-Config-Tools/Pins-tool-quot-Processor-is-not-supported-or-da... )を参考に、.mex ファイルを作成することができました。ピンとクロックを設定するためのファイル。問題の原因ではないと思いますが、念のため言っておきます。
私のプロジェクトについて、他に共有できることは何もありません。マイクロコントローラーを導入する前に、SDKのテストを行っているところです。
よろしくお願いいたします。
ラム・クー