Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
ソフトウェアライセンス延長の期限切れ申請   サポートチームの皆様、 添付画像に示すように、S32DSのライセンスの有効期限が近づいていることを通知するメールを受け取りました。 現在進行中の作業では、引き続きS32DSを使用する必要があります。ソフトウェアを使い続けられるようにライセンスを延長してもらえますか? ご協力ありがとうございます。 よろしくお願いいたします。 Re: Request for Software License Extension Due to Expiration こんにちは、 あなたのアカウントを確認したところ、ライセンスは2028年まで有効です。 Re: Request for Software License Extension Due to Expiration 件名:S32 Design Studioライセンスを自分のNXPアカウントに移管/再登録する方法 こんにちは、 私は元マネージャーから仕事用PCを引き継ぎましたが、S32 Design Studioは私のではなく彼のNXPアカウントでまだ有効化されています。そのため、私のマシンにインストールされているライセンスの有効期限が切れてしまったようです。 自分のライセンスが2028年まで有効であることを確認したので、このPCのS32DSを前の所有者ではなくNXPのアカウントとライセンスに切り替えたいと考えています。 正しい手順を教えてもらえますか?具体的には: 1. 前のアカウントに紐づいた既存のアクティベーションを無効化または解除する方法はありますか? 2. 自分のアカウント認証情報でS32DSを再アクティベートできますか?それとも完全なアンインストールとクリーンインストールが必要ですか? ご協力ありがとうございます。 よろしくお願いいたします。 Re: Request for Software License Extension Due to Expiration こんにちは、 どのデバイスでも新しいインストールには実際のキーを使うことができます。S32DSの場合、デフォルトでは101個のライセンスが利用可能です。PCでインストーラーを起動し、古いコードを使ってアクティベートできます。
View full article
Dynamic I2C Slave Address Configuration on i.MX95 LPI2C Hello Experts, I am working on the i.MX95 platform and using the LPI2C controller in I2C slave mode under Linux. Currently, the I2C slave address is defined statically in the Device Tree. My requirement is to determine the slave address dynamically based on an external GPIO input (for example, a board ID or address-select GPIO) instead of hardcoding it in the Device Tree. I would like to know: Does the i.MX95 LPI2C hardware support changing the I2C slave address dynamically at runtime? Does the NXP BSP/Linux LPI2C slave driver support updating the slave address after boot, or would it require driver modifications? Is there any recommended mechanism from the SoC or BSP perspective to select the slave address based on an external GPIO before or during slave registration? Are there any reference implementations or examples demonstrating dynamic I2C slave address configuration? Any guidance or recommended approach would be appreciated. BR, Arun Kumar Re: Dynamic I2C Slave Address Configuration on i.MX95 LPI2C Hello, 1. Yes, is possible with LPI2C module of i.MX95. 2. No, driver modifications are needed. The current NXP BSP Linux driver supports both master and slave modes but, the slave address is read once from the Device Tree. 3. The best approach for this modify driver to read the GPIO address and change line during probe. https://github.com/nxp-imx/linux-imx/blob/b096ce610e956cc2596006343df8a2a26ed6e019/drivers/i2c/busses/i2c-imx-lpi2c.c 4. We have an slave DTS example that uses i2c-imx-lpi2c.c driver but the address cannot be changed in runtime using GPIOs. You can take a look in the next link: https://github.com/nxp-imx/linux-imx/blob/74521e3f425001c27a54323ee8de4f7c59ee88dc/arch/arm64/boot/dts/freescale/imx95-15x15-evk-i2c-spi-slave.dts Best regards.
View full article
S32DSライセンスの有効期限が切れます こんにちは、 S32DS を開くと次のメッセージが表示されます。   Arm用Design Studio アクティベーションID: 8AEC-51FD-AB5B-6A4D 評価日数: 9 機能バージョン: 2.2 機能のステータス: 評価 (9 日間) ライセンスを延長するには何をする必要がありますか? よろしくお願いいたします。 サンドラ Re: S32DS license expiring こんにちは、 ライセンスを延長するよう管理者に通知しました。 よろしくお願いいたします。 ピーター Re: S32DS license expiring こんにちは、 ライセンスは 2030 年まで延長されました。 よろしくお願いいたします。 ピーター Re: S32DS license expiring こんにちは、 画像の問題でS32DSをアクティベートできませんでした。この問題を解決する方法を教えていただけますか? Re: S32DS license expiring 助けて! 私のS32DS IDEライセンスがもうすぐ期限切れです。使用期間を延長するのを手伝ってもらえますか?ありがとう ! ライセンス番号:1A99 90A8 2F06 339B
View full article
Request for Software License Extension Due to Expiration   Dear Support Team, As shown in the attached image, I received an email notifying me that my S32DS license is about to expire. I need to continue using S32DS for my ongoing work. Could you please extend my license so that I can keep using the software? Thank you in advance for your assistance. Best regards, Re: Request for Software License Extension Due to Expiration Hi,  I checked your account and your license is valid till 2028.  Re: Request for Software License Extension Due to Expiration Subject: How to transfer/re-register an S32 Design Studio license to my own NXP account Hello, I inherited my work PC from my former manager, and S32 Design Studio is still activated under his NXP account, not mine. Because of this, the installed license appears to have expired on my machine. I have confirmed that my own license is valid until 2028, so I would like to switch S32DS on this PC over to my NXP account and license instead of the previous owner's. Could you let me know the correct procedure for this? Specifically: 1. Is there a way to deactivate or release the existing activation tied to the previous account? 2. Can I simply re-activate S32DS with my own account credentials, or is a full uninstall and clean reinstall required? Thank you for your help. Best regards, Re: Request for Software License Extension Due to Expiration Hi,  You can use your actual key for any new installation on any device. For S32DS is by default 101 licenses available. You can start installer on your PC and use your old code for activation. 
View full article
リクエスト: RAppID Init v2.1.0(またはそれ以降)MPC5644Aデバイスサポート — ダウンロードリンクが必要 こんにちは、 私はMPC5644Aを基にしたプロジェクトに取り組んでおり、このデバイスをサポートするRAppID Initツールを入手する必要があります。 私は元々私たちのプラットフォーム用に作成されたRAppID Initプロジェクトファイル(.rsp)を持っています。ファイルヘッダーには以下のように表示されます。 ツールバージョン:2.1.0(ツールバージョンメジャー 2、ツールバージョンマイナー 1、サブバージョン番号 0) 対象デバイス: MPC5644A 作成日:2013年4月 つまり、MPC5644Aサポートは明らかにRAppID Init v2.1.0に存在していました。しかし、現在のNXPのウェブサイトでは一致するダウンロードが見つかりません: 「RAppID Initialization for Power Architecture」ページ(RAPPID)には11件の公開ダウンロードが掲載されていますが、MPC564xA ファミリをカバーしているものはなく(MPC564xL、MPC560xB/xS、MPC563xM、MPC567xR/xK/xF、MPC5748G、MPC577xK/Mのみ)、 アーカイブのセクションでは「Archive: Pin Wizard for MPC564xA」は見つかりましたが、「Init for MPC564xA」パッケージは見つかりませんでした。ピンウィザードはシステムやペリフェラルの初期化をカバーしておらず、私の.rspも開けられませんプロジェクトファイル。 モデレーターの方、RAppID Init v2.1.0のダウンロードリンクを教えていただけますか?あるいはMPC5644Aデバイスサポート付きで、既存の.rspを開いて変更できるようになった後soでもありますプロジェクト? ご協力ありがとうございます。 Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed こんにちは、 はい、おっしゃる通りです。RAPPID-564XASWは既に存在します。 しかし、NXPはそれを公式ウェブページでは提供していない。 入手するための手続きについて、社内で確認してみます。 よろしくお願いいたします。 ピーター Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed Please check the link at RAppID Initialization for Power Architecture | NXP Semiconductors    RAppID Boot Loader Utility   Init for MPC564xL https://www.nxp.com/design/design-center/software/embedded-software/rappid-initialization-for-power-architecture:RAPPID ところで、MPC5644Aはどんなアプリケーションでうまくいっていますか? Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed そのページは既に見ていますが、私のものはMPC5644Aなので少し違います。 また、私のMPC5644Aは車両制御に使われているようです。 Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed いつ返事が来るのでしょうか? Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed https://www.nxp.com/webapp/Download?colCode=ETPUGCT&appType=license&location=null eTPUのグラフィカル設定ツールはいかがでしょうか?それもかなり役に立ちそうだ。製品自体がかなり古いため、サービス遅延が予想されるかもしれません
View full article
需要帮助查找适用于 i.MX95 内核版本 (v6.6.52-2.2.0) 的 Neutron 变流器 SDK。 您好,NXP团队, 我目前正在使用 LF_v6.6.52-2.2.2_images_IMX95 ,并且我正在尝试确定 Neutron Converter SDK 的正确版本,以便将 TensorFlow Lite INT8 量化 模型 转换 为 NPU 格式。 我尝试过多个版本的 Neutron 变流器 SDK,但每次尝试都出现以下错误: 信息:NeutronDelegate 委托:27 个节点中有 1 个节点被委托,共 1 个分区。 信息:已为 CPU 创建 TensorFlow Lite XNNPACK 委托。 警告:微代码版本不匹配!0x359f358d(预期为 0xa186aaf2) 警告:微代码版本不匹配!0x359f358d(预期为 0xa186aaf2) 推理轮询超时 错误:元器件='Neutron Driver',类别='超时',代码=754 回溯(最近一次调用): 文件“/home/object_detc/main.py”,第 80 行,在 中 解释器.调用() 文件“/usr/lib/python3.12/site-packages/tflite_runtime/interpreter.py”,第 941 行,在 invoke 中 self._interpreter.Invoke() RuntimeError: /usr/src/debug/tensorflow-lite-neutron-delegate/2.16.2/neutron_delegate.cc:355 neutronRC != ENONE (193099 != 0)节点编号 27 (NeutronD. 能否解释一下为什么移除了对LF_v6.6.52-2.2.2_images_IMX95的支持?是因为该电路板支持包仍被视为 alpha 版本吗? 请问您能否也就以下问题提供一些建议: 是否可以将 Neutron 变流器 SDK 与此内核/电路板支持包 版本一起使用? 如果是这样,那么哪个版本的 Neutron 变流器 SDK 与 LF_v6.6.52-2.2.2_images_IMX95 兼容 ? 如果没有,是否有其他版本的 eIQ 工具或不同的工作流程可以与此 BSP 一起使用? 感谢您的帮助。期待您的指导。 疑似软件缺陷 Re: Need help to find Neutron Converter sdk for i.MX95 kernel version (v6.6.52-2.2.0) 你好@boopathi123 , 感谢您联系恩智浦技术支持! 看来您使用的是非常早期的芯片版本。在这种情况下,我建议使用 eIQ 工具包中包含的 Neutron 变流器。但是请注意,此 BSP 版本并未得到 i.MX95 的官方支持。 i.MX95 正式发布,采用 B0 硅版本和 BSP 6.12.34。早期的硅片版本旨在用于评估和预生产目的,因此可能无法提供与当前支持的设备相同的功能、稳定性、兼容性或性能。 因此,我强烈建议迁移到以下受支持的组合: i.MX95 B0 硅 BSP 6.12.34 或更高版本 使用受支持的软件和硬件配置将确保您能够享受到 i.MX95 平台的最新修复、优化和 NPU 软件支持。 你观察到的现象可能与早期硅片版本中的局限性或已知问题有关,而不是与模型本身有关。 此致, 查维拉 Re: Need help to find Neutron Converter sdk for i.MX95 kernel version (v6.6.52-2.2.0) 谢谢 🙂 ...
View full article
When GUIGuider-2.0.0 generates C code, the folder under the generated folder is completely empty. When using GUIGuider-2.0.0 on Windows 11 to generate C code, the folders under the "generated" folder are all empty, even though the logs show successful generation. This happens on the same computer as GUI-Guider-1.10.1-GA, which generates the code perfectly. I've tried various methods, including disabling antivirus software and running it as administrator, but the problem persists. Has anyone encountered the same issue? I would appreciate any help. 21:10:08 INFO [gg_event] gg_event_layer_sys.c Generated 21:10:08 INFO [gg_event] gg_event_layer_top.c Generated 21:10:08 INFO [gg_event] gg_event_layer_bottom.c Generated 21:10:08 INFO update-sdk Started 21:10:08 INFO Target Executor initialized 21:10:08 SUCCESS SDK template updated successfully 21:10:08 SUCCESS Operation completed in 0.00s 21:10:08 INFO [gg_event] gg_event_screen.c Generated 21:10:08 INFO [gg_event] gg_event.h Generated 21:10:08 INFO [gg_event] Generation completed 21:10:08 SUCCESS === Code generation completed successfully === Re: GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 I reinstalled the system but it still didn't work; GUI Guider 1.10 works fine. I added a button to a blank project. Re: GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 Hello @IFYINT , Sorry to keep you waiting. Could you please share the project where the problem occurred? We'll try to reproduce it. BR Celeste Re: GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 I tried it on my Windows 11 PC, but I couldn't reproduce your problem: Would it be convenient for you to try a different computer? Re: GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 It works on a different computer and can generate files normally, but it's not working on this computer. It worked fine on version 1.10 before. Re: GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 I tried again, but I still couldn't reproduce your situation. Could you check your project path? Did you generate a "generated" folder? If not, could you create it manually and then regenerate the code? We still suggest you export the project and send it to us for review.
View full article
GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 GUIGuider-2.0.0,Windows11,生成C代码时generated文件下面的文件夹全是空的,日志显示已经生成成功,实际文件夹全是空的,同意电脑,GUI-Guider-1.10.1-GA可以完美生成。关了杀毒软件,用管理员启动,等等试了各种方法,都一样,有没有遇到相同问题的,请教一下。 21:10:08INFO[gg_event] gg_event_layer_sys.c Generated 21:10:08INFO[gg_event] gg_event_layer_top.c Generated 21:10:08INFO[gg_event] gg_event_layer_bottom.c Generated 21:10:08INFOupdate-sdk Started 21:10:08INFOTarget Executor initialized 21:10:08SUCCESSSDK template updated successfully 21:10:08SUCCESSOperation completed in 0.00s 21:10:08INFO[gg_event] gg_event_screen.c Generated 21:10:08INFO[gg_event] gg_event.h Generated 21:10:08INFO[gg_event] Generation completed 21:10:08SUCCESS=== Code generation completed successfully === Re: GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 我重装系统都不行,GUI Guider1.10能够正常使用。一个空白工程加了一个按钮。 Re: GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 Hello @IFYINT , 抱歉让您久等了。您方便共享一下出问题的工程吗,我们这边尝试复现一下。 BR Celeste Re: GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 我这边试了一下(windows 11 PC),没能复现您的问题: 您那边方便换一台电脑再试一下吗? Re: GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 换电脑是可以的,能够正常生成文件,就是这台电脑不行,之前运行1.10版本是可以的。 Re: GUIGuider-2.0.0生成C代码时generated文件下面的文件夹全是空的 我这边又试了一下,还是没能复现你的情况,你能检查一下你项目工程的路径吗?有没有生成generated文件夹,如果没有文件夹,你手动创建后重新generate code试试呢? 同时还是建议你导出工程发我们看看。
View full article
Conv2D on i.MX 8M Plus VX delegate produces incorrect output when either spatial kernel dim >= 16 Summary On i.MX 8M Plus EVK, Conv2D ops where either spatial kernel dimension (H or W) is >= 16 produce incorrect output under the VX delegate (libvx_delegate.so). The model loads, the Conv2D is bound to an OPENVX kernel by vsi_nn_kernel_selector, error_during_init/prepare/invoke are all 0, and inference latency is normal, but the int8 output is saturated to a single value (int8 = 127) at every position across diverse inputs. The boundary is sharp between K=15 and K=16 along either spatial axis. This matches the threshold of the documented stride > 15 limit (https://community.nxp.com/t5/i-MX-Processors/Conv2D-not-working-with-stride-16-for-NPU-Kernel-crashes/td-p/1754217). Two questions: Is this kernel-dim ≥ 16 cliff a known limitation, and if so could it be added to the i.MX Machine Learning User's Guide (UG10166) Conv2D constraints section? Should vsi_nn_op_conv2d::op_check (or the VX delegate's partition logic) reject this case at graph-compile time so the op falls back to CPU? The current "accept, run, return constant int8=127, no diagnostic" behaviour is unsafe — a deployed model with a large kernel appears to load and run normally. Environment Component Value Board i.MX 8M Plus EVK BSP NXP i.MX Release Distro 6.18-whinlatter (VERSION_ID=6.18-whinlatter) Kernel Linux 6.18.2-1.0.0-gf49f45233f7b SMP PREEMPT (aarch64) libvx_delegate.so md5 2f88ec0871d18298bfa357ddaaea4d6d libGAL.so md5 af4806f617b23363b3be69c4dad2dc05 libOpenVX.so{,.1,.1.3.0} md5 92f85c32746d4d0b38800e21503d13d0 (all three identical) imx-gpu-viv package 1:6.4.11.p4.4-aarch64-r0 tim-vx package 1.2.2-r0 OVxlib (runtime-reported) OVXLIB_VERSION==1.2.14 TFLite runtime TFLite 2.19.0 (/usr/bin/tensorflow-lite-2.19.0/examples/benchmark_model) Reproducer The attached conv_1x17_broken.tflite (2,136 bytes) is a single-Conv2D artifact: kernel (1, 17), input 1×1×1000×5 int8, output 1×1×1000×8 int8, per-channel int8 weight quantization, padding=SAME, stride=(1,1), no fused activation. # On the i.MX 8M Plus board: python3 reproduce.py conv_1x17_broken.tflite # exits 1: BROKEN, saturated to int8=127 python3 reproduce.py conv_1x15_torch_control.tflite # exits 0: OK (K<16, same pipeline) reproduce.py (attached, depends only on tflite_runtime and numpy) feeds 6 seeded random int8 inputs through plain and VX-delegated interpreters and reports mean|Δ|, max|Δ|, and the count of unique int8 output values from the VX path. Kernel-size sweep Single-Conv2D unit-test models, INT8 PTQ. mean|Δ| board VX vs board CPU on the same int8 input bytes; uniq_VX = unique int8 output values across 6 inputs (out of 256). kernel (H, W) mean |Δ| uniq_VX result (1, 11) 0.03 256 OK (1, 15) 0.02 256 OK (1, 16) 134.9 1 BROKEN (constant int8=127) (1, 17) 136.9 1 BROKEN (constant int8=127) (1, 23) 130.5 1 BROKEN (constant int8=127) (15, 1) 0.11 256 OK (17, 1) 136.9 1 BROKEN (constant int8=127) (23, 1) 129.3 1 BROKEN (constant int8=127) (3, 3), (5, 5), (7, 7) < 0.2 256 OK (15, 15) (area 225) 0.41 256 OK (3, 23) 123.4 1 BROKEN (constant int8=127) (5, 15) 0.24 256 OK The threshold applies independently to H and W. In every broken case the VX output saturates to int8 = 127 at every position — saturation to the positive int8 extreme (rather than to output_zp or 0) suggests either multiplier-shift overflow before the final clamp, or a fixed value being written into the output tile in place of the MAC result. The issue doesn't seem related to kernel area (e.g., 15x15 works fine) The threshold is necessary but not sufficient — some int8 weight value patterns at K ≥ 16 trigger the bug, others don't. We've done byte-level isolation experiments (grafting individual TFLite tensor fields between broken and non-broken artifacts) narrowing the value-pattern trigger to specific tensor fields. Happy to share the isolation results and tooling if useful. Verbose log excerpt (VSI_NN_LOG_LEVEL=5, broken case) INFO: Vx delegate: error_during_init set to 0. INFO: Vx delegate: error_during_prepare set to 0. INFO: Vx delegate: error_during_invoke set to 0. I [vsi_nn_CreateGraph:1327] OVXLIB_VERSION==1.2.14 D [setup_node:535] Setup node id[3] uid[30000] op[DATACONVERT] D [setup_node:535] Setup node id[0] uid[1] op[PERMUTE] D [setup_node:535] Setup node id[1] uid[2] op[CONV2D] D [setup_node:535] Setup node id[2] uid[3] op[PERMUTE] D [setup_node:535] Setup node id[4] uid[30001] op[DATACONVERT] D [vsi_nn_kernel_selector:1286] Instance OPENVX node with kernel "conv2d" Full log attached as vsi_nn_log_level_5_conv_1x17.txt. Attachments Bundled as bug_report_artifacts.tar.gz conv_1x17_broken.tflite — 2,136-byte broken artifact. conv_1x15_torch_control.tflite — 2,056-byte sub-threshold control, same pipeline. reproduce.py — board-side reproducer (tflite_runtime + numpy only). vsi_nn_log_level_5_conv_1x17.txt — full verbose log. Additional artifacts available on request: byte-level isolation tooling, a structurally-identical working (1, 17) artifact for delta analysis, full sufficient-condition graft results. i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux Suspected Software Defect Re: Conv2D on i.MX 8M Plus VX delegate produces incorrect output when either spatial kernel dim > Hi @themis_stewart  Thanks for your information, i am checking with internal team about your two questions. Best Regards, Zhiming Re: Conv2D on i.MX 8M Plus VX delegate produces incorrect output when either spatial kernel dim > Hello @themis_stewart  Please try the following patch based on L6.18.2 to fallback the op to the CPU if the kernel size is > 16 Best Regards, Zhiming Re: Conv2D on i.MX 8M Plus VX delegate produces incorrect output when either spatial kernel dim > Thanks very much for the quick turnaround on this — we've applied and tested the guard patch and can confirm it resolves the issue on our side. We built the patched libvx_delegate.so from the lf-6.18.2_1.0.0 delegate source with your op_map.cc change and validated it on our i.MX 8M Plus EVK against the minimal reproducers from the original report. With the patch: The affected INT8 Conv2D (spatial kernel ≥ 16) is now cleanly rejected by the delegate and falls back to TFLite CPU, with the log message making the fallback explicit — no more silent saturation to int8 = 127. Output matches the CPU reference exactly. Our production models (kernels ≤ 15) are unaffected — still fully delegated to the NPU, so the guard doesn't over-trigger. The CPU-fallback path is performing well for us in practice, though the fallback is naturally slower than a model able to run fully on the NPU. We're happy to share detailed before/after benchmarks privately if they'd be useful for your regression coverage. Thanks again — much appreciated.
View full article
Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed Hello, I am working on a project based on the MPC5644A, and I need to obtain the RAppID Init tool that supports this device. I have an existing RAppID Init project file (.rsp) that was originally created for our platform. The file header shows the following: Tool version: 2.1.0 (toolVersionMajor 2, toolVersionMinor 1, subVersionNumber 0) Target device: MPC5644A Created: April 2013 So MPC5644A support clearly existed in RAppID Init v2.1.0. However, I cannot find a matching download on the current NXP website: The "RAppID Initialization for Power Architecture" page (RAPPID) lists 11 public downloads, but none of them cover the MPC564xA family (only MPC564xL, MPC560xB/xS, MPC563xM, MPC567xR/xK/xF, MPC5748G, MPC577xK/M). In the archive section I did find "Archive: Pin Wizard for MPC564xA", but no corresponding "Init for MPC564xA" package. The Pin Wizard does not cover system/peripheral initialization, and it cannot open my .rsp project file. Could a moderator please provide a download link for RAppID Init v2.1.0 or later with MPC5644A device support, so that I can open and modify my existing .rsp project? Thank you in advance for your help. Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed Hello, Yes, you are correct, there is existing RAPPID-564XASW. But NXP is not offering it on public web page. I will ask internally what is the procedure to obtain it. Best regards, Peter Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed Please check the link at RAppID Initialization for Power Architecture | NXP Semiconductors    RAppID Boot Loader Utility   Init for MPC564xL https://www.nxp.com/design/design-center/software/embedded-software/rappid-initialization-for-power-architecture:RAPPID btw, what kind of application does MPC5644A is working for you?  Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed I've already seen that page, but mine is different because it's an MPC5644A. Also, my MPC5644A appears to be used for vehicle control. Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed When can I expect a response? Re: Request: RAppID Init v2.1.0 (or later) with MPC5644A device support — download link needed https://www.nxp.com/webapp/Download?colCode=ETPUGCT&appType=license&location=null How about eTPU Graphical Configuration Tool? It seems pretty useful as well. Since the product is pretty old device, some service delay could be expected
View full article
T Embed 使用的是哪种接口? 我有一台标准的 T 型嵌入式开发板,但我不知道它用的是哪种接口(不是 USB-C 接口),因为官方网站说它是 Grove 接口,而 Lilygo Wiki 网站说它是 Qwiic 接口。请问有人可以帮帮我吗? Re: What kind of port does the T Embed have? 你好, 由于该设备并非 NXP 产品,我建议您直接联系 Lilygo 支持部门,提供元器件零件编号,您可以与他们一起查看引脚图或物料清单。 顺祝商祺!
View full article
What kind of port does the T Embed have? I have the standard model T Embed, but i have no Idea what kind of port it has (the other port, not usb c), because the official site says its a grove port, the lilygo Wiki site says its a qwiic port. Can anyone help me please? Re: What kind of port does the T Embed have? Hello, Since the device is not an NXP product, I would recommend you contact directly the Lilygo support to share the component part number, you could check the pin diagram or BOM with the page and them. Best Regards
View full article
i.MX 8M Plus VXデリゲート上のConv2Dは、空間カーネル次元が16以上の場合に誤った出力を生成します。 概要 i.MX 8M Plus EVK では、空間カーネル次元 (H または W) のいずれかが 16 以上である Conv2D 演算で、VX デリゲート (libvx_delegate.so) の下で誤った出力が生成されます。モデルはロードされ、Conv2D は vsi_nn_kernel_selector によって OPENVX カーネルにバインドされ、error_during_init/prepare/invoke はすべて 0 であり、推論レイテンシは正常ですが、int8 出力はさまざまな入力に対してすべての位置で単一の値 (int8 = 127) に飽和します。 空間軸のどちらにおいても、K=15とK=16の境界は明確である。これは、文書化されたストライド > 15 の制限のしきい値と一致します ( https://community.nxp.com/t5/i-MX-Processors/Conv2D-not-working-with-stride-16-for-NPU-Kernel-crashes/td-p/1754217 )。 2つの質問があります。 このカーネル次元が16以上という制限は既知のものですか?もしそうであれば、i.MX機械学習ユーザーガイド(UG10166)のConv2D制約のセクションに追加していただけますか? vsi_nn_op_conv2d::op_check(またはVXデリゲートのパーティションロジック)は、グラフコンパイル時にこのケースを拒否し、演算をCPUにフォールバックさせるべきでしょうか?現在の「受け入れ、実行、定数 int8=127 を返す、診断なし」という動作は安全ではありません。カーネルが大きいデプロイ済みモデルは、正常にロードされ実行されるように見えます。 環境 コンポーネント値 ボード i.MX 8M Plus EVK BSP NXP i.MX リリースディストリビューション 6.18-whinlatter (VERSION_ID=6.18-whinlatter) カーネル Linux 6.18.2-1.0.0-gf49f45233f7bSMPプリエンプト(aarch64) libvx_delegate.so のMD5 2f88ec0871d18298bfa357ddaaea4d6d libGAL.so md5 af4806f617b23363b3be69c4dad2dc05 libOpenVX.so{,.1,.1.3.0}MD5 92f85c32746d4d0b38800e21503d13d0(3つとも同一) imx-gpu-viv パッケージ 1:6.4.11.p4.4-aarch64-r0 tim-vxパッケージ 1.2.2-r0 OVxlib(ランタイム報告) OVXLIB_VERSION==1.2.14 TFLiteランタイム TFLite 2.19.0 (/usr/bin/tensorflow-lite-2.19.0/examples/benchmark_model) 再生装置 添付の conv_1x17_broken.tflite (2,136 バイト) は、単一の Conv2D アーティファクトです。カーネル (1, 17)、入力 1×1×1000×5 int8、出力 1×1×1000×8 int8、チャネルごとの int8 重み量子化、パディング=SAME、ストライド=(1,1)、融合活性化なし。 # On the i.MX 8M Plus board: python3 reproduce.py conv_1x17_broken.tflite # exits 1: BROKEN, saturated to int8=127 python3 reproduce.py conv_1x15_torch_control.tflite # exits 0: OK (K<16, same pipeline) reproduce.py(添付ファイル、tflite_runtimeとnumpyのみに依存)は、6つのシード付きランダムなint8入力をプレーンおよびVX委任インタープリタに通し、平均|Δ|、最大|Δ|、およびVXパスからの一意のint8出力値のカウントを報告します。 カーネルサイズスイープ 単一Conv2Dユニットテストモデル、INT8 PTQ。同じ int8 入力バイトにおける、ボード VX とボード CPU の平均 |Δ|。uniq_VX = 6 つの入力 (256 個中) における一意の int8 出力値。 カーネル(H, W)平均|Δ|uniq_VX結果 (1、11) 0.03 256 OK (1、15) 0.02 256 OK (1、16) 134.9 1 破損しています(定数 int8=127) (1、17) 136.9 1 破損しています(定数 int8=127) (1、23) 130.5 1 破損しています(定数 int8=127) (15、1) 0.11 256 OK (17、1) 136.9 1 破損しています(定数 int8=127) (23、1) 129.3 1 破損しています(定数 int8=127) (3, 3)、(5, 5)、(7, 7) < 0.2 256 OK (15、15)(エリア225) 0.41 256 OK (3、23) 123.4 1 破損しています(定数 int8=127) (5、15) 0.24 256 OK しきい値は H と W にそれぞれ独立して適用されます。すべての不具合ケースにおいて、VX 出力はすべての位置で int8 = 127 に飽和します。正の int8 極値への飽和 (output_zp または 0 ではなく) は、最終クランプ前の乗算器シフトオーバーフロー、または MAC 結果の代わりに固定値が出力タイルに書き込まれていることを示唆しています。この問題はカーネル領域とは関係ないようです(例えば、15x15は正常に動作します)。 このしきい値は必要条件ではあるが十分条件ではない。K ≥ 16 の場合、一部の int8 の重み値のパターンはバグを引き起こすが、他のパターンは引き起こさない。バイトレベルの分離実験(破損したアーティファクトと破損していないアーティファクトの間に個々のTFLiteテンソルフィールドを移植する)を行い、値パターンのトリガーを特定のテンソルフィールドに絞り込みました。もしお役に立てるようでしたら、分離結果と使用したツールを喜んで共有いたします。 詳細ログ抜粋(VSI_NN_LOG_LEVEL=5、大文字小文字を区別しない) INFO: Vx delegate: error_during_init set to 0. INFO: Vx delegate: error_during_prepare set to 0. INFO: Vx delegate: error_during_invoke set to 0. I [vsi_nn_CreateGraph:1327] OVXLIB_VERSION==1.2.14 D [setup_node:535] Setup node id[3] uid[30000] op[DATACONVERT] D [setup_node:535] Setup node id[0] uid[1] op[PERMUTE] D [setup_node:535] Setup node id[1] uid[2] op[CONV2D] D [setup_node:535] Setup node id[2] uid[3] op[PERMUTE] D [setup_node:535] Setup node id[4] uid[30001] op[DATACONVERT] D [vsi_nn_kernel_selector:1286] Instance OPENVX node with kernel "conv2d" 完全なログファイルは vsi_nn_log_level_5_conv_1x17.txt として添付されています。 添付ファイル bug_report_artifacts.tar.gz としてバンドルされています。 conv_1x17_broken.tflite — 2,136バイトの破損したアーティファクト。 conv_1x15_torch_control.tflite — 2,056バイトのサブスレッショルド制御、同じパイプライン。 reproduce.py — ボード側再現ツール(tflite_runtime + numpyのみ)。 vsi_nn_log_level_5_conv_1x17.txt — 完全な詳細ログ。 ご要望に応じて、追加のアーティファクトを提供できます。バイトレベルの分離ツール、デルタ解析用の構造的に同一の動作アーティファクト(1、17)、完全な十分条件グラフト結果。 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux ソフトウェア不具合の疑い Re: Conv2D on i.MX 8M Plus VX delegate produces incorrect output when either spatial kernel dim > こんにちは、 @themis_stewartさん 情報ありがとうございます。いただいた2つの質問について、社内チームに確認中です。 よろしくお願いします、 志明 Re: Conv2D on i.MX 8M Plus VX delegate produces incorrect output when either spatial kernel dim > こんにちは、 @themis_stewartさん カーネルサイズが16より大きい場合に演算をCPUにフォールバックさせるには、 L6.18.2に基づいた以下のパッチをお試しください。 よろしくお願いします、 志明 Re: Conv2D on i.MX 8M Plus VX delegate produces incorrect output when either spatial kernel dim > 迅速な対応をありがとうございます。ガードパッチを適用・テストした結果、こちらの問題は解決したと確認しています。 op_map.ccの変更を含むlf-6.18.2_1.0.0のデリゲートソースからパッチ付きlibvx_delegate.soを作成し、元のレポートの最小限のリプロダクターと比較して i.MX 8M Plus EVKで検証しました。パッチ適用後: 影響を受けるINT8 Conv2D(空間カーネル≥16)は、デリゲートによって適切に拒否され、TFLite CPUにフォールバックするようになりました。ログメッセージにはフォールバックが明示的に表示され、int8 = 127へのサイレント飽和はなくなりました。出力はCPUの参照値と完全に一致する。 本番モデル(カーネル≤15)は影響を受けず、完全にNPUに委譲されているため、ガードが過剰トリガーされないようにしています。 CPUフォールバックパスは実際には良好に機能していますが、フォールバックはNPU上で完全に動作するモデルよりも自然に遅いです。回帰テストのカバレッジ向上に役立つようでしたら、詳細な前後比較ベンチマークを個別にご提供いたします。 改めてありがとうございました。大変感謝しています。
View full article
S32K396 RTD 5.0: eMIOS CH0/CH1 PWM Not Generated and Unexpected LCU Output Behavior Hi NXP Team, I am working on an S32K312 using S32 Design Studio 3.6.7 with RTD 5.0 (AUTOSAR 4.7). I have configured eMIOS to generate six PWM signals through eMIOS → TRGMUX → LCU → Output Pins for motor control. I am facing two issues: eMIOS CH0 and CH1 do not generate PWM, while CH2 to CH5 generate PWM correctly. Clock, Port, eMIOS MCL, eMIOS PWM, Global Time Base, TRGMUX, and LCU are all initialized successfully, and the PWM configuration for CH0 and CH1 is the same as the working channels. I have observed unexpected behavior with the LCU outputs. When I set LCU Output Index 4 to 0, Output 4 continues to generate PWM, but Output 5 becomes permanently OFF. Similarly, when I set LCU Output Index 2 to 0, Output 2 continues to generate PWM, but Output 3 becomes permanently OFF. I expected each LCU output to operate independently, but changing one output appears to affect the adjacent output. Could you please advise: Are there any hardware or RTD restrictions for using eMIOS CH0 and CH1 with the LCU? Is any additional TRGMUX or LCU configuration required for CH0 and CH1? Are LCU outputs internally paired or dependent in complementary mode? Is this behavior expected, or does it indicate an incorrect LCU/TRGMUX configuration or a known issue in RTD 5.0? I have attached my project and configuration files for reference. Thank you for your support. Re: S32K396 RTD 5.0: eMIOS CH0/CH1 PWM Not Generated and Unexpected LCU Output Behavior Hi @Esakki  I made a few tests by modifying the period, duty cycle, and phase shift of the PWM signals generated by eMIOS channels 0 and 1, based on the PMSM Motor Control Sensorless Dual Shunt FOC on FRDM-A-S32K312 demo application. During these tests, the LCU generated output signals as expected, which suggests that the eMIOS channels themselves do not have any inherent limitation in this use case. Based on the results, it appears that the current PWM configuration may be causing the LCU output to remain constantly low, even though both PWM signals are correctly routed to and received by the LCU.  I would recommend reviewing the previously shared demo application, as well as the example provided in the thread S32M27x/S32K3 – eMIOS/TRGMUX/LCU – [RTD600]. These examples demonstrate a working eMIOS → TRGMUX → LCU configuration and may serve as a useful reference. BR, vaneB
View full article
S32K396 RTD 5.0:eMIOS CH0/CH1 PWM 未生成且 LCU 输出行为异常 您好,NXP团队: 我正在使用S32 Design Studio 3.6.7和RTD 5.0 (AUTOSAR 4.7)开发S32K312 。我已经配置 eMIOS 通过eMIOS → TRGMUX → LCU → 输出引脚生成六个 PWM 信号,用于电机控制。 我面临两个问题: eMIOS CH0 和 CH1 不产生 PWM ,而CH2 至 CH5 正确产生 PWM 。时钟、端口、eMIOS MCL、eMIOS PWM、全局时基、TRGMUX 和 LCU 均已成功初始化,CH0 和 CH1 的 PWM 配置与工作通道相同。 我发现 LCU 输出出现了异常行为。当我将LCU 输出索引 4设置为 0 时,输出 4 继续产生 PWM ,但输出 5 永久关闭。同样地,当我将LCU 输出索引 2设置为 0 时,输出 2 继续产生 PWM ,但输出 3 永久关闭。我原以为每个 LCU 输出都会独立运行,但改变一个输出似乎会影响相邻的输出。 请问您能否提供以下建议: 使用 eMIOS CH0 和 CH1 与 LCU 配合使用时,是否存在任何硬件或 RTD 限制? CH0 和 CH1 是否需要额外的 TRGMUX 或 LCU 配置? LCU 输出在内部是成对的还是互补模式下相互依赖的? 这种行为是预期的,还是表明 LCU/TRGMUX 配置不正确,或者 RTD 5.0 中存在已知问题? 我已附上我的项目文件和配置文件供您参考。 感谢您的支持。 Re: S32K396 RTD 5.0: eMIOS CH0/CH1 PWM Not Generated and Unexpected LCU Output Behavior 嗨@Esakki 我根据FRDM-A-S32K312 演示应用程序上的 PMSM 电机控制无传感器双并联 FOC ,通过修改 eMIOS 通道 0 和 1 生成的 PWM 信号的周期、占空比和相移进行了一些测试。在这些测试中,LCU 按预期生成了输出信号,这表明 eMIOS 通道本身在此用例中没有任何固有的限制。 根据结果来看,当前的 PWM 配置可能导致 LCU 输出始终保持低电平,即使两个 PWM 信号都已正确路由到 LCU 并被 LCU 接收。 我建议您查看之前分享的演示应用程序,以及在S32M27x/S32K3 – eMIOS/TRGMUX/LCU – [RTD600]主题中提供的示例。这些示例展示了 eMIOS → TRGMUX → LCU 的可行配置,可作为有用的参考。 BR,叶片B
View full article
Replacement Inquiry for Discontinued Part: FXTH8709116T1 Hi, I see that the part FXTH8709116T1 has been discontinued. Could you please recommend a suitable replacement part for this model? Thanks! Intelligent Sensing Framework SensorFusion Re: Replacement Inquiry for Discontinued Part: FXTH8709116T1 Hello, FXTH8709116T1 belongs to NXP’s FXTH87 family of Tire Pressure Monitoring Sensors (TPMS). This entire family has been officially discontinued (No Longer Manufactured). Official Recommended Replacement NXP officially recommends migrating to the NTM88 family for all new designs. Official statement: “NTM88 is the recommended family for new designs as the FXTH87 family is discontinued.” Migration guide: AN12524 – Migration from FXTH87/87E to NTM88 Key Specification Comparison & Recommendation Item FXTH8709116T1 (Original) Recommended NTM88 Direction Notes Pressure Range Approx. 100–900 kPa NTM88H series (90–930 kPa) Closest match Accelerometer Dual-axis (X + Z) Dual-axis (XZ) supported Matching options available Package 7 × 7 mm QFN 4 × 4 mm QFN Not pin-compatible – board redesign required MCU + RF Integrated 8-bit MCU + RF Integrated 8-bit MCU + RF Functionally equivalent Status Discontinued Active (use “S” suffix versions) -     Recommended starting points (final selection depends on your exact requirements): NTM88H125S or similar dual-axis variants in the 90–930 kPa range Alternative: NTM88J series (higher pressure range, e.g. 90–1110 kPa) Important Notes Not a drop-in / pin-to-pin replacement The package size has changed from 7×7 mm to 4×4 mm, so a PCB redesign is mandatory. Firmware / software migration required Please refer to NXP’s application note AN12524 for detailed migration guidance. Firmware and library functions differ. Short-term production advice If you still need the original part for ongoing production, check remaining stock of FXTH8709116T1 through distributors or the gray market as soon as possible. For long-term production, you must transition to the NTM88 family. You can contact them via wechat:+85259975614. They are selling off their remaining inventory in bulk, along with COC certificates. Inquiry about NTM88H distributor Thank you very much for your reply. I would like to first evaluate the characteristics of this component. If the sample testing is successful, I will reach out to your distributor. Alternatively, could you recommend a suitable distributor? Re: Replacement Inquiry for Discontinued Part: FXTH8709116T1 Apologies, I missed the fact that your products have been transferred to STMicroelectronics,I will reach out to them directly。 Re: Replacement Inquiry for Discontinued Part: FXTH8709116T1 Hi, I can confirm that the FXTH8709116T1, along with the entire FXTH87 TPMS family, has been discontinued. The recommended replacement family for new designs is the NTM88. To match your current device (100–900 kPa pressure range, XZ dual-axis accelerometer), the corresponding NTM88 variant with the 930 kPa range and XZ-axis option is indeed the NTM88H series. To support the transition, there is available a dedicated migration application note: AN12524 – Migration from FXTH87/87E to NTM88. This AN is a helpful resource for adapting your existing FXTH87/87E design to the NTM88 family. One important note: as of February 2, 2026, our MEMS sensor products (including the TPMS portfolio) have been transitioned to STMicroelectronics. For product availability, samples, and further design support, please contact STMicroelectronics directly. BRs, Tomas
View full article
MPLS内部IP上のDPAA2 DPDK RSSハッシュ こんにちは、 SolidRun LX2160A Clearfog CXでDPDKを使ってDPAA2のRSS機能をテストしています。 例えばMPLSラベルやPPPoEの内部IPでハッシュ化できることがわかりました。 しかし、MPLS内部IPアドレスに対してハッシュ化できないようですが、私の理解は正しいでしょうか? これは少し驚きました。なぜなら: - MPLSヘッダーが何かを知っているのは、MPLSラベル上でハッシュ化できるからです - PPPoEの内側IPをハッシュ化できるため、内部IPを取得する方法を知っています MPLSの内部IPでハッシュ化がサポートされているかどうか確認してもらえますか? 私はNXP DPAA2やNXP全般についてかなり初心者なので、技術的な言葉を教えてもらえますか? ありがとうございます。 Re: DPAA2 DPDK RSS Hash on MPLS Inner IP はい — あなたの理解は、今日testpmdで使われているDPDK DPAA2 PMDに関して正しいです。MPLSラベル自体でのハッシュ処理はサポートされており、PPPoE後の内側IPでのハッシュも動作しますが、MPLSの内側IP RSSはすぐに使えるDPDK RSSモードとして明確に公開されていません。 重要なニュアンスは次のとおりです。 DPAA2ハードウェアは十分に対応可能です。LX2160AパーサーはMPLSを認識し、MPLSラベルスタックを通り抜け、特定の条件下でIPv4/IPv6へと解析を続けることができます。 DPAA2鍵抽出には「内側/最終IP」フィールドもあります。分配鍵機構ではHDR_INDEX = 0xFF 、つまり「最も内側/最後のヘッダー」を用い、ハードウェアは最後のIPヘッダーに対してIPSRC_N / IPDST_Nを定義します。 しかし、公開されたDPDK DPAA2 PMDドキュメントでは、RSSが一般的にサポートされているとのみ記載されており、固定RSSキーや設定不可のRETAなどの制限が記載されています。サポートされているRSSの組み合わせではありません。Linux/SDK向けのハッシュドキュメントには、イーサネット宛先、VLAN、L3プロトコル、IPv4の送信元/送信先、L4ポートなどの通常のフィールドが記載されていますが、「MPLS後のIP」は選択可能なハッシュモードとして記載されていません。 つまり、シリコンの制限ではなく、あなたが使っているDPDK DPAA2 PMDパスのソフトウェアやドライバー露出制限が原因だと思います。   試せることは まず、DPAA2がパケットを「MPLS + 内部IP」として認識していることを確認してください。 ハードウェアパーサーが内部のIPv4ヘッダーを存在としてマークしない場合、内部IP上のRSSは動作しません。 DPDKで、DPAA2 PMDログを有効にします。 コピー --log-level=pmd.net.dpaa2:debug また、受信パケットがアプリケーション内やtestpmdで意味のあるパケットタイプ情報を得られるかどうかも確認してください。例えば、パケットがMPLSのみに分類されているのか、MPLSと内なるIPv4として分類されているのかなどです。 パケットタイプがMPLSで終了すると、ドライバの観点からは内部IPv4が解析されていないため、RSSハッシュは内部IPv4を使用できません。 フローパターンを明確にしてみてください RSSタイプをmplsのみに設定した場合、MPLSフィールドは自動的にハッシュ化されます。内部IPv4ヘッダーを明示的に含むパターンを試してください。 コピー フロー作成 0 イングレス \ パターン eth / mpls / ipv4 / end \ アクション RSS キュー 0 1 終了 タイプ IPv4 終了 / 終了 送信元/宛先IPアドレスを具体的に知りたい場合は、以下も試してみてください。 コピー フロー作成 0 イングレス \ パターン eth / mpls / ipv4 / end \ アクション RSS キュー 0 1 終了 タイプ IP IPv4 終了 / 終了 それが拒否または承認されたにもかかわらず、内部 IPv4 アドレスに基づいて配布されない場合は、PMD が DPAA2 配布キーを「最後の/内部 IP」としてプログラムしていない可能性があります。 パーサーを助けるMPLSラベル値を試してみてください MPLSトラフィックが通常のサービスラベルを使用している場合、パーサはペイロードがIPv4であることを認識しない可能性があります。制御テストとしては、MPLSの明示的NULLラベルを試してください: MPLSラベル0はIPv4明示的NULLを意味します。 MPLSラベル2はIPv6の明示的NULLを意味します。 DPAA2のドキュメントによると、MPLSラベル解釈が有効の場合、ラベル0はIPv4に、label2はIPv6にマッピングされます。 もし内側IP上のRSSがラベル0でのみ動作する場合、問題はRSS自体ではありません。問題は、パーサーがMPLSペイロードがIPであることを知らなかったことです。 この機能が必要な場合、本当の解決策はPMDの作業である可能性が高いです。 DPAA2ハードウェアには、これに必要な概念が備わっています。 HDR_INDEX = 0xFF は「最も内側のヘッダーを使用する」ことを意味します。 IPSRC_NとIPDST_Nは、最後のIPヘッダーの送信元/宛先アドレスです。 MPLSパーサーは適切に設定すればMPLSを超えてIPへと進むことができます。 したがって、ドライバーレベルの実装では、DPNIの配信プロファイルを以下のようにプログラムする必要があるでしょう: 内部/最後の IPv4 送信元アドレス、 内部/最後の IPv4 宛先アドレス、 おそらく内部L4ポート、 MPLS解析パスの後。 実際には、これは単にtestpmdコマンドを変更するだけでなく、DPAA2 DPDK PMDを変更する必要があるかもしれません。 私の結論として、DPAA2ハードウェアは原則として「内側/最終IP」フィールドに到達できますが、MPLS-inner-IP RSSはスタック上で既にサポートされているDPDK DPAA2 PMD機能ではないようです。もし明示的なeth / mpls / ipv4のRSSルールが失敗した場合、別のtestpmdコマンドではなくPMD/パーサー/配布プロファイルの変更が考えられます。
View full article
MPLS 内部 IP 上的 DPAA2 DPDK RSS 哈希 你好, 我正在使用 DPDK 在 SolidRun LX2160A Clearfog CX 上测试 DPAA2 RSS 功能。 我发现它能够对 MPLS 标签和 PPPoE 内部 IP 进行哈希处理。 但是它似乎无法对 MPLS 内部 IP 进行哈希运算,我的理解对吗? 这让我有点惊讶,因为: 它知道什么是 MPLS 报头,因为它能够对 MPLS 标签进行哈希运算。 它知道如何获取内部 IP 地址,因为它能够对 PPPoE 内部 IP 地址进行哈希处理。 请问是否支持对 MPLS 内部 IP 进行哈希处理? 我对 NXP DPAA2 和 NXP 产品都比较陌生,所以您能解释一下您使用的技术术语吗? 谢谢。 Re: DPAA2 DPDK RSS Hash on MPLS Inner IP 是的——您对目前 testpmd 使用的 DPDK DPAA2 PMD 的理解是正确的:支持对MPLS 标签本身进行哈希处理,并且PPPoE 之后对内部 IP进行哈希处理也可以工作,但是MPLS 内部 IP RSS 并没有明确地作为可直接使用的 DPDK RSS 模式公开。 关键的区别在于: DPAA2 硬件功能足够强大:LX2160A 解析器可以识别 MPLS,遍历 MPLS 标签栈,然后在某些条件下继续解析为 IPv4/IPv6。 DPAA2 密钥提取还有“内部/最后一个 IP”字段:分发密钥机制可以使用 HDR_INDEX = 0xFF,表示“最内部/最后一个报头”,硬件为最后一个 IP 报头定义了 IPSRC_N / IPDST_N。 但公开的 DPDK DPAA2 PMD 文档只说 RSS 一般上受支持,并列出了诸如固定 RSS 密钥和不可配置 RETA 之类的限制;它没有列出受支持的 RSS 组合。面向 Linux/SDK 的哈希文档列出了以太网目标、VLAN、L3 协议、IPv4 源/目标和 L4 端口等常规字段,但没有将“MPLS 后的 IP”列为可选的哈希模式。 所以:这不是硅芯片的限制,而是您正在使用的 DPDK DPAA2 PMD 路径中的软件/驱动程序暴露限制。   你可以尝试以下方法 首先确认 DPAA2 将数据包识别为“MPLS + 内部 IP”。 如果硬件解析器未将内部 IPv4 报头标记为存在,则内部 IP 上的 RSS 无法工作。 在DPDK中,启用DPAA2 PMD日志: 复制 --log-level=pmd.net.dpaa2:debug 此外,还要检查应用程序或 testpmd 是否能获取接收到的数据包类型信息,例如数据包是否仅被分类为 MPLS 或 MPLS 加内部 IPv4。 如果数据包类型止于 MPLS,则 RSS 哈希不能使用内部 IPv4,因为从驱动程序的角度来看,内部 IPv4 没有被解析。 尽量在流程模式中做到明确。 如果您只配置了 RSS 类型 mpls,那么自然会对 MPLS 字段进行哈希处理。尝试使用明确包含内部 IPv4 报头的模式: 复制 流创建 0 个入口 \ 模式 eth / mpls / ipv4 / 结束 \ 操作 RSS 队列 0 1 结束 类型 IPv4 结束 / 结束 如果您想要获取源/目标 IP 地址,也可以尝试: 复制 流创建 0 个入口 \ 模式 eth / mpls / ipv4 / 结束 \ 操作 RSS 队列 0 1 结束 类型 IP IPv4 结束 / 结束 如果拒绝或接受,但仍然不根据内部 IPv4 地址进行分发,则 PMD 可能没有将 DPAA2 分发密钥编程为“最后一个/内部 IP”。 尝试使用有助于解析的 MPLS 标签值 如果您的 MPLS 流量使用普通服务标签,解析器可能无法识别有效负载是 IPv4。为了进行受控测试,请尝试使用 MPLS 显式 NULL 标签: MPLS 标签 0 表示 IPv4 显式 NULL。 MPLS 标签 2 表示 IPv6 显式 NULL。 DPAA2 文档指出,启用 MPLS 标签解释时,标签 0 映射到 IPv4,标签 2 映射到 IPv6。 如果内部 IP 上的 RSS 仅对标签 0 有效,那么问题不在于 RSS 本身;问题在于解析器没有被告知您的 MPLS 有效负载是 IP。 如果你需要这个功能,真正的解决方案很可能是PMD作品。 DPAA2硬件具备实现这一目标所需的概念: HDR_INDEX = 0xFF 表示“使用最内层的标头”。 IPSRC_N 和 IPDST_N 是最后一个 IP 报头的源地址/目标地址。 如果配置得当,MPLS 解析器可以超越 MPLS 解析器,扩展到 IP 解析器。 因此,驱动程序级别的实现可能需要对 DPNI 分发配置文件进行编程以提取: 内部/最后一个 IPv4 源地址 内部/最后一个 IPv4 目标地址 可能是内部L4端口, 在 MPLS 解析路径之后。 实际上:这可能需要更改 DPAA2 DPDK PMD ,而不仅仅是更改 testpmd 命令。 我的结论:DPAA2 硬件原则上可以访问“内部/最后一个 IP”字段,但 MPLS-inner-IP RSS 似乎不是您的堆栈上现成支持的 DPDK DPAA2 PMD 功能;如果显式的 eth / mpls / ipv4 RSS 规则失败,可能的解决方案是更改 PMD/解析器/分发配置文件,而不是不同的 testpmd 命令。
View full article
S32K396 RTD 5.0: eMIOS CH0/CH1 PWMが生成されず、LCU出力動作が予期しない こんにちは、NXP チームの皆様、 私はS32 Design Studio 3.6.7とRTD 5.0(AUTOSAR 4.7)を使ってS32K312を作っています。eMIOSは、 eMIOS→TRGMUX→LCU→出力ピン を通じて6つのPWM信号を生成するように設定しています。モーター制御用です。 私は2つの問題に直面しています。 eMIOSのCH0とCH1はPWMを生成しませんが、 CH2からCH5は正しくPWMを生成します。クロック、ポート、eMIOS MCL、eMIOS PWM、グローバルタイムベース、TRGMUX、LCUはすべて正常に初期化されており、CH0およびCH1のPWM構成は作業チャネルと同じです。 LCUの出力に予期せぬ挙動が見られました。LCU出力インデックス4を0に設定すると、出力4は引き続きPWMを生成しますが、出力5は永久にオフになります。同様に、 LCU出力インデックス2を0に設定すると、出力2は引き続きPWMを生成しますが、出力3は永久にオフになります。各LCU出力は独立して動作すると思っていたのですが、1つの出力を変更すると隣接する出力にも影響が出るようです。 何かアドバイスをいただけますか: eMIOSのCH0とCH1をLCUで使用する際に、ハードウェアまたはRTDに関する制限はありますか? CH0とCH1には、追加のTRGMUXまたはLCU設定が必要ですか? LCUの出力は、相補モードにおいて内部的にペアになっているのか、それとも依存しているのか? この動作は想定内のものですか、それともLCU/TRGMUXの設定ミス、あるいはRTD 5.0の既知の問題を示しているのでしょうか? 参考までに、プロジェクトファイルと設定ファイルを添付しました。 再開まで今しばらくお待ちください。 Re: S32K396 RTD 5.0: eMIOS CH0/CH1 PWM Not Generated and Unexpected LCU Output Behavior こんにちは、 @Esakkiさん 私は 、FRDM-A-S32K312デモアプリケーション上のPMSMモータ制御センサーレスデュアルシャントFOC に基づいて、eMIOSチャネル0および1が生成するPWM信号の周期、デューティサイクル、位相シフトを修正していくつかのテストを行いました。これらのテスト中、LCUは期待通りの出力信号を生成しており、eMIOSチャネル自体にはこのユースケースにおける固有の制限は存在しないことを示唆しています。 結果に基づくと、PWM信号が両方とも正しくLCUに送られ、受信されているにもかかわらず、現在のPWM構成が原因でLCUの出力が常に低いままになっている可能性がある。 以前共有したデモアプリケーションや、スレッド S32M27x/S32K3 – eMIOS/TRGMUX/LCU – [RTD600]で示された例をレビューすることをお勧めします。これらの例は、動作するeMIOS → TRGMUX → LCU構成を示しており、有用な参考資料となる可能性があります。 BR、vaneB
View full article
DPAA2 DPDK RSS Hash on MPLS Inner IP Hello, I'm testing DPAA2 RSS capabilities with DPDK on a SolidRun LX2160A Clearfog CX. I've found that it is able to hash on MPLS labels and PPPoE inner IP for example. However it seems to not be able to hash on MPLS inner IP, am I right on this ? This surprise me a bit because: - It know what is a MPLS header because it is able to hash on MPLS labels - It know how to get inner IP because it is able to hash on PPPoE inner IP Could you confirm if it is supported or not to hash on MPLS inner IP ? I'm quite newbie with NXP DPAA2 and NXP in general, so can you please explain your technical words. Thanks. Re: DPAA2 DPDK RSS Hash on MPLS Inner IP Yes — your understanding is correct for the DPDK DPAA2 PMD as used from testpmd today : hashing on the MPLS label itself is supported, and hashing on inner IP after PPPoE can work, but MPLS inner IP RSS is not clearly exposed as a ready-to-use DPDK RSS mode . The important nuance is this: DPAA2 hardware is capable enough : the LX2160A parser can recognize MPLS, walk through an MPLS label stack, and then continue parsing to IPv4/IPv6 under some conditions. DPAA2 key extraction also has “inner/last IP” fields : the distribution key mechanism can use HDR_INDEX = 0xFF , meaning “most inner / last header,” and the hardware defines IPSRC_N / IPDST_N for the last IP header. But the public DPDK DPAA2 PMD documentation only says RSS is supported in general , and lists limitations like fixed RSS key and non-configurable RETA; it does notas a supported RSS combination. The Linux/SDK-facing hashing documentation lists ordinary fields such as Ethernet destination, VLAN, L3 protocol, IPv4 source/destination, and L4 ports, but not “IP after MPLS” as a selectable hash mode. So: not a silicon limitation, but likely a software/driver exposure limitation in the DPDK DPAA2 PMD path you are using.   What you can try First confirm that DPAA2 sees the packet as “MPLS + inner IP” If the hardware parser does not mark the inner IPv4 header as present, RSS on inner IP cannot work. In DPDK, enable DPAA2 PMD logs: Copy --log-level=pmd.net.dpaa2:debug Also check whether received packets get meaningful packet type information in your application or with testpmd , for example whether packets are classified only as MPLS or as MPLS plus inner IPv4. If the packet type stops at MPLS, the RSS hash cannot use inner IPv4 because, from the driver’s point of view, inner IPv4 was not parsed. Try being explicit in the flow pattern If you only configured RSS type mpls , that will naturally hash MPLS fields. Try a pattern that explicitly includes the inner IPv4 header: Copy flow create 0 ingress \   pattern eth / mpls / ipv4 / end \   actions rss queues 0 1 end types ipv4 end / end If you want source/destination IP specifically, also try: Copy flow create 0 ingress \   pattern eth / mpls / ipv4 / end \   actions rss queues 0 1 end types ip ipv4 end / end If that is rejected or accepted but still does not distribute based on the inner IPv4 addresses, then the PMD is probably not programming the DPAA2 distribution key as “last/inner IP.” Try MPLS label values that help the parser If your MPLS traffic uses ordinary service labels, the parser may not know the payload is IPv4. For a controlled test, try MPLS Explicit NULL labels: MPLS label 0 means IPv4 Explicit NULL. MPLS label 2 means IPv6 Explicit NULL. The DPAA2 documentation says label 0 maps to IPv4 and label 2 maps to IPv6 when MPLS label interpretation is enabled . If RSS on inner IP works only with label 0 , then the problem is not RSS itself; the issue is that the parser was not being told that your MPLS payload is IP. If you need this feature, the real fix is likely PMD work The DPAA2 hardware has the concepts needed for this: HDR_INDEX = 0xFF means “use the most inner header”. IPSRC_N and IPDST_N are the source/destination address of the last IP header. The MPLS parser can advance beyond MPLS to IP when configured appropriately. So a driver-level implementation would likely need to program the DPNI distribution profile to extract: inner/last IPv4 source address, inner/last IPv4 destination address, possibly inner L4 ports, after an MPLS parse path. In practical terms: this may require changing the DPAA2 DPDK PMD , not just changing a testpmd command. My conclusion: DPAA2 hardware can in principle reach “inner/last IP” fields, but MPLS-inner-IP RSS does not appear to be a ready-supported DPDK DPAA2 PMD feature on your stack; if explicit eth / mpls / ipv4 RSS rules fail, the likely solution is a PMD/parser/distribution-profile change rather than a different testpmd command.
View full article