Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
iMX DDR設定ツールのコード生成エラー || iMX95 チームの皆さん、こんにちは。 現在、 i.MX95 DDR構成のためにNXP Config Toolsを使用していますが、DDR初期化/タイミングコードの生成時に問題が発生しています。 以下のターゲットに対してDDR構成を作成/開きました。 プロセッサ: MIMX9596xxxxN コア: Cortex-M33 メモリタイプ: LPDDR5 - Ryzen RS2G32LO5D4FDB-23BT DDRデータレート: 6400 MT/s ランク数: 2 16ビットチャネル数: 2 DRAM構成: 16Gb:2Gb x8 ツールが表示するDRAMの総容量: 16384MB まず、独自のボードDDR設定を適用する前に、NXP i.MX95 19x19 EVKのデフォルトのLPDDR5構成を使用してDDR構成を検証しようとしています。 しかし、DDRコードを生成/更新しようとすると、Config Toolsの「問題」ウィンドウにエラーが表示されます。 コードの生成に失敗しました… コードプレビューウィンドウには以下が表示されます。 コード生成に失敗しました。 問題のスクリーンショットを参考資料として添付します。 Screenshot from 2026-09-15 11-40-00.pngScreenshot from 2026-09-15 11-40-00.png2026-09-15 11-40-00 のスクリーンショット.png Re: iMX DDR Config Tool Code Generation Error || iMX95 こんにちは、 この問題についてできるだけ早く確認し、最新情報を提供していただけませんか?現在、プロジェクトのスケジュールが迫っているため、迅速なサポートをいただけると大変ありがたいです。 Re: iMX DDR Config Tool Code Generation Error || iMX95 こんにちは、 .mexファイルを添付しました。参考までにファイルを示しますが、今回は 8GB LPDDR5 Rayson RS2G32LO5D4FDB-23BT を使用します。 Re: iMX DDR Config Tool Code Generation Error || iMX95 検証のため、IMX95LPD5EVK-19.mex ファイルを私に送っていただけますか? Re: iMX DDR Config Tool Code Generation Error || iMX95 こんにちは、 はい、おっしゃっていたのと同じバージョンをダウンロードしてインストールしました。現在は Linux版 のツールを使っています。参考までにスクリーンショットを添付しました。 Screenshot from 2026-09-15 15-56-04.pngScreenshot from 2026-09-15 15-56-04.png2026-09-15 15-56-04 のスクリーンショット.png Re: iMX DDR Config Tool Code Generation Error || iMX95 Config_Tools_for_i.MX_26.06_x64 をインストールしましたか?最新バージョンの26.06ですか? Linux版を使っていましたか?私はWindows版を使用しています。 検証のため、IMX95LPD5EVK-19.mex ファイルを私に送っていただけますか? Re: iMX DDR Config Tool Code Generation Error || iMX95 こんにちは、 問題は依然として解決していない。.mexファイルを保存した後でもファイルをローカルディスクに保存しても、コードが生成されません。「コードの更新」をクリックすると、ツールから「コード生成に失敗しました」というエラーが表示されます。 Screenshot from 2026-09-15 15-31-15.pngScreenshot from 2026-09-15 15-31-15.png2026-09-15 15-31-15 のスクリーンショット.png Screenshot from 2026-09-15 15-36-58.pngScreenshot from 2026-09-15 15-36-58.png2026-09-15 15-36-58 のスクリーンショット.png Re: iMX DDR Config Tool Code Generation Error || iMX95 1.Config_Tools_for_i.MX_26.06_x64 をダウンロードしてインストールしました。 2. 新しい構成を作成し、「ボード」の下にある「IMX95LPD5EVK-19」を選択します。DDRツールを有効にして選択してください。 3. 「ファイル」→「保存」をクリックして、このプロジェクトをディスクに保存します。すると「コードの更新」が利用可能になります。 4. 「コードを更新」ボタンをクリックしてください。私の側にはエラーはありません。 yipingwang_0-1789463155201.pngyipingwang_0-1789463155201.pngyipingwang_0-1789463155201.png Re: iMX DDR Config Tool Code Generation Error || iMX95 Ubuntu 24.04 では、このバージョン設定ツールをインストールすることが必須です。 Ubuntu 22.04であなたの問題を再現できます。 その後、Ubuntu 24.04 OSにconfigs tool 26.06をインストールしたところ、正常に動作しました。
View full article
EVBMA7518S48Vでサンプルを実行したい 助けてください。このボードに初期プログラムを書き込むためのツールチェーン全体の流れについて、詳細な情報が必要です。発生しているエラーを以下に添付しました。ユーザーガイドとマニュアルのリンクも欲しいですし、入門ガイドにはオープンなGUIツールがあるのですが、BMA7518はどこにも見つかりませんでした また、直接.hexファイルはありますか?ファイルか何か、直接理事会を運営できる? ユーザーガイドには必要なソフトウェアが以下にあると書かれています。 私はs32DSを手に入れました(バージョンが重要かどうかも言及してください)が、unionGUIのダウンロード先がわからず、7318や7518をサポートしていないEVALGUIをダウンロードしました。サンプルコードはどこで入手できますか? • S32DS-Arm: S32 Design Studio ・UnionGUI ・EVBMA7518S48V例コード WhatsApp Image 2026-09-16 at 1.00.17 PM (1).jpegWhatsApp 画像 2026-09-16 午後1時00分17秒 (1).jpeg WhatsApp Image 2026-09-16 at 1.00.17 PM.jpegWhatsApp 画像 2026-09-16 午後1時00分17秒.jpeg
View full article
i.MX95:A55 始终无法完成上电或掉电——在两块不同的板上都出现相同的卡顿现象。 摘要 在 i.MX95 的自定义系统管理器配置中,启动 A55 逻辑机器 (LM1) 时,共享驱动程序函数内部出现卡顿。 SRC_MixSoftPowerUp() ( devices/MIMX9/drivers/fsl_src.c ) srcMixIdx = PWR_MIX_SLICE_IDX_A55P (索引 11)。 SRC_MixPowerUpCompleted() 永远不会返回真值, 函数状态 冻结在混合/不一致的状态,SM 自身的 WDOG2 最终触发 FCCU 重置。 关键在于,当强制执行完整的断电再开机循环时, 关机请求始终无法完成 — 硬件对此混音的软件功率控制没有响应 任何一个 方向。 相同的固件在两块物理结构不同的主板(FRDM-IMX95 15x15/LPDDR4x 和 FRDM-IMX95-PRO 19x19/LPDDR5)上都出现了完全相同的卡顿现象,而 两款主板出厂时自带的 eMMC 镜像都能启动到完整的 Linux 用户空间,因此可以证明芯片和主板本身具备这种能力。 我已经用确凿的证据(如下所列)排除了许多可能的病因,希望得到关于剩余病因的指导。 环境 物品价值 SoC i.MX95 (B0) 电路板 FRDM-IMX95(15x15,LPDDR4x) 和 FRDM-IMX95-PRO(19x19,LPDDR5) 系统管理器 nxp-imx/imx-sm 在 lf-6.18.20-2.0.0-5-g3198944 SM配置 自定义(SMCT/.mex 生成), 不是 mx95evk M33/SM状态 功能齐全 M7状态 功能完全正常——SCMI、TRDC分区、STOP/SUSPEND/深度空闲、I2C、以太网MDIO全部功能正常 A55(LM1) 如描述所示,失败了。 启动介质已测试 SD 和 eMMC(结果相同) 症状 A55 可通过 M7 按需启动 SCMI_LmmBoot() (也可以手动重现) lm LM1 启动 来自 SM 调试监视器)。 SCMI 调用本身成功: 状态 = 0 LM1随后报告 SCMI_LMM_STATE_SUSPEND (状态 = 2) 执行停滞 SRC_MixSoftPowerUp() 等待 SRC_MixPowerUpCompleted(PWR_MIX_SLICE_IDX_A55P) 函数状态 已冻结超过 400 万次投票迭代 如果放任不管,SM 的 WDOG2 监控狗会触发 FCCU RESET(错误 ID = 18),导致包括 M7 在内的整个系统崩溃。 登记证据 SRC_XSPR_CORTEXMIX_PLATFORM (混合指数 11) 函数状态 冻结 0x00001010 或者 0x00001011 根据入口状态而定。 解码七个状态字段 PWR_MIX_FUNC_STAT_PUP/PDN: 现场观测状态 PSW_STAT “向上”模式 SSAR_STAT “向上”模式 A55_HDSK_STAT “向上”模式 SYSMAN_STAT “向上”模式 RST_STAT “断电”模式 ISO_STAT “断电”模式 内存状态 “断电”模式 这是一种不一致的状态,既不符合完全启动的状态,也不符合完全关闭的状态,而且它不会取得进展。 硬件测量 一个内窥镜被放置在 VDD_ARM (电感 L7 之后、分立式 PPF5301 DCDC 下游的输出电容 C211–C215——该板具有真正的专用 ARM 电源轨)。在 lm LM1 启动 试图: 该铁路已经投入使用。 约 0.92 V 尝试 它 明显下降 尝试 所以这是一个真实存在的、可物理观察到的不完全电源转换,而不仅仅是权限/时序/软件方面的问题。 最具信息量的单个数据点 强制 A55P 混合模式执行整个断电-再断电循环(无条件执行)(绕过 MEM_STAT == 0 大门——即 SLICE_SW_CTRL |= PDN_SOFT,等待 关机完成 SLICE_SW_CTRL &= ~PDN_SOFT,等待 PowerUpCompleted)显示 即使明确发出关机请求,也无法完成。 函数状态 整个等待过程中保持不变。 这表明问题出在 SRC 寄存器接口之下——例如 GPC 握手前提条件、SRC 模块本身缺少时钟信号,或者板/PMIC 响应问题——而不是任何可纠正的问题。 SRC_MixSoftPowerUp() 自身的排序逻辑。 已经调查并排除(有证据支持) PERF_A55 争论 (3 → 0,ODV → PRK 电压等级)— 任一值均出现字节相同的故障。排除了DVS/电压等级不匹配的可能性。 config_bctrl.h (SM_BCTRL_A_CONFIG / SM_BCTRL_W_CONFIG) — 我的配置中为空;正在填充它 mx95evk 的值没有任何变化。然后我阅读了实时登记表。 工厂运作系统 通过 SM 监测 (BLK_CTRL_NS_AONMIX) 0x44210008–0x44210024, BLK_CTRL_WAKEUPMIX 0x42420030–0x42420064) — 每个词都匹配 mx95evk 准确引用。 SM_A55P_CONFIG, config_user.h、TRDC SRC/GPC/ANATOP 授权、WDOG2 超时 — 全部确认与 mx95evk,或已确认不是阻塞者。(SM 自身的 DOM2 TRDC 对这些寄存器的访问已被证实有效——我可以读取和写入改变的寄存器值。)笔记 SM_A55P_CONFIG 和 SM_DDR_CONFIG 为空 mx95evk 自己的配置也是如此。 SRC_MixIsPwrReady() 警卫 — 逻辑正确,但在这里它确实返回 false(混合位状态),所以它的行为永远不会改变。 无条件 SRC_MixSetA55HdskMode(..., ACK_WAIT) — 无效; A55_HDSK_STAT 一直以来都处于正确的“向上”模式。 较新的SM固件 — 跨越 Walnascar → Whinlatter 跨度的固定 SRCREV 的差异: 零变化 到 设备/MIMX9/ (包括 fsl_src.c, dev_sm_cpu.c, dev_sm_power.c)。 uboot-imx 差异 ——不同版本之间确实存在差异,但没有哪一方面是致命的。 PD_A55P/SRC_XSPR/A55 上电。从构造上来说也是如此:U-Boot SPL 运行 在 A55 公路上,即只有在这次强化成功之后。 ERR053228 模拟 (MTR_ACK_CTRL) — i.MX95 具有每种混合比例 MTR_ACK_CTRL/MTR_ACK_STAT 握手(偏移量 0x90/0x94)的复位默认值(CNT_MODE = 0)会无限期地等待硬件 MTR 确认,这看起来与卡住的情况很吻合。 MEM_STAT。我写 CNT_MODE = 3 (超时模式)最大 MTR_CNT_CFG 在上电转换之前,并通过回读确认写入生效(无)。 LOCK_CFG 干涉)。 没有变化。 真实工厂 AP 二进制文件 — 提取 bl31.bin / tee.bin / u-boot* 我从这块 板 自带的已知良好的工厂eMMC镜像中获取了这些信息,并将它们构建到我的系统中。 flash.bin。 无变化 (这是意料之中的,因为停顿发生在 U-Boot 的第一条指令之前)。 熔丝/OTP — 已排除:每个芯片的熔丝只烧断一次,而工厂镜像和我的镜像都运行在同一个芯片上。 同一块物理电路板。 启动介质 — SD卡和eMMC卡均经过测试,结果相同。 工厂 SM 二进制来源 — 我想重点强调这一点,因为它否定了“NXP 可能会发布不同的 SM 版本”这种说法。我提取了工厂 eMMC 自身的 M33 镜像(ROM 容器 3,镜像 3, CORE_CM33,容器相对偏移 0x79000,大小 使用 0x2C800 使用 mkimage_imx8 -soc IMX9 -parse 命令解析图像,并验证了提取结果。 与容器自身记录的哈希值完全匹配的 SHA384 值。其版本横幅显示:   来自 SM 的问候(版本 819,提交 c450f539,2026 年 3 月 9 日 03:24:50)   c450f539 已确认(git merge-base --is-ancestor)为 我自己的版本,以及唯一涉及此构建的中间提交 fsl_src.c/dev_sm_cpu.c/dev_sm_power.c 纯粹是测试框架清理,没有功能性改变。 所以,能够成功启动 A55 的工厂镜像,其运行的功能与我这边失败的 SM 源相同。 问题 鉴于工厂镜像使用功能相同的SM源启动A55,那么区别在哪里? 外部 imx-sm 源和 BCTRL 寄存器配置如何影响 A55P 混合电源的启动?具体来说,是否存在 AHAB/ELE 容器签名或配置元数据会影响 A55 平台组合是否能够启动? 观察到的 函数状态 模式(PSW/SSAR/A55_HDSK/SYSMAN) 向上, RST/ISO/MEM 向下(而非向前)已知的签名?从该状态到下一个预期转变是什么?驱动这种转变的因素是什么? 为什么会明确地掉电 请求也一直无法完成吗? 这似乎是最有力的线索——必须具备哪些前提条件 SRC_XSPR 回应 SLICE_SW_CTRL.PDN_SOFT 这个混音有什么特别之处吗? 除了 ERR053228 之外,是否存在已知的 i.MX95 B0 勘误会影响 A55P 混合电源时序? 参考资料中提到的 A55 平台组合是否需要任何初始化? mx95evk 流动但 不是 以生成的形式表达 config_*.h 文件——也就是说,自定义的基于 SMCT 的配置会默默省略的某些内容? 说明 PRO 板上没有 JTAG(没有接头),而且我也没有选择在 15x15 板上使用脆弱的 0.5 毫米测试焊盘。 以上所有诊断均通过SM自身的调试监视器(lm info, 犯错, btime, md),直接寄存器读取和示波器测量。 我已经实施了一个隔离修复方案(用有界等待替换了原来的无界等待)。 while (!SRC_MixPowerUpCompleted()) {;} 循环)以便故障现在可以优雅地降级为 LM1 = 已停用 而不是通过看门狗重置整个系统。如果需要,我很乐意单独分享。 Re: i.MX95: A55 never completes power-up or power-down — stalls identically on two different boards 请忽略以上帖子并关闭此工单……我刚用 Wrynose 重新编译了一个版本,它能用了!我之前的版本使用的是 whinlatter(选择它是因为 FRDM-IMX95 出厂时就预装了 whinlatter),但是那并没有成功。
View full article
S32K3 Standby RAM data modified before Reset_Handler Hello, When I debug S32K344 with PE Micro, I found that an array(__attribute__ ((section(".standby_data"))) volatile uint32_t WkupSourcestatus1[64];) located in the standby RAM section  is unexpectedly modified when entering main(). Then, as shown in the attached video, I manually modified the registers to reinitialize the standby RAM area. The data was correctly initialized to 0, and after entering main(), everything ran fine. However, after a reset, when I enter the Reset_Handler, the data in the WkupSourcestatus1 array is modified again. Why is this happening? I noticed that a large number of 0x5AA55AA5 values appear in the array. Is this related to the SBAF_BOOT_MARKER? I tested this on another board and the phenomenon is the same. 8.png8.png8.png8.png8.png Then I switched to using J-Link for debugging and found that no abnormality occurs during a reset while debugging. However, after a debug session is restarted, all data in the standby RAM area becomes 0xDEADBEEF. Is this expected behavior? S32K344 S32DS3.6.4 RTD700 PE v.6.0.8 BR, Jason Re: S32K3 Standby RAM data modified before Reset_Handler Hi Sorry for the late reply; I've had a lot of inquiries to handle lately. I suggest you refer to the discussion on S32K311 standby RAM retention for how to use standby RAM. Best Regards, Robin Re: S32K3 Standby RAM data modified before Reset_Handler The standby RAM content will remain during reset and the value you observed should be the content before MCU reset ======================================================================================= The RAM is integrated by the SRAM memory and the TCM. Part of the SRAM memory is available in standby mode. This means that the content of this memory are retained after setting the MCU in standby mode. The S32K3 product family leverages the TCM feature of ARM Cortex M7 architecture, whose main purpose is to provide a deterministic access time to the cores to some important data avoiding any delay in the access. This feature can be exploited in Real Time Operating Systems. As noted, the data stored in the Standby SRAM memory sourced by Standby domain is retained when the MCU is in standby mode and available after the wakeup. But the data in SRAM sourced by Run domain is not available and it needs to be initialized after the wakeup to avoid ECC errors. Is important to remark that after wakeup, the Standby SRAM doesn't need to be initialized to avoid ECC error, but the rest of the SRAM does need it, so a proper distinction should be performed in the Startup code. An example to make this distinction is depicted in the following code. Re: S32K3 Standby RAM data modified before Reset_Handler Hi Sorry for the late reply. In my test, I did not perform any sleep/wake-up operation. I only performed a reset through S32DS, and this caused the data in the standby RAM area to change. Checking the map file, the variable is indeed located in standby RAM (0x20400000). I checked the link you provided, and it seems to be unrelated to the issue in that link. BR, Jason
View full article
Anyone using TapLinx? Is anyone using the TapLinx SDK from NXP to interface with MIFARE cards? I’m interested in some minimal console app examples. The sample app is a bit of a pain to get working as it a GUI app with a whole bunch of features. I’d like to locate some minimal console apps that just read/write some data to a card, authenticate, etc. Even better if they were Kotlin examples, but Java us fine too. Getting Started Re: Anyone using TapLinx? Hello @reid88  The TapLinx SDK supports MIFARE DESFire, Plus, Classic, Ultralight, NTAG, and more. You can check the design resources by going: TapLinx SDK for MIFARE, NTAG, ICODE and UCODE | NXP Semiconductors
View full article
S32K358 快速备用 你好, 我想测试一下S32K358的快速待机功能。我在 S32DS 中创建了一个 IP 层演示,其中程序在启动后 5 秒进入快速待机状态,并在 3 秒后通过 RTC-API 唤醒。这样操作没有任何问题。 然后我参考了这个项目,配置了一个 EB 项目来创建一个 MCAL 层演示,但是失败了。快速待机 3 秒后,电流增大,这表明设备已唤醒,但并未进入主功能。连接 PE Micro 后,出现以下错误信息: 已收到中断命令。停止执行。 UsageFault:执行指令时使用了无效的 EPSR.T 或 EPSR.IT 字段。 总线故障:发生不精确(异步)数据访问错误。 硬故障:故障已升级为硬故障。 唤醒后的向量表如下所示: 1.png1.png PC寄存器为0x0。检查堆栈内容,可以看到已进入 FastWkup_EntryAddress,并且在跳转到 Reset_Handler 后发生 HardFault。 2.png2.png 3.png3.png 4.png4.png 如果我在 FastWkup_EntryAddress 中添加一个 while(1) 循环,则 HardFault 仍然会发生。 5.png5.png 如果我进入待机模式,它会…… 在该项目中,PMIC_PGOOD_HNDSHK_BYP 已启用。由于该板没有外部晶振(晶体振荡器),因此使用 FIRC 作为核心时钟。 S32K358 RTD6.0.0 S32DS3.6.3 EB29.0 BR, 杰森 Re: S32K358 FAST STANDBY 你好@Jason07 , 在快速待机唤醒时,sBAF 将 VTOR 设置为您的自定义向量表地址。 但是,您的向量表只定义了三个条目: 初始SP, 重置处理程序(FastWkup_EntryAddress), NMI 处理程序。 因此,HardFault 向量缺失。 当发生任何故障时,CPU 会获取未定义的 HardFault 处理程序地址,这可以解释观察到的 PC 值。 为了进一步调试此问题,请在向量表中添加一个合适的 HardFault 处理程序。一旦这些就位,就会调用处理程序而不是崩溃到 0x0,从而使您可以访问原始故障的堆叠 PC、LR 和可配置故障状态寄存器 (CFSR/BFAR)。 谢谢! BR,丹尼尔
View full article
i.MX93 并行透传接口 您好, 我正在设计一块采用 i.MX93 (MIMX9332CVVXMAC) 的电路板,该电路板需要驱动一个带并行接口的 RGB 显示器。从配置工具中,数据位被标记为 data0-23,不参考 R、G、B 通道。我还查看了 evb FRDM 和 TM050RDH03-41,但遗憾的是,FRDM 的数据与配置工具中的数据相同,而 TM050RDH03-41 的原理图没有提供。 能否提供这样的原理图来确认引脚排列? 或者您能否确认 24 位数据可以在 R、G 和 B 通道之间自由复用? 谢谢! 恩里科 Re: i.MX93 parallel diaply interface 您好, 感谢您对恩智浦半导体产品的关注, 如果您对完整的原理图感兴趣,请参阅 TM050RDH03-41 显示连接器原理图,请提交技术案例。 JosephAtNXP_0-1789574219944.pngJosephAtNXP_0-1789574219944.png 此致
View full article
SE052 adoption questions: EdDSA/X25519 availability, non-FIPS variant roadmap, applet limits Hello, We currently use the SE050E2 (applet 7.2.0, die reports "SE051" in the ATR, AppletConfig 0x3F9F) in two designs, and we are evaluating the SE052 for the next hardware revision. Before committing, we read the SE052 data sheet (Rev 1.5), AN14028, AN14277, AN13904, AN12543 (Rev 4.5) and the Plug & Trust MW documentation (AN13030 Rev 2.7), and a few points block the decision. We would appreciate clarification. Our two use cases: A mesh/transport node (LoRa + Ethernet) whose identity is an X25519 + Ed25519 key pair generated and used inside the SE (ECDH via ECDHGenerateSharedSecret on ID_ECC_MONT_DH_25519, signing via EdDSASign with ED25519PURE_SHA_512). A signing device using secp256k1 ECDSA (pre-computed digest) and Ed25519 for different targets, with a UserID-protected session. Questions: Variants. AN14277 states that SE052F (OEF B501, FIPS 140-3) is "the only released variant", and its GetInfo shows WithOut EDDSA / WithOut DH_MONT. Is there any roadmap for a non-FIPS SE052 configuration (equivalent to SE050E / SE051 with CONFIG_EDDSA and CONFIG_DH_MONT enabled)? If so, approximate timeframe and OEF? Enabling EdDSA / Montgomery DH on SE052F. Since SetAppletFeatures requires RESERVED_ID_FEATURE (0x7FFF0204), which is NXP-owned, is there any customer path to enable Ed25519/X25519 on SE052F (e.g. a custom configuration through EdgeLock 2GO), accepting loss of FIPS-approved mode? Or does the FIPS OS build block those curves regardless of the applet feature bits? FIPS and EdDSA. FIPS 186-5 approves EdDSA. Is there a plan for a future SE052 applet/OS version (via SEMS Lite or a new OEF) that supports Ed25519 and X25519 while remaining FIPS 140-3 approved? APDU throughput limit. AN14028 §2.3.1 / AN13904 §8.4 describe the 1,000,000 APDU / 34-day limit (SW 66A6) and the FIPS self-test every 500,000 APDUs. Are these tied to the FIPS certification only, and would they be absent in a hypothetical non-FIPS SE052 variant? Is a reset via RST_N enough to clear the counter with no NVM impact? Applet feature roadmap for signing use cases. We could not find any of the following in AN12543 Rev 4.5. Are any planned for the 7.2.x line or a future applet? Hardened child-key derivation inside the SE (scalar addition mod n, BIP32-style), so derived private keys never leave the chip. Schnorr signatures (BIP340) on secp256k1. Deterministic ECDSA nonces (RFC 6979) and/or low-S normalisation. Pre-hashed Ed25519 (Ed25519ph) or a streaming EdDSA mode, so messages longer than the IFSC (0xFE) do not depend on T=1 chaining. UserID behaviour on applet 7.2.22. On SE050E2 (7.2.0) we observed that a UserID object whose TAG_MAX_ATTEMPTS is exhausted can no longer be deleted (DeleteSecureObject → 6986 even over Platform SCP03), and the attempts counter attribute always reads 0. AN14028 Table 1 says the attributes now show the maximum number of attempts. On 7.2.22: (a) is the remaining/used counter reported? (b) can an exhausted UserID be deleted by the SCP03 platform user? ECDH NVM wear (applies to our current SE050E2 too). AN12543 §4.10.3 says ECDHGenerateSharedSecret on MONT_DH_25519 writes NVM on each call when the public key is passed as a byte array (TAG_2), but not when passed via a transient ECPublicKey object (TAG_3). Can you confirm this also holds for SE050E with applet 7.2.0, and that updating the transient object's content with WriteECKey between calls does not itself write NVM? Longevity. Is the SE050E2 covered by NXP's product longevity program, and is there any planned EOL? This decides whether we stay on SE050E2 for the next revision. Thank you in advance. SE050 Re: SE052 adoption questions: EdDSA/X25519 availability, non-FIPS variant roadmap, applet limits Hi @cvaldess , Thank you for the reaching out! Let me work through each one. Q1 — Non-FIPS SE052 variant roadmap As you correctly identified, SE052F (OEF B501) is currently the only released SE052 variant, and its AppletConfig 0x26F2 does not include EdDSA or DH_MONT. We cannot share specific roadmap timelines on a public forum, but I recommend reaching out to your local Disti/NXP FAE to discuss your requirements under NDA, where roadmap details can be addressed directly. Q2 — Enabling EdDSA / Montgomery DH on SE052F There is no customer path to enable these algorithms on SE052F. RESERVED_ID_FEATURE (0x7FFF0204) is an NXP-owned object and cannot be modified or deleted by customers — EdgeLock2GO is not a mechanism for enabling it. More fundamentally, the SE052F FIPS 140-3 OS build excludes Twisted Edwards (Ed25519) and Montgomery (Curve25519) curve support at the OS/hardware level as part of the certified configuration. Even loading a custom applet via SEMS Lite cannot re-enable curves absent from the OS layer — and doing so would in any case render the module non-FIPS compliant, as AN14277 explicitly notes. Q3 — FIPS 140-3 + EdDSA in a future SE052 applet/OEF FIPS 186-5 (Feb 2023) does approve EdDSA, so the standards basis exists. However, any SE052 OEF supporting Ed25519/X25519 under a new FIPS 140-3 certificate would require a full CMVP recertification submission. We are not in a position to confirm plans or timelines on a public forum. Please check with your local Disti/NXP FAE for an NDA conversation on this point. Q4 — APDU throughput limit (SW 66A6) Yes, the 1,000,000-APDU / 34-day counter and the 500,000-APDU periodic self-test are FIPS 140-3 compliance requirements specific to SE052F. A hypothetical non-FIPS SE052 variant would not be subject to these constraints. Regarding reset: a T=1oI2C chip reset (RST_N toggle or power cycle) is the documented recovery path. The APDU counter is a session-resident in-RAM value — it is cleared by the cold reset with no NVM write. The Plug & Trust MW includes an apdu_throughput_limit demo that demonstrates exactly this recovery using phNxpEse_reset . For your mesh/transport node use case, at ~340 APDUs/minute sustained this limit should not be a concern in practice, but please ensure your host driver handles SW_66A6 gracefully with an automatic reset. Q5 — Applet feature roadmap (BIP32, Schnorr, RFC 6979, Ed25519ph) None of the features you listed — BIP32 hardened child-key derivation on-chip, Schnorr/BIP340, deterministic ECDSA nonces (RFC 6979), low-S normalisation, or Ed25519ph — appear in AN12543 Rev 4.5 or any current SE05x documentation, and there are no public announcements for these in the 7.2.x line. I'd encourage you to submit a formal product enhancement request via your local Disti/NXP FAE so these can be tracked by our product team. A note on the T=1 chaining concern for Ed25519: the applet does support multi-block T=1 chaining for APDU data beyond IFSC (0xFE), so message length is handled at the transport layer and is not a functional restriction on EdDSA operations. Q6 — UserID behaviour on applet 7.2.22 (a) Counter readability: The GetAttributes response returns the configured TAG_MAX_ATTEMPTS value (the maximum), not the remaining count. The internal decrement counter is not exposed as a directly readable attribute in the current applet version. (b) Deleting an exhausted UserID over SCP03: The 6986 error on deletion of a locked UserID that you observed on 7.2.0 is a known limitation. AN13904 does not explicitly document a change to this behaviour for 7.2.22 in the context of Platform SCP03 deletion. I recommend verifying this directly on the SE052F evaluation hardware (or an SE051 sample running 7.2.22). As a workaround, a Factory Reset via RESERVED_ID_FACTORY_RESET over Platform SCP03 is the confirmed path if a locked UserID blocks object management — though this clears all user objects, so object layout planning matters here. Q7 — ECDH NVM wear (SE050E with applet 7.2.0) Confirmed. AN12543 explicitly states that ECDHGenerateSharedSecret on ID_ECC_MONT_DH_25519 causes NVM writes per call only when the public key is passed as a byte array (TAG_2). When the public key is passed via a transient ECPublicKey object (TAG_3), no NVM write occurs. This behaviour applies to SE050E with applet 7.2.0, as the SE050E2 uses the same 7.x applet generation (the SE051 die and applet family, as your GetInfo ATR confirms). WriteECKey on a transient object writes to SRAM only — there is no NVM wear from updating the transient object's content between calls. The recommended pattern for your node is: allocate one persistent transient ECPublicKey at startup, call WriteECKey (SRAM only) before each ECDH operation, then call ECDHGenerateSharedSecret with TAG_3 referencing that transient object. This fully avoids per-call NVM wear. Q8 — SE050E2 product longevity The SE050E2 was launched in 2022. NXP's Product Longevity Program commits to a minimum of 10 or 15 years' availability from launch date for enrolled products. For the definitive enrollment status and longevity horizon for SE050E2, please check the NXP Product Longevity page (sign-in required for the full table) or ask your NXP FAE to confirm. Overall recommendation for your two use cases Given that your designs rely on Ed25519 (EdDSASign) and X25519 (ECDHGenerateSharedSecret on MONT_DH_25519), SE052F does not currently satisfy your cryptographic requirements. The SE050E2 / SE051 family remains the appropriate choice until a SE052 variant with those algorithms is available. We recommend confirming SE050E2 longevity status with your NXP FAE and registering a product requirement for a non-FIPS SE052 equivalent. Hope this helps clarify the decision. Please let me know if you have follow-up questions. Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
View full article
How to Flash P89C52X2BN MCU? Hi all, I need to program two old MCUs: P89C52X2BN and P89C52RD2. For the P89C52RD2, I understand it supports ISP via serial. But not known how to active and ISP/IAP protocol? For the P89C52X2BN, How do I flash it? Does it need a parallel programmer? If need, how protocol and how to active flash mode? I'm mainly looking for the official programming documentation for these two chips (especially the X2BN), so I can reference the correct flash programming interface and timing. If you have the datasheet's programming section or a link, please share. Thanks! Re: How to Flash P89C52X2BN MCU? Hello I apologize for the inconveniences this might cause you, The P89C52 family is no longer manufactured and because of this is no longer supported, the information for this family is no longer available. If it could work for you there is this information for the 89C51; Important: I can't confirm or test whenever this information work and/or apply for the 89C52. In-circuit and In-application programming of the 89C51Rx+/Rx2/66x microcontrollers Best Regards, Re: How to Flash P89C52X2BN MCU? Sorry, XSP6100N is far too costly, equivalent to 6-12 months of an average person's wages. Therefore I will read the Docs and try to flash it myself. XSP6100N can do, But I cannot afford it, Thanks. Re: How to Flash P89C52X2BN MCU? This AN can be used for P89C5xRx2, But missing P89C5xX2, This AN is the correct type of document, But it's just missing P89C5xX2. Thanks!
View full article
FRDM-IMX8MPLUSボード用のロボットエッジイメージ1.0.0を探しています みなさんこんにちは、 私はFRDM-IMX8MPLUSボード(IMX8MP-EVKではない)のRobotics Edge Image 1.0.0のリリースパッケージ。 IMX8MP-EVKやIMX95EVK用のプリビルドイメージは見つかりますが、FRDM-IMX8MPLUSについては何も見つかりませんでした。このボードはサポートされています(https://mcuxpresso.nxp.com/RoboticsEdgePlatform/latest/html/gsd/prebuilt-images.html) ソース(Yocto)からビルドするのは本当に面倒で、約1TBの容量を消費し、途中で多くのエラーが発生します。 良い回答が得られることを願っています。 よろしくお願いいたします。 Re: Looking for robotics Edge Image 1.0.0 for FRDM-IMX8MPLUS board すみません、FRDM-IMX8MPLUSファイルはIMX8M-EVKのzipファイルにまとめられています。 名前は一つだが、宛先は二つの委員会だ。
View full article
如何刷写 P89C52X2BN MCU? 大家好, 我需要对两个旧的MCU进行编程:P89C52X2BN和P89C52RD2。 据我了解,P89C52RD2 支持通过串口进行 ISP 通信。但是不知道如何激活 ISP/IAP 协议? P89C52X2BN芯片该如何刷机?它需要并行程序员吗?如果需要,请说明协议以及如何激活闪光灯模式? 我主要想找到这两款芯片(特别是 X2BN)的官方编程文档,以便参考正确的闪存编程接口和时序。如果您有数据手册中的编程部分或相关链接,请分享。 谢谢! Re: How to Flash P89C52X2BN MCU? Hello 由此给您带来的不便,我深表歉意。P89C52 系列产品已停产,因此不再提供支持,有关该系列产品的信息也已不再提供。 如果这对您有用,以下是 89C51 的相关信息;重要提示:我无法确认或测试这些信息是否适用于 89C52。 89C51Rx+/Rx2/66x 微控制器的在线编程和应用内编程 顺祝商祺! Re: How to Flash P89C52X2BN MCU? 抱歉,XSP6100N 价格太贵了,相当于普通人 6-12 个月的工资。因此,我会阅读文档并尝试自己刷写固件。XSP6100N可以做到,但我买不起,谢谢。 Re: How to Flash P89C52X2BN MCU? 此 AN 可用于 P89C5xRx2,但缺少 P89C5xX2;此 AN 是正确的文档类型,但缺少 P89C5xX2。谢谢!
View full article
SE052の採用に関する質問:EdDSA/X25519の可用性、非FIPSバリアントのロードマップ、アプレットの制限 こんにちは、 現在、 SE050E2 (アプレット 7.2.0、dieはATRで「SE051」を報告し、AppletConfig 0x3F9F)は2つの設計で報告されており、次のハードウェアリビジョンのために SE052 を評価中です。コミットする前に、SE052のデータシート(Rev 1.5)、AN14028、AN14277、AN13904、AN12543(Rev 4.5)、Plug & Trust MWのドキュメント(AN13030 Rev 2.7)を読み、いくつかの点が決定を妨げています。ご説明いただければ幸いです。 私たちの2つのユースケース: メッシュ/トランスポートノード(LoRa + イーサネット)で、その識別子は X25519 + Ed25519 キーペアで生成され、SE内で使用されます(ECDH経由 ECDHGenerateSharedSecret on ID_ECC_MONT_DH_25519経由、署名 EdDSASign with ED25519PURE_SHA_512経由)。 署名デバイス secp256k1 ECDSA (事前計算済みダイジェスト)および Ed25519 ユーザーIDで保護されたセッションを使用して、異なるターゲットに対して使用します。 質問: バリエーション。AN14277では、SE052F(OEF B501、FIPS 140-3)が「リリースされた唯一のバリアント」であり、GetInfoではEDDSA/DH_MONTが除外されていると表示されます。FIPS非準拠のSE052構成(CONFIG_EDDSAおよびCONFIG_DH_MONTが有効になっているSE050E/SE051に相当)に関するロードマップはありますか?もしそうなら、おおよその期間とOEF(排卵期間)は教えてください。 SE052FでEdDSA / Montgomery DHを有効にします。SetAppletFeaturesはNXP所有のRESERVED_ID_FEATURE(0x7FFF0204)を必要とするため、SE052FでEd25519/X25519を有効にするカスタマーパス(例:EdgeLock 2GOによるカスタム構成)をFIPS承認モードの喪失を受け入れる方法はありますか?それとも、FIPS OSビルドは、アプレットの機能ビットに関係なく、それらの曲線をブロックするのでしょうか? FIPSとEdDSA。FIPS 186-5はEdDSAを承認している。将来的にSE052アプレット/OSバージョン(SEMS Liteや新しいOEF経由で)で、Ed25519とX25519をサポートしつつFIPS 140-3の承認を維持しつつ計画はありますか? APDUスループット制限。AN14028 §2.3.1 / AN13904 §8.4 では、1,000,000 APDU / 34 日間の制限 (SW 66A6) と、500,000 APDU ごとに実行される FIPS セルフテストについて説明しています。これらはFIPS認証のみに関連するものであり、仮にFIPS認証を受けていないSE052バリアントが存在した場合、これらの機能は存在しないのでしょうか?RST_Nによるリセットだけで、NVMに影響を与えることなくカウンタをクリアできますか? 署名のユースケースのためのApplet機能ロードマップ。AN12543 Rev 4.5では以下の内容は見つかりませんでした。7.2.x向けに予定されているものはありますか?ラインか、それともFUTUREのアプレットか? SE内部のハード化された子鍵導出(スカラー加算法n、BIP32スタイル)により、派生秘密鍵がチップから出ることはない。 secp256k1 の Schnorr 署名 (BIP340)。 デターミニスティックECDSAノンセ(RFC 6979)および/または低S正規化。 事前にハッシュされたEd25519(Ed25519ph)またはストリーミングEdDSAモードを使用しており、IFSC(0xFE)より長いメッセージはT=1の連鎖に依存しません。 アプレット7.2.22におけるUserIDの動作。SE050E2(7.2.0)では、TAG_MAX_ATTEMPTSが尽きたUserIDオブジェクトは削除できなくなり(DeleteSecureObject → プラットフォームSCP03上でも削除できず)、試行カウンター属性は常に0と表示されることを観察しました。表1 AN14028、属性は最大試行回数を示していることを示しています。2022年7月2日:(a)残りのカウンター/使用済みカウンターは報告されますか?(b) 使い果たされたUserIDはSCP03プラットフォームのユーザーによって削除可能か? ECDH NVMの摩耗(現行のSE050E2にも適用されます)。AN12543 §4.10.3 によると、MONT_DH_25519 の ECDHGenerateSharedSecret は、公開鍵がバイト配列 (TAG_2) として渡された場合は呼び出しごとに NVM に書き込みますが、一時的なECPublicKey オブジェクト (TAG_3) を介して渡された場合は書き込みません。これはSE050Eのアプレット7.2.0にも当てはまること、そして呼び出し間にWriteECKeyで一時的なオブジェクトの内容を更新してもNVM自体は書き込まれないということを確認していただけますか? 長寿。このSE050E2はNXPの製品寿命プログラムでカバーされているのか、また予定されているEOL(終了終了)はありますか?これは、次回の改訂でもSE050E2を使い続けるかどうかを決定するものです。 事前に感謝いたします。 SE050 Re: SE052 adoption questions: EdDSA/X25519 availability, non-FIPS variant roadmap, applet limits こんにちは、 @cvaldess さん。 ご連絡いただきありがとうございます!一つずつ説明していきましょう。 Q1 — 非FIPS SE052バリアントロードマップ ご指摘のとおり、SE052F(OEF B501)は現在リリースされている唯一のSE052バリアントであり、そのAppletConfig 0x26F2にはEdDSAまたはDH_MONTは含まれていません。具体的なロードマップのスケジュールは公開の場で共有できませんが、NDAに基づく要件について話し合うために、地元のDistiやNXP FAEに連絡することをお勧めします。そこではロードマップの詳細を直接確認できます。 Q2 — SE052FでEdDSA / Montgomery DHの有効化 SE052Fではこれらのアルゴリズムを有効にする顧客ルートはありません。 RESERVED_ID_FEATURE (0x7FFF0204)はNXP所有のオブジェクトであり、お客様によって変更や削除はできません。EdgeLock2GOはこれを有効化する仕組みではありません。より根本的には、SE052F FIPS 140-3 OSビルドでは、認証された構成の一部としてTwisted Edwards(Ed25519)およびMontgomery(Curve25519)のOS/ハードウェアレベルでの曲線サポートが除外されています。SEMS Lite経由でカスタムアプレットを読み込んでも、OSレイヤーに存在しない曲線を再有効化することはできず、AN14277が明示的に指摘するように、モジュールはFIPS準拠でなくなります。 Q3 — 将来のSE052アプレット/OEFにおけるFIPS 140-3 + EdDSA FIPS 186-5(2023年2月)はEdDSAを承認しているため、基準の基盤は存在します。ただし、新しいFIPS 140-3認証の下でEd25519/X25519をサポートするSE052 OEFは、CMVPの再認証申請を全面的に行う必要があります。私たちは公開の場で計画やスケジュールを確認する立場にはありません。この件に関する秘密保持契約(NDA)のご相談については、お近くの販売代理店またはNXPのFAEまでお問い合わせください。 Q4 — APDUスループット制限(SW 66A6) はい、1,000,000 APDU / 34日間のカウンターと500,000 APDUの定期自己診断テストは、SE052Fに特有のFIPS 140-3準拠要件です。仮説上の非FIPS SE052変異体は、これらの制約の対象とはならない。 リセットに関して:T=1oI2Cチップリセット(RST_Nトグルまたは電源サイクル)が、文書化された復旧手順です。APDUカウンタはセッションに常駐するRAM内の値であり、NVMへの書き込みなしにコールドリセットによってクリアされます。Plug & Trust MWには、 phNxpEse_reset を使用してこの復旧を正確に実証する apdu_throughput_limit デモが含まれています。メッシュ/トランスポートノードのユースケースでは、持続時間約340 APDU/分であれば実際にはこの制限は気にならないはずですが、ホストドライバーが自動リセットで SW_66A6 をスムーズに処理できるようにしてください。 Q5 — アプレット機能ロードマップ(BIP32、Schnorr、RFC 6979、Ed25519ph) あなたが挙げた機能――BIP32強化チャイルドキー導出オンチップ、Schnorr/BIP340、デターミニスティックECDSAナンセス(RFC 6979)、低S正規化、Ed25519ph―はいずれもAN12543 Rev 4.5や現在のSE05xドキュメントには含まれておらず、7.2.xにもこれらの公表はありませんライン。地元のDisti/NXP FAEを通じて正式な製品強化リクエストを提出することをお勧めします。そうすれば、当社の製品チームが追跡できるようにしてください。 Ed25519のT=1チェーンに関する注意点:このアプレットはIFSC(0xFE)を超えたAPDUデータに対するマルチブロックT=1チェインをサポートしているため、メッセージ長はトランスポート層で処理され、EdDSA操作の機能的制限にはなりません。 Q6 — アプレット7.2.22におけるユーザーIDの動作 (a)カウンターの可読性: GetAttributes レスポンスは、残りのカウントではなく、設定された TAG_MAX_ATTEMPTS 値(最大値)を返します。現在のアプレットバージョンでは、内部デクリメントカウンターは直接読み取り可能な属性として公開されていません。 (b) SCP03 を介した使用済み UserID の削除: 7.2.0 で確認された、ロックされた UserID の削除時に発生する 6986 エラーは既知の制限事項です。AN13904は、プラットフォームSCP03削除の文脈で7.2.22におけるこの振る舞いの変更を明示的に記録していません。SE052F評価用ハードウェア(またはバージョン7.2.22が動作するSE051サンプル)で直接検証することをお勧めします。回避策として、ロックされたユーザーIDがオブジェクトマネジメントをブロックした場合、プラットフォームSCP03を経由した RESERVED_ID_FACTORY_RESET による工場出荷時リセットが確認済みのパスとなりますが、これによりすべてのユーザーオブジェクトが削除されるため、オブジェクトレイアウトの計画が重要です。 Q7 — ECDH NVMの摩耗(アプレット7.2.0搭載のSE050E) 確認済み。AN12543では、 ID_ECC_MONT_DH_25519 上の ECDHGenerateSharedSecret は、公開鍵がバイト配列(TAG_2)として渡された場合にのみ、呼び出しごとにNVM書き込みを引き起こすことが明示的に述べられています。公開鍵が一時的な ECPublicKey オブジェクト (TAG_3) を介して渡される場合、NVM への書き込みは発生しません。この挙動は、アプレット7.2.0を搭載したSE050Eにも当てはまります。SE050E2は同じ7.xアプレット世代(GetInfo ATRが確認した通りSE051ダイとアプレットファミリー)を使用しています。 WriteECKey 一時オブジェクトへの書き込みはSRAMのみに行われるため、呼び出し間で一時オブジェクトのコンテンツを更新してもNVMの摩耗は発生しません。ノードに推奨されるパターンは次のとおりです。起動時に永続的な一時的 ECPublicKey を 1 つ割り当て、各 ECDH 操作の前に WriteECKey (SRAM のみ) を呼び出し、次にその一時的オブジェクトを参照する TAG_3 を使用して ECDHGenerateSharedSecret を呼び出します。これにより、通話ごとのNVMの摩耗を完全に回避できます。 Q8 — SE050E2製品の寿命 SE050E2は2022年に発売されました。NXPの製品寿命プログラムは、登録製品に対して発売日から最低10年または15年の利用期間を約束しています。SE050E2の最終的な加入状況と継続期間については、 NXP製品長寿ページ (完全な表にはサインインが必要)をご確認いただくか、NXP FAEに確認をお願いください。 あなたの2つのユースケースに対する全体的なおすすめ あなたの設計はEd25519(EdDSASign)やX25519(ECDHGenerateSharedSecret MONT_DH_25519)に依存しているため、 SE052Fは現在あなたの暗号要件を満たしていません。SE050E2 / SE051ファミリは、これらのアルゴリズムを搭載したSE052バリアントが登場するまで適切な選択肢として残ります。NXP FAEに長期使用状況を確認し、非FIPS SE052相当製品の製品要件を登録することをお勧めしますSE050E2。 これが決定事項の明確化に役立つことを願っています。ご質問がありましたら、お気軽にお知らせください。 すてきな一日を、 カン ------------------------------------------------------------------------------- 注記: この投稿があなたの質問への回答になっている場合は、「正解としてマーク」ボタンをクリックしてください。ありがとうございます! - 前回の投稿から7週間Threadをフォローしており、その後の返信は無視しています もし後で関連する質問があれば、新しいThreadを開き、閉じたThreadを参照してください。 -------------------------------------------------------------------------------
View full article
i.MX95: A55は電源投入も電源切断も完了せず、2つの異なるボードで同じように停止する。 概要 i.MX95のカスタムシステムマネージャ設定では、A55論理マシン(LM1)の起動は共有ドライバ関数 SRC_MixSoftPowerUp() (devices/MIMX9/drivers/fsl_src.c) for srcMixIdx = PWR_MIX_SLICE_IDX_A55P (index 11)でフリーズします。 SRC_MixPowerUpCompleted() 決して真を返さない、 FUNC_STAT 混合状態または不整合な状態でフリーズし、最終的にSM自身のWDOG2がFCCUリセットを実行します。 重要なのは、シーケンスが完全な電源オフ・オンサイクルを強制されるとき 電源停止要求も完了しない ハードウェアはこのミックスのソフトウェア電源制御に い ずれ 方向にも応答しないことです。 同じファームウェアは物理的に異なる2つのボード(FRDM-IMX95 15x/LPDDR4xおよびFRDM-IMX95-PRO 19x19/LPDDR5)で同じように停止しますが 、両ボードの工場出荷時のeMMCイメージは完全なLinuxユーザースペースで起動するため、シリコンや基板自体は実証的に対応可能です。 具体的な証拠(下記参照)に基づいて、多くの候補原因を除外することができました。残りの原因についてご助言いただければ幸いです。 環境 商品の価値 SoC i.MX95 (B0) ボード FRDM-IMX95 (15x15、LPDDR4x) そして FRDM-IMX95-PRO (19x19、LPDDR5) システムマネージャー nxp-imx/imx-sm で lf-6.18.20-2.0.0-5-g3198944 SM設定 カスタム(SMCT/.mex生成)、 ない mx95evk M33/SMステータス 完全に動作します M7ステータス 完全に動作 — SCMI、TRDCパーティショニング、STOP/SUSPEND/ディープアイドル、I2C、イーサネットMDIOはすべて機能しています A55 (LM1) 説明どおりに失敗する テストされたブートメディア SD そして eMMC(同一の結果) 兆候 A55はM7からオンデマンドでブートされます SCMI_LmmBoot() (手動でも再現可能) LM1ブート (SMデバッグモニターより)。 SCMI呼び出し自体は成功しました。 ステータス = 0 LM1はその後報告する SCMI_LMM_STATE_SUSPEND (状態=2) 執行が停滞 SRC_MixSoftPowerUp() 待機中 SRC_MixPowerUpCompleted(PWR_MIX_SLICE_IDX_A55P) FUNC_STAT 400万回以上の投票反復の間、凍結されたままです。 制限が解除されると、SMのWDOG2監視ウォッチドッグがFCCUリセット(errId = 18)を実行し、M7を含むシステム全体がダウンします。 証拠を登録する SRC_XSPR_CORTEXMIX_PLATFORM (ミックスインデックス11) FUNC_STAT 凍結 0x00001010 または 0x00001011 入国時の状態によって異なります。 7 つのステータス フィールドを解読 PWR_MIX_FUNC_STAT_PUP/PDN: 観測されたフィールド状態 PSW_STAT 「アップ」パターン SSAR_STAT 「アップ」パターン A55_HDSK_STAT 「アップ」パターン SYSMAN_STAT 「アップ」パターン RST_STAT 「電源オフ」パターン ISO_STAT 「電源オフ」パターン MEM_STAT 「電源オフ」パターン これは、完全に電源が入った状態でも、完全に電源が切れた状態でも一致しない、矛盾した状態であり、進行しません。 ハードウェア測定 スコープが取り付けられました VDD_ARM (出力キャップC211–C215、インダクタL7の後、DCDCの離散PPF5301下流に設置され、このボードには専用ARMレールが搭載されています。その間 LM1ブート 試み: 鉄道はすでに稼働しています 約0.92V 試み それ 目に見えて低下する 試み つまり、これは単なる権限やタイミング、ソフトウェアのアーティファクトではなく、物理的に観察可能な不完全な電力移行です。 最も有益な単一データポイント A55Pミックスに対して電源オフと電源オンのサイクル全体を無条件に強制する( MEM_STAT == 0 ゲート — つまり SLICE_SW_CTRL |= PDN_SOFT、待機 電源オフ完了、 SLICE_SW_CTRL &= ~PDN_SOFT、待機 PowerUpCompleted) は、 明示的な電源オフ要求さえも完了しない。 FUNC_STAT 待機中ずっと変化しない。 これは、問題がSRCレジスタインターフェースの下にあることを示唆しており、例えばGPCハンドシェイクの前提条件、SRCブロック自体へのクロックの欠如、ボードやPMICの応答問題などがあり、 SRC_MixSoftPowerUp()自身のシーケンスロジックで修正可能な問題ではないことを示唆しています。 既に調査済みで、証拠に基づき除外済み PERF_A55 口論 (3 → 0、ODV → PRK 電圧レベル) — どちらの値でもバイトが同一で障害が発生します。DVS/電圧レベルの不一致は除外されます。 config_bctrl.h (SM_BCTRL_A_CONFIG) / SM_BCTRL_W_CONFIG) — 私の設定では空でした。 mx95evkの値は何も変更されませんでした。それから私はライブレジスターを読みました 稼働中の工場システム SMモニター経由(BLK_CTRL_NS_AONMIX) 0x44210008–0x44210024、 BLK_CTRL_WAKEUPMIX 0x42420030–0x42420064) — すべての言葉が一致しました mx95evk 正確に参照してください。 SM_A55P_CONFIG、 config_user.h、TRDC SRC/GPC/ANATOP の許可、WDOG2 タイムアウト — 全て同一であることが確認されました mx95evk は、ブロッカーではないことが確認されています。(SM自身のDOM2 TRDCアクセスはこれらのレジスタに実際に動作しており、レジスタ値の変更を読み書きできます。)注記 SM_A55P_CONFIG そして SM_DDR_CONFIG 空です mx95evk 自身の設定ファイルも。 SRC_MixIsPwrReady() guard — 正しい論理ですが、ここでは正当にfalse(混合ビット状態)を返すため、動作は変わりません。 無条件 SRC_MixSetA55HdskMode(..., ACK_WAIT) — 効果なし。 A55_HDSK_STAT 最初から最後まで正しい「上向き」のパターンだった。 より新しいSMファームウェア — ピン留めされた SRCREV を walnascar → whinlatter スパンにわたって差分化しました: 変更なし に デバイス/MIMX9/ (含む fsl_src.c、 dev_sm_cpu.c、 dev_sm_power.c) uboot-imx 違い — リリースごとに実際の違いは存在するが、どれも PD_A55P/SRC_XSPR/A55 の電源投入。これは構造的にも真実です。U-Boot SPL は A55号線で、つまりこのパワーアップが既に成功した後にのみ有効です。 ERR053228アナログ(MTR_ACK_CTRL) — i.MX95には、ミックスごとの MTR_ACK_CTRL/MTR_ACK_STAT ハンドセイク(オフセット0x90/0x94)があり、そのリセットデフォルト(CNT_MODE = 0)はハードウェアMTRのアクセントを無期限に待ち、これはスティック MEM_STATに十分にマッチしているように見えました。私が書いた CNT_MODE = 3 (タイムアウトモード)最大 MTR_CNT_CFG 電源投入遷移前に書き込みが有効になることをリードバックで確認しました(いいえ LOCK_CFG 干渉)。 変更なし。 実際の工場APバイナリ — 抽出済み bl31.bin / tee.bin / u-boot* このボードの既知の正常な工場eMMCイメージからそれらを構築し、 flash.bin 変更なし (U-Bootの最初の命令の前に停止が発生するため、これは想定内の動作である。) ヒューズ/OTP — 除外: ヒューズはダイごとに一度焼却され、工場出荷時のイメージと私のイメージは 同じ物理的な基板。 ブーツミディアム SDカードとeMMCの両方をテストした結果、同一であった。 ファクトリーSMバイナリの由来 これは特に強調しておきたい点です。なぜなら、「NXPは別のSMビルドを出荷している可能性がある」という可能性を排除できるからです。工場出荷時の eMMC の M33 イメージ (ROM コンテナ 3、イメージ 3、 CORE_CM33、コンテナ相対オフセット 0x79000、サイズ 0x2C800) を使用 mkimage_imx8 -soc IMX9 -parse を実行し、抽出を検証しました。 コンテナ自身の記録されたハッシュとの完全なSHA384一致。その建築バナーにはこう書かれている。   SMからのメッセージです(ビルド819、コミットc450f539、2026年3月9日 03:24:50)   c450f539 は (git merge-base --is-ancestor) であることが確認されています。 私のビルドの直接の祖先であり、唯一の介入コミットは fsl_src.c/dev_sm_cpu.c/dev_sm_power.c これは、機能的な変更を一切伴わない、純粋なテスト用足場のクリーンアップです。 A55を正常に起動させる工場出荷時イメージは、私の場合失敗したSMソースと同じ機能的に動作しています。 質問 工場出荷時イメージが機能的に同一のSMソースでA55を起動するのを踏まえると、 outside imx-sm sourceとBCTRLレジスタ構成の違いは何でしょうか?A55Pミックスの電源アップを妨げる可能性があるのです。具体的には、AHAB/ELEコンテナ署名やプロビジョニングのメタデータがA55プラットフォームの電源供給に影響するのでしょうか? 観測された FUNC_STAT パターン (PSW/SSAR/A55_HDSK/SYSMAN) 上、 RST/ISO/MEM (前進ではなく下降)既知の署名?その状態から次にどのような変化が起こると予想されるのか、そしてその変化を促す要因は何なのか? なぜ明示的な電源オフ リクエストも完了しないのですか? それが最も有力な手がかりのようだ。 SRC_XSPR 応答する SLICE_SW_CTRL.PDN_SOFT このミックスには全く関係ない? ERR053228以外に、A55Pミックス電源シーケンスに影響を与える既知のi.MX95 B0のエラーはありますか? A55プラットフォームのミックスに対して、reference mx95evk flowには存在しつつ、生成された config_*.hでは表現 されていない初期化が必要ですか  ファイル ― つまり、カスタム SMCT ベースの設定では暗黙のうちに省略されるもの? 備考 PROボードにはJTAGが搭載されていない(ヘッダーがない)ため、15x15ボード上の脆弱な0.5mmテストパッドは使用しないことにしました。 上記の診断はすべてSM独自のデバッグモニター(lm info、 えーっと、 btime、 MD)、直接レジスタ読み取り、およびスコープ測定。 私はコンテインメント修正を導入しています(元の無制限の待機が有界待ちを置き換えます その間(!SRC_MixPowerUpCompleted()) {;} ループ)を導入し、障害がスムーズに LM1 = 停止 に劣化するようにしています。ウォッチドッグのようにシステム全体をリセットするのではなく。もしお役に立つようでしたら、別途お教えいたします。 Re: i.MX95: A55 never completes power-up or power-down — stalls identically on two different boards 上記の投稿は無視して、チケットを閉じてください。先ほどwrynoseを使って新規ビルドをしてみましたが、うまくいきました!以前のビルドではwhinlatterを使用していましたが(FRDM-IMX95に同梱されていたため選択しました)、うまくいきませんでした。
View full article
i.MX93 parallel diaply interface Hi, I am designing a board with i.MX93 (MIMX9332CVVXMAC) that has to drive a RGB display with parallel interface. From config tool the data bit are lebelled data0-23 without reference to R,G,B channel. I have also looked at evb FRDM and TM050RDH03-41, unfortunately on FRDM the data are as in config tool and the schematic of TM050RDH03-41 is not provided. Is it possible to have such schematic for confirmig the pinout? Or can you confirm me that the 24 bits can be muxed between channels R G and B freely? Thank you, Enrico Re: i.MX93 parallel diaply interface Hi, Thank you for your interest in NXP Semiconductor products, Please see the TM050RDH03-41 display connector schematic, if you are interested in the full schematic, please create a technical case. JosephAtNXP_0-1789574219944.pngJosephAtNXP_0-1789574219944.png Regards
View full article
有人用TapLinx吗? 有人使用 NXP 的 TapLinx SDK 与 MIFARE 卡进行交互吗? 我对一些最简单的控制台应用程序示例很感兴趣。这个示例应用程序有点难用,因为它是一个带有大量功能的图形用户界面应用程序。 我想找一些功能最简化的控制台应用程序,它们只需要对卡进行读写操作、身份验证等。 如果是 Kotlin 示例就更好了,但 Java 示例也可以。 入门指南 Re: Anyone using TapLinx? 你好@reid88 TapLinx SDK 支持 MIFARE DESFire、Plus、Classic、Ultralight、NTAG 等。您可以通过以下方式查看设计资源: TapLinx SDK for MIFARE, NTAG, ICODE and UCODE | NXP 半导体
View full article
i.MX95: A55 never completes power-up or power-down — stalls identically on two different boards Summary On a custom System Manager configuration for i.MX95, booting the A55 logical machine (LM1) hangs inside the shared driver function SRC_MixSoftPowerUp() (devices/MIMX9/drivers/fsl_src.c) for srcMixIdx = PWR_MIX_SLICE_IDX_A55P (index 11). SRC_MixPowerUpCompleted() never returns true, FUNC_STAT freezes in a mixed/inconsistent state, and SM's own WDOG2 eventually fires an FCCU reset. Critically, when the sequence is forced to do a full power-down-then-up cycle, the power-down request never completes either — the hardware does not respond to software power control for this mix in either direction. The same firmware stalls identically on two physically different boards (FRDM-IMX95 15x15/LPDDR4x and FRDM-IMX95-PRO 19x19/LPDDR5), while both boards' factory-shipped eMMC images boot to a full Linux userspace, so the silicon and boards themselves are demonstrably capable. I have been able to rule out a large number of candidate causes with concrete evidence (listed below) and would appreciate guidance on what remains. Environment Item Value SoC i.MX95 (B0) Boards FRDM-IMX95 (15x15, LPDDR4x) and FRDM-IMX95-PRO (19x19, LPDDR5) System Manager nxp-imx/imx-sm at lf-6.18.20-2.0.0-5-g3198944 SM config Custom (SMCT/.mex-generated), not mx95evk M33/SM status Fully working M7 status Fully working — SCMI, TRDC partitioning, STOP/SUSPEND/deep-idle, I2C, Ethernet MDIO all functional A55 (LM1) Fails as described Boot media tested SD and eMMC (identical results) Symptom A55 is booted on demand from M7 via SCMI_LmmBoot() (also reproducible manually with lm LM1 boot from the SM debug monitor). The SCMI call itself succeeds: status = 0 LM1 then reports SCMI_LMM_STATE_SUSPEND (state = 2) Execution stalls in SRC_MixSoftPowerUp() waiting on SRC_MixPowerUpCompleted(PWR_MIX_SLICE_IDX_A55P) FUNC_STAT remains frozen for 4,000,000+ poll iterations Left unbounded, SM's WDOG2 supervisory watchdog fires an FCCU reset (errId = 18), taking down the whole system including M7 Register evidence SRC_XSPR_CORTEXMIX_PLATFORM (mix index 11) FUNC_STAT freezes at 0x00001010 or 0x00001011 depending on entry state. Decoding the seven status fields in PWR_MIX_FUNC_STAT_PUP/PDN: Field Observed state PSW_STAT "up" pattern SSAR_STAT "up" pattern A55_HDSK_STAT "up" pattern SYSMAN_STAT "up" pattern RST_STAT "powered-down" pattern ISO_STAT "powered-down" pattern MEM_STAT "powered-down" pattern This is an inconsistent state that matches neither a fully-powered-up nor a fully-powered-down condition, and it does not advance. Hardware measurement A scope was placed on VDD_ARM (output caps C211–C215, after inductor L7, downstream of the discrete PPF5301 DCDC — this board has a genuine dedicated ARM rail). During an lm LM1 boot attempt: The rail is already live at ~0.92 V before the attempt It visibly drops during the attempt So this is a real, physically observable incomplete power transition, not purely a permissions/timing/software artifact. Most informative single data point Forcing the entire power-down-then-up cycle unconditionally for the A55P mix (bypassing the MEM_STAT == 0 gate — i.e. SLICE_SW_CTRL |= PDN_SOFT, wait PowerDownCompleted, SLICE_SW_CTRL &= ~PDN_SOFT, wait PowerUpCompleted) shows that even the explicit power-down request never completes. FUNC_STAT is unchanged for the entire wait. This suggests the problem sits below the SRC register interface — e.g. a GPC handshake precondition, a missing clock to the SRC block itself, or a board/PMIC response issue — rather than anything correctable in SRC_MixSoftPowerUp()'s own sequencing logic. Already investigated and ruled out (with evidence) PERF_A55 argument (3 → 0, ODV → PRK voltage level) — byte-identical failure at either value. Rules out a DVS/voltage-level mismatch. config_bctrl.h (SM_BCTRL_A_CONFIG / SM_BCTRL_W_CONFIG) — was empty in my config; populating it with mx95evk's values changed nothing. I then read the live registers on the working factory system via the SM monitor (BLK_CTRL_NS_AONMIX 0x44210008–0x44210024, BLK_CTRL_WAKEUPMIX 0x42420030–0x42420064) — every word matched the mx95evk reference exactly. SM_A55P_CONFIG, config_user.h, TRDC SRC/GPC/ANATOP grants, WDOG2 timeout — all confirmed identical to mx95evk, or confirmed not to be the blocker. (SM's own DOM2 TRDC access to these registers demonstrably works — I can read and write changing register values.) Note SM_A55P_CONFIG and SM_DDR_CONFIG are empty in mx95evk's own config too. SRC_MixIsPwrReady() guard — correct logic, but it legitimately returns false here (mixed bit state), so it never changes behaviour. Unconditional SRC_MixSetA55HdskMode(..., ACK_WAIT) — zero effect; A55_HDSK_STAT was already in the correct "up" pattern throughout. Newer SM firmware — diffed the pinned SRCREVs across the walnascar → whinlatter span: zero changes to devices/MIMX9/ (including fsl_src.c, dev_sm_cpu.c, dev_sm_power.c). uboot-imx differences — real differences exist across releases, but none touch PD_A55P/SRC_XSPR/A55 power-up. This is also true by construction: U-Boot SPL runs on A55, i.e. only after this power-up has already succeeded. ERR053228 analog (MTR_ACK_CTRL) — i.MX95 has a per-mix MTR_ACK_CTRL/MTR_ACK_STAT handshake (offset 0x90/0x94) whose reset default (CNT_MODE = 0) waits indefinitely for a hardware MTR ack, which looked like a plausible match for the stuck MEM_STAT. I wrote CNT_MODE = 3 (timeout mode) with max MTR_CNT_CFG before the power-up transition and confirmed via readback that the write takes effect (no LOCK_CFG interference). No change. Real factory AP binaries — extracted bl31.bin / tee.bin / u-boot* from this board's own known-good factory eMMC image and built them into my flash.bin. No change (expected, since the stall precedes U-Boot's first instruction). Fuses/OTP — ruled out: fuses are burned once per die, and the factory image and my image run on the same physical board. Boot medium — SD and eMMC both tested, identical. Factory SM binary provenance — this one I want to highlight, because it closes off "maybe NXP ships a different SM build". I extracted the factory eMMC's own M33 image (ROM container 3, image 3, CORE_CM33, container-relative offset 0x79000, size 0x2C800) using mkimage_imx8 -soc IMX9 -parse, and verified the extraction by exact SHA384 match against the container's own recorded hash. Its build banner reads:   Hello from SM (Build 819, Commit c450f539, Mar 09 2026 03:24:50)   c450f539 is confirmed (git merge-base --is-ancestor) to be a direct ancestor of my own build, and the only intervening commit touching fsl_src.c/dev_sm_cpu.c/dev_sm_power.c is pure test-scaffolding cleanup with no functional change. So the factory image that successfully boots A55 is running functionally the same SM source that fails for me. Questions Given that the factory image boots A55 with functionally identical SM source, what differs outside imx-sm source and the BCTRL register configuration that could gate A55P mix power-up? Specifically, is there AHAB/ELE container signing or provisioning metadata that affects whether the A55 platform mix can be powered up? Is the observed FUNC_STAT pattern (PSW/SSAR/A55_HDSK/SYSMAN up, RST/ISO/MEM down, not advancing) a known signature? What is the expected next transition from that state, and what drives it? Why would the explicit power-down request also never complete? That seems the strongest clue — what preconditions must hold for SRC_XSPR to respond to SLICE_SW_CTRL.PDN_SOFT at all for this mix? Is there a known i.MX95 B0 erratum affecting A55P mix power sequencing beyond ERR053228? Is there any required initialisation for the A55 platform mix that is present in the reference mx95evk flow but not expressed in the generated config_*.h files — i.e. something a custom SMCT-based config would silently omit? Notes JTAG is not available on the PRO board (no header), and I have chosen not to use the fragile 0.5 mm test pads on the 15x15 board. All diagnosis above was done via SM's own debug monitor (lm info, err, btime, md), direct register reads, and scope measurement. I have a containment fix in place (bounded waits replacing the original unbounded while (!SRC_MixPowerUpCompleted()) {;} loops) so that the failure now degrades gracefully to LM1 = suspended instead of watchdog-resetting the entire system. Happy to share that separately if useful. Re: i.MX95: A55 never completes power-up or power-down — stalls identically on two different boards Please disregard the post above and close the ticket... I just did a fresh build with wrynose and it works! My previous builds were with whinlatter (selected because that's what the FRDM-IMX95 shipped with), but that didn't work.
View full article
Intermittent I2C read failure at boot with PCF85263A using hwclock (400kHz vs 100kHz) Hello NXP Community, Our custom board (using the PCF85263A RTC and AM6252) reads the RTC time exactly once during the initial boot sequence using the following command: hwclock -u -s We are experiencing an intermittent issue where it fails to fetch the RTC value approximately 1 out of 1,000 times. (However, if it fails and we immediately retry the read command, it successfully fetches the time without any issues.) During our troubleshooting, we lowered the I2C clock frequency from 400kHz to 100kHz (400000 -> 100000) under the exact same conditions. After this change, we conducted nearly 6,000 test iterations and the system operated perfectly without a single failure. According to the PCF85263A datasheet, it supports a maximum I2C-bus frequency of 400kHz (Fast-mode). Could you please advise: Are there any known issues, errata, or similar historical reports regarding this intermittent I2C read failure with the PCF85263A at 400kHz? Are there any specific configurations, bus capacitance/pull-up resistor considerations, or debugging steps you would recommend to resolve this while maintaining the 400kHz clock? Thank you in advance for your support. Re: Intermittent I2C read failure at boot with PCF85263A using hwclock (400kHz vs 100kHz) Hello Iseori, There are no known errata or documented hardware issues with the PCF85263A itself at 400 kHz I²C operation. The part is specified and production-tested up to 400 kHz, and the behavior you describe is a classic symptom of marginal timing compliance on the host controller or bus side rather than a defect in the PCF85263A. Recommended debugging steps: - Scope the I²C bus at 400 kHz and capture SCL/SDA waveforms. Verify that Tlow ≥ 1.3 µs, Thigh ≥ 0.6 µs, Tr ≤ 300 ns, and Tf ≤ 300 ns during the RTC read transaction. Compare against the timing requirements in Table 68 of the PCF85263A datasheet. - Check AM6252 errata for any known I²C 400 kHz SCL low-period violation. If present, reduce the I²C clock to 375–384 kHz, which typically restores full margin while remaining near 400 kHz in practice. - Review pull-up resistor values in your schematic. If they are higher than ~2.2 kΩ, replace with 1 kΩ–2.2 kΩ and re-test at 400 kHz. - Verify single-access reads: The PCF85263A requires that all time registers be read in a single I²C access to prevent roll-over corruption.  BRs, Tomas
View full article
i.mx8mp GPU and GTK4 app: GUI/window present delay and blocking Vivante /dev/galcore ioctl GTK4 Window Startup Delay (~10s) on i.MX8MP with Vivante GPU When using the default GTK4 GL renderer: gtk_window_present(window);​ takes approximately 9-10 seconds before the window becomes visible. The evidence (see attached file) strongly suggests that the startup delay is not caused by GTK application code. The delay appears correlated with a blocking Vivante /dev/galcore ioctl within the GL rendering path. Software rendering (GSK_RENDERER=cairo) avoids the issue. We are looking for guidance on known issues, debugging methods, configuration changes, or fixes for GTK4/OpenGL startup latency on i.MX8MP with the Vivante GPU stack. Re: i.mx8mp GPU and GTK4 app: GUI/window present delay and blocking Vivante /dev/galcore ioctl Hi @jim777  Thank you for sharing such detailed information. Could you provide a minimal, reproducible GTK4 source code example? I need to conduct further testing in the NXP BSP. Best Regards, Zhiming Re: i.mx8mp GPU and GTK4 app: GUI/window present delay and blocking Vivante /dev/galcore ioctl Hi Zhiming, Thanks for your quick response! Attached is a small skeleton but complete source file to test. and the environment variables set before running: #!/bin/sh export XDG_RUNTIME_DIR=/run/user/0 export WAYLAND_DISPLAY=wayland-1 export GDK_BACKEND=wayland export GSK_RENDERER=gl  the relevant from weston.ini: root@nitrogen8mp:~# cat /etc/xdg/weston/weston.ini [core] #gbm-format=argb8888 use-g2d=true repaint-window=16 idle-time=0 xwayland=true #enable-overlay-view=1 [shell] panel-position=none [libinput] touchscreen_calibrator=true #[output] #name=HDMI-A-1 #mode=1920x1080@60 #transform=rotate-90 #[output] #name=HDMI-A-2 #mode=off # WIDTHxHEIGHT Resolution size width and height in pixels # off Disables the output # preferred Uses the preferred mode # current Uses the current crt controller mode #transform=rotate-90 [screen-share] command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize #start-on-startup=true [input-method] path=/usr/libexec/ibus-wayland the running time for the gtk_window_present on a desktop w/o GPU support takes some hundreds msec (< 1sec); and on the i.mx8mp device takes 9970 ms : root@nitrogen8mp:~# gtk4-test A: activate: before _present: 47333 ms B: activate: after _present: 57303 ms, takes: 9970 ms C: activate: after idele_add: 57303 ms D: startup_task_cb: 57315 ms ^C root@nitrogen8mp:~# I have tried render: ngl, which leads to smear image/widgetrs/video, and Vulkan leads to critical errors: Loader Message: vkCreateDevice: Failed to validate extensions in list; Failed to realize renderer of type ‘GskVulkanRenderer’ for surface ‘GdkWaylandToplevel’: Could not find a Vulkan device with the required features. Since out app need GPU support, and the recommended renderer under wayland/weston is still gl (UG10159  11.3.2.1 GL renderer)   , I hope you can help to find a solution. Best regards, Re: i.mx8mp GPU and GTK4 app: GUI/window present delay and blocking Vivante /dev/galcore ioctl Hi @Zhiming_Liu  Besides what shared already, is there anything I can help to resolve the issue? If there is any way to make it work - significantly reduce the startup time, such as configuration changes, env variable settings, different versions, or fixes/patches to the GPU driver, please let me know. Thanks, Re: i.mx8mp GPU and GTK4 app: GUI/window present delay and blocking Vivante /dev/galcore ioctl Hi @jim777  The GPU team is checking this issue, this will take a little while. I'll let you know as soon as there's an update. Best Regards, Zhiming
View full article
使用硬件时钟(400kHz 对比 100kHz)的 PCF85263A 在启动时出现间歇性 I2C 读取失败 NXP社区的各位朋友,大家好! 我们的定制板(使用 PCF85263A RTC 和 AM6252)在初始启动序列期间使用以下命令读取一次 RTC 时间: hwclock -u -s 我们遇到了一个间歇性问题,大约每 1000 次操作中会有 1 次无法获取 RTC 值。 (但是,如果读取失败,我们立即重试READ命令,则可以成功获取时间,没有任何问题。) 在故障排除过程中,我们在完全相同的条件下将 I2C 时钟频率从 400kHz 降低到 100kHz (400000 -> 100000)。经过这一改变,我们进行了近 6000 次测试迭代,系统运行完美,没有出现任何故障。 根据 PCF85263A 数据手册,它支持的最大 I2C 总线频率为 400kHz(快速模式)。 请问您能否提供以下建议: 关于 PCF85263A 在 400kHz 频率下间歇性 I2C 读取失败的问题,是否有任何已知的错误、勘误或类似的历史报告? 在保持 400kHz 时钟频率的同时解决此问题,您有什么具体的配置、总线电容/上拉电阻方面的考虑因素或调试步骤可以推荐吗? 感谢您提前给予的支持。 Re: Intermittent I2C read failure at boot with PCF85263A using hwclock (400kHz vs 100kHz) 你好,伊势里 PCF85263A 本身在 400 kHz I²C 操作下没有已知的错误或已记录的硬件问题。该器件的规格和生产测试均达到 400 kHz,您所描述的行为是主机控制器或总线侧时序一致性不足的典型症状,而不是 PCF85263A 的缺陷。 建议的调试步骤: - 以 400 kHz 的频率示波 I²C 总线,并捕获 SCL/SDA 波形。在 RTC 读取事务期间,验证 Tlow ≥ 1.3 µs、Thigh ≥ 0.6 µs、Tr ≤ 300 ns 和 Tf ≤ 300 ns。与 PCF85263A 数据手册表 68 中的时序要求进行比较。 - 检查 AM6252 勘误表,查看是否存在已知的 I²C 400 kHz SCL 低电平期间违例。如果存在,请将 I²C 时钟频率降低到 375–384 kHz,这样通常可以恢复全部裕量,同时在实践中保持在接近 400 kHz 的频率。 - 检查原理图中上拉电阻的值。如果阻值高于约 2.2 kΩ,则替换为 1 kΩ–2.2kΩ,并在 400 kHz 下重新测试。 - 验证单次读取:PCF85263A 要求所有时间寄存器必须在一次 I²C 访问中读取完毕,以防止数据溢出损坏。 BRs,托马斯
View full article
i.mx8mp GPU 和 GTK4 应用程序:GUI/窗口呈现延迟和阻塞 Vivante /dev/galcore ioctl 在配备 Vivante GPU 的 i.MX8MP 上,GTK4 窗口启动延迟约为 10 秒。 使用默认的 GTK4 GL 渲染器时: gtk_window_present(window);​ 大约需要9-10 秒才能看到窗口。 证据(见附件)强烈表明,启动延迟并非由 GTK 应用程序代码引起。 延迟似乎与 GL 渲染路径中的 Vivante /dev/galcore ioctl 阻塞有关。软件渲染(GSK_RENDERER=cairo)可以避免这个问题。 我们正在寻找有关 i.MX8MP 搭载 Vivante GPU 堆栈时 GTK4/OpenGL 启动延迟的已知问题、调试方法、配置更改或修复方案的指导。 Re: i.mx8mp GPU and GTK4 app: GUI/window present delay and blocking Vivante /dev/galcore ioctl 嗨@jim777 感谢您分享如此详细的信息。能否提供一个最小的、可复现的 GTK4 源代码示例?我需要对 NXP BSP 进行进一步测试。 此致, 志明 Re: i.mx8mp GPU and GTK4 app: GUI/window present delay and blocking Vivante /dev/galcore ioctl 嗨志明, 感谢您的快速回复! 附件是一个小型但完整的源文件框架,供测试使用。 以及运行前设置的环境变量: #!/bin/sh export XDG_RUNTIME_DIR=/run/user/0 export WAYLAND_DISPLAY=wayland-1 export GDK_BACKEND=wayland export GSK_RENDERER=gl 来自 weston.ini 的相关内容: root@nitrogen8mp:~# cat /etc/xdg/weston/weston.ini [core] #gbm-format=argb8888 use-g2d=true repaint-window=16 idle-time=0 xwayland=true #enable-overlay-view=1 [shell] panel-position=none [libinput] touchscreen_calibrator=true #[output] #name=HDMI-A-1 #mode=1920x1080@60 #transform=rotate-90 #[output] #name=HDMI-A-2 #mode=off # WIDTHxHEIGHT Resolution size width and height in pixels # off Disables the output # preferred Uses the preferred mode # current Uses the current crt controller mode #transform=rotate-90 [screen-share] command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize #start-on-startup=true [input-method] path=/usr/libexec/ibus-wayland 在没有GPU支持的台式机上,gtk_window_present的运行时间需要几百毫秒(< 1秒);而在i.mx8mp设备上,则需要9970毫秒: root@nitrogen8mp:~# gtk4-test A: activate: before _present: 47333 ms B: activate: after _present: 57303 ms, takes: 9970 ms C: activate: after idele_add: 57303 ms D: startup_task_cb: 57315 ms ^C root@nitrogen8mp:~# 我尝试过 render: ngl,但会导致图像/控件/视频模糊;而Vulkan 会导致严重错误:加载器消息:vkCreateDevice:验证列表中的扩展失败;无法为表面“GdkWaylandToplevel”实现类型为“GskVulkanRenderer”的渲染器:找不到具有所需功能的 Vulkan 设备。 由于我们的应用程序需要 GPU 支持,而 Wayland/Weston 下推荐的渲染器仍然是 GL(UG10159 11.3.2.1 GL 渲染器),希望您能帮忙找到解决方案。 此致, Re: i.mx8mp GPU and GTK4 app: GUI/window present delay and blocking Vivante /dev/galcore ioctl 嗨@Zhiming_Liu 除了已经分享的信息之外,还有什么我可以帮忙解决这个问题的吗? 如果有什么方法可以显著缩短启动时间,例如更改配置、设置环境变量、使用不同的版本,或者修复/修补 GPU 驱动程序,请告诉我。 谢谢, Re: i.mx8mp GPU and GTK4 app: GUI/window present delay and blocking Vivante /dev/galcore ioctl 嗨@jim777 GPU团队正在调查此问题,这需要一些时间。有最新消息我会第一时间通知你。 此致, 志明
View full article