Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
FRDM-MCXA156の「MCU-LINK」ポートが動作しません こんにちは。 FRDM-MCXA156を入手しました。USBケーブルをMCU-Linkポートに接続しても、Windows 10システムは全く反応しません。システムのデバイスマネージャーを確認しましたが、新しいデバイスは表示されていませんでした。 LED D12とD6が点滅しています。D7は点灯しています。 LinkServer_26.5.59をインストールしました。 他に私にできることはありますか? THX。 蔡。 開発ボード MCXA Re: FRDM-MCXA156 'MCU-LINK' port not work こんにちは、 @phantomgz さん、 投稿ありがとうございます。 UM12121の「3.4」の項を参照して、mcu-linkファームウェアを更新してください。ファームウェアアップデートユーティリティを使用したMCU-Linkファームウェアのアップデート: Celeste_Liu_0-1781605664353.png Linkserver_26.3.123 の最新スクリプトを使用することをお勧めします。 Celeste_Liu_1-1781605748462.png お役に立てば幸いです。 BR セレステ Re: FRDM-MCXA156 'MCU-LINK' port not work UM12121 FRDM-MCXA156ボードユーザーマニュアル(3.3 MCU-Linkファームウェアアップデートユーティリティのインストール用) UG10219 LinkServerとMCUXpresso IDEの統合
View full article
S32K312ミニボードは入手できません S32K312ミニボードは、S32デザインスタジオ3.6のサンプルコードには含まれていません。ドライバもすべてインストール済みです。どうか助けてください。 Re: S32K312 mini board is not available こんにちは、 @Turtledove ご提供いただいたスクリーンショットを見る限り、現在ソフトウェアパッケージはインストールされていないようです。 S32K3デバイス用のRTDは、S32K3標準ソフトウェアの以下の場所からダウンロードできます。 オートモーティブ SW - S32K3/S32M27x - Cortex-M 用リアルタイム・ドライバ。ダウンロード後、 S32 Design Studio 3.6.0 を使用した RTD 5.0.0 のダウンロード、インストール、構成方法に関するThreadに記載されている手順に従ってインストールできます。 FRDM-A-S32K312のサンプルに関しては、現在RTDパッケージ内にこのボード専用のサンプルは含まれていません。また、最新リリースでは、S32K312デバイス専用のサンプルは含まれていません。ただし、他のS32K3派生製品の例を参考にすることは可能です。 RTDパッケージにはサンプルは含まれていませんが、FRDM-A-S32K312のアプリケーションサンプルはアプリケーションコードハブで入手できます。そこでこの特定のデバイスを検索すると、利用可能なすべての例が表示されます。   BR、VaneB
View full article
需要AM/FM调谐器tef6686的应用电路 我需要AM/FM调谐器TEF6686的应用电路,您能提供给我吗?另外,能否一并提供所有相关信息?我正在基于此设计一个电路。 -谢谢 -阿洛克  Re: AM/FM tuner tef6686 application circuit needed 亲爱的阿米什拉, 我有一份包含应用电路示例的机密版 TEF668XA 数据手册。此信息仅可在与恩智浦(NXP)签订有效保密协议(NDA)的情况下分享。请在此处使用您的公司邮箱提交一个新工单,并附上您的保密协议编号。如果您尚未签署保密协议(NDA),且希望签署一份新的协议,请在此提交新的保密协议申请,我们的保密协议事务专员将协助您完成相关流程。  致以最崇高的敬意 约瑟夫
View full article
MCXN547 - Best approach to load Ethernet MAC address from IFR (CMPA) at runtime? Hello, We are developing a product based on the MCXN547 with Zephyr RTOS 4.3.0. As part of our factory provisioning process, we program a unique EUI64 per unit into the CMPA region of the IFR (at address `0x01004190`), using the MCUXpresso Secure Provisioning Tool. From this EUI64 we derive the 6-byte Ethernet MAC address. We would like the Ethernet driver to automatically use this MAC address at boot, instead of a static `local-mac-address` in the devicetree. We have verified that the CMPA region at `0x01004190` is directly readable at runtime via memory-mapped access (`devmem` confirmed this). Our question: What is the recommended approach to have the `nxp,enet-qos-mac` driver (used by the MCXN547) read the MAC address from a custom location in the IFR/CMPA at startup? We are aware that the classic `nxp,enet-mac` driver supports `nvmem-cells` for this purpose, but we are not sure if this is also supported or achievable with the `nxp,enet-qos-mac` driver, and what the correct devicetree configuration would be for the MCXN547. Any guidance or example from NXP or the community would be greatly appreciated. Environment: - MCU: MCXN547 - Zephyr: 4.3.0 (NXP fork nxp-v4.3.0) - Driver: `drivers/ethernet/eth_nxp_enet_qos/eth_nxp_enet_qos_mac.c` - IDE: VS Code + MCUXpresso extension - Provisioning: MCUXpresso Secure Provisioning Tool MCXN Re: MCXN547 - Best approach to load Ethernet MAC address from IFR (CMPA) at runtime? If you're willing to try an alternative route, you can try Mongoose with its built-in TCP/IP stack. Mongoose allows you to redefine MG_SET_MAC_ADDRESS to your custom function. To try, 1. Disable Zephyr TCP/IP in your project conf 2. Create mongoose/ directory, and copy mongoose.c and mongoose.h from https://github.com/cesanta/mongoose 3. Create mongoose_config.h with this: #pragma once // See https://mongoose.ws/documentation/#build-options #define MG_ARCH MG_ARCH_ARMGCC #define MG_OTA MG_OTA_MCXN #define MG_ENABLE_TCPIP 1 #define MG_ENABLE_DRIVER_MCXN 1 #define MG_ENABLE_CUSTOM_MILLIS 1 // extern void my_function(unsigned char *mac); // #define MG_SET_MAC_ADDRESS(mac) my_function(mac) 4. Implement "uint64_t mg_millis(void)" to return number of milliseconds since boot. Make a Zephyr task that runs mongoose, give it 8kb stack: struct mg_mgr mgr; mg_mgr_init(&mgr); for (;;) mg_mgr_poll(&mgr, 1); And that should be it.  Redirect printf to UART to see debug logs. Also, Mongoose gives you CRA-ready OTA built-in, https://mongoose.ws/ota/ There is a pre-built test project for a slightly different MCU, https://github.com/cesanta/mongoose/tree/master/tutorials/nxp/frdm-mcxn947-make-baremetal-builtin - close mongoose repo and type "make" in that directory to build, that needs make and ARM GCC installed. Re: MCXN547 - Best approach to load Ethernet MAC address from IFR (CMPA) at runtime? Hi @Jorini  Thank you for the post! You could follow the Zephyr documentation using the option to change the MAC address at runtime: MAC Address Configuration — Zephyr Project Documentation Please let me know if this information helps!  Re: MCXN547 - Best approach to load Ethernet MAC address from IFR (CMPA) at runtime? Thank you both for the suggestions! Regarding the mac_config.html approach: we looked into it and agree it is the "clean" Zephyr way to do this. However, it requires modifying eth_nxp_enet_qos_mac.c to call net_eth_mac_load(), adding nvmem-cells support to the nxp,enet-qos-mac binding, and having an nvmem provider for the CMPA/IFR region — none of which exist in Zephyr 4.3 for the MCXN547. So while it is the right long-term direction, it is not directly applicable today. Regarding Mongoose: it is an interesting option for new projects starting from scratch, but in our case it would mean replacing the entire Zephyr network stack and rewriting all our networking code (DHCP, TLS, HTTP, OTA, socket-based cloud communication). The cost is not justified given that we already have a working solution. What we ended up doing — and it works correctly in production — is using two SYS_INIT hooks in our application code, with no changes to the driver: 1. POST_KERNEL priority 83: overwrite the ENET QOS hardware registers (MAC_ADDRESS0_HIGH/LOW at 0x40100300/304) right after the driver initializes at priority 82. This ensures the MAC chip filters frames with the correct address. 2. APPLICATION priority 1: update the Zephyr software network interface table (net_if link_addr). Without this second step, Zephyr's IP stack silently discards all incoming frames because the SW MAC does not match the HW MAC. Thanks you
View full article
MPC5647 闪存无法访问 我们使用的是 MPC5647 设备。 我们使用Trace32,将一个应用程序编程写入了内部闪存区域。编程过程刚开始(或刚一完成),目标硬件的电源就被切断了。 此事件发生后,便无法再访问应用区域中的闪存。通过Trace32访问Flash时,内存内容显示为"????????" ,或者"FFFFFFFF" 。我们怀疑是在Flash编程操作尚未完全结束之前就切断了电源。 在此情况下,应用闪存区域将无法使用,且只能通过执行 AN4521_MPC56xx C90FL Flash Recovery.pdf 中所述的出厂恢复程序来恢复闪存。执行恢复操作后,闪存即可再次使用。 我们希望了解以下内容: 是什么原因导致了这种现象? 为什么在闪存编程过程中发生意外断电会导致无法访问该闪存块? 为什么不能直接对闪存进行重新编程呢? 为什么在重新对闪存进行编程之前,必须先执行恢复/出厂初始化操作? 这是否与无效的 ECC 状态、不完整的擦除操作,还是其他闪存控制器内部状况有关? 如果能对Flash的内部工作原理进行详细说明,我们将不胜感激。 Re: MPC5647 Flash Inaccessibility 你好 此事件发生后,便无法再访问应用区域中的闪存。通过Trace32访问Flash时,内存内容显示为"????????" ,或者"FFFFFFFF" 。我们怀疑是在Flash编程操作尚未完全结束之前就切断了电源。 这表明闪存可能已损坏。 在此情况下,应用闪存区域将无法使用,且只能通过执行 AN4521_MPC56xx C90FL Flash Recovery.pdf 中所述的出厂恢复程序来恢复闪存。执行恢复操作后,闪存即可再次使用。 这肯定是编程过程中因断电导致的闪存损坏。闪存中存在大量ECC错误,这就是为什么你在跟踪信息中看到“?????”的原因。 为什么在闪存编程过程中发生意外断电会导致无法访问该闪存块? 简而言之,如果您未完成编程或进行了擦除,闪存数据将出现不匹配,并伴随ECC症状。 为什么在重新对闪存进行编程之前,必须先执行恢复/出厂初始化操作? 标准程序命令期望获得一个已彻底擦除的块 中断后: 控制器检测到无效状态 → 拒绝命令 因此: 擦除/编程序列始终无法正确启动 访问可能被阻止或返回虚假数据 这是否与无效的 ECC 状态、不完整的擦除操作,还是其他闪存控制器内部状况有关? 因电源中断而进入ECC状态。 顺祝商祺! Peter
View full article
MCXN547 - 実行時にIFR(CMPA)からイーサネットMACアドレスをロードする最適な方法は? こんにちは、 当社は、MCXN547とZephyr RTOS 4.3.0をベースとした製品を開発しています。工場出荷時のプロビジョニングプロセスの一環として、MCUXpressoセキュアプロビジョニングツールを使用して、ユニットごとに固有のEUI64をIFRのCMPA領域(アドレス`0x01004190`)にプログラムします。このEUI64から、6バイトのイーサネットMACアドレスを導き出します。 イーサネットドライバが、デバイスツリー内の静的な`local-mac-address`ではなく、起動時にこのMACアドレスを自動的に使用するようにしたいと考えています。 メモリマップドアクセスにより、`0x01004190`のCMPA領域が実行時に直接読み取り可能であることを確認しました(`devmem`で確認済み)。 私たちの質問:MCXN547で使用される`nxp,enet-qos-mac`ドライバが、起動時にIFR/CMPA内のカスタム位置からMACアドレスを読み取るための推奨される方法は何ですか? 従来の`nxp,enet-mac`ドライバがこの目的のために`nvmem-cells`をサポートしていることは承知していますが、`nxp,enet-qos-mac`ドライバでもこれがサポートされているか、または実現可能かどうか、またMCXN547の正しいデバイスツリー構成が何になるのかは不明です。 NXP社またはコミュニティからのアドバイスや事例をいただければ大変ありがたいです。 環境: - MCU: MCXN547 - Zephyr: 4.3.0(NXPフォーク nxp-v4.3.0) - ドライバ: `drivers/ethernet/eth_nxp_enet_qos/eth_nxp_enet_qos_mac.c` - IDE: VS Code + MCUXpresso拡張機能 - プロビジョニング: MCUXpresso セキュアプロビジョニングツール MCX N Re: MCXN547 - Best approach to load Ethernet MAC address from IFR (CMPA) at runtime? もし別の方法を試す気があるなら、内蔵TCP/IPスタックを持つMongooseを試してみるのも良いでしょう。Mongooseでは、MG_SET_MAC_ADDRESSを独自の関数に再定義できます。 試みるために、 1. プロジェクトコンバージョンでZephyrのTCP/IPを無効にする 2. mongoose/ディレクトリを作成し、mongoose.cをコピーしますおよび mongoose.hhttps://github.com/cesanta/mongooseより 3. mongoose_config.h を作成します。これを使って: #pragma once // https://mongoose.ws/documentation/#build-optionsを参照してください #define MG_ARCH MG_ARCH_ARMGCC #define MG_OTA MG_OTA_MCXN #define MG_ENABLE_TCPIP 1 #define MG_ENABLE_DRIVER_MCXN 1 #define MG_ENABLE_CUSTOM_MILLIS 1 // extern void my_function(unsigned char *mac); // #define MG_SET_MAC_ADDRESS(mac) my_function(mac) 4. ブートからのミリ秒数を返す「uint64_t mg_millis(void)」を実装します。 Mongooseを実行するZephyrタスクを作成し、8kbスタックを与えてください: struct mg_mgr mgr; mg_mgr_init(&mgr); for (;;) mg_mgr_poll(&mgr, 1); これで全てです。デバッグログを表示するには、printfをUARTにリダイレクトしてください。また、MongooseにはCRA対応のOTA機能が組み込まれています。https://mongoose.ws/ota/ 少し異なるMCU用の既成テストプロジェクトがあります https://github.com/cesanta/mongoose/tree/master/tutorials/nxp/frdm-mcxn947-make-baremetal-builtin - mongoose リポジトリを閉じて、そのディレクトリで「make」と入力してビルドします。これはmakeとARM GCCのインストールが必要です。 Re: MCXN547 - Best approach to load Ethernet MAC address from IFR (CMPA) at runtime? こんにちは、 @Jorini さん。 投稿ありがとうございます! Zephyrのドキュメントでは、実行時にMACアドレスを変更するオプションを利用できます:MACアドレス設定 — Zephyrプロジェクトドキュメント この情報がお役に立てば幸いです! Re: MCXN547 - Best approach to load Ethernet MAC address from IFR (CMPA) at runtime? お二人ともご提案ありがとうございました! mac_config.htmlアプローチについてですが、調べた結果、それが「クリーン」なZephyrのやり方だと合意しました。しかし、eth_nxp_enet_qos_mac.cを変更してnet_eth_mac_load()を呼び出す必要があり、nxp、enet-qos-macバインディングにnvmem-cellsのサポートを追加し、CMPA/IFR領域用のnvmemプロバイダーを設置する必要がありますが、これらはMCXN547のZephyr 4.3には存在しません。したがって、これは長期的に正しい方向性ではありますが、今日直接適用できるものではありません。 Mongooseについてですが、新規プロジェクトから一から始めるには興味深い選択肢ですが、私たちの場合はZephyrネットワークスタック全体を置き換え、ネットワークコード(DHCP、TLS、HTTP、OTA、ソケットベースのクラウド通信)をすべて書き直すことになります。既に有効な解決策があることを考えると、この費用は正当化されない。 最終的に私たちが行ったこと、そして本番環境で正しく動作したのは、アプリケーションコードに2つのSYS_INITフックを使い、ドライバに変更を加えないというものです。 1. 優先度83 POST_KERNEL:ドライバが優先度82で初期化された直後にENET QOSハードウェアレジスタ(MAC_ADDRESS0_HIGH/LOWで0x40100300/304)を上書きします。これにより、MACチップが正しいアドレスを持つフレームを確実にフィルタリングできるようになります。 2. アプリケーション優先度1:Zephyrソフトウェアネットワークインターフェーステーブル(net_if link_addr)を更新。この2段階目がなければ、ZephyrのIPスタックはSWのMACがハードウェアMACと一致しないため、すべての受信フレームを静かに破棄します。 ありがとうございます
View full article
Matlab2023a 调用 S32DS3.5 时遇到错误 亲爱的MBDT团队:我们使用 MATLAB 2023a 脚本在编译 Simulink 模型后生成代码,然后调用 eclipsec.exe 进行无界面后台编译。构建完成后,将在 Simulink 诊断查看器中创建一个超链接,用于直接打开与已编译项目对应的工作区。该工作流在 S32DS 3.4 版本中运行非常顺利。然而,在升级到 S32DS 3.5.8 之后,出现了两个问题:问题 1:单击 Simulink 创建的超链接将启动后台进程 s32ds.exe,随后会弹出一个窗口,并立即关闭。我们尝试了多种解决方案,例如在 s32ds.ini 文件中添加参数 `"-vm \bin\javaw.exe" `(但这对 s32ds.exe 没有任何影响),并在系统环境变量中将 JDK 11 设为优先选项。这些尝试都没有解决问题。问题 2:如前所述,通过 MATLAB 脚本调用 eclipsec.exe 会触发屏幕截图中显示的错误:Java 已启动但返回退出代码 =1。我们将"\bin\javaw.exe、" 以及 JDK 11 的路径设置为系统环境变量的最前项。命令提示符正确显示了 Java 11(64 位),但 Simulink 编译时仍试图加载 jvm.dll。删除"client\jvm.dll 后"或者"server\jvm.dll" ,程序会改为定位 java.exe,但仍会报告错误,退出代码为 4。此外,在所有情况下,手动编译依然能够成功。所有相关的文件和设置都将上传以供您参考。请帮忙提供一些建议,以解决这个问题。谢谢。 Re: Matlab2023a Envokes S32DS3.5 Encountered Error 你好, 从你的信息来看,我理解你有一个 Simulink 模型,并使用 Embedded Coder 为其生成代码。然后您设置了一个使用 eclipsec 编译代码的工作流程。我发现的主要问题是 MATLAB 目前没有使用正确的 Java 版本。你有没有尝试就这个问题联系过他们? 此外,我怀疑您没有使用 NXP 开发的基于模型的设计工具箱(例如,S32K3、S32K1 等)。如果我错了,请告诉我。 此致, 索林·班奇拉
View full article
app_localizationとapp_localization_algoにおけるRAS転送処理に関する質問 こんにちは、 現在、KW47でチャネルサウンディングを使用しようとしており、MCUXpresso SDKドキュメントの「Bluetooth Low Energyチャネルサウンディングアプリケーション開発者ガイド」を参照しています。しかしながら、測距サービス(RAS)を実装する必要があるかどうか確信が持てないため、ご説明をいただきたく存じます。 具体的には、app_localization_algo共通モジュールに関して、ドキュメントには次のように記載されています。 app_localization_algoモジュールは、CS手順とRAS転送の結果として得られたデータを解凍する役割を担います。その後、モジュールはそれを距離測定アルゴリズムに渡してメートル単位の距離を取得し、その距離をアプリケーションに伝達します。 アプリケーションとこのモジュールの間には、他に直接的な相互作用はありません。そのAPIは主にapp_localizationモジュールで使用されています。 この説明に基づき、RASの移送に関して以下の点を明確にしたいと思います。 RAS転送はapp_localizationモジュール内で自動的に設定および処理されますか? それとも、app_localizationはapp_localization_algoモジュールとのみ連携し、RAS転送にはRAS APIを使用して別途実装する必要があるのでしょうか? 言い換えれば、アプリケーションはCSプロシージャ処理とRAS転送の両方においてapp_localizationに完全に依存すべきなのか、それともアプリケーションレベルでRAS APIを明示的に統合する必要があるのか、ということです。 参考までに、関連するドキュメントページは以下のとおりです。 https://mcuxpresso.nxp.com/mcuxsdk/26.03.00/html/middleware/wireless/bluetooth/doc/Bluetooth %20Low% 20Energy %20Channel% 20Sounding %20Application% 20Developers%20Guide/topics/application_common_modules.html#app-localization-algo-common-module ご説明いただけると幸いです。 よろしくお願いします、 Re: Question about RAS transfer handling in app_localization vs app_localization_algo こんにちは、 @t_hosomi 事例を作成していただきありがとうございます。 少々お時間をください。いただいた詳細情報を確認し、できるだけ早くご返信いたします。 よろしくお願いいたします。 Christine。 Re: Question about RAS transfer handling in app_localization vs app_localization_algo こんにちは、 @t_hosomi ご辛抱強くお待ちいただき、また詳細な情報を提供していただき、ありがとうございます。 私の回答は以下のとおりです。 ご提供のリンクに示されているように、RASはレンジャーサービスの略です。これは別のサービスです。「app_localization」は実際にRASプロファイルインターフェースを呼び出してデータを転送します。 「app_localization」はアプリケーションコードの一部と考えることができます。ここではRASと呼ばれ、他の一般的なアプリケーションコードでも同様です。`app_localization`の使用をお勧めします。 `app_localization`は、RASを介したクライアント・サーバー(CS)データの転送を実装します。 しかし、アプリケーション層はプロファイルの購読、通知の有効化、インジケーターなどの基本的なインターフェースを呼び出す必要があります。 ご理解いただけましたでしょうか? よろしくお願いいたします。 Christine。 Re: Question about RAS transfer handling in app_localization vs app_localization_algo こんにちは、 @Christine_Li さん。 ご回答ありがとうございます。 RASは独立したサービスであると理解しています。 app_localization内でCSデータを転送(すなわちRASを利用する)には、関連ドキュメントの「Ranging Service common module」セクションやwireless_ranging SDKサンプルで説明されているステップ、特に「アプリケーション層は基本的なインターフェースを呼び出す必要がある」という手順を追加で実装する必要があるという理解は正しいでしょうか。 例えば、プロフィールの購読、通知の有効化、指標など」などです。 よろしくお願いします、 Re: Question about RAS transfer handling in app_localization vs app_localization_algo こんにちは、 @t_hosomi はい、おっしゃる通りです。 よろしくお願いいたします。 Christine。 Re: Question about RAS transfer handling in app_localization vs app_localization_algo こんにちは、 @t_hosomi ご返信ありがとうございます。 誤解を避けるため、別の言葉を変えてみましょう。 RASはapp_localization内で処理されるのではなく、独立したサービスとして扱われます。 app_localizationはCSデータを転送するためにRASを呼び出す必要があります。 サンプルは必ずしもそのままでは使用できないわけではない。ただし、`app_localization` が RAS/プロファイルレベルの設定をすべて自動的に処理すると考えるべきではありません。カスタムアプリケーションに機能を統合する際には、プロファイルのサブスクリプションや通知・表示の有効化など、必要なアプリケーション層手順が適切に実装されていることを確認する必要があります。そうしないと、RASデータパスが意図したとおりに機能しない可能性があります。 これでより分かりやすくなったでしょうか。 もし何か不明な点があれば、遠慮なくお知らせください。 よろしくお願いいたします。 Christine。 Re: Question about RAS transfer handling in app_localization vs app_localization_algo こんにちは、 @Christine_Li さん。 ご回答ありがとうございます。 あなたの説明から理解すると、RASもapp_localization内で処理されますが、基本的なインターフェースはアプリケーション層から呼び出して設定する必要があるようです。 しかし、digital_key_car_anchor_csやdigital_key_device_csなどのSDKsサンプルコードでは、ドキュメントの「レンジングサービス共通モジュール」セクションで説明されているように、レンジングサービスの設定がアプリケーション層から明示的に呼び出されていないようです。 これらのサンプルは、現状のままでは直接使用できない(つまり、正しく機能しないか、精度が向上しない可能性がある)ということですか?アプリケーションレベルでの追加RAS構成が必要だということです 敬具
View full article
Falcon Mode Enablement - iMX8MP_EVK Hi, I need to enable Falcon Mode on iMX8MP_EVK in the Yocto branch 6.12-walnascar. However, as per the AN14641 document, the meta-imx-fastboot layer is available only in the lf-6.6.36-2.1.0-secure branch. How can I port this layer to my walnascar branch and enable Falcon Mode? Please help here.. Re: Falcon Mode Enablement - iMX8MP_EVK Please use the following command. uuu -b emmc_all - .rootfs.wic For example: $ uuu -b emmc_all imx-boot-imx95evk-sd.bin-flash_all     core-image-minimal-imx95evk.rootfs.wic Re: Falcon Mode Enablement - iMX8MP_EVK Hi Tipingwang, Thanks for your reply. I am trying to enable Falcon mode and have followed the steps provided in AN14641, but I am getting stuck during the flashing process. As per the README, the flashing steps are mentioned as below (for eMMC): unzstd -[secure-boot]- .rootfs.wic.zst uuu -b emmc_all - .rootfs.wic uuu -b emmc My boot memory is eMMC. I attempted to flash the image using the following command: sudo ./uuu -d -v -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evk imx-image-core-imx8mpevk.rootfs-20260616051114.wic However, during execution, the flashing process fails with the following error: sudo ./uuu -d -v -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evk imx-image-core-imx8mpevk.rootfs-20260616051114.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086   Build in config: Pctl Chip Vid Pid BcdVersion Serial_No ================================================== SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS: MX8DXL 0x1fc9 0x0147 SDPS: MX28 0x15a2 0x004f SDPS: MX815 0x1fc9 0x013e SDPS: MX865 0x1fc9 0x0146 SDPS: MX8ULP 0x1fc9 0x014a SDPS: MX8ULP 0x1fc9 0x014b SDPS: MX93 0x1fc9 0x014e SDPS: MX91 0x1fc9 0x0159 SDPS: MX95 0x1fc9 0x015d SDPS: MX95 0x1fc9 0x015c SDPS: MX943 0x1fc9 0x0027 SDPS: MX952 0x1fc9 0x0028 SDP: MX7D 0x15a2 0x0076 SDP: MX6Q 0x15a2 0x0054 SDP: MX6D 0x15a2 0x0061 SDP: MX6SL 0x15a2 0x0063 SDP: MX6SX 0x15a2 0x0071 SDP: MX6UL 0x15a2 0x007d SDP: MX6ULL 0x15a2 0x0080 SDP: MX6SLL 0x1fc9 0x0128 SDP: MX7ULP 0x1fc9 0x0126 SDP: MXRT106X 0x1fc9 0x0135 SDP: MX8MM 0x1fc9 0x0134 SDP: MX8MQ 0x1fc9 0x012b SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV: SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998] FBK: 0x066f 0x9afe FBK: 0x066f 0x9bff FBK: 0x1fc9 0x0153 FB: 0x0525 0xa4a5 FB: 0x18d1 0x0d02 FB: 0x3016 0x0001 FB: 0x1fc9 0x0152 FB: 0x0483 0x0afb FB: 0x1d6b 0x0104   Run built-in script:   uuu_version 1.4.149   # @_flash.bin            | bootloader, which can extract from wic image # @_image   [_flash.bin] | wic image burn to emmc.     # This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ SDP: boot -f imx-boot-imx8mpevk-sd.bin-flash_evk -scanlimited 0x800000   # This command will be run when ROM support stream mode # i.MX8QXP, i.MX8QM SDPS: boot -scanterm -f imx-boot-imx8mpevk-sd.bin-flash_evk -scanlimited 0x800000   # These commands will be run when use SPL and will be skipped if no spl # SDPU will be deprecated. please use SDPV instead of SDPU # { SDPU: delay 1000 SDPU: write -f imx-boot-imx8mpevk-sd.bin-flash_evk -offset 0x57c00 SDPU: jump -scanlimited 0x800000 # }   # These commands will be run when use SPL and will be skipped if no spl # if (SPL support SDPV) # { SDPV: delay 1000 SDPV: write -f imx-boot-imx8mpevk-sd.bin-flash_evk -skipspl -scanterm -scanlimited 0x800000 SDPV: jump -scanlimited 0x800000 # }     FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev ${emmc_dev} FB: ucmd mmc dev ${emmc_dev} FB: flash -raw2sparse all imx-image-core-imx8mpevk.rootfs-20260616051114.wic FB: flash -scanterm -scanlimited 0x800000 bootloader imx-boot-imx8mpevk-sd.bin-flash_evk FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 FB: done     Wait for Known USB Device Appear... New USB Device Attached at 1:2-152E1000D9DE520A 1:2-152E1000D9DE520A>Start Cmd:SDPS: boot -scanterm -f imx-boot-imx8mpevk-sd.bin-flash_evk -scanlimited 0x800000 14%1:2-152E1000D9DE520A>Fail HID(W): LIBUSB_ERROR_TIMEOUT (-7)(20.07s) The detailed uuu logs are attached above for reference. Could you please guide me on the correct procedure to flash a Falcon-enabled OS into eMMC, or let me know if I am missing any required steps or configurations? Thanks in advance for your support. Re: Falcon Mode Enablement - iMX8MP_EVK Falcon Mode is not incompatible with Secure Boot BUT On lf-6.12.20-2.0.0-secure, you cannot enable Secure Boot together with Falcon Mode using the provided Yocto flow About 0001-imx8m-reset-ethernet-phy-in-spl.patch For i.MX8MP EVK → strongly recommended Not strictly required if you don't use Ethernet during early boot Re: Falcon Mode Enablement - iMX8MP_EVK Hi Yiping Wang, Thank you for your response. I have a couple of additional questions for clarification. According to the information provided, the branch lf-6.12.20-2.0.0-secure supports Falcon Mode v2, but Secure Boot is marked as not yet supported. Since Secure Boot is a requirement for my i.MX8MP platform, will Falcon Mode work correctly if I use this branch, or is Falcon Mode incompatible when Secure Boot is enabled? For the i.MX8MP EVK, do I need to apply the patch 0001-imx8m-reset-ethernet-phy-in-spl.patch, or is it optional depending on the use case? Re: Falcon Mode Enablement - iMX8MP_EVK You probably do not need to port the layer from lf-6.6.36-2.1.0-secure yourself. The public nxp-imx-support/meta-imx-fastboot - GitHub repository already shows a lf-6.12.20-2.0.0-secure branch. Please refer to README in https://github.com/nxp-imx-support/meta-imx-fastboot Re: Falcon Mode Enablement - iMX8MP_EVK Please help here, And i am using UUU to flash eMMC Re: Falcon Mode Enablement - iMX8MP_EVK Screenshot from 2026-06-16 14-28-09.png As per this image i found in NXP forum it seems that flashing eMMC using the UUU tool may not be supported in this case. Could you please suggest the appropriate method to flash an eMMC device with a Falcon-enabled OS? In your previous reply, you suggested using the following command:   - .rootfs.wic> I tried this approach, but I encountered the same error again: Fail HID(W): LIBUSB_ERROR_TIMEOUT (-7) (20.07s) Could you please guide me on the correct flashing procedure or any alternative tools or steps required for flashing eMMC with Falcon mode enabled? Re: Falcon Mode Enablement - iMX8MP_EVK I verified the following commands on IMX95FRDM, there is no problem, please refer to my log. C:\Users\nxa22585>C:\Users\nxa22585\Downloads\i.mx95\uuu.exe -lsusb uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Connected Known USB Devices Path Chip Pro Vid Pid BcdVersion Serial_no ==================================================================== 2:4 MX95 SDPS: 0x1FC9 0x015D 0x0002 61F49AAB2DCB4DDF C:\Users\nxa22585>C:\Users\nxa22585\Downloads\i.mx95\uuu.exe -b emmc_all C:\Users\nxa22585\Downloads\i.mx95\imx-boot-imx95-15x15-lpddr4x-frdm-sd.bin-flash_all C:\Users\nxa22585\Downloads\i.mx95\core-image-minimal-imx8mnevk.rootfs.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Success 1 Failure 0 1:2-61F49AAB 8/ 8 [Done ] FB: done 2:4-61F49AAB 3/ 3 [=================100%=================] SDPV: jump -scanlimited 0x800000 C:\Users\nxa22585> Re: Falcon Mode Enablement - iMX8MP_EVK Please help here i have stucked in this part Re: Falcon Mode Enablement - iMX8MP_EVK In previous reply you gave a reference command for IMX95FRDM is that falcon enabled?  Here you can find what i was done in Yocto - IMX8MP 1) meta-imx-fastboot - lf-6.12.20-2.0.0-secure - Github_Link 2) Added this meta to my source - Github_Link 3) And followed all the instruction gave by  AN14641 document. 4)Bitbake commands that i followed:  bitbake -c clean linux-imx && bitbake -c clean imx-boot && bitbake -c clean u-boot-imx && bitbake -c clean imx-atf && bitbake -c clean imx-image-core  bitbake -c compile linux-imx && bitbake -c compile imx-boot && bitbake -c compile u-boot-imx && bitbake -c compile imx-atf && bitbake -c compile imx-image-core bitbake linux-imx && bitbake imx-boot && bitbake u-boot-imx && bitbake imx-atf && bitbake imx-image-core 5)  CASE 1: sudo ./uuu -b emmc_all imx-image-core-imx8mpevk.rootfs-20260617095251.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086 Success 0 Failure 0 1:2-152E1000 1/ 1 [=================100%=================] SDPS: boot -scanterm -f /home/smurugan8/YOCTO/LWT/image/imx-image-core-imx8mpevk.rootfs-20260617095251.wic -scanlimited 0x800000 CASE 2:  sudo ./uuu -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evk imx-image-core-imx8mpevk.rootfs-20260617095251.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086 Success 0 Failure 1 1:2-152E1000 1/ 1 [HID(W): LIBUSB_ERROR_TIMEOUT (-7) ] SDPS: boot -scanterm -f imx-boot-imx8mpevk-sd.bin-flash_evk -scanlimited 0x800000 IMPORTANT : I NEED TO FLASH A FALCON ENABLED OS INTO eMMC  Re: Falcon Mode Enablement - iMX8MP_EVK Please note uuu is only used to program images to emmc, it doesn't check the content of your images. I suspect there is problem with your uuu command itself. Where did you download uuu? Please download the latest UUU from https://github.com/nxp-imx/mfgtools/releases Please download the Windows version UUU to do verification. Re: Falcon Mode Enablement - iMX8MP_EVK Hi yipingwan I also tried using the UUU tool on Windows, but I am seeing the same result—it still does not work for flashing eMMC.  I have attached the UUU -log. However, when I flash the same Falcon-enabled OS to an SD card, it boots and works correctly. This confirms that the image itself and the Falcon configuration are valid. My question is: Why am I unable to flash this Falcon-enabled image to eMMC, even though the same image works from SD? Is there any alternative or recommended method to flash a Falcon-enabled OS to eMMC, other than using UUU? Could you please advise on the supported or reliable procedure for flashing eMMC in this scenario? Screenshot 2026-06-22 122141.png Re: Falcon Mode Enablement - iMX8MP_EVK Please help here. Re: Falcon Mode Enablement - iMX8MP_EVK Please execute the following command with your Windows version UUU and send the result to me to do more investigation. uuu.exe -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evk   imx-image-core-imx8mpevk.rootfs-20260617095251.wic Re: Falcon Mode Enablement - iMX8MP_EVK Please try the following command uuu.exe -b emmc_all  C:\Users\vvdn\Sanjiv\Falcon\imx-boot-imx8mpevk-sd.bin-flash_evk C:\Users\vvdn\Sanjiv\Falcon\imx-image-multimedia-imx8mpevk.rootfs-20260624074743.wic Then send the result to me again. Re: Falcon Mode Enablement - iMX8MP_EVK Here you can find the output, PS C:\Users\vvdn\Sanjiv\uuu_source-uuu_1.5.243\uuu-uuu_1.5.243\uuu> .\uuu.exe -b emmc_all C:\Users\vvdn\Sanjiv\Falcon\imx-boot-imx8mpevk-sd.bin-flash_evk C:\Users\vvdn\Sanjiv\Falcon\imx-image-multimedia-imx8mpevk.rootfs-20260624074743.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Success 0 Failure 1 1:3-152E1000 1/ 1 [HID(W): LIBUSB_ERROR_TIMEOUT (-7) ] SDPS: boot -scanterm -f C:\Users\vvdn\Sanjiv\Falcon\imx-b... Re: Falcon Mode Enablement - iMX8MP_EVK Screenshot 2026-06-22 171137.png I above you can find the log of UUU,  Command=> .\uuu.exe -b emmc C:\Users\vvdn\Sanjiv\Falcon\imx-boot-imx8mpevk-sd.bin-flash_evk C:\Users\vvdn\Sanjiv\Falcon\imx-image-multimedia-imx8mpevk.rootfs-20260624074743.wic But it is not working in eMMC , Same Image will work in SD Card Re: Falcon Mode Enablement - iMX8MP_EVK I verified on IMX8MP_EVK target board, there is no problem to program emmc, please refer to my following log. C:\Users\nxa22585>C:\Users\nxa22585\Downloads\i.mx95\uuu.exe -b emmc_all C:\Users\nxa22585\Downloads\i.mx95\imx-boot-imx8mpevk-sd.bin-flash_evk C:\Users\nxa22585\Downloads\i.mx95\core-image-minimal-imx8mnevk.rootfs.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-0-g230f1b1 Success 1 Failure 0 2:4-0F0B9800 8/ 8 [Done ] FB: done C:\Users\nxa22585> Please extracted my image from the attached file, and only execute the following command. uuu.exe -b emmc imx-boot-imx8mpevk-sd.bin-flash_evk If it still fails, it seems there is problem with EMMC itself on your target board. You could use the following emmc command to check whether you could write something to emmc in u-boot. Usage: mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt Re: Falcon Mode Enablement - iMX8MP_EVK Please only try whether you can write a default boot image to emmc with UUU. Re: Falcon Mode Enablement - iMX8MP_EVK Yes, @yipingwang, When I include the meta-imx-fastboot layer in my build, the flashing process gets stuck. However, if I remove the meta-imx-fastboot layer, I am able to flash the image to eMMC successfully. Re: Falcon Mode Enablement - iMX8MP_EVK I have one question @yipingwang it is falcon enabled image Re: Falcon Mode Enablement - iMX8MP_EVK Please help here.. @yipingwang Re: Falcon Mode Enablement - iMX8MP_EVK Please send /home/smurugan8/YOCTO/LWT/image/falcon_mode/imx-boot-imx8mpevk-sd.bin-flash_evk to me. I will do verification on my target board. Re: Falcon Mode Enablement - iMX8MP_EVK Hi @Sanjiv_Mns  The meta-secure-boot Yocto layer is not implemented for the 6.12.20 BSP. Since the meta-imx-fastboot layer depends on the meta-secure-boot, the branch lf-6.12.20-2.0.0-secure does not implement secure boot. The 0001-imx8m-reset-ethernet-phy-in-spl.patch patch is mandatory if you need to use the Ethernet interfaces in Linux. It resets the PHYs, without which the Linux driver cannot initialize the interfaces. Re: Falcon Mode Enablement - iMX8MP_EVK Please find the attachment . Re: Falcon Mode Enablement - iMX8MP_EVK Hi @yipingwang , I have done the commands which you gave in previous reply, here you can find the command logs & Boot logs COMMAND LOGS: sudo ./uuu -b emmc_all /home/smurugan8/YOCTO/LWT/image/default/imx-boot-imx8mpevk-sd.bin-flash_evk /home/smurugan8/YOCTO/LWT/image/default/imx-image-multimedia-imx8mpevk.rootfs-20260622071640.wic uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086 Success 1 Failure 0 1:1-152E1000 8/ 8 [Done ] FB: done sudo ./uuu -b emmc /home/smurugan8/YOCTO/LWT/image/default/imx-boot-imx8mpevk-sd.bin-flash_evk /home/smurugan8/YOCTO/LWT/image/falcon_mode/imx-boot-imx8mpevk-sd.bin-flash_evk uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-5-g124d086 Success 1 Failure 0 1:1-152E1000 7/ 7 [Done ] FB: Done BOOT LOGS: U-Boot SPL 2025.04-g44898b9f3cfe-dirty (Sep 03 2025 - 09:56:50 +0000) DDRINFO: start DRAM init DDRINFO: DRAM rate 4000MTS DDRINFO:ddrphy calibration done DDRINFO: ddrmix config done SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 spl_load_image_fat: error reading image kernel-atf-dtb.itb, err - -5 spl_load_image_fat: error reading image u-boot-atf.itb, err - -5 Error: -2 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### Re: Falcon Mode Enablement - iMX8MP_EVK Hi @Sanjiv_Mns  Falcon Mode images works on both SD and eMMC. To flash a Falcon image on eMMC/SD you need to: 1. Build the default bootloader. In a clean Yocto environment, run: bitbake imx-boot. Make sure the meta-imx-fastboot layer is not added at this step. This will generate the tmp/deploy/images/imx8mp-lpddr4-evk/imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk default bootloader. 2. Build the falcon mode bootloader and the falcon mode image. Add the meta-imx-fastboot layer to your BBLAYERS. To compile the falcon mode bootloader, run: bitbake imx-boot This command will generate the tmp/deploy/images/imx8mp-lpddr4-evk/imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk_dual_bootloader falcon bootloader. This bootloader contains only the SPL, without the U-Boot proper. When the meta-imx-fastboot layer is added, the *_dual_bootloader is generated. See layer.conf.   To compile the falcon mode image, run: bitbake imx-image-multimedia This will generate the tmp/deploy/images/imx8mp-lpddr4-evk/imx-image-multimedia-imx8mp-lpddr4-evk.rootfs.wic.zst image. 3. Use UUU to flash the image on the eMMC. UUU is the only tool available to flash images on the eMMC. uuu -b emmc_all imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk imx-image-multimedia-imx8mp-lpddr4-evk.rootfs.wic.zst uuu -b emmc imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk_dual_bootloader Re: Falcon Mode Enablement - iMX8MP_EVK Please remove bld-xwayland build folder to rebuild images. $ rm -rf bld-xwayland $ MACHINE=imx8mpevk DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b bld-xwayland $ bitbake-layers add-layer ../sources/meta-imx-fastboot Please add the following line in bld-xwayland/conf/local.conf FALCON_KERNEL_BOOTARGS:mx8mp-generic-bsp = "console=ttymxc1,115200 root=/dev/mmcblk2p2 rootwait rw quiet" Then rebuild images: $ bitbake imx-boot $ bitbake core-image-minimal uuu.exe -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evk core-image-minimal-imx8mpevk.rootfs.wic uuu.exe -b emmc imx-boot-imx8mpevk-sd.bin-flash_evk imx-boot-imx8mpevk-sd.bin-flash_evk_falcon Please refer to my verification log: U-Boot SPL 2025.04-g9383f8387dc7-dirty (Jun 04 2025 - 09:48:20 +0000) DDRINFO: start DRAM init DDRINFO: DRAM rate 4000MTS DDRINFO:ddrphy calibration done DDRINFO: ddrmix config done SEC0: RNG instantiated Normal Boot Trying to boot from MMC2 Failed to find node!, err: -11! Failed to find node!, err: -11! NOTICE: Do not release JR0 to NS as it can be used by HAB NOTICE: BL31: v2.12.0(release):lf-6.12.20-2.0.0-dirty NOTICE: BL31: Built : 08:15:07, May 9 2025 [ 0.324123] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with 32e90000.lcd-controller [ 0.395104] : mipi_csis_imx8mp_phy_reset, No remote pad found! [ 0.514210] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with 1-004c [ 0.576883] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with 1-004c [ 0.625848] ov5640 1-003c: ov5640_write_reg: error: reg=3008, val=42 [ 0.632862] ov5640 1-003c: ov5640_write_reg: error: reg=3103, val=11 [ 0.639669] ov5640 1-003c: ov5640_read_reg: error: reg=3108 [ 0.645268] ov5640 1-003c: failed to power on [ 0.661389] imx8mp-ldb ldb-display-controller: Failed to create device link (0x180) with phy-lvds [ 0.694937] [drm:drm_bridge_attach] *ERROR* failed to attach bridge /soc@0/bus@32c00000/mipi_dsi@32e60000 to encoder DSI-41: -19 [ 0.706570] imx_sec_dsim_drv 32e60000.mipi_dsi: Failed to attach bridge: 32e60000.mipi_dsi [ 0.714859] imx_sec_dsim_drv 32e60000.mipi_dsi: failed to bind sec dsim bridge: -19 NXP i.MX Release Distro 6.12-walnascar imx8mpevk ttymxc1 imx8mpevk login: root root@imx8mpevk:~# Re: Falcon Mode Enablement - iMX8MP_EVK Please use the following commands to program images to the target board with UUU. unzstd <image_name>-[secure-boot]-<machine_name>.rootfs.wic.zst uuu -b emmc_all <default_bootloader> <image_name>-<machine_name>.rootfs.wic uuu -b emmc <default_bootloader> <falcon_mode_bootloader>  The first parameter is the default bootloader, falcon mode bootloader is only specified in the second parameter of the second uuu command. Re: Falcon Mode Enablement - iMX8MP_EVK Hi @yipingwang & @elena_popa  Thank you so much for your support
View full article
Why model size is limited at 1 MB? I run model from sample tflm_cifar10 on MIMRT700 (NPU model). When building the program, I could see the model's size and correspond region size.  In many cases, the region size is 1 MB. As my understanding, the model's size is limited at 1 MB. Is that right? nnxxpp_0-1781495142659.png I did not understand this point. Here is information of MIMRT700 EVK. nnxxpp_2-1781495429888.png I don't know where model is saved on MIMRT700 EVK. And where is the 1 MB for region size? Is it actual limit of model size? Or we can increase model size by some methods. Do you have any comment for this problem? Because I try to deploy a larger model > 1 MB. I do wait for your response. Thank you. Re: Why model size is limited at 1 MB? @mayliu1  Thank you so much. Now I understood that we can increase the size of the model by setting region size. nnxxpp_0-1781514247437.png Or If I want to run larger model on external memory, I can follow this document https://docs.nxp.com/bundle/AN14700/page/topics/external_memory.html  Re: Why model size is limited at 1 MB? Hi @nnxxpp , Thank you so much for your interest in our products and for using our community. Q: I don't know where model is saved on MIMRT700 EVK. And where is the 1 MB for region size? Is it actual limit of model size? Or we can increase model size by some methods. Do you have any comment for this problem? Because I try to deploy a larger model > 1 MB. A: The 1 MB shown for modeldata is not a hardware limit of the RT700. It is only the default linker allocation used in the sample project. For larger models, this allocation can be adjusted in the project settings, and external XSPI flash can also be used if more storage is needed. For more detail information, you can refer to this AN14700. https://docs.nxp.com/bundle/AN14700/page/topics/introduction.html mayliu1_0-1781507645284.png So, the RT700 is not inherently limited to a 1 MB model. Larger NPU models are supported either by increasing the modeldata memory allocation or by placing the model in external XSPI flash with the appropriate conversion option.  Wish it helps you Best Regards May Liu Re: Why model size is limited at 1 MB? @mayliu1  I want to reopen this topic. Now i am trying to deploy larger model on RT700. The below image is captured when building the program with the small model. I see that there are 4 memory regions: - QSPI_flash: external memory - SRAM: I ask chatgpt and it is for data when running the program (like .data, .bss, stack, heap). Is that correct? - NCACHE_REGION: it is same ktensorArena (for inputs, intermediate outputs and output) -  modeldata: to save model weights I see in the memory configuration when I import SDK example. It means that SRAM, NCACHE_REGION and modeldata from SRAM (7.5 MB). NCACHE_REGION and modeldata should be located in  0x2000_0000 to 0x2058_0000 (5.5 MB) to get best perforemce (SRAM area that can be accessed by the NPU) But location of SRAM (named SRAM) is 0x20080000 (in the second image) ==> It is also in the range 0x2000_0000 to 0x2058_0000. And by default, it is set about 2.5 MB. It means that NCACHE_REGION + modeldata should be less than (5.5 - 2.5) = 3 MB. My model size is about 3.5 MB. Beside that I can locate my model on external memory (it results in larger inference time), how I can config memory to still locate my model (3.5 MB) on memory area that NPU can access? I am curious about whether we can shrink "SRAM" region (in the images 1, 2) or can I move it to another area of RAM (7.5 - 5.5 = 2 MB - the last region in the image 3)? And how I can estimate the size of "SRAM" region? In the below image, it is 15560 B. Sorry for my long questions. nnxxpp_0-1782205318606.png nnxxpp_1-1782205742121.png nnxxpp_2-1782206037185.png Re: Why model size is limited at 1 MB? @mayliu1  Good morning. Maybe you missed my new above questions.  Re: Why model size is limited at 1 MB? Hi @nnxxpp , Apologies for the delayed response. If you don’t mind, could you please create a new case for your new issue?  Thank you for your understanding and cooperation. Best Regards, May Re: Why model size is limited at 1 MB? @mayliu1  Yes, ok. Let me create new issue. Thank you. Re: Why model size is limited at 1 MB? @mayliu1  I have resolved my problem. We can locate SRAM outof 5.5 MB area for NPU. I locate modeldata and kTensorArena in area 5.5 MB and it worked. The inference time is good. But If you did not miss my questions, so I can finish soon my tasks. Thank you. Re: Why model size is limited at 1 MB? Yes. Have a nice day. Re: Why model size is limited at 1 MB? Glad to hear that your issue has been resolved. Apologies for the delayed response,   thank you for your understanding.
View full article
Looking for guidance on building a production programming fixture for NTAG213 Hi all, We are integrating NTAG213 chips into our own product and are currently in the testing phase. As we move toward mass production, we plan to build a programming fixture (or test fixture) to handle the full inline production flow: chip installation → write → read/verify → ship. We're looking for advice or documentation on the following: Best practices for designing and operating a production NFC programming fixture for NTAG213 Key considerations or common pitfalls during write/verify cycles in a production environment Any recommended tools, reference designs, or NXP resources we should be aware of before building the fixture How to reliably detect and handle write failures or defective chips at the production stage Any guidance from those who have experience with NTAG213 in production settings would be greatly appreciated. We are still in early stages, so foundational pointers are very welcome. Thank you. Re: Looking for guidance on building a production programming fixture for NTAG213 Hello @Lee0130  NTAG213 documentation is publicly available, which can be downloaded from product page. we would recommend RFID Discover to you, which is a convenient software tool for NFC tag configuration, programming, and data verification, helping streamline development and production testing. You can also development yourself application using Taplinx TapLinx SDK for MIFARE, NTAG, ICODE and UCODE | NXP Semiconductors
View full article
freeMASTER FREEMASTER 3.2: I was unable to reinstall it because the previous version wasn't completely uninstalled. Normally, shouldn't it just overwrite the previous installation? Now I can't install it. Re: freeMASTER Hello, Freemaster 3.2 failed to install on its second attempt because the first installation wasn't completely uninstalled. Shouldn't it normally overwrite the first one? It's now unable to install. No — installers like FreeMASTER (ZeroG / InstallAnywhere–based) typically will not just overwrite a broken previous install. What you’re seeing is actually expected behavior. Please have a look at this thread: https://community.nxp.com/t5/FreeMASTER/Deinstalltion-FreeMaster-3-2/m-p/1593805 Best regards, Peter
View full article
S32K328 平台在启用多核后出现 HSE_B 服务无响应问题 尊敬的恩智浦技术支持团队: 我写信是想就以下问题寻求技术支持:在 S32K328 平台上启用多核操作后,HSE_B 服务出现卡死(无响应)的情况。 1. 环境设置&  - MCU:S32K328(双核 Cortex-M7 + HSE_B)  - 配置工具:EB tresos(用于 MCAL 配置)  - 核心角色:M7_0 和 M7_1 正在与 Autosar 操作系统并行运行。                          M7_0 通过共享的 SRAM 与 HSE_B 进行通信,用于存储消息描述符。 2. XRDC& 外设配置(用于测试) 为了隔离权限问题,我们应用了高度许可的配置,但是不管 M7_0 和 HSE_B 是分成单个功能域还是分成不同的功能域,症状都保持不变:  - 内存配置:授予所有SRAM区域的完全访问权限,并为HSE分配了特定的PFLASH/DFLASH区域。  - 外设配置 (PDAC):已将完全访问权限分配给 CONFIGURATION_GPR、PFC/PFC_ALT、FMU/FMU_ALT 以及 MU_0/MU_1。 3.启动顺序 该应用程序遵循以下启动顺序:  3.1 M7_0 引导程序 → 时钟初始化。  3.2 验证 HSE 状态是否为 INIT_OK。  3.3 资源管理器的初始化(使用 RM_Init 进行 XRDC 配置)。  3.4 外设初始化。  3.5 启动 M7_1(核心 1)。  3.6 启动操作系统。 4. 问题描述:& 症状 M7_0 和 M7_1 均能在操作系统环境中正常启动并运行。然而,一旦随后调用 HSE 服务请求,HSE 便无法响应,导致系统卡死。挂起期间的寄存器状态如下: - XRDC 注册状态:     XRDC_DERRLOC[3] 变为 0x00020000。 但是,在 DERR_W3_0/1/2 或 DERR_W3_16/17/18 寄存器中未捕获任何错误值。  - 消息单元 (MU_0) 状态:     在 MU_0_TSR 寄存器中,标志 TE1 和 TE2 保持在“"非空”" 状态,且不会被清除。     在 MU_0_FSR 寄存器中,F3 标志保持不变。 5. 问题 5.1 鉴于 XRDC_DERRLOC [3] 发生了偏移但 DERR_W3_X 寄存器没有显示特定的错误细节,什么可能触发这种行为?这可能与 HSE 内部 DMA 或总线矩阵配置的隐式访问违规有关吗?  5.2 尽管已通过 MPU 将共享 SRAM 明确配置为“不可缓存”,但在操作系统环境下,是否存在已知的多核限制或隐藏的缓存行为,可能会阻止 HSE 读取描述符?  5.3 关于 RM_Init(XRDC 初始化)的执行时机,相对于 HSE_STATUS_INIT_OK 检查或核心 1 的启动,是否有已知的限制或先决条件?  5.4 为查明微处理器(MU)的传输状态寄存器(TE1/TE2)为何卡死以及HSE为何未处理描述符,我们应检查哪些步骤或额外寄存器? 我们非常感谢您能就如何解决这一瓶颈问题提供见解和指导。 顺祝商祺! Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 你好@NewbieNerd  HSE 应该总是返回一个响应。如果未收到响应,HSE 很可能已进入关机模式。这会在发生致命错误时发生。例如,如果 HSE 因以下原因无法读取或写入某些数据:访问权限不足、双比特 ECC 错误、地址无效等。 您可以通过读取 MU_0 中的 GSR 寄存器来确认这一点。如果位“0”被设置,则 HSE 处于关机模式。 要在 XRDC 中查看错误详情,必须按照“19.7.3.2”节中的说明操作S32K3 参考手册中的 “处理功能域访问违规错误”。 步骤 2 对于查看 DERR 寄存器中的详细信息非常重要: lukaszadrapa_0-1781595767701.png 为了快速调试,你可以通过在 MDA_W0_0_DFMT0 中写入 DID=3 来简单地将 Cortex-M7_0/Cortex-M7_0_debug 移至功能域 3(S32K328 上的 HSE 始终位于功能域 3 中): lukaszadrapa_1-1781595783033.png 然后你应该在DERR中看到细节(只是我的调试器当我触发HSE错误时的一个例子)。当 DID = 0 时,此内容不可见: lukaszadrapa_2-1781595820048.png 这应该能提供一些线索,说明问题出在哪里。 还有一点是,应在设置 HSE_STATUS_INIT_OK 之后启用 XRDC。HSE FW 参考手册中明确提到了这一点: lukaszadrapa_3-1781595871145.png 此致, Lukas Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 感谢您的及时回复。以下是您所要求的开发环境的具体版本信息: 1. 软件& 固件版本    - HSE 固件:S32K358_0_2_40_0      注:我们使用此版本,因为文档中明确指出它支持 S32K328 衍生版本。 -RTD(实时驱动程序):AUTOSAR 发布版本:4.7.0,软件版本:3.0.0 2. 开发工具链     IDE:本项目不使用 S32DS。     配置工具:所有 MCAL 配置均使用 EB tresos Studio 进行。                                             EB tresos 版本:27.1.0 3. 补充背景 我目前正在负责主机端(Cortex-M7)的开发工作。我们已经就此行为与内部HSE FW开发团队进行了充分的沟通和讨论。但是,从 HSE FW 的角度来看,我们找不到任何根本原因或异常,这使我们高度怀疑这是在多核/操作系统初始化期间触发的主机端运行时配置或同步问题。 我衷心希望在您的指导下,我们能够准确找出瓶颈所在。如果您需要从我们的 EB tresos 项目中获取任何进一步的配置转储或注册捕获,请告诉我。 顺祝商祺! Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 能否请您说明所使用的 HSE 固件版本、RTD 版本以及 S32DS 版本?谢谢 Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 感谢您提供的宝贵调试指南和见解。 关于您的建议,我已进一步调查,并确认了我们这边得出的以下结果。我想分享这些发现,并请您就如何突破我们工具配置的限制提供指导。 1. 关于 RTD 版本的说明    正如我们在之前的通信中所提到的,我们目前正在使用: - RTD 软件版本:3.0.0    -AUTOSAR 发布版本:4.7.0 2。EB tresos 配置约束(功能域分配) 你提到,在 S32K328 上,HSE 被永久分配给功能域 3。 但是,在我们的 EB tresos (v27.1.0) 中使用 RTD 3.0.0 的环境插件,资源管理器 (RM) 的配置结构仅允许我们最多分配功能域 2(功能域 ID 0、1 和 2)。 NewbieNerd_0-1781602735443.png 由于配置工具将最大域名数量限制为 2,因此我们无法通过 EB tresos 自然配置或分配域名主/从域 3。 问题:你能否说明哪个 RTD 版本或补丁在 EB tresos 中正式解锁 S32K328 衍生版本的功能域 3 配置?还是说我们需要通过运行时代码手动覆盖 XRDC 寄存器? 3. XRDC 错误寄存器状态(DERRLOC 与 DERR_Ww_i) 按照您的参考手册指南,我们在错误状态下观察到以下行为: XRDC_DERRLOC [3] 由转储而不是外围视图(DERRLOC [3] 不存在)捕获为 0x00020000。 但是,尽管执行了错误处理步骤,但所有 DERR_WW_I 寄存器都保持为 0。 正如你指出的那样,DERR中缺乏细节的情况似乎是因为我们的主机核心(Cortex-M7_0)运行在不同的功能域上(例如,DID=0或1),使其无法读取功能域3(HSE)生成的错误日志。 4. 执行时序验证 我们仔细检查了启动顺序,并确认在设置 HSE_STATUS_INIT_OK 后明确启用了 XRDC,这符合 HSE 固件参考手册的要求。 5。请求指导 由于上述工具限制,我们无法轻松地将 Cortex-M7_0 或其调试主服务器移至 EB tresos 中的功能域 3,您能否就以下方面向我们提供建议: 在不破坏 MCAL 初始化的情况下,为了调试而强制设置 DID=3,正确地在运行时覆盖 MDA_W0_0_DFMT0 的方法是什么? RTD 3.0.0 中是否有任何已知的变通方法来检查功能域 0/1 中的功能域 3 错误寄存器? 再次感谢您一直以来的支持。 Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 RTD 3.0.0 中缺少功能域 3 是一个已知问题。4.0.0 及更高版本已修复此问题。建议的解决方案是将RTD升级到最新版本。否则就需要手动实现某种变通方法——重写 XRDC 寄存器、重写配置文件、在新版 RTD 中生成配置文件,然后在项目中使用它等等……但这只是暂时的权宜之计,推荐的更彻底的解决方案是使用新版 RTD。 根据第“19.7.3.2”节处理功能域访问冲突错误时,功能域应该仅为错误处理程序临时重新配置。此时,我只想通过调试器修改 DID,以便能够读取错误详情。 你确认过MU_0中GSR寄存器的第0位是否已置位吗? 此致, Lukas
View full article
TRGMUX Assistance - MCXE316 I am attempting to use the TRGMUX method to route the output of the comparator LPCMP0 to the input of eMIOS0_CH7 (which is configured an an input capture). I am using the MCXE316 device. Part of my issue is understanding the inputs/outputs and wrapping my brain around the nomenclature, and the second I believe is a bug in the PERI_TRGMUX.h file. I have the eMIOS0 channel 7 configured as a simple input capture, this works properly when assigned to a physical pin. But, I wish to have the input capture triggered instead by the output of the LPCMP0 comparator. Accordingly I should be able to have TRGMUX route the output of the comparator to the input of the input capture of eMIOS0_7. I look at the MCXE31_TRGMUX_connectivity.xlsx file attached to the reference manual, and I see on the left side "input number", which I am assuming i the input into the TRGMUX. I see LPCMP_0_COUT listed there, with an input number of 5, what I think I am after. Along the top I see "EMIOS_0_ipp_ind_emios_ch[7]" and I see the output register no. of 9 above it. I also see that channels 5, 6, and 9 also have this same number as well. So, my first question - how to I tell the TRGMUX that the LPCMP0 trigger output goes to channel 7 and not 5 or 6 or 9? I know that the internals of the TRGMUX register has SEL0, SEL1, SEL2, and SEL3 - do I use one of these to choose the channel selection? If so how is this mapped (SEL0 is channel 5, etc), or is there some other mapping, or no mapping? I have looked in the manual and I have not stumbled on this. Using my best guess that SEL3 is for channel 7 (just for a test), I attepted to use the TRGMUX method in the SDK - here is my calling sequence:   TRGMUX_SetTriggerSource(TRGMUX, kTRGMUX_Emios0_1, kTRGMUX_TriggerInput2, kTRGMUX_SourceLpcmp0 ); with the TRGMUX being the register base, kTRGMUX_Emios0_1 is the TRGMUX register for the eMIOS0 (define value is 9), kTRGMUX_TriggerInput2 is the SEL2 input of the register, and kTRGMUX_SourceLpcmp0 is the source of the trigger (define value is 5). The problem is that the routine throws a hard fault within this method itself. Here is the actual SDK code for this method: status_t TRGMUX_SetTriggerSource(TRGMUX_Type *base, uint32_t index, trgmux_trigger_input_t input, uint32_t trigger_src) {   uint32_t value;   status_t status;   value = base->TRGCFG[index];   if (0U != (value & TRGMUX_TRGCFG_LK_MASK))   {    status = kStatus_TRGMUX_Locked;   }   else   {    /* Since all SEL bitfileds in TRGCFG register have the same length, SEL0's mask is used to       access other SEL    * bitfileds. */    value = (value & ~((uint32_t)TRGMUX_TRGCFG_SEL0_MASK << (uint32_t)input)) |    ((trigger_src & (uint32_t)TRGMUX_TRGCFG_SEL0_MASK) << (uint32_t)input);    base->TRGCFG[index] = value;    status = kStatus_Success;   }   return status; } The routine crashes on the first line value= base->TRGCFG[index]; If I look at the debug output, it appears that the TRGCFG array has never been initialized - this variable is defined in PERI_TRGMUX.h and the structure is: /** TRGMUX - Size of Registers Arrays */ #define TRGMUX_TRGCFG_COUNT 40u /** TRGMUX - Register Layout Typedef */ typedef struct { __IO uint32_t TRGCFG[TRGMUX_TRGCFG_COUNT]; /**< TRGMUX ADC12_0 Register..TRGMUX CM7_RXEV Register, array offset: 0x0, array step: 0x4, valid indices: [0-1, 3, 6-18, 21-39] */ } TRGMUX_Type; I am just not finding where the TRGCFG is actually defined anywhere. In the debugger the whole array is set to 199661, all 40 elements, which must be garbage. I am accessing element 9 (index is 9). So my second question is am I using this method correctly and my assumptions OK or is there an issue within the SDK routine? Board Design Boot ROM|Booting | Flash Clock|Timers Re: TRGMUX Assistance - MCXE316 Hi @brucebowling  Thank you for the post! Your understanding of how the TRGMUX SELx works is correct the EMIOS0_0 is for channel 1 to 4, EMIOS0_1 is for channels 5 to 7 and 9, as shown in the TRGMUX_connectivity.xlsx the channels 0 and 8 are not able.  Also, I was able to reproduce the issue on my side. I will review it internally and share any relevant information that may help resolve it. Re: TRGMUX Assistance - MCXE316 I am checking in to see if there is any new feedback regarding the SDK and TRGMUX functions?  Since the TRGMUX is just one register per peripheral, I attempted to just write directly to it with the following one line:       *(volatile uint32_t *)0x40080024UL = 0x00050000UL; The TRGMUX base address (according to the RM) is 0x4008_000 and the TRGMUX_eMIOS0_1 register offset is 0x24 giving the absolute address 0x40080024. The SELx field for the LPCMP0_COUT is 0x05 - I shift this up to the SEL2 bit locations (bits 16:23). The lock bit should be 0 from reset (unlocked) and I leave it unlocked. This one line causes a hard-fault crash and burn every time (inprecise fault). I have tried modifying the other SELx locations, still crashes. I have tried assigning this before I set up the eMIOS and LPCMP, and also tried after full peripheral setup, crashes every time. Leads me to a couple of questions that I can't seem to find in the manual: 1) Do you set up the TRGMUX linkage before or after the peripheral has been initialized and enabled? 2) Is there any module clocks or similar for the TRGMUX? I know that accessing a module before enabling clocking can cause a Hard-Fault like what I am experiencing. I don't see anything specifically, and I am under the impression that the TRGMUX register is part of each peripheral, so enabling the clock for a peripheral should also enable any required TRGMUX clocking? Thank you for the assistance. Re: TRGMUX Assistance - MCXE316 Hi @brucebowling Apologies for the late reply. We noticed that the TRGMUX clock is not enabled by default. Attempting to access the TRGMUX registers while the clock is disabled leads to a HardFault. Your assumption that a clock was missing was correct. Could you please add the following line before calling TRGMUX_SetTriggerSource? CLOCK_EnableClock(kCLOCK_Trgmux); This change resolves the issue on my side. For reference, an example of TRGMUX usage can be found in the SDK at: boards/frdmmcxe31b/demo_apps/mc_pmsm/pmsm_enc Please let me know if this solves the issue or if you have any further questions regarding TRGMUX. Re: TRGMUX Assistance - MCXE316 Yes adding this line for the clock corrected the hard fault, and the SDK method. And the direct-coded means that I came up with also worked as well. So, in general, you have to enable the TRGMUX clock and set the IMCR register, along with calling the SDK method for TRGMUX linkage. With this the LPCMP triggers the eMIOS input capture properly. Thank you fr the support. Re: TRGMUX Assistance - MCXE316 OK, still having the crashing issue, but further digging into this appears that I need to set the SIUL2 IMCR register before setting the TRGMUX. In the IOMUX xls file attached to the reference manual, I see that for eMIOS0_CH[7] that the SSS bits need to be set to 4 to select TRGMUX_INT_OUT38, is is done with the SIUL_IMCR567 (need to subtract 512 from the 567 due to the 512 offset in naming). Here is the line of code I used to do this, followed by the line to set the TRGMUX:     SIUL2->IMCR[55] = SIUL2_IMCR_SSS(4);     *(volatile uint32_t *)0x40080024UL = TRGMUX_TRGCFG_SEL3(kTRGMUX_SourceLpcmp0); I am still experiencing the TRGMUX hard fault.
View full article
NTAG213用の生産プログラミング治具の構築に関するガイダンスを探しています こんにちは、皆さん。 当社はNTAG213チップを自社製品に組み込んでおり、現在テスト段階にあります。量産化に向けて、チップの実装→書き込み→読み出し/検証→出荷という、インライン生産フロー全体を処理できるプログラミング治具(またはテスト治具)を構築する予定です。 私たちは以下の事項に関する助言やドキュメントを求めています。 NTAG213向け生産用NFCプログラミング治具の設計および運用に関するベストプラクティス 本番環境における書き込み/検証サイクル中の重要な考慮事項またはよくある落とし穴 治具を製作する前に知っておくべき推奨ツール、リファレンスデザイン、またはNXPのリソースはありますか? 製造段階で書き込みエラーや不良チップを確実に検出・処理する方法 生産現場でNTAG213を使用した経験をお持ちの方からのアドバイスをいただければ大変ありがたいです。まだ初期段階なので、基礎的なアドバイスをいただけると大変ありがたいです。 よろしくお願いします。 Re: Looking for guidance on building a production programming fixture for NTAG213 こんにちは、 @Lee0130さん NTAG213ドキュメントは公開されており、製品ページからダウンロード可能です。 私たちはRFIDディスカバーをお勧めします。これはNFCタグの設定、プログラミング、データ検証に便利なソフトウェアツールで、開発と本番テストの効率化に役立ちます。 また、Taplinx アプリケーション TapLinx SDK for MIFARE、NTAG、ICODE、UCODE | NXP Semiconductors
View full article
来自 MC33879BPEK 的咨询 您好。 我想咨询一下MC33879BPEK这款零件。 那个部件现在要停产了吗? 该网站称该商品可供购买。 不过,卖家告诉我,这款产品将来会停产。 我想确切地了解这款产品是做什么用的,如果它已经停产了,我需要一款替代产品。 有许多电路都是采用该元件设计的。 请查看一下。 祝您愉快 Re: Inquiries from MC33879BPEK guoweisun_0-1781501110207.png 没有合适的替换零件。 Re: Inquiries from MC33879BPEK 你没有打算做个替换品吧? (希望我们有可更换的零件。) 那么,最后下单的时间是什么时候? Re: Inquiries from MC33879BPEK HI 是的,该产品即将停产,且目前尚无推荐的替代品!
View full article
S32K328でのマルチコア有効化後のHSE_Bサービス応答なし問題 NXPテクニカルサポートチーム様 S32K328プラットフォームでマルチコア操作を有効にした後、HSE_Bサービスがハングアップ(応答なし)する問題について、技術的なサポートをお願いしたくご連絡いたしました。 1. 環境とセットアップ - MCU: S32K328 (デュアル Cortex-M7 + HSE_B) - 設定ツール:EB tresos(MCAL設定用) - コアロール: M7_0 と M7_1 は Autosar-OS と同時に実行されます。 M7_0は、メッセージ記述子用の共有SRAMを使用してHSE_Bと通信します。 2. XRDCおよびペリフェラルの設定(テスト用) 権限の問題を切り分けるために、非常に寛容な構成を適用しましたが、M7_0とHSE_Bを単一のドメインにグループ化するか、別々のドメインに分離するかに関わらず、症状は同じままです。 - メモリ構成: すべてのSRAM領域へのフルアクセスが許可され、特定のPFLASH/DFLASH領域がHSEに割り当てられます。 - 周辺機器設定 (PDAC): CONFIGURATION_GPR、PFC/PFC_ALT、FMU/FMU_ALT、および MU_0 / MU_1 にフルアクセス権限が割り当てられています。 3. ブートシーケンス アプリケーションは以下の起動シーケンスに従います。 3.1 M7_0 ブート → クロック初期化。 3.2 HSE STATUS が INIT_OK であることを確認します。 3.3 リソースマネージャの初期化(XRDC セットアップ用の RM_Init)。 3.4 ペリフェラルの初期化 3.5 M7_1 (コア 1) を開始します。 3.6 OSを起動する。 4.問題の説明と症状 M7_0とM7_1はどちらもOS環境内で正常に起動し、動作します。しかし、その後HSEサービスリクエストが呼び出されると、HSEは応答せず、ハングアップ状態になる。ハング発生時のレジスタの状態は以下のとおりです。 - XRDC登録状況: XRDC_DERRLOC[3]が0x00020000に変更されます。 ただし、DERR_W3_0/1/2 レジスタまたは DERR_W3_16/17/18 レジスタにはエラー値は記録されません。 - メッセージングユニット(MU_0)ステータス: MU_0_TSRレジスタでは、フラグTE1とTE2は「空でない」状態のままで、クリアされません。 MU_0_FSRレジスタでは、F3フラグは変更されません。 5. 質問 5.1 XRDC_DERRLOC[3]がシフトしているにもかかわらず、DERR_W3_xレジスタに特定のエラーの詳細が表示されない場合、この動作を引き起こしている原因は何でしょうか?これは、HSE内部のDMAまたはバスマトリックス構成による暗黙的なアクセス違反に関連している可能性がありますか? 5.2共有SRAMはMPUによって明示的にキャッシュ不可として構成されているにもかかわらず、HSEがディスクリプタを読み取ることを妨げるような、既知のマルチコア制約やOS環境下での隠れたキャッシュ動作はありますか? 5.3 HSE_STATUS_INIT_OK チェックまたはコア 1 の起動に関連して、RM_Init (XRDC 初期化) の実行タイミングに関する既知の制約または前提条件はありますか? 5.4 MU送信ステータスレジスタ(TE1/TE2)がスタックし、HSEが記述子を処理しない理由を特定するために、どのような手順または追加のレジスタを確認する必要がありますか? このボトルネックを解消するためのご意見やご指導をいただければ大変ありがたく存じます。 よろしくお願いいたします。 Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 こんにちは、 @NewbieNerd さん HSEは常に回答を返すことになっている。応答がない場合、HSEはシャットダウンモードに移行した可能性が高いです。これは致命的なエラーが発生した場合に起こります。例えば、アクセス権限の不足、ダブルビットECCエラー、無効なアドレスなどが原因でHSEがデータを読み書きできない場合。 これは、MU_0のGSRレジスタを読み取ることで確認できます。ビット「0」が設定されている場合、HSEはシャットダウンモードです。 XRDCでエラーの詳細を確認するには、「19.7.3.2」の項に従う必要があります。S32K3リファレンスマニュアルの「ドメインアクセス違反エラーの処理」を参照してください。 ステップ2では、DERRレジスターの詳細を確認することが重要です。 lukaszadrapa_0-1781595767701.png デバッグを迅速に行うには、MDA_W0_0_DFMT0にDID=3を書き込むことで、Cortex-M7_0 / Cortex-M7_0_debugをドメイン3に移動できます(S32K328ではHSEは常にドメイン3にあります)。 lukaszadrapa_1-1781595783033.png すると、DERR に詳細が表示されます (これは、HSE によって何らかのエラーが発生したときにデバッガーで確認した例です)。DID = 0 の場合は、これは表示されませんでした。 lukaszadrapa_2-1781595820048.png これは何が問題だったのかの手がかりになるはずだ。 もう一つ重要な点は、HSE_STATUS_INIT_OKが設定された後にXRDCを有効にする必要があるということです。これはHSE FWリファレンスマニュアルに明記されています。 lukaszadrapa_3-1781595871145.png よろしくお願いいたします。 ルーカス Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 迅速なご返信ありがとうございます。ご要望いただいた開発環境の具体的なバージョン情報は以下のとおりです。 1. ソフトウェアおよびファームウェアのバージョン - HSEファームウェア: S32K358_0_2_40_0 注:このバージョンを使用しているのは、ドキュメントにS32K328派生版をサポートしていると明記されているためです。    -  RTD (リアルタイム・ドライバ):  AUTOSAR リリースバージョン: 4.7.0、ソフトウェアバージョン:3.0.0 2. 開発ツールチェーン IDE: このプロジェクトではS32DSを使用していません。 設定ツール:EB tresos Studioは、すべてのMCAL設定に使用されています。 EB tresos バージョン: 27.1.0 3. 追加情報 私は現在、ホスト側(Cortex-M7)の開発を主導しています。私たちは既に、この行動について社内のHSE FW開発チームと徹底的に協議し、合意形成を図っています。しかしながら、HSE FWの観点からは根本原因や異常は見つからなかったため、これはマルチコア/OSの初期化中に発生したホスト側のランタイム構成または同期の問題である可能性が高いと推測されます。 あなたのご指導のもと、正確なボトルネックを特定できることを心から願っております。EB tresosプロジェクトから、さらに設定ダンプやレジスタキャプチャが必要な場合はお知らせください。 よろしくお願いいたします。 Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 使用されているHSEファームウェアのバージョン、RTDおよびS32DSのリビジョンを具体的にご指定いただけますでしょうか?ありがとう Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 貴重なデバッグガイドと洞察をありがとうございました。 ご提案いただいた件について、さらに調査を行い、弊社側で以下の結果を確認いたしました。これらの調査結果を共有し、ツール構成の制約を回避する方法についてご助言をいただきたく存じます。 1. RTDバージョンの明確化 前回のやり取りでお伝えしたとおり、現在弊社では以下のものを使用しています。 - RTDソフトウェアバージョン:3.0.0 - AUTOSAR リリースバージョン: 4.7.0 2. EB tresos構成制約(ドメイン割り当て) S32K328では、HSEはドメイン3に恒久的に割り当てられているとおっしゃっていましたね。 しかし、EB tresos (v27.1.0) ではRTD 3.0.0 環境プラグインの場合、リソースマネージャ(RM)の構成構造では、ドメイン2(ドメインID 0、1、2)までしか割り当てることができません。 NewbieNerd_0-1781602735443.png 設定ツールではドメインの最大数が2に制限されているため、EB tresosを介してドメイン3にマスター/スレーブを適切に設定または割り当てることはできません。 質問:S32K328派生機種のEB tresosでドメイン3の設定を公式に有効化するRTDバージョンまたはパッチを具体的に教えていただけますか?それとも、実行時コードを使ってXRDCレジスタを手動でオーバーライドする必要があるのでしょうか? 3. XRDCエラーレジスタの状態(DERRLOCとDERR_Ww_iの比較) リファレンス・マニュアルの手順に従って、エラー状態中に以下の動作を確認しました。 XRDC_DERRLOC[3]はダンプによって0x00020000としてキャプチャされますが、周辺機器ビューではキャプチャされません(DERRLOC[3]は存在しません)。 しかし、エラー処理の手順に従ったにもかかわらず、すべてのDERR_Ww_iレジスタは0のままです。 ご指摘のとおり、DERRに詳細情報が不足しているのは、ホストコア(Cortex-M7_0)が別のドメイン(例えば、DID=0または1)で動作しているため、ドメイン3(HSE)によって生成されたエラーログを読み取ることができないことが原因のようです。 4. 実行タイミングの検証 ブートシーケンスを再確認した結果、HSE_STATUS_INIT_OKが設定された後にXRDCが明示的に有効になっていることを確認しました。これはHSE FWリファレンスマニュアルの要件に準拠しています。 5.指導依頼 上記のツール制約により、Cortex-M7_0またはそのデバッグマスターをEB tresos内のドメイン3に容易に移動できないため、以下の点についてアドバイスをいただけますでしょうか。 MCALの初期化を壊さずに、デバッグのためにMDA_W0_0_DFMT0を強制的にDID=3にオーバーライドする適切な方法はありますか? RTD 3.0.0において、ドメイン0/1からドメイン3のエラーレジスタを検査するための既知の回避策はありますか? 引き続きサポートいただき、誠にありがとうございます。 Re: HSE_B Service No-Response Issue after Multi-Core Activation on S32K328 ドメイン3が欠落していることは、RTD 3.0.0における既知の問題です。バージョン4.0.0以降で修正されています。推奨される解決策は、RTDを最新バージョンにアップグレードすることです。そうでなければ、XRDC レジスタの書き換え、構成ファイルの書き換え、新しい RTD で構成ファイルの生成、そしてそれをプロジェクトで使用するなど、何らかの回避策を手動で実装する必要が生じます。しかし、これは一時的な応急処置に過ぎず、推奨されるクリーンな解決策は、新しい RTD を使用することです。 「19.7.3.2」の項によるとドメインアクセス違反エラーの処理」では、エラーハンドラのためにドメインを再設定するのが一時的であるべきです。この段階では、デバッガーを使ってDIDを修正し、エラーの詳細を読み取れるようにしてみるのが良いでしょう。 MU_0のGSRレジスタのビット0が設定されていることを確認しましたか? よろしくお願いいたします。 ルーカス
View full article
MC33879BPEKからの問い合わせ こんにちは、 MC33879BPEKという部品について問い合わせたいのですが。 その部分は今後廃止されるのですか? サイトには購入可能と記載されている。 しかし、販売者からは将来的に販売終了になると知らされました。 それが具体的にどのような製品なのか知りたいです。もし販売終了になったのであれば、代替製品が必要です。 この部品を使って設計された回路は数多くあります。 ぜひチェックしてみてください。 良い1日を。 Re: Inquiries from MC33879BPEK guoweisun_0-1781501110207.png 交換に適した部品がありません。 Re: Inquiries from MC33879BPEK 代替品を作る予定はないですよね? (交換可能な部品があるといいのですが。) では、最後の注文はいつですか? Re: Inquiries from MC33879BPEK HI はい、サポート終了となり、代替品も推奨されません。
View full article
TRGMUX 技术支持 - MCXE316 我正在尝试使用 TRGMUX 方法将比较器 LPCMP0 的输出路由到 emios0_CH7 的输入(配置为输入捕获)。我正在使用 MCXE316 设备。我的问题之一在于理解输入/输出以及弄明白相关术语,而第二个问题我认为是 PERI_TRGMUX.h 中的一个错误。文件。 我将 emiOS0 通道 7 配置为简单的输入捕获,分配给物理引脚后可以正常工作。但是,我希望改用 LPCMP0 比较器的输出来触发输入捕获。因此,我应该能够让 TRGMUX 将比较器的输出路由到 EMIOS0_7 的输入捕获的输入。 我看了参考手册所附的 MCXE31_TRGMUX_connectivity.xlsx 文件,在左边看到 " 输入数字 ",我假设这是输入 TRGMUX 的。我看到那里列出了 LPCMP_0_COUT,输入数为 5,这应该就是我想要的。在顶部,我看到"、EMIOS_0_ipp_ind_emios_ch[7]、" ,并且在其上方看到输出寄存器编号为9。我还注意到,第5、6和9频道也显示了同样的数字。 那么,我的第一个问题 —— 如何告诉 TRGMUX LPCMP0 触发信号输出进入通道 7 而不是 5、6 或 9?我知道 TRGMUX 寄存器的内部有 SEL0、SEL1、SEL2 和 SEL3 —— 我是否要用其中一个来选择信道?如果是这样,这是如何映射的(例如 SEL0 对应通道 5 等),还是有其他映射方式,抑或根本没有映射?我查阅了说明书,但没找到相关内容。 我推测 SEL3 对应第 7 通道(仅作测试),于是尝试使用 SDK 中的 TRGMUX 方法——以下是我的调用序列:   TRGMUX_SetTriggerSource(TRGMUX, kTRGMUX_Emios0_1, kTRGMUX_TriggerInput2, kTRGMUX_SourceLpcmp0 ); 以 TRGMUX 为寄存器基础,ktrgmux_emios0_1 是 emiOS0 的 TRGMUX 寄存器(定义值为 9),ktrgmux_triggerInput2 是寄存器的 SEL2 输入,ktrgmux_sourcelPCMP0 是触发器的来源(定义值为 5)。 问题在于,该例程会在该方法内部抛出严重错误。以下是该方法的实际 SDK 代码: status_t TRGMUX_SetTriggerSource(TRGMUX_Type *base, uint32_t index, trgmux_trigger_input_t input, uint32_t trigger_src) { uint32_t value; status_t status;   value = base->TRGCFG[index]; if (0U != (value& TRGMUX_TRGCFG_LK_MASK)) { status = kStatus_TRGMUX_Locked; } else { /* 由于 TRGCFG 寄存器中的所有 SEL 位字段长度相同,因此使用 SEL0 的掩码来 访问其他 SEL * 位字段。*/ value = (value& ~((uint32_t)TRGMUX_TRGCFG_SEL0_MASK<< (uint32_t)input)) | ((trigger_src& (uint32_t)TRGMUX_TRGCFG_SEL0_MASK)<< (uint32_t)input); base->TRGCFG[index] = value;    status = kStatus_Success; }   返回状态; } 该例程在第一行发生崩溃: value=base->TRGCFG[index]; 查看调试输出后,似乎 TRGCFG 数组从未被初始化——该变量在 PERI_TRGMUX.h 中定义其结构如下: /** TRGMUX - 寄存器数组大小 */ #define TRGMUX_TRGCFG_COUNT 40u /** TRGMUX - 寄存器布局类型定义 */ typedef struct { __IO uint32_t TRGCFG[TRGMUX_TRGCFG_COUNT]; /**< TRGMUX ADC12_0 寄存器..TRGMUX CM7_RXEV 寄存器,数组偏移量:0x0,数组步长:0x4,有效索引:[0-1, 3, 6-18, 21-39] */ } TRGMUX_Type; 我就是找不到TRGCFG到底是在哪里定义的。在调试器中,整个数组的40个元素都被设置为199661,这显然是垃圾数据。我正在访问第 9 个元素(索引为 9)。 那么我的第二个问题是:我使用这种方法是否正确,我的假设是否合理,还是SDK例程本身存在问题? 电路板设计 启动 ROM | 启动配置 | 闪存 时钟|计时器 Re: TRGMUX Assistance - MCXE316 你好@brucebowling  谢谢你的帖子! 您对 TRGMUX SELx 工作原理的理解是正确的:EMIOS0_0 对应第 1 至 4 通道,EMIOS0_1 对应第 5 至 7 通道以及第 9 通道,如 TRGMUX_connectivity.xlsx 所示,第 0 和第 8 通道不可用。  此外, 我这边成功复现了该问题。我将进行内部核查,并提供任何有助于解决此问题的相关信息。 Re: TRGMUX Assistance - MCXE316 我想了解一下关于 SDK 和 TRGMUX 函数是否有任何新的反馈? 由于 TRGMUX 每个外设只有一个寄存器,我尝试使用以下一行代码直接写入: *(volatile uint32_t *)0x40080024UL = 0x00050000UL; 根据 RM,TRGMUX 基地址为 0x4008_000,TRGMUX_eMIOS0_1 寄存器偏移量为 0x24,绝对地址为 0x40080024。LPCMP0_COUT 的 SELx 字段为 0x05 - 我将其上移到 SEL2 位位置(位 16:23)。锁定位应为 0(从 RESET 开始,即解锁状态),我将其保持解锁状态。 这一行代码每次都会导致硬故障崩溃(故障不精确)。我尝试修改其他 SELx 位置,但仍然崩溃。我尝试在设置 eMIOS 和 LPCMP 之前分配此权限,也尝试在完成外围设备设置之后分配,但每次都会崩溃。 这让我产生了一些疑问,但我似乎在手册中找不到答案: 1)你是在初始化和启用外设之前还是之后设置 TRGMUX 链接? 2) TRGMUX 是否有任何模块时钟或类似设备?我知道在启用时钟之前访问模块可能会导致像我遇到的这种硬故障。我没有看到任何具体的东西,而且我的理解是 TRGMUX 寄存器是每个外设的一部分,所以启用外设的时钟也应该会启用任何所需的 TRGMUX 时钟? 谢谢你的帮助。 Re: TRGMUX Assistance - MCXE316 是的,添加这行时钟代码纠正了硬故障和 SDK 方法。我提出的直接编码方法也同样有效。 因此,一般来说,您需要启用 TRGMUX 时钟并设置 IMCR 寄存器,同时调用 SDK 方法进行 TRGMUX 连接。这样,LPCMP 就能正确触发 eMIOS 输入捕获。 感谢大家的支持。 Re: TRGMUX Assistance - MCXE316 好的,崩溃问题仍然存在,但进一步研究发现,我需要在设置 TRGMUX 之前设置 SIUL2 IMCR 寄存器。在参考手册附带的 IOMUX xls 文件中,我看到对于 eMIOS0_CH[7],需要将 SSS 位设置为 4 才能选择 TRGMUX_INT_OUT38,这是通过 SIUL_IMCR567 完成的(由于命名中的 512 偏移量,需要从 567 中减去 512)。以下是我用来实现此功能的代码行,后面是设置 TRGMUX 的代码行: SIUL2->IMCR[55] = SIUL2_IMCR_SSS(4); *(volatile uint32_t *)0x40080024UL = TRGMUX_TRGCFG_SEL3(kTRGMUX_SourceLpcmp0); 我仍然遇到 TRGMUX 硬故障。 Re: TRGMUX Assistance - MCXE316 嗨@brucebowling 很抱歉回复晚了。 我们注意到 TRGMUX 时钟默认情况下未启用。在时钟被禁用时尝试访问 TRGMUX 寄存器会导致 HardFault。你猜对了,钟表不见了。 请在调用 TRGMUX_SetTriggerSource 之前添加以下代码行? CLOCK_EnableClock(kCLOCK_Trgmux); 这项更改解决了我的问题。 作为参考,您可以在 SDK 中找到 TRGMUX 的使用示例: 板/frdmmcxe31b/demo_apps/mc_pmsm/pmsm_enc 请告诉我这是否解决了您的问题,或者您是否还有其他关于TRGMUX的问题。
View full article
启用猎鹰模式 - iMX8MP_EVK 你好, ,我需要在 Yocto 分支 6.12-walnascar 中为iMX8MP_EVK启用 Falcon 模式。但是,根据 AN14641 文档,m eta-imx-fastboot 层仅在 lf-6.6.36 -2.1.0-s 安全版本中可用分支。如何将此层移植到我的 walnascar 分支并启用 Falcon 模式? 请在这里帮忙... Re: Falcon Mode Enablement - iMX8MP_EVK 请使用以下命令。 uuu -b emmc_all - .rootfs.wic 例如: $ uuu-b emmc_all imx-boot-imx95evk-sd.bin-flash_all core-image-minimal-imx95evk.rootfs.wic Re: Falcon Mode Enablement - iMX8MP_EVK 你好,Tipingwang, 感谢您的回复。 我正在尝试启用 Falcon 模式,并已按照AN14641 中提供的步骤操作,但在烧录过程中遇到了问题。 根据README 文件,刷机步骤如下(适用于 eMMC): unzstd -[安全启动]- .rootfs.wic.zst uuu -b emmc_all - .rootfs.wic uuu -b emmc 我的启动内存是 eMMC。我尝试使用以下命令刷写镜像: sudo ./uuu-d-v-b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evkimx-image-core-imx8mpevk.rootfs-20260616051114.wic 然而,在执行过程中,烧录过程因以下错误而失败: sudo ./uuu-d-v-b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evkimx-image-core-imx8mpevk.rootfs-20260616051114.wic 适用于 NXP IMX 芯片的 uuu(通用更新工具)—— libuuu_1.5.243-5-g124d086   内置配置: Pctl 芯片 Vid Pid BcdVersion 序列号 ================================================== SDPS:MX8QXP 0x1fc9 0x012f [0x0002..0xffff] SDPS:MX8QM 0x1fc9 0x0129 [0x0002..0xffff] SDPS:MX8DXL 0x1fc9 0x0147 SDPS:MX28 0x15a2 0x004f SDPS:MX815 0x1fc9 0x013e SDPS:MX865 0x1fc9 0x0146 SDPS:MX8ULP 0x1fc9 0x014a SDPS:MX8ULP 0x1fc9 0x014b SDPS:MX93 0x1fc9 0x014e SDPS:MX91 0x1fc9 0x0159 SDPS:MX95 0x1fc9 0x015d SDPS:MX95 0x1fc9 0x015c SDPS:MX943 0x1fc9 0x0027 SDPS:MX952 0x1fc9 0x0028 SDP:MX7D 0x15a2 0x0076 SDP:MX6Q 0x15a2 0x0054 SDP:MX6D 0x15a2 0x0061 SDP:MX6SL 0x15a2 0x0063 SDP:MX6SX 0x15a2 0x0071 SDP:MX6UL 0x15a2 0x007d SDP:MX6ULL 0x15a2 0x0080 SDP:MX6SLL 0x1fc9 0x0128 SDP:MX7ULP 0x1fc9 0x0126 SDP:MXRT106X 0x1fc9 0x0135 SDP:MX8MM 0x1fc9 0x0134 SDP:MX8MQ 0x1fc9 0x012b SDPU:SPL 0x0525 0xb4a4 [0x0000..0x04ff] SDPV:SPL1 0x0525 0xb4a4 [0x0500..0x9998] SDPV:SPL1 0x1fc9 0x0151 [0x0500..0x9998] SDPU:SPL 0x0525 0xb4a4 [0x9999..0x9999] SDPU:SPL 0x3016 0x1001 [0x0000..0x04ff] SDPV:SPL1 0x3016 0x1001 [0x0500..0x9998] FBK:0x066f 0x9afe FBK:0x066f 0x9bff FBK:0x1fc9 0x0153 FB:0x0525 0xa4a5 FB:0x18d1 0x0d02 FB:0x3016 0x0001 FB: 0x1fc9 0x0152 FB:0x0483 0x0afb FB:0x1d6b 0x0104   运行内置脚本:   uuu_version 1.4.149   # @_flash.bin           | 引导加载程序,可从 WIC 镜像中提取 # @_image [_flash.bin]| 将 WIC 镜像写入 eMMC。     # 当 i.MX6/7、i.MX8MM、i.MX8MQ 时,将运行此命令 SDP:启动-f imx-boot-imx8mpevk-sd.bin-flash_evk-scanlimited 0x800000   # 当 ROM 支持流模式时,执行此命令 # i.MX8QXP、i.MX8QM SDPS:启动-scanterm-f imx-boot-imx8mpevk-sd.bin-flash_evk-scanlimited 0x800000   # 以下命令在启用 SPL 时执行,若未使用 SPL 则跳过 # SDPU 将被弃用。请使用 SDPV 而不是 SDPU # { SDPU:延迟 1000 SDPU:写入-f imx-启动-imx8mpevk-sd.bin-flash_evk-偏移量 0x57c00 SDPU:跳转 - 扫描限制 0x800000 # }   # 以下命令在启用 SPL 时执行,若未使用 SPL 则跳过 # 如果 (SPL 支持 SDPV) # { SDPV:延迟 1000 SDPV:写入-f imx-boot-imx8mpevk-sd.bin-flash_evk-skipspl -scanterm -scanlimited 0x800000 SDPV:跳转 - 扫描限制 0x800000 # }     FB:ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev${emmc_dev} FB:ucmd mmc dev ${emmc_dev} FB:flash -raw2sparse all imx-image-core-imx8mpevk.rootfs-20260616051114.wic FB:flash-scanterm-scanlimited 0x800000 引导加载程序 imx-boot-imx8mpevk-sd.bin-flash_evk FB:ucmd 如果 env 存在 emmc_ack;那么;否则 setenv emmc_ack 0;fi; FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 FB:已完成     等待已知的 USB 设备出现... 新的 USB 设备已连接到 1:2-152 E1000D9DE520A 1:2-152 E1000D9DE520A > 启动 cmd: sdps:启动-scanterm-f imx-boot-imx8mpevk-sd.bin-flash_evk-scanlimited 0x800000 14%1:2-152E1000D9DE520A>HID(W) 识别失败:LIBUSB_ERROR_TIMEOUT (-7)(20.07s) 上面附有详细的 uuu 日志以供参考。 能否请您指导一下将支持 Falcon 的操作系统刷入 eMMC 的正确步骤,或者告诉我是否遗漏了任何必要的步骤或配置? 预先感谢您的支持。 Re: Falcon Mode Enablement - iMX8MP_EVK 猎鹰模式与安全启动不兼容, 但 在 lf-6.12.20-2.0.0-secure 上,您无法使用提供的 Yocto 流程将安全启动与 Falcon 模式一起启用 关于 0001-imx8m-reset-ethernet-phy-in-spl.patch 适用于 i.MX8MP EVK → 强烈推荐 如果您在早期启动期间不使用以太网,则不是严格要求的 Re: Falcon Mode Enablement - iMX8MP_EVK 王一平,您好, 感谢您的回复。 我还有几个问题需要进一步澄清。根据提供的信息,分支 lf-6.12.20-2.0.0-secure 支持 Falcon 模式 v2,但安全 启动被标记为尚不支持。 由于安全启动是我的 i.MX8MP 平台的要求,如果我使用这个分支,猎鹰模式能否正常运行,或者在启用安全启动时猎鹰模式不兼容? 对于 i.mx8MP EVK,我是否需要应用补丁 0001-imx8m-reset-ethernet-phy-in-spl.patch,还是根据用例是可选的? Re: Falcon Mode Enablement - iMX8MP_EVK 你可能不需要自己从 lf-6.6.36-2.1.0-secure 移植该层。公开的 nxp-imx-support/meta-imx-fastboot GitHub 仓库中已经显示了一个名为 lf-6.12.20-2.0.0-secure 的分支。 请参阅https://github.com/nxp-imx-support/meta-imx-fastboot中的 README 文件 Re: Falcon Mode Enablement - iMX8MP_EVK 请帮忙看看这个链接: 。我正在使用 UUU 刷写 eMMC。 Re: Falcon Mode Enablement - iMX8MP_EVK Screenshot from 2026-06-16 14-28-09.png 根据我在 NXP 论坛上找到的这张图片,看来在此情况下,UUU 工具可能不支持对 eMMC 进行刷写。你能否建议使用支持 F alc on 的操作系统刷新 eMMC 设备的适当方法? 在您之前的回复中,您建议使用以下命令: < uuu -b emmc_all - .rootfs.wic> 我 尝试了这种方法,但又遇到了相同的错误: HID(W) 失败:LIBUSB_ERROR_TIMEOUT (-7) (20.07s) 能否请您指导一下正确的刷写流程,或者在启用 Falcon 模式的情况下,刷写 eMMC 所需的替代工具或步骤? Re: Falcon Mode Enablement - iMX8MP_EVK 之前的回复中您给出了IMX95FRDM的参考命令,请问该IMX95FRDM是否启用了Falcon功能? 这里可以看到我在 Yocto - IMX8MP 中完成的工作。 1) meta-imx-fastboot - lf-6.12.20-2.0.0-secure - Github_Link 2)已将此元数据添加到我的源代码 - Github_Link 3)并遵循了所有指示。 AN14641文件。 4)我遵循的Bitbake命令: bitbake -c clean linux-imx && bitbake -c clean imx-启动 && bitbake -c clean u-boot-imx && bitbake -c clean imx-atf && bitbake -c clean imx-image-core bitbake -c compile linux-imx && bitbake -c compile imx-启动 && bitbake -c compile u-boot-imx && bitbake -c compile imx-atf && bitbake -c compile imx-image-core bitbake linux-imx && bitbake imx-启动 && bitbake u-boot-imx && bitbake imx-atf && bitbake imx-image-core 5) 案例 1: sudo ./uuu-b emmc_all imx-image-core-imx8mpevk.rootfs-20260617095251.wic 适用于 NXP imx 芯片的 uuu(通用更新实用程序)-- libuuu_1.5.243-5-g124d086 成功 0 失败 0 1:2-152E1000 1/ 1 [=================100%=================] SDPS: 启动 -scanterm -f /home/smurugan8/YOCTO/LWT/image/imx-image-core-imx8mpevk.rootfs-20260617095251.wic -scanlimited 0x800000 案例二: sudo ./uuu-b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evkimx-image-core-imx8mpevk.rootfs-20260617095251.wic 适用于 NXP imx 芯片的 uuu(通用更新实用程序)-- libuuu_1.5.243-5-g124d086 成功 0 失败 1 1:2-152E1000 1/ 1 [HID(W): LIBUSB_ERROR_TIMEOUT (-7) ] SDPS: 启动 -scanterm -f imx-boot-imx8mpevk-sd.bin-flash_evk-scanlimited 0x800000 重要提示:我需要将支持 Falcon 的操作系统刷入 eMMC 存储。 Re: Falcon Mode Enablement - iMX8MP_EVK 请帮帮我,我卡在这里了。 Re: Falcon Mode Enablement - iMX8MP_EVK 我在 IMX95FRDM 上验证了以下命令,没有问题,请参考我的日志。 C:\Users\nxa22585>C:\Users\nxa22585\Downloads\i.mx95\uuu.exe -lsusb 适用于 NXP imx 芯片的 uuu(通用更新实用程序)-- libuuu_1.5.243-0-g230f1b1 已连接的已知 USB 设备 路径芯片专业版视频 PID BCD版本 序列号 ==================================================================== 2:4 MX95 SDPS:0x1FC9 0x015D 0x0002 61F49AAB2DCB4DDF C:\Users\nxa22585>C:\Users\nxa22585\Downloads\i.mx95\uuu.exe -b emmc_all C:\Users\nxa22585\Downloads\i.mx95\imx-boot-imx95-15x15-lpddr4x-frdm-sd.bin-flash_all C:\Users\nxa22585\Downloads\i.mx95\core-image-minimal-imx8mnevk.rootfs.wic 适用于 NXP imx 芯片的 uuu(通用更新实用程序)-- libuuu_1.5.243-0-g230f1b1 成功 1 失败 0 1:2-61F49AAB 8/ 8 [完成] FB:完成 2:4-61F49AAB 3/ 3 [=================100%=================] SDPV: jump -scanlimited 0x800000 C:\Users\nxa22585> Re: Falcon Mode Enablement - iMX8MP_EVK 请注意,uuu 仅用于将图像编程到 eMMC 中,它不会检查图像的内容。 我怀疑你的 uuu 命令本身有问题。 你从哪里下载的uuu? 请从https://github.com/nxp-imx/mfgtools/releases下载最新版本的 UUU 请下载Windows版本UUU进行验证。 Re: Falcon Mode Enablement - iMX8MP_EVK 你好一平湾 我也尝试在 Windows 系统上使用 UUU 工具,但结果还是一样——它仍然无法用于刷新 eMMC。我已附上 UUU 日志。 但是,当我将同一个支持 Falcon 的操作系统刷入 SD 卡时,它就能正常启动和运行。这证实了图像本身和猎鹰配置都是有效的。 我的问题是: 为什么我无法将这个支持 Falcon 的镜像刷入 eMMC ,即使同样的镜像在 SD 卡上可以正常刷入? 除了使用 UUU 之外,还有其他推荐的方法或方法可以将支持 Falcon 的操作系统刷入 eMMC吗? 请问在这种情况下,有哪些官方支持或可靠的eMMC刷写方法? Screenshot 2026-06-22 122141.png Re: Falcon Mode Enablement - iMX8MP_EVK 请帮忙。 Re: Falcon Mode Enablement - iMX8MP_EVK Screenshot 2026-06-22 171137.png 上面你可以找到UUU的日志, 命令=> .\uuu.exe -b emmc C:\Users\vvdn\Sanjiv\Falcon\imx-boot-imx8mpevk-sd.bin-flash_evk C:\Users\vvdn\Sanjiv\Falcon\imx-image-multimedia-imx8mpevk.rootfs-20260624074743.wic 但它在 eMMC 上无法正常工作,同样的镜像在 SD 卡上却可以正常工作。 Re: Falcon Mode Enablement - iMX8MP_EVK 请尝试以下命令 uuu.exe -b emmc_all C :\Users\vvdn\Sanjiv\Falcon\imx-boot-imx8mpevk-sd.bin-flash_evkC:\Users\vvdn\Sanjiv\Falcon\imx-image-multimedia-imx8mpevk.rootfs-20260624074743.wic 然后把结果再发给我一次。 Re: Falcon Mode Enablement - iMX8MP_EVK 这里可以看到输出结果, PS C:\Users\vvdn\Sanjiv\uuu_source-uuu_1.5.243\uuu-uuu_1.5.243\uuu> .\uuu.exe -b emmc_all C:\Users\vvdn\Sanjiv\Falcon\imx-boot-imx8mpevk-sd.bin-flash_evkC:\Users\vvdn\Sanjiv\Falcon\imx-image-multimedia-imx8mpevk.rootfs-20260624074743.wic 适用于 NXP imx 芯片的 uuu(通用更新实用程序)-- libuuu_1.5.243-0-g230f1b1 成功 0 失败 1 1:3-152E1000 1/ 1 [HID(W): LIBUSB_ERROR_TIMEOUT (-7) ] SDPS: 启动 -scanterm -f C:\Users\vvdn\Sanjiv\Falcon\imx-b... Re: Falcon Mode Enablement - iMX8MP_EVK 请使用您的 Windows 版本 UUU 执行以下命令,并将结果发送给我,以便我进行进一步调查。 uuu.exe -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evkimx-image-core-imx8mpevk.rootfs-20260617095251.wic Re: Falcon Mode Enablement - iMX8MP_EVK 我在 IMX8MP_EVK 目标板上验证过,对 eMMC 进行编程没有问题,请参考以下日志。 C:\Users\nxa22585>C:\Users\nxa22585\Downloads\i.mx95\uuu.exe -b emmc_all C:\Users\nxa22585\Downloads\i.mx95\imx-boot-imx8mpevk-sd.bin-flash_evk C:\Users\nxa22585\Downloads\i.mx95\core-image-minimal-imx8mnevk.rootfs.wic 适用于 NXP imx 芯片的 uuu(通用更新实用程序)-- libuuu_1.5.243-0-g230f1b1 成功 1 失败 0 2:4-0F0B9800 8/8 [完成] FB:完成 C:\Users\nxa22585> 请从附件中提取我的图片,并仅执行以下命令。 uuu.exe -b emmc imx-boot-imx8mpevk-sd.bin-flash_evk 如果仍然失败,则可能是目标板上的 EMMC 本身存在问题。 您可以使用以下 emmc 命令来检查是否可以在 u-boot 中向 emmc 写入内容。 用法: mmc 读取地址块# cnt mmc 写入地址 blk# cnt mmc 擦除 blk# cnt Re: Falcon Mode Enablement - iMX8MP_EVK 请仅尝试使用 UUU 将默认启动映像写入 emmc 是否可行。 Re: Falcon Mode Enablement - iMX8MP_EVK 请帮忙…… @yipingwang Re: Falcon Mode Enablement - iMX8MP_EVK 是的, @yipingwang , 当我在版本过程中加入 meta-imx-fastboot 层时,刷写过程就会卡住。但是,如果我移除 meta-imx-fastboot 层,就可以成功地将镜像刷写到 eMMC 中。 Re: Falcon Mode Enablement - iMX8MP_EVK 我有一个问题@yipingwang,这是启用 Falcon 的图像吗? Re: Falcon Mode Enablement - iMX8MP_EVK 请查看附件。 Re: Falcon Mode Enablement - iMX8MP_EVK 嗨@Sanjiv_Mns 6.12.20 电路板支持包。 未实现meta-secure-boot Yocto 层。由于 meta-imx-fastboot 层依赖于 meta-secure-boot,因此 lf-6.12.20-2.0.0-secure 分支没有实现安全启动。 如果您需要在 Linux 系统中使用以太网接口,则必须安装 0001-imx8m-reset-ethernet-phy-in-spl.patch 补丁。该补丁会 RESET PHY 层,否则 Linux 驱动程序将无法初始化接口。 Re: Falcon Mode Enablement - iMX8MP_EVK 请删除 bld-xwayland 版本文件夹以重新构建镜像。 $ rm -rf bld-xwayland $ MACHINE=imx8mpevk DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b bld-xwayland $ bitbake-layers add-layer ../sources/meta-imx-fastboot 请在 bld-xwayland/conf/local.conf 文件中添加以下行。 FALCON_KERNEL_BOOTARGS:mx8mp-generic-bsp = "console=ttymxc1,115200 root=/dev/mmcblk2p2 rootwait rw quiet" 然后重建镜像: $ bitbake imx-boot $ bitbake core-image-minimal uuu.exe -b emmc_all imx-boot-imx8mpevk-sd.bin-flash_evkcore-image-minimal-imx8mpevk.rootfs.wic uuu.exe -b emmc imx-boot-imx8mpevk-sd.bin-flash_evkimx-boot-imx8mpevk-sd.bin-flash_evk_falcon 请查看我的验证日志: U-Boot SPL 2025.04-g9383f8387dc7-dirty(2025年6月4日 - 09:48:20 +0000) DDRINFO:启动 动态随机存取存储器(DRAM) 初始化 DDRINFO:动态随机存取存储器(DRAM) 速率 4000MTS DDRINFO:DDRPHY 校准完成 DDRINFO:ddrmix 配置完成 SEC0:RNG 实例化 正常启动 尝试从 MMC2 启动 找不到节点!错误代码:-11! 找不到节点!错误代码:-11! 注意:请勿将 JR0 释放给 NS,因为它可能被 HAB 使用。 注意:BL31:v2.12.0(版本):lf-6.12.20-2.0.0-dirty 通知:BL31:版本时间:2025年5月9日 08:15:07 [ 0.324123] imx8mp-ldb ldb-display-controller:无法与 32e90000.lcd-controller 创建设备链接 (0x180) [ 0.395104] : mipi_csis_imx8mp_phy_reset,未找到远程焊盘! [ 0.514210] imx8mp-ldb ldb-display-controller:无法与 1-004c 创建设备链接 (0x180) [ 0.576883] imx8mp-ldb ldb-display-controller:无法与 1-004c 创建设备链接 (0x180) [ 0.625848] ov5640 1-003c: ov5640_write_reg: 错误: reg=3008, val=42 [ 0.632862] ov5640 1-003c: ov5640_write_reg: 错误: reg=3103, val=11 [ 0.639669] ov5640 1-003c: ov5640_read_reg: 错误: reg=3108 [ 0.645268] ov5640 1-003c:开机失败 [ 0.661389] imx8mp-ldb ldb-display-controller:无法与 phy-lvds 创建设备链接 (0x180) [ 0.694937] [drm:drm_bridge_attach] *错误* 无法将网桥 /soc@0/bus@32c00000/mipi_dsi@32e60000 连接到编码器 DSI-41:-19 [ 0.706570] imx_sec_dsim_drv 32e60000.mipi_dsi:桥接失败:32e60000.mipi_dsi [ 0.714859] imx_sec_dsim_drv 32e60000.mipi_dsi:绑定 高效密码学标准(SEC) dsim 网桥失败:-19 NXP i.MX 版本 发行版。 6.12-walnascar imx8mpevk ttymxc1 imx8mpevk 登录:root root@imx8mpevk:~# Re: Falcon Mode Enablement - iMX8MP_EVK 请将/home/smurugan8/YOCTO/LWT/image/falcon_mode/imx-boot-imx8mpevk-sd.bin-flash_evk发送给我。 我将在目标板上进行验证。 Re: Falcon Mode Enablement - iMX8MP_EVK 嗨@yipingwang , 我已经执行了您之前回复中提供的命令,您可以在这里找到命令日志和启动日志。 命令日志: sudo ./uuu -b emmc_all /home/smurugan8/YOCTO/LWT/image/default/imx-boot-imx8mpevk-sd.bin-flash_evk /home/smurugan8/YOCTO/LWT/image/default/imx-image-multimedia-imx8mpevk.rootfs-20260622071640.wic 适用于 NXP imx 芯片的 uuu(通用更新实用程序)-- libuuu_1.5.243-5-g124d086 成功 1 失败 0 1:1-152E1000 8/8 [完成] FB:完成 sudo ./uuu -b emmc /home/smurugan8/YOCTO/LWT/image/default/imx-boot-imx8mpevk-sd.bin-flash_evk /home/smurugan8/YOCTO/LWT/image/falcon_mode/imx-boot-imx8mpevk-sd.bin-flash_evk 适用于 NXP imx 芯片的 uuu(通用更新实用程序)-- libuuu_1.5.243-5-g124d086 成功 1 失败 0 1:1-152E1000 7/7 [完成] FB:完成 启动日志: U-Boot SPL 2025.04-g44898b9f3cfe-dirty(2025年9月3日 - 09:56:50 +0000) DDRINFO:启动 动态随机存取存储器(DRAM) 初始化 DDRINFO:动态随机存取存储器(DRAM) 速率 4000MTS DDRINFO:DDRPHY 校准完成 DDRINFO:ddrmix 配置完成 SEC0:RNG 实例化 正常启动 尝试从 MMC2 启动 spl_load_image_fat:读取图像 kernel-atf-dtb.itb 时出错,错误 -5 spl_load_image_fat:读取镜像 u-boot-atf.itb 时出错,错误 -5 错误:-2 SPL:无法从所有引导设备启动 # ## ERROR ## # 请RESET板 ### Re: Falcon Mode Enablement - iMX8MP_EVK 请使用以下命令将图像编程到带有 UUU 的目标板上。 unzstd <image_name>-[secure-boot]-<machine_name>.rootfs.wic.zst uuu -b emmc_all <default_bootloader> <image_name>-<machine_name>.rootfs.wic uuu -b emmc <default_bootloader> <falcon_mode_bootloader> 第一个参数是默认引导加载程序, Falcon 模式引导加载程序仅在第二个 uuu 命令的第二个参数中指定。 Re: Falcon Mode Enablement - iMX8MP_EVK 嗨@Sanjiv_Mns 猎鹰模式镜像同时适用于 SD 卡和 eMMC 卡。要将 Falcon 镜像刷写到 eMMC/SD 卡上,您需要: 1.版本默认引导加载程序。在干净的 Yocto 环境中,运行: bitbake imx-boot 。请确保在此步骤中未添加 meta-imx-fastboot 层。 这将生成 tmp/deploy/images/imx8mp-lpddr4-evk/ imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk默认引导加载程序。 2.构建猎鹰模式引导加载程序和猎鹰模式镜像。将 meta-imx-fastboot 层添加到您的 BBLAYERS 中。 要编译 Falcon 模式引导加载程序,请运行: bitbake imx-boot 此命令将生成 tmp/deploy/images/imx8mp-lpddr4-evk/ imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk_dual_bootloader猎鹰引导加载程序。此启动加载程序仅包含 SPL,不包含 U-Boot 本身。添加 meta-imx-fastboot 层时,会生成 *_dual_bootloader。请参阅层.conf 文件。 要编译猎鹰模式镜像,请运行: bitbake imx-image-multimedia 这将生成 tmp/deploy/images/imx8mp-lpddr4-evk/ imx-image-multimedia-imx8mp-lpddr4-evk.rootfs.wic.zst镜像。 3. 使用 UUU 将镜像写入 eMMC。UUU 是目前唯一可用于将映像写入 eMMC 的工具。 uuu -b emmc_all imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk imx-image-multimedia-imx8mp-lpddr4-evk.rootfs.wic.zst uuu -b emmc imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk_dual_bootloader Re: Falcon Mode Enablement - iMX8MP_EVK 嗨@yipingwang和@elena_popa 非常感谢您的支持
View full article