Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
LS1028A / Cortex-A72:是否支持软件 L1/L2 缓存 ECC 错误注入? 我需要确认是否可以通过注入来测试 L1/L2 缓存 ECC。   根据 Cortex-A72 TRM 的描述,我了解到: L1D 和 L2 提供 ECC - 错误通过 CPUMERRSR_EL1 / L2MERRSR_EL1 报告 - 我还没有找到任何可以通过软件访问的方法将ECC错误注入到A72 L1D或L2缓存阵列中。   问题: 1) LS1028A(或该部件上的 A72 实现)是否提供了任何可通过软件访问的方式将 ECC 错误注入 L1D/L2? 2) 如果不支持注入,NXP 建议在开机 BIT 上下文中验证 L1/L2 ECC 检测/纠正行为的什么方法? Re: LS1028A / Cortex-A72: Is software L1/L2 cache ECC error injection supported? 你好, Q1:LS1028A / Cortex-A72 是否支持向 L1D/L2 注入软件 ECC 错误? 不——Cortex-A72 不支持对 L1 或 L2 缓存进行软件可访问的 ECC 错误注入。 Q2:NXP推荐的用于L1/L2 ECC上电BIT验证的替代方案 由于 A72 不支持注入,NXP 的立场是,在该内核的软件中直接对 L1/L2 进行 ECC 错误注入测试是不可行的,需要这种级别 BIT 覆盖率的客户应考虑以下方法: 1. 通过 CPUMERRSR_EL1 / L2MERRSR_EL1 验证 ECC 报告路径 2. 如需了解任何未公开的调试钩子,请直接咨询 ARM。 3. 依赖 ARM 的架构验证(设计级保证) 对于功能安全关键型应用,当无法进行注入时,行业标准做法是依赖 Arm 自身的芯片验证和架构保证,即实现 SECDED ECC。LS1028A 数据手册确认了“具有奇偶校验和 ECC 保护的 32 KB L1 指令缓存和 32 KB L1 数据缓存”以及“具有 ECC 保护的 1 MB L2 缓存”。 Arm芯片认证流程涵盖 IP 级别的 ECC 正确性。 4. 考虑迁移到更新的核心以实现完整的 BIT 覆盖 如果软件注入 ECC BIT 是一个硬性要求(例如,为了符合 IEC 61508 / DO-254 标准),NXP 的新型基于 Cortex-A55 的 SoC(例如 i.MX 93)提供了专用的 ECC 错误注入寄存器(例如 CODE_CACHE_TAG0_ECC_ERROR_INJEC 、 SYSTEM_CACHE_DATA0_ECC_ERROR_INJEC ),这些寄存器是专门为验证和调试而设计的。 NXP积极支持A72→A55/A78AE的迁移路径。   此致
記事全体を表示
GoPoint, fail to download models in Multistream yolo launcher, nxp/YOLOv8 missing I have the FRDM i.MX95 + ARA240 M2 16G GT And installed the image version LF_v6.18.20-2.0.0_images_IMX95EVK imx-boot-imx95-15x15-lpddr4x-frdm-sd.bin-flash_all  imx-image-full-imx95evk.wic When starting the gopoint application and trying to download the models in Multistream YOLO configuration following exception is caught: Downloading nxp/YOLOv8 to /usr/share/cnn/... Error downloading model: 404 Client Error. (Request ID: Root=1-6a9ab518-05ebf76418b2dfcc0855cb40;a0fa833c-b8ba-4d7f-8595-0e157e194afd) Repository Not Found for url: https://huggingface.co/api/models/nxp/YOLOv8/revision/r2.0.4. Please make sure you specified the correct `repo_id` and `repo_type`. If you are trying to access a private or gated repo, make sure you are authenticated and your token has the required permissions. For more details, see https://huggingface.co/docs/huggingface_hub/authentication Sample videos are downloaded correctly. Any ideas what to do now? 
記事全体を表示
MIMXRT1176DVMAB : ENET_1G RGMII operating voltages. I would like to know that if there is the performance degradation when operating  ENET_1G  in RGMII mode with 3.3V. Let me know if there is a specific reason to use ethernet PHY connected to ENET_1G at 1.8V. Refer to section 6.9 Power and Ground of  RTL8211FDI-CG, the Ethernet PHY used to capable to run at 3.3/2.5/1.8/1.5V. Re: MIMXRT1176DVMAB : ENET_1G RGMII operating voltages. Hi, It is okay to use i.MX RT1170 ENET 1G RGMII with 1.8V or 3.3V. In AN14251 – i.MX RT1xxx – Ethernet Capabilities and PHY Connection, at Table 25. i.MX RT117x – ENET1G RGMII pads, you can find the MCU pins available for RGMII. Regarding the PHY, please follow the recommendations from the vendor. Best Regards, Pablo
記事全体を表示
i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry poin Background: I am working on HAB signature for i.MXRT106x, using NXP‑MCUBootUtility developed by 痞子衡. When I load my firmware binary into this tool, it reports: **Cannot find valid interrupt vector table address from bootable file header**. After inspecting the binary with hex editor: - The IVT entry point is `0x20209401`, while the image load base address is `0x20208000`, corresponding to file offset `0x1400`. - This code segment is identical to the boot‑related bootdata flow up to offset `0x2000`. - Normally the IVT entry should point to the reset vector address (reference example points to offset `0x2005`). But in my firmware, IVT entry points to offset `0x1400`. I suspect this is the root cause of the tool parsing failure. Further research on CST workflow: I understand the high‑level logic of CST signing: find a free block within the firmware, set the IVT CSF pointer to this location, use standard CSF template, and modify the `[Authenticate Data]` block section to configure the start address and size range for signature verification. My firmware is a complete bootable image containing FCB, IVT, DCD and BootData, and it boots normally on hardware without HAB closure. I configured my CSF block as: Blocks=0x20208000 0x1000 0x126c0 "my_firmware.bin" Also updated certificate paths accordingly. I ran CST v3.00.01 command: cst.exe -i .\input_resign.csf -o sig.bin The CST execution finished without errors and generated `sig.bin`. Comparing the output against original binary, there are exactly 2 changes: 1. CSF pointer field inside IVT at offset `0x1018` is updated. 2. CSF signature data is appended at offset `0x136c0`. When I flash this signed image to hardware: 1. With HAB not closed (SEC_CONFIG not closed), firmware runs perfectly. 2. After burning SRK fuse bits and closing HAB, the firmware fails to boot. I dumped HAB log from memory address `0x2020523c` with length 256 bytes via JTAG, and the log content is shown below: ----------------------------------------------------------------------------------------- | Log Entry | Description ----------------------------------------------------------------------------------------- 0x00010002: BOOTMODE_INTERNAL 0x000200cc: SEC_CONFIG_CLOSED 0x00030001: DIR_BT_DIS_VALUE1 0x00040000: BT_FUSE_SEL_VALUE0 0x00050000: PRIM_IMAGE_SELECT 0x00060008: PRIM_BOOTDEVICE_FLEXSPI_NOR 0x00070000: DEVICE_INIT_CALL 0x000700f0: DEVICE_INIT_PASS 0x00090000: AUTHENTICATION_STATUS **My questions:** 1. Where is the actual HAB event code? According to references, HAB authentication pass/fail should generate explicit event codes. But my log stops at `AUTHENTICATION_STATUS` with no follow‑up event entry. How can I determine whether HAB authentication succeeded or failed? 2. I tried `blhost` tool, but I cannot find any HAB log read command working on i.MXRT1061. Is there another method to read full HAB status? 3. Is my signing workflow valid? My image uses non‑standard IVT entry point (points to offset `0x1400` instead of reset vector offset `0x2005`). Can such an image be properly HAB‑signed with CST? Additional IVT header bytes at offset `0x1000`: D1 00 20 40 01 94 20 20 00 00 00 00 80 90 20 20 20 90 20 20 00 90 20 20 00 00 00 00 00 00 00 00 00 80 20 20 80 99 01 00 00 00 00 00 00 80 20 20 80 99 01 00 52 44 49 52 00 00 00 00 E4 B8 21 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D2 00 08 41 CC 00 04 04 CST tool version: 3.00.01 Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry Hi @eleven , Thank you for the update. First, I think we should confirm whether the first byte of boot.bin is an FCB or an IVT. If it is an FCB, there may still be an alignment issue. In addition, this guide should be helpful during the process of reading and interpreting HAB fault codes: https://community.nxp.com/t5/i-MX-Security/HAB-event-in-a-Closed-i-MX-chip/ta-p/1120239 If you are still unable to pinpoint the root cause of the problem, using MCUBootUtility to generate an HAB signature directly and then running a binary diff might be another way to cross-verify the results. Best regards, Gavin Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry Hi Gavin, Thank you very much for your detailed reply. I think I did not describe my test setup completely in my original post. I have already tried adjusting the Blocks configuration as you suggested. I tested both: Blocks = 0x20208000 0x1000 0x126c0 "my_firmware.bin" and splitting into multiple block entries to authenticate starting from IVT through to the end of firmware: Blocks = 0x20209000 0x0 0x40 "boot.bin",\ 0x20209080 0x80 0xf80 "boot.bin",\ 0x2020a000 0x1000 0x11c00 "boot.bin" My intention was to authenticate starting from the IVT and cover all the way to the end of application code. However, the boot behaviour remained unchanged after these changes. I am using MCUBootUtility v6.5.1. Both its built‑in boot log analysis and manual JTAG memory dump give exactly the same log result. Also, I understand that the minimum boot offset for NOR is 0x1400. What I wanted to clarify is: my IVT entry points to boot‑related code, not the typical reset vector located at offset 0x2005 as seen in reference examples. Thanks again for your guidance. I will run further tests using sdphost to gather more debug information. Hopefully I can get more clues from that. Best regards, eleven Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry Hi @eleven , Based on your IVT data, CST configuration, and ROM log, I've identified some potential issues. 1. CST [Authenticate Data] Blocks address/offset mismatch (primary issue) From your image, BootData.start = 0x20208000 and IVT.self = 0x20209000 establish the mapping: file offset 0x1000 corresponds to memory address 0x20209000 , not 0x20208000 . The CST Blocks syntax is "file" . Your current line: Blocks = 0x20208000 0x1000 0x126c0 "my_firmware.bin" ← address/offset misaligned by 0x1000 makes CST sign the data at file offset 0x1000 , while HAB on the device verifies memory at 0x20208000 (= file offset 0). The two are offset by 0x1000, so the signature can never match. This exactly explains "boots when Open, fails when Closed": in Open mode a HAB verification failure is only logged (non-fatal), whereas in Closed mode it blocks execution. Fix : (sign from IVT): Blocks = 0x20209000 0x1000 0x126c0 "my_firmware_prepared.bin" Also ensure the IVT.csf field (offset 0x1018) is pre-filled with the final CSF address 0x2021b6c0 (= 0x20208000 + 0x136c0) before running CST, then sign, then append. Do not modify any signed byte after signing (IVT/BootData/DCD are all inside the signed range); doing so will also break verification. Q1: Where is the HAB event code? How to tell pass/fail? What you read from 0x2020523c is the ROM boot log, not the detailed HAB event log. On RT10xx each entry is packed into a single 32-bit word as (event_id<<16) | parameter , with the parameter in the low byte. For the detailed failure reason, call the HAB ROM API: report_status(&config,&state) and report_event(status,index,event,&bytes) . decode per HAB4 API Reference Manual, Appendix A Q2: blhost can't read the HAB log — any other method? blhost talks to the Flashloader, not directly to the BootROM. The i.MXRT BootROM serial-download stage supports only SDP (use sdphost ). Options: Recommended: call the HAB API from your application in the Open state to read/print status and events. Dump 256 bytes from 0x2020523c via JTAG (ROM log); or use MCUBootUtility v6.3 (sdphost loads the flashloader, then blhost read-memory) for automatic parsing. Important: When Closed and verification fails, the ROM never jumps to your application, so an in-app report_event cannot run. The standard flow must therefore be — confirm HAB_SUCCESS /no events in the Open state first, then burn SEC_CONFIG to close. Q3: Can a non-standard IVT entry (offset 0x1400) be HAB-signed? Yes — this is not the cause. For NOR boot the i.MXRT BootROM's minimum offset is 0x1400 (0x2000 is only a recommended value). Best regards, Gavin Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry Sorry for bothering you again, but this issue is critical for me. I could clearly observe HAB authentication errors using the sdphost command. Then I dumped the early memory region via JTAG, and found none of the firmware content was present in memory. Further testing showed that even the official demo projects shipped with NXP‑MCUBootUtility fail HAB signature when configured as NON‑XIP. Only XIP‑based images work successfully. This result surprised me a lot. I suspect there might be a mistake in my eFuse register configuration. My board does not have boot‑mode DIP switches, so I only programmed boot_cfg to 0x1A and burned the SRK fuses (please refer to the attached screenshot). QQ截图20260903101741.pngQQ截图20260903101741.pngQQ截图20260903101741.png I am a beginner in this area and may have made some simple mistakes. I would appreciate any corrections or suggestions. Looking forward to your reply, thank you very much. Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry Hi @eleven , Your observation — even the official demo fails HAB when built as Non-XIP, while XIP works — seems to points to this root cause: https://www.cnblogs.com/henjay724/p/18111727 RT1050/1060 "Non-XIP + HAB" BootROM limitation On these two earliest devices, the BootROM reserves part of the OCRAM (notably 0x20280000–0x202BFFFF ) and does not open it to HAB authentication; other RT devices don't have this limit. Your image loads into OCRAM ( 0x20208000 ), so it boots with HAB off but fails verification with HAB on, and the firmware is never copied into memory. This is independent of your CSF/Blocks, which is why earlier changes had no effect. If Non-XIP is required: avoid the reserved OCRAM region and use external SDRAM instead. Alternatively, according to the guide in the link above, the image must be strictly confined to the HAB recognition area. On the fuses (screenshot): With no boot-mode DIP switches, standalone boot requires BT_FUSE_SEL = 1; otherwise the boot configuration is undefined. And please verify your BOOT_CFG1=0x1A and Conf0=0x40 bit-by-bit against the RT1060 RM Fusemap in your use case. Fuses are OTP (write-once) — proceed carefully. Best regards, Gavin
記事全体を表示
PN7642を使用してGoogleスマートタグを読み取る 専門家の皆さん、こんにちは。 Google Wallet内のAndroidスマホアプリに保存されたタグを読み取るファームウェアの開発に、皆さんの助けが必要です。 関連するドキュメントやチュートリアル動画は見つかっていません。MIFARE DESFireを使ってスマホに保存されたタグの読み方のドキュメントを教えてもらえますか?すでにPN76評価ボードを購入済みです。 よろしくお願いいたします。 ヤシュ 開発ボード Re: Read Google Smart Tag using PN7642 お世話になります。 残念ながら、Goolge Walletのトピックはかなり制限されています。 これはMass Marketのサポートチャネルであり、適切な情報を提供するサポートリソースがありません。丁寧にNXPの営業部にご連絡いただけるようお願いいたします。それでも、直接的なサポートは以下のメールでMIFARE2GOチームにご連絡ください:[email protected]
記事全体を表示
LS1028A / Cortex-A72:ソフトウェアのL1/L2キャッシュECCエラー注入はサポートされていますか? L1/L2キャッシュECCがインジェクションでテスト可能かどうか確認する必要があります。   Cortex-A72 TRMから理解しています: - L1DとL2はECCを提供します - エラーはCPUMERRSR_EL1 / L2MERRSR_EL1経由で報告されます - A72のL1DまたはL2キャッシュアレイにECCエラーを注入するソフトウェアでアクセス可能な方法を見つけられていません   質問: 1) LS1028A(またはこの部分のA72実装)は、L1D/L2にECCエラーを注入するためのソフトウェアアクセス可能な方法を提供していますか? 2) インジェクションがサポートされていない場合、NXPは電源投入時のBITコンテキストでL1/L2 ECCの検出/訂正動作を検証するために何を推奨しますか? Re: LS1028A / Cortex-A72: Is software L1/L2 cache ECC error injection supported? こんにちは、 Q1: LS1028A / Cortex-A72はL1D/L2へのソフトウェアECCエラー注入をサポートしていますか? いいえ — Cortex-A72はL1またはL2キャッシュに対するソフトウェアアクセス可能なECCエラー注入をサポートしていません。 Q2:NXP推奨のL1/L2 ECCの電源オンBIT検証代替案 A72では注入が利用できないため、NXPの立場は、このコア上でL1/L2の直接的なECCエラー注入テストはソフトウェア上で実現不可能であり、このレベルのBITカバレッジを必要とするお客様は以下のアプローチを検討すべきだということです。 1. CPUMERRSR_EL1 / L2MERRSR_EL1 を介して ECC レポートパスを確認します。 2. 未公開のデバッグフックについては直接ARMを参照する 3. ARMのアーキテクチャ検証(デザインレベル保証)に依存する セーフティクリティカルなアプリケーションにおいて、注入が利用できない場合の標準的な業界アプローチは、Arm独自のシリコン検証とSECDED ECCのアーキテクチャ保証に頼ることです。LS1028Aのデータシートには「パリティおよびECC保護された32KBのL1命令と32KBのL1データキャッシュ」および「1MBのL2キャッシュにECC保護付き」と記載されています。ARMのシリコン認定プロセスでは、IPレベルでのECCの正確性が対象となります。 4. 完全なBITカバレッジを実現するために、より新しいコアへの移行を検討する ソフトウェアインジェクタブルECC BITが必須条件(例:IEC 61508 / DO-254準拠)の場合、NXPの新しいCortex-A55ベースのSoC(例:i.MX 93)は、検証とデバッグのために明示的に設計された専用のECCエラー注入レジスタ(例: CODE_CACHE_TAG0_ECC_ERROR_INJEC 、 SYSTEM_CACHE_DATA0_ECC_ERROR_INJEC )を提供しています。A72→A55/A78AE移行経路はNXPが積極的にサポートしています。   よろしくお願いします。
記事全体を表示
i.MXRT106x HAB 启动失败,HAB 日志停留在 AUTHENTICATION_STATUS,非标准 IVT 入口点 背景:我正在使用痞子衡开发的 NXP‑MCUBootUtility 为 i.MXRT106x 开发 HAB 签名。当我将固件二进制文件加载到该工具中时,它报告:**无法从可引导文件头中找到有效的中断向量表地址**。 使用十六进制编辑器检查二进制文件后: - IVT 入口点为 `0x20209401`,而映像加载基地址为 `0x20208000`,对应于文件偏移量 `0x1400`。 - 此代码段与启动相关的启动数据流相同,直到偏移量 `0x2000`。 - 通常情况下,IVT 条目应指向复位向量地址(参考示例指向偏移量 `0x2005`)。但在我的固件中,IVT 入口点指向偏移量 `0x1400`。我怀疑这是工具解析失败的根本原因。 对CST工作流程的进一步研究: 我理解 CST 签名的高级逻辑:在固件中找到一个空闲块,将 IVT CSF 指针设置为该位置,使用标准 CSF 模板,并修改 `[Authenticate Data]` 块部分来配置签名验证的起始地址和大小范围。 我的固件是一个完整的可启动映像,包含 FCB、IVT、DCD 和 BootData,它可以在没有 HAB 关闭的情况下在硬件上正常启动。 我将 CSF 模块配置如下: Blocks=0x20208000 0x1000 0x126c0 "my_firmware.bin" 同时更新了证书路径。 我运行了 CST v3.00.01 命令: cst.exe -i .\input_resign.csf -o sig.bin CST 执行完成,未出现任何错误,并生成了 `sig.bin`。 将输出结果与原始二进制文件进行比较,发现恰好有 2 处变化: 1. 更新 IVT 中偏移量为 `0x1018` 处的 CSF 指针字段。 2. CSF 签名数据附加在偏移量 `0x136c0` 处。 当我将此签名镜像刷入硬件时: 1.在 HAB 未关闭(SEC_CONFIG 未关闭)的情况下,固件运行完美。 2. 烧录 SRK 熔丝位并关闭 HAB 后,固件无法启动。 我通过 JTAG 从内存地址 `0x2020523c` 转储了长度为 256 字节的 HAB 日志,日志内容如下所示: ----------------------------------------------------------------------------------------- | Log Entry | Description ----------------------------------------------------------------------------------------- 0x00010002: BOOTMODE_INTERNAL 0x000200cc: SEC_CONFIG_CLOSED 0x00030001: DIR_BT_DIS_VALUE1 0x00040000: BT_FUSE_SEL_VALUE0 0x00050000: PRIM_IMAGE_SELECT 0x00060008: PRIM_BOOTDEVICE_FLEXSPI_NOR 0x00070000: DEVICE_INIT_CALL 0x000700f0: DEVICE_INIT_PASS 0x00090000: AUTHENTICATION_STATUS 我的问题: 1.实际的HAB事件代码在哪里?根据相关资料,HAB认证通过/失败应生成明确的事件代码。但是我的日志只记录到 `AUTHENTICATION_STATUS` 就停止了,没有后续事件条目。如何判断HAB认证是成功还是失败? 2. 我尝试了 `blhost` 工具,但找不到任何适用于 i.MXRT1061 的 HAB 日志读取命令。还有其他方法可以读取完整的有害藻华状态吗? 3. 我的签名流程是否有效?我的镜像使用了非标准的 IVT 入口点(指向偏移量 `0x1400` 而不是重置向量偏移量 `0x2005`)。这样的图像能否用 CST 正确进行 HAB 签名? 偏移量为 `0x1000` 处的附加 IVT 标头字节: D1 00 20 40 01 94 20 20 00 00 00 00 80 90 20 20 20 90 20 20 00 90 20 20 00 00 00 00 00 00 00 00 00 80 20 20 80 99 01 00 00 00 00 00 00 80 20 20 80 99 01 00 52 44 49 52 00 00 00 00 E4 B8 21 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D2 00 08 41 CC 00 04 04 CST 工具版本:3.00.01 Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry 嗨@eleven , 谢谢你的更新。首先,我认为我们应该确认 boot.bin 的第一个字节是 FCB 还是 IVT。如果是 FCB,可能仍然存在对准问题。 此外,本指南在读取和解释 HAB 故障代码的过程中应该会有所帮助: https://community.nxp.com/t5/i-MX-Security/HAB-event-in-a-Closed-i-MX-chip/ta-p/1120239 如果仍然无法找出问题的根本原因,使用 MCUBootUtility 直接生成 HAB 签名,然后运行二进制差异可能是交叉验证结果的另一种方法。 此致, 加文 Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry 嗨,加文, 非常感谢您的详细回复。我觉得我在之前的帖子中没有完整地描述我的测试设置。 我已经按照您的建议调整了模块配置。我两种都测试过了: Blocks = 0x20208000 0x1000 0x126c0 "my_firmware.bin" 并拆分成多个块条目进行身份验证,从 IVT 开始一直到固件结束: Blocks = 0x20209000 0x0 0x40 "启动.bin",\ 0x20209080 0x80 0xf80 "boot.bin",\ 0x2020a000 0x1000 0x11c00 "boot.bin" 我的目的是从 IVT 开始进行身份验证,一直到应用程序代码的末尾。然而,这些更改之后,启动行为仍然没有改变。 我使用的是 MCUBootUtility v6.5.1。其内置的启动日志分析和手动 JTAG 内存转储都给出了完全相同的日志结果。 另外,我了解到 或非 的最小启动偏移量为 0x1400。我想澄清的是:我的 IVT 入口点指向与启动相关的代码,而不是像参考示例中那样指向位于偏移量 0x2005 处的典型复位向量。 再次感谢您的指导。我将使用 sdphost 进行更多测试,以收集更多调试信息。希望我能从中获得更多线索。 此致, 十一 Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry 嗨@eleven , 根据您的 IVT 数据、CST 配置和 ROM 日志,我发现了一些潜在问题。 1. CST [Authenticate Data] Blocks 地址/偏移量不匹配(主要问题) 从你的图像中, BootData.start = 0x20208000 和 IVT.self = 0x20209000 建立了映射关系:文件偏移量 0x1000 对应于内存地址 0x20209000 ,而不是 0x20208000 。 CST Blocks 语法为 "file" 。您当前线路: Blocks = 0x20208000 0x1000 0x126c0 "my_firmware.bin" ← address/offset misaligned by 0x1000 使 CST 对文件偏移量 0x1000 处的数据进行签名,同时设备上的 HAB 验证 0x20208000 处的内存(= 文件偏移量 0)。两者偏移了 0x1000,因此签名永远不可能匹配。这就解释了“打开时启动,关闭时失败”:在打开模式下,HAB 验证失败只会记录下来(非致命的),而在关闭模式下,它会阻止执行。 使固定 : (sign from IVT): Blocks = 0x20209000 0x1000 0x126c0 "my_firmware_prepared.bin" 另外,在运行 CST 之前,请确保 IVT.csf 字段(偏移量 0x1018)已预先填充最终的 CSF 地址 0x2021b6c0 (= 0x20208000 + 0x136c0),然后签名,然后追加。签名后不要修改任何已签名的字节(IVT/BootData/DCD 都在已签名范围内);这样做也会破坏验证。 Q1: HAB事件代码在哪里?如何判断通过/不通过? 从 0x2020523c 读取的是 ROM 启动日志,而不是详细的 HAB 事件日志。在 RT10xx 上,每个条目都打包成一个 32 位字 (event_id<<16) | parameter ,参数位于低字节。 要了解详细的失败原因,请调用 HAB ROM API: report_status(&config,&state) 和 report_event(status,index,event,&bytes) 。根据 HAB4 API 参考手册附录 A 进行解码 Q2:blhost 无法读取 HAB 日志——还有其他方法吗? blhost 它与 Flashloader 通信,而不是直接与 BootROM 通信。i.MXRT BootROM 串行下载阶段仅支持 SDP(使用 sdphost )。选项: 建议:在应用程序处于打开状态时调用 HAB API,以读取/打印状态和事件。 通过 JTAG 从 0x2020523c 转储 256 字节(ROM 日志);或者使用 MCUBootUtility v6.3(sdphost 加载 flashloader,然后 blhost 读取内存)进行自动解析。 重要提示:当应用关闭且验证失败时,ROM 永远不会跳转到您的应用程序,因此应用内 report_event 无法运行。因此,标准流程必须是——首先确认 HAB_SUCCESS /Open 状态下没有事件,然后烧录 SEC_CONFIG 以关闭。 Q3:非标准 IVT 条目(偏移量 0x1400)能否进行 HAB 签名? 是的——这不是原因。对于 NOR 启动,i.MXRT BootROM 的最小偏移量为 0x1400(0x2000 只是一个推荐值)。 此致, 加文 Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry 很抱歉再次打扰您,但这个问题对我来说至关重要。 使用 sdphost 命令可以清楚地观察到 HAB 身份验证错误。然后我通过 JTAG 转储了早期内存区域,发现内存中没有任何固件内容。 进一步测试表明,即使是 NXP-MCUBootUtility 附带的官方演示项目,在配置为 NON-XIP 时也无法通过 HAB 签名验证。只有基于 XIP 的镜像才能正常工作。这个结果让我非常惊讶。 我怀疑我的 eFuse 寄存器配置可能有误。我的板没有启动模式 DIP 开关,所以我只将 boot_cfg 编程为 0x1A 并烧毁了 SRK 熔丝(请参考附件截图)。 QQ截图20260903101741.pngQQ截图20260903101741.pngQQ截图20260903101741.png 我在这个领域还是个新手,可能犯了一些简单的错误。如有任何更正或建议,敬请不吝赐教。 期待您的回复,非常感谢。 Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry 嗨@eleven , 您的观察——即使是官方演示程序,在以非 XIP 方式构建时 HAB 也会失败,而以 XIP 方式构建则可以正常工作——似乎指向了以下根本原因: https://www.cnblogs.com/henjay724/p/18111727 RT1050/1060“非XIP + HAB”BootROM限制在这两款最早的设备上,BootROM保留了部分OCRAM(特别是 0x20280000–0x202BFFFF ),并且没有将其开放给HAB认证;其他RT设备没有此限制。您的映像加载到 OCRAM ( 0x20208000 ) 中,因此在 HAB 关闭时可以启动,但在 HAB 打开时验证失败,并且固件永远不会复制到内存中。这与您的脑脊液/阻滞无关,这就是为什么之前的改变没有效果的原因。 如果需要非 XIP 模式:请避开保留的 OCRAM 区域,改用外部同步动态随机存取存储器(SDRAM)。或者,根据上面链接中的指南,图像必须严格限制在 HAB 识别区域内。 关于熔丝(截图): 如果没有启动模式 DIP 开关,独立组网 \\(SA\\) 启动需要BT_FUSE_SEL = 1 ;否则启动配置未定义。 请根据您的使用案例,逐位验证您的 BOOT_CFG1=0x1A 和 Conf0=0x40 与 RT1060 RM 熔丝图。熔丝是一次性写入 (OTP) 的——请谨慎操作。 此致, 加文
記事全体を表示
Read Google Smart Tag using PN7642 Hi Experts, I need your help to develop firmware to read a tag saved in an Android phone application inside Google Wallet. I haven't found any documents related to it or a tutorial video. Can you provide me a document on how to read a tag saved in a phone using MIFARE DESFire? I have already bought the PN76 evaluation board. Thanks & Regards, Yash Development Board Re: Read Google Smart Tag using PN7642 Hello sir, Unfortuantely, Goolge Wallet topics are quite restricted. This is a mass-market support channel and, we don't have the support resources to provide the proper information. I will have to kindly ask you to please contact your NXP sales. Still, for a direct support is recommended to please contact the MIFARE2GO team to the following mail: [email protected]
記事全体を表示
使用 PN7642 读取 Google 智能标签 各位专家好, 我需要你的帮助来开发固件,以便读取保存在 Google Wallet 安卓手机应用程序中的标签。 我没有找到任何相关文档或教程视频。您能否提供一份关于如何使用 MIFARE DESFire 读取手机中保存的标签的文档?我已经购买了 PN76 评估板。 谢谢,此致敬礼! 亚什 开发板 Re: Read Google Smart Tag using PN7642 您好,先生, 遗憾的是,Google Wallet 的相关话题非常有限。 这是一个面向大众市场的支持渠道,我们没有足够的资源来提供正确的信息。请您联系恩智浦半导体的销售部门。不过,如需直接支持,建议您通过以下邮箱联系 MIFARE2GO 团队:[email protected]
記事全体を表示
i.MXRT106x HAB がブートに失敗し、HAB ログが AUTHENTICATION_STATUS で停止します。非標準の IVT エントリ ポイントです。 背景:私は痞子衡氏が開発したNXP-MCUBootUtilityを使用して、i.MXRT106xのHABシグネチャに取り組んでいます。このツールにファームウェアのバイナリを読み込むと、次のように表示されます:**ブート可能なファイルヘッダーから有効な割り込みベクターテーブルアドレスが見つからない**。 バイナリを16進エディタで検査した後: - IVTエントリポイントは`0x20209401`、イメージロードベースアドレスは`0x20208000`で、これはファイルオフセット`0x1400`に対応します。 - このコードセグメントは、オフセット `0x2000` までのブート関連のブートデータフローと同一です。 - 通常、IVTエントリはリセットベクタアドレスを指す必要があります(参照例ではオフセット`0x2005`を指しています)。しかし、私のファームウェアでは、IVTエントリはオフセット`0x1400`を指しています。これがツール解析エラーの根本原因だと推測されます。 CSTワークフローに関するさらなる調査: CST署名の高レベルなロジックは理解しています。ファームウェア内の空きブロックを見つけ、IVT CSFポインタをこの場所に設定し、標準のCSFテンプレートを使用し、`[Authenticate Data]`ブロックセクションを変更して、署名検証の開始アドレスとサイズ範囲を設定します。 私のファームウェアは、FCB、IVT、DCD、およびブートデータを含む完全な起動可能なイメージであり、HABクロージャなしでハードウェア上で正常に起動します。 CSFブロックを以下のように設定しました。 Blocks=0x20208000 0x1000 0x126c0 "my_firmware.bin" また、証明書のパスもそれに合わせて更新しました。 CST v3.00.01 コマンドを実行しました。 cst.exe -i .\input_resign.csf -o sig.bin CSTの実行はエラーなく完了し、`sig.bin`が生成されました。 出力と元のバイナリを比較すると、正確には2つの変更点があります。 1. IVT内のオフセット`0x1018`にあるCSFポインタフィールドが更新されます。 2. CSFシグネチャデータはオフセット`0x136c0`に追加されます。 この署名済みイメージをハードウェアに書き込むと: 1.HABが閉じられていない(SEC_CONFIGが閉じられていない)場合、ファームウェアは正常に動作します。 2. SRKヒューズビットを書き込み、HABを閉じた後、ファームウェアが起動に失敗します。 JTAG経由でメモリアドレス`0x2020523c`から長さ256バイトのHABログをダンプしました。ログの内容は以下のとおりです。 ----------------------------------------------------------------------------------------- | Log Entry | Description ----------------------------------------------------------------------------------------- 0x00010002: BOOTMODE_INTERNAL 0x000200cc: SEC_CONFIG_CLOSED 0x00030001: DIR_BT_DIS_VALUE1 0x00040000: BT_FUSE_SEL_VALUE0 0x00050000: PRIM_IMAGE_SELECT 0x00060008: PRIM_BOOTDEVICE_FLEXSPI_NOR 0x00070000: DEVICE_INIT_CALL 0x000700f0: DEVICE_INIT_PASS 0x00090000: AUTHENTICATION_STATUS **私の質問:** 1.実際のHABイベントコードはどこにありますか?参考文献によると、HAB認証の合格/失敗は明示的なイベントコードを生成するはずです。しかし、私のログは『AUTHENTICATION_STATUS』で止まり、その後のイベントエントリーはありません。HAB認証が成功したか失敗したかをどうやって判断すればいいですか? 2. 「blhost」ツールを試しましたが、i.MXRT1061でHABログ読み取りコマンドが動作するのを見つけられません。HABの完全な状態を読み取る他の方法はありますか? 3. 私の署名ワークフローは有効か?私のイメージでは、非標準のIVTエントリポイントを使用しています(リセットベクタオフセット`0x2005`ではなく、オフセット`0x1400`を指しています)。このような画像はCSTで正しくHAB署名できますか? オフセット`0x1000`にある追加のIVTヘッダーバイト: D1 00 20 40 01 94 20 20 00 00 00 00 80 90 20 20 20 90 20 20 00 90 20 20 00 00 00 00 00 00 00 00 00 80 20 20 80 99 01 00 00 00 00 00 00 80 20 20 80 99 01 00 52 44 49 52 00 00 00 00 E4 B8 21 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D2 00 08 41 CC 00 04 04 CSTツールバージョン:3.00.01 Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry こんにちは、 @eleven さん。 最新情報のご提供ありがとうございます。まず、boot.binの最初のバイトがFCBなのかIVTなのかを確認する必要があると思います。FCBの場合、位置合わせの問題がまだ残っている可能性があります。 さらに、HAB障害コードの読み取りと解釈のプロセスにおいて、このガイドが役立つはずです。https: //community.nxp.com/t5/i-MX-Security/HAB-event-in-a-Closed-i-MX-chip/ta-p/1120239 それでも問題の根本原因を特定できない場合は、MCUBootUtilityを使用してHAB署名を直接生成し、バイナリ差分を実行することで、結果を相互検証できる可能性があります。 よろしくお願いします、 ギャビン Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry こんにちは、ギャビンさん。 詳細なご回答をいただき、誠にありがとうございました。最初の投稿で、テスト環境について十分に説明できていなかったと思います。 ご提案いただいたとおり、ブロック設定の調整は既に試してみました。私は両方を試しました。 ブロック = 0x20208000 0x1000 0x126c0 "my_firmware.bin" そして、IVTからファームウェアの最後まで認証を行うために、複数のブロックエントリに分割します。 ブロック = 0x20209000 0x0 0x40 "boot.bin",\ 0x20209080 0x80 0xf80 "boot.bin",\ 0x2020a000 0x1000 0x11c00 "boot.bin" 私の意図は、IVTからアプリケーションコードの最後まで認証することでした。しかし、これらの変更後も起動時の動作は変化しなかった。 私はMCUBootUtility v6.5.1を使用しています。内蔵のブートログ解析と手動のJTAGメモリダンプは、どちらも全く同じログ結果を示す。 また、NORフラッシュメモリの最小ブートオフセットは0x1400であると理解しています。私が明確にしたかったのは、私のIVTエントリポイントは、参照例に見られるようなオフセット0x2005にある一般的なリセットベクタではなく、ブート関連のコードを指しているということです。 ご指導いただき、改めて感謝申し上げます。デバッグ情報をさらに収集するために、sdphostを使用して追加のテストを実行します。そこからもっと手がかりが得られればいいのですが。 よろしくお願いします、 11 Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry こんにちは、 @eleven さん。 IVTデータ、CST構成、およびROMログに基づいて、いくつかの潜在的な問題点を特定しました。 1. CST [Authenticate Data] Blocks アドレス/オフセットの不一致(主要な問題) あなたの画像から、 BootData.start = 0x20208000 と IVT.self = 0x20209000 によってマッピングが確立されます。ファイルオフセット 0x1000 メモリアドレス 0x20209000 に対応し、 0x20208000 には対応しません。 CST Blocks の構文は "file" です。現在の回線: Blocks = 0x20208000 0x1000 0x126c0 "my_firmware.bin" ← address/offset misaligned by 0x1000 CSTはファイルオフセット 0x1000 のデータに署名し、デバイス上のHABは 0x20208000 (=ファイルオフセット0)のメモリを検証します。2つは4 0x1000でオフセットされているため、署名が一致することは決してありません。これはまさに「オープンモードでは起動し、クローズモードでは失敗する」という現象を説明しています。オープンモードでは、HAB検証の失敗はログに記録されるだけで(致命的ではない)、クローズモードでは実行がブロックされます。 修理 : (sign from IVT): Blocks = 0x20209000 0x1000 0x126c0 "my_firmware_prepared.bin" また、CST を実行する前に、IVT.csf フィールド (オフセット 0x1018) に最終的な CSF アドレス 0x2021b6c0 (= 0x20208000 + 0x136c0) が事前に設定されていることを確認し、その後署名し、追加します。署名後は署名済みバイトを変更しないでください(IVT/BootData/DCDはすべて署名範囲内です)。そうすると検証も壊れます。 Q1: HABイベントコードはどこにありますか?合否判定の方法は? 0x2020523c から読まれているのはROMブートログであって、詳細なHABイベントログではありません。RT10xxでは、各エントリは (event_id<<16) | parameter として単一の32ビットワードにパックされ、パラメータは下位バイトに格納されます。 詳細な失敗理由については、HAB ROM API: report_status(&config,&state) および report_event(status,index,event,&bytes) を呼び出してください。decode per HAB4 API リファレンス・マニュアル、付録A Q2:blhostがHABログを読み取れません — 他に方法はありますか? blhost ブートROMに直接ではなく、フラッシュローダーと通信します。i.MXRT BootROMのシリアルダウンロード段階はSDPのみをサポートしています( sdphost をご利用ください)。オプション: 推奨: オープン 状態のアプリケーションからHAB APIを呼び出して、ステータスやイベント情報を読み込み印刷してください。 JTAG (ROMログ) を介して 0x2020523c から 256 バイトをダンプするか、MCUBootUtility v6.3 (sdphost がフラッシュローダーをロードし、次に blhost がメモリを読み込む) を使用して自動解析を行います。 重要事項: クローズドで認証が失敗すると、ROMはアプリケーションにジャンプせず、アプリ内 report_event は実行できません。したがって、標準フローはまず開閉状態で HAB_SUCCESS /イベント情報なしを確認し、その後SEC_CONFIG燃焼して閉じる必要があります。 Q3: 非標準IVTエントリー(オフセット0x1400)はHAB署名できますか? はい、これは原因ではありません。NORブートの場合、i.MXRT BootROMの最小オフセットは0x1400です(0x2000は推奨値です)。 よろしくお願いします、 ギャビン Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry またお手数をおかけして申し訳ありませんが、この問題は私にとって非常に重要なのです。 sdphostコマンドを使ってHAB認証エラーを明確に観察できました。次にJTAG経由で初期メモリ領域をダンプしてみたところ、ファームウェアの内容はメモリ上に全く存在しないことがわかった。 さらなるテストの結果、NXP-MCUBootUtilityに同梱されている公式デモプロジェクトでさえ、NON-XIPとして構成した場合、HAB署名に失敗することが判明した。XIPベースのイメージのみが正常に動作します。この結果にはとても驚きました。 私のeFuseレジスタの設定に間違いがあるのではないかと考えています。私のボードにはブートモードのDIPスイッチがないため、boot_cfgを0x1AにしてSRKヒューズを焼き切っただけです(添付のスクリーンショットを参照してください)。 QQ截图20260903101741.pngQQ截图20260903101741.pngQQ截图20260903101741.png 私はこの分野の初心者なので、単純なミスをしているかもしれません。訂正やご提案があれば、ぜひお聞かせください。 ご返信をお待ちしております。よろしくお願いいたします。 Re: i.MXRT106x HAB closed boot fail, HAB log stops at AUTHENTICATION_STATUS, non‑standard IVT entry こんにちは、 @eleven さん。 あなたの指摘(公式デモでさえ、非XIPでビルドするとHABが失敗し、XIPでビルドすると動作する)は、以下の記事の根本原因を示しているようです: https://www.cnblogs.com/henjay724/p/18111727 RT1050/1060「Non-XIP + HAB」ブートROM制限 これら2つの初期デバイスでは、BootROMはOCRAMの一部(特に 0x20280000–0x202BFFFF )を予約し、HAB認証には開放しません。他のRTデバイスにはこの制限はありません。イメージはOCRAM( 0x20208000 )に読み込まれるので、HABをオフにして起動しますが、HABオンの状態で検証に失敗し、ファームウェアはメモリにコピーされません。これは脳脊髄液/ブロックとは無関係であるため、以前の変更は効果がなかったのです。 非XIPが必要な場合は、予約済みのOCRAM領域を避け、代わりに外部SDRAMを使用してください。あるいは、上記のリンク先のガイドによると、画像は有害藻類ブルームの認識領域内に厳密に限定されなければならない。 ヒューズについて(スクリーンショット): ブートモードのディップ・スイッチがない場合、スタンドアロン起動には BT_FUSE_SEL = 1が必要です。そうでなければ起動構成は定義されていません。 また、 BOOT_CFG1=0x1A と Conf0=0x40 をRT1060 RMのヒューズマップと比較してビットごとに検証してください。ヒューズはOTP(一度書き込み可能)です。慎重に作業を進めてください。 よろしくお願いします、 ギャビン
記事全体を表示
LS1028A / Cortex-A72: Is software L1/L2 cache ECC error injection supported? I need to confirm whether L1/L2 cache ECC can be tested by injection.   From the Cortex-A72 TRM I understand: - L1D and L2 provide ECC - Errors are reported via CPUMERRSR_EL1 / L2MERRSR_EL1 - I have not found any software-accessible way to inject ECC errors into the A72 L1D or L2 cache arrays   Questions: 1) Does LS1028A (or the A72 implementation on this part) provide any software-accessible way to inject ECC errors into L1D/L2? 2) If injection is not supported, what does NXP recommend for verifying L1/L2 ECC detect/correct behavior in a power-on BIT context? Re: LS1028A / Cortex-A72: Is software L1/L2 cache ECC error injection supported? Hello, Q1: Does LS1028A / Cortex-A72 Support Software ECC Error Injection into L1D/L2? No — the Cortex-A72 does not support software-accessible ECC error injection for L1 or L2 cache. Q2: NXP-Recommended Alternatives for Power-On BIT Verification of L1/L2 ECC Since injection is not available on the A72, NXP's position is that direct ECC error injection testing of L1/L2 is not feasible in software on this core, and customers requiring this level of BIT coverage should consider the following approaches: 1. Verify ECC Reporting Path via CPUMERRSR_EL1 / L2MERRSR_EL1 2. Consult ARM Directly for Any Undocumented Debug Hooks 3. Rely on ARM's Architectural Validation (Design-Level Assurance) For safety-critical applications, the standard industry approach when injection is not available is to rely on ARM's own silicon validation and the architectural guarantee that SECDED ECC is implemented. The LS1028A datasheet confirms "Parity and ECC protected 32 KB L1 instruction and 32 KB L1 data cache" and "1 MB L2 cache with ECC protection."ARM's silicon qualification process covers ECC correctness at the IP level. 4. Consider Migration to a Newer Core for Full BIT Coverage If software-injectable ECC BIT is a hard requirement (e.g., for IEC 61508 / DO-254 compliance), NXP's newer Cortex-A55–based SoCs (e.g., i.MX 93) provide dedicated ECC Error Injection registers (e.g., CODE_CACHE_TAG0_ECC_ERROR_INJEC , SYSTEM_CACHE_DATA0_ECC_ERROR_INJEC ) that are explicitly designed for verification and debugging. The A72 → A55/A78AE migration path is something NXP actively supports.   Regards
記事全体を表示
MIMXRT1176DVMAB:ENET_1G RGMII動作電圧。 ENET_1Gを3.3VのRGMIIモードで動作させた場合、パフォーマンスの低下があるかどうかを知りたいです。 1.8VでENET_1Gに接続したイーサネットPHYを使う特別な理由があれば教えてください。 3.3/2.5/1.8/1.5Vで動作可能なイーサネットPHY RTL8211FDI-CGの6.9節「電源および接地」を参照してください。 Re: MIMXRT1176DVMAB : ENET_1G RGMII operating voltages. こんにちは、 i.MX RT1170 ENET 1G RGMIIは、1.8Vまたは3.3Vのどちらでも使用できます。 AN14251 – i.MX RT1xxx – イーサネット機能およびPHY接続、表25に記載されています。RT117x – ENET1G RGMIIパッド i.MX、RGMII用のMCUピンが見つかります。 PHYに関しては、ベンダーの推奨事項に従ってください。 よろしくお願いいたします。 パブロ
記事全体を表示
GoPoint、Multistream yoloランチャーでモデルをダウンロードできません、nxp/YOLOv8が見つからない 私はFRDM i.MX95 + ARA240 M2 16G GTを持っています そして、イメージバージョンLF_v6.18.20-2.0.0_images_IMX95EVKをインストールしました。 imx-boot-imx95-15x15-lpddr4x-frdm-sd.bin-flash_all imx-image-full-imx95evk.wic gopointアプリケーションを起動し、Multistream YOLO構成でモデルをダウンロードしようとすると、以下の例外が検出されます: nxp/YOLOv8を/usr/share/cnn/...にダウンロード中 ダウンロードモデルのエラー:404クライアントエラー。(リクエストID: Root=1-6a9ab518-05ebf76418b2dfcc0855cb40;a0fa833c-b8ba-4d7f-8595-0e157e194afd) URL: https://huggingface.co/api/models/nxp/YOLOv8/revision/r2.0.4のリポジトリが見つかりません。 `repo_id`と`repo_type`が正しく指定されていることを確認してください。 プライベートリポジトリやゲート付きリポジトリにアクセスしようとする場合は、認証済みでトークンに必要な権限を持っていることを確認してください。 詳細については、 https://huggingface.co/docs/huggingface_hub/authenticationを参照してください。 サンプル動画は正しくダウンロードされました。 今、どうすればいいか何かアイデアはありますか?
記事全体を表示
DDR tool - Config Tools for i.MX v16.1 The DDR tool supports i.MX 8M family, i.MX 91 family, i.MX 93 family, i.MX 95 family. The DDR tool is part of Config tools for i.MX offering configuration, inspection, optimization, vTSA, stressing and code generation. It can be downloaded from Config Tools for i.MX Applications Processors DDR tool User Guide is part of the User Guide for Config tools for i.MX DDR tool supports i.MX 8M family, i.MX 91 family, i.MX 93 family, i.MX 95 family. The DDR tool is part of Config tools for i.MX offering configuration, inspection, optimization, vTSA, stressing and code generation. It can be downloaded from Config Tools for i.MX Applications Processors DDR tool User Guide is part of the User Guide for Config tools for i.MX i.MX Processors MCUXpresso Conig Tools
記事全体を表示
LX2160AのJTAG(CCS)接続が失敗する LX2160Aに対し、DDR toolの使用を考えていますが、Connectができません。 原因はCCSより、JTAGの接続が確認できないことだと思います。 IDcodeの確認結果を添付します。 KAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.pngKAZU_ISHI_0-1786615924736.png 少し前に接続を試した際はJTAGからの接続が確認できましたが、ファイルが破損してしまったことと、細かくリビジョンを管理しておらず復元できておりません。 check for Updateより、インターネットからダウンロードを実施するとファイルが破損するケースが存在することを把握しておらず、現在ソフトウェアの状態を一致させることができないでいます。 一度接続できたため、ソフトウェアの問題かと思いますが、解決方法をご存じでしたらご教授願います。 以上よろしくお願いいたします。 Re: LX2160AのJTAG(CCS)接続が失敗する まずCW_ARMv8_v2020.06_b200629GA_Win_Offline.exeをインストールし、その後CodeWarrior IDEを開き、Help->Install New Software->Add->Archiveからサービスパックcom.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zipをインストールしてください。 問題が解決しない場合は、エラー画面のスクリーンショットをご提供ください。 Re: LX2160AのJTAG(CCS)接続が失敗する 最新版のCodeWarrior for ARMv8 11.5.12がインストールされているかどうか確認してください。 CodeWarrior IDEを開き、QorIQ LSシリーズ(ARM V8 ISA)のHelp->About CodeWarrior Development Studioのバージョンを確認してください。 既にこのバージョンのCodeWarriorをインストールしている場合は、CodeWarrior TAPからUSBケーブルを抜き、再度差し込んでください。 Re: LX2160AのJTAG(CCS)接続が失敗する ご返信ありがとうございます。 現在使用しているCodeWarriorのバージョン情報は以下の通りです。 CodeWarrior Development Studio for QorIQ LS series - ARM V8 ISA Version: 11.5.0 Build Id: 200629GA ご連絡いただいた最新バージョンと比較すると、私の環境は古いバージョンのようです。 ちなみに、「Install New Software」→「Add」→「Archive」から 「com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip」を選択した場合、どの項目をインストールすればよいでしょうか。 「Select All」を選択すると、エラーが発生し、インストールが成功しません。 Re: LX2160AのJTAG(CCS)接続が失敗する ご返信ありがとうございます。 「CodeWarrior for ARMv8 v11.5.0 b200629 Windows Offline Installer」からインストールを実行しました。 その後、CodeWarrior IDEで、Help → Install New Software → Add → Archive から com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip を指定して更新を試みましたが、インストール中にエラーが発生します。 エラーメッセージは以下の通りです KAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.pngKAZU_ISHI_0-1786959225115.png An error occurred while installing the items session context was:(profile=epp.package.cpp, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=[R]com.freescale.core.debugger.fsl_gdb 13.0.0.202003111126 --> [R]com.freescale.core.debugger.fsl_gdb 14.0.0.202204131357, action=com.freescale.updater.customactions.actions.FreescaleProcessCheck). NLS missing message: param_not_set in: com.freescale.updater.customactions.Messages 対処方法についてご教示いただけますでしょうか? 以上よろしくお願いいたします。 Re: LX2160AのJTAG(CCS)接続が失敗する 以下のリンクからインストールファイルをダウンロードし、CodeWarrior for ARMv8 11.5.12を再インストールしてください。 https://support.nxp.com/s/case/500Te00000eeSJXIA2/community-lx2160a%E3%81%AEjtagccs%E6%8E%A5%E7%B6%9A%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B?language=en_US Re: LX2160AのJTAG(CCS)接続が失敗する Windows 10にCodeWarrior for ARMv8をインストールしようとしていますか? まず、CodeWarriorのインストールファイルをすべて削除してください。 私のtarボールからCW_ARMv8_v2020.06_b200629GA_Win_Offline.exeをインストールしてください。 その後、 新しいワークスペースでCodeWarrior IDEを開き、Help->Install New Software->Add->Archiveからサービスパックcom.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zipをインストールします。 Re: LX2160AのJTAG(CCS)接続が失敗する 1. CodeWarriorのインストールフォルダを削除してください。 2. 元のインストールファイルは使用しないでください。.exe を両方とも使用してください。私のダウンロードリンクからzipファイルをダウンロードしてください。 3. exeファイルのインストール後、新しいワークスペースでCodeWarrior IDEを開き、zipサービスパッケージをインストールしてください。 Re: LX2160AのJTAG(CCS)接続が失敗する 再開まで今しばらくお待ちください。 ご依頼どおり、ご提供いただいたダウンロードリンクを使用して、CodeWarrior for ARMv8 11.5.12の再インストールを試みました。しかし、アップデートパッケージのインストール中にエラーが発生しました。 ダウンロードリンクのページにエラーの詳細をすでに返信していますので、ぜひ確認していただけますか? この問題の原因が何か心当たりはありますか? このマターの解決に向けて引き続きご支援いただけるとありがたいです。 このメッセージは機械翻訳によって翻訳されました。 Re: LX2160AのJTAG(CCS)接続が失敗する 「作業対象」で「ローカルサイトのみ」を選択されていますが、これも誤りです。何も選択せず、空欄のままにしてください。次に「追加」→「アーカイブ」>、サービスパッケージの場所を指定します。 以下のスクリーンショットをご参照ください。 yipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.pngyipingwang_0-1787913595385.png Re: LX2160AのJTAG(CCS)接続が失敗する 再開まで今しばらくお待ちください。 ご提示いただいた手順に従って、以下の手順を実行しました。 CodeWarriorのインストール全体(サービスパックだけでなく)を完全にアンインストールしました。 以下のキャッシュフォルダを削除しました: C:\Users\ \.p2 C:\Users\ \.p2\org.eclipse.equinox.p2 CodeWarriorを再インストールしました。 ヘルプ→新しいソフトウェアをインストールする→アーカイブを追加→ファイルcom.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip指定しました。 アーカイブを追加した後、サービスパックが提供するプラグインのインストールと更新操作の両方を「新しいソフトウェアのインストール」を試みました。 その結果、サービスパックに含まれるプラグインのほとんどが正常にダウンロードされ、インストールされました。しかし、添付のスクリーンショットに示されたプラグインはインストールや更新の過程で失敗し、更新できませんでした。 KAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.pngKAZU_ISHI_0-1787912782459.png よろしくお願いいたします。 Re: LX2160AのJTAG(CCS)接続が失敗する ヘルプ ->インストール新ソフトウェア->Add->アーカイブ)からサービスパックcom.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zipをインストールしてください。 「利用可能なソフトウェアサイト」からではない キャッシュフォルダも削除してください。 C:\Users\ \.p2 または C:\Users\ \.p2\org.eclipse.equinox.p2.* Re: LX2160AのJTAG(CCS)接続が失敗する ご返信よろしくお願いします。 ダウンロードしたファイルが破損している可能性があると考え、再度ダウンロードして、以下のようにアップデートを試みました。 利用可能なソフトウェアサイトでは、以下を選びました: アーカイブ→追加→ com.freescale.armv8.11.5.12.GA.Win.updatesite.221209.zip 解凍されたダウンロードパッケージから。 その後、「CodeWarrior Updates」がリストに追加され、このアップデートサイトだけを有効にしました。 調査を簡略化するため、次に「利用可能な更新プログラム」を使用し、リストの上から順に更新プログラムを一つずつインストールしました。以下のアップデートはエラーにより失敗しました。 エラーメッセージは以下のとおりです。 • CodeWarrior Debugger GTA 14.0.0.202212090959 アイテムのインストール中にエラーが発生しました。 セッションの文脈は以下の通りです: (profile=epp.package.cpp、 phase=org.eclipse.equinox.internal.p2.engine.phases.Install、 operand=[R]com.freescale.core.debugger.gta 14.0.0.202006241928 --> [R]com.freescale.core.debugger.gta 14.0.0.202212090959, action=com.freescale.updater.customactions.actions.FreescaleProcessCheck) NLS 欠落メッセージ: param_not_set in: com.freescale.updater.customactions.Messages •NXP GDB 14.0.0.202204131357 アイテムのインストール中にエラーが発生しました。 セッションの文脈は以下の通りです: (profile=epp.package.cpp、 phase=org.eclipse.equinox.internal.p2.engine.phases.Install、 operand=[R]com.freescale.core.debugger.fsl_gdb13.0.0.202003111126 --> [R]com.freescale.core.debugger.fsl_gdb14.0.0.202204131357、 action=com.freescale.updater.customactions.actions.FreescaleProcessCheck) NLS 欠落メッセージ: param_not_set in: com.freescale.updater.customactions.Messages • QorIQ構成および検証スイート - 共通レイアウト 4.24.0.FSL20221019_2247 アイテムのインストール中にエラーが発生しました。 セッションの文脈は以下の通りです: (profile=epp.package.cpp、 phase=org.eclipse.equinox.internal.p2.engine.phases.Install、 operand=null --> [R]com.freescale.cw.qcvs.feature_root4.24.0.FSL20221019_2247、 action=com.freescale.updater.customactions.actions.FreescaleProcessCheck) NLS 欠落メッセージ: param_not_set in: com.freescale.updater.customactions.Messages CodeWarrior Core IDE 14.0.0.202212091004およびCodeWarrior Debugger 14.0.0.202212091004はテストしていません。これらのパッケージには上記のソフトウェアが含まれているようです。 その他のアップデートはすべて問題なく正常にインストールされました。 追加の検証ステップとして、「新しいソフトウェアをインストールする」で利用可能なソフトウェアパッケージをインストールしてみます。個別のアップデートパッケージのテスト結果はすでに上記で示されています。 これらのエラーの原因や、それに関連する既知の問題について何か情報をお持ちでしたら、ぜひご教示いただければ幸いです。 ご協力ありがとうございました。 このメッセージは機械翻訳によって翻訳されました。 Re: LX2160AのJTAG(CCS)接続が失敗する ご指導ありがとうございました。 ご指摘いただいたとおり、アップデート設定を確認しました。 クリーンインストールから始め、添付のスクリーンショットに示されている設定に合わせて構成し、インストールを試みました。 KAZU_ISHI_0-1787974046471.pngKAZU_ISHI_0-1787974046471.pngKAZU_ISHI_0-1787974046471.pngKAZU_ISHI_0-1787974046471.pngKAZU_ISHI_0-1787974046471.pngKAZU_ISHI_0-1787974046471.pngKAZU_ISHI_0-1787974046471.pngKAZU_ISHI_0-1787974046471.pngKAZU_ISHI_0-1787974046471.pngKAZU_ISHI_0-1787974046471.pngKAZU_ISHI_0-1787974046471.png しかし、添付の動画ファイルに示されているように、設定を全く同じように構成しても、インストールはエラーで失敗します。 また、表示されているアイテム数が、あなたが提供してくれたスクリーンショットと異なっていることにも気づきました。この違いは問題に関連しているのでしょうか?それとも何が原因か分かりますか? 何かアドバイスがあれば、ぜひお聞かせください。 ご協力ありがとうございました。ご連絡をお待ちしております。 このメッセージは機械翻訳によって翻訳されました。 Re: LX2160AのJTAG(CCS)接続が失敗する ご説明いただきありがとうございます。 本日、インストール手順を再度実行し、以下のことを確認しました。 まず、Windows設定>インストールアプリから以下のアプリケーションをアンインストールしました。 - CodeWarrior Development Studio for QorIQ LS シリーズ - ARM V8 ISA v11.5.0 - CodeWarrior for ARMv8 v2020.06 次に、Windowsユーザーディレクトリ内の以下のフォルダを削除しました: - .codewarrior - .eclipse - .p2 その後、再度パッケージをダウンロードし、解凍してクリーンインストールを行いました。 その時点で、利用可能なソフトウェアサイトの設定は、添付のスクリーンショットに示されている通り、あなたが提供したスクリーンショットと一致していました。 KAZU_ISHI_1-1788156348600.pngKAZU_ISHI_1-1788156348600.pngKAZU_ISHI_1-1788156348600.pngKAZU_ISHI_1-1788156348600.pngKAZU_ISHI_1-1788156348600.pngKAZU_ISHI_1-1788156348600.pngKAZU_ISHI_1-1788156348600.pngKAZU_ISHI_1-1788156348600.pngKAZU_ISHI_1-1788156348600.pngKAZU_ISHI_1-1788156348600.png しかし、アップデートパッケージをインストールしようとしたところ、エラーが発生しました。 また、以前提供した情報について訂正させていただきたいと思います。先ほど送ったスクリーンショットは、アップデートエラーが発生してIDEが再起動された後に撮影したものです。 そのため、スクリーンショットは新規インストール直後の状態を正確に反映していませんでした。誤ったスクリーンショットをお送りしてしまい、ご迷惑をおかけしたことをお詫び申し上げます。 ご協力ありがとうございました。ご連絡をお待ちしております。 このメッセージは機械翻訳によって翻訳されました。 Re: LX2160AのJTAG(CCS)接続が失敗する こんにちは、 以下のシナリオに対応する設定テキストファイルを添付します。 1. 新たに設置された 2. アップデートパッケージを適用した後(更新が完了する前に失敗) 3. シナリオ2の失敗後にCodeWarrior IDEウィンドウ右下に表示される更新アイコンを使って再度アップデートを実行しました よろしくお願いいたします。 Re: LX2160AのJTAG(CCS)接続が失敗する おそらくこの問題は、お使いのWindows 11 OSに関連していると思われます。 CodeWarrior IDEを開き、「ヘルプ→>新しいソフトウェアのインストール→>すでにインストール済み→>設定」をクリックしてください。これにより設定をtxtファイルにコピーして私に送信してください。 Re: LX2160AのJTAG(CCS)接続が失敗する 以下のスクリーンショットを参照してください。最初の項目があなたのものとは異なります。 yipingwang_0-1788146095643.pngyipingwang_0-1788146095643.pngyipingwang_0-1788146095643.pngyipingwang_0-1788146095643.pngyipingwang_0-1788146095643.pngyipingwang_0-1788146095643.pngyipingwang_0-1788146095643.png 私が提供したファイル「CW_ARMv8_v2020.06_b200629GA_Win_Offline.exe」を再インストールしましたか? Re: LX2160AのJTAG(CCS)接続が失敗する さらに、サービスパックの仕様、特にサイズが同じかどうかをご確認ください。 yipingwang_0-1788251622006.pngyipingwang_0-1788251622006.pngyipingwang_0-1788251622006.pngyipingwang_0-1788251622006.pngyipingwang_0-1788251622006.pngyipingwang_0-1788251622006.png Re: LX2160AのJTAG(CCS)接続が失敗する 言語設定以外に明確な違いは感じませんでした。 C:\Freescale\CW4NET_v2020.06\CW_ARMv8\eclipse\eclipse.ini ファイルを編集して、以下の行を追加してください。 -Dfile.encoding=Cp1252 -Dsun.jnu.encoding=Cp1252 -Dorg.osgi.framework.language=en Open CodeWarrior IDE を C:\Freescale\CW4NET_v2020.06\CW_ARMv8\eclipse\eclipse.exe -nl en 次に、アップグレードが可能かどうか試してみてください。 Re: LX2160AのJTAG(CCS)接続が失敗する CodeWarriorを管理者として実行してください。 Windows 10 22H2を搭載したPCをお持ちですか? もし可能なら、Windows 10 22H2にCodeWarrior for ARMv8 11.5.12をインストールできるか試してみてください。 Re: LX2160AのJTAG(CCS)接続が失敗する こんにちは、 指示された手順に従い、指示通りにeclipse.iniを修正し、以下のコマンドでCodeWarriorを起動しました。 C:\Freescale\CW4NET_v2020.06\CW_ARMv8\eclipse\eclipse.exe -nl en その後、「Help -> 新規ソフトウェアをインストールする」を使ってアップデートを試みました。 しかし、アップデートはやはり失敗した。 エラーログファイルを添付しましたので、ご確認ください。 また、新規インストール直後、アップデートを試みる前に、ログに既にいくつかのエラーが記録されていることに気づきました。これらのエラーはアップデート失敗と関係があるのでしょうか? 添付のログには以下の両方が含まれています: - インストール後の初期起動、 - その後の更新はHelp -> Install New ソフトウェアを通じて実施されます。 よろしくお願いいたします。 Re: LX2160AのJTAG(CCS)接続が失敗する サポートされているOSについては「3」を参照してください。システム要件については、 https://www.nxp.com/docs/en/release-note/CW-ARMV8-RN.pdfを参照してください。
記事全体を表示
IMX8MP SDIO DDR50 clock issue Hello We recently applied the following NXP fix from kernel v7.2-rc4. 58c08eea91572df62d71731f1d1180a0dc8e3a6f mmc: sdhci-esdhc-imx: fix esdhc_change_pinstate() to allow default state restore Before this fix, esdhc_change_pinstate() required all pin control state named default, state_100mhz and state_200mhz to be present in device tree before applying any timing-specific pin control state. Therefore, if any pin control was not defined in the USDHC device-tree node, the driver did not apply state_100mhz, even when the SDIO device switched to DDR50 timing. With the fix, the driver validates and applies only the pin control state required for the selected timing mode. Therefore, state_100mhz is now correctly applied for SDR50 and DDR50 modes. After applying this fix, we observed an issue with the SD2 clock-pad configuration in state_100mhz. SDIO device (in DDR50 mode) does not work with: MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 However, SDIO device (in DDR50 mode) works with: MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x184 MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x192 MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 The 0x184 setting differs from 0x194 only in slew rate. The other working settings use different drive-strength values. We understand this behavior may be related to signal integrity. However, the result is not straightforward: DDR50 fails with 0x194, but works both with a slower slew rate (0x184) and with a stronger drive setting (0x196). In addition, SDR50 works correctly with 0x194. The issue is observed only in DDR50 mode. Could you please advise whether there are other i.MX8MP USDHC/SDIO configuration requirements or known limitations that we should consider? We would also appreciate any recommended debugging steps. Regards Vishal i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus Linux Re: IMX8MP SDIO DDR50 clock issue Hi @Zhiming_Liu  for state_100mhz SD2_DATA  is 0x194. Regards Vishal  Re: IMX8MP SDIO DDR50 clock issue Hi @vishal088  Can you also share the SD2_DATA setting?  Best Regards, Zhiming Re: IMX8MP SDIO DDR50 clock issue Hi @vishal088  If you configure DATA and CMD to 0x1D4, then use set CLK to 0x194. Will the DDR50 fail again? Can you please share the full usdhc dts node you are using? In addition, the SW team would like to know how you fixed usdhc to DDR50 mode. Best Regards, Zhiming Re: IMX8MP SDIO DDR50 clock issue Hi @Zhiming_Liu  Sry i typed wrong earlier. SD2_DATAx and SD2_CMD is 0x1d4 not 0x194 in my device tree for state_100mhz.   &usdhc2 {            pinctrl-names = "default", "state_100mhz";            pinctrl-0 = <&pinctrl_usdhc2>;            pinctrl-1 = <&pinctrl_usdhc2_100mhz>;            bus-width = <4>;            non-removable;            cap-power-off-card;            vmmc-supply = <&reg_wifi_ena>;            status = "okay"; };   pinctrl_usdhc2: usdhc2_grp {            fsl,pins = <                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                 0x190                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD             0x1D0                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0       0x1D0                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1         0x1D0                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2       0x1D0                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3       0x1D0            >; };   pinctrl_usdhc2_100mhz: usdhc2_100mhz-grp {            fsl,pins = <                         MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK                0x194                         MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD            0x1d4                         MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0      0x1d4                         MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1        0x1d4                         MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2      0x1d4                         MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3      0x1d4           >; }; As we are not defining the state_200mhz pinctrl, in this function  esdhc_readl_le, driver(sdhci-esdhc-imx.c) remove the support for SDR104 and HS400 for host and keep the support for DDR50 and SDR50.  ---- code if (IS_ERR_OR_NULL(imx_data->pins_100mhz)) val &= ~(SDHCI_SUPPORT_SDR50 | SDHCI_SUPPORT_DDR50); if (IS_ERR_OR_NULL(imx_data->pins_200mhz)) val &= ~(SDHCI_SUPPORT_SDR104 | SDHCI_SUPPORT_HS400); and during the sdio attach phase it set the timing to DDR50 after negotiation with card about its capabilities.  same is verfied with "cat /sys/kernel/debug/mmc1/ios" clock: 50000000 Hz actual clock: 50000000 Hz vdd: 21 (3.3 ~ 3.4 V) bus mode: 2 (push-pull) chip select: 0 (don't care) power mode: 2 (on) bus width: 2 (4 bits) timing spec: 7 (sd uhs DDR50) signal voltage: 1 (1.80 V) driver type: 0 (driver type B) Note: we are using kernel 6.12.49 and we noticed the issue in "esdhc_change_pinstate" and after checking we found a fix from nxp on kernel 7.2-rc4. And after applying, it start using state_100mhz pinctrl state correctly but it break sdio device communication completely.  Later after playing with clock config as mentioned in earlier msg we narrowed that clk as 0x194 is the breaking config.  Regards Vishal Re: IMX8MP SDIO DDR50 clock issue Hi @vishal088  I did tests on i.MX8MP EVK board with same setting in dts and kernel. For now, to speed up testing, I'm using the L6.18.20 kernel, but I don't think this issue has much to do with the kernel version. Before using patch. imx8mpevk login: root root@imx8mpevk:~# cat /sys/kernel/debug/mmc1/ios clock: 50000000 Hz vdd: 21 (3.3 ~ 3.4 V) bus mode: 2 (push-pull) chip select: 0 (don't care) power mode: 2 (on) bus width: 2 (4 bits) timing spec: 7 (sd uhs DDR50) signal voltage: 1 (1.80 V) driver type: 0 (driver type B) root@imx8mpevk:~# dmesg | grep -i sd [ 2.445460] sdhci: Secure Digital Host Controller Interface driver [ 2.451674] sdhci: Copyright(c) Pierre Ossman [ 2.463953] sdhci-pltfm: SDHCI platform and OF driver helper [ 2.507075] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA [ 3.635632] sdhci-esdhc-imx 30b40000.mmc: allocated mmc-pwrseq [ 3.636284] sdhci-esdhc-imx 30b50000.mmc: Got CD GPIO [ 3.669847] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA [ 3.682520] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA [ 3.818728] mmc1: new UHS-I speed DDR50 SDHC card at address 59b4 [ 9.902634] imx-sdma 30e00000.dma-controller: firmware found. [ 9.902634] imx-sdma 30e10000.dma-controller: firmware found. [ 9.920146] imx-sdma 30bd0000.dma-controller: firmware found. [ 9.928124] imx-sdma 30bd0000.dma-controller: loaded firmware 4.6 root@imx8mpevk:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS mtdblock0 31:0 0 32M 0 disk mmcblk2 179:0 0 29.2G 0 disk |-mmcblk2p1 179:1 0 256M 0 part /run/media/boot-mmcblk2p1 `-mmcblk2p2 179:2 0 10.5G 0 part / mmcblk2boot0 179:32 0 4M 1 disk mmcblk2boot1 179:64 0 4M 1 disk mmcblk1 179:96 0 29.8G 0 disk |-mmcblk1p1 179:97 0 256M 0 part /run/media/boot-mmcblk1p1 `-mmcblk1p2 179:98 0 12G 0 part /run/media/root-mmcblk1p2 root@imx8mpevk:~# cp /run/media/boot-mmcblk1p1/Image ./ root@imx8mpevk:~# ls -la Image -rwxr-x--- 1 root root 35678720 Mar 13 15:48 Image After using patch, test read and write on SD card. root@imx8mpevk:~# cp /run/media/boot-mmcblk1p1/tee.bin ./ root@imx8mpevk:~# cp tee.bin tee_test.bin root@imx8mpevk:~# cp tee_test.bin /run/media/boot-mmcblk1p1/ root@imx8mpevk:~# ls /run/media/boot-mmcblk1p1/ Image imx95-19x19-evk-dsi-serdes-jdi-wuxga-panel.dtb imx95-19x19-evk-os08a20-dual.dtb imx95-19x19-evk-ti-serdes-combo.dtb 'System Volume Information' imx95-19x19-evk-dsi-serdes-jdi-wuxga-panel.dtbo imx95-19x19-evk-os08a20-isp-it6263-lvds0.dtb imx95-19x19-evk-ti-serdes-combo.dtbo imx95-15x15-ab2.dtb imx95-19x19-evk-dsi-serdes.dtb imx95-19x19-evk-os08a20-isp-lvds-two-disp.dtb imx95-19x19-evk-ti-serdes.dtb imx95-15x15-evk-adv7535-ap1302.dtb imx95-19x19-evk-dsi-serdes.dtbo imx95-19x19-evk-os08a20.dtb imx95-19x19-evk-ti-serdes.dtbo imx95-15x15-evk.dtb imx95-19x19-evk-dual-os08a20-isp-it6263-lvds0.dtb imx95-19x19-evk-os08a20.dtbo imx95-19x19-evk-tja1104-rgmii.dtb imx95-15x15-frdm-8mic-reve.dtb imx95-19x19-evk-it6263-lvds-dual.dtb imx95-19x19-evk-ox03c10-all.dtb imx95-19x19-evk-tja1104-rmii.dtb imx95-15x15-frdm-ap1302.dtb imx95-19x19-evk-it6263-lvds-dual.dtbo imx95-19x19-evk-ox03c10-combo.dtb imx95-19x19-evk.dtb imx95-15x15-frdm-aud-hat.dtb imx95-19x19-evk-it6263-lvds-two-disp.dtb imx95-19x19-evk-ox03c10-combo.dtbo imx95-19x19-frdm-pro-aqr113c.dtb imx95-15x15-frdm-boe-wxga-lvds-panel.dtb imx95-19x19-evk-it6263-lvds0.dtb imx95-19x19-evk-ox03c10-isp-it6263-lvds0.dtb imx95-19x19-frdm-pro-aud-hat.dtb imx95-15x15-frdm-dual-os08a20-isp.dtb imx95-19x19-evk-it6263-lvds0.dtbo imx95-19x19-evk-ox03c10.dtb imx95-19x19-frdm-pro-dual-os08a20-isp.dtb imx95-15x15-frdm-neutron.dtb imx95-19x19-evk-it6263-lvds1.dtb imx95-19x19-evk-ox03c10.dtbo imx95-19x19-frdm-pro-inmate.dtb imx95-15x15-frdm-os08a20-combo-isp.dtb imx95-19x19-evk-it6263-lvds1.dtbo imx95-19x19-evk-ox05b1s-combo.dtb imx95-19x19-frdm-pro-neutron.dtb imx95-15x15-frdm-os08a20-isp.dtb imx95-19x19-evk-jdi-wuxga-lvds-panel.dtb imx95-19x19-evk-ox05b1s-combo.dtbo imx95-19x19-frdm-pro-os08a20-combo-isp.dtb imx95-15x15-frdm-root.dtb imx95-19x19-evk-jdi-wuxga-lvds-panel.dtbo imx95-19x19-evk-ox05b1s-isp-it6263-lvds0.dtb imx95-19x19-frdm-pro-os08a20-isp.dtb imx95-15x15-frdm-rpmsg.dtb imx95-19x19-evk-jtag.dtb imx95-19x19-evk-ox05b1s-isp-lvds-two-disp.dtb imx95-19x19-frdm-pro-root.dtb imx95-15x15-frdm-waveshare-7inch-c-panel.dtb imx95-19x19-evk-jtag.dtbo imx95-19x19-evk-ox05b1s.dtb imx95-19x19-frdm-pro-waveshare-7inch-c-panel.dtb imx95-15x15-frdm.dtb imx95-19x19-evk-lpspi-slave.dtb imx95-19x19-evk-ox05b1s.dtbo imx95-19x19-frdm-pro.dtb imx95-19x19-evk-adv7535-ap1302.dtb imx95-19x19-evk-lt9611uxc-ap1302.dtb imx95-19x19-evk-pcie1-ep.dtb imx95-jailhouse-inmate.dtb imx95-19x19-evk-adv7535.dtb imx95-19x19-evk-lt9611uxc.dtb imx95-19x19-evk-pcie1-ep.dtbo mcore-demos imx95-19x19-evk-adv7535.dtbo imx95-19x19-evk-lt9611uxc.dtbo imx95-19x19-evk-rm692c9.dtb tee.bin imx95-19x19-evk-ap1302.dtb imx95-19x19-evk-netc-rpmsg.dtb imx95-19x19-evk-rm692c9.dtbo tee_test.bin imx95-19x19-evk-ap1302.dtbo imx95-19x19-evk-neutron.dtb imx95-19x19-evk-root.dtb xen imx95-19x19-evk-cs42888.dtb imx95-19x19-evk-os08a20-combo.dtb imx95-19x19-evk-rpmsg.dtb imx95-19x19-evk-cs42888.dtbo imx95-19x19-evk-os08a20-combo.dtbo imx95-19x19-evk-sof.dtb DTS modification, pinctrl_usdhc2_100mhz is default value from linux-imx. From the tests, we can see that these modifications didn't affect the SD card read/write under DDR50. &usdhc2 { assigned-clocks = <&clk IMX8MP_CLK_USDHC2>; assigned-clock-rates = <400000000>; pinctrl-names = "default", "state_100mhz"; pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; // pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; vmmc-supply = <&reg_usdhc2_vmmc>; bus-width = <4>; status = "okay"; }; pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { fsl,pins = < MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 >; }; So I think the problem you're experiencing right now might be related to the custom board. As it happens, 0x194 causes signal quality issues. Best Regards Zhiming
記事全体を表示
MIFARE Plus EV1 (SL3) Wrong Sector Trailer access byte, Plain Communication broken Hi everyone, I'm working with a Mifare Plus EV1 card in SL3. While configuring the sector trailer access bytes, I accidentally set an incorrect value, and now plain communication no longer works for that sector. If the access bit pattern (C1/C2/C3) itself is still valid and only Byte 5 (PlainAC) is misconfigured, is re-authenticating and rewriting Byte 5 enough to fix plain communication? Or does a plain-communication failure alone also risk triggering the format-violation lock? Has anyone dealt with this before — any workaround, or is treating the sector as permanently unusable the only realistic option? Thanks in advance for any insight. #MIFARE_PLUS_EV1   #  MIFARE PLUS EV2MIFARE_PLUS_SE_1K  MIFARE
記事全体を表示
AN14554 Following up on the SmartFob power profile — two questions I couldn't resolve from AN14554. The SmartFob configuration includes a motion sensor alongside BLE, UWB and the secure element. How is motion typically used in the power model? Specifically, does a production smart fob continue BLE advertising while stationary, or is advertising suppressed or slowed until motion is detected? Second, does the estimator output an integrated standby current for a typical configuration? AN14554's advertising figures are measured at 100 ms, and I'm trying to understand the realistic 24/7 standby budget for coin-cell operation. Thanks. Re: AN14554 Hello, hope you are doing well.   I would recommend checking the "SmartFob BLE(KW47)+UWB(R5) Ranging - Power Consumption Estimator Tool v1.0" which is included under the Kinetis (KW3x/4x) Power Profile Tools for Automotive page. This tool models the SmartFob power profile across four use cases and defines when BLE advertising is active versus suppressed. In the "stationary" state (Use Case 1), there is no BLE advertising. The KW47 remains in Deep Sleep 2, while the motion sensor operates in standby mode. BLE advertising resumes after motion is detected, as mentioned for Use Cases 2 and 3. For standby current information specific to the KW47 + UWB Ranger5 + motion sensor SmartFob configuration, refer to the Consumption Table at the top of the estimator worksheet. The table indicates a system level standby current of approximately 3.77 µA at a 3 V coin-cell supply, with the value broken down by subsystem as well. Best regards, Sofia.
記事全体を表示
AN14554 SmartFobの電源プロファイルに関するフォローアップです。AN14554では解決できなかった2つの疑問点についてお答えします。 スマートフォブの構成には、BLE、UWB、セキュア要素と並行してモーション・センサが含まれています。モーションはパワーモデルで通常どのように使われているのですか?具体的には、市販のスマートキーは静止状態でもBLEアドバタイジングを継続するのか、それとも動きが検出されるまでアドバタイジングが抑制または減速されるのか? 第二に、推定器は標準的な構成における積算待機電流を出力するか?AN14554の広告表示値は100msで測定されていますが、コイン型電池で24時間365日稼働した場合の現実的な待機電力予算を理解しようとしています。 ありがとうございます。 Re: AN14554 こんにちは、お元気でお過ごしでしょうか。   Kinetis (KW3x/4x) Power Profile Tools for オートモーティブのページに付属している「SmartFob BLE(KW47)+UWB(R5) Ranging - Power Consumption Estimator Tool v1.0」をチェックすることをおすすめします。 このツールは、4つのユースケースでSmartFobのパワープロファイルをモデル化し、BLE広告がアクティブか抑制されているかを定義します。 「定常状態」(ユースケース1)ではBLE広告はありません。KW47はディープスリープ2のままで、モーション・センサはスタンバイモードで動作します。動作が検出されるとBLE広告は再開されます。これはユースケース2および3で述べられています。 KW47 + UWB Ranger5 + モーション・センサのスマートフォブ構成に関するスタンバイ最新情報については、推定量ワークシート上部の消費量表を参照してください。この表は、3Vのコイン型電池電源におけるシステムレベルの待機電流が約3.77μAであることを示しており、サブシステムごとの内訳も示されています。 よろしくお願いします、 ソフィア。
記事全体を表示
S32K324 A/D Hello, In the S32K324 microcontroller, is it possible to use two of the three A/D peripherals on one core and one A/D peripheral on the second core? Thanx  Regards Re: S32K324 A/D Thanx, we will check example with @michelet1 . Regards Re: S32K324 A/D Hello @gianpiero_lenta, Yes. You can refer to some multicore examples in community: Solved: Re: S32K324 Multi-Core Example Project based on Whiteboard - NXP Community S32K3 also provides XRDC as a HW mechanism to assign, isolate and protect peripherals to specific domains (cores): AN14715: S32K3XX Hardware Resource Isolation and Protection. Best regards, Julián
記事全体を表示