Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
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.
記事全体を表示
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 仿真“考虑”了封装中可能存在的寄生效应。 希望这些信息对您有所帮助,如果您还需要其他帮助,请告诉我。 祝你今天过得愉快,一切顺利。
記事全体を表示
i.MX8QXPでの直接フレームバッファ書き込みのサポート こんにちは、NXP チームの皆様、   Soc : iMX8qxpC0mek Linux OS : yocto [Scarthgap L6.6.5] i.MX8QXP Yocto Linuxプラットフォーム上で、ディスプレイへの直接フレームバッファ書き込みがサポートされているかどうかを確認したいと思います。 私たちの要件は、Weston/WaylandコンポジターとHMIアプリケーションが初期化される前の初期起動段階で、グラフィックや画像を直接表示することです。 もう少し詳しく教えていただけますか: /dev/fb0のような直接フレームバッファアクセスがサポートされているかどうか。 Westonを起動せずにDRM/KMSを使って直接ディスプレイを更新できるかどうか。 NXPが直接表示レンダリングのためのリファレンスアプリケーションやサンプルコードを提供するかどうか 必要なカーネル構成、デバイスツリーの変更、またはディスプレイドライバの設定。 コンポジタが後から起動した際に、直接フレームバッファアクセスがWestonと競合する可能性があるかどうか。 i.MX8QXPプラットフォームでの早期表示出力実装の推奨方法を共有してください。 Re: Support for Direct Framebuffer Write to Display on i.MX8QXP こんにちは、@Ram2さん お元気でお過ごしのことと思います。 1. /dev/fb0 (fbdev) はサポートされていますか? いいえ、i.MX 8ではネイティブではありません。NXP i.MX Linux リファレンスマニュアル には、第6.2.2章のフレームバッファが明示されています: フレームバッファドライバーは i.MX 6と i.MX 7でサポートされていますが、i.MX 8ではサポートされていません 2. ウェストンを使わずに直接DRM/KMSアクセス はい、これは正しい、そして推奨されるアプローチです。 i.MX 8では、WestonはDRMバックエンドを使用しているため、アプリケーションが直接DRM/KMSにアクセスする際にはWestonが稼働していない必要があります。 UG10163の第7.3.10.7章のcamテストアプリケーションをご覧ください。 3. NXPリファレンスアプリケーション/サンプルコード SDK_2_9_0_MEK-MIMX8QX\boards\mekmimx8qx\driver_examples\dpu\characterの例を見てみてください。MCUXpresso SDKからダウンロードしてください。 4. カーネル設定、デバイスツリー、ディスプレイドライバ設定 カーネル設定(imx_v8_defconfig内): CONFIG_DRM=y # DRM framework CONFIG_DRM_IMX=y # i.MX DPU DRM driver (drivers/gpu/drm/imx) CONFIG_DRM_IMX_DPU=y # DPU-specific DRM module CONFIG_DRM_IMX_MIPI_DSI_NORTHWEST=y # MIPI DSI (for OLED panel support) CONFIG_DRM_IMX_LDB=y # LVDS Display Bridge 表10をご覧ください。RN00210のカーネルおよびデバイスツリー構成(ビデオディスプレイのセクション)。 5. ウェストンとの対立が後から始まる場合 はい、対立は存在します。 早期起動のDRM/KMSアプリケーションとWestonは/dev/dri/card0の独占制御を争うため、早期アプリケーションはWestonが開始する前にDRMマスターをリリースしなければなりません。 U-Bootのロゴで表示を試してみるのもいいですよ。U-BootはDRM/simplefbでレンダリングされたBMP画像をサポートしています。これによりLinux層間の競合を完全に回避し、可能な限り早いスプラッシュ画面を生成します。 よろしくお願いいたします。 サラス。
記事全体を表示
FRDM S32K344MINI-EVB I Have Purchased S32k344mini-EVB Board & Installed sd32 Design Studio,  downloading  this file  S32DS_3.6.0_win32.x86_64.EXE. & Please guide me what others applications needs to be Installed. Thanks & Regards, Ravi Re: FRDM S32K344MINI-EVB Hi @ravirke  All the software required to get started with this device is included in the FRDM Automotive Bundle. Any additional tools that may be needed will depend on the specific features and functionality you plan to implement in your application. BR, VaneB
記事全体を表示
FRDM S32K344MINI-EVB 我购买了 S32k344mini-EVB 板并安装了 sd32 Design Studio,下载了此文件 S32DS_3.6.0_win32.x86_64.EXE。请指导我还需要安装哪些其他应用程序。 谢谢,此致敬礼! 拉维 Re: FRDM S32K344MINI-EVB 嗨@ravirke FRDM 汽车套装中包含了开始使用此设备所需的所有软件。所需的其他工具将取决于您计划在应用程序中实现的具体特性和功能。 BR,VaneB
記事全体を表示
FRDM S32K344MINI-EVB S32k344mini-EVBボードを購入し、SD32 Design Studioをインストールし、このファイルをダウンロードしましたS32DS_3.6.0_win32.x86_64.EXE。そして、他のアプリケーションをインストールする必要がある場合についてご案内ください。 よろしくお願いいたします。 ラヴィ Re: FRDM S32K344MINI-EVB こんにちは、 @ravirke さん。 このデバイスを使うために必要なすべてのソフトウェアは FRDMオートモーティブバンドルに含まれています。追加で必要になるツールは、アプリケーションに実装予定の具体的な機能や機能によって異なります。 BR、VaneB
記事全体を表示
Design tool TEA173X flyback SMPS design tool. Request for send me Power solution Re: Design tool USB-PD3.0 / QC4.0 Smart Charging Design Tool | NXP Semiconductors Design tool for TEA173X is no available currently. You can refer to above link for flyback design.
記事全体を表示
MRF13750H 入力マッチング設計シミュレーション こんにちは! Usimmicsを使用してMRF13750H-915MHzリファレンス回路基板の入力整合回路をシミュレートしようとしています(ADSもAWRも持っていません)。 NXPのデータシートに記載されているものと同じ幅と長さの配線を使用していますが、結果は915MHzと一致しません。私が何か間違っている点があれば教えてください。 最高、 ルイス・ビジャヌエバ RF Re: MRF13750H Input Matching Design Simulation 情報ありがとうございます! Re: MRF13750H Input Matching Design Simulation こんにちは、Luis_Vさん 良い一日! 残念ながら、あなたが使っているシミュレータは使ったことがないので完全な比較はできませんが、私が見た限りでは以下の点をお伝えできます: ADS/AWRでは、元のレイアウトには以下が含まれます。 T字管の不連続性、 マイター曲げ、 オープンエンド効果、 カップリング効果。 回路図は理想的なMLINセクションを直接接続しています。 さらに、AWRシミュレーションはパッケージ内に存在する可能性のある寄生効果を「考慮」していると理解しています。 この情報がお役に立てば幸いです。他に何かご不明な点がありましたら、お気軽にお問い合わせください。 良い一日をお過ごしください。幸運を祈ります。
記事全体を表示
设计工具 TEA173X回扫式开关电源设计工具。 请发送至 电源解决方案 Re: Design tool USB-PD3.0 / QC4.0 智能充电设计工具 | 恩智浦半导体 目前没有适用于TEA173X的设计工具。 您可以参考上面的链接了解回扫式设计。
記事全体を表示
設計ツール TEA173XフライバックSMPS設計ツール。 私に送ってほしい 電源ソリューション Re: Design tool USB-PD3.0 / QC4.0 スマート充電設計ツール |NXPセミコンダクターズ 現在、TEA173Xのデザインツールは利用できません。 フライバック設計については上記のリンクを参照してください。
記事全体を表示
MRF13750H Input Matching Design Simulation Hello! I am trying to simulate the input matching network of the MRF13750H-915MHz reference circuit board using Usimmics (I don't have ADS neither AWR)  I am using the same width and length traces as those in NXP datasheet, but the results do not correspond to 915MHz. Does anyone know what I am doing wrong? Best, Luis Villanueva RF Re: MRF13750H Input Matching Design Simulation Thank you for the information! Re: MRF13750H Input Matching Design Simulation Hello Luis_V Good day! Unfortunately, I haven't used the simulator you're using, so I can't make a complete comparison, but from what I can see, I can tell you the following: In ADS/AWR, the original layout includes: tee discontinuities, mitered bends, open-end effects, coupling effects. Your schematic uses ideal MLIN sections connected directly. Furthermore, I understand that the AWR simulation "takes into account" the parasitic effects that may be present in the package. I hope this information has helped you, please let me know if you need help with anything else. Have a great day and best of luck.
記事全体を表示
Support for Direct Framebuffer Write to Display on i.MX8QXP Hi NXP Team,   Soc : iMX8qxpC0mek Linux O.S : yocto [Scarthgap L6.6.5 ] We would like to check whether direct framebuffer writing to the display is supported on the i.MX8QXP Yocto Linux platform. Our requirement is to display graphics or an image directly during the early boot stage, before the Weston/Wayland compositor and HMI application are initialized. Could you please clarify: Whether direct framebuffer access, such as /dev/fb0, is supported. Whether the display can be updated directly using DRM/KMS without starting Weston. Whether NXP provides any reference application or sample code for direct display rendering The required kernel configurations, device-tree changes, or display-driver settings. Whether direct framebuffer access could conflict with Weston when the compositor starts later. Please share the recommended approach for implementing early display output on the i.MX8QXP platform. Re: Support for Direct Framebuffer Write to Display on i.MX8QXP Hello @Ram2  Hope you are doing very well. 1. Is /dev/fb0 (fbdev) supported? No, not natively on i.MX 8. The NXP i.MX Linux Reference Manual explicitly shows ins chapter 6.2.2 Frame buffer: Frame buffer drivers are supported for i.MX 6 and i.MX 7, but not for i.MX 8 2. Direct DRM/KMS access without Weston Yes, this is the correct and supported approach. On i.MX 8, Weston uses the DRM backend, which means Weston must not be running when an application directly accesses DRM/KMS.  You can take a look to the chapter 7.3.10.7 cam test application of UG10163. 3. NXP Reference Application / Sample Code You can take a look to the SDK_2_9_0_MEK-MIMX8QX\boards\mekmimx8qx\driver_examples\dpu\character example. Download it from MCUXpresso SDK. 4. Kernel Configuration, Device Tree, and Display Driver Settings Kernel configuration (in imx_v8_defconfig): CONFIG_DRM=y # DRM framework CONFIG_DRM_IMX=y # i.MX DPU DRM driver (drivers/gpu/drm/imx) CONFIG_DRM_IMX_DPU=y # DPU-specific DRM module CONFIG_DRM_IMX_MIPI_DSI_NORTHWEST=y # MIPI DSI (for OLED panel support) CONFIG_DRM_IMX_LDB=y # LVDS Display Bridge Please take a look to the Table 10. Kernel and device tree configurations of RN00210, in section Video Display. 5. Conflict with Weston When It Starts Later Yes, there is a conflict. Since both the early-boot DRM/KMS application and Weston fight for exclusive control of /dev/dri/card0, the early application must release the DRM master before Weston starts. You can try display via U-Boot logo. U-Boot supports BMP images rendered via DRM/simplefb. This completely avoids the Linux-layer conflict and produces the earliest possible splash screen. Best regards, Salas.
記事全体を表示
支持 i.MX8QXP 直接帧缓冲区写入显示器 您好,NXP团队:   SoC:iMX8qxpC0mek Linux 操作系统:yocto [Scarthgap L6.6.5] 我们想检查一下 i.MX8QXP Yocto Linux 平台是否支持直接向显示器写入帧缓冲区。 我们的要求是在启动初期,在 Weston/Wayland 合成器和 HMI 应用程序初始化之前,直接显示图形或图像。 请问您能否澄清一下: 是否支持直接访问帧缓冲区,例如/dev/fb0 。 是否可以直接使用 DRM/KMS 更新显示内容,而无需启动 Weston。 NXP是否提供任何用于直接显示渲染的参考应用程序或示例代码 所需的内核配置、设备树更改或显示驱动程序设置。 直接访问帧缓冲区是否会与 Weston 在合成器稍后启动时发生冲突。 请分享在 i.MX8QXP 平台上实现早期显示输出的推荐方法。 Re: Support for Direct Framebuffer Write to Display on i.MX8QXP 你好@Ram2 希望你一切都好。 1. 是否支持 /dev/fb0 (fbdev)? 不,i.MX 8 本身并不支持。NXP i.MX Linux 参考手册在第 6.2.2 章“帧缓冲区”中明确指出: 帧缓冲区驱动程序支持 i.MX 6 和 i.MX 7,但不支持 i.MX 8。 2. 无需 Weston 即可直接访问 DRM/KMS 是的,这是正确且有依据的方法。 在 i.MX 8 上,Weston 使用 DRM 后端,这意味着当应用程序直接访问 DRM/KMS 时,Weston 不能运行。 您可以参阅UG10163的 7.3.10.7 章 cam 测试应用。 3. NXP 参考应用/示例代码 您可以查看 SDK_2_9_0_MEK-MIMX8QX\boards\mekmimx8qx\driver_examples\dpu\character 示例。从MCUXpresso SDK下载。 4. 内核配置、设备树和显示驱动程序设置 内核配置(在 imx_v8_defconfig 中): CONFIG_DRM=y # DRM framework CONFIG_DRM_IMX=y # i.MX DPU DRM driver (drivers/gpu/drm/imx) CONFIG_DRM_IMX_DPU=y # DPU-specific DRM module CONFIG_DRM_IMX_MIPI_DSI_NORTHWEST=y # MIPI DSI (for OLED panel support) CONFIG_DRM_IMX_LDB=y # LVDS Display Bridge 请看表10。RN00210的内核和设备树配置,在视频显示部分。 5. 与韦斯顿的冲突(稍后开始) 是的,存在冲突。 由于早期启动的 DRM/KMS 应用程序和 Weston 都争夺 /dev/dri/card0 的独占控制权,因此早期应用程序必须在 Weston 启动之前释放 DRM 主设备。 您可以尝试通过 U-Boot 徽标进行显示。U-Boot 支持通过 DRM/simplefb 渲染的 BMP 图像。这样就完全避免了 Linux 层冲突,并能尽早生成启动画面。 顺祝商祺! 萨拉斯。
記事全体を表示
CGM-RD (UM12423) — NHS2634 never asserts INTERRUPT pin, NHS2x34_Init() hangs forever NHS2x34_Init() hangs indefinitely waiting for the NHS2634's interrupt pin to go high. I'd like help determining whether this points to a hardware issue, a power-sequencing issue, or a firmware configuration problem. Sequence of events: 1. NHS2634_HOSTIF_InitSpiAndInterrupt() runs and returns success. 2. NHS2x34_PMC_ResetAFE() is called. This issues an SPI write to the PMC control register (setting the AFE reset bit). It returns success (status = 0). 3. The code then waits in the following loop, expecting the chip to assert its interrupt pin high once it is ready to accept further SPI commands. This loop never exits. while (!NHS2634_HOSTIF_GetInterruptPinLevel()) { } Diagnostics already run: 1. Confirmed via SEGGER RTT logging that the loop is genuinely spinning (a live poll counter increments continuously into the tens of millions), not frozen or crashed. The CPU is alive and actively re-checking the pin. 2. Attached a debugger (J-Link/GDB) and halted mid-loop twice. The program counter was inside NHS2634_HOSTIF_GetInterruptPinLevel() calling GPIO_PinRead() both times, consistent with active polling. 3. Read back the PMC control register immediately after writing it. Expected a non-zero pattern reflecting the reset bit plus the write-protection byte just sent, but got back 0x00000000. 4. Ran a raw SPI loopback test (shorting MOSI to MISO directly on the sensor connector, with the NHS2634 module fully disconnected). Still got 0x00000000 back on a distinctive test pattern, instead of an echo of the transmitted bytes. 5. Repeated all of the above with the NHS2634 module completely unplugged. Results were identical to when it is connected. What I am trying to determine: I am using the official NXP-provided SDK and have not modified the driver code. I need to determine whether this is a hardware issue, a power-sequencing issue, or a firmware configuration issue on my side, and whether this looks like a hardware fault specific to my unit. Any guidance on where to look next would be appreciated. MCU-LINK-PRO,  MCUXPRESSO-VSC,  BLOOD-GLUCOSE-MONITOR  @nxp, @nxp5  Communication & Control(I3C | I2C | SPI | FlexCAN | Ethernet | FlexIO) MCXA MCXC MCXN Package and IO|GPIO Power Re: CGM-RD (UM12423) — NHS2634 never asserts INTERRUPT pin, NHS2x34_Init() hangs forever Since the SPI loopback failed to read 0x00, your host microcontroller's SPI peripheral/gpio routing is not actually transferring any data. Fix your host pin muxing, clocking, and GPIO initialization
記事全体を表示
S32K312:NMI 在 Reset_Handler 执行之前触发,仅在功能(软件)复位之后触发,且仅在特定情况下触发。 设备:S32K312 工具链:Green Hills ELXR(编译器) HSE固件:s32k312_hse_fw_0.13.0_2.55.0_pb250129.bin 调试器:Lauterbach TRACE32 软件:基于AUTOSAR RTD的引导加载程序(FBL)+应用程序(APP),双镜像结构 问题概要 在部分生产单元上,CPU 在执行功能性操作后立即挂起。 (软件)RESET。同样的单位在破坏性 (上电复位)后总能正常启动。在我们的参考/已知良好设备上,不会出现卡顿现象。 证据表明,非军事事件 (NMI) 发生在任何应用程序代码执行之前。 1)在挂起点捕获的 CPU 上下文(自动堆叠的异常帧): - R0-R3 = 0x00000000,R12 = 0x00000000 - LR = 0xFFFFFFFF(重置默认值 -> 尚未执行任何 BL) - PC = 0x00416904(我们的 Reset_Handler 的第一个指令地址) - xPSR = 0x01000000 2) SCB->ICSR = 0x00000802 - VECTACTIVE[8:0] = 2 -> NMI 是当前活动的异常 - RETTOBASE = 1 这证实 CPU 当前正在 NMI 处理程序内部执行。 3) 我们向量表中的 NMI 偏移量条目正确指向我们自己的 默认异常处理程序,因此这是一个真正的 NMI 事件,而不是向量事件。 表格损坏。 在相同的挂起状态下检查的寄存器(全部读取为干净/非活动状态) - MC_RGM_DES = 0x00000000(非破坏性RESET) - MC_RGM_FES = 0x20000000(仅限第 29 位)(仅限“软件功能RESET”) 标志位已设置,无其他功能 RESET源已标记) - FCCU:STAT、N2AF_STATUS、A2FF_STATUS、N2FF_STATUS、NCF_S0、IRQ_STAT 全部 = 0x00000000 - CMU_FC 实例 0、3、4:SR = 0x00000000(无频率高/低故障) - PMC LVSC = 0x00000000(无 LVD/HVD 标志,已锁存或带电) - ERM (0x4025C000): 无法读取正常单元或故障单元的 ERM 值 (在我们的配置中可能采用时钟门控),因此 ERM 状态未经验证。 问题 1. 除了 FCCU / CMU_FC / PMC / MC_RGM 之外,还有其他 NMI 来源吗? 这可能会在应用程序的 Reset_Handler 执行之前触发。 第一条指令? 2. 由于 HSE 子系统独立于应用程序核心运行,因此 应用程序核心功能重置是可能的(但这不会导致) 重置 HSE)以创建状态不匹配,从而触发 NMI。 应用核心? 3. 是否有与此症状相符的 S32K312 已知勘误表(仅限 NMI) 功能性/软件重置(而非上电复位)? 任何关于需要检查的其他登记册的指导,或涵盖以下内容的任何文件 非常感谢来自 FCCU / ERM / CMU_FC / PMC 以外的 NMI 信息来源。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 你好@Chibeom , 请您在系统处于挂起状态时读取寄存器 MU_0.MUB CSSR0 和 MU_1.MUB CSSR0,并确认其中任何一个寄存器的第 0 位(NMIC)是否已设置? 谢谢 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 嗨@danielmartynek , 感谢您指出 MU_0.MUB / MU_1.MUB CSSR0。 MU_0.MUB 和 MU_1.MUB 上的 CSSR0(位 0,NMIC)均读取 0x00000000。 单元处于挂起状态,因此 MU->NMI 请求路径 (CCR0[NMI] / CSSR0[NMIC]) 似乎并非待处理。 然而,在比较已知良好单元和一台设备之间的MU寄存器时, 故障单元(两者均在相同的挂起状态地址范围内捕获), 我们发现了一个始终存在的差异: 正常单元 故障单元 MU_0.MUB 版本 0x0300000F 0x0300000F(相同) MU_0.MUB PAR 0x20200404 0x20200404(相同) MU_0.MUB CR 0x00000000 0x00000000(相同) MU_0.MUB SR 0x00000000 0x00000002 <- MURIP 集 MU_1.MUB VER/PAR/CR:正常单元和故障单元完全相同 MU_1.MUB SR 0x00000000 0x00000002 <- MURIP 集 因此,在两个 MU 实例上,SR 位 1 (MURIP) 仅在发生故障的实例上设置。 单位,始终如一。根据参考手册,MURIP 指出: “处理器 A”已发出 MU 复位,且只能通过以下方式清除: 系统重置(非 MU 重置)。 由于 CPU 在执行任何操作之前都会在 NMI 处理程序内部冻结,因此无法执行任何操作。 应用程序代码本身无法清除此标志,因此它 必须在启动序列之前(或作为启动序列的一部分)设置。 我们非常希望您能就以下问题提供意见: 1.对于 MU_0.MUB 和 MU_1.MUB,哪个处理器是“处理器 A”(即 谁制定 MURIP?我们的头部信息仅暴露了“MUB”寄存器块。 应用程序核心可访问地址——这是否意味着 应用程序核心始终是“处理器 B”,而 HSE 是“处理器 A”。 在这些情况下呢? 2. “系统RESET”(清除 MURIP 所必需的操作)是否包含功能/软件 是RESET应用核心,还是仅进行破坏性/上电RESET?如果 MURIP 无法通过我们的功能 RESET 清除,这就能解释为什么了。 SW RESET 后该设置保持不变,但开机后则清除。 3. 独立于 NMI 问题:MURIP 标志本身是否已设置/卡住 在正常运行期间,这是预期之内的还是被认为是异常的? 4. 由于 CSSR0[NMIC] 当前读取值为 0,硬件是否有可能…… NMI 例外条目出现时是否自动清除 NMIC,还是仅通过以下方式清除: 显式软件写入(在这种情况下,NMIC=0 表示 MU->NMI通道从一开始就从未被钳位? 再次感谢您一直以来的帮助。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 你好@Chibeom , 很抱歉耽搁了。我离开办公室两天。 1. 是的,HSE_B 核心控制 MU_0 和 MU_1 的 MUA 接口。 2. 任何系统 RESET 都应该 RESET MURIP。 3. 我认为这是一个异常情况,因为我对此了解不多。 4. 由于它是 W1C 寄存器,因此需要显式写入。 能否确保在触发功能 RESET 时 HSE_B 处于非活动状态? 另外,当应用程序卡在 NMI 处理程序中时,HSE_B 的状态是什么? 你能读取 MU_0 B 侧的标准 HSE GPR (0x4039_C028)、FSR 和 GSR 寄存器吗? 您在应用程序中使用NMI引脚吗? 此致, 丹尼尔 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 嗨,丹尼尔, 请查看附件中的三张合并后的寄存器转储截图,如下所示。 根据您的问题整理我们的研究结果。 -------------------------------------------------------- 附件 -------------------------------------------------------- 附件 1:正常设备(已启用安全调试,运行正常) 附件 2:故障单元,在功能 RESET 之前 已触发信号(正常运行) 附件3:故障单元,功能RESET后,卡在…… NMI 处理程序(挂起状态) [[ ## completed ##]] -------------------------------------------------------- 发现 1)功能RESET触发时的 HSE_B 活动,以及 2)HSE_B 在 NMI 处理程序中卡住时的状态: 比较附件 2(RESET前)和附件 3(RESET后, 在故障单元上(处于挂起状态),我们检查的每个寄存器都显示: 重置前后完全相同: [[ ## completed ##]] - MU_0.MUB / MU_1.MUB TSR = 0x0000000F,RSR = 0x00000000(无待处理 发送/接收通道上的消息(RESET后保持不变) - MU_0.MUB GSR = 0x00000000(不变) - MU_0.MUB FSR = 0x03600000(未更改) - HSE GPR (0x4039C028) = 0x000001C1(未更改) - MU_0.MUB / MU_1.MUB SR 位 1 (MURIP) = 0x00000002 -- 已设置 在RESET触发信号之前,并且保持设置状态,保持不变;在 RESET之后 因此,MURIP 在此次 RESET 周期之前就已经设置好了,并且 功能 RESET 本身并不会改变任何与 HSE 相关的 登记簿。 作为参考,引用,在一台运行良好的设备上,使用相同的安全调试功能 配置(附件 1),MURIP 在两个设备上均读取 0x00000000 MU_0.MUB 和 MU_1.MUB,而 HSE GPR 和 WKPU NCR 读取的是 相同的值。将值视为故障单元。 3)关于设置/卡住的 MURIP 是否属于异常情况: 明白了,谢谢确认。 4) NMI 引脚使用: 我们不使用 WKPU 路由的 NMI 路径(WKPU_IP_USED 未启用; 我们的引导加载程序中没有编译任何 WKPU 驱动程序代码。 应用程序图像)。WKPU NCR (0x402B4008) = 0x60000000 完全相同 在所有三个附件中。在所有情况下,NSR = 0x00000000。自从 我们认为,这一点在所有单位和条件下都保持不变。 涉及外部/WKPU路由的NMI源。 目前为止的调查结果概要 故障 设备上的 MURIP(MU_0.MUB 和 MU_1.MUB SR 位 1)已设置。在功能 RESET 的触发信号发出之前,该单元就已经存在,并且仍然存在。 悬挂期间保持不变。在一台性能良好的设备上,读数为0,与上述相同。 安全调试配置。这是唯一一致且可复现的结果。 我们在比较过的每个注册表中都发现了差异(FCCU, CMU_FC、PMC、WKPU 和 MU CSSR0/GSR/TSR/RSR/GPR/FSR)。 由于 MURIP 由“处理器 A”(HSE_B)设置,因此应该由……清除。 根据您的回答,“任何系统 RESET”,而且它之前已经设置过了。 我们的功能 RESET 已发出触发信号(但 RESET 本身并未显示)。要更改它),这表明 HSE_B 在早些时候发布了 MU RESET。 HSE_B 识别的“系统 RESET”从未清除过该点。 问题 1. 从健康、安全和环境 (HSE) 的角度来看,是否有办法确定什么会导致这种情况发生 首先,HSE_B(处理器 A)是否应该发出 MU RESET 指令?我们会 我想了解为什么会设置 MURIP。 2. 是否有推荐的方法来触发 HSE_B 的 RESET?被应用程序 识别为“系统 RESET”(以清除 MURIP)。除了完全断电重启之外,软件方面还有什么需要改进的地方吗? 3. 应用程序核心端的 MURIP 标志卡住是否可能与以下情况有关? 我们正在观察的是NMI,或者这更有可能是两个独立的NMI。 是否出现了与之前同一事件相同的症状? 再次感谢您一直以来的帮助。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 你好@danielmartynek , 感谢您提供的最新信息,以及您对 MURIP / NMI 路径的升级处理。 请向您内部的健康、安全与环境(HSE)团队提出问题。我们对此表示感谢,我们会等待。 他们的意见。 与此同时,我们发现了一个可能相关的额外数据点, 所以我们希望现在就分享出来,而不是等待。 在比较UTEST Flash区域中性能良好的单元的OTP字段时 我们发现,在故障单元中,生命周期插槽存在差异。 CUST_DEL (0x1B000220-22F) 和 OEM_PROD (0x1B000230-23F) 完全相同 在好的单元和坏的单元上都编程了(所有字均为 0x55AA50AF) 故障单元。 区别在于 IN_FIELD 插槽 (0x1B000240-24F): - 良好单元:开始进行编程。 - 故障单元:读取为未编程 (0xFFFFFFFF) 我们仍在仔细核对 IN_FIELD 中的确切字节模式。 我们这边有个位置,但这个位置的好坏差异似乎很明显。 持续的。 请问您能否解释一下: 1.这是否意味着故障单元的配置发生了变化 在过渡过程中途被损坏或不完整 IN_FIELD? 2. 生命周期推进到 IN_FIELD 是否可能不完整或缺失 请解释我们一直在研究的NMI/挂起行为 线? 3. 是否有安全的方法来检查或完成此生命周期进展 对于故障单元,是否需要进行全面的生产线重启? 再次感谢您的帮助。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 你好@Chibeom , 根据内存视图,OEM_PROD = 非活动状态,IN_FIELD = 已擦除。 请先读取DCM寄存器:RM,版本12,第 39.3.1 节 DCM 内存映射。 以及第 38.2.3 节“破坏性重置 3 (DCMROD3) 中的只读 GPR”? 您也可以使用 HSE_FW API 来获取 LC 属性? 谢谢 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 你好@Chibeom , 感谢您提供的详细寄存器转储文件。我已经将有关 MURIP 行为以及 HSE_B 和 CM7_0 之间潜在的 NMI 路径的问题上报给了我们内部的 HSE 团队,因为这似乎没有相关文档记录。等我收到他们的反馈后,我会尽快回复你。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 你好@Chibeom , 谢谢你提供的数据。 由于 IN_FIELD 槽仍处于擦除状态,您能否尝试再次设置该属性以推进其更新? 正如我之前提到的,该案件目前正在内部讨论中。 一旦有任何新消息,我会立即更新此帖。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 嗨@danielmartynek , 感谢您向我们指出 DCM 内存映射和 DCMROD3。我们在两台设备上捕获了 DCMSTAT (0h)、DCMLCS (8h)、DCMLCS_2 (80h) 和 DCMROD3 (208h),并根据 RM rev.9 对它们进行了解码。 ---------------------------------------------------- 捕获的值 ---------------------------------------------------- 好单位: - DCMSTAT (0h) = 0x00000E11 - DCMLCS (8h) = 0x00000000 - DCMLCS_2 (80h) = 0x00000000 - DCMROD3 (208h) = 0x00000000 故障单元: - DCMSTAT (0h) = 0x00000E03 - DCMLCS (8h) = 0x06184104 - DCMLCS_2 (80h) = 0x00000006 - DCMROD3 (208h) = 0x00400000 ---------------------------------------------------- 已解码字段(仅限故障单元,因为正常单元读取的值为全零) ---------------------------------------------------- DCMSTAT: - bit1 DCMERR = 1(DCM 完成出错)-- 正常设备的此位值为 0 - bit4 DCMLCST = 0(LC 扫描状态未“成功完成”)——正常设备的此位值为 1 DCMLCS: - 位 21-19 DCMLCC4(IN_FIELD 标记)= 011b = "区域已擦除/未擦除" - 位 15-13 DCMLCC3(OEM_PROD 标记)= 010b = "标记为非活动" - 位 27-25 DCMLCC5(预 FA 标记)= 011b = “已擦除/原始” - 所有关联的 *_ECE/*_CFE/*_CSS 位 = 0。 DCMLCS_2: - 位 3-1 DCMLCC6(FA 标记)= 011b = "已擦除/原始" DCMROD3: - bit22 LC_ERR = 1(“生命周期扫描出错”) 这与我们之前分享的 UTEST OTP 转储一致:故障单元上的 IN_FIELD 插槽读取为已擦除/全新。 ---------------------------------------------------- 故障单元上的 HSE_FW API 结果 (HseReadLifecycle) ---------------------------------------------------- HseReadLifecycle() 返回 0x10 = HSE_LC_IN_FIELD。因此,从 HSE 固件的角度来看,当前生命周期已经是 IN_FIELD。 这似乎与上面的 DCM/OTP 数据相冲突:DCM 的 DCMLCC4 字段读取 IN_FIELD 标记为“已擦除/原始”,而 UTEST OTP IN_FIELD 插槽(0x1B000240h 及之后)读取为未编程(0xFFFFFFFF),但 HSE API 报告生命周期已确认为 IN_FIELD。 我们想按原样分享这些信息,而不是得出结论,因为我们不知道 HSE 是否通过独立于 DCM 闪存标记的单独/安全存储来跟踪生命周期,或者这是否表明标记本身存在问题。 问候, 智范 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 你好@danielmartynek 我们按照建议,再次尝试在故障单元上设置 IN_FIELD 属性。 结果:HSE_SRV_RSP_NOT_ALLOWED (0xAA55A21C) 问候, 智范 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci 你好@Chibeom , 可能是负责推进生命周期 (LC) 的 HSE 服务中断了,导致 LC 处于这种状态。 LC 和 LC 控制 (DCMLCC) 寄存器报告的值与 HSE_FW 相同,均为 0x77 (IN_FIELD),但 UTEST 区域的编程不正确。理论上,您可以使用调试器对 UTEST IN_FIELD 插槽进行编程,这应该可以清除 DCM 错误。 此致, 丹尼尔
記事全体を表示
PN7642 RF Debug Signals如何设置 我在查阅PN7642数据手册时发现芯片以API的形式提供配置数字和模拟调试信号的观测,然后我使用评估板想尝试配置一下,并且在SDK中找到了相应的API(位于PN76_Testbus.h),但是仅根据该.h文件中的描述,我并不知道如何使用这些API,例如我该传入什么样的参数才能观测到想看的信号,请问针对这一场景,是否有相关的文档? 回复: PN7642 RF Debug Signals如何设置   您好,我在您说的文件中找到了一张图片(CTS_TESTBUS_Signals.png),但是我发现这张图片中的数字信号和PN7642数据手册中的数字信号并没有一一对应,请问我该如何获取完整的映射表? 回复: PN7642 RF Debug Signals如何设置       您好,我之前看过这个文件,但文件中并没有清晰的说明,例如:我查看文档后还是不清楚这些API应该传入什么参数,才可以引出ADC IQ两路信号或其它数字/模拟信号。 回复: PN7642 RF Debug Signals如何设置 SDK 的“doc”文件夹下有“PN76-FW-apiguide”文件。 回复: PN7642 RF Debug Signals如何设置 收到,谢谢您 回复: PN7642 RF Debug Signals如何设置 遗憾的是,我们没有任何公开的文档对此进行更详细的描述。 NXP 在UM11566中提供了更多信息,其中包括有关 TestBus 选择寄存器和值寄存器的寄存器信息。由于该文件受保密协议约束,因此访问受到限制。 如果您需要此信息,请与 NXP 完成保密协议流程。获得 NDA 批准后,即可从 NXP 网站PN7642产品页面的“文档”部分下的“安全”下载该文件。
記事全体を表示
Update on S32K388 BIST issue: Soft reset causing peripheral init failure in App Hi NXP Support Team, Following up on the previous BIST hard reset issue: we applied your proposed change, and the BIST now successfully performs a soft reset instead. To adapt to this soft reset and avoid double MCU clock initialization, we initially kept the MCU clock initialization in the Application. However, after the BIST soft reset and jumping to the App, the clock re-initialization was taking an unusually long time. We suspect this delay and lock-up occurred because the clocks were already initialized by the Boot Manager, causing conflicts during the second attempt. To resolve that extreme delay, we removed the MCU clock initialization from the Application entirely, leaving it exclusively in the Boot Manager. Unfortunately, this has introduced a new issue: after jumping to the Application, the system now hangs during peripheral initialization (specifically FlexCAN), which points back to a clock availability issue. Could you advise on the correct clock configuration strategy here? Specifically, does the BIST soft reset disrupt the clocks initialized by the BM in a way that requires re-initialization in the App, and how can we properly hand off the clocks between the BM and App without causing lockups or extreme delays? Re: Update on S32K388 BIST issue: Soft reset causing peripheral init failure in App Hi @HazemIhab, I haven't found your previous BIST hard reset issue in any support ticket or community thread. I understand you see ST_DONE functional reset. After the reset the clock configuration is reset, so it needs to be initialized. If you use the RTD drivers, the Clock_Ip_InitClock() function resets all the clocks to a safe state first — which is probably the delay you see if you initialize the clocks in both the Boot Manager and the application. It can be configured in the Boot Manager only, but you need to make sure the driver enables all the clocks the application needs — in this case the FlexCAN clock. Also, all the system clocks must match one of the clock options listed in the RM, e.g. Table 156. Option A - High Performance mode (CM7_CORE_CLK @ 160 MHz) (For S32K388/S32K389). BR, Daniel Re: Update on S32K388 BIST issue: Soft reset causing peripheral init failure in App Hello @danielmartynek  Thanks for the explanation. To clarify our setup: our Boot Manager (BM) and Application (App) already use the exact same clock configuration, including the FlexCAN clock settings. To avoid the delay from the safe-state reset, we let the BM initialize all clocks and removed Clock_Ip_InitClock() from the App. However, when the App tries to initialize FlexCAN after the jump, the system still hangs with a clock-related error. Re: Update on S32K388 BIST issue: Soft reset causing peripheral init failure in App Hi @HazemIhab, I understand there is a fault exception, can you confirm? If so, you need to find more information about the exception to confirm it is really clock related. https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-HARDFAULT-Handling-Interrupt-DS3-5-RTD300/ta-p/1806259 https://community.nxp.com/t5/S32K-Knowledge-Base/How-To-Debug-A-Fault-Exception-On-ARM-Cortex-M-V7M-MCU-S32K3XX/ta-p/1595570 https://community.nxp.com/t5/S32K-Knowledge-Base/Fault-handling-on-S32K14x/ta-p/1114447 If there is no exception, but the execution is stuck in a loop, where exactly? Also, as I mentioned, all the system clocks must match one of the clock options listed in the RM, e.g. Table 156. Option A - High Performance mode (CM7_CORE_CLK @ 160 MHz) (For S32K388/S32K389) can you confirm? Thank you, BR, Daniel
記事全体を表示
S32K312: NMI は Reset_Handler の実行前にトリガーされ、特定の機能 (SW) リセット後にのみトリガーされます デバイス: S32K312 ツールチェーン:Green Hills ELXR(コンパイラ) HSEファームウェア:s32k312_hse_fw_0.13.0_2.55.0_pb250129.bin デバッガ:Lauterbach TRACE32 ソフトウェア:AUTOSAR RTDベースのブートローダー(FBL)+アプリケーション(APP)、2イメージ構造 問題の概要 一部の生産ユニットでは、機能処理の直後にCPUがハングします (ソフトウェア)リセット。同じユニットは破壊的 (電源投入)リセット。このフリーズは、当社の基準品/正常品では再現しません。 NMIがアプリケーションコード実行前に発生している証拠 1) ハングポイントでキャプチャされるCPUコンテキスト(自動スタックされた例外フレーム): - R0-R3 = 0x00000000、R12 = 0x00000000 - LR = 0xFFFFFFFF(デフォルトリセット -> まだBLが実行されていない) - PC = 0x00416904(Reset_Handlerの最初の命令アドレス) - xPSR = 0x01000000 2) SCB->ICSR = 0x00000802 - VECTACTIVE[8:0] = 2 -> NMI は現在アクティブな例外です - RETTOBASE = 1 これは、CPUが現在NMIハンドラ内で実行されていることを確認するものです。 3) NMIオフセットのベクトルテーブルエントリが自分のオフセットを正しく指している デフォルトの例外ハンドラなので、これはベクターではなく本物のNMIイベントです テーブルの破損。 レジスタはすべて同じハング状態(すべてクリーン/非アクティブと読み取られる)でチェックされました。 - MC_RGM_DES = 0x00000000(破壊的なリセットではない) - MC_RGM_FES = 0x20000000(ビット29のみ)(「ソフトウェア機能リセット」のみ) フラグセット、他の関数なし リセットソースフラグが設定されています) - FCCU:STAT、N2AF_STATUS、A2FF_STATUS、N2FF_STATUS、NCF_S0、IRQ_STAT all = 1 0x00000000 - CMU_FCインスタンス0、3、4:SR = 0x00000000(高低周波数フォルトなし) - PMC LVSC = 0x00000000(LVD/HVDフラグなし、ラッチまたはライブ) - ERM(0x4025C000):良好または故障したユニットで読み取れませんでした (おそらく私たちの設定ではクロックゲートされているため)、ERMの状態は未確認です。 質問 1. FCCU / CMU_FC / PMC / MC_RGM以外にNMIの情報源はありますか? アプリケーションのReset_Handlerが実行する前に、 最初の指示? 2. HSEサブシステムはアプリケーションコアとは独立して動作するため、 アプリケーションコアの機能リセットが可能である(ただし、 リセットHSE)を起動して状態の不一致を作り、NMIをトリガーします。 アプリケーションコア? 3. この症状に一致するS32K312の既知の訂正表はありますか?(NMIのみ) 機能/ソフトウェアのリセットで、電源オン時のリセットは一切ありません)。 追加のレジスターの確認や、ドキュメントについての指針はありますか? FCCU/ERM/CMU_FC/PMC以外のNMIの情報源があれば大変ありがたいです。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、 @Chibeom さん。 ハング状態のレジスタMU_0.MUB CSSR0とMU_1.MUB CSSR0を読み取り、ビット0(NMIC)がどちらかに設定されているか確認していただけますか? よろしくお願い申し上げます。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、 @danielmartynek さん、 MU_0.MUB / MU_1.MUB CSSR0 をご指摘いただきありがとうございます。 MU_0.MUBとMU_1.MUBの両方のCSSR0(ビット0、NMIC)0x00000000は ハング状態で故障したユニット、したがってMU->NMIリクエストパス(CCR0[NMI] / CSSR0[NMIC])は保留中ではないようです。 しかし、既知の良品ユニットと 故障したユニット(両方とも同じハング状態のアドレス範囲でキャプチャされました)、 一貫した違いが見られました。                                  良好なユニット 不良ユニット MU_0.MUB VER 0x0300000F 0x0300000F (同一) MU_0.MUB PAR 0x20200404 0x20200404 (同一) MU_0.MUB CR 0x00000000 0x00000000 (同一) MU_0.MUB SR 0x00000000 0x00000002 <- MURIP セット MU_1.MUB VER/PAR/CR: 正常ユニットと故障ユニットで同一 MU_1.MUB SR 0x00000000 0x00000002 <- MURIP セット SO、両方のMUインスタンスで、SRビット1(MURIP)は故障した 部分のみに設定されています。一貫して。リファレンス・マニュアルによると、MURIPは次のように示しています。 「プロセッサA」はMUリセットを発行しており、クリアできるのは システムリセット(多数ユニットリセットによるものではありません)。 CPUはNMIハンドラー内でフリーズし、実行前に何も実行しません アプリケーションコード自体がこのフラグをクリアできなかったはずなので、 この起動シーケンスの前またはその一部として設定されている必要があります。 以下の点についてご意見をお聞かせいただければ幸いです。 1.MU_0.MUBおよびMU_1.MUBの場合、どのプロセッサが「プロセッサA」(すなわち MURIPは誰が設定しているのでしょうか?ヘッダーは「MUB」レジスタブロックのみを公開します。 アプリケーションコアアクセス可能なアドレスは、 アプリケーションコアは常に「プロセッサB」、HSEは常に「プロセッサA」となります こういう場合に? 2. 「システムリセット」(MURIPをクリアするために必要)には機能型/ソフトウェアが含まれますか? アプリケーションコアのリセット、それとも破壊的/PORリセットだけ?もし MURIPは機能リセットによってクリアされないため、 電源投入後はクリアされるが、ソフトウェアリセット後も設定は維持される。 3. NMI の問題とは関係なく、MURIP フラグ自体がセット/スタック状態になっているか。 通常運転中に想定される、あるいは異常とみなされる事象か? 4. CSSR0[NMIC] が現在0を読み取っているため、ハードウェアは NMI例外エントリ時にNMICを車載クリアするのか、それとも以下でのみクリアされるのか 明示的なソフトウェア書き込み(この場合、NMIC=0はMU->NMIチャネルはそもそもアサートされていませんでした)? 改めて、これまでのご助力に感謝します。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、 @Chibeom さん。 遅れて申し訳ありません。私は2日間オフィスを不在にしていました。 1. はい、HSE_BコアはMU_0とMU_1のMUAインターフェースを制御します。 2. システムリセットはMURIPをリセットする。 3. これは例外的なことだと考えています。私自身はあまり情報を持っていません。 4. これはW1Cレジスタであるため、明示的な書き込みが必要です。 機能リセットがトリガーされた時点でHSE_Bが非アクティブであることを確認できますか? また、アプリケーションがNMIハンドラーに閉じ込められている間、どのような状態HSE_Bですか? MU_0 B面の標準HSE GPR(0x4039_C028)、FSR、GSRレジスタを読めますか? アプリケーションでNMIピンを使っていますか? よろしくお願いいたします。 ダニエル Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、ダニエルさん。 添付されている3つの結合レジスタダンプのスクリーンショットをご覧ください。 皆様からのご質問に基づいて整理した調査結果です。 -------------------------------------------------------- 添付ファイル -------------------------------------------------------- 添付資料1:正常なユニット(セキュアデバッグ有効、正常に動作中) 添付資料2:機能リセット直前の故障ユニット トリガーされました(通常動作) 添付資料3:機能リセット後、故障したユニットが NMIハンドラ(ハング状態) -------------------------------------------------------- 調査結果 1) 機能リセットがトリガーされた時点での HSE_B アクティビティ、 2) NMIハンドラで停止している間のHSE_Bの状態: 添付ファイル2(リセット前)と添付ファイル3(リセット後)を比較すると、 故障したユニットでは、ハング状態)で、チェックしたすべてのレジスタが読み取られます。 リセット前とリセット後、全く同じ状態: - MU_0.MUB / MU_1.MUB TSR = 0x0000000F、RSR = 0x00000000(保留なし) 送信/受信チャネル上のメッセージはリセットによって変更されませんでした) - MU_0.MUB GSR = 0x00000000(変更なし) - MU_0.MUB FSR = 0x03600000(変更なし) - HSE GPR(0x4039C028)= 0x000001C1(変更なし) - MU_0.MUB / MU_1.MUB SR ビット1(MURIP)= 0x00000002 -- すでに設定済み リセットがトリガーされる前、そして設定されたまま、変更されず、その後も リセット SO、このリセットサイクルの前にすでにMURIPが設定されており、 機能リセット自体はこれらのHSE関連のいずれも変えません レジスター。 参考までに、同じセキュアデバッグ機能を備えた良質なユニットでは 構成(添付ファイル1)では、MURIPは両方とも0x00000000を読み取ります MU_0.MUBとMU_1.MUBは、HSE GPRとWKPU NCRは同じ内容です。 故障したユニットとしての値。 3) セット/スタックしたMURIPが異常かどうかについて: 承知いたしました。ご確認いただきありがとうございます。 4) NMIピンの使用: WKPUルーティング済みのNMIパスは使っていません(WKPU_IP_USEDは有効ではありません。 WKPUのドライバーコードはブートローダーにコンパイルされていません。 アプリケーション画像)。WKPU NCR (0x402B4008) = 0x60000000 全く同じ 3つの添付ファイルすべてにおいて。NSR = すべての場合において0x00000000。以来 これはすべてのユニットと条件で変更されていません。 外部/WKPU経由のNMIソースが関与しています。 これまでの調査結果の概要 MURIP (MU_0.MUB および MU_1.MUB SR ビット 1) は既に障害発生時に設定されています 機能リセットがトリガーされる前のユニットであり、 吊り下げ期間中、変化はなかった。同じ仕様の良品では0と表示されます セキュアなデバッグ構成。これが唯一一貫して再現可能な方法です 比較したすべてのレジスタ(FCCU、 CMU_FC、PMC、WKPU、MU CSSR0/GSR/TSR/RSR/GPR/FSR)を担当しています。 MURIPは「プロセッサA」(HSE_B)によって設定されており、クリアされるべきです。 あなたの回答によれば「任意のシステムリセット」と呼ばれ、すでに設定されているので 機能リセットがトリガーされます(リセット自体は表示されません) 変更するために)、これはHSE_B以前にMUリセットを発行したことを示唆しています HSE_Bが認識した「システムリセット」で解除されなかったポイントです。 質問 1. HSE側から、何が原因になるのかを判断する方法はありますか? そもそも(プロセッサA)はMUリセットをHSE_Bするのでしょうか?私たちは MURIPがそもそも設定される理由を理解したい。 2. リセットをトリガーする推奨方法はありますかHSE_B アプリケーションから「システムリセット」(MURIPをクリアするため)として認識します ソフトウェア、フル電源サイクル以外は? 3. アプリケーションコア側で詰まったMURIPフラグは、 観測しているNMIでしょうか、それともこれらはより独立している可能性が高いのでしょうか 以前の同じイベント情報の症状? この件に関して引き続きご協力いただき、改めて感謝申し上げます。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、 @danielmartynek さん、 最新情報のご提供、そしてMURIP/NMIパスのエスカレーションに感謝いたします。 社内の安全衛生チームに質問してください。感謝します、そして待ちます 彼らの意見。 その間に、関連性のある追加のデータポイントを発見しました。 だから待つのではなく、今のうちに共有したいと思いました。 UTEST Flash領域のOTPフィールドを良品と比較すると また、故障したユニットでは、ライフサイクル スロットに違いが見られました。 CUST_DEL (0x1B000220-22F) と OEM_PROD (0x1B000230-23F) は同一です 良品ユニットと 故障したユニット。 違いはIN_FIELDスロット(0x1B000240-24F)にあります。 - 正常ユニット:プログラミングが開始される - ユニットの不具合: プログラムされていない (0xFFFFFFFF) と読み取られます IN_FIELD内の正確なバイトパターンを現在も再確認中です。 我々の側のスロットだが、このスロットでの良し悪しの差は 一貫性のある。 もう少し詳しく教えていただけますか: 1.これは故障したユニットの構成が 移行の途中で破損または不完全になった IN_FIELD? 2. 未完成または欠落したライフサイクルの進展がIN_FIELD この件で調べているNMI/ハングの挙動について説明してください Thread? 3. このライフサイクル進行を安全に確認または完了する方法はありますか? 故障しているユニットに対して、完全な生産リフローなしで? ご協力ありがとうございました。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、 @Chibeom さん。 メモリビューに基づくと、OEM_PROD = 非アクティブ、IN_FIELD = 消去済みとなります。 まずDCMの登録簿を読んでいただけますか:RM、rev.12、セクション 39.3.1 DCM メモリ マップ。 セクション38.2.3 破壊的リセット時の読み取り専用GPR 3 (DCMROD3) はどうでしょうか? HSE_FW APIを使ってLC属性を取得することもできますよね? よろしくお願い申し上げます。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、 @Chibeom さん。 詳細なレジスタダンプをありがとうございます。MURIPの動作と、HSE_BとCM7_0間の潜在的なNMI経路に関する疑問点について、社内のHSEチームに報告しました。これは文書化されていないようです。彼らからの意見が届き次第、改めてご連絡いたします。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、 @danielmartynek さん、 DCMメモリマップとDCMROD3について教えていただき、ありがとうございます。両方のユニットでDCMSTAT(0h)、DCMLCS(8h)、DCMLCS_2(80h)、およびDCMROD3(208h)をキャプチャし、RM rev.9に対してデコードしました。 ---------------------------------------------------- 捕捉された価値 ---------------------------------------------------- 良いユニット: - DCMSTAT (0h) = 0x00000E11 - DCMLCS (8h) = 0x00000000 - DCMLCS_2 (80h) = 0x00000000 - DCMROD3 (208h) = 0x00000000 不具合のあるユニット: - DCMSTAT (0h) = 0x00000E03 - DCMLCS (8h) = 0x06184104 - DCMLCS_2 (80h) = 0x00000006 - DCMROD3 (208h) = 0x00400000 ---------------------------------------------------- デコードされたフィールド(正常なユニットはすべてゼロを読み取るため、故障したユニットのみ) ---------------------------------------------------- DCMSTAT: - bit1 DCMERR = 1 (DCMがエラーで完了) -- 正常なユニットではこのビットは0です - bit4 DCMLCST = 0 (LCスキャン状態が「正常に完了」していない) -- 正常なユニットではこのビットは1になります DCMLCS: - ビット 21-19 DCMLCC4 (IN_FIELD マーキング) = 011b = "領域は消去済み/未使用です" - ビット 15-13 DCMLCC3 (OEM_PROD マーキング) = 010b = "非アクティブとしてマークされています" - ビット 27-25 DCMLCC5 (Pre-FA マーキング) = 011b = "消去済み/未使用" - 関連するすべての *_ECE/*_CFE/*_CSS ビット = 0。 DCMLCS_2: - ビット 3-1 DCMLCC6 (FA マーキング) = 011b = "消去済み/未使用" DCMROD3: - bit22 LC_ERR = 1 ("ライフサイクルスキャン中にエラーが発生しました") これは、以前共有したUTEST OTPダンプと一致しています。故障したユニットのIN_FIELDスロットは、消去済み/未使用と読み取られます。 ---------------------------------------------------- 障害発生ユニットにおけるHSE_FW APIの結果(HseReadLifecycle) ---------------------------------------------------- HseReadLifecycle() は 0x10 = HSE_LC_IN_FIELD を返します。したがって、HSEファームウェアの観点から見ると、現在のライフサイクルはすでに十分IN_FIELDです。 これは上記の DCM/OTP データと矛盾しているようです。DCM の DCMLCC4 フィールドは IN_FIELD として「消去済み/未使用」と表示され、UTEST OTP の IN_FIELD スロット (0x1B000240h 以降) は未プログラム (0xFFFFFFFF) と表示されますが、HSE API はライフサイクルが IN_FIELD として確認されていると報告しています。 HSEがDCMフラッシュマーキングとは独立した別の安全なストレージを通じてライフサイクルを追跡しているのか、あるいはこれがマーキング自体に問題があることを示しているのかが不明なため、結論を出すのではなく、現状のまま共有することにしました。 よろしくお願いいたします。 チボム Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、 @Chibeom さん。 データ提供ありがとうございます。 IN_FIELDスロットがまだ消去された状態なので、属性をもう一度設定して進めてみることはできますか? 先ほども述べた通り、この事件は現在内部で議論中です。 新しい情報が入り次第、このThreadを更新します。 Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、 @Chibeom さん。 おそらく、ライフサイクル(LC)の推進を担当するHSEサービスが中断されたため、LCがこのような状態に陥ったのだろう。 LCおよびLC制御(DCMLCC)レジスタはHSE_FWと同様に0x77(IN_FIELD)を報告するが、UTEST領域は正しくプログラムされていない。理論上は、デバッガを使ってUTEST IN_FIELDスロットをプログラムでき、DCMエラーをクリアできるはずです。 よろしくお願いいたします。 ダニエル Re: S32K312: NMI triggered before Reset_Handler executes, only after Functional (SW) Reset, on speci こんにちは、 @danielmartynek さん。 ご提案いただいたとおり、不具合が発生しているユニットでIN_FIELD属性を再度設定してみました。 結果: HSE_SRV_RSP_NOT_ALLOWED (0xAA55A21C) よろしくお願いいたします。 チボム
記事全体を表示
DPAA2 DPDK RTE FLOW Hello, I'm trying to create DPDK RTE FLOW on a DPAA2 SolidRun LX2160A Clearfog CX without success. Is it normal that it doesn't work ? What could be done to make it works ? I'm quite newbie with NXP DPAA2 and NXP in general, so can you please explain your technical words. Thanks. testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss queues 0 1 end types ip ipv4 end / end DPAA2_NET: Add entry(0) to table(0) failed DPAA2_NET: Create flow failed (-22) port_flow_complain(): Caught PMD error type 1 (cause unspecified): cause: 0xfffff340a300, unknown: Operation not permitted Re: DPAA2 DPDK RTE FLOW Check how the DPNI behind your DPDK port was created. From the Linux shell on the board: restool dprc show dprc.1 --resources          # find the dpni.X your DPDK port uses restool dpni info dpni.X                      # look at the "options" line and "num_queues" If options shows DPNI_OPT_NO_FS , or does not show DPNI_OPT_HAS_KEY_MASKING , that's your problem. Recreate the DPNI with the right options. Either edit dynamic_dpl.sh (or the environment it reads — on NXP LSDK it is typically the DPNI_OPTIONS variable) so the create call looks like this : restool dpni create \     --options=DPNI_OPT_HAS_KEY_MASKING \     --num-queues=2 \     --num-tcs=1 \     --container=dprc.2 Key points: Do not include DPNI_OPT_NO_FS . Do include DPNI_OPT_HAS_KEY_MASKING . Set --num-queues to at least the number of queues your RSS action references (you asked for queues 0 and 1, so ≥ 2). Then attach that DPNI to the DPDK container ( restool dprc assign … ) and rerun testpmd. If you use a static DPL file , add the same to the dpni@X node :  dpni@1 {   options = "DPNI_OPT_HAS_KEY_MASKING";     num_queues = <2>;     ... }; and reflash the DPL via fsl_mc apply dpl … in U‑Boot. Sanity‑check with a simpler rule first. Before RSS, confirm plain steering works:  testpmd> flow create 0 ingress pattern eth / ipv4 src is 10.0.0.1 / end \                      actions queue index 1 / end If this passes but the RSS variant still fails, the remaining issue is queue count / distribution config, not the DPNI options. Re: DPAA2 DPDK RTE FLOW https://www.nxp.com/webapp/Download?colCode=DPAA2UM&location=null DPAA2 User Manual could be helpful BTW. what kind of BSP or SDK is used? Any resource from official websit?
記事全体を表示
关于 S32K388 BIST 问题的更新:软复位导致应用程序外设初始化失败 您好,NXP支持团队, 针对之前 BIST 硬复位的问题:我们应用了您提出的更改,现在 BIST 可以成功执行软复位。 为了适应这种软复位并避免两次 MCU 时钟初始化,我们最初将 MCU 时钟初始化保留在应用程序中。然而,在 BIST 软复位并跳转到应用程序后,时钟重新初始化花费的时间异常长。我们怀疑出现这种延迟和死机的原因是启动管理器已经初始化了时钟,导致第二次尝试时发生冲突。 为了解决这个严重的延迟问题,我们完全从应用程序中移除了 MCU 时钟初始化,只将其保留在启动管理器中。不幸的是,这又引入了一个新问题:跳转到应用程序后,系统现在会在外围设备初始化期间(特别是 FlexCAN)挂起,这表明存在时钟可用性问题。 您能否就正确的时钟配置策略提供一些建议?具体来说,BIST 软复位是否会扰乱 BM 初始化的时钟,从而需要在应用程序中重新初始化?我们如何在 BM 和应用程序之间正确地交接时钟,而不会导致死机或极端延迟? Re: Update on S32K388 BIST issue: Soft reset causing peripheral init failure in App 嗨@HazemIhab , 我没有在任何支持工单或社区帖子中找到您之前提到的 BIST 硬RESET问题。 我理解您看到的是 ST_DONE 功能复位。 RESET后,时钟配置会被重置,因此需要重新初始化。 如果您使用 RTD 驱动程序,Clock_Ip_InitClock() 函数会首先将所有时钟重置为安全状态——如果您在启动管理器和应用程序中都初始化时钟,这可能就是您看到的延迟。 它只能在启动管理器中进行配置,但您需要确保驱动程序启用应用程序所需的所有时钟——在本例中为 FlexCAN 时钟。 此外,所有系统时钟必须与 RM 中列出的时钟选项之一相匹配,例如表156。选项 A - 高性能模式 (CM7_CORE_CLK @ 160 MHz) (适用于 S32K388/S32K389)。 BR,丹尼尔 Re: Update on S32K388 BIST issue: Soft reset causing peripheral init failure in App 你好@danielmartynek 谢谢你的解释。 为了澄清我们的设置:我们的启动管理器 (BM) 和应用程序 (App) 已经使用完全相同的时钟配置,包括 FlexCAN 时钟设置。 为了避免安全状态 RESET 带来的延迟,我们让 BM 初始化所有时钟,并从 App 中移除了 Clock_Ip_InitClock()。但是,当应用程序尝试在跳转后初始化 FlexCAN 时,系统仍然会因时钟相关错误而挂起。 Re: Update on S32K388 BIST issue: Soft reset causing peripheral init failure in App 嗨@HazemIhab , 我了解到存在故障例外情况,您能确认一下吗? 如果是这样,你需要找到更多关于该异常的信息,以确认它是否真的与时钟有关。 https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K312-HARDFAULT-Handling-Interrupt-DS3-5-RTD300/ta-p/1806259 https://community.nxp.com/t5/S32K-Knowledge-Base/How-To-Debug-A-Fault-Exception-On-ARM-Cortex-M-V7M-MCU-S32K3XX/ta-p/1595570 https://community.nxp.com/t5/S32K-Knowledge-Base/Fault-handling-on-S32K14x/ta-p/1114447 如果没有异常,但程序执行陷入了循环,那么究竟是哪个环节出了问题? 另外,正如我提到的,所有系统时钟必须与 RM 中列出的时钟选项之一相匹配,例如:表156。选项 A - 高性能模式 (CM7_CORE_CLK @ 160 MHz) (适用于 S32K388/S32K389),请确认? 谢谢! BR,丹尼尔
記事全体を表示