Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
RT1189 EVK Profinet Demo 扫描设备失败 我正在 RT1189 EVK 上设置 Profinet Demo。按照参考指南 UG10455 和 UG10361,该项目已成功构建,并且我已经将固件烧录到 MCU 中。 配置完 IP 地址并将 ICE 设置为 Profinet 模式后,设备扫描步骤失败。我尝试了 ENET2 和 ENET3,都无法扫描到设备。请问您能否提供故障排除步骤并就此问题提出一些建议? 此外,我想确认一下刷写固件后是否应该可以通过 J53 获取日志输出,因为我这边没有看到任何日志。 期待您的尽快回复。谢谢。 Re: RT1189 EVK Profinet Demo scan device failed 嗨,雪莉, 更新最新信息: 1.我已经重新导入了 v26.06-LTS 版本SDK,并根据文档应用了所需的配置——启用 EDMA,并在 mcuxsdk\devices\RT\RT1180\MIMXRT1189\MIMXRT1189_cm33_features.h 中实现了几个 NETC 勘误表的变通方案。 我还向 sysbuild.cmake 文件中添加了以下路径:projects/goal_pnio_rpc/31_led_button/vsc/nxp/mimxrt1180_evk_cm7_rtos 项目构建成功。我使用 MCUXpresso Secure Provisioning Tool v26.06 将固件刷写到板上,并通过以太网线将 PC 连接到 EVK 的 ENET2\ENET3 端口。然而,设备扫描仍然失败。 2. 文档 UG10455 规定需要 SDK v26.06,但同一文档中的示例屏幕截图和随附说明指的是 v26.03。我想确认一下哪个版本应该作为官方参考版本。供您参考,我最初使用 SDK v26.03 进行测试时也遇到了同样的设备扫描失败问题。 期待您的尽快回复。谢谢。 顺祝商祺! 钱德勒 Re: RT1189 EVK Profinet Demo scan device failed 嗨,雪莉, 感谢您的回复,我目前使用的是SDK 版本 V26.03。我会尝试使用 SDK V26.06,但是没有 V26.06 版本,所以我选择了 V26.06-LTS,这样对吗?   我想知道是否可以使用 SDK_26_06_00_MIMXRT1180-EVK.zip 作为 SDK 仓库,并成功构建 profinet_project?根据文档,该工具下载SDK需要很长时间。 顺祝商祺! 钱德勒 Re: RT1189 EVK Profinet Demo scan device failed 亲爱的@ChandlerY , 感谢您对RT1180的提问。 请与我们联系,告知您使用的是哪个SDK版本?此依赖项的版本为 26.06: 如果您使用的是 26.09 版本,请尝试使用 26.06 版本。 请提供您的SDK版本,以便我们进一步确认。谢谢你! 顺祝商祺! 雪莉
View full article
Raspberry Pi 5とのOM-SE050ARD-E統合のサポート NXPからEdgleLock SE050Eキットを購入し、Raspberry Pi 5で評価する予定です。オンラインドキュメント(EdgeLock SE05xクイックスタートガイド、Raspberry Pi対応)の手順に従い、EdgeLockキットとRaspberry Piボード間はSDA、SCL、VCC、GNDのみを接続し、2.1.2.2節のOM-SE05xARDへの配線コネクテッドで説明しています。Raspberry Pi ボードのセットアップ手順はすべて正常に完了しましたが、3.4 EdgeLock SE Plug & Trust Middleware テスト例の実行から se05x_minimal を実行するとエラーのみが表示されます。i2cdetect -y 1 を実行しても、SE050E の I2C アドレスを確認できません。 このキットをRaspberry Piで使用する際に、注意すべきジャンパー設定はありますか? Raspberry PiボードからSE050Eチップへ、別の配線を使ってイネーブル/リセットピンを供給する必要もありますか? ありがとう、 ルシアン SE050 Re: Support for OM-SE050ARD-E integration with Raspberry Pi 5 こんにちは、 Arduino Unoボードで基本的なi2cdetectの例をテストしたところ、スクリーンショットに示されているようにSE050デバイスがアドレス0x48で応答しているのが確認できます。 Raspberry Piの外部配線セットアップでは、SE050-EのENとRSTピンも何かに繋ぐ必要がありますか?Raspbery PiからSE050とはまだ通信できません。 ありがとうございます ルシアン Re: Support for OM-SE050ARD-E integration with Raspberry Pi 5 こんにちは、共有されたコマンドを使おうとしましたが、まだデバイスが表示されません。 ボードがRaspberry Piにコネクテッドされている様子やジャンパーの設定の写真を添付しました。動作させるために何か変更が必要なのかもしれません。もしそうなら教えてください。 その間に、SE050-EはデフォルトでArduino用に設計されているため、Arduinoボードでテストする予定です。 ありがとう、 ルシアン Re: Support for OM-SE050ARD-E integration with Raspberry Pi 5 こんにちは、 @lpsylux さん。 デバイスを再度検出するために、以下のコマンドを試していただけますでしょうか? i2cdetect -y -a -q 1 デバイスが /dev/i2c-2 のような別のポートに接続されている場合は、代わりに i2cdetect -y -a -q 2 を使用してください。 お役に立てば幸いです。 すてきな一日を、 カン ------------------------------------------------------------------------------- 注記: この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとうございます! - 前回の投稿から7週間Threadをフォローしており、その後の返信は無視しています もし後で関連する質問があれば、新しいThreadを開き、閉じたThreadを参照してください。 ------------------------------------------------------------------------------- Re: Support for OM-SE050ARD-E integration with Raspberry Pi 5 また、SE050ボードのRSTやENAピンをRaspberry Piボードの特定の電圧に外部設定する必要があるかどうかも教えてください。 ありがとう! Re: Support for OM-SE050ARD-E integration with Raspberry Pi 5 Arduinoのセットアップで住所0x48が表示されていることを確認するファイルを添付するのを忘れていました。 Re: Support for OM-SE050ARD-E integration with Raspberry Pi 5 こんにちは、 @lpsylux さん。 OM-SE050ARD-EとRaspberry Piの接続に関する詳細は以下を参照してください。また、 https://www.nxp.com/docs/en/application-note/AN12570.pdfのセクション2.1.1に従ってOM-SE050ARD-Eのジャンパー設定を確認してください。 お役に立てば幸いです。 すてきな一日を、 カン ------------------------------------------------------------------------------- 注記: この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとうございます! - 前回の投稿から7週間Threadをフォローしており、その後の返信は無視しています もし後で関連する質問があれば、新しいThreadを開き、閉じたThreadを参照してください。 ------------------------------------------------------------------------------- Re: Support for OM-SE050ARD-E integration with Raspberry Pi 5 こんにちは、 お返事ありがとうございます。i2c-2に切り替え、i2detectコマンドを実行するとSE050アドレス0x48が見えました。その後、いくつかの設定を変更してi2c-1をピンに正しく設定し、今ではi2c-1も動作しています。 サンプルを実行すると、以下のエラーメッセージが表示されます(スクリーンショットにも表示されています)。 Failed to open GPIO value file : No such file or directory Failed to unexport GPIO : Invalid argument Failed to unexport GPIO : Invalid argument それらは予想されていたものですか?Raspberry PiからSE050までI2Cコマンドしか使われていないので、これらのコマンドが実行されないように何か変更を加えるべきでしょうか? ありがとうございます。 ルシアン
View full article
RT1189 EVK Profinetデモスキャンデバイスが失敗しました RT1189 EVK上でProfinetのデモをセットアップしています。プロジェクトはリファレンスガイドUG10455とUG10361に従って無事に構築され、私はMCUにファームウェアをフラッシュしました。 IPアドレスを設定し、ICEをProfinetモードに設定した後、デバイスのスキャン手順が失敗しました。ENET2とENET3の両方を試しましたが、どちらもデバイスのスキャンに失敗しました。トラブルシューティングの手順や、この問題に関するアドバイスをいただけますか? さらに、ファームウェアの書き換え後、J53経由でログ出力が利用可能になるはずかどうか確認したいのですが、私の環境ではログが全く表示されません。 迅速なご返信をお待ちしております。ありがとう。 Re: RT1189 EVK Profinet Demo scan device failed こんにちは、シェリーさん。 最新情報を更新してください。 1.v26.06-LTSを再インポートしましたSDKを適用し、ドキュメントに従って必要な設定を適用しました。例えば、EDMAの有効化や、mcuxsdk\devices\RT\RT1180\MIMXRT1189\MIMXRT1189_cm33_features.hでいくつかのNETC ERRATA回避策を実装しました。 また、sysbuild.cmake ファイルに次のパスを追加しました: projects/goal_pnio_rpc/31_led_button/vsc/nxp/mimxrt1180_evk_cm7_rtos プロジェクトは正常に構築されました。MCUXpresso Secure Provisioning Tool v26.06を使ってファームウェアをボードにフラッシュし、PCをEVKのENET2/ENET3ポートにイーサネットケーブルでコネクテッドしました。それにもかかわらず、デバイスのスキャンは依然として失敗する。 2. ドキュメントUG10455ではSDK v26.06が必要と明記されていますが、同じドキュメント内の例のスクリーンショットや説明はv26.03を指しています。どちらのバージョンを公式の参考資料とすべきか確認させてください。参考までに、私も最初にSDK v26.03でテストしましたが、同じデバイススキャンの失敗に直面しました。 迅速なご返信をお待ちしております。ありがとう。 よろしくお願いいたします。 チャンドリー Re: RT1189 EVK Profinet Demo scan device failed こんにちは、シェリーさん。 ご返信ありがとうございます。私はSDKバージョンV26.03を使っています。SDK V26.06を試してみますが、v26.06がないのでv26.06-LTSを選びました。これで合っていますか?   そして、SDK_26_06_00_MIMXRT1180-EVK.zipをSDKリポジトリとして使って、profinet_projectビルディングを成功させることは可能でしょうか?ドキュメントごとにSDKをダウンロードするのに時間がかかります。 よろしくお願いいたします。 チャンドリー Re: RT1189 EVK Profinet Demo scan device failed @ChandlerY様、 RT1180に関するご質問ありがとうございます。 どのSDKバージョンを使っているのか教えていただけますか?この依存関係のバージョンは26.06です。 バージョン26.09をご利用の場合は、代わりに26.06をお試しください。 SDKのバージョンを教えていただければ、さらに確認いたします。ありがとう! よろしくお願いいたします。 シェリー
View full article
S32K328におけるライフサイクル移行中のハードフォルトおよびUTESTプログラミングに関する問い合わせ こんにちは、 HSEファームウェア2.40.0(AB_SWAP)を使用してS32K328でIVTフュージングとライフサイクルトランジションを実行中に、ハードフォルトが発生しました。この件の調査にご協力をお願いいたします。 1. 開発環境 MCU:S32K328 HSEファームウェア:S32K358_HSE_FW_2.40.0 (AB_SWAP)   2. 問題の説明 IVT融合を順次実行し、その後IN_FIELDへのライフサイクル遷移を実行する機能を実装しました。 テスト中に、以下の挙動が観察されました。 最初の関数呼び出し中にハードフォルトが発生しました。MCUがリセットされた後、IVT融合は完了したものの、ライフサイクルは変更されていないことが確認されました。 同じ関数が再度呼び出された際、別のハードフォルトが発生した。MCUがリセットされた後、ライフサイクルがIN_FIELDに変更されたことを確認しました。 Hse_Ip_ServiceRequest 関数、その従属機能、およびこれまでに特定した関連データの メモリ配置 は以下の通りです。 004117a4+000378 .mcal_text Hse_Ip.o 21006cac+000008 .mcal_bss Hse_Ip.o 00411ca8+000008 .mcal_const Hse_Ip.o 00411b1c+00003e .mcal_text OsIf_Timer.o 上記の情報は、これまでに特定された項目のみをカバーしています。追加の補助機能や関連データも関係する場合があります。 参考までに、私たちのテスト環境は同期サービス要求を用いたシングルコアのベアメタルシステムとして構成されています。この手順では、サービスリクエスト以外の操作は一切行われません。 以前、S32K314で同様の操作を実施しましたが、問題なく正常に完了しました。詳細なメモリレイアウトは異なっていたものの、当時もコードはフラッシュブロック0に配置されていた。 3. 質問 Q1.UTESTプログラミング中のフラッシュ読み書き(RWW)競合の可能性 HSEがIVT融合中またはライフサイクル遷移中にUTEST領域をプログラミングしている際に、RWW競合が発生する可能性があると推測されます。ライフサイクル遷移はHSE_SRV_ID_SET_ATTRサービスを介して実行されます。具体的には、HSEがUTESTをプログラミングしている間に、ホストコアがフラッシュブロック0のコードを実行している可能性があり、その結果、RWW競合が発生し、ハードフォルトが発生します。 この現象が観察された行動の正当な説明かどうか確認していただけますか? さらに、UTESTエリアがS32K328上のFlash Block 0と同じRWWパーティションに属しているかどうかも確認できますか? Q2。リセット後のハードフォルトの原因と診断方法 MCUのライフサイクル状態はIVT融合やライフサイクル遷移のたびに変化する可能性があるため、新しいMCUサンプルを繰り返し根本原因分析に使用することは実用的な方法ではありません。 したがって、以下の点について明確にしておきたいと思います。 ハードフォルト時にRWWの競合が発生し、その原因を特定するために使えるレジスタやステータス情報はありますか? このエラー情報はハードフォールト後にMCUがリセットされた後も保持されますか? リセット後でも原因を特定するために使えるフラッシュコントローラの状態レジスタ、RWWエラーステータスレジスタ、またはその他の診断方法はありますか? 可能であれば、チェックすべき関連するレジスタ名とビットフィールドを指定してください。 Q3。RWWの衝突時にコード実行が制限されるメモリ領域 Q1で説明された疑われるRWWの競合が実際の原因である場合、Flash Block 0のアドレス範囲が比較的広いため、IVTフュージングおよびライフサイクル移行時にコード実行が制限される特定のメモリ領域を特定したいと考えています。 制限されたメモリ領域をフラッシュセクター単位(セクターあたり0x2000バイト)で提供できますか? これにより、フラッシュブロック0内のコード実行が許可されている領域と、関連するサービスが実行されている間は実行が制限されている領域を区別するのに役立ちます。 Q4。RWWの競合を防ぐためにSRAMや他のフラッシュブロックに移す必要があるコード Q1で説明された疑われるRWWの衝突が実際の原因であれば、この問題を防ぐために関連コードをSRAMや他のFlash Blockに移すことを検討しています。 すべてのライフサイクル遷移サービス要求が同期的に実行されると仮定した場合、 Hse_Ip_ServiceRequest関数とその下位関数のみをSRAMまたは別のフラッシュブロックに移動するだけで十分でしょうか? あるいは、 Hse_Ip_ServiceRequest を呼び出す関数 も再配置する必要があるのでしょうか? さらに、関数実行中または割り込みサービスルーチン(ISR)中に参照される定数データも、SRAMまたは別のフラッシュブロックに配置する必要があるでしょうか? この問題の根本原因を特定し、再発防止に役立てるため、皆様のご意見とご指導をいただければ幸いです。 再開まで今しばらくお待ちください。 Re: Inquiry Regarding HardFault During Lifecycle Transition and UTEST Programming on S32K328 こんにちは、ルーカスさん。 詳しいご説明をありがとうございました。 ご依頼いただいた情報は下記をご覧ください。 1. RTDバージョン SW32K3_S32M27x_RTD_4.4_4.0.0_HF04_D2504 2. OSIFモード 現在のテストコードは、ダミーカウンタ(OSIF_COUNTER_DUMMY)を使用するように構成されています。しかし、この構成はテスト目的のみで使用され、実際の用途では異なる場合があります。 ですので、UTESTプログラミング中にRAMに移すべきすべての機能とリソースを、現在のダミーカウンター構成だけでなく、すべての対応OSIFモードを網羅して完全なリストを提供していただけますか? 3. Hse_Ip_apMuBase メモリ配置 Hse_Ip.c を確認しましたソースコードを解析した結果、Hse_Ip_apMuBaseの宣言では以下のメモリマッピングマクロが使用されていることがわかりました。 #define CRYPTO_START_SEC_CONST_UNSPECIFIED #include "Crypto_MemMap.h" /*! @brief Array of MU base pointers */ static MU_Type* const Hse_Ip_apMuBase[HSE_NUM_OF_MU_INSTANCES] = MU_HOST_BASE_PTRS; #define CRYPTO_STOP_SEC_CONST_UNSPECIFIED #include "Crypto_MemMap.h" これは、あなたが提供したコードスニペットとは異なり、CRYPTO_43_HSE_START_SEC_CONST_UNSPECIFIEDとCrypto_43_HSE_MemMap.hを使用しています。 マップファイルも確認し、Hse_Ip_apMuBaseが.mcal_constに配置されていることを確認しました。Flash Block 0 内の次のアドレスにあるセクション: .mcal_const 00411ca8+000008 Hse_Ip_apMuBase このことから、UTESTプログラミング中にHse_Ip_apMuBaseにアクセスすると、Hse_Ip_ServiceRequest関数自体がRAMに移動されていてもRWWの競合が発生する可能性があります。 RTD版で、サポートされているすべてのOSIFモードを考慮して、どの特定の機能やリソースをRAMに移すべきか確認していただけますか? 4. RWW紛争に関する追加の質問 この問題の再現性および発生条件に関して、いくつか追加の質問があります。 4.1.同一メモリレイアウトでの再現性 別のS32K328を同じファームウェアとメモリレイアウトで構成した場合、同じRWW競合が常に発生するでしょうか? 言い換えれば、RWW競合の条件が満たされた場合、同じ構成の異なるS32K328デバイス間でこの問題が再現されると予想すべきでしょうか? 4.2.メモリレイアウトの違いが及ぼす影響 たとえ関連するコードやデータがFlash Block 0にあったとしても、それらの特定のメモリアドレスや配置の違いがRWWの衝突の有無に影響を与える可能性はありますか? 例えば、Hse_Ip_ServiceRequestの配置やその関数、アクセスするデータの配置を変えることで問題が防げるでしょうか? 4.3.実行タイミングの影響 同じファームウェアとメモリレイアウトであっても、RWWの競合が発生するかどうかは、サービス要求のタイミングや他の実行条件によって変わる可能性はありますか? 具体的には、UTESTプログラミング中にホストコアがFlash Block 0にアクセスしようとした場合にのみ競合が発生するのでしょうか? 4.4.再現性と発生頻度 この問題は特定の条件下でデターミニスティックなのでしょうか、それとも実行タイミングによって断続的に発生することがありますか? 言い換えれば、同じ操作を同じ条件下で繰り返す場合、毎回問題が発生すると予想すべきでしょうか、それとも試みによって発生頻度が異なるのでしょうか? 5. MCSR登録とRWEフラグ Flash MCSRレジスタのRWEフラグは、RWW競合が発生したときに設定されるとおっしゃっていましたね。しかし、リファレンス・マニュアルにはMCSRという名前のレジスターは見つかりませんでした。 添付の画像に示されているMCRS登録簿のことを言っているのか確認していただけますか? 具体的には、RWEビットのビット位置20(アドレス:0x402EC004)でRWWの競合が発生したかどうかを確認するべきでしょうか? 再開まで今しばらくお待ちください。 Re: Inquiry Regarding HardFault During Lifecycle Transition and UTEST Programming on S32K328 こんにちは、 @wodudwo さん。 はい、ご説明いただいた現象は、RWWの競合が原因である可能性が最も高いです。 S32K328では、UTESTとフラッシュブロック0は同じRWWパーティションに属しています。 Hse_Ip_ServiceRequest() を呼び出す際にどのリソースを RAM に移動する必要があるかを説明したこちらの投稿もご参照ください。 https://community.nxp.com/t5/S32K/S32K324-HSE-Setting-ADKP-Issue/m-p/2369325/highlight/true#M58774 再配置が必要な具体的な機能は、使用するOSIFモードによって異なり、RTDのバージョンによっても違いが生じる可能性があります。 もう一つ確認すべき点があります。Hse_Ip_ServiceRequest() で使用される Hse_Ip_apMuBase 配列は、RTD のバージョンによっては定数として宣言され、フラッシュメモリに配置される場合があります。 #define CRYPTO_43_HSE_START_SEC_CONST_UNSPECIFIED #include "Crypto_43_HSE_MemMap.h"   /*! @brief MUベースポインタの配列 */ static MU_Type* const Hse_Ip_apMuBase[HSE_IP_NUM_OF_MU_INSTANCES] = MU_HOST_BASE_PTRS;   #define CRYPTO_43_HSE_STOP_SEC_CONST_UNSPECIFIED #include "Crypto_43_HSE_MemMap.h" CRYPTO_43_HSE_START_SEC_CONST_UNSPECIFIEDが影響を受けた物理的なフラッシュブロック0に位置している場合、このアレイへのアクセスは制限期間中もフラッシュの読み取りが行われます。 回避策として、配列をCRYPTO_43_HSE_START_SEC_VAR_INIT_UNSPECIFIED_NO_CACHEABLEを使ってRAMに移動させることができ、コンスタント修飾子は削除されます。 現在の実装ではこの種の問題を引き起こす可能性があるため、Hse_IpドライバにUTESTプログラミングのサポートを追加する機能要請はすでに提出しています。 使用しているRTDのバージョンと設定されているOSIFモード(OSIF_COUNTER_DUMMYを使用していますか?)を教えていただければ、どの機能やリソースを移すべきか正確に確認できます。 RWW競合が発生した場合、Flash MCSRレジスタのRWEフラグを設定する必要があります。この情報はリセット後には保持されないことにご注意ください。 HSEがUTESTをプログラムしている間、UTEST領域もFlash Block 0全体も読み取れません。 したがって、ライフサイクルの進行、IVT認証の有効化、およびUTESTプログラミングをトリガーするその他の操作などの作業は、管理された環境下で実行する必要があります。これらの操作中は割り込みを無効にしておくことをお勧めします。そうでない場合、割り込みハンドラで使用されるすべてのリソースは、アクセス可能な別のフラッシュブロック、またはRAMに配置する必要があります。 よろしくお願いいたします。 ルーカス Re: Inquiry Regarding HardFault During Lifecycle Transition and UTEST Programming on S32K328 RAMから同期的にHse_Ip_ServiceRequest()を実行するには、以下の関数をRAMに配置してください。 Hse_Ip_ServiceRequest() OsIf_MicrosToTicks() OsIf_GetCounter() OsIf_GetElapsed() さらに、選択したOSIFタイムアウト実装の機能をRAMに配置します。 ダミーOSIF: OsIf_Timer_Dummy_MicrosToTicks()、OsIf_Timer_Dummy_GetCounter()、およびOsIf_Timer_Dummy_GetElapsed()。 システムOSIF:OsIf_Timer_System_MicrosToTicks()、OsIf_Timer_System_GetCounter()、OsIf_Timer_System_GetElapsed()、および選択されたシステムタイマーバックエンド関数。 カスタムOSIF:OsIf_Timer_Custom_MicrosToTicks()、OsIf_Timer_Custom_GetCounter()、およびOsIf_Timer_Custom_GetElapsed()。 MUアクセス機能とメモリバリアはインラインコードです。OsIf_Interrupts.c は同期要求パスでは使用されません。 Hse_Ip_apMuBase は、この RTD において定数として定義されています。 #define CRYPTO_START_SEC_CONST_UNSPECIFIED #include "Crypto_MemMap.h"   /*! @brief MUベースポインタの配列 */ static MU_Type* const Hse_Ip_apMuBase[HSE_NUM_OF_MU_INSTANCES] = MU_HOST_BASE_PTRS;   #define CRYPTO_STOP_SEC_CONST_UNSPECIFIED #include "Crypto_MemMap.h" SO、以下に変えてください: #define CRYPTO_START_SEC_VAR_INIT_UNSPECIFIED_NO_CACHEABLE #include "Crypto_MemMap.h"   /*! @brief MUベースポインタの配列 */ static MU_Type* Hse_Ip_apMuBase[HSE_NUM_OF_MU_INSTANCES] = MU_HOST_BASE_PTRS;   #define CRYPTO_STOP_SEC_VAR_INIT_UNSPECIFIED_NO_CACHEABLE #include "Crypto_MemMap.h" 再現性に関して言えば、起動条件が常に完全に同じであれば(つまり、単純な逐次コードで、割り込みがないなど)、同じ結果が得られるはずです。それは、同じデータとコードがキャッシュされ、フラッシュ読み取りバッファが同じ状態になっているためです。 不確定要素がある場合は、異なる結果が得られる可能性があります。例えば、お客様にハードフォールトが発生しなかったにもかかわらず、ライフサイクル情報がUTESTに正しく保存されておらず、リセット後にLC_ERRフラグ(ライフサイクルスキャン中のエラー)が設定されたCASEを見ました。つまり、前述のように、そのコードをRAMまたは別のフラッシュメモリから実行することが重要であるということです。 申し訳ありません、それはタイプミスでした。正しくはモジュール構成ステータス(MCRS)です。 よろしくお願いいたします。 ルーカス
View full article
NXP RTD SDK 安装问题:由于找不到 Link 文件夹,EB Tresos Studio 集成失败 你好, 尽管已提供指向 NXP RTD SDK 安装目录的 EB Tresos Studio 安装路径,但它并未与 EB Tresos Studio 集成。 Re: NXP RTD SDK installation issue: EB Tresos Studio integration failed due to Link folder not found 你好@VaneB , 我已将路径更改为“C:/EB/Tresos/plugins”,但问题仍然存在。请指教。 Re: NXP RTD SDK installation issue: EB Tresos Studio integration failed due to Link folder not found 嗨@a1g1 请您确认在创建 RTD 包和 EB tresos 之间的链接时指定的 EB tresos 安装目录是否为C:\EB\tresos\ 如果问题仍然存在,请尝试将 RTD 插件复制到C:\EB\tresos\plugins目录。 BR,VaneB Re: NXP RTD SDK installation issue: EB Tresos Studio integration failed due to Link folder not found 嗨@a1g1 我觉得最后一部分可能解释得不够清楚。如果无法将 RTD 包与 EB tresos 连接,您可以跳过该步骤并手动添加插件。 为此,请导航至已安装的 RTD 目录,复制所有插件,然后将其粘贴到 EB tresos 目录C:\EB\tresos\plugins中。
View full article
Fault reaction related to Double bit ECC error in SRAM Hello @danielmartynek  Good morning, I have a question regarding the ECC error reaction configuration for SRAM. When a double-bit ECC error occurs in SRAM, will the MCU generate a memory fault exception, or will the reaction be based on the configured FCCU NCF[2] channel? The reason I am asking is that I have currently not configured the NCF[2] channel to trigger any specific reaction for double-bit ECC errors. However, when I inject a double-bit ECC error into SRAM, I still observe a memory fault exception. Could you please clarify what will happen once I configure the NCF[2] channel? Will the memory fault exception still occur, or will the reaction be triggered according to the NCF[2] channel configuration? If both reactions can occur, which one will be triggered first: the memory fault exception or the reaction configured for the FCCU NCF[2] channel? NCF[2] ECC errors: PRAMC; TCMs; Caches; eDMA; EDC after ECC (PRAMC);HSE RAM errors; QSPI FLASHA ECC errors  All SRAM ECC uncorrectable error ERM_SRAM or ECC cache memry  error ERM_M7_Dcache +Icache ECC or read done by safety masters DMA or FMU: Coming from flash. Newly added or HSE RAM ECC. QSPI FLASH ECC No No Disabled   Functional reset Re: Fault reaction related to Double bit ECC error in SRAM Hello, Correct. The selected FCCU NCF2 reaction changes the system behavior: With R3, FCCU initiates a functional reset. Therefore, execution of the BusFault handler is not guaranteed, and the handler may not complete before the reset. With Alarm/R1_R3, both BusFault and FCCU Alarm can occur. Their handling order depends on the configured priorities. Best regards, Peter Re: Fault reaction related to Double bit ECC error in SRAM Hello Team, Thanks for the quick response, it means based on NCF configuration behaviour of the system will change, if i configure R3 then we cant guarantee that bus fault handler not sure of execution. Re: Fault reaction related to Double bit ECC error in SRAM Hello, Yes, the BusFault you observe is expected, even when no specific reaction is configured for FCCU NCF2. An uncorrectable double-bit ECC error in SRAM is reported independently to the Cortex-M7 exception path and to FCCU NCF2. Therefore, configuring NCF2 does not replace or suppress the BusFault. If BusFault is enabled, the MCU enters the BusFault handler. Otherwise, the exception escalates to HardFault. If FCCU NCF2 is configured for an Alarm reaction, both reactions can occur. Under the default priority, the BusFault is handled first, followed by the pending FCCU Alarm interrupt. If NCF2 is configured for R3, the FCCU generates a functional reset, so the BusFault handler may not complete before the reset occurs. Therefore, for your current test, the observed memory fault exception is expected. It will still be generated after NCF2 is configured, although the final system behavior will depend on the selected FCCU reaction. Best regards, Peter
View full article
SRAM中与双比特ECC错误相关的故障反应 你好@danielmartynek  早上好, 我有一个关于SRAM的ECC错误响应配置的问题。 当 SRAM 中发生双位 ECC 错误时,MCU 会生成存储器故障异常,还是会根据配置的 FCCU NCF[2] 通道做出反应? 我之所以这样问,是因为我目前还没有配置 NCF[2] 通道来触发双比特 ECC 错误的任何特定反应。但是,当我向 SRAM 中注入双位 ECC 错误时,我仍然观察到内存故障异常。 请问配置 NCF[2] 通道后会发生什么情况?内存故障异常是否还会发生,还是会根据 NCF[2] 通道配置触发反应? 如果两种反应都可能发生,那么哪一种反应会先触发:内存故障异常还是为 FCCU NCF[2] 通道配置的反应? NCF[2] ECC错误:PRAMC;TCM;缓存;eDMA;ECC(PRAMC)后的EDC;HSE RAM错误;QSPI FLASH AECC错误 所有 SRAM ECC 不可纠正错误 ERM_SRAM 或 ECC 缓存内存错误 ERM_M7_Dcache +Icache ECC 或由功能安全主设备 DMA 或 FMU 执行的读取:来自闪存。新增或 HSE RAM ECC。QSPI 闪存 ECC 无 无 禁用   功能复位 Re: Fault reaction related to Double bit ECC error in SRAM 你好, 正确的。所选的 FCCU NCF2 反应改变了系统行为: 使用 R3,FCCU 启动功能 RESET。因此,BusFault 处理程序的执行无法保证,并且该处理程序可能在 RESET 之前无法完成。 使用 Alarm/R1_R3 时,BusFault 和 FCCU Alarm 都可能发生。它们的处理顺序取决于配置的优先级。 顺祝商祺! Peter Re: Fault reaction related to Double bit ECC error in SRAM 各位同事好, 感谢您的快速回复,这意味着根据 NCF 配置,系统的行为会发生变化。如果我配置 R3,那么我们无法保证总线故障处理程序一定会执行。 Re: Fault reaction related to Double bit ECC error in SRAM 你好, 是的,即使没有为 FCCU NCF2 配置任何特定反应,您观察到的 BusFault 也是预期的。 SRAM 中无法纠正的双位 ECC 错误会分别报告给 Cortex-M7 异常路径和 FCCU NCF2。因此,配置 NCF2 并不会取代或抑制 BusFault。如果启用了 BusFault,MCU 将进入 BusFault 处理程序。否则,异常将升级为 HardFault。 如果 FCCU NCF2 配置为报警反应,则两种反应均可发生。默认优先级下,首先处理 BusFault,然后处理待处理的 FCCU 报警中断。如果 NCF2 配置为 R3,则 FCCU 会生成​​功能 RESET,因此 BusFault 处理程序可能无法在 RESET 发生之前完成。 因此,对于您当前的测试而言,观察到的内存错误异常是预期的。即使配置了 NCF2,它仍然会生成,尽管最终的系统行为将取决于所选的 FCCU 反应。 此致, 彼得
View full article
NXP RTD SDK installation issue: EB Tresos Studio integration failed due to Link folder not found Hello, Despite providing the path to the EB Tresos Studio installation to the NXP RTD SDK installation, it is not getting integrated with EB Tresos Studio Re: NXP RTD SDK installation issue: EB Tresos Studio integration failed due to Link folder not found Hello @VaneB , I changed the path to "C:/EB/Tresos/plugins" yet the issue persists. Please advise. Re: NXP RTD SDK installation issue: EB Tresos Studio integration failed due to Link folder not found Hi @a1g1  Could you please verify that the EB tresos installation directory specified when creating the link between the RTD package and EB tresos is C:\EB\tresos\ If the issue persists, please try copying the RTD plugins to C:\EB\tresos\plugins BR, VaneB Re: NXP RTD SDK installation issue: EB Tresos Studio integration failed due to Link folder not found Hi @a1g1  I think I may not have explained the last part clearly enough. If you are not able to link the RTD package with EB tresos, you can skip that step and add the plugins manually. To do this, navigate to the installed RTD directory, copy all the plugins, and paste them into the EB tresos directory C:\EB\tresos\plugins
View full article
S32E288-975EVB: Can Motor Control GPIO, eMIOS and SAR ADC interfaces be configured for 3.3V I am using the S32E288-975EVB with the S32X-MB motherboard and would like to interface the EVL kit with an external custom board operating at 3.3 V logic levels. For our application, we would prefer to use the signals available through the Motor Control section/connectors of the S32E288-975EVB. From the EVB schematic, I can see that the Motor Control section includes AE GPIOs and level translation circuitry, as well as VDDIOD, P5V0, MOTOR1_3V3, MOTOR1_5V, MOTOR2_3V3, and MOTOR2_5V supply nets.  We are considering GPIOs from the Motor Control/AE section PBA_GPIO[0]  to PBB_GPIO[12], eMIOS0_CH1/CH2/CH3 are intended for PWM-related functions, while eMIOS1_WSC8 and eMIOS1_WSC10 will be used for speed-sense inputs.  1. Can these GPIO interfaces be operated at 3.3 V logic levels at the external Motor Control connector, instead of 5 V, by changing the EVB jumper configuration? 2. Can the physical pins selected for these eMIOS channels also be brought to the EVB external/Motor Control connector at 3.3 V logic levels?   Our target setup is: S32E288-975EVB + S32X-MB → Motor Control/external connector → external custom board Our goal is to configure the EVL kit so that GPIO, eMIOS/PWM, speed-sense and ADC interfaces are compatible with a 3.3 V external board, preferably through jumper changes only and without board rework. Could you please provide the required jumper configuration? Re: S32E288-975EVB: Can Motor Control GPIO, eMIOS and SAR ADC interfaces be configured for 3.3V Hi,vishal_HoneywellAerospace 1.The VDDIOD controls the level conversion and requires jumper connections to determine whether 5V or 3.3V should be used. 2.The signal for controlling the motor is connected to the S32X-MB motherboard J51 via the PCIE interface. Do you have any adapter cables? 3.Could you please provide more detailed information about the working methods of your motors and control boards? How many motors need to be controlled? How many PWM control signals does S32E288 need to provide, and which signals should be collected? BR Joey Re: S32E288-975EVB: Can Motor Control GPIO, eMIOS and SAR ADC interfaces be configured for 3.3V Hi, The application is not driving Motor.  The requirement is 3 PWMs, 10 ADC, 9 GPIOs and 2 WSC. 1. Since the adapter is not available now, are these signals available in General header in S32MX-MB? Open to change the channel config. 2. Can you share the adapter purchase link to place order?
View full article
プローブインデックス1を開けません。エラー: プローブが開いていません こんにちは、 FRDM-MCXN947でLEDブリンキーの例をデバッグしようとしていますが、いくつかのエラーが発生し、ターゲットとのデバッグ接続を確立できません。 注:別のFRDMボードは同じノートPCで正常に動作し、このFRDM-MCXN947は別のノートPCで動作します。この問題はこの特定のノートPCのこのボードでのみ発生しています(ただし、他のノートPCとFRDM-MCXN947でしかテストしていません)。 私もここで説明されているのと同じ問題を抱えているかもしれません。 https://community.nxp.com/t5/MCX-Microcontrollers/unable-to-open-probe-index-1/td-p/2416776 そこでMCUXpressoのSecure Provisioning Toolを使ってデバイスを消去しようとしましたが、うまくいきませんでした。 この問題の原因や、他に試せるアイデアがあれば教えてください。 FRDM-MCXN947 Re: Unable to open probe index1. Error: Probe not open こんにちは、 @JustinNL さん、 投稿ありがとうございます。 同じFRDM-MCXN947ボードが別のノートPCで正常に動作し、別のFRDMボードもこのノートPCで動作しているので、基板自体は問題ない可能性が高いです。 スクリーンショットからわかる重要なエラーの一つは、 「デバッグプローブとの通信に失敗しました」です。 これは、問題がアプリケーションやMCXN947デバイス自体ではなく、ノートPCとオンボードのMCU-Linkデバッグプローブ間の通信に関連している可能性を示唆しています。 まずは以下のことを試していただけますか:   - MCUXpresso IDEおよびMCUXpressoセキュアプロビジョニングツールを閉じる。 - Windowsタスクマネージャーを開き、まだ稼働中のLinkServerプロセスがあるか確認します。もしそうなら、タスクを終了してください。 FRDM-MCXN947をUSBから取り外し、数秒待ってから再度接続してください。 - MCUXpresso IDEのみを開いて、LEDブリンキーのデバッグを再度試みます。 それでも問題が起きる場合は、別のUSBポートを試してみてください。できればUSBハブやドッキングステーションではなく、ボードをノートPCに直接接続してください。 これらの手順で改善しない場合は、MCU-LinkのファームウェアやWindows USBデバイス/ドライバの状態をさらに確認できます。MCUXpresso IDEsで使われているLinkServerのバージョンと、FRDM-MCXN947ボード上のMCU-Linkファームウェアのバージョンを教えていただけませんか?   よろしくお願いいたします。 セレステ Re: Unable to open probe index1. Error: Probe not open ご返信よろしくお願いします。 MCUXpressoを閉じた後も、まだ動いているLinkServerのプロセスは見つかりませんでした。 他にUSBポートを2つ試しました(全部で3つあり、すべてノートPCに直接接続)が、前回と同じエラーが出ます。 LinkServerバージョン: v26.9.130(ビルド130) MCU-Linkファームウェアバージョン: CMSIS-DAP V3.174(FRDM-MCXN947ボードのMCU-LINK上で動作) MCUXpresso IDE v25.6.136 スクリーンショットや画像をいくつか添付しましたので、お役に立てれば幸いです。 敬具、 ジャスティン Re: Unable to open probe index1. Error: Probe not open こんにちは、 @JustinNL さん、 さらに確認するために手伝ってもらえますか: 1. ジャンパーJ22とJ24:短絡;ジャンパーJ21:開放 2. MCUXpresso のリンクサーバーパス構成が Linkserver_26.9.130 であることを確認してください。 BR セレステ Re: Unable to open probe index1. Error: Probe not open ジャンパーJ22とJ24:短絡;ジャンパーJ21:開放 私の MCUXpresso のリンクサーバー パス構成は Linkserver_26.9.130 です。 よろしくお願いいたします。 ジャスティン Re: Unable to open probe index1. Error: Probe not open こんにちは、 警告が表示されていることに気づきました。 問題はこのノートPCとオンボードのMCU-Linkデバッグプローブ間の通信に関連しているようです。 以下のチェックをご協力いただけますか? 1. WindowsデバイスマネージャーでMCU-Linkを確認する FRDM-MCXN947がコネクテッドの状態で、WindowsデバイスマネージャでMCU-Link関連デバイスを確認してください。   2. 動作中のノートPCでのLinkServerプローブ検出を比較する このFRDM-MCXN947が正常に動作するノートPCでは、同じLinkServerバージョン(v26.9.130)を使用し、以下を実行します。 LinkServer.exe プローブ 問題のあるノートPCの結果と比較できるよう、完全な出力を教えてください。   3. J-Linkファームウェアを試してください もう一つのクロスチェックとして、オンボードのMCU-LinkをJ-Linkファームウェアに切り替え、LEDブリンキーの例を再度デバッグしてみてください。 このテストは、このノートPCのCMSIS-DAP/LinkServer通信経路に問題が特有かどうかを判断するのに役立ちます。   これらの検査結果をお知らせください。彼らは問題のさらなる調査に役立つはずだ。   よろしくお願いいたします。 セレステ Re: Unable to open probe index1. Error: Probe not open 1. FRDM-MCXN947は以下のように表示されます。 MCU-LINK FRDM-MCXN947 (r0E7) CMSIS-DAP V3.128 MCU-Link VComポート(COM3) 2. ノートPCのプローブLinkServer.exe、FRDM-MCXN947が正常に動作するLinkServer v26.9.130を使ってテストしました。 3. 私は提供されたprogram_JLINKスクリプト(Firmware_J-Link-MCU-Link_240702.s19)を使って、J-LinkファームウェアでオンボードのMCU-Linkをプログラムしました。 これで、LED点滅サンプルのデバッグが正しく動作するようになりました。   またボードを使えるようになって嬉しいですが、MCU-Linkのファームウェアの問題が何なのかまだ気になります。これまでのご助力とサポートに心から感謝します。本当に感謝しています。 よろしくお願いいたします。 ジャスティン Re: Unable to open probe index1. Error: Probe not open 今は正常に動作していると聞いて安心しました。時にはJLinkのファームウェアに切り替えることで問題が解決することもあります。この現象は説明できません。おそらく互換性の問題かもしれませんが、一貫して起こるわけではありません。 BR セレステ
View full article
IMX8QXP 差分/部分 OTA 开发 大家好, IMX8QXP - 斯卡思间隙 - L 6.6.52 请问能否分享一下关于IMX8QXP Yocto平台差分OTA/部分OTA开发的文档或参考资料? 谢谢,此致敬礼! VKS i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus Linux Yocto Project Re: IMX8QXP Differential/ Partial OTA development 您好, 对于差异化 OTA 更新,值得考虑的一种方法是 OSTree。 在 Toradex,我们使用 Torizon OS 中的 OSTree 来管理操作系统更新,只传输设备上尚不存在的对象,而不是下载整个根文件系统。 这并非针对您特定 Yocto 配置的现成解决方案,但我们的更新架构或许可以作为有用的参考: https://developer.toradex.com/torizon/torizon-platform/torizon-updates/torizon-updates-architecture/ 此致, 丹尼尔·莫赖斯 Re: IMX8QXP Differential/ Partial OTA development 您好, 目前我正在这样做 ### 第一部分:初始完整OTA(1)到完整OTA(2) - 完整 OTA (1): 基础版本。 - 完整 OTA (2): 目标版本。 比较完整 OTA (1) 和完整 OTA (2) 之间的差异,以确定更改的文件。 生成了包含已更改的根文件系统文件以及其他所需文件的 SWU 文件。 更新期间: 1. 挂载不活动的(下一个)插槽。 2. 将更改后的文件复制到非活动槽中的相应位置。 3. 卸下插槽。 4. 从更新后的插槽重启设备。 从当前插槽切换到下一个插槽后,将两个插槽同步到相同的配置。这样可以确保两个插槽对齐,并为即将到来的差分 OTA 更新做好准备。 ## 第二部分:完整 OTA (2) 到完整 OTA (3) - 完整 OTA (2):基础版本。 - 完整 OTA (3): 目标版本。 以更新后的 Full OTA (2) 为基础,以 Full OTA (3) 为目标。比较两个版本之间的差异,找出更改的文件。 生成包含已更改文件和所需更新元器件的差异化 SWU 软件包。 将更新应用到非活动插槽,从更新后的插槽重启,并将两个插槽同步到相同的配置。 ## 第 3 部分:完整 OTA (3) 到完整 OTA (2) - 完整 OTA (3):基础版本。 - 完整 OTA (2): 目标版本。 使用更新后的 Full OTA (3) 作为基础,Full OTA (2) 作为目标。比较两个版本之间的差异,找出更改的文件。 生成包含已更改文件和所需更新元器件的差异化 SWU 软件包。 将更新应用到非活动插槽,从更新后的插槽重启,并将两个插槽同步到相同的配置。 ## 整体更新流程 完整OTA(1) 初始基础 差分OTA(1→2) 完整OTA(2) 更新后的基础 差分OTA(2→3) 完整OTA(3) 更新后的基础 差分OTA(3→2) 完整OTA(2) 返回上一版本 关键点:每次 OTA 更新成功后,同步两个时隙,以便可以使用当前更新的版本作为基础生成下一个差异化 OTA。 请您帮我检查一下我的方法。 谢谢,此致敬礼! VKS
View full article
11x21MMのウェットインレイNTAG215まとめて調達しようとしています NXP NTAG215 11x21MMのウェットインレイステッカーをまとめ注文しようとしているのですが、Aliexpress以外で卸売価格のサイトを見つけるのに苦労しています。 1000個を1個あたり0.12米ドルで販売しているサイトを見つけました。 しかし、それらはNTAG213であり、私はパスワード保護を探しています。 もしこの質問をする場所が適切でない場合は申し訳ありませんが、ここにいる誰かが知っているだろうと思い、またNXPが最も互換性の高いチップベースだと読んだことがあったので質問させていただきました。 お時間をいただきありがとうございました。 Re: Trying to source NTAG215 11x21MM wet inlay in bulk 必要ならおすすめできます。 Re: Trying to source NTAG215 11x21MM wet inlay in bulk こんにちは、 NXP Semiconductorsの製品にご関心をお寄せいただき、またサポートの機会をいただきありがとうございます。 なお、NXPは完成したインレイステッカーなどのエンドソリューションを販売していません。NTAG 215の製品ページのエンジニアリングサービス欄では、インレイステッカーのご要望をお手伝いできる当社の認定パートナーをご紹介します。 NXP製品は、無許可の購入先から購入された場合、偽造品や破損品、その他使用に適さない場合がありますので、これらの認定パートナーのいずれかにご連絡ください。 この情報があなたのアプリケーションに最適な解決策を見つける助けになれば幸いです。 よろしくお願いします、 アロンドラ
View full article
i.MX95 Neutron NPU:INT16 Conv2Dはタイル境界で誤った出力を出す;INT16はサポートされているのか? i.MX95(FRDM-IMX95、BSP LF6.12.49_2.2.0、eIQ Neutron SDK 2.2.2)上で、INT8モデルはNPU上で正しく動作しますが、INT16活性化畳み込みは誤った結果をもたらします。 最小限のテスト:3 ×3 CONV_2D 1件(16→16チャネル、入力1×32×64×16、同じパッド、ReLU)。NXPのtfliteプロファイラーとtflite量子化器(INT16活性化、INT8重み)で量子化し、Neutronコンバータ--targetimx95でコンパイルしました。 INT8: 正解です。 INT16 対称型: 出力行 6~8、14~16、22~24 は誤りです。その他の行はすべて正確です。これらは4つのNPUユニット間の境界にある行です(--dump-tile-ir 8行からなる4つのゾーンを示します。 INT16 非対称: すべての行が間違っています。 同じレイヤーを1×3畳み込みとして書き換えた場合(ユニット間で行の共有なし):正しい。 結果はSDK 2.2.2ランタイムでもSDK 3.3.0でも同じですLF6.18ランタイム上で。 SDK 2.2.2 SupportedOperatorsS.md では、N3/N3+(i.MX95はN3+として記載)のConv2DDenseカーネルのInt16入出力が記載されていますが、SDK 3.3.0 SupportedOperatorsS.md ではCONV_2D、MUL、AD、CONCATENATIONのみがINT8として記載されています。 質問: i.MX95 NPUはINT16活性化CNNレイヤーをサポートしていますか? これは既知の問題ですか? Re: i.MX95 Neutron NPU: INT16 Conv2D gives wrong output at tile boundaries; is INT16 supported? こんにちは@SwethaRaghavendran  SDKリリース間の違いから、これは既知の問題です。したがって、CONV_2D、MUL、ADD、CONCATENATIONでサポートされる量子化タイプについては、最新のSDKのドキュメントを参照してください。 よろしくお願いします、 志明
View full article
wwdt0 mcxa145vll を使用しています こんにちは、 MCXA145VLLマイクロコントローラを使っていて、WWDT0について質問があります。これが私の設定です。 フリーズが起きた場合に備えて、250ms後にファームウェアをリセットするために使っています。ファームウェアの一部では、このリセットを可能にするために、意図的に`while(1)`ループを含めています。ウィンドウ型ウォッチドッグを使用するのは正しい選択でしょうか? ウォッチドッグタイマーは、あるハードウェアでは正しく動作するのですが、別のハードウェアでは動作しないことに気づきました。WWDT の動作を妨げている可能性のある要因があるのでしょうか、それとも私が注意すべき点があるのでしょうか? よろしくお願いいたします。 よろしくお願いいたします。 Re: Using wwdt0 mcxa145vll こんにちは、 @Transidico さん、 投稿ありがとうございます。 このようにWWDTを使用しても問題ありません。 「ウォッチドッグはあるハードウェアプラットフォームでは正しく動作するが、別のプラットフォームでは動作しない」と言うのは、2つの異なるボードのことを指していますか? まずはWWDT0クロックの設定を確認することをお勧めします。 CLOCK_GetWdtClkFreq(0) を使用して設定済みのウォッチドッグクロック周波数を取得し、両方のボードで結果を比較してください。また、WWDT初期化後の関連するクロックレジスタも比較してください。リセット原因フラグを確認することで、ウォッチドッグリセットが発生したかどうかを確認できます。 また、当社のSDKにあるWWDTデモも参考にすることをお勧めします。 これがお役に立てば幸いです。 BR セレステ
View full article
DD_CORE connectivity There are 2 VDD_CORE pins in 172HDQFP package of MCX N series – pin 16 and pin 105. It looks like pin 16 is an output in LDO mode while pin 105 is an input in DCDC mode. In schematics for evaluation boards which use BGA package, the 2 VDD_CORE pins are shorted on the board which is not a problem as the 2 balls are adjacent in the package. However, in 172pin package, the 2 pins pin 16 and pin 105 are on the opposite sides of the package and we don’t plan to short the 2 VDD_CORE pins on the board. Is it a problem if the 2 VDD_CORE pins are not connected on the board for LDO mode? Each VDD_CORE pin will have caps are described in the UG10092 Hardware Design Guide. Thanks and regards, Satish MCXN Power
View full article
S32K311 SPI Issues Hello, I am using a s32k31XEVB-Q100 and have some troubles to get the SPI Communication between the S32K311 and the FS23. I use the Lpspi and the Sbc_fs23_Ip driver in Non-Autosar. The SPI itself is working, but I have some trouble with the Sbc_fs23_Ip. int main(void) { /* Write your code here */ Clock_Ip_StatusType clockStatus; volatile Sbc_fs23_Ip_StatusType sbcStatus; Std_ReturnType eReturnValue = E_NOT_OK; clockStatus = Clock_Ip_Init(&Clock_Ip_aClockConfig[0]); if (CLOCK_IP_SUCCESS != clockStatus) { exit_code = -1; } /* Initial Pins */ Siul2_Port_Ip_Init(NUM_OF_CONFIGURED_PINS_PortContainer_0_BOARD_InitPeripherals, g_pin_mux_InitConfigArr_PortContainer_0_BOARD_InitPeripherals); /* Initial ISR */ IntCtrl_Ip_Init(&IntCtrlConfig_0); IntCtrl_Ip_EnableIrq(FlexCAN0_0_IRQn); /* already enabled in IntCtrl_Ip - Interrupt Controller */ //IntCtrl_Ip_EnableIrq(FlexCAN0_1_IRQn); //IntCtrl_Ip_EnableIrq(FlexCAN0_2_IRQn); //IntCtrl_Ip_EnableIrq(FlexCAN0_2_IRQn); OsIf_Init(NULL_PTR); // FlexCAN Init FlexCAN_Ip_Init(INST_FLEXCAN_0, &FlexCAN_State0, &FlexCAN_Config0); FlexCAN_Ip_SetRxIndividualMask(INST_FLEXCAN_0,CAN_RX_MB_IDX,0xFFFFFFFF); FlexCAN_Ip_ConfigRxMb(INST_FLEXCAN_0, CAN_RX_MB_IDX, &CAN_rx_info, CAN_Rx_MSG_ID); FlexCAN_Ip_SetStartMode(INST_FLEXCAN_0); //FlexCAN_Ip_Receive(INST_FLEXCAN_0,CAN_RX_MB_IDX,&rxData,false); // LPSPI Init lpspi_status = Lpspi_Ip_Init(&Lpspi_Ip_PhyUnitConfig_SpiPhyUnit_0_Instance_0); uint8 y = 0; for (uint8 x=0; x<50; x++) { txTestSpiBuffer[0] = y++; txTestSpiBuffer[1] = y++; txTestSpiBuffer[2] = y++; txTestSpiBuffer[3] = y++; //lpspi_status = Lpspi_Ip_SyncTransmit(&MASTER_EXTERNAL_DEVICE, txBuffer, rxBuffer, NUMBER_OF_BYTES, TIMEOUT); lpspi_status = Lpspi_Ip_SyncTransmit(&MASTER_EXTERNAL_DEVICE, txTestSpiBuffer, rxTestSpiBuffer, 4, ((uint32)1000000UL)); } /* Initialize Sbc driver */ Sbc_fs23_Ip_InitDriver(&Sbc_fs23_Ip_Config); /* Call function Sbc_fs23_GoToInitState to put device into INIT state*/ eReturnValue = Sbc_fs23_Ip_GoToInitState(SBC_FS23_DEVICE_ID); y = 0; for (uint8 x=0; x<50; x++) { txTestSpiBuffer[0] = y++; txTestSpiBuffer[1] = y++; txTestSpiBuffer[2] = y++; txTestSpiBuffer[3] = y++; //lpspi_status = Lpspi_Ip_SyncTransmit(&MASTER_EXTERNAL_DEVICE, txBuffer, rxBuffer, NUMBER_OF_BYTES, TIMEOUT); lpspi_status = Lpspi_Ip_SyncTransmit(&MASTER_EXTERNAL_DEVICE, txTestSpiBuffer, rxTestSpiBuffer, 4, ((uint32)1000000UL)); } First I use Lpspi_Ip_SyncTransmit from Lpspi-Driver directly. This is just to see that the SPI in generel is working. Then I use the Sbc_fs23_Ip driver. Here I have some issues with the SPI.  Because I thought maybe something is reconfigured in the Sbc_fs23_Ip driver I use the Lpspi_Ip_SyncTransmit from Lpspi-Driver directly again. In the Fisrt loop where I use the  Lpspi-Driver directly the communication looks good. Then the function Sbc_fs23_Ip_GoToInitState is called. There also multiple commands are send via SPI, but the it looks like the Datas are not send correctly After that I used the Lpspi_Ip_SyncTransmit directly again and the communication looks good again. In Lpspi_Ip.c I can wait until the TCF Flag from LPSPI0 is set to send the next data. This works, but shouldn't be the solution. LOCAL_INLINE void Lpspi_Ip_PushDataToFifo(uint8 Instance, uint8 NumberOfWrites) { LPSPI_Type* Base = Lpspi_Ip_apxBases[Instance]; Lpspi_Ip_StateStructureType* State = Lpspi_Ip_apxStateStructureArray[Instance]; uint32 Data = 0u; uint8 Index = 0u; /* Default data will be sent if TX buffer is null */ Data = State->ExternalDevice->DeviceParams->DefaultData; /* To increase the performance of transfer, we will reduce the checking conditions in per "for" statement so we should have more than 1 "for" * statement here */ if (NULL_PTR != State->TxBuffer) { if (State->ExternalDevice->DeviceParams->FrameSize < 9u) { for (Index = 0; Index < NumberOfWrites; Index++) { Data = *((const uint8*)(&State->TxBuffer[State->TxIndex + Index])); Base->TDR = Data; } } else if (State->ExternalDevice->DeviceParams->FrameSize < 17u) { for (Index = 0; Index < NumberOfWrites; Index++) { Data = *((const uint16*)(&State->TxBuffer[2u * (State->TxIndex + Index)])); Base->TDR = Data; } } else { for (Index = 0; Index < NumberOfWrites; Index++) { Data = *((const uint32*)(&State->TxBuffer[4u * (State->TxIndex + Index)])); Base->TDR = Data; while ((Base->SR & LPSPI_SR_TCF_MASK) == 0U) { /* NEW, WAIT TILL TCF FLAG IS SET */ } } } } else { for (Index = 0; Index < NumberOfWrites; Index++) { Base->TDR = Data; } } State->TxIndex += NumberOfWrites; } What I also see is that the Datas are in the wrong order. When calling Sbc_fs23_Ip_GoToInitState the first command is to read the SBC_FS23_IP_M_STATUS_ADDR (0x03) So the 0x06 should at the beginning of the Transmitted Datas? Do you have an Idea what could be wrong? I have been having these problems for several days now and am unable to make any progress. Re: S32K311 SPI Issues Hi As an initial guess, the SPI configuration or data packing may be incorrect. The bytes appear to be swapped during the generic SPI transfer, which can happen when using a 32-bit SPI frame with byte-oriented buffers and byte swapping disabled. Also, using the same PCS for a generic SPI test is not ideal while the SBC is connected, because the SBC will also receive those test frames. Please use a separate PCS or disconnect/disable the SBC during a generic LPSPI test. The attached main.c confirms that the project is based on S32K3 RTD 7.0.1, build S32K3_RTD_7_0_1_D2602_ASR_REL_4_9_REV_0000_20260206 . It includes and uses Sbc_fs23_Ip , but the exact FS23 SBC driver package version cannot be determined from the source file. The attached Blink.mex also identifies the SBC component but does not contain its package release. For comparison, the latest FS23 SBC driver 2.0.0 is used with S32K3 RTD 7.0.1, and the available S32K312 FS23 demo uses different SPI settings, including 8-bit transfers and chip select kept asserted. I recommend comparing your configuration with the available FS23 demo, especially the SPI data width, chip-select behavior, and transfer sequence. BR, Petr
View full article
DD_CORE 连接 MCX N 系列的 172HDQFP 封装中有 2 个 VDD_CORE 引脚——引脚 16 和引脚 105。看起来在 低压差线性稳压器\(LDO\) 模式下,引脚 16 是输出,而在 DCDC 模式下,引脚 105 是输入。 在使用 BGA 封装的评估板的原理图中,板上的 2 个 VDD_CORE 引脚是短接的,但这并不成问题,因为封装中的 2 个焊球是相邻的。然而,在 172 引脚封装中,引脚 16 和引脚 105 位于封装的相对两侧,我们不打算将板上的 2 个 VDD_CORE 引脚短接。 如果 LDO 模式下电路板上的 2 个 VDD_CORE 引脚未连接,是否会有问题?每个 VDD_CORE 引脚的电容在 UG10092 硬件设计指南中有详细描述。 感谢并致意 萨蒂什 MCX N 电源
View full article
Erase Flash command in launch.json file Hi, I'm using VsCode with the MCUXpresso extension and we program/debug our MIMXRT1064 with the "Run and Debug" tab. In our launch.json file, we have a working configuration for Debuging. My problem is: I would like to erase a specific Flash memory area before the program is Flashed. How can I do this? I'm using a J-link probe with segger GDB server. I have tried many ways like: "preLaunchCommands": [                 "monitor exec Erase 0x70000000 0x70190000"             ], of  "gdbInitCommands": [                 "set remotetimeout 600",                 "set debug-file-directory",                 "set non-stop off",                 "flash-erase"             ], Also, what are the difference between what can be written in "gdbInitCommands" and "preLaunchCommands"? Is there any documentation with example other than the MCUX documentation for VsCode? I have red the Debug section with the configuration but I still can not find my answers.   Thanks! Re: Erase Flash command in launch.json file Hi @loicING , Thank you so much for your interest in our products and for using our community. Regarding your question,  Please note that  gdbInitCommands runs before attaching to the target, while preLaunchCommands runs immediately after attaching. For more detail information, Please refer to below link: 1: Debug — MCUXpresso for VS Code 2: Flash — MCUXpresso for VS Code For range erasing, please check the SEGGER J-Link GDB Server documentation matching your installed version to confirm supported commands and syntax. You may also enable the following logging options in your launch.json to inspect command responses and execution order: "showDevDebugOutput": "both", "showDevDebugTimestamps": true .   Best Regards May Liu
View full article
IMX8QXP 差分/部分OTA開発 チームの皆さん、こんにちは。 IMX8QXP - スカースギャップ - L 6.6.52 IMX8QXP yoctoの差動OTA/部分OTA開発に関する文書や参考文献を共有していただけますか? ありがとうございます。 VKS i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus Linux Yocto Project Re: IMX8QXP Differential/ Partial OTA development こんにちは、 差分OTAアップデートに関して検討する価値のあるアプローチの一つとして、OSTreeが挙げられます。 Toradexでは、Torizon OSのOSTreeを使用してOSのアップデートを管理し、ルートファイルシステム全体をダウンロードするのではなく、デバイス上に既に存在しないオブジェクトのみを転送しています。 あなたの特定のYoctoセットアップには既製の解決策ではありませんが、私たちのアップデートアーキテクチャは参考になるかもしれません。 https://developer.toradex.com/torizon/torizon-platform/torizon-updates/torizon-updates-architecture/ よろしくお願いします、 ダニエル・モライス Re: IMX8QXP Differential/ Partial OTA development こんにちは、 現在、私はこのようにしています ### 部分 1: 初期フル OTA (1) からフル OTA (2) まで - フルOTA (1): ベースバージョン。 - フルOTA(2):対象バージョン。 変更されたファイルを特定するには、Full OTA (1) と Full OTA (2) の差分を取得します。 変更されたルートファイルシステムファイルとその他の必要なファイルを含むSWUファイルを作成した。 アップデート中: 1. 非アクティブな(次の)スロットを取り付けます。 2. 変更したファイルを、非アクティブスロット内のそれぞれの場所にコピーします。 3. スロットを取り外します。 4. アップデート済みのスロットからデバイスを再起動します。 現在のスロットから次のスロットに切り替えた後、両方のスロットを同じ設定に同期させる。これにより、両方のスロットが整列し、今後の差分OTAアップデートに備えることが保証されます。 ## 部分アップデート2:完全OTA(2)から完全OTA(3)へ - フルOTA (2): ベースバージョン。 - フルOTA (3): 対象バージョン。 更新されたFull OTA(2)をベースとして、Full OTA(3)をターゲットとして使用します。変更されたファイルを特定するには、両バージョンの差分を取得してください。 変更されたファイルと必要な更新コンポーネントを含む差動型SWUパッケージを生成します。 非アクティブなスロットにアップデートを適用し、アップデートされたスロットから再起動して、両方のスロットを同じ構成に同期します。 ## 部分アップデート3:完全OTA(3)から完全OTA(2)へ - フルOTA (3): ベースバージョン。 - フルOTA(2):対象バージョン。 更新されたフルOTA(3)をベースとして、フルOTA(2)をターゲットとして使用します。変更されたファイルを特定するには、両バージョンの差分を取得してください。 変更されたファイルと必要な更新コンポーネントを含む差動型SWUパッケージを生成します。 非アクティブなスロットにアップデートを適用し、アップデートされたスロットから再起動して、両方のスロットを同じ構成に同期します。 ## 全体的な更新フロー フルOTA(1) 初期ベース 差動OTA(1→2) フルOTA(2) 更新されたベース 差動OTA(2→3) フルOTA(3) 更新されたベース 差動OTA(3→2) フルOTA(2) 前のバージョンに戻る 重要なポイント: OTAアップデートが成功した後は、両方のスロットを同期させ、現在更新されたバージョンをベースに次の差分OTAを生成できるようにします。 私のアプローチを確認していただけますか? ありがとうございます。 VKS
View full article
i.MX95 Neutron NPU: INT16 Conv2D gives wrong output at tile boundaries; is INT16 supported? On i.MX95 (FRDM-IMX95, BSP LF6.12.49_2.2.0, eIQ Neutron SDK 2.2.2), INT8 models run correctly on the NPU, but INT16-activation convolutions give wrong results. Minimal test: one 3×3 CONV_2D (16→16 channels, input 1×32×64×16, SAME padding, ReLU). I quantized it with NXP's tflite-profiler and tflite-quantizer (INT16 activations, INT8 weights) and compiled it with neutron-converter --target imx95. INT8: correct. INT16 symmetric: output rows 6–8, 14–16 and 22–24 are wrong; all other rows are exact. These are the rows at the boundaries between the 4 NPU units (--dump-tile-ir shows 4 zones of 8 rows). INT16 asymmetric: all rows wrong. The same layer rewritten as a 1×3 conv (no rows shared between units): correct. The result is the same with the SDK 2.2.2 runtime and with SDK 3.3.0 on the LF6.18 runtime. The SDK 2.2.2  SupportedOperatorsS.md lists Int16 input/output for the Conv2DDense kernel on N3/N3+ (i.MX95 is listed as N3+), but the SDK 3.3.0 SupportedOperatorsS.md lists CONV_2D, MUL, ADD and CONCATENATION as INT8 only. Questions: Are INT16-activation CNN layers supported on the i.MX95 NPU? Is this a known issue? Re: i.MX95 Neutron NPU: INT16 Conv2D gives wrong output at tile boundaries; is INT16 supported? Hi @SwethaRaghavendran  Based on the differences between SDK releases, this is a known issue; therefore, please refer to the documentation in the latest SDK for information on the quantization types supported by CONV_2D, MUL, ADD, and CONCATENATION. Best Regards, Zhiming
View full article