Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
S32K312用RTDの取り付け 私はS32K312のために、S32 Design Studio v 3.6.6 で以下の開発環境を設定しようとしています。 1. SW32K3_S32M27x_RTD_R23-11_7.0.1_D2603_DesignStudio_updatesite.zip をダウンロードしました。 2. S32 Design Studio 3.6.6で「S32拡張とアップデート」を開いたWindows 11で動作し、S32K3のリアルタイム・ドライバをインストールしました(示す通り): durga_choudhury_0-1788877584959.pngdurga_choudhury_0-1788877584959.png 3. IDEを再起動するよう促されたら(PCの再起動も試しました) これではK3ファミリのサポートが見当たりません。「新規プロジェクト」ダイアログには、このオプションは表示されません。 durga_choudhury_1-1788877756997.pngdurga_choudhury_1-1788877756997.png 下記のように「S32K3XX」ドライバーをインストールしようとすると: durga_choudhury_2-1788877862245.pngdurga_choudhury_2-1788877862245.png 以下のようなエラーが表示されます。 durga_choudhury_3-1788877910412.pngdurga_choudhury_3-1788877910412.png この一連のプロセスをS32DS v.6.2で繰り返すと少し改善されました。「新しいプロジェクト」ダイアログにK312のオプションが表示されていますが、SDKは表示されていません。 durga_choudhury_4-1788878190320.pngdurga_choudhury_4-1788878190320.png 私は何が間違っているのでしょうか? Re: Installing RTD for S32K312 こんにちは、 @VaneBさん 残念ながら、S32DS 3.6.6 には同等の機能がありません。また、RTDのバージョンを7.0.1から6.0.0にダウングレードしてみました。 3.6.6で動作する特定のバージョンはありますか? Re: Installing RTD for S32K312 こんにちは、 @durga_choudhuryさん このスクリーンショットは私のS32DS 3.6.10のものです。インストール;しかし、あなたのIDEでも同様のセットアップが見られるはずです。 VaneB_0-1788893776567.pngVaneB_0-1788893776567.png また、あなたが共有してくれたスクリーンショットを見る限り、RTD 7.0.1をインストールできているのがわかります。RTD 7.0.1はS32K3開発パッケージに依存しているため、すでにそのパッケージがインストールされている可能性が高いです。 Re: Installing RTD for S32K312 こんにちは、 @VaneBさん あなたのコメントについて、もう少し詳しく説明してください。 S32K1xx用の「開発パッケージ」がインストールされているのを確認しました(これも私が使っているMCUファミリです): durga_choudhury_0-1788891225434.pngdurga_choudhury_0-1788891225434.png しかし、K3には同様のものは見当たらない。 では、どうやってインストールすればいいのでしょうか?繰り返しますが、これまでに私がやったことは以下の通りです: 1. SW32K3_S32M27x_RTD_R23-11_7.0.1_D2603_DesignStudio_updatesite.zip をダウンロードしました 2. S32 DS v 3.6.6にアップデートサイトとして追加しました。 3. 以下のものをインストールしました。 durga_choudhury_1-1788891394005.pngdurga_choudhury_1-1788891394005.png Re: Installing RTD for S32K312 こんにちは、 @durga_choudhuryさん S32DS 3.6.6からインストール時には、S32K3開発パッケージがインストールされていないようです。 S32DS 3.6.2に関して、RTD 7.0.1はS32DS 3.6.4を使用して開発および検証されたことにご注意ください。したがって、S32DS 3.6.4 の使用をお勧めします。または、互換性を確保し、潜在的な問題を回避するために、より新しいリリースを使用してください。 他に確認すべき点として、ツールチェーンが挙げられます。プロジェクトを作成する際は、NXP GCC 10.2.0がインストールされ、プロジェクトツールチェーンとして選択されていることを確認してください。 BR、VaneB
記事全体を表示
コロラド州ラブランドの配管工が語る、よくある配管トラブルとその対処法 最終更新日:2026年9月9日(公式サイトはコメント欄に記載) Plumber Loveland Coとは、コロラド州ラブランドで利用できるプロの配管サービスを指し、住宅所有者や企業が一般的な配管に関するニーズに対応できるよう支援することを目的としています。蛇口の漏れや詰まった排水口から給湯器の問題、より複雑な配管修理まで、経験豊富な配管工は配管システムを正常に機能させるための実用的な解決策を提供します。これは、コロラド州ラブランドで信頼できる配管工を選ぶことが、迅速かつ確実なサービスが必要な場合に重要となる理由の一つです。 Plumber Loveland Coの主なアイデアはシンプルです。日常の修理、メンテナンス、設置、そして予期せぬ配管トラブルに対して、お客様に専門的な配管サポートを提供することです。資格のある地元の配管工は、問題の原因を特定し、適切な解決策を提案し、必要な作業を安全かつ効率的に完了させる手助けをしてくれます。小さな修理が必要な場合でも、大規模な配管工事が必要な場合でも、信頼できる配管の専門家に相談することで、物件を守り、ご自宅の配管システムを円滑に機能させることができます。
記事全体を表示
LSDK 21.08 OP-TEE でブートが壊れる LS1043AEを使用したカスタム基板では、OP-TEEなしでもセキュアブートが問題なく動作します。OP-TEEをシステムに導入しようとしてコンソールに出力され、そこでハングアップします。 注意:2GB DDR4、32ビット、CL=11、ECCオフ お知らせ:BL2:v2.4(リリース):LSDK-21.08-1-ga08bfddba-dirty お知らせ:BL2:ビルド日時:2026年8月31日 22:39:20 通知:SECブロックの初期化と設定を行っています。 注意:Secは既に初期化および設定済みです。 通知: RSA の検証 通知: ハッシュを検証しています 通知: RSA の検証 通知: ハッシュを検証しています 通知: RSA の検証 通知: ハッシュを検証しています 通知: BL2: BL31を起動しています お知らせ:BL31:v2.4(リリース):LSDK-21.08-1-ga08bfddba-dirty お知らせ:BL31:製造日時:2026年8月31日 22:39:48 お知らせ:ls1043aerb BL31フェーズへようこそ Google/Geminiによると、GICには問題があると考えているとのことです。ATFとOP-TEEは64kページアラインを使用しているようですが、ubootのdtsファイルでは4kページアラインになっています。この問題ではないと思う、少なくとも今のところは。OP-TEEを全く初期化していないように見えるからです。 ご意見は? QorIQ LS1デバイス Re: LSDK 21.08 OP-TEE breaks boot どうやらU-Bootに問題があるようです。 OPTEEを有効にした状態で通常のU-boot(セキュアなし)を起動できるかどうか試していただけますか? Re: LSDK 21.08 OP-TEE breaks boot 試してみるのは構わないが、それは何のためのテストなのか?現在、u-bootにどのような問題があると考えていますか?Opteeなしで動作するので、何が問題なのか、何を注意すべきか気になります。 Re: LSDK 21.08 OP-TEE breaks boot まず最初に確認すべきこと: TF-Aをデバッグモードで再構築し、正確な停止箇所を確認してください。 実用的であればDEBUG=1 LOG_LEVEL=50を使うか、初期BL31プラットフォームコードにNOTICE()のパンくずを加えることもできます: プラットフォーム設置エントリー GIC初期化 TZC/TZASC/TZPC 設定 セキュアペイロードディスパッチャー/OP-TEEセットアップ BL32エントリーポイント準備 NXPのサポートでは、同様のLS1043Aハングに対するガイダンスとして、ATF/U-Bootのデバッグプリントを追加するか、CodeWarrior/JTAGを使って実行が詰まっている箇所を点検することが挙げられます。 FIPに実際にBL32が含まれていること、そしてBL31がOP-TEEサポートで構築されているかを確認してください。 TF-A の OP-TEE の場合、ビルドには SPD=opteed と BL32= を含める必要があります。セキュア ブート/NXP CoT の場合、セキュア TF-A ビルド フローには、TRUSTED_BOARD_BOOT=1、CST_DIR=...、BL32=$TEE_BIN、SPD=opteed、および BL33=$UBOOT_SECURE_BIN も含まれます。 次のようなコマンドを実行してください。 fiptool info fip.bin BL31、BL32/OP-TEE、およびBL33がすべて存在することを確認してください。BL32が欠落している場合、またはBL31がSPD=opteedで構築されていない場合、OP-TEEは入力されません。 LS1043Aのセキュアブートにおける予約メモリの処理を確認してください。 LS1043Aのセキュアブートに関する問題が報告されていますが、plat/nxp/soc-ls1043a/soc.def NXP_ROM_RSVD の値を0x5900から0x8000に変更することで修正されます。既にセキュアブートを実施していて、さらに署名付きのFIPコンポーネントを追加するのであれば、早めに確認しておく価値があります。これは、後期のU-Boot DTS GICのアライメント問題よりも可能性が高い。 「RSA/ハッシュ検証済み」と表示されているからといって、画像レイアウトが良好であるとは限りません。 BL2ログは検証したコンポーネントの認証が成功したことを証明しますが、ランタイムアドレス、予約メモリの重複、BL32ロードアドレス、またはBL31のセキュアペイロード構成が正しいことは証明できません。BL2は、検証後にBL31/BL32/BL33をDDRにロードしてから、制御をBL31に渡すように文書化されている。 ハングがBL31: Initializing BL32に移動した場合は、OP-TEE本体にフォーカスを移します。 その後の段階では、OP-TEEのロードアドレス、セキュアDDRの切り出し、ページャー/非ページャーのレイアウト、CAAM/SECの設定、およびOP-TEEコンソールを確認します。OP-TEE/暗号化関連のコンテキストにおいて、OP-TEEの暗号化初期化が早期に行われている疑いがある場合、CFG_NXP_CAAM=nおよびCFG_CRYPTO_DRIVER=nを設定してOP-TEEの暗号化/CAAMを無効にすることを推奨するNXPのガイダンスがあります。しかし、現在のログでは、OP-TEEが入力されていることはまだ証明されていません。 私の最も強い仮説は、BL31はOP-TEEを有効にすると異なるビルドや構成がされており、OP-TEEバナーやBL32エントリーの前の初期BL31プラットフォーム/SPDセットアップで止まっているということです。 まずはBL31をGIC/プラットフォーム設定に合わせて計測し、FIP/SPD=opteed / BL32=tee.bin/secure-boot CSF レイアウトを実行してから、LS1043A NXP_ROM_RSVD=0x8000 の問題を確認してください。 Re: LSDK 21.08 OP-TEE breaks boot そこでATFをデバッグでビルドし、サイレントハングの直前に出る最後のメッセージは次の通りです: 情報:BL31:BL32の初期化中 もしあなたの指示を正しく理解していれば、今は特にOP-TEEに集中すべきですよね? Re: LSDK 21.08 OP-TEE breaks boot はい、まずOP-TEEを通常の起動(セキュアなし)で確認し、OP-TEEでのビルディングや展開手順に問題がないか確認してください。 Re: LSDK 21.08 OP-TEE breaks boot おそらく間違ったtee.binファイルを使っていたのだと思います。 私は、OP-TEEを手動でビルドした際に生成されたtee.binを使用しており、生成する必要があったobjcopyバージョンを使用していませんでした。これによりシステムは初期化してLinuxで起動できるようです。 opteeに関するカーネルログのメッセージが他にも残っていますが、この特定の問題は解決したのでこのスレッドは閉じます。
記事全体を表示
AN15075补丁无法应用 较新的用户手册 AN15075 提到了文件 0001-add-AHAB-check-for-imx 远程进程处理补丁 我在 AN15075SW.zip 文件中找到了它。 此补丁文件应用了以下 3 行代码: +#ifdef CONFIG_IMX_REMOTEPROC_AHAB +#include +#include +#endif 到 来自 linux-imx 的 drivers/remoteproc/imx_rproc.c 但是文件 linux/firmware/imx/se_fw_inc.h不存在(在互联网上的任何地方)。 文件 ele_base_msg 并未放置在该位置。 我正在使用 linux-imx lf-6.18.y 分支进行开发:https://github.com/nxp-imx/linux-imx/tree/lf-6.18.y 我在 6.6 和 6.12 版本上也没找到。 这个补丁应该应用到哪个版本的linux-imx? PS如果你添加了补丁并禁用 CONFIG_IMX_REMOTEPROC_AHAB linux-imx 也无法构建,因为某些属性不再存在,这是因为部分代码受到 #ifdef 保护,但并非所有代码都受到保护。 Re: AN15075 Patch can't be applied 我们当时实现的补丁只是一个概念验证,软件团队不同意将其合并到上游存储库中。 所以这只是一个参考实现。 后续的移植工作没有继续进行。 Re: AN15075 Patch can't be applied NXP 是否有可能更新 Yocto Wrynose(Linux 6.18)的补丁? Re: AN15075 Patch can't be applied 将 AN15075SW 的内核补丁应用到 lf-6.6.36-2.1.0/ BSP lf-6.6.36。 $ git clone https://github.com/nxp-imx/linux-imx.git $ git checkout -b lf-6.6.36-2.1.0lf-6.6.36-2.1.0 不要指望它能直接应用于 lf-6.18.y;它必须向前移植。 如果需要向前移植,请同时修复包含路径和 Kconfig 保护。您的 PS 与部分保护错误一致:禁用 CONFIG_IMX_REMOTEPROC_AHAB 应该使现有的 remoteproc 路径可构建,但 AN 补丁似乎使一些非 AHAB 代码依赖于仅在 #ifdef CONFIG_IMX_REMOTEPROC_AHAB 中引入的定义或字段。 Re: AN15075 Patch can't be applied 我又深入调查了一下: 此补丁似乎添加了以下文件: [PATCH v4 6/7] 固件:imx:添加 NXP EdgeLock Enclave 驱动程序 但在这次提交中,它以不同的方式重新应用: LF-13910:固件:imx:添加 NXP EdgeLock Enclave 的驱动程序 · nxp-imx/linux-imx@0eff402 Re: AN15075 Patch can't be applied 修改 remoteproc 代码以使用 ELE 固件仍然是在第二个核心上启用 AHAB 的推荐方法吗?
記事全体を表示
NXP i.MX93およびi.MX8MPLUS EVKにおける実行時の消費電力 私はNXP i.MX93とi.MX8MPLUS EVKを使っていて、実行時の消費電力を監視したいのですが、このデータをどうやって取得できますか? 目的はAIモデルの推論中のパワーを監視することです。電力指標はどうやって監視できますか? 外部ハードウェアを使わずにソフトウェアだけで電力指標を監視するにはどうすればいいですか? Re: POWER consumption at runtime on NXP i.MX93 & i.MX8MPLUS EVK 詳細な情報とANI3054への参照をありがとうございます。これは非常に役立ちます。 i.MX93 EVKも同様の電力測定設定を採用しているのでしょうか、それともi.MX93には別の測定方法が推奨されているのでしょうか? Re: POWER consumption at runtime on NXP i.MX93 & i.MX8MPLUS EVK AN13054 i.MX 8M Plusの消費電力測定に関するドキュメントを参照してください。 消費電力を測定するために、PWR CPUボードには適切な値の電流検出抵抗が挿入されています。 各キー電源レールごとに、PMICとCPUの間に接続します。電力データは、平均電圧降下をサンプリングすることによって取得されます。 電力モニタチップPAC1934を使用したセンス抵抗器。各電源の電圧降下は、そのセンス抵抗で割られます BCU PCソフトウェアツール内の値で電流を計算します。
記事全体を表示
i.MX8M Plus: Intermittent Downward Frame Shift and Green Top-Band Flicker During Concurrent VIP8000 1. System and Environment Parameter Configuration SoC NXP i.MX 8M Plus Quad Silicon Revision A1 / B0 Kernel 6.12.20-lts-next-g604d4ef7a1e4 BSP NXP linux-imx / LTS-Next Vivante / Galcore Driver 6.4.11.p3.1049711 Galcore Location drivers/mxc/gpu-viv/galcore (built-in) 2D Engine Vivante GC520L (imxvideoconvert_g2d / libg2d.so) NPU VeriSilicon/Vivante VIP8000 NPU Performance 2.3 TOPS Video Encoder Hantro VC8000E (v4l2h264enc) RAM ~5.7 GB LPDDR4 CMA Total ~960 MB 2. Problem Description We are observing an intermittent video corruption issue when VIP8000 NPU inference runs concurrently with hardware scaling/color conversion using the GC520L G2D engine. The affected H.264 stream does not become completely green. Instead, an individual frame occasionally shows the following behavior: The active image appears to shift downward by a small number of pixels/scanlines. A horizontal green band appears at the top of the frame. The following frame immediately returns to the correct position. The result is an intermittent downward frame jump / green top-edge flicker. The issue is reproducible during concurrent accelerator workloads but cannot be reproduced reliably when the NPU or G2D workloads are tested independently. 3. Key Observations 3.1 G2D-only workload is stable We can run up to three concurrent G2D video branches: Main: 1080p Sub: 360p MJPEG: 480p with the NPU disabled. The video remains stable for extended periods with no observed green frames or frame shifts. 3.2 NPU-only workload is stable Heavy VIP8000 NPU inference at approximately 15–30 FPS runs continuously without observed inference errors or video corruption when G2D processing is not active. 3.3 Replacing G2D with CPU processing eliminates the issue When hardware G2D processing is replaced with: videoscale ! videoconvert the system remains stable while the NPU continues running at full workload. The green-band/frame-shift issue is no longer observed. 3.4 Concurrent NPU + G2D triggers the issue When the NPU is active and G2D is simultaneously used for video/AI processing, the corruption appears. The frequency increases when additional G2D workloads are introduced. This suggests that the issue is related to concurrent accelerator activity rather than the individual NPU or G2D workload alone. 4. Test Matrix We performed the following tests to isolate the failure condition. Test NPU AI Processing Video G2D Result 1 OFF None Main + Sub + MJPEG (3 G2D branches) PASS — No flicker 2 OFF SHM attached Main + Sub + MJPEG PASS — No flicker 3 ON G2D enabled Main G2D FAIL — Intermittent green-band/frame-shift observed 4 ON CPU (videoscale ! videoconvert) Main G2D PASS — Main stream clean 5 ON CPU Main + Sub G2D FAIL — Issue appears when additional G2D workload is introduced 6 ON CPU All video branches converted to CPU scaling PASS — All streams remain clean Note: We are currently preparing a smaller standalone reproducer to determine the exact minimum number of concurrent G2D clients required to trigger the issue. 5. Current Investigation Based on the above results, we would like to understand whether this behavior could be related to one of the following areas. A. Galcore / Accelerator Concurrency In our device tree, the GPU/NPU components are part of the same GPU/ML subsystem: mix_gpu_ml@40000000 { compatible = "fsl,imx8mp-gpu", "fsl,imx8-gpu-ss"; cores = <&gpu_3d &ml_vipsi &gpu_2d>; reg-names = "phys_baseaddr", "contiguous_mem"; memory-region = <&gpu_reserved>; }; The interrupts are also handled by galcore: 34: 520 0 0 0 GICv3 35 Level galcore:0 35: 13583 0 0 0 GICv3 45 Level galcore:3d-1 36: 1737916 0 0 0 GICv3 57 Level galcore:2d We would like to understand: Does galcore share synchronization primitives or locks between the GC520L, GC7000 and VIP8000? Are G2D and NPU command queues completely independent? Are there any known limitations when multiple G2D clients/processes submit work while VIP8000 inference is active? Could command submission, context management, interrupt handling, or resource locking introduce delays under concurrent workloads? B. NoC / DDR Bandwidth or QoS Both the GC520L G2D and VIP8000 NPU are active bus masters accessing external LPDDR4 memory. We would like to determine whether heavy NPU inference could: Increase NoC/DDR traffic significantly. Increase memory access latency for G2D. Cause G2D transactions to be delayed. Expose a timing/synchronization issue between G2D and downstream consumers. Be affected by NoC/DDR QoS priorities. Could NXP provide guidance on the recommended NoC/AXI/DDR performance monitoring and QoS facilities available on i.MX8MP for investigating this type of workload? C. G2D Buffer Synchronization / Fence / Stride Issue The visual artifact is particularly interesting because the entire frame is not corrupted. The affected frame appears approximately as follows: +----------------------------------+ | GREEN HORIZONTAL BAND | +----------------------------------+ | | | | | IMAGE SHIFTED DOWN | | | | | +----------------------------------+ This makes us question whether the issue could involve: G2D destination buffer synchronization. DMA-BUF ownership/reuse. Fence signaling/completion. Temporary G2D destination offset/stride state. Delayed G2D memory writes. Downstream VPU access occurring before the G2D operation has completely finished. In particular, could a delayed G2D completion or synchronization event cause v4l2h264enc / VC8000E to consume a destination DMA-BUF before all G2D writes have completed? Is there a documented synchronization mechanism in the NXP G2D/V4L2 pipeline that guarantees G2D completion before the destination DMA-BUF is consumed by the VPU? D. Memory / CMA We monitored memory usage while reproducing the problem: Total RAM : ~5.7 GB CmaTotal : ~960 MB CmaFree : ~677 MB CMA is therefore not close to exhaustion during the failure. However, we would like to know whether there are other memory-related considerations that could affect concurrent NPU/G2D/VPU workloads, such as: DMA-BUF synchronization. Cache coherency. Memory-domain mapping. Physical buffer alignment. Buffer reuse. IOMMU/MMU mappings. Reserved-memory interactions. 6. Additional Diagnostic Experiments We are currently preparing a minimal standalone reproducer to remove application-level complexity. The planned reproducer will contain: Thread 1 → VIP8000 NPU inference Thread 2 → GC520L G2D processing Thread 3 → Additional GC520L G2D processing We also plan to test the following configurations: NPU OFF + G2D NPU ON + G2D NPU ON + 2 × G2D NPU ON + G2D → buffer inspection NPU ON + G2D → VPU encoder This should help determine whether the corruption occurs in the G2D output buffer itself or only after the buffer is consumed by the VPU. 7. Questions for NXP We would appreciate NXP's guidance on the following. 1. Known hardware/software limitations Is concurrent operation of: VIP8000 NPU + GC520L G2D + VC8000E VPU fully supported on i.MX8M Plus, including multiple simultaneous G2D clients? Are there any known hardware limitations, errata, or software restrictions related to this combination? 2. Galcore Are there known galcore issues involving concurrent VIP8000 and GC520L operation? In particular, are there known issues involving: shared locks, command queues, context switching, interrupt handling, synchronization, or resource management? 3. DMA-BUF / synchronization What mechanism is used to guarantee G2D completion before a destination DMA-BUF is consumed by downstream V4L2/VPU components? Are there known fence or buffer-ownership issues in imxvideoconvert_g2d / libg2d under concurrent accelerator workloads? 4. NoC / QoS What debug registers, debugfs nodes, performance counters, or tools does NXP recommend for measuring: GC520L AXI traffic, VIP8000 AXI traffic, VPU traffic, DDR bandwidth, NoC contention, and QoS/arbitration behavior? 5. Driver version We are currently using: Kernel: 6.12.20-lts-next-g604d4ef7a1e4 Galcore: 6.4.11.p3.1049711 Is this combination a validated/recommended configuration for i.MX8MP? Is there a newer galcore / G2D driver or patchset that addresses concurrent NPU/G2D workloads? 6. Silicon errata Could you please confirm whether the applicable i.MX8M Plus silicon errata for our A1/B0 revisions contain any issues related to: G2D, VIP8000, VPU, AXI/NoC arbitration, DDR, cache coherency, or concurrent accelerator operation? 7. Recommended configuration For an application requiring: VIP8000 NPU inference + multiple G2D scaling/color-conversion pipelines + VC8000E H.264 encoding what configuration does NXP recommend? Are there specific: driver parameters, QoS settings, memory/buffer-pool configurations, synchronization mechanisms, or GStreamer pipeline practices that should be followed? 8. Information We Can Provide We can provide the following if required: Complete GStreamer pipelines. Device-tree configuration. Kernel configuration. dmesg output during reproduction. /proc/interrupts. G2D/NPU workload details. v4l2-ctl information. Minimal NPU + G2D reproducer. Video samples containing the corrupted frames. Driver versions and build information. We would appreciate any guidance on the recommended debug procedure or additional traces/registers that would help determine whether the root cause is related to G2D/NPU synchronization, DMA-BUF/fence handling, NoC/DDR contention, galcore, or a silicon limitation. Thank you. Vishnu S i.MX 8M | i.MX 8M Mini | i.MX 8M Nano
記事全体を表示
S32K312: SWT0 Functional Reset Escalation, Destructive Reset Status and SRAM Retention Hello NXP Team, I am working with an S32K312 Cortex-M7 using S32 Design Studio and AUTOSAR RTD 7.0.1 / AUTOSAR 4.9. I am currently testing the MC_RGM reset behavior, particularly SWT0 functional reset, functional reset escalation, destructive reset, SRAM retention, SBAF/recovery behavior, and the Power IP reset APIs. 1. SWT0 functional reset escalation I am using SWT0 timeout to generate functional resets. My MC_RGM configuration is: MC_RGM_FRET_FRET((uint32)15U), MC_RGM_DRET_DRET((uint32)0U) I observe the functional reset counter increasing: SWT0 functional reset #1 -> FREC = 1 SWT0 functional reset #2 -> FREC = 2 ... SWT0 functional reset #14 -> FREC = 14 After the next SWT0 reset, FREC is cleared/reset, but I do not observe the expected: DES[MC_RGM_FRE] = 1 My questions are: Does SWT0_RST participate in the MC_RGM functional reset escalation counter (FREC) on S32K312? When FREC reaches FRET = 15, should MC_RGM_FRE be generated and should DES[MC_RGM_FRE] be set? What exact values should I expect for FES, DES, FREC, FRET, Power_Ip_GetResetReason() immediately after the escalation? Is any additional configuration required for SWT0 to participate in FRET escalation? Can SBAF/recovery handling interfere with FRET escalation? Is there any known erratum or known S32K312 behavior related to SWT0/FRET escalation? When I run the application continuously, after the 15th functional reset the application/debugger stops instead of allowing me to observe the expected destructive reset. I would like to know whether this is related to the reset sequence, SBAF recovery, or the debugger. 2. I want every SWT0 functional reset to become destructive For testing purposes, I would also like to achieve: SWT0 timeout ↓ Functional reset ↓ Immediate destructive reset instead of waiting for 15 functional resets. Can this be achieved by configuring: FRET = 1U;  Specifically: Does FRET = 1 cause the first qualifying SWT0 functional reset to escalate to a destructive reset? Is any additional MC_RGM configuration required? Is SWT0 guaranteed to be a qualifying source for this escalation? Can SBAF/recovery behavior affect this? Is this supported directly through RTD 7.0.1 configuration? 3. SRAM data is cleared after every functional reset According to my understanding of the S32K3xx Reference Manual, SRAM/system memory should be preserved across a functional reset. I created an SRAM test variable: #define SRAM_TEST_ADDR ((volatile uint32_t *)0x204007d4U) and use it to verify retention across functional resets. However, I observe that the SRAM data is being cleared/re-written to zero after a functional reset. My questions are: Is SRAM preserved by the hardware during functional reset but overwritten afterward by software? Which SRAM regions are guaranteed to retain their contents across functional reset on S32K312? What is the recommended way to place a variable in SRAM so that its contents are retained across functional reset? Should I use a dedicated .noinit or retained SRAM section? Is there any specific MC_RGM/SRAM configuration required for retention? What is the recommended RTD 7.0.1 method for retaining application data across functional reset? 4. Direct software destructive reset I am also testing a direct software destructive reset using the Power IP: Power_Ip_Init(&Power_Ip_HwIPsConfigPB); gVar= Power_Ip_GetResetReason(); for (count = 0; count < 10125000; count++); Power_Ip_PerformReset(&Power_Ip_HwIPsConfigPB); My current MC_RGM configuration contains: static const Power_Ip_MC_RGM_ConfigType Power_Ip_MC_RGM_ConfigPB = { (MCU_DEST_RESET), ... MC_RGM_FRET_FRET((uint32)15U), MC_RGM_DRET_DRET((uint32)0U) }; The destructive reset occurs, but the debugger repeatedly loses and re-establishes communication. I see messages such as: INFO: DAP IDCODE = 0x6BA02477 INFO: DAP successfully powered up. DP CTRL/STAT = 0xF0000000 repeated multiple times, followed by: Interrupt command received. Halting execution. I would like to understand: Is repeated DAP reconnection expected during a destructive reset? What exactly happens to the Cortex-M7 during the destructive-reset sequence? When does the CPU become available again after the destructive reset? What is the recommended way to debug a single software destructive reset? 5. Breakpoint behavior before Power_Ip_PerformReset() I cannot reliably hit a breakpoint immediately before: Power_Ip_PerformReset(&Power_Ip_HwIPsConfigPB); I added a delay before the API, expecting the debugger to have enough time to gain access. Sometimes the breakpoint is only reached after I manually pause the target and then resume execution. I would like to understand: Why can the debugger miss the breakpoint even though there is a delay before the reset API? Is this related to the target repeatedly resetting and the debugger reconnecting through DAP? Is there a recommended method for catching the CPU immediately before or immediately after a destructive reset? Is the RTD DISABLE_DEBUGGER_TRAP option relevant to this behavior? 6. Power IP initialization and Power_Ip_SetMode() My RTD provides: void Power_Ip_Init( const Power_Ip_HwIPsConfigType *HwIPsConfigPtr); void Power_Ip_SetMode(const Power_Ip_ModeConfigType *ModeConfigPtr); void Power_Ip_PerformReset( const Power_Ip_HwIPsConfigType *HwIPsConfigPtr ); Power_Ip_ResetType Power_Ip_GetResetReason(void); Power_Ip_RawResetType Power_Ip_GetResetRawValue(void); I currently use: Power_Ip_Init(&Power_Ip_HwIPsConfigPB); and: gVar = Power_Ip_GetResetReason(); My mode configuration is POWER_IP_RUN_MODE. I would like clarification on: Is Power_Ip_Init(&Power_Ip_HwIPsConfigPB) the correct initialization before using the Power IP reset APIs? Is Power_Ip_SetMode() required for software functional/destructive reset testing? Since my selected mode is POWER_IP_RUN_MODE, can Power_Ip_SetMode() be omitted for this reset test? How should I configure separate software functional-reset and software destructive-reset configurations using RTD 7.0.1? Environment MCU: S32K312 Core: Cortex-M7 S32DS: S32 Design Studio AUTOSAR: 4.9 RTD: 7.0.1 Reset source: SWT0 FRET: 15 DRET: 0 I can provide the complete test application, Power_Ip_PBcfg.c, linker configuration, MC_RGM register captures, and debugger logs if required. Thank you. Re: S32K312: SWT0 Functional Reset Escalation, Destructive Reset Status and SRAM Retention Hello @Sharif417, 1. SWT0 functional reset escalation SWT0_RSTdoes participate in FREC for S32K312, and when FREC reaches 15, DES[MC_RGM_FRE] is set, which you should be able to read by calling Power_Ip_GetResetReason(), and returning "MCU_MC_RGM_FRE_RESET". All functional reset sources that are not demoted (through MCRGM.FERD) qualify for incrementing FREC. Keep in mind that Power_Ip_Init() clears MC_RGM.DES (after saving its value), so try to get the register values before initializing Power module or simply read reset reason. Recovery Mode may affect this, if the threshold is >8, as Recovery Mode is set to '8' by default. sBAF also may interfere with DRET, not FRET. You can see it is changed to 0xF if it is '0':   Julin_AragnM_0-1788816978772.pngJulin_AragnM_0-1788816978772.pngJulin_AragnM_0-1788816978772.pngJulin_AragnM_0-1788816978772.png When I run the application continuously, after the 15th functional reset the application/debugger stops instead of allowing me to observe the expected destructive reset. I would like to know whether this is related to the reset sequence, SBAF recovery, or the debugger. Instead of trying to keep the debugger connected, can you try attaching after a 15th functional reset, or try printing the reset reason through UART or similar? 2. I want every SWT0 functional reset to become destructive Yes, FRET=1 is enough for every functional reset to issue a destructive reset. No additional MC_RGM necessary. sBAF/Recovery Mode should not affect this. Yes, you can configure it directly in POWER module -> "Module Configuration" -> "McuResetConfig" -> "Functional Reset Escalation Threshold" 3. SRAM data is cleared after every functional reset Correct, SRAM is preserved after functional reset. Depending on the derivative, S32K3 may provide 16KB, 32KB or up to 64KB for Standby RAM. You can find some examples on how to place and use a variable through Standby RAM: [RTD600 MCAL & IP] S32K3 Low Power Management AN and demos S32K3 Low Power Management AN and demos Example S32K312 Standby mode & Standby RAM and PAD keeping DS3.5 RTD300 The reason that Standby RAM is being cleared/re-written, is because the default startup_cm7.s provided by S32DS initializes all of SRAM, regardless of reset reason (POR, Destructive, Functional). You must modify it so that if a functional reset is issued, SRAM initialization skips the allocated Standby RAM. Please refer to the following community post: S32K311 standby ram retention. 4. Direct software destructive reset Yes, when MCU is issued a functional/destructive reset, the debug subsystem and clocks are all re-initialized, meaning the debugger must re-negotiate DAP access again. A destructive reset leads most parts of the chip, except a few modules, to reset. While a functional reset leads all the communication peripherals and cores to reset. The communication protocols' sanity is not guaranteed and they are assumed to be reinitialized after reset. Instead of trying to keep the connection, you can use the 'Attach to Target' option for the debugger: Julin_AragnM_1-1788817136992.pngJulin_AragnM_1-1788817136992.pngJulin_AragnM_1-1788817136992.pngJulin_AragnM_1-1788817136992.png 5. Breakpoint behavior before Power_Ip_PerformReset() Most likely you are simply missing the window to reconnect. Instead of using a for() loop, you can simply use while(flag), where flag is a variable you will change manually after reconnecting with the debugger, through the 'Expressions' tab. 6. Power IP initialization and Power_Ip_SetMode() Yes, Power_Ip_Init() must be called before using the Power APIs. I suggest doing so. You can perform resets through Power_Ip_PerformReset(), however, you can only configure either destructive or functional reset in McuResetConfig container. You can instead declare two power modes: one for functional reset, and one for destructive reset. Then simply call Power_Ip_SetMode(Functional_Reset) or Power_Ip_SetMode(Destructive_Reset). It can be omitted, however, you should call Power_Ip_SetMode(RUN_MODE) just to make sure every module is correctly gated and configured. If this is not needed in your project, you can omit it. Please se A6.2. I've made a simple test, and I can see FRE_RESET reported after setting FRET=1, and performing a functional reset through Power_Ip_SetMode() API: Julin_AragnM_2-1788817284857.pngJulin_AragnM_2-1788817284857.pngJulin_AragnM_2-1788817284857.pngJulin_AragnM_2-1788817284857.png Best regards, Julián Re: S32K312: SWT0 Functional Reset Escalation, Destructive Reset Status and SRAM Retention Hello Julián, Thank you for the clarification. I have now repeated the tests on my S32K312 and would like to clarify two observations. I am attaching the complete project folder so that you can review the configuration and reproduce the behavior. 1. SWT0 functional reset escalation I configured: FRET = 15U;DRET = 0U; and use SWT0 with a 125 ms timeout to generate functional resets. I can observe FREC increasing after each functional reset: SWT0 reset #1 -> FREC = 1 SWT0 reset #2 -> FREC = 2 ... SWT0 reset #14 -> FREC = 14 However, when the next SWT0 functional reset occurs and the FRET = 15 threshold is reached, I am not able to observe the expected destructive-reset status: DES[MC_RGM_FRE] = 1 Also, after the 15th functional reset, the MCU continues running and I do not observe the expected destructive-reset behavior. The SRAM data stored in my SRAM test partition also remains intact. I have disabled the recovery behavior using: IP_DCM_GPR->DCMRWP1 |= (3 << 22); Could you please review my attached project and clarify: Why am I not observing DES[MC_RGM_FRE] = 1 after the 15th SWT0 functional reset? After FREC reaches FRET = 15, should the MCU definitely enter a destructive reset? If a destructive reset occurs, why my SRAM contents is retained in my test partition ? Is there any additional MC_RGM/SBAF configuration that I am missing? 2. SRAM retention after functional and destructive reset I created a dedicated SRAM partition/section and stored test data in that region. I have confirmed that the SRAM value is retained across the repeated SWT0 functional resets, which is expected. However, even after the 15th functional reset, where I expect FRET escalation to generate a destructive reset, the SRAM value still remains. I also tested a direct software destructive reset, and the SRAM value was still retained after that reset as well. My observation is therefore: SWT0 functional reset ↓ SRAM value retained 15th functional reset / expected FRET escalation ↓ SRAM value still retained Direct software destructive reset ↓ SRAM value also retained Could you please clarify whether this SRAM behavior is expected on the S32K312, and whether my SRAM test region may be located in a memory area that is retained even across a destructive reset? I am attaching the complete S32K312 project folder, including the linker configuration, RTD configuration, MC_RGM configuration, SWT0 configuration, and test application, so you can review the actual memory placement and reset configuration. Thank you for your support. Re: S32K312: SWT0 Functional Reset Escalation, Destructive Reset Status and SRAM Retention Hello @Sharif417, 1. SWT0 functional reset escalation 1. Why am I not observing DES[MC_RGM_FRE] = 1 after the 15th SWT0 functional reset? As I've mentioned, Power_Ip_Init() API clears DES register, meaning you should read reset reason through Power_Ip_GetResetReason() instead.  2. After FREC reaches FRET = 15, should the MCU definitely enter a destructive reset? If a destructive reset occurs, why my SRAM contents is retained in my test partition? Yes. As long as FREC reaches the threshold configured in FRET, MCU should issue a destructive reset. Either a destructive reset is not occurring, or variable is wrongly placed.  3. Is there any additional MC_RGM/SBAF configuration that I am missing? No. For Functional Reset Escalation, simply setting FRET should suffice.  2. SRAM retention after functional and destructive reset 1. Could you please clarify whether this SRAM behavior is expected on the S32K312, and whether my SRAM test region may be located in a memory area that is retained even across a destructive reset? This should not be the case. All SRAM content is lost after a destructive reset event. Can you share how exactly are you testing the direct software destructive reset? From your project, if you are using Power_Ip_PerformReset() API, it is configured as functional reset, not destructive. Julin_AragnM_0-1788891886849.pngJulin_AragnM_0-1788891886849.png Actually, I tested this by saving the values and share them through UART, where FRDM-A-S32K312, issues a functional reset through SW2, FRET is set to 15, and after 15 SW functional resets, I can see MCU_MC_RGM_FRE_RESET being generated. This is in RTD 6.0.0, please see my log below: [RESET] Reason : MCU_F_EXR_RESET (RGM_FES F_FR0) [RESET] FRE Counter: 0 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 1 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 2 [RESET] Reason : MCU_SW_DEST_RESET (RGM_DES F_DR29) [RESET] FRE Counter: 0 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 1 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 2 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 3 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 4 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 5 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 6 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 7 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 8 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 9 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 10 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 11 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 12 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 13 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 14 [RESET] Reason : MCU_MC_RGM_FRE_RESET (RGM_DES F_DR6) [RESET] FRE Counter: 0 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 1 In RTD 7.0.1, I can see the same behavior you mention (from FRE not asserting destructive reset, to debugger disconnecting): [RESET] Reason : MCU_SW_DEST_RESET (RGM_DES F_DR29) [RESET] FRE Counter: 0 [RESET] Reason : MCU_SW_DEST_RESET (RGM_DES F_DR29) [RESET] FRE Counter: 0 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 1 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 2 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 3 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 4 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 5 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 6 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 7 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 8 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 9 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 10 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 11 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 12 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 13 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 14 [RESET] Reason : MCU_SW_FUNC_RESET (RGM_FES F_FR29) [RESET] FRE Counter: 0 This leads me to believe that there are some differences in Power driver between RTD 6.0.0 & RTD 7.0.1 which leads to these symptoms. I have not been able to pinpoint if this is an issue with configuration, or a bug, please give me some time to analyze and contact the internal team if needed. Best regards, Julián
記事全体を表示
KW47:WDOG 等待/停止模式与电源模式(睡眠/深度睡眠)之间的关系 你好, 我正在阅读 KW47 参考手册,但我对 WDOG 低功耗模式和系统电源模式之间的关系感到困惑。 在 WDOG 章节中,控制和状态寄存器包含以下位: - 等待: “使 WDOG 在芯片处于等待模式时也能运行。” - 停止: “使 WDOG 在芯片处于停止模式时也能运行。” WDOG章节还指出: - 在停止模式下,选定的 WDOG 时钟源必须保持活动状态。 - 对于调试模式和停止模式,必须使用总线时钟以外的时钟源。 另一方面,“电源模式”章节描述了: 睡眠模式: CPU执行已停止。 - 核心时钟已关闭 系统时钟和总线时钟可能会继续运行 深度睡眠模式: - 核心时钟已关闭 系统时钟已关闭 总线时钟已关闭 基于以上描述,可以合理地解释如下: - 等待模式 ≈ 睡眠模式 - 停止模式 ≈ 深度睡眠模式 然而,我尚未在参考手册中找到任何明确说明来证实这种映射关系。 我的问题是: 1. WDOG 等待模式是否对应于 KW47 的电源模式睡眠模式? 2. WDOG 停止模式是否对应于 KW47 的电源模式深度睡眠模式? 3. 或者说,Wait/Stop WDOG 是 CPU 特有的状态,与 SoC 电源模式不同? 4. 是否有参考手册章节或应用笔记明确描述了这种关系? 感谢您的帮助。 Re: KW47: Relationship between WDOG Wait/Stop modes and Power Modes (Sleep/Deep Sleep) 你好,希望你一切都好。   KW47 参考手册中使用的术语与将 WDOG 控制寄存器中的 WAIT 和 STOP 字段解释为对芯片/内核低功耗状态的引用,而不是对 WDOG 特定 CPU 状态的引用是一致的。我会将这种关系描述为功能对应,而不是严格的等价关系。 从这个意义上讲,WDOG WAIT 对应于等待/睡眠类条件,其中 CPU 执行停止,但系统和总线时钟可能仍然可用。WDOG STOP 对应于停止/深度睡眠类条件,其中内核、系统和总线时钟被门控,看门狗只有在配置为使用在该模式下保持活动的时钟源时才能继续工作。   此致, 索菲亚。 Re: KW47: Relationship between WDOG Wait/Stop modes and Power Modes (Sleep/Deep Sleep) 你好,索菲亚, 感谢您之前的解释。 根据您的回复,我的理解是: - WDOG WAIT 对应于等待/睡眠类低功耗状态。 - WDOG STOP 对应于停止/深度睡眠级别的低功耗状态。 - 这种关系是一种功能对应关系,而不是严格的一对一映射关系。 再次查阅KW47参考手册后,我发现了以下章节: 28.4 模块在低电源模式下的运行 表 225:Cortex M33 核心模块在低电源模式下的运行情况 对于 WDOGx,表格显示: - 睡眠:开启 - 深度睡眠:可选 - 关机:可选 深度关机:关闭 从这张表中,我了解到 WDOG 操作至少可以在深度睡眠和关机模式下配置。 为了更好地了解其行为,我使用 KW47-Loc 评估板进行了测试。 测试条件: - 已启用 WDOG - WDOG 刷新由 vApplicationIdleHook() 执行 - PWR_EnterLowPower() 由 FreeRTOS vPortSuppressTicksAndSleep() 执行 - 观察进入低功耗状态后是否发生看门狗复位 测试结果: 案例 1 等待=0,停止=0 → 未发生看门狗RESET 案例 2 等待=1,停止=0 → 看门狗复位发生 案例3 等待=0,停止=1 → 未发生看门狗复位 我的理解是,当看门狗复位时,设备进入低功耗状态,vApplicationIdleHook() 不再执行,而看门狗继续运行,最终超时。 但是,只有当 WAIT=1 且 STOP=0 时才会发生看门狗 RESET,而当 STOP=1 时则不会发生看门狗 RESET。 由于这个结果,我很难理解在低功耗电源模式下,WAIT 和 STOP 位是如何实际应用于看门狗操作的。 请您澄清以下几点? 1.当设备通过 PWR_EnterLowPower() 进入低功耗模式时,WDOG 操作是由 WAIT 位控制还是由 STOP 位控制? 2. 观察到的结果表明设备实际上进入了睡眠模式而不是深度睡眠模式,还是应该解释为进入了深度睡眠模式? 3. STOP 位是否对应于电源模式章节中描述的深度睡眠模式,还是指不同的低功耗状态? 4. 表 225 中的下列条目应该如何解释与 WDOG WAIT 和 STOP 控制位相关的内容? - WDOGx:可选的(深度睡眠) - WDOGx:可选的(掉电) 感谢您的支持。 Re: KW47: Relationship between WDOG Wait/Stop modes and Power Modes (Sleep/Deep Sleep) @sofiaurueta 我进行了一些额外的测试,并将我的发现更新到了上面的帖子中。 请问我的理解是否正确? 谢谢! Re: KW47: Relationship between WDOG Wait/Stop modes and Power Modes (Sleep/Deep Sleep) @hyama你好,很抱歉回复晚了。   您是否使用 SDK 中的示例进行测试?您如何确认设备已进入深度睡眠模式? 根据你描述的情况,设备可能只是进入了睡眠模式。如果设备进入深度睡眠状态,结果则相反:STOP=1(情况 3)应该会导致超时,而 WAIT=1(情况 2)应该不会产生任何影响。WAIT=1 触发 RESET 这一事实表明设备进入了睡眠模式,而不是深度睡眠模式。   回答您的问题: 1.当设备通过 PWR_EnterLowPower() 进入低功耗模式时,WDOG 操作是由 WAIT 位控制还是由 STOP 位控制? CS[WAIT] 和 CS[STOP] 是独立模式的独立控制,其中 CS[WAIT] 控制睡眠模式下的 WDOG 操作,CS[STOP] 控制深度睡眠模式下的 WDOG 操作。 如果设备进入睡眠模式,则 CS[WAIT] 为活动控制。CS[STOP] 在这里不起作用,因为没有进入深度睡眠状态。如果设备配置为进入深度睡眠状态,则 CS[STOP] 将是活动控制。   2. 观察到的结果表明设备实际上进入了睡眠模式而不是深度睡眠模式,还是应该解释为进入了深度睡眠模式? 结果与进入睡眠模式相符,与深度睡眠不符。根据三个测试用例,系统进入睡眠模式。   3. STOP 位是否对应于电源模式章节中描述的深度睡眠模式,还是指不同的低功耗状态? 根据文档,CS[STOP] 对应于深度睡眠,测试中观察到的行为与此一致(假设没有进入深度睡眠)。   4. 表 225 中的下列条目应该如何解释与 WDOG WAIT 和 STOP 控制位相关的内容? 对于深度睡眠,“可选”意味着如果 CS[STOP]=1 并且配置了总线时钟以外的时钟源,则 WDOG 可以在深度睡眠中运行。对于调试模式和停止模式,必须使用总线时钟以外的时钟源。使用总线时钟,看门狗在架构上可以“启用”,但它的时钟就消失了,除非选择不同的时钟源,例如 32K_CLK。 此致, 索菲亚。
記事全体を表示
88W8887 射频合规性测试 亲爱的, 我们使用的是基于 88W8887 芯片组的 wifi/蓝牙模块。为了确保产品符合规范,我们需要进行多项射频测试(tx 连续数据包、rx 模式等)。对于另一个模块 88W8997,我们遵循了以下应用节点:AN14114。然而,该应用笔记并未提及支持88W8887。 该应用笔记使用了mwifiex驱动程序。查看代码可知,驱动程序应该支持 88W8887。遗憾的是,该驱动程序需要固件文件sd8887_wlan_a2.bin,但我们未能找到该文件。 在 88W8887 上运行 RF 测试(类似于 AN 中描述的方法)的推荐方法是什么?NXP 是否仍然支持这种使用场景? 此致敬礼, 吉
記事全体を表示
IMXRT1176 Application Crashed , Later IMXRT doesnot boot Hi, I am using IMXRT1176 custom board, during application and secondary bootloader development , my application crashed and later im unable to flash my application. I tried entering serial downloader mode and then erasing the FLEXSPI NOR Flash, even then it displays  "Flash Driver V.2 startup failed - rc Ef(55): Dynamic flash driver startup failed to provide flash parameters. Terminate (0x0, 0x0, 0x0) status 0x40 - driver reports init failure - EXTSPIJ driver rc 20107 (0x4E8B) chip initialization failed - Ef(55): Dynamic flash driver startup failed to provide flash parameters. failed to initialize flash driver MIMXRT1170_SFDP_QSPI.cfx##" I tried connecting NXP boot Utility to MCU through USB and go this log. "--------MCU Device ROM Info-------- Unique ID[31:00] = 0x8295ad77 Unique ID[63:32] = 0x242cc80e Current Version = K3.0.1 Target Version = T3.0.0 Life Cycle status = HAB Open --------MCU Flashloader Info------- Current Version = K2.8.0 Target Version = T1.0.1 --------MCU device eFusemap-------- (0x940) SYSBT_CFG0 = 0x0 (0x950) SYSBT_CFG1 = 0x0 (0x960) SYSBT_CFG2 = 0x8 BT_FUSE_SEL = 1'b0 When BMOD[1:0] = 2'b00 (Boot From Fuses), no app in boot device, MCU enters serial downloader mode directly When BMOD[1:0] = 2'b10 (Internal Boot), MCU boots app according to both BOOT_CFGx pins and Fuse BOOT_CFGx ----------FlexRAM memory----------- IOMUXC_GPR->GPR16 = -------- --------MCU Device ROM Info-------- Unique ID[31:00] = 0x8295ad77 Unique ID[63:32] = 0x242cc80e Current Version = K3.0.1 Target Version = T3.0.0 Life Cycle status = HAB Open --------MCU Flashloader Info------- Current Version = K2.8.0 Target Version = T1.0.1 --------MCU device eFusemap-------- (0x940) SYSBT_CFG0 = 0x0 (0x950) SYSBT_CFG1 = 0x0 (0x960) SYSBT_CFG2 = 0x8 BT_FUSE_SEL = 1'b0 When BMOD[1:0] = 2'b00 (Boot From Fuses), no app in boot device, MCU enters serial downloader mode directly When BMOD[1:0] = 2'b10 (Internal Boot), MCU boots app according to both BOOT_CFGx pins and Fuse BOOT_CFGx ----------FlexRAM memory----------- IOMUXC_GPR->GPR16 = -------- --------MCU Device ROM Info-------- Unique ID[31:00] = 0x8295ad77 Unique ID[63:32] = 0x242cc80e Current Version = K3.0.1 Target Version = T3.0.0 Life Cycle status = HAB Open --------MCU Flashloader Info------- Current Version = K2.8.0 Target Version = T1.0.1 --------MCU device eFusemap-------- (0x940) SYSBT_CFG0 = 0x0 (0x950) SYSBT_CFG1 = 0x0 (0x960) SYSBT_CFG2 = 0x8 BT_FUSE_SEL = 1'b0 When BMOD[1:0] = 2'b00 (Boot From Fuses), no app in boot device, MCU enters serial downloader mode directly When BMOD[1:0] = 2'b10 (Internal Boot), MCU boots app according to both BOOT_CFGx pins and Fuse BOOT_CFGx ----------FlexRAM memory----------- IOMUXC_GPR->GPR16 = -------- --------MCU Device ROM Info-------- Unique ID[31:00] = 0x8295ad77 Unique ID[63:32] = 0x242cc80e Current Version = K3.0.1 Target Version = T3.0.0 Life Cycle status = HAB Open --------MCU Flashloader Info------- Current Version = K2.8.0 Target Version = T1.0.1 --------MCU device eFusemap-------- (0x940) SYSBT_CFG0 = 0x0 (0x950) SYSBT_CFG1 = 0x0 (0x960) SYSBT_CFG2 = 0x8 BT_FUSE_SEL = 1'b0 When BMOD[1:0] = 2'b00 (Boot From Fuses), no app in boot device, MCU enters serial downloader mode directly When BMOD[1:0] = 2'b10 (Internal Boot), MCU boots app according to both BOOT_CFGx pins and Fuse BOOT_CFGx ----------FlexRAM memory----------- IOMUXC_GPR->GPR16 = --------" It says "MCU has entered Flash loader but failed to configure external memory, Please reset board and set proper boot device and try again" My NOR Flash is W25Q32JV Quad SPI. Kindly help me in this regard. Thank you, Nagendra Re: IMXRT1176 Application Crashed , Later IMXRT doesnot boot Hi @Gavin_Jia , Thanks for your response. 1. I ran the example from RAM and i am getting the ID as 0. 2. Flash is connected to FlexSPI A  FlexSPI1 signal RT1176 ball/pad name FLEXSPI1_A_SCLK GPIO_SD_B2_07 FLEXSPI1_A_DATA0 GPIO_SD_B2_08 FLEXSPI1_A_DATA1 GPIO_SD_B2_09 FLEXSPI1_A_DATA2 GPIO_SD_B2_10 FLEXSPI1_A_DATA3 GPIO_SD_B2_11 FLEXSPI1_A_SS0_B GPIO_SD_B1_06 This board used to work with our application and i used it for implementing secondary bootloader for our application by using the flexspi example by erasing and programming the flash and during that time application hung and from then im unable to flash it.  Re: IMXRT1176 Application Crashed , Later IMXRT doesnot boot Hi @Nagendra_Kumar , The log shows the MCU, ROM and Flashloader are all fine (HAB Open, serial downloader connects). The failure is at FlexSPI–to–W25Q32JV initialization: the tools can't even read the SFDP parameters, so this is a board/config issue, not the flashing tool. Since a new flash also fails, please check in this order: First run the flexspi_nor_polling_transfer_cm7 example from internal RAM and read the JEDEC ID of the W25Q32JV. If the ID can't be read, it confirms a hardware/pin issue — don't focus on the flashing tool yet. Confirm which FlexSPI instance / pin group the flash is on. The default .cfx and MCUBootUtility assume FlexSPI1 Port A (EVK wiring). If yours is on FlexSPI2 or FlexSPI1 secondary, modify the pin-group field in option0 and burn the FLEXSPI_PIN_GROUP_SEL fuse (address 0x9A0[10]); in MCUBootUtility select the matching instance explicitly. Consider using the Secure Provisioning Tool (SPT), which has built-in FCB templates for the W25Q family and a Boot Memory Configuration feature to validate the setup first. Also, please confirm: has this board ever been successfully programmed and booted from the W25Q32JV before?  Best regards, Gavin Re: IMXRT1176 Application Crashed , Later IMXRT doesnot boot Hi, I forgot to mention, i even changed the NOR flash with a new part. Still the error remains.
記事全体を表示
Guider 1.10.1 crashes during operation. It's a Windows 11 computer, and the app keeps crashing randomly during the image pasting process. Sometimes it crashes very quickly, and sometimes it takes a little longer; there's no pattern to it. 回复: guider1.10.1闪退,在操作过程中会闪退 Hi @shier  Thank you for the information. GUI Guider v1.10.1 is an older release and may have compatibility or stability issues on Windows 11. We recommend upgrading to the latest GUI Guider v2.0.1 and checking whether the issue can be reproduced in the newer version.  If the crash still occurs with GUI Guider v2.0.1, please let us know and provide any crash logs, screenshots, or steps to reproduce the issue so that we can investigate further. BR Harry
記事全体を表示
88W8887 RF compliance testing Dear,  We are using a wifi/bluetooth module based on the 88W8887 chipset. For product compliance, we need to do a number of RF testing (tx continious packets, rx mode etc.). For another module 88W8997, we have followed the following application node: AN14114. However, the application note does not mention the 88W8887 as supported.  The application notes uses mwifiex driver. Looking at the code, the 88W8887 should be supported by the driver. Unfortunately, the driver requires a firmware file sd8887_wlan_a2.bin which we were not able to find.  What is the recommended way to run RF tests (similar as described in the AN) on the 88W8887? Does NXP still support this usecase? Kind regards, Yoshi 
記事全体を表示
guider1.10.1闪退,在操作过程中会闪退 是win11的电脑,贴图操作过程中随机闪退,有的时候很快闪退有的时候时间长一点再闪退,没有规律 回复: guider1.10.1闪退,在操作过程中会闪退 嗨@shier 谢谢你提供的信息。 GUI Guider v1.10.1 是一个较旧的版本,在 Windows 11 上可能存在兼容性或稳定性问题。 我们建议您升级到最新的 GUI Guider v2.0.1 版本,并检查该问题是否在新版本中仍然存在。 如果使用 GUI Guider v2.0.1 时仍然出现崩溃,请与我们联系并提供任何崩溃日志、屏幕截图或重现问题的步骤,以便我们进一步调查。 BR 哈里
記事全体を表示
AN15075 パッチは適用できません 比較的新しいユーザーマニュアルAN15075ファイル0001-add-AHAB-check-for-imxに言及しています remote-proc-process.patch AN15075SW.zipで見つけました。 このパッチファイルは以下の3行を適用します。 +#ifdef CONFIG_IMX_REMOTEPROC_AHAB +#include +#include +#endif に Linux-IMXからのdrivers/remoteproc/imx_rproc.c しかし、ファイル linux/firmware/imx/se_fw_inc.h存在しない(インターネット上のどこにも) そして、ファイル ele_base_msg はその場所には配置されていません。 Linux-imx lf-6.18.yのブランチ https://github.com/nxp-imx/linux-imx/tree/lf-6.18.y を担当しています 6.6や6.12でも見つけることができませんでした。 このパッチはどのバージョンのlinux-imxに適用すべきでしょうか? PSパッチを追加して無効にすると CONFIG_IMX_REMOTEPROC_AHAB Linux-imxもビルドしません。なぜなら、一部のコードが #ifdef で保護されているため、いくつかのプロパティが存在しなくなったからです。すべてではありません。 Re: AN15075 Patch can't be applied 当時実装したパッチは単なる概念実証に過ぎず、ソフトウェアチームはそれを上流リポジトリに統合することに同意しませんでした。 つまり、これは単なるリファレンス実装です。 その後の移植作業は継続されなかった。 Re: AN15075 Patch can't be applied Yocto Wrynose(Linux 6.18対応)のパッチはNXPで何か変更されますか? Re: AN15075 Patch can't be applied AN15075SWのカーネルパッチをlf-6.6.36-2.1.0に適用する/ BSP lf-6.6.36 。 $ git clone https://github.com/nxp-imx/linux-imx.git      $ git checkout -b lf-6.6.36-2.1.0lf-6.6.36-2.1.0 lf-6.18.y にそのまま適用できるとは期待しないでください。前方移植が必要です。 前方移植を行う場合は、インクルードパスとKconfigガードの両方を修正してください。あなたのPSは部分的なガードバグと一致しています。CONFIG_IMX_REMOTEPROC_AHABを無効にすると、既存のリモートプロシージャパスが構築可能になるはずですが、ANパッチでは、#ifdef CONFIG_IMX_REMOTEPROC_AHAB内でのみ導入された定義またはフィールドに依存する非AHABコードが残っているようです。 Re: AN15075 Patch can't be applied さらに調べてみました: このパッチでは以下のファイルが追加されるようです:[PATCH v4 6/7] firmware: imx: add ドライバ for NXP EdgeLock Enclave しかし、このコミットでは異なる方法で再適用されました:LF-13910: firmware: imx: add ドライバ for NXP EdgeLock Enclave · nxp-imx/Linux@0eff402 Re: AN15075 Patch can't be applied リモートプロシージャコードを修正してELEファームウェアを使用するようにすることは、セカンドコアでAHABを有効にするための推奨される方法でしょうか?
記事全体を表示
LSDK 21.08 OP-TEE 导致启动失败 使用 LS1043AE 的定制板无需 OP-TEE 即可正常安全启动。尝试将 OP-TEE 引入系统和控制台输出时,卡在以下位置: 注意:2 GB DDR4,32 位,CL=11,ECC 关闭 注意:BL2:v2.4(版本):LSDK-21.08-1-ga08bfddba-dirty 通知:BL2:构建时间:2026年8月31日 22:39:20 注意:正在初始化和配置 高效密码学标准(SEC) 模块。 注意:高效密码学标准\(SEC\) 已初始化并配置完成。 注意:正在验证 RSA 注意:正在验证哈希值 注意:正在验证 RSA 注意:正在验证哈希值 注意:正在验证 RSA 注意:正在验证哈希值 注意:BL2:正在启动 BL31 注意:BL31:v2.4(发布版):LSDK-21.08-1-ga08bfddba-dirty 通知:BL31:版本:2026年8月31日 22:39:48 通知:欢迎来到 ls1043aerb BL31 阶段 根据谷歌/Gemini的说法,他们认为GIC存在问题。ATF 和 OP-TEE 似乎使用的是 64k 页对齐,但在 uboot dts 中却是 4k 页对齐。我不认为这是个问题,或者至少目前还不是。因为它似乎根本没有初始化 OP-TEE。 有什么想法? QorIQ LS1设备 Re: LSDK 21.08 OP-TEE breaks boot 你的 u-boot 似乎有问题。 请问您能否尝试在启用 OPTEE 的情况下,启动普通的 u-boot(非安全模式)? Re: LSDK 21.08 OP-TEE breaks boot 我不介意尝试一下,但是这个测试的目的是什么呢?你目前认为uboot可能存在什么问题?既然不用 optee 也能正常工作,我很好奇可能出了什么问题,或者我应该检查哪些方面? Re: LSDK 21.08 OP-TEE breaks boot 我首先会检查以下内容: 以调试模式重建 TF-A,并确认确切的停止点。 如果可行,请使用 DEBUG=1 LOG_LEVEL=50,或者在早期 BL31 平台代码中添加 NOTICE() 面包屑: 平台设置条目 GIC 初始化 TZC/TZASC/TZPC 设置 安全有效载荷调度器/OP-TEE 设置 BL32入口点准备 NXP 对类似 LS1043A 挂起问题的指导是添加 ATF/U-Boot 调试打印或使用 CodeWarrior/JTAG 检查执行卡在哪里。 确认 FIP 确实包含 BL32,并且 BL31 是使用 OP-TEE 支持构建的。 对于 TF-A 中的 OP-TEE,构建必须包含 SPD=opteed 和 BL32= ;对于安全启动/NXP CoT,安全 TF-A 构建流程还包括 TRUSTED_BOARD_BOOT=1、CST_DIR=...、BL32=$TEE_BIN、SPD=opteed 和 BL33=$UBOOT_SECURE_BIN。 运行类似这样的命令: fiptool info fip.bin 并确认 BL31、BL32/OP-TEE 和 BL33 都存在。如果 BL32 缺失或 BL31 没有使用 SPD=opteed 构建,则永远不会输入 OP-TEE。 检查 LS1043A 安全启动保留内存处理。 据报道,LS1043A 的安全启动问题已通过将 plat/nxp/soc-ls1043a/soc.def NXP_ROM_RSVD 的值从 0x5900 改为 0x8000 得到修复。既然您已经启用了安全启动,现在又添加了另一个已签名的 FIP 组件,那么就值得尽早检查一下。这比后来的 U-Boot DTS GIC 对齐问题更合理。 不要以为“RSA/哈希已验证”就意味着图像布局良好。 您的 BL2 日志证明其验证的组件的身份验证已成功,但并未证明运行时地址、保留内存重叠、BL32 加载地址或 BL31 安全有效载荷配置是否正确。BL2 的文档记录显示,在将控制权交给 BL31 之前,它会在验证后将 BL31/BL32/BL33 加载到 DDR。 如果挂起转移到 BL31:正在初始化 BL32,则将焦点转移到 OP-TEE 本身。 在后期阶段,我会查看 OP-TEE 加载地址、安全 DDR 分区、寻呼机/非寻呼机布局、CAAM/高效密码学标准(SEC) 配置和 OP-TEE 控制台。NXP 在相关的 OP-TEE/加密上下文中提供了指导,当怀疑 OP-TEE 加密初始化过早时,可以尝试使用 CFG_NXP_CAAM=n 和 CFG_CRYPTO_DRIVER=n 禁用 OP-TEE 中的加密/CAAM 功能。但您当前的日志尚不能证明 OP-TEE 正在被输入。 我最强烈的假设是:启用 OP-TEE 时,BL31 的构建/配置有所不同,并且在 OP-TEE 横幅或 BL32 条目之前,BL31 平台/SPD 设置早期阶段会卡住。我首先会在 GIC/平台设置周围对 BL31 进行插桩,并验证 FIP/SPD=opteed/BL32=tee.bin/secure-boot CSF 布局,然后检查 LS1043A NXP_ROM_RSVD=0x8000 问题。 Re: LSDK 21.08 OP-TEE breaks boot 所以我用调试模式编译了 atf,在程序静默挂起之前看到的最后一条信息是: 信息:BL31:正在初始化 BL32 所以如果我理解你的建议没错的话,我现在应该重点关注 OP-TEE,对吗? Re: LSDK 21.08 OP-TEE breaks boot 是的,请先使用正常启动(非安全启动)验证 OP-TEE,以确保您的 OP-TEE 构建和部署过程没有问题。 Re: LSDK 21.08 OP-TEE breaks boot 我相信我之前用错了 tee.bin 文件。 我之前使用的是手动构建 OP-TEE 时生成的 tee.bin 文件,而不是我需要生成的 objcopy 版本。这样似乎可以启动系统并进入 Linux 系统。 我还有一些关于 optee 的内核日志消息需要查看,但由于这个问题已经解决,我将关闭此帖。
記事全体を表示
QNX 7.1のPFEに関するPTP/IEEE 1588のサポートおよび設定ガイダンスS32G274A要請 こんにちは、専門家の皆さん。 カスタムS32G274AボードのPFEイーサネットインターフェースにIEEE 1588/PTPの時間同期を実装する計画です。 現在のソフトウェア構成は以下の通りです: - SoC:NXP S32G274A - ボード:お客様ボードS32G274A - オペレーティングシステム:QNX 7.1 - PFEドライバ:PFE-DRV_S32G_A53_QNX 1.9.0、io-pktバージョン - PFEファームウェア:PFE-FW_S32G 1.12.0 - テスト中のPFEインターフェース:PFE EMAC0およびPFE EMAC2 - PFE EMAC1は外部AQR113C PHYのファームウェアがまだプログラムされていないため、現在のテストには含まれていません。 PFEドライバーのソースコードを確認したところ、IEEE 1588に対応しており、以下のQNXドライバー固有のPTPコマンドが実装されていることがわかりました。 - PTP_GET_TIME - PTP_SET_TIME - PTP_GET_TX_TIMESTAMP - PTP_GET_RX_TIMESTAMP - PTP_SET_COMPENSATION - PTP_GET_COMPENSATION 現在のデフォルトのビルド構成では、この機能が無効になっています: PFE_CFG_IEEE1588_SUPPORT=0 PFE_CFG_IEEE1588_I_CLK_HZ=0 PFE_CFG_IEEE1588_EMAC0_O_CLK_HZ=0 PFE_CFG_IEEE1588_EMAC1_O_CLK_HZ=0 PFE_CFG_IEEE1588_EMAC2_O_CLK_HZ=0 当社のスタートコードはすでにSCMIを通じてPFE_TSクロックを有効にしていますが、PFEドライバーでIEEE 1588の入出力クロック周波数はまだ設定していません。 以下の質問についてアドバイスをいただけますか? 1.PFE EMAC0/EMAC1/EMAC2 on S32G274Aは、QNX 7.1のPFE-DRV 1.9.0およびPFE-FW 1.12.0でIEEE 1588ハードウェアの送信およびRXタイムスタンプを公式にサポートしていますか? 2. S32G274Aの期待されるSCMI PFE_TSクロック周波数は? 3. 以下のビルドパラメータに推奨される値は? PFE_CFG_IEEE1588_I_CLK_HZ PFE_CFG_IEEE1588_EMAC0_O_CLK_HZ PFE_CFG_IEEE1588_EMAC1_O_CLK_HZ PFE_CFG_IEEE1588_EMAC2_O_CLK_HZ 4. 3台のPFE EMACはすべて同じPTPハードウェアクロックを共有しているのか、それともそれぞれ独立したPTPシステムタイムカウンタを持っているのか? 5. このドライバがサポートしているPTPトランスポートモードは? - レイヤ2 PTP、EtherType 0x88F7 - UDP/IPv4 - UDP/IPv6 - ワンステップタイムスタンプ - 2段階タイムスタンプ - エンドツーエンド遅延メカニズム -ピアツーピア遅延メカニズム 6.PTPを有効にするには、追加のPFEファームウェア設定、ファームウェア機能、FCI設定、または起動初期化が必要ですか? 7. このPFEドライバーにはNXPやQNXが推奨するユーザー空間のPTPデーモンやサンプルアプリケーションはありますか?現在のドライバーはnetdrvr/ptp.hを通じてPTP機能を公開していますそしてLinuxスタイルの/dev/ptpX PHCデバイスではなく、SIOCGDRVSPEC/SIOCSDRVSPECです。 8. 既知のエラー、制限事項、または必要な初期化シーケンスはありますか? - PFEタイムスタンプクロックの初期化。 - HIFを介したTX/RXタイムスタンプの配信。 - タイムスタンプ補正; - 複数のPFE EMAC上でPTPを同時に運用できますか? もし可能であれば、QNXのPFE上でIEEE 1588の参照構成、サンプルアプリケーション、または検証手順S32G274A提供していただけますか? ごサポートありがとうございます。 BR、 ワイテワン Re: Request for PTP/IEEE 1588 Support and Configuration Guidance for S32G274A PFE on QNX 7.1 こんにちは、エキスパートさん。 詳細な情報を提供していただきありがとうございます。PFE-DRV 1.9.0およびPFE-FW 1.12.0で、PTPの時間および補償インターフェースがPFE0およびPFE2で正しく動作することを確認しました。 このNXP PFEサポートケースを終了する前に、S32G274Aに特化した3点を明確にしていただけますか? 1. 現在、有効になっているEMACには、PFE_CFG_IEEE1588_I_CLK_HZ = 200 MHzおよび50 MHzの出力クロックを使用しています。この構成は公式にサポートされ推奨されていますか? 2. 各PFE EMACは独立したIEEE 1588タイマーを持っているのか、それともEMACが他のEMACからタイムベースを共有するように設定できるのか? 3.必要な400 MHzのXBARクロックはどこで設定されており、それを検証するためにどのレジスタやランタイム表示が使えるのか? Re: Request for PTP/IEEE 1588 Support and Configuration Guidance for S32G274A PFE on QNX 7.1 こんにちは、ウェイトワン お問い合わせいただきありがとうございます。以下の情報がお役に立てば幸いです! 1.IEEE 1588タイムスタンプ機能(AAVB-2500)は、BETA_0.9.0で初めて導入されました。元の記録は[PFE_QNX_DRIVER] IEEE1588タイムスタンプのサポートを追加してください。(PFE-FW_S32G_1.12.0_ReleaseNotes.pdf を参照してください。)ソフトウェアの互換性は要件を満たしています。 Joey_z_1-1788772191193.pngJoey_z_1-1788772191193.pngJoey_z_1-1788772191193.png Joey_z_0-1788772167682.pngJoey_z_0-1788772167682.pngJoey_z_0-1788772167682.png 2. PFE_TSのクロックはGMAC_TS_CLKによって供給され、その範囲は5~200MHzです。最小値は、設定モードに基づいて決定する必要があります。 Joey_z_2-1788772339124.pngJoey_z_2-1788772339124.pngJoey_z_2-1788772339124.png Joey_z_3-1788772351660.pngJoey_z_3-1788772351660.pngJoey_z_3-1788772351660.png 3. GMAC0_TS_CLKの値に応じて設定する必要があります。以下の内容を参照してください。 Joey_z_4-1788772395380.pngJoey_z_4-1788772395380.pngJoey_z_4-1788772395380.png 4. はい、以下の図を参照できます。 Joey_z_5-1788772417926.pngJoey_z_5-1788772417926.pngJoey_z_5-1788772417926.png 5. コードおよびドキュメントの開始から、技術的にはPTPは一様にトランスポート層を識別し、(UDP/IPv4、UDP/IPv6、レイヤー2 PTP)、ツーステップおよびE2E/P2Pをサポートします。 6. 以下の点にご注意ください:タイムスタンプ機能が安定して動作するためにXBARクロックは400 MHzに設定されており、S32Gリファレンスマニュアルを参照してください。PFE_CFG_IEEE1588_EMACn_O_CLK_HZ値はPFE_CFG_IEEE1588_I_CLK_HZ未満でなければなりません。ロードプロセスを起動する前に、以下のことを確認する必要があります:関連するすべてのクロック、電源/リセット、PFEのピンがS32G RMに従って設定されており、ファームウェアのバイナリs32g_pfe_class.fwがターゲットボードに展開されています。 7. NXPはQNX PFEドライバー用の既成のPTPデーモンやサンプルアプリケーションを提供していないことをお詫びします。 8.添付書類の以下の内容をご参照ください。 PFE-DRV_S32G_QNX_1.9.0_ReleaseNotes.pdf/4既知の問題 PFE-DRV_S32G_QNX_1.9.0_UserManual.pdf/5.2制限事項 PFE-DRV_S32G_QNX_1.9.0_UserManual.pdf/5使用法 現在、専用の応用例は提供していません。以下の文書に記載されている関連情報を参照することをお勧めします。(PFE-DRV_S32G_A53_QNX_1.9.0\doc) BR ジョーイ Re: Request for PTP/IEEE 1588 Support and Configuration Guidance for S32G274A PFE on QNX 7.1 こんにちは、ウェイトワン ご返信よろしくお願いします。 1.入力クロックについては、S32G RM に従って 100MHz が推奨されています。PFE_CFG_IEEE1588_EMACn_O_CLK_HZ の値は PFE_CFG_IEEE1588_I_CLK_HZ より小さくなければなりません。 Joey_z_0-1788848856306.pngJoey_z_0-1788848856306.png 2.PFE EMACは、内部タイムスタンプモードと外部タイムスタンプモードの2つのタイムスタンプモードをサポートします。詳細は第6.4.1章「IEEE1588タイマーの設定と有効化」のPFE-DRV_S32G_QNX_1.9.0_UserManual.pdfを参照してください。 3. XBARクロックはATFで設定されます。ubootの「clk dump」の推薦を使って確認できます。 この情報があなたの助けになれば幸いです。 BR ジョーイ
記事全体を表示
KW47:WDOG待機/停止モードと電源モード(スリープ/ディープスリープ)の関係 こんにちは、 KW47リファレンスマニュアルを読んでいるのですが、WDOGの低消費電力モードとシステムの電源モードの関係について混乱しています。 WDOGの章では、制御およびステータスレジスタには次のビットが含まれています。 - 待って: 「チップが待機モードのときにWDOGが動作できるようにします。」 - 停止: 「チップが停止モードのときにWDOGが動作できるようにします。」 WDOGの章には、次のようにも記載されています。 - 選択したWDOGクロックソースは、停止モードでもアクティブな状態を維持する必要があります。 デバッグモードおよび停止モードでは、バスクロック以外のクロックソースを使用する必要があります。 一方、「電源モード」の章では、以下のことが説明されています。 スリープモード: - CPUの実行が停止しました - コアクロックゲートオフ システムクロックとバスクロックは引き続き動作する可能性があります。 ディープスリープモード: - コアクロックゲートオフ - システムクロックゲートがオフになっています バスの時計が閉まっている これらの記述に基づくと、以下のように解釈するのが妥当と思われる。 - 待機モード ≈ スリープモード - 停止モード ≈ ディープスリープモード しかし、リファレンス・マニュアルにはこのマッピングを裏付ける明確な記述は見つかっていません。 私の質問は以下のとおりです。 1. WDOG待機モードはKW47のパワーモードスリープモードに対応しますか? 2. WDOG停止モードはKW47のパワーモードのディープスリープモードに対応しますか? 3. それとも、待機/停止はWDOG特有のCPU状態で、SoCの電源モードとは異なるのでしょうか? 4. この関係を明示的に説明したリファレンス・マニュアルのセクションやアプリケーションノートはありますか? ご協力ありがとうございます。 Re: KW47: Relationship between WDOG Wait/Stop modes and Power Modes (Sleep/Deep Sleep) こんにちは、お元気でお過ごしでしょうか。   KW47リファレンスマニュアルで使用されている用語は、WDOG制御レジスタのWAITおよびSTOPフィールドを、WDOG固有のCPU状態ではなくチップ/コアの低消費電力状態を参照として解釈するものと一致しています。両者の関係は、厳密な等価関係というよりは、機能的な対応関係と表現するのが適切でしょう。 その意味で、WDOG WAITは待機/スリープクラスの状態に相当し、CPUの実行は停止するものの、システムクロックとバスクロックは引き続き使用可能となる。WDOG STOPはStop/Deep-Sleepクラス条件に対応し、コア、システム、バスのクロックがゲートされており、ウォッチドッグはそのモードでアクティブなクロックソースを使用するように設定されて初めて継続できます。   よろしくお願いします、 ソフィア。 Re: KW47: Relationship between WDOG Wait/Stop modes and Power Modes (Sleep/Deep Sleep) こんにちは、ソフィアさん。 先ほどのご説明、ありがとうございました。 あなたの回答に基づくと、私の理解は以下のとおりです。 - WDOG WAITは、待機/スリープクラスの低電力状態に対応します。 - WDOG STOPは、停止/ディープスリープクラスの低電力状態に相当します。 この関係は、厳密な一対一の対応関係ではなく、機能的な対応関係である。 KW47リファレンスマニュアルを改めて確認したところ、次のセクションを見つけました。 28.4 低消費電力モードでのモジュール動作 表225:低消費電力モードでのCortex M33コアモジュールの動作 WDOGxの場合、表には以下が示されています。 - スリープ:オン - ディープスリープ:オプション - 電源オフ:オプション - ディープパワーダウン:オフ この表から、WDOGの動作は少なくともディープスリープと電源オフモードで設定可能だと解釈しました。 挙動をよりよく理解するために、KW47-Loc評価ボードを使ってテストを行いました。 試験条件: - WDOGが有効 - WDOG の更新は vApplicationIdleHook() から実行されます - PWR_EnterLowPower() は FreeRTOS の vPortSuppressTicksAndSleep() から実行されます。 低電力状態に入った後にウォッチドッグリセットが発生するかどうかを観察する テスト結果: CASE 1 待機=0、停止=0 → ウォッチドッグのリセットは発生しませんでした CASE 2 WAIT=1、STOP=0 → ウォッチドッグリセットが行われました ケース3 WAIT=0、STOP=1 → ウォッチドッグのリセットは発生しませんでした 私の解釈では、ウォッチドッグリセットが発生した際、デバイスは低電力状態に入り、vApplicationIdleHook()は実行されなくなったものの、ウォッチドッグは実行を継続し、最終的にタイムアウトしたと考えられます。 しかし、ウォッチドッグリセットはWAIT=1かつSTOP=0の場合にのみ発生し、STOP=1の場合はウォッチドッグリセットは発生しなかった。 この結果から、低電力モード時のウォッチドッグ動作において、WAITビットとSTOPビットが実際にどのように適用されるのか理解に苦しんでいます。 以下の点について説明していただけますか? 1.デバイスが PWR_EnterLowPower() によって低電力モードに入った場合、WDOG の動作は WAIT ビットと STOP ビットのどちらによって制御されますか? 2. 観測された結果は、デバイスがディープスリープモードではなくスリープモードに入っていることを示しているのでしょうか、それともディープスリープモードに入っていると解釈すべきでしょうか? 3. STOPビットは、電源モードの章で説明されているディープスリープモードに対応していますか、それとも別の低電力状態を指していますか? 4. 表225の以下の項目は、WDOG WAITおよびSTOP制御ビットに関してどのように解釈すべきですか? - WDOGx:オプション(ディープスリープ) - WDOGx:オプション(電源オフ) 再開まで今しばらくお待ちください。 Re: KW47: Relationship between WDOG Wait/Stop modes and Power Modes (Sleep/Deep Sleep) @sofiaurueta 追加のテストを実施し、その結果を上記の記事に追記しました。 私の解釈が正しいか教えていただけませんか? よろしくお願いします。 Re: KW47: Relationship between WDOG Wait/Stop modes and Power Modes (Sleep/Deep Sleep) こんにちは、 @hyama さん。返信が遅くなり申し訳ありません。   SDKの例を使ってテストしていますか?デバイスがディープスリープモードに入っていることをどのように確認していますか? ご説明いただいた動作から判断すると、デバイスは単にスリープモードに入っているだけかもしれません。もしデバイスがディープスリープに入っていたら、結果は逆になります。STOP=1(CASE 3)がタイムアウトを引き起こし、WAIT=1(CASE 2)は影響がないはずです。WAIT=1がリセットをトリガーするという事実は、デバイスがディープスリープではなくスリープモードに入ったことと一致している。   皆様からのご質問にお答えします。 1.デバイスが PWR_EnterLowPower() によって低電力モードに入った場合、WDOG の動作は WAIT ビットと STOP ビットのどちらによって制御されますか? CS[WAIT]とCS[STOP]は、それぞれ独立したモードを制御する独立した制御装置であり、CS[WAIT]はスリープモードでのWDOGの動作を制御し、CS[STOP]はディープスリープモードでのWDOGの動作を制御します。 デバイスがスリープモードに入る場合、CS[WAIT]がアクティブコントロールとなります。CS[STOP]はここでは効果がありません。なぜなら、ディープスリープには入らないからです。デバイスが代わりにディープスリープに入るように設定されている場合、CS[STOP]がアクティブな制御になります。   2. 観測された結果は、デバイスがディープスリープモードではなくスリープモードに入っていることを示しているのでしょうか、それともディープスリープモードに入っていると解釈すべきでしょうか? この結果はスリープモードへの移行とは一致するが、ディープスリープとは一致しない。3つのテストケースに基づき、スリープモードに入っています。   3. STOPビットは、電源モードの章で説明されているディープスリープモードに対応していますか、それとも別の低電力状態を指していますか? ドキュメントによると、CS[STOP]はディープスリープに対応し、テストで観察された挙動はこれと一致しています(ディープスリープが入力されていないと仮定した場合)。   4. 表225の以下の項目は、WDOG WAITおよびSTOP制御ビットに関してどのように解釈すべきですか? ディープスリープの「オプション」とは、CS[STOP]=1かつバスクロック以外のクロックソースが設定されている場合にWDOGがディープスリープで動作できることを意味します。デバッグモードおよび停止モードでは、バスクロック以外のクロックソースを使用する必要があります。バスクロックを用いることで、ウォッチドッグはアーキテクチャ的に「有効化」できますが、そのクロックは失われており、例えば32K_CLKなど別のクロックソースが選択されない限りは消えています。 よろしくお願いします、 ソフィア。
記事全体を表示
Plumber Loveland CO Common Plumbing Issues and When to Seek Help Last Updated: 9 September 2026 (Official Website In Comment Box) Plumber Loveland Co refers to professional plumbing services available in Loveland, Colorado, designed to help homeowners and businesses handle common plumbing needs. From leaky faucets and clogged drains to water heater issues and more complex plumbing repairs, experienced plumbers can provide practical solutions to keep plumbing systems working properly. This is one of the things that makes choosing a reliable plumber in Loveland, CO important when you need timely and dependable service. The main idea behind Plumber Loveland Co is simple: provide customers with professional plumbing assistance for everyday repairs, maintenance, installations, and unexpected plumbing problems. A qualified local plumber can help identify the cause of an issue, recommend an appropriate solution, and complete the necessary work safely and efficiently. Whether you need help with a minor repair or a larger plumbing project, having access to a trusted plumbing professional can help protect your property and keep your home's plumbing system functioning smoothly.
記事全体を表示
88W9098 エネルギー検出 (ed_mac) チューニング こんにちは、 私たちは、SDIO経由でSDR50で動作するu-blox M2-JODY-W377に88W9098を使用しています。githubからlf-6.18.20_2.0.0のドライバ/ファームウェアバージョンがあります。2.4GHzチャネル6のアクセスポイントとして使っています。 ed_macを有効にする(wifi_mod_para.confで「init_hostcmd_cfg=nxp/ed_mac.bin」を使ったり、mlanutlをed_mac_ctrl_V3_909x.confで使用したり)すると、社内の適用テストの安定性やレイテンシが大幅に悪化する問題に直面しています: ed_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.pnged_mac_test.png ここで詳しくは説明できませんが、これは複数のマシンを使い、88W9098アクセスポイントを中央に配置して、特定の社内段階をエンドツーエンドでレイテンシ測定するものです。ed_macを使うと平均200〜250ms高い曲線もありますが、全体的にカゲが強く、ランダムな「レイテンシ」が増えることもあります。 オフセット「ed_ctrl_2g.offset」を調整してみました。そして「ed_ctrl_5g.offset」をデフォルトの0x8とは異なる値に設定しましたが、試したどの値もテストには影響しませんでした。影響を与える唯一の方法は、有効化(2g/5g)を0にするか、起動時にファイルを読み込まないことです。 他に試せることはある? Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 詳細な説明とテストデータをありがとうございました。ed_mac(エネルギー検出MAC)機能の設計上、実際に見られる動作は想定内ですが、いくつか確認して明確にしておくべき点があります。 なぜed_mac APモードでレイテンシが高くなるのか ed_mac機能は、EU ETSI EN 300 328適応性適合性試験のために特別に設計されています。その基本的な仕組みは、ファームウェアがチャネル上のエネルギーを閾値以上に検知した場合に、送信を能動的に抑制することです。アクセスポイントのシナリオでは、無線機が周囲エネルギーを検知するとバッファリングされたダウンリンクパケットが直接遅延し、測定しているレイテンシスパイクや「バースト」が発生します。オフセットパラメータを調整すると閾値感度(無線機のトリガーのしやすさ)は変わりますが、抑制動作自体は消えません。だからこそ、オフセット値がエンドツーエンドのレイテンシテストに測定可能な影響を与えなかったのです。 設定ファイルの不一致 あなたはed_mac_ctrl_V3_909x.confを使用しているようですね。当社のアプリケーションノートAN13756によると、88W9098の正しい設定ファイルは ed_mac_ctrl_V2_909x.conf です(デフォルトはed_ctrl_2g.offset = 0x08、ed_ctrl_5g.offset = 0x08)。V3バージョンは、ed_ctrl_txq_lockフィールドの値が異なり、このデバイスの検証済み構成ではありません。ed_mac_ctrl_V2_909x.confを使って、レイテンシの影響が改善するか試してみてください。 重要な質問:貴社の展開において、EUの適応性に関する要件を満たす必要がありますか? ETSI EN 300 328の適応性要件は、EU/EEA市場で運用され、最大RF出力が10 dBm EIRP以上と宣言されている機器にのみ適用されます。確認いただけますか: この機器はEU域内で展開されており、ETSI EN 300 328認証の対象となっていますか? あなたのモジュール(u-blox M2-JODY-W377)の宣言されたRF出力電力はどれくらいですか? EU準拠があなたのユースケースに必要でない場合、正しい解決策は単純 にed_mac構成をロードしない ことです。すでに確認済みでレイテンシ問題は完全に解決されます。 コンプライアンスが必要な場合は、まずed_mac_ctrl_V2_909x.confに切り替えることをおすすめします。レイテンシの問題が続く場合は、APモードの挙動を改善するための新しいファームウェアバージョンがあるかどうか検討できます。 上記の質問への回答をお知らせください。それに応じて対応させていただきます。 よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning ウェイドンさん、ありがとう。はい、製品は確実に10dBm以上のEIRPを出力しており、EN 300 328準拠が必要です。 ed_mac_ctrl_V2_909x.conf ( https://github.com/u-blox/u-blox-sho-host-based/blob/main/JODY-W3/txpower_config/ed_mac_ctrl_V2_909x.conf ) を試してみましたが、動作に変化はありませんでした。 私たちが理解していないのは、このモジュールをDoodleLabs(QCA988Xベース)のものと交換し、同じ環境で同じテストを行うと、EN 300 328も認証される一方で、レイテンシの問題は全くないということです。だから、なぜ88W9098のed_mac実装がこのような問題を引き起こすのに、他のチップメーカーのものは起きないのか疑問に思っています。 バージョンlf-6.18.20_2.0.0の他に、hotfix/lf-6.12.49_2.2.0_hotfixも試しましたが、問題は依然として発生しています。 さらに詳しい情報はこちら: * JODYのアクセスポイントには2つのステーションがあります。 * テスト中にステーションとJODYの間で使用される帯域幅は非常に低い(約6KiB/s)ですが、主にSTA→AP方向の小さなパケットが多数含まれています。 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、   お客様のご依頼内容を社内チームに報告いたしました。専門家の回答を一緒に待ちましょう。何か新しい情報が入り次第、すぐに皆さんと共有します。   よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 内部チームがこの問題を分析中です。以下の情報を教えていただけますか?社内チームから以下のフィードバックを受けました。 ====================================================== ドライバーのロードパラメータと、問題を再現するために使われた完全なドライバーのロード/アンロードコマンドシーケンス。 ed_mac_ctrl_V2_909x.conf 設定ファイル。 ログ さらなる調査のために、問題を再現する際に取得した画像です。 ホストの詳細(以下を含む): ホストプラットフォーム カーネルバージョン ドライバーバージョン 使用されているインターフェース(PCIe/SDIO)   これらの詳細は、お客様のセットアップと社内テストを関連付け、分析を迅速化するのに役立ちます。 ====================================================== ありがとうございます よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 何か進展はありましたか? よろしくお願いします! よろしくお願いいたします。 維東 Re: 88W9098 Energy Detect (ed_mac) tuning こんにちは、ウェイドンさん。現在you-bloxで問題のトラブルシューティングを行っているので、もしNXPにエスカレーションされた場合に備えて衝突を防ぐため、今は彼らとだけ相談するつもりです。助けてくれてありがとう。 Re: 88W9098 Energy Detect (ed_mac) tuning @mjourdan様、 はい、わかりました。 最新情報のご提供ありがとうございます。 よろしくお願いいたします。 維東
記事全体を表示
S32k344 MBIST LBIST 我正在 Green Hills 的一个项目中实施 S32k344 BIST。由于我不使用 Tresos 或 NXP DS,所以我使用的是源代码形式的 SW32K3_SPD_1.0.6_D2512。我能够导入大部分 bist 函数,但有一些我不确定的定义(到处都找不到它们)。请问有人能回答以下问题吗? 1. 当 S32k344 处于锁定步进模式时,我可以运行 LBIST MBIST 吗? 2. 我通过检查代码猜测以下定义是否正确? #define BIST_MBIST_0 1U #define BIST_MBIST_1 2U #define BIST_MBIST_2 3U #define BIST_MBIST_3 4U #define BIST_MBIST_4 5U #define BIST_MBIST_5 6U #define BIST_MBIST_6 7U #define BIST_MBIST_7 8U #define BIST_MBIST_8 9U #define BIST_MBIST_9 10U #define BIST_MBIST_10 11U #define BIST_LBIST_0 0U 我使用的配置数据如下: static const BIST_CHANNEL_CONFIG_TYPE BistConfig[BIST_SAFETYBOOTCFG_NB] = { { (BIST_CHANNEL_TYPE)BIST_MBIST_0, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_1)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_1, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_2)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_2, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_3)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_3, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_4)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_4, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_5)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_5, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_6)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_6, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_7)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_7, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_8)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_8, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_9)) }, //#endif { (BIST_CHANNEL_TYPE)BIST_MBIST_9, (BIST_CONTROL_TYPE)((0x80100000U) | BIST_MBIST_PTR_VAL(BIST_MBIST_10)) }, { (BIST_CHANNEL_TYPE)BIST_MBIST_10, (BIST_CONTROL_TYPE)(0x00100000U) }, { (BIST_CHANNEL_TYPE)BIST_LBIST_0, (BIST_CONTROL_TYPE)((0x00001108U) | BIST_LBIST_PTR_VAL(BIST_NIL)) } }; Re: S32k344 MBIST LBIST 你好, 1. 当 S32k344 处于锁定步进模式时,我可以运行 LBIST MBIST 吗? 是的。S32K344 锁步架构不会阻止 STCU2 LBIST/MBIST 的执行。BIST 机制是设备功能安全基础设施的一部分,旨在测试由 STCU2 管理的逻辑和存储器。The S32K3 功能安全 Manual explicitly lists both lockstep and STCU2 LBIST/MBIST as safety mechanisms of the 设备. 2. 我通过检查代码猜测以下定义是否正确? 对于 S32K344 来说,这些数值基本正确,但从功能安全角度来看,在功能安全启动配置中包含 MBIST_10 (HSE_ROM) 并非必需,建议直接使用经过验证的 SPD 配置。 顺祝商祺! Peter Re: S32k344 MBIST LBIST 彼得 非常感谢您的回复。我这几天一直被BIST测试问题困扰着。我正在使用 S32k344 白板进行测试,代码是用 Green Hills Multi IDE rev 8.1 版本 的。安全靴自检未通过。我确信核心和外设都满足最大时钟频率要求。我的核心时钟频率为 160MHz,来自外部晶振 16MHz 和 PLL,AIPS_PLAT_CLK 为 80MHz,AIPS_SLOW_CLK 为 40MHz,DCM_CLK 为 40MHz,LBIST_CLK 为 40MHz,QSPI_MEM_CLK 为 160MHz。当设备从 BIST 运行复位时,出现以下错误:DES 寄存器为 0x00408175,一些保留位被设置,FES 寄存器为 0x2000(这没有意义)。请问您能否回答以下问题? 1. 对于上面提到的所有时钟信号,是否应该通过 MC_CGM->MUX_0_DC_x 寄存器启用它们?我正在获得 信息相互矛盾,目前这些功能已启用。 2. 在参考手册的 STCU2 章节中,有这样一段话:“在 EMAC 时间戳存储器上运行 MBIST 时,应适当配置 MC_CGM.MUX_9_DC_0[DIV],以确保 EMAC_CLK_TS 至少是 AIPS_SLOW_CLK 频率的 1.5 倍。”那是不是意味着我必须配置时钟并在 MC_CGM->MUX_9_DC_0 寄存器中启用它? 3. 如果我想查看 SW32K3_SPD_1.0.6_D2512 软件包中的示例代码 S32_SPD_Demo,我猜我需要安装最新的 NXP Design Studio,将 spd zip 文件作为更新站点导入,还需要 RTD 软件包,是这样吗? 4. 我认为 MBIST 10 是 HSE_RAMS,MBIST 11 是 HSE_ROMS,请参阅 SPD 文档文件夹中的下表。 MBIST BIST ID BIST实例名称 RESET 功能域 安全靴 功能安全诊断 0 SYS0_RAMS 主要 ü ü 1 SYS1_RAMS 主要 ü ü 2 DMA_TCD_RAM 主要 ü ü 3 CM7_0_TOP 主要 ü ü 4 CM7_1_TOP 主要 ü ü 5 FLEX_CAN_RAMS 主要 ü ü 6 QSPI_PERI_RAMS 主要 ü ü 7 EMAC_TSN_RAM 主要 ü ü 8 EMAC_RAMS 主要 ü ü 9 b03_ETF_RAMS 主要 ü ü 10 HSE_RAMS 主要 ü ü 11 HSE_ROMS 主要   ü Re: S32k344 MBIST LBIST 我的问题有了新的进展,在我启用 STCU_RUNSW_REG 中的第 8 位和第 9 位以使用 PLL 之后,我一直看到 DES 寄存器为 0x11,FES 寄存器为 0x10。bist_get_exec_status(BIST_SAFETYBOOT_CFG) 返回值为 NOT RUN (0x03)。BIST ERR_STAT 寄存器中没有任何内容,END 标志也没有设置。FCCU NCF_S0 寄存器中的第 2 位已设置。BIST 似乎没有启动,但我确实看到了 RESET。我通过写入另一侧银行的闪存来捕获寄存器设置。 Re: S32k344 MBIST LBIST 我检查了所有可能的时钟,我相信它们是正确的。我还将寄存器中的配置数据与 NXP studio spd 示例项目中的值进行了比较,它们也是正确的。一条新信息。系统从 BIST RESET 后,我在 DCMROD3 寄存器中看到值 0x18。我该如何解决这个错误?谢谢。 XRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.pngXRen_Parker_0-1788544110794.png Re: S32k344 MBIST LBIST 你好, STCU 自检序列正在进入并到达 ST_DONE RESET 阶段。但是,STCU 还报告了一个不可恢复的故障 (STCU_URF),这就解释了为什么 SAF BIST 驱动程序随后报告 BIST_NORUN。因此,问题似乎是 STCU 执行/配置失败,而不是 BIST 从未触发信号的情况。 在 S32K3 上,同时看到破坏性复位和功能性复位指示通常表明您正在查看复位历史记录,而不是当前的复位源。 既然你在移植软件,我建议先从仅进行 MBIST 测试开始,看看它是否能从 PLL 源通过。 另外,我建议你再检查一下测试的时钟设置。 顺祝商祺! Peter Re: S32k344 MBIST LBIST 你好, 在 S32K344 上,RCCU 报告锁步不匹配,并且当连接到调试器时,经常会出现与 RCCU 相关的故障,而这些故障在独立执行中永远不会发生。 如果您按照示例中的设置进行操作,您将看到完整的 BIST(内置自测试)。 示例已测试,默认情况下完全可用。 但是您的端口报告 URF 故障,这说明并非所有部件都相同。 查阅STCU文档,用户可以设置指向测试的指针。 54.9.4 STCU2 配置 (CFG) petervlna_0-1788766597312.pngpetervlna_0-1788766597312.pngpetervlna_0-1788766597312.png 您可以先尝试减少测试用例,然后慢慢添加更多测试用例。 在 MBIST 和 LBIST 控制寄存器中,您可以设置哪个测试将是最后一个: petervlna_1-1788766735386.pngpetervlna_1-1788766735386.pngpetervlna_1-1788766735386.png 例如,通过指向 CFG 寄存器中的某个位置,您可以执行单个 MBIST 分区: petervlna_2-1788766853581.pngpetervlna_2-1788766853581.pngpetervlna_2-1788766853581.png petervlna_3-1788766973925.pngpetervlna_3-1788766973925.pngpetervlna_3-1788766973925.png 顺祝商祺! Peter Re: S32k344 MBIST LBIST 我尝试按顺序运行 mbist,也尝试过单独运行 mbist 测试 ID。结果相同,未观察到新的状态。能否在触发之前确认以下用于安全启动的 SCU2 寄存器设置?谢谢。 XRen_Parker_0-1788899133217.pngXRen_Parker_0-1788899133217.png
記事全体を表示