こんにちは、
MCUXpresso Config Tools v26.xをMCXN547プロジェクトで使用し、eDMAペリフェラルコンポーネントを使ってADC -> eDMA転送を設定しています。
構成:
peripherals.cで生成されたコード には以下が含まれます:
status = EDMA_SubmitTransfer(&DMA0_CH0_Handle,
DMA0_CH0_Transfers_config,
1U);
assert(status == kStatus_Success);しかし、ステータスの宣言は生成されません。その結果、プロジェクトはコンパイルに失敗します。
error: 'status' undeclared (first use in this function)生成されるコードは以下のいずれかになります。
status_t status;
status = EDMA_SubmitTransfer(...);または:
assert(kStatus_Success ==
EDMA_SubmitTransfer(...));この問題に遭遇したことがある方はいらっしゃいますか?
これはConfig Toolsにおける既知のコード生成バグでしょうか、それとも「転送を送信」を使用する際に必要な追加の設定オプションがあるのでしょうか?
必要に応じて生成されたペリフェラル.cと.mexの設定も提供できます。
ありがとうございます。
ハイ
迅速なご対応ありがとうございます。
はい、ツールのバージョン26.03を持っています。
プロセッサー:
MCXN547(2020年3月26日) - MCX MCXN
MCUXpresso SDK バージョン 25.13.00
パッケージ:mcuxsdk-core
バージョン:2.0.0
DMA0転送構成の「すべての転送をループ」に、このコードをDMA0_init()に追加します。
/* DMA0 ループ転送送信 */
status = EDMA_SubmitLoopTransfer(&DMA0_CH0_Handle, DMA0_CH0_Transfers_config, 1U);
assert(status == kStatus_Success);
「ステータス」がどこにも宣言されていない場合。
こんにちは、 @tjo_dkさん。
投稿ありがとうございます!
どのMCXN547パッケージを使っているのか教えていただけますか?
使用しているConfig Toolsのバージョンは何ですか?26.03でしょうか?
どのSDKバージョンをインストールしていますか?
私の環境で同様の設定を行うために、この情報を共有してください。
こんにちは、 @tjo_dk さん。
あなたと同じ構成で、同様の問題を再現しようと試みました。しかし、私の環境では、コードプレビューにはすでにDMA0_init関数内でステータス変数の宣言が含まれています。