Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
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
MCU P89C52X2BNフラッシュするにはどうすればいいですか? こんにちは、皆さん。 P89C52X2BNとP89C52RD2という2つの古いMCUをプログラムする必要があります。 P89C52RD2については、シリアル経由でISPをサポートしていると理解しています。しかし、ISP/IAPプロトコルをアクティブ化する方法はまだわかっていません。 P89C52X2BNの場合、どのようにファームウェアを書き換えればよいですか?並列プログラマが必要ですか?必要であれば、どのようなプロトコルを使用し、フラッシュモードをアクティブ化すればよいでしょうか? 主にこれら2つのチップ(特に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? このANNはP89C5xRx2に使えますが、P89C5xX2が欠けています。このANは正しいタイプのドキュメントですが、P89C5xX2が欠けているだけです。ありがとう!
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=カイロ)はこの問題を回避します。 Vivante GPUスタックを用いたi.MX8MPでの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
PCF85263Aをハードウェアクロック(400kHz vs 100kHz)で使用した場合、起動時にI2C読み取りエラーが断続的に発生する。 こんにちは、NXPコミュニティの皆さん、 当社独自のボード(PCF85263A RTCとAM6252を使用)は、初期起動シーケンス中に以下のコマンドを使用してRTC時刻を一度だけ読み取ります。 hwclock -u -s 約1,000回に1回の割合で、RTC値の取得に失敗するという断続的な問題が発生しています。 (ただし、もし失敗してすぐに読み取りコマンドを再試行した場合、問題なく時刻を取得できます。) トラブルシューティングの過程で、全く同じ条件下でI2Cクロック周波数を400kHzから100kHz(400000→100000)に下げました。この変更後、約6,000回のテストを繰り返し実施しましたが、システムは一度も故障することなく完璧に動作しました。 PCF85263Aのデータシートによると、最大I2Cバス周波数400kHz(ファストモード)をサポートしています。 何かアドバイスをいただけますか: PCF85263Aを400kHzで使用した場合に発生する、この断続的なI2C読み取りエラーに関して、既知の問題、エラー、または同様の過去の報告はありますか? 400kHzクロックを維持しつつ解決するために、特定の構成やバスの静電容量/プルアップ抵抗の考慮点、またはデバッグの手順があれば教えてください。 あらかじめサポートに感謝いたします。 Re: Intermittent I2C read failure at boot with PCF85263A using hwclock (400kHz vs 100kHz) こんにちは、伊勢織さん。 PCF85263A自体には、400kHzのI²C動作において、既知の不具合や文書化されたハードウェアの問題はありません。この部品は400kHzまで仕様・生産テストされており、あなたが述べた挙動は、PCF85263Aの欠陥というよりも、ホストコントローラやバス側のタイミング準拠が限界的であることの典型的な症状です。 推奨されるデバッグ手順: - I²Cバスを400kHzでオシロスコープし、SCL/SDA波形をキャプチャします。RTC読み出しトランザクション中に、Tlow ≥ 1.3 µs、Thigh ≥ 0.6 µs、Tr ≤ 300 ns、および Tf ≤ 300 ns であることを確認してください。PCF85263Aのデータシートの表68に記載されているタイミング要件と比較してください。 - AM6252の正誤表を確認し、既知のI²C 400kHz SCL低周期違反がないか確認してください。I²Cクロックが存在する場合は、クロック周波数を375~384kHzに下げてください。これにより、通常は十分なマージンが回復し、実際には400kHz付近を維持できます。 回路図中のプルアップ抵抗の値を確認してください。抵抗値が約2.2 kΩより高い場合は、1 kΩ–2.2 に置き換えてください。kΩで測定し、400kHzで再測定する。 - シングルアクセス読み取りの検証:PCF85263Aはロールオーバー破損を防ぐために、すべてのタイムレジスタを単一のI²Cアクセスで読み取ることを要求しています。 BRs、トーマス
View full article
i.MX93 パラレルダイアプリインターフェース こんにちは、 私はi.MX93(MIMX9332CVVXMAC)を搭載した基板を設計しており、並列インターフェースを持つRGBディスプレイを駆動する必要があります。設定ツールからは、R,G,Bチャネルを参照せずにデータ0-23のlebelledデータビットが割り当てられています。evb FRDMとTM050RDH03-41も調べてみましたが、残念ながらFRDMのデータは設定ツールと同じで、TM050RDH03-41の回路図は提供されていませんでした。 ピン配置を確認するための回路図を入手することは可能でしょうか? それとも、24ビットがR、G、Bのチャネル間で自由にマルチパクシングできるのか確認できますか? ありがとうございました。 エンリコ Re: i.MX93 parallel diaply interface こんにちは、 NXP Semiconductors製品にご関心いただきありがとうございます。 TM050RDH03-41ディスプレイコネクタの回路図をご覧ください。完全な回路図に興味がある場合は、技術CASEを作成してください。 JosephAtNXP_0-1789574219944.pngJosephAtNXP_0-1789574219944.png よろしくお願いします。
View full article
SE052 采用问题:EdDSA/X25519 可用性、非 FIPS 变体路线图、小程序限制 你好, 我们目前使用的是SE050E2 (小程序 7.2.0,在两个设计中,芯片报告为“SE051”(ATR,AppletConfig 0x3F9F),我们正在评估SE052,以用于下一个硬件版本。在做出决定之前,我们阅读了 SE052 数据表(修订版 1.5)、AN14028、AN14277、AN13904、AN12543(修订版 4.5)和 Plug & Trust MW 文档(AN13030 修订版 2.7),但有几点阻碍了我们做出决定。希望您能澄清一下。 我们的两个应用案例: 一个网状/传输节点(LoRa + 以太网),其标识为 X25519 + Ed25519 在 SE 内部生成和使用的密钥对(通过 ECDH) ECDH生成共享密钥 在 ID_ECC_MONT_DH_25519,通过以下方式签名 EdDSASign 和 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 需要 RESERVED_ID_FEATURE (0x7FFF0204),而 RESERVED_ID_FEATURE 是 NXP 拥有的,那么客户是否有任何途径在 SE052F 上启用 Ed25519/X25519(例如,通过 EdgeLock 2GO 进行自定义配置),同时接受失去 FIPS 批准模式?或者说,无论小程序功能位如何,FIPS OS 版本都会阻止这些曲线? FIPS 和 EdDSA。FIPS 186-5 批准 EdDSA。未来是否有计划推出支持 Ed25519 和 X25519 且符合 FIPS 140-3 标准的未来 SE052 小程序/操作系统版本(通过 SEMS Lite 或新的 OEF)? 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 版本有相关计划吗?一行代码还是未来的小程序? SE 内部强化了子密钥派生(标量加法 mod n,BIP32 风格),因此派生的私钥永远不会离开芯片。 secp256k1 上的 Schnorr 签名 (BIP340)。 确定性 ECDSA nonce(RFC 6979)和/或低 S 归一化。 预哈希 Ed25519 (Ed25519ph) 或流式 EdDSA 模式,因此长度超过 IFSC (0xFE) 的消息不依赖于 T=1 链接。 小程序 7.2.22 中的 UserID 行为。在 SE050E2 (7.2.0) 中,我们观察到,TAG_MAX_ATTEMPTS 耗尽的 UserID 对象无法再被删除(即使在 SCP03 平台上,DeleteSecureObject → 6986),并且尝试计数器属性始终显示为 0。AN14028 表 1 指出,属性现在显示最大尝试次数。2022年7月2日:(a)是否报告剩余/已用计数器?(b)SCP03 平台用户能否删除已耗尽的 UserID? ECDH NVM 磨损(也适用于我们目前的 SE050E2)。AN12543 §4.10.3 指出,当公钥作为字节数组(TAG_2)传递时,MONT_DH_25519 上的 ECDHGenerateSharedSecret 会在每次调用时写入 NVM,但当通过瞬态ECPublicKey 对象(TAG_3)传递时则不会写入 NVM。您能否确认这同样适用于带有 applet 7.2.0 的 SE050E,并且在调用之间使用 WriteECKey 更新瞬态对象的内容本身不会写入 NVM? 长寿。SE050E2 是否在恩智浦的产品生命周期计划范围内?是否有计划中的产品生命周期结束?这将决定我们下一次修订是否继续使用 SE050E2 版本。 提前谢谢您。 SE050 Re: SE052 adoption questions: EdDSA/X25519 availability, non-FIPS variant roadmap, applet limits 嗨@cvaldess , 感谢您的联系!让我逐一解答。 第一季度 — 非 FIPS SE052 变体路线图 正如您正确指出的那样,SE052F (OEF B501) 目前是唯一发布的 SE052 变体,其 AppletConfig 0x26F2 不包含 EdDSA 或 DH_MONT。我们不能在公共论坛上分享具体的路线图时间表,但我建议您联系当地的 Disti/NXP FAE,在签署保密协议 (NDA) 的情况下讨论您的需求,届时可以直接讨论路线图细节。 Q2 — 在 SE052F 上启用 EdDSA / Montgomery DH SE052F 上没有客户路径可以启用这些算法。 RESERVED_ID_FEATURE (0x7FFF0204) 是 NXP 拥有的对象,客户无法修改或删除它——EdgeLock2GO 不是启用它的机制。更根本的是,SE052F FIPS 140-3 OS 版本在认证配置中排除了操作系统/硬件级别的 Twisted Edwards (Ed25519) 和 Montgomery (Curve25519) 曲线支持。即使通过 SEMS Lite 加载自定义小程序也无法重新启用操作系统层中不存在的曲线——而且这样做无论如何都会使模块不符合 FIPS 标准,正如 AN14277 明确指出的那样。 第三季度——未来 SE052 小程序/OEF 将支持 FIPS 140-3 和 EdDSA。 FIPS 186-5(2023 年 2 月)确实批准了 EdDSA,因此标准基础是存在的。但是,任何在新 FIPS 140-3 证书下支持 Ed25519/X25519 的 SE052 OEF 都需要提交完整的 CMVP 重新认证申请。我们不便在公共场合确认相关计划或时间表。请与您当地的 Disti/NXP FAE 联系,就此问题进行保密协议 (NDA) 谈判。 第四季度 — APDU 吞吐量限制(SW 66A6) 是的,1,000,000 APDU / 34 天计数器和 500,000 APDU 定期自检是 FIPS 140-3 合规性要求,专门针对 SE052F。假设存在非 FIPS SE052 变体,则该变体不受这些限制。 关于 RESET:T=1oI2C 芯片 RESET(RST_N 切换或电源循环)是官方记录的恢复路径。APDU 计数器是会话驻留在 RAM 中的值——冷 RESET 时,如果没有 NVM 写入,它将被清除。Plug & Trust MW 包含一个 apdu_throughput_limit 演示,该演示使用 phNxpEse_reset 精确地演示了这种恢复。对于您的网状/传输节点用例,持续每分钟约 340 个 APDU,此限制在实践中应该不会造成问题,但请确保您的主机驱动程序能够通过自动重置优雅地处理 SW_66A6 。 Q5 — Applet 功能路线图(BIP32、Schnorr、RFC 6979、Ed25519ph) 您列出的特性——片上 BIP32 强化子密钥派生、Schnorr/BIP340、确定性 ECDSA nonce(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 中的 UserID 行为 (a)计数器可读性: GetAttributes 响应返回配置的 TAG_MAX_ATTEMPTS 值(最大值),而不是剩余计数。当前小程序版本中,内部递减计数器并未作为直接可读属性公开。 (b)通过 SCP03 删除已耗尽的用户 ID:您在 7.2.0 版本中观察到的删除锁定用户 ID 时出现的 6986 错误是一个已知的限制。AN13904 没有明确记录在平台 SCP03 删除的背景下,7.2.22 的此行为发生了变化。我建议直接在 SE052F 评估硬件(或运行 7.2.22 的 SE051 样品)上验证这一点。作为一种变通方法,如果锁定的用户 ID 阻止了对象管理,则通过平台 SCP03 上的 RESERVED_ID_FACTORY_RESET 进行恢复出厂设置是已确认的路径——尽管这会清除所有用户对象,因此对象布局规划在这里很重要。 Q7 — ECDH NVM 磨损(SE050E,小程序版本 7.2.0) 确认的。AN12543 明确指出, ECDHGenerateSharedSecret on ID_ECC_MONT_DH_25519 仅当公钥作为字节数组 (TAG_2) 传递时才会导致每次调用写入 NVM。当公钥通过瞬态 ECPublicKey 对象 (TAG_3) 传递时,不会发生 NVM 写入。此行为适用于带有 applet 7.2.0 的 SE050E,因为 SE050E2 使用的是相同的 7.x applet 版本(SE051 芯片和 applet 系列,正如您的 GetInfo ATR 所确认的那样)。 WriteECKey 对瞬态对象进行写入操作时,仅写入 SRAM——在调用之间更新瞬态对象的内容不会造成 NVM 损耗。建议的节点模式是:在启动时分配一个持久的瞬态 ECPublicKey,在每次 ECDH 操作之前调用 WriteECKey (仅限 SRAM),然后调用 ECDHGenerateSharedSecret 并引用该瞬态对象 TAG_3。这样就完全避免了每次通话造成的非易失性存储器损耗。 Q8 — SE050E2 产品寿命 SE050E2于2022年发布。NXP 的产品寿命计划承诺,对于已注册的产品,自上市之日起至少可供货 10 或 15 年。有关 SE050E2 的最终注册状态和使用寿命期限,请查看NXP 产品使用寿命页面(完整表格需要登录)或请您的 NXP FAE 确认。 针对您的两个用例的总体建议 鉴于您的设计依赖于 Ed25519 (EdDSASign) 和 X25519 (MONT_DH_25519 上的 ECDHGenerateSharedSecret), SE052F 目前无法满足您的加密要求。在具有这些算法的 SE052 型号推出之前,SE050E2 / SE051 系列仍然是合适的选择。我们建议您向 NXP FAE 确认 SE050E2 的长期有效状态,并注册对非 FIPS SE052 等效产品的需求。 希望这能帮助您更好地做出决定。如果您还有其他问题,请告诉我。 祝你有美好的一天, 坎 ------------------------------------------------------------------------------- 笔记: - 如果此回复解答了您的问题,请点击“标记为正确答案”按钮。谢谢你! - 我们会持续关注帖子,从最后一条回复发出后持续7周,之后的回复将被忽略。 如果您之后有相关问题,请另开新帖并引用已关闭的帖子。 -------------------------------------------------------------------------------
View full article