Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
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.
View full article
S32G 核心 RESET 您好,NXP: 我想知道S32G399是否支持对特定M7内核进行独立复位,而不影响其他内核的正常运行? Re: S32G Core RESET 你好, @ChuanG 感谢你的帖子。 是的,支持这种操作。通常情况下,可以通过运行在 M7_0 上的应用程序来开启/关闭 M7_1/2/3。 BR 陈银
View full article
How to test Sideband ECC error injection on i.MX 8QuadXPlus / i.MX 8DualXPlus? Hello NXP team, I am testing the DDR Sideband ECC functionality on an i.MX 8QuadXPlus / i.MX 8DualXPlus platform with a 40-bit DDR3L interface (32-bit data + 8-bit ECC). According to AN13566, Inline ECC errors can be injected by unlocking the ECC parity region through ECC_REGION_PARITY_LOCK and modifying the ECC parity bits. However, I could not find a detailed error-injection or validation procedure for Sideband ECC. AN13566 mentions that Sideband ECC uses an additional ECC byte and that the controller checks this byte during DDR reads. It also mentions that Sideband ECC supports an automatic scrub RMW operation after detecting a correctable single-bit error. Could you please clarify the recommended method to test Sideband ECC? Is there a hardware error-injection or data-poisoning register for Sideband ECC? How can software inject a single-bit correctable error? How can software inject a double-bit uncorrectable error? Which ECC status registers and interrupt signals should be checked? How can we verify that the Sideband ECC scrub operation has corrected and written back the data? Is there any example code, test procedure, or DDR controller register sequence available? Our configuration is: SoC: i.MX 8QuadXPlus / i.MX 8DualXPlus DDR type: DDR3L DDR interface: 40-bit, 32-bit data + 8-bit ECC Thanks. Re: How to test Sideband ECC error injection on i.MX 8QuadXPlus / i.MX 8DualXPlus? Hi @kkfly  You can refer to the description of the ECC register in the IMX8DXL RM documentation. https://www.nxp.com/products/iMX8XLite In particular, the ECC Configuration Register 0 (ECCCFG0) and ECC Configuration Register 1 (ECCCFG1) registers. B.R Re: How to test Sideband ECC error injection on i.MX 8QuadXPlus / i.MX 8DualXPlus? The doc says 'NOTE: ECC data poisoning is not supported in this SoC. Please ensure this bit setting is 0.' So does that mean the IMX8DXL and IMX8QXP don't support ECC error injection?
View full article
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.
View full article
如何在 i.MX 8QuadXPlus / i.MX 8DualXPlus 上测试边带 ECC 错误注入? 您好,NXP团队, 我正在测试 i.MX 8QuadXPlus / i.MX 8DualXPlus 平台上的 DDR 边带 ECC 功能,该平台具有 40 位 DDR3L 接口(32 位数据 + 8 位 ECC)。 根据 AN13566,可以通过 ECC_REGION_PARITY_LOCK 解锁 ECC 奇偶校验区域并修改 ECC 奇偶校验位来注入内联 ECC 错误。然而,我找不到关于边带 ECC 的详细错误注入或验证程序。 AN13566 提到边带 ECC 使用额外的 ECC 字节,并且控制器在 DDR 读取期间检查此字节。它还提到,边带 ECC 在检测到可纠正的单比特错误后,支持自动清除 RMW 操作。 请问测试边带ECC的推荐方法是什么? 边带ECC是否有硬件错误注入或数据投毒寄存器? 软件如何注入一个可纠正的单比特错误? 软件如何注入双比特不可纠正错误? 应该检查哪些ECC状态寄存器和中断信号? 如何验证边带 ECC 纠错操作是否已纠正数据并将其写回? 是否有示例代码、测试步骤或DDR控制器寄存器序列可供参考? 我们的配置如下: SoC:i.MX 8 QuadXPlus / i.MX 8 DualXPlus DDR类型:DDR3L DDR接口:40位、32位数据+8位ECC 谢谢。 Re: How to test Sideband ECC error injection on i.MX 8QuadXPlus / i.MX 8DualXPlus? 嗨@kkfly 您可以参考 IMX8DXL RM 文档中的 ECC 寄存器描述。 https://www.nxp.com/products/iMX8XLite 具体而言,是ECC 配置寄存器 0 (ECCCFG0)和ECC 配置寄存器 1 (ECCCFG1)寄存器。 BR Re: How to test Sideband ECC error injection on i.MX 8QuadXPlus / i.MX 8DualXPlus? 文档中写道:“注意:此SoC不支持ECC数据投毒。”请确保此位设置为 0。那么,这是否意味着 IMX8DXL 和 IMX8QXP 不支持 ECC 错误注入?
View full article
支持 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 层冲突,并能尽早生成启动画面。 顺祝商祺! 萨拉斯。
View full article
S32Gコアリセット こんにちは、NXPさん。 S32G399特定のM7コアの独立リセットを他のコアの通常の動作に影響を与えずにサポートしているのか知りたいです。 Re: S32G Core RESET こんにちは、 @ChuanG 投稿ありがとうございます。 はい、サポートされています。一般的には、M7_1/2/3のオン/オフをM7_0上で動作するアプリケーションで行われます BR チェイン
View full article
使用 IMXRT1172 LPSPI EDMA 传输 API 时,DMA IRQ 处理程序在 SPI 传输完成之前被调用。 您好, 我一直在使用 IMXRT1172 上的 SDK (2.16.100) 中的 LPSPI EDMA 传输 API 同时读取和写入 SPI 数据(即在两个大小相同的缓冲区的两个 DMA 通道上进行 TX+RX 传输)。不幸的是,EDMA 回调似乎在传输实际完成之前就被调用了。在回调中,检查 LPSPI 的 SR、FSR 和 RSR 显示,即使 DMA 认为它已完成,SPI 仍然认为它很忙。IEMBF 仍然已设置,TXCOUNT 为 1。 SR = 0x01000100(MBF、WCF) FSR TXCOUNT = 1,RXCOUNT = 0 RSR = 0x00000002 (RXEMPTY, !SOF) 如果我只执行 TX 操作,这在某种程度上是有意义的,因为 SPI 外设可能仍然会输出从 DMA 加载的最后一个字节。因此,在这种情况下,DMA 外设实际上已经完成了将最后一个字节从 RAM 加载到 SPI 数据 TX 寄存器,但 SPI 仍然需要做一些工作才能将其发送出去。 但是,当同时执行 TX 和 RX 时,我原本预期如果 TXCOUNT 为 1,那么 RXCOUNT 也应该为 1。也就是说,在所有 TX 数据时钟输出完毕之前,DMA 不应该完成 RX,因为最后一个字节需要通过 DMA 从 SPI RX 数据寄存器传输到 RAM 中,而这只会在传输的最后一个时钟周期发生。 这真的是个问题吗? 如果是这样,是用SDK实现的吗?还是用硬件IP实现的? 我希望能够在 DMA 回调中检查 LPSPI SR,以确定是否存在任何 SPI 错误。 谢谢! -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done 嗨@nxp16 , 非常感谢您对我们产品的关注以及对我们社区的使用。 DMA 完成和 SPI 总线完成是两个不同的概念。 eDMA 回调表明 DMA 引擎已完成在内存和 LPSPI FIFO/寄存器路径之间移动配置的字节数。这并不一定意味着 LPSPI 总线状态机已经完成最后一帧或返回空闲状态。 对于 LPSPI 总线完成情况,请检查 SR[TCF] 或等待 SR[MBF] 清除。 希望对你有帮助 顺祝商祺! 5月 Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done 是的,但在 TX/RX 传输中,我预期 DMA 完成后 TX_COUNT 和 RX_COUNT 都应为零。也就是说,RX DMA 不可能在最后一个 SPI 时钟之前完成,因为 SPI 外设要到那时才会将数据的最后一位移入 RX FIFO,而 DMA 要到最后一位移入 RX FIFO 后才能将最后一个字节复制到 RAM 中。因此,在这种情况下,TX 和 RX 都应该在 DMA 完成之前完成。如果只是 TX 传输,那么是的,DMA 可能在 SPI 完成之前完成,TX_COUNT 仍然可能为 1。 谢谢! -m Re: Using IMXRT1172 LPSPI EDMA transfer API, DMA IRQ handler called before SPI transfer is done 嗨@Mike_M3 , 感谢您的反馈。 你的观点对于 RX 数据路径是有效的:一旦 RX EDMA 通道完成,预期的 RX 数据就已经被移动到 RAM 中。然而,这仍然与 LPSPI 总线完成不同。 TXCOUNT/RXCOUNT 是先进先出 (FIFO) 占用指示符。RXCOUNT=0 表示 RX FIFO 已被 DMA 清空,而 TXCOUNT=1 可能仍然表示发送/命令 FIFO 中有一个待处理的条目。在 LPSPI 中,发送 FIFO 也用于命令/TCR 条目,因此 TXCOUNT 不仅仅是 RX 完成的镜像。MBF=1 表示 LPSPI 总线状态机尚未完全恢复到空闲状态。 因此,我不会使用 TXCOUNT/RXCOUNT 相等作为转账完成的条件。对于 LPSPI 总线完成条件,请改用 SR[TCF]=1 或 SR[MBF]=0。如果更倾向于基于中断的指示,请启用 kLPSPI_TransferCompleteInterruptEnable,并将 EDMA 回调仅保留为 DMA 完成指示。 顺祝商祺! 5月
View full article
使用 ADC 触发唤醒 S32K312 MCU RTD3.0.0 S32DS3.5 您好, 我正在使用 S32k312 控制器 mini EVBKIT 来检查 MCU 的睡眠和唤醒功能。我正在尝试通过在 ADC 中施加低阈值和高阈值电压值,利用 ADC 中断唤醒 MCU。此功能能否使MCU唤醒? Re: S32K312 MCU wakeup using ADC trigger RTD3.0.0 S32DS3.5 你好@LavanyaPilli , 当然。如果您使用 PTA1 (ADC0_S9) 作为外部中断唤醒,您可以参考 S32K312_IOMUX.xlsx 文件查找分配的 WKPU 通道: PTA1 是 WKPU[5],但是由于有 4 个内部唤醒源,您还必须添加 +4 作为偏移量。这使得 PTA1 WKPU_CH_9。 您必须初始化 WKPU 单元,并配置相应的通道: /* WKPU configuration */ Wkpu_Ip_Init(WKPU_INST, &Wkpu_Ip_Config_PB); Wkpu_Ip_EnableInterrupt(WKPU_INST, Wkpu_Ip_ChannelConfig_PB[0].hwChannel); 您可以参考以下低功耗示例: S32K3 低功耗管理 AN 和演示 示例 S32K312 在待机状态下通过 CAN-0-RX 和 GPIO 开关 DS3.5 唤醒 RTD300 [RTD600 IP] S32K312EVB-Q172 待机 RAM GPIO 唤醒 此致, 朱利安 Re: S32K312 MCU wakeup using ADC trigger RTD3.0.0 S32DS3.5 您好, 谢谢你的解释。 我将按照您的建议,评估使用 LPCMP 进行待机唤醒。但是,对于我们的应用需求,我们仍然需要实现ADC中断唤醒功能。 请问您能否协助我验证 MEX 文件,看看 ADC 是否可以专门配置为外部中断唤醒?
View full article
将开发板 PCB 导入 Altium 我们的团队正在使用 S32K148-Q176 评估板 RevB。我们正在设计一个与评估板连接的板,并试图获得该板的模型以帮助我们完成这项工作。从您的网站下载时,文件将保存为 BRD 文件。我们这里使用的是 Altium,所以无法导入该文件。你们的工程团队能否将 .BRD 文件转换为 ASCII .alg 文件?文件,还是 Altium 可以导入的其他文件格式? Re: Getting a Dev Board PCB imported to Altium 嗨@rollypoli 遗憾的是,我没有办法将 Allegro BRD 数据库转换为 Altium 格式。 对于过去类似的请求,我通常建议使用免费的 Cadence Allegro 查看器。Cadence 提供了一个免费的查看器,可以打开 BRD 文件,并允许您直接检查 PCB 数据库。 使用查看器中提供的测量和检查工具,您应该能够准确地确定连接器、安装孔和其他机械特征的位置和间距。通常情况下,这样做足以在您自己的 Altium 设计中复制电路板轮廓和连接器位置,从而使新的 PCB 在机械上与原电路板保持兼容。 您可以从以下网址下载免费的 Cadence 查看器: https://www.cadence.com/en_US/home/tools/pcb-design-and-analysis/allegro-downloads-start.html 虽然这不如拥有原生 Altium 设计文件方便,但对于需要参考 Allegro PCB 布局并在其他 CAD 工具中重新创建相关机械尺寸的客户来说,这种方法效果很好。 此致, Lukas Re: Getting a Dev Board PCB imported to Altium 您能否将其从 .brd 文件转换为 .alg 文件?(ascII) allegro 文件? 我会看看观众。 Re: Getting a Dev Board PCB imported to Altium 抱歉,我没有这样的机会。
View full article
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
View full article
i.MX8M Plus — ECSPI/SPI NOR 上のセカンダリイメージブート (IMG_CNTN_SET1_OFFSET): OP で ROM がフォールバックするか i.MX8M Plus -- ECSPI/SPI NOR 上のセカンダリ イメージ ブート (IMG_CNTN_SET1_OFFSET): OPEN 構成では ROM がフォールバックしますか? ==== セットアップ ==== - SoC:i.MX8M Plus(カスタムSMARCモジュール) - ブートデバイス: ECSPI2 / CS1 上のシリアル NOR (Winbond W25Q128、16 MiB)。これはFlexSPIではなく、レガシーのeCSPIコントローラーです。 - セキュリティ:OPEN構成(デバイスがHABクローズドでない)。 - ヒューズ IMG_CNTN_SET1_OFFSET (ヒューズ読み取り 2 1) = 0x00000000。 - フラッシュマップ: プライマリブートローダーは0x000000、セカンダリコピーは0x400000 (4 MiB) にあります。 文書化されたSPIマッピングによると: 「SPIの場合:ヒューズが10より大きい場合はセカンダリブートが無効になります。n == 0の場合はオフセット = 4 MB、n == 2の場合は1 MB、その他でn <= 10の場合は1 MB * 2^nとなります。」 ヒューズ n = 0 (工場出荷時のデフォルト設定、書き込み不要) の場合、セカンダリオフセットは正確に 0x400000 になります。 ==== 問題点 ==== バイト単位で同一で、cmp.bで検証済みのプライマリイメージのコピーを0x400000に配置し、プライマリブートヘッダーを無効化(sf erase 0 0x1000)してリセットしました。 ROMはセカンダリイメージにフォールバックしないため、ボードは起動不能状態になります(USB SDP経由でのみ復旧可能)。 また、プライマリボディ内部の穴を消去する(sf erase 0x100000 0x40000)ことも試みましたが、結果は同じでした。 ==== 質問 ==== 1. SPI/ECSPI NORで、ROMがIMG_CNTN_SET1_OFFSETの二次映像に切り替わるのは具体的に何をトリガーするのか? これは無効なプライマリブートヘッダーやイメージ解析失敗、それとも特定のHAB認証失敗なのでしょうか? 2. セカンダリイメージブートは、OPEN(非セキュア)構成でも機能しますか、それともデバイスがHABで閉じられている場合にのみ機能しますか? 3. 同じリセットにフォールバックするのか、それとも電源のオンオフ/2回目のリセット(永続ブート方式)が必要なのか? 4. 0x400000 のセカンダリ イメージは、別々に構築されたブート可能なイメージ (そのオフセット用の独自の IVT/ブート データ) である必要があります。 それとも、プライマリとバイト単位で同一のコピーで十分なのでしょうか? ==== ロジックアナライザによる証拠(リセット中にキャプチャされたSPIバス) ==== リセット中に、Saleae Logic Pro 16を使用してECSPI2バス(CLK、MOSI、MISO、CS)を500 MS/sでプローブし、すべてのSPIトランザクションをデコードしました。比較のために、FlexSPI NORから起動し、セカンダリへのフォールバックも正常に行われるi.MX8QMモジュールでも同様のテストを実施しました。 ---- i.MX8M Plus (ECSPI NOR)、プライマリが破損しています ---- ROMは0x03のREADコマンドのみを発行し、オフセット0から厳密に順次読み取ります。 0x03 00 00 FC -> 0x0000FC を読み込む 0x03 00 04 EC -> 0x0004EC を読み込む 0x03 00 08 DC -> 0x0008DC を読み込む ...(64 KiBブロックあたり約50回の読み取り、増加傾向)... 0x03 00 13 xx -> ここで読み取りカウントが減少(0x100000-0x140000 の領域が消去され、MISO=0xFF) 0x03 00 18 xx -> 穴を越えて直線的に続く ...最大で約0x1A69E8まで... ROMはプライマリ領域全体を直線的に読み取り、消去/無効領域をそのまま通過し(0xFFを取得)、0x400000または0x800000(セカンダリ領域)への読み取りは決して行いません。 キャプチャ全体(2500万サンプル、デコードされたトランザクション654件)には、「0x03 40 xx xx」はどこにも存在しません。 完全に消去されたヘッダーの場合、ROMは0xFFをロードし実行し、同期アボートでクラッシュします。フォールバックは一切ありません。 ---- i.MX8QM (FlexSPI NOR) は比較のために使用しています -- セカンダリフォールバックは正常に動作します ---- プライマリコンテナヘッダーのみが無効化された場合(FCBは0x000400にそのまま残された場合)、QM ROMは次の動作をします。 0x0B 00 04 00 -> 高速読み取り FCB @0x000400、MISO: 46 43 46 42 ("FCFB" マジック、FlexSPI 設定有効) ...FCB構成データを読み込む... 0x0B 00 10 00 -> 高速読み取りプライマリコンテナ @0x001000、MISO: FF FF FF FF (無効!) 0x0B 40 10 00 -> 高速読み取りセカンダリコンテナ@0x401000、MISO:有効な<-- ROMスイッチ、同じリセット 0x0B 40 30 00、0x0B 40 40 00、... -> 2次画像全体を読み込みます(0x40xxxxで~90リード) QM ROMはFCBを読み取り、FlexSPIを設定し、0x001000のプライマリコンテナをチェックし、0xFFを認識します。 そして直ちに(同じリセットで)0x401000のセカンダリコンテナに切り替わります。これはうまくいきます。 代わりに最初の4MB(FCBを含む)をすべて消去すると、QM ROMは2回だけの読み込みを行います 0x000400で、0xFFを得て撤退しません。つまり、撤退が作戦するには有効なFCBが必要です。 - - 比較 - - i.MX8M Plus (このボード): コントローラ:eCSPI(レガシーSPI) オペコードを読みます:0x03 READ FCBの現状:いいえ(eCSPIにはFCBの概念はありません) 破損したプライマリでセカンダリーを読み取る:いいえ ― バスは「0x03 40 xx xx」を表示しません。 結果:レンガ(ロード0xFF ->クラッシュ) i.MX8QM(参考文献): コントローラー:FlexSPI オペコードを読んでください:0x0B 速読 FCBの提示:はい(0x400、魔法の「FCFB」) 破損したプライマリで二次を読み取る:はい -- 「0x0B 40 10 00」、同じリセット 結果:セカンダリーブーツ成功 ==== 要約 ==== バスキャプチャから、i.MX8M Plus の IMG_CNTN_SET1_OFFSET セカンダリイメージの起動が確認できる。 FlexSPI専用であるか、HABクローズド構成によって制限されているかのどちらかで、有効になりません。 OPEN構成のeCSPI NORの場合。 NXPの皆さん、確認いただけますか: - i.MX8M Plus上で、eCSPI(FlexSPIとは異なる)NORがセカンダリイメージブートにサポートされているかどうか; - トリガーがHAB-auth-failure(閉じた設定のみ)か、無効なヘッダー(開設定も含む)か; - フォールバックが同じリセットか電源サイクルが必要か; - セカンダリはそのオフセットのために別途構築する必要があるのか、それともバイト同一のコピーで問題ないのか。 よろしくお願いします。 Re: i.MX8M Plus — Secondary image boot (IMG_CNTN_SET1_OFFSET) on ECSPI/SPI NOR: does ROM fall back i こんにちは、 @djordje_nodさん。 お元気でお過ごしのことと思います。 Q1.ECSPI NORにおいて、ROMがセカンダリROMにフォールバックするトリガーは何ですか? OPENモードでは、ROM/HABがイメージ認証を行いますが、すべての認証エラーは無視され、イメージは実行されます。 閉鎖モード(SEC_CONFIGフューズ)では、主イメージのHAB認証が失敗すると、ROMはPERSIST_SECONDARY_BOOT(SRC_GPR10[30])を1に設定し、ソフトウェアリセットを実行します。 Q2。OPEN構成でセカンダリイメージブートは動作しますか? OPENモードでは、ROMはHABエラーを無視するため、PERSIST_SECONDARY_BOOTを自律的に設定することはありません。 Q3。同じリセットですか、それとも2回目のリセットですか? プライマリブートはHAB認証に失敗します(クローズドモード)---->ROMセットSRC_GPR10[30] = 1---->ソフトウェアリセットを引き起こします。 次のリセットサイクルで、ROMはパーシステントビットを読み取り、それが1であることを確認し、プライマリオフセットではなくセカンダリオフセットからロードします。 Q4。0x400000でバイト同一のコピーか、別途ビルドされたイメージか? IVT/ブートデータフィールドにはフラッシュアドレスではなくRAMアドレスが含まれているため、バイト単位で同一のコピーで十分です。 よろしくお願いいたします。 サラス。
View full article
RT1170 NVCC_XXX電源シーケンスと未使用のIOバンク こんにちは、 1 - 未使用の IO バンク NVCC_XXX の電源を、DCDC_IN と Pswitch がオン (コアもオン) の状態でオフにしても安全かどうかを尋ねています。未使用の IO バンク ピンは外部から駆動されていないものとします。 2 - また、他のIOバンクをオフにした状態で、IO状態を維持するためにIOバンクを1つだけオンにしておくことは問題ないでしょうか? 前もって感謝します Re: RT1170 NVCC_XXX power sequence and unsued IO banks こんにちは、@Marwan。 未使用の電源グループの電源を切断しようと考えていると理解しています。私の理解は正しいでしょうか? 最適な方法は、対応するNVCC_xxx電源を常時供給し、使用されていないGPIOをフローティング状態にしておくことです。しかし、RT1170は柔軟なPower Architectureを備えており、特定のドメインをダウンして全体の消費電力を削減できます。 RT1170の電源アーキテクチャと低消費電力アーキテクチャ設計について詳しく説明されているAN13148を参照することをおすすめします。AN13104も有用な参考資料であり、電力ドメインとLP状態に関する有用な情報を提供しています。 さらに、カスタムボードを開発する場合は、 MIMXRT1160/1170 のハードウェア開発ガイドを参照することを強くお勧めします。この文書は、ファーストパス成功を確保し、ボードのブランクアップ問題を避けるためのボードレイアウト推奨事項やデザインチェックリストに関する情報を提供します。 BR ハビブ Re: RT1170 NVCC_XXX power sequence and unsued IO banks ご返信と参考資料をありがとうございます。 その通りです。使用しないIOバンクはオフにしておきたいのですが、推奨されないとは明確に記載されていませんが、参照した文書の行間から私が理解した内容はそういうことです。 2つ目の質問について: DCDC_IN と DCDC_PSWITCHが オフ(接地)になっている間(SNVSとIOバンクを除くすべてのドメインがオフになっている間)、IOバンクを 常にオン (IOの状態を維持し、外部から駆動されないようにするため)にしておくのはどうでしょうか? MCUはホストではないので、この質問をするのは、MCUがSNVSモードの間、IOが外部から駆動されるのを防ぐためです。 敬具 マルワン Re: RT1170 NVCC_XXX power sequence and unsued IO banks こんにちは、 @Marwan さん。 ご説明ありがとうございます。 ご質問をよりよく理解するために、「IOバンクを常にオンにする」という言葉で、具体的に何を指しているのか教えていただけますか?各I/Oバンクに関連付けられたNVCC_xxx電源レールに継続的に電力を供給することを指しているのでしょうか? 最適な方法は、対応するNVCC_xxx電源を常時供給し、使用されていないGPIOをフローティング状態にしておくことです。Setpoint機能を使うことを強くおすすめします。パワーモードスイッチがより簡単で安全になります。 DCDCを無効にしつつ、SNVS電源のみをアクティブにする可能性について。もしあなたのアプリケーションがM7を使う必要があり、外部PMICを使わない場合は、DCDCを無効にすることはできません。M7はWAKEUPMIXドメインに属しており、このドメインはVDD_SOC_INによって電源供給され、 AN13104の第2章「RT1170電源ドメイン」で述べられているようにDCDCによって直接供給されているからです。 消費電力を最小限に抑えることが目的であれば、SNVSドメインのみに電力を供給したまま、デバイスを低電力状態に移行させるためにSetpointsを使用することを検討してください。詳細については、表4.1.5を参照してください。データシートの「標準的な電源モード供給電流」を参照して、さまざまな設定値構成を確認してください。 さらに、 AN13104には、ウェイクアップソースの設定方法を示す実践的な例が含まれています。実装の際の参考として、第4.9章「ウェイクアップソースの設定」が役立つかもしれません。 最後に、IO状態を維持するためにはSSARCが有用かもしれません。デフォルトでは、ペリフェラルが属する電力ミックスが電源が切れている場合、ペリフェラルの構成は失われ、再初期化されるまで直接使用できません。しかしSSARCでは、電源オフ前に機能モジュールのレジスタをメモリに保存し、モジュールの電源を入れた後にメモリからレジスタを復元できます。これはAN13104の第4.14章「ウェイクアップ後の周辺機器の状態」にも記載されています。「ssarc_software_trigger_cm7」と呼ばれるペリフェラル機能を示すSDKの例があれば参考にできます。 BR ハビブ Re: RT1170 NVCC_XXX power sequence and unsued IO banks 詳しい説明をありがとうございます。 添付の図をご確認ください。 私の目標は SNVSモード(スイッチ以降はすべてオフ)にして、他の回路の状態を維持するためにNVCC_XX SNVSもオンにしておくことです。 これは可能でしょうか、それとも RT1170のMCUにダメージを与えますか? NVCC_XXをオンにしたままにする場合、余分なリーク電流を防ぐためにIOを適切に設定する必要があることは理解しています。 よろしくお願いいたします。ご協力に感謝いたします。 Re: RT1170 NVCC_XXX power sequence and unsued IO banks こんにちは、 @Marwan さん。 外部PMICを使用する予定だと理解しています。私の理解は正しいでしょうか? その場合は、外部PMICをRT1170、特にPF5020と外部PMICのインターフェース方法を説明している AN13213を参照してください。PF5020は、Hardware開発ガイドMIMXRT1160の第3.2章「外部PMICの使用」で推奨されているPMICです。このアプリノートでは、推奨される接続方法は以下のとおりです。 また、ハードウェア開発ガイドの表2と表3を確認することをお勧めします。これらの表には、外部PMICの使用に関する有用なガイダンスと、SNVSドメインに関連する推奨事項が記載されています。 さらに、SDKの例power_mode_switch_bm_pmic_rt1xxx_core0役立つかもしれません。この例では、外部PMICと設定値構成を組み合わせて、異なる低電力状態間を遷移させる方法を示します。サンプルの動作方法の詳細については、READMEファイルをご覧ください。 最後に、 AN13104の第4章13「低消費電力モードにおけるペリフェラルの状態」のレビューをお勧めします。ここでは、デバイスが低消費電力状態にある場合のペリフェラルの動作について説明しています。 BR ハビブ Re: RT1170 NVCC_XXX power sequence and unsued IO banks こんにちは、 @Marwan。 はい、NVCC_xxxレールは外部電源から電力を供給し続けることができます。図14-2「RMのPower Architecture」に示されています。   ただし、この構成では、CM7が存在するWAKEUPMIXドメインに電力を供給するため、DCDC電源も引き続き必要となることにご注意ください。さらに、予期せぬ動作を避けるため、データシートのセクション4.2.1「電源の要件と制限」に記載されている電源投入シーケンスが正しく実装されていることを確認してください。 最後に、 MIMXRT1160/1170のハードウェア開発ガイドを参照することを強くお勧めします。この文書には、成功するボード設計を確保し、故障を防ぐための重要な設計ガイドライン、レイアウト推奨事項、ハードウェアチェックリストが含まれています。 BR ハビブ Re: RT1170 NVCC_XXX power sequence and unsued IO banks いいえ、外部PMICは使いません。共有されたブロック図は私には合っています。ただ、DCDC_IN中は 電源がオンで、MCUがSNVSモードNVCC_XXX時はオフ(接地)されているか確認したいだけです。 これは可能ですか? 敬具
View full article
S32K312 ADCトリガーRTD3.0.0 S32DS3.5を使ったMCUのウェイクアップ こんにちは、 私はS32k312コントローラーmini EVBKITを使っており、MCUのスリープとウェイクアップの機能チェックに使っています。ADCで低いしきい値と高いしきい値電圧値を付けることで、ADC割り込みを通じてMCUのウェイクアップを実現しようとしています。この機能を使ってMCUを起動させてください。 Re: S32K312 MCU wakeup using ADC trigger RTD3.0.0 S32DS3.5 こんにちは、 ご説明いただきありがとうございます。 ご指摘いただいたとおり、スタンバイウェイクアップにLPCMPを使用することを検討してみます。しかし、アプリケーション要件に関しては、ADC割り込みウェイクアップ機能の実装が必要です。 ADCを外部割り込みウェイクアップとして特定設定できるかどうか、MEXファイルの検証を手伝ってもらえますか? Re: S32K312 MCU wakeup using ADC trigger RTD3.0.0 S32DS3.5 こんにちは、 @LavanyaPilli さん。 もちろん。PTA1(ADC0_S9)を外部割り込みウェイクアップとして使用している場合は、割り当てられたWKPUチャネルを見つけるためにS32K312_IOMUX.xlsxファイルを参照できます: PTA1はWKPU[5]ですが、4つの内部ウェイクアップソースがあるため、オフセットとして+4も追加する必要があります。これにより、PTA1はWKPU_CH_9になります。 WKPUユニットを初期化し、それぞれのチャネルを設定する必要があります: /* WKPU configuration */ Wkpu_Ip_Init(WKPU_INST, &Wkpu_Ip_Config_PB); Wkpu_Ip_EnableInterrupt(WKPU_INST, Wkpu_Ip_ChannelConfig_PB[0].hwChannel); 以下の低消費電力の例を参考にしてください: S32K3の低消費電力管理ANとデモ 例:CAN-0-RXおよびGPIOスイッチDS3.5 RTD300を使用してS32K312スタンバイ・モードからウェイクアップする [RTD600 IP] S32K312EVB-Q172 スタンバイRAM GPIOウェイクアップ よろしくお願いします、 ジュリアン
View full article
RT1170 NVCC_XXX 电源时序和未使用的 I/O 组 你好, 1 - 我想问一下,在 DCDC_IN 和 Pswitch 开启(内核也开启)的情况下,关闭未使用的 IO 组 NVCC_XXX 的电源是否安全,因为没有未使用的 IO 组引脚由外部驱动。 2 - 另外,为了维持 IO 状态,是否可以保持某个 IO 存储体开启,而其他存储体关闭? 提前致谢 Re: RT1170 NVCC_XXX power sequence and unsued IO banks 你好@Marwan , 我了解到您正在考虑断开一个未使用的电源组的电源。我的理解正确吗? 最佳做法是保持相应的 NVCC_xxx 电源供电,并将未使用的 GPIO 浮空。然而,RT1170 包含一个灵活的电源架构,允许关闭某些域的电源,以降低整体功耗。 我建议参考AN13148 ,其中详细解释了 RT1170 的电源架构和低功耗架构设计。AN13104也是一个有用的参考资料,因为它提供了有关功率域和 LP 状态的有用信息。 此外,如果您正在开发定制板,我强烈建议您参阅MIMXRT1160/1170 的硬件开发指南。本文档提供有关电路板布局建议和设计清单的信息,以确保一次性成功并避免电路板启动问题。 BR 哈比卜 Re: RT1170 NVCC_XXX power sequence and unsued IO banks 感谢您的回复和提供的参考资料。 没错,如果某些 IO 库不使用,我希望将其关闭。虽然没有明确说明不建议这样做,但这是我从相关文档的字里行间理解到的意思。 关于第二个问题: 如果将 IO 库始终保持开启状态(以保持 IO 状态,并且不被外部驱动),而将DCDC_IN和DCDC_PSWITCH关闭(接地),(除 SNVS 和 IO 库外,所有功能域都关闭),这样可以吗? MCU 不是主机,所以我问这个问题是为了防止 MCU 处于 SNVS 模式时 IO 被外部驱动。 此致敬礼, 马尔万 Re: RT1170 NVCC_XXX power sequence and unsued IO banks 你好@Marwan , 谢谢你的解释。 为了帮助我更好地理解您的问题,您能否解释一下您提到的“使 IO 库始终处于开启状态”指的是什么?您是指保持每个 I/O 组的 NVCC_xxx 供电轨持续供电吗? 最佳做法是保持相应的 NVCC_xxx 电源供电,并将未使用的 GPIO 浮空。我强烈建议使用设定点功能,因为它使电源模式切换更简单、更安全。 关于在禁用 DCDC 的同时仅保持 SNVS 电源处于活动状态的可能性。如果您的应用需要使用 M7 且不使用外部 PMIC。禁用 DCDC 是不可能的,因为 M7 位于 WAKEUPMIX 功能域中,该功能域由 VDD_SOC_IN 供电,并由 DCDC 直接供电,如AN13104的第 2 章“RT1170 功率域”中所述。 如果您的目标是最大限度地降低功耗,您可以考虑使用设定点将设备过渡到低功耗状态,同时仅保持 SNVS 域供电,请参阅表 4.1.5。请参阅数据手册中的“典型电源模式供电电流”,以了解不同的设定点配置。 此外, AN13104还包含一个实际示例,演示如何配置唤醒源。您可能会发现第 4.9 章“唤醒源配置”对您的实现很有用。 最后,关于维护 IO 状态,SSARC 可能很有用。默认情况下,如果外设所属的电源组合断电,则外设配置将丢失,必须重新初始化后才能直接使用。但是,使用 SSARC,您可以在断电前将功能模块的寄存器保存到内存中,并在模块上电后从内存中恢复寄存器,如 AN13104 的 4.14 章“唤醒后的外设状态”中所述。您可以找到一个名为“ssarc_software_trigger_cm7”的 SDK 示例,其中展示了外围设备的功能,您可以将其作为参考。 BR 哈比卜 Re: RT1170 NVCC_XXX power sequence and unsued IO banks 你好@Marwan , 我了解到您计划使用外部电源管理集成电路 (PMIC)。我的理解正确吗? 在这种情况下,请参阅AN13213 ,其中描述了如何将外部 PMIC 与 RT1170 连接,特别是 PF5020,这是 MIMXRT1160/1170 硬件开发指南第 3.2 章“使用外部 PMIC”中推荐的 PMIC。本应用说明中推荐的连接方式如下: 我还建议查阅硬件开发指南中的表 2 和表 3,因为它们提供了有关外部 PMIC 使用以及与 SNVS 域相关的建议的有用指导。 此外,您可能会发现 SDK 示例 power_mode_switch_bm_pmic_rt1xxx_core0 很有帮助。本示例演示了如何使用外部 PMIC 和设定点配置在不同的低功耗状态之间进行转换。请查看 README 文件,了解示例的详细工作原理。 最后,我建议复习AN13104的第 4.13 章“低功耗模式下的外设状态”,其中解释了设备处于低功耗状态时外设的行为。 BR 哈比卜 Re: RT1170 NVCC_XXX power sequence and unsued IO banks 感谢您的进一步解释。 请查看附图: 我的目标是进入SNVS 模式(开关关闭后的所有电路),同时保持 NVCC_XX 开启以维持其他电路的状态,这是否可行,或者是否会对 RT1170 MCU 造成损坏? 我知道,保持 NVCC_XX 开启时,需要正确配置 IO 以防止额外的漏电流。 此致敬礼,并感谢您的帮助。 Re: RT1170 NVCC_XXX power sequence and unsued IO banks 你好@Marwan , 是的,NVCC_xxx 轨可以保持由外部电源供电,如图 14-2“RM 的电源架构”所示:   但是请记住,在此配置中,DCDC 电源也必须存在,因为它为 WAKEUPMIX 功能域(CM7 所在的域)提供电源。此外,请确保正确执行数据手册第 4.2.1 节“电源要求和限制”中描述的上电顺序,以避免出现任何意外情况。 最后,我强烈建议您参阅MIMXRT1160/1170 的硬件开发指南。本文档包含重要的设计指南、布局建议和硬件检查清单,可以帮助确保电路板设计成功并避免潜在的启动问题。 BR 哈比卜 Re: RT1170 NVCC_XXX power sequence and unsued IO banks 不,我不会使用外部 PMIC,共享框图对我来说就足够了,我只需要确保当 DCDC_IN 时 NVCC_XXX 电源可以开启,而当 MCU 处于 SNVS 模式时 NVCC_XXX 电源关闭(接地) 。 这种情况有可能实现吗? 此致敬礼
View full article
RT1170 NVCC_XXX power sequence and unsued IO banks Hello, 1 - Im asking whether is it safe to power down unused IO banks NVCC_XXX while the DCDC_IN and Pswitch are ON(cores also are ON), given that none of the unused IO bank pins are driven externally.  2 - Also whether is it ok to keep an IO bank ON to maintain IO state, while the other banks off? Thanks in advance Re: RT1170 NVCC_XXX power sequence and unsued IO banks Hello @Marwan, I understand that you are considering disconnecting the power supply of an unused power group. Is my understanding correct? The best practice is to keep the corresponding NVCC_xxx supply powered and leave the unused GPIOs floating. However, the RT1170 includes a flexible power architecture that allows certain domains to be powered down to reduce overall power consumption. I recommend consult the AN13148, which provides a detailed explanation of the RT1170 power architecture and the low-power architecture design. AN13104 is also a useful reference, as it provides useful information about the power domains and LP states. Additionally, if you are developing a custom board, I highly recommend see the Hardware Development Guide for the MIMXRT1160/1170. This document provides information about board layout recommendations and design checklists to ensure first-pass success and avoid board bring-up issues. BR Habib Re: RT1170 NVCC_XXX power sequence and unsued IO banks Appreciate your reply and references, That's correct I would like to keep some IO bank off if not used, Although it is not clearly mentioned that it is not recommended, this is what I understand between the lines of the referred documents.  Regarding the second question: What about making the IO bank always on (to maintain the IOs state and not to be driven externally) while the DCDC_IN and DCDC_PSWITCH are off(grounded), (all domains are off except SNVS and the IO banks), is it ok? The MCU is not the host, hence why I ask this is to prevent the IOs to be driven externally while the MCU in SNVS mode. Kind regards, Marwan Re: RT1170 NVCC_XXX power sequence and unsued IO banks Hello @Marwan, Thank for the clarification. To help me better understand your question, could you please clarify me what you referring when you mention "making the IO bank always on"? Are you referring to keeping the associated NVCC_xxx supply rail continuously powered for each I/O bank? The best practice is to keep the corresponding NVCC_xxx supply powered and leave the unused GPIOs floating. I highly recommend use the Setpoint feature since it makes the power mode switch simpler and safer. Regarding the possibility of keeping only the SNVS supply active while disabling the DCDC. If your application requires to use the M7 and does not use an external PMIC. Disabling the DCDC is not possible, since the M7 resides in the WAKEUPMIX domain, which is powered by VDD_SOC_IN and is directly supplied by the DCDC, as mentioned in the Chapter 2 "RT1170 Power Domains" of AN13104. If your goal is to minimize power consumption, you may consider using Setpoints to transition the device into a low-power state while keeping only the SNVS domain powered, please refer to the table 4.1.5 "Typical power mode supply currents" of the datasheet to see different Setpoint configurations. Additionally, AN13104 includes a practical example demonstrating how configure a Wakeup source. You may find the chapter 4.9 "Wakeup source configuration", useful as a reference for your implementation. Finally, regarding to maintain the IO states, the SSARC could be useful. As default if the power mix which the peripheral belongs to is powered down, the peripheral configuration is lost and cannot be used directly until it is reinitialized. But with the SSARC you can save the registers of functional modules in memory before power-down and restores the registers from memory after the module is powered on, as mentioned the chapter 4.14 "Peripherals state after wakeup" of the AN13104. You can find an SDK example which shows the peripheral functionality called "ssarc_software_trigger_cm7" that you could take as reference. BR Habib Re: RT1170 NVCC_XXX power sequence and unsued IO banks Hello @Marwan,   I understand that you plan to use an external PMIC. Is my understanding correct? In that case, please refer to the AN13213, which describes how to interface an external PMIC with the RT1170, specifically the PF5020, the PMIC recommended in the chapter 3.2 "Using External PMIC" of the Hardware Development Guide for the MIMXRT1160/1170. In this app note the recommended connections are the following:   I would also recommend reviewing Tables 2 and 3 of the Hardware Development Guide, as they provide useful guidance on external PMIC usage as well as recommendations related to the SNVS domain. Additionally, you may find the SDK example power_mode_switch_bm_pmic_rt1xxx_core0 helpful. This example demonstrates the use of an external PMIC together with setpoint configurations to transition between different low-power states. Please take a look at the README files for details about how the example works. Finally, I recommend reviewing chapter 4.13 "Peripheral State in a Low-Power Mode" of AN13104, which explains the behavior of peripherals when the device is in low-power state. BR Habib Re: RT1170 NVCC_XXX power sequence and unsued IO banks Thanks for further explanation, kindly check the attached diagram: My goal is to go for SNVS mode(everything after the switch is off), and keep NVCC_XX also on to maintain state of other circuitry, is this possible or it will cause damage to the RT1170 MCU? I know that by keeping NVCC_XX on, I need to properly configure the IOs to prevent extra leakage currents. Kind regards and appreciate your assistance. Re: RT1170 NVCC_XXX power sequence and unsued IO banks No I will not use external PMIC the shared block diagram is good for me, I just need to ensure that NVCC_XXX power can be ON while DCDC_IN and is off (grounded) in when MCU is in SNVS mode.  is this possible? Kind regards Re: RT1170 NVCC_XXX power sequence and unsued IO banks Hello @Marwan, Yes, the NVCC_xxx rails can remain powered from an external supply, as shown in Figure 14-2, "Power Architecture" of the RM:   However, please keep in mind that in this configuration the DCDC supply must also remain present, as it provides power to the WAKEUPMIX domain, where the CM7 resides. Additionally, please ensure that the power-up sequence described in Section 4.2.1 "Power Supplies Requirements and Restrictions" of the datasheet is correctly implemented to avoid any unexpected behavior. Finally, I highly recommend see the Hardware Development Guide for the MIMXRT1160/1170. This document contains important design guidelines, layout recommendations, and hardware checklists that can help ensure a successful board design and avoid potential bring-up issues. BR Habib
View full article
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”文件。
View full article
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
View full article
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?
View full article
关于 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,丹尼尔
View full article