Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
リクエスト: 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のグラフィカル設定ツールはいかがでしょうか?それもかなり役に立ちそうだ。製品自体がかなり古いため、サービス遅延が予想されるかもしれません
查看全文
需要帮助查找适用于 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) 谢谢 🙂 ...
查看全文
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.
查看全文
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试试呢? 同时还是建议你导出工程发我们看看。
查看全文
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.
查看全文
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
查看全文
T Embed 使用的是哪种接口? 我有一台标准的 T 型嵌入式开发板,但我不知道它用的是哪种接口(不是 USB-C 接口),因为官方网站说它是 Grove 接口,而 Lilygo Wiki 网站说它是 Qwiic 接口。请问有人可以帮帮我吗? Re: What kind of port does the T Embed have? 你好, 由于该设备并非 NXP 产品,我建议您直接联系 Lilygo 支持部门,提供元器件零件编号,您可以与他们一起查看引脚图或物料清单。 顺祝商祺!
查看全文
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
查看全文
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上で完全に動作するモデルよりも自然に遅いです。回帰テストのカバレッジ向上に役立つようでしたら、詳細な前後比較ベンチマークを個別にご提供いたします。 改めてありがとうございました。大変感謝しています。
查看全文
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
查看全文
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
查看全文
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
查看全文
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/パーサー/配布プロファイルの変更が考えられます。
查看全文
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 命令。
查看全文
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
查看全文
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.
查看全文
s32k344、LPSPI、連続シーケンスのフレーム間のクロックギャップが小さい - NXP MCU S32K344 LPSPIモジュール(コントローラ)とHolt HI-35930(ペリフェラル)間の通信に問題が発生しています。 このコードは、それぞれ8ビットのワードである2つのフレームを書き込みます。LPSPI経由でARINC通信デバイスHI-35930へ送信する。設定がすべて正しいことを確認しました。cpol = 0、cpha = 0、LSBF = MSB、BYSW=no、RXMSK、TXMSK =0、TCR[FRMSZ]=7。 このコードは、TRC[CONT] および TRC[CONTC] ビットを使用して PCS を制御します。PCSは2フレームのシーケンス全体にわたって主張されたままです(図を参照)。時計も同様に、2つのフレームにわたって脈動する。SOUT信号には期待されるデータが含まれており、フレーム1はオペコード0x80、フレーム2はダミーデータ0x00です。 問題はSINにある。データがありません。(オペコード0x80はレジスタを読み取るためのもので、少なくとも1ビットがハイになっていることを期待していました。) RXCOUNTは各フレームで増加し、最大で2になります。 -同じ設定を使用して、同じオペコードとデータを1つの16ビットフレームに連結し、フレームが1つしかないためTRC[CONT]とTRC[CONTC]を0に設定します。TRC[FRMSZ]=15。送信は正常に機能し、SINは実際のデータを返します。 何が問題だと思いますか? 黄色 - PCS信号 ピンク - クロック信号 ブルー - MCUにとって罪 グリーン - MCUのSOUT   Re: s32k344, LPSPI small clock gap between frames of a continuous sequence MOSIとMISOのデータは空です。正しいSPIバスのハードウェア回路図設計はありますか? Re: s32k344, LPSPI small clock gap between frames of a continuous sequence こんにちは、 @ekmas-19 さん。 あなたは、送信されたデータは2バイト(0x80と0x00)であると説明しました。しかし、オシロスコープには、8ビットのフレームが2つではなく、わずかな間隔で区切られた32ビットのワードが2つはっきりと表示されている。これを詳しく説明してもらえますか? フレーム間の間隔については、これは想定される動作です。CONT = 1 は、フレーム間で CS/PCS をアサートするだけであり、SCK には影響しません。クロックはCONT = 0の場合とまったく同じように動作します。 よろしくお願いいたします。 ダニエル
查看全文
Version 2 issues: C code generation, preview Hi! I started testing GUI Guider version 2, and I found a couple of issues (starting with an empty template, Windows simulator). I started defining the content of the top layer putting an image button, creating an event handler to switch state when the button is long pressed. The generated the code has some errors, like: gg_event_layer_top.c:   static void lv_layer_top()_event_handler(lv_event_t * e) {     ...   } void gg_event_init_layer_top(gg_ui_t * ui😞   lv_obj_add_event_cb(ui->layer_top.lv_layer_top(),  lv_layer_top()_event_handler, LV_EVENT_ALL, ui); (parenthesis create a parsing error) Manually removing the parenthesis, the error below is generated: .../generated/events/gg_event_layer_top.c:59:38: error: 'gg_layer_top_t' has no member named 'lv_layer_top' (gg_layer_top_t definition doesn't include that member) Am I missing some definition to make a correct generation of those functions? Re: Version 2 issues: C code generation, preview Hi @poldo  May i ask how can i reproduce this issue? BR Harry Re: Version 2 issues: C code generation, preview Hi @Harry_Zhang , thank you for your reply. This is what I did: - On layer_top (clickable flag added, is this necessary?) I created a container for my buttons (no clickable flag added)  - Inside the container I created an image button (clickable flag added)  - I attached the event "Long Pressed" to the button Generated code contains the syntax errors above. // In gg_event_layer_top.c static void lv_layer_top()_event_handler(lv_event_t * e) { gg_ui_t * ui = lv_event_get_user_data(e); lv_event_code_t code = lv_event_get_code(e); switch(code) { default: break; } } void gg_event_init_layer_top(gg_ui_t * ui) { lv_obj_add_event_cb(ui->layer_top.lv_layer_top(), lv_layer_top()_event_handler, LV_EVENT_ALL, ui); lv_obj_add_event_cb(ui->layer_top.Keypad_btnEnable, Keypad_btnEnable_event_handler, LV_EVENT_ALL, ui); } Removing the parenthesis the syntax error is about the member lv_layer_top not existing: // In custom.h typedef struct { lv_obj_t * Keypad; lv_obj_t * Keypad_btnEnable; } gg_layer_top_t; BR Poldo Re: Version 2 issues: C code generation, preview Hi @poldo  I tried to reproduce this issue. The generated code is correct. May I ask what I missed? BR Harry Re: Version 2 issues: C code generation, preview Hi @Harry_Zhang . The issue is when you create objects on the top layr. I'm attaching my file for your review and test. Re: Version 2 issues: C code generation, preview Hi @poldo  Thanks for your project, we have reproduced this issue. This is a bug. We will fix it in the next version. Thank you for your understanding. BR Harry Re: Version 2 issues: C code generation, preview Thank you, @Harry_Zhang . Is there a workaround that could be used while waiting for the update? BR Re: Version 2 issues: C code generation, preview This is a bug, and the fix is simple. Find your guiguider file and open it in text mode. Locate the event_list, remove any extra content, and then use the guider to reload the project. The generated code will return to normal.
查看全文
MRF13750H 输入匹配设计仿真 您好! 我正在尝试使用 Usimmics 模拟 MRF13750H-915MHz 参考电路板的输入匹配网络(我没有 ADS 或 AWR)。 我使用了与 NXP 数据手册中相同的宽度和长度的走线,但结果与 915MHz 不符。有人知道我哪里做错了吗? 最好的, 路易斯·维拉纽瓦 射频 Re: MRF13750H Input Matching Design Simulation 谢谢你提供的信息! Re: MRF13750H Input Matching Design Simulation 你好 Luis_V 再会! 很遗憾,我没有使用过你正在使用的模拟器,所以无法进行全面比较,但就我所见,我可以告诉你以下几点: 在 ADS/AWR 中,原始布局包括: T型不连续点, 斜接弯头, 开放式效果, 耦合效应。 您的原理图使用了直接连接的理想 MLIN 段。 此外,我了解到 AWR 仿真“考虑”了封装中可能存在的寄生效应。 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你今天过得愉快,一切顺利。
查看全文
S32K118 FlexIO Hello. I would like to consult about implementing both-edge detection for motor Hall sensor signals using the FlexIO module on S32K118. Currently, I need to capture both rising and falling edges of three Hall feedback signals from the BLDC motor. I am trying to configure FlexIO pins as input capture channels. However, I am confused about how to set FlexIO to detect both rising and falling edges simultaneously. Could you share the proper FlexIO timer and shifter configuration workflow for dual-edge capture。Besides.I also want to know if interrupts can be triggered on every edge, and whether there are known limitations or precautions when using FlexIO for Hall signal sampling on the S32K118 platform. Thank you very much. Re: S32K118 FlexIO Hello @Niuyanlin, If application is Hall sensor in BLDC motor feedback, I suggest looking into the FTM module instead. The following application note mentions how to configure the module for single and dual edge capture, and how to generate a capture interrupt: AN5303: Features and Operation Modes of FlexTimer Module on S32K – Application Note. "The Hall sensors are connected to the channels of the independent FTM (FTM_CHx). The FTM can then detect both the falling and rising edges of the Hall sensor signals and generate a capture interrupt." FlexIO, by contrast, requires constructing input capture behavior indirectly through timer-decrement modes, and it can work, but in my opinion, FTM module is better suited. Best regards, Julián Re: S32K118 FlexIO Hello, Julian, Thank you very much for your prompt reply and valuable suggestions. I recognize that FTM is a superior choice for feedback from BLDC motor Hall sensors. However, due to insufficient peripheral resources in the project, we had to implement input capture functionality using FlexIO. We would greatly appreciate it if you could provide a detailed software implementation plan related to FlexIO for our reference. Best regards, Niu Yanlin Re: S32K118 FlexIO Hello @Niuyanlin, Since FlexIO does not have the dedicated input capture capability, most of the documentation is based on communication emulation. The main suggestion I can give is to refer to S32K1's reference manual chapter 54. You can refer to the following application notes, which detail how to configure shifters and timers, along with the respective interrupts: AN14284: Timing Parameter Tuning for FlexIO Emulated Interface | NXP Semiconductors AN12174: Using FlexIO to emulate communications and timing peripherals – Application Note Understanding FlexIO The FlexIO module can generate an interrupt from 3 sources: Shifter error, Shifter status flag and Timer status flag. To enable the interrupts, you need to set the bits in the SHIFTSIEN, SHIFTEIEN and TIMIEN. However, there are no routines for input capture or BLDC motor control. I apologize for the inconveniences. Best regards, Julián
查看全文