Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
S32G3:使用 s32 调试探针调试 Linux 亲爱的恩智浦支持团队 我们最近购买了 S32G-VNP-RDB3 板,并成功编译了 NXP Auto Yocto Linux 电路板支持包 v38.0。我们可以毫无问题地运行 Linux 并启动到 Linux 提示符。此外,我们还购买了 S32 调试探针。 我们目前的目标是使用调试器调试 Linux 内核、ATF(Arm 可信固件)和 U-Boot。我们将寻求有关如何将调试器连接到这些元器件、在内核、ATF 和 U-Boot 代码中设置断点以及如何浏览调试过程的指导。 您能否为我们提供一份全面的指南或说明,介绍调试器的连接、断点的设置和调试器的步进? 感谢您的帮助。 顺祝商祺! Re: S32G3: debugging Linux with s32 debug probe @chenyin_h我没有在 S32 调试探针的任何可用文档中找到任何关于"连接到运行中的目标" 的信息,也没有找到任何关于调试运行中的 linux 映像的说明。请在内部进行检查,并提供该用例的调试示例。 此外,在 S32 DS 上,调试配置没有设置"attach 的选项,只有" 。调试器总是对硬件执行 RESET,即使目标在 u-boot 时停止以进行 DDR 初始化,调试器也会给它一个 RESET,然后在连接时超时。 Re: S32G3: debugging Linux with s32 debug probe 你好,@贡献者3 谢谢您的提问。 要使用调试器,可从以下链接下载相应的官方文档:(包括用户指南、快速入门指南和概况介绍),这些都是使用调试器的基础知识。 https://www.nxp.com/design/design-center/software/automotive-software-and-tools/s32-debug-probe:S32-DP 此外,社区中还有一些其他有用的帖子,可以帮助您了解详情。 https://community.nxp.com/t5/S32-Design-Studio-Knowledge-Base/HOWTO-JTAG-Flash-Programming-with-S32-Debugger-and-S32-Debug/ta-p/1113953 https://community.nxp.com/t5/S32-Design-Studio-Knowledge-Base/HOWTO-Start-S32-Debugger-from-S32-Design-Studio-on-S32G274A-EVB/ta-p/1121865 希望对你有所帮助。 顺祝商祺! 切宁  
查看全文
我们可以禁用 SJA1105 DSA TAG 吗? 我们目前使用的是 SJA1105Q,其中三个端口正在使用中。调试驱动程序后,我们发现当端口 4 设置为 DSA 模式下的 HOST PORT 时,从端口 3 传输到端口 4 的帧会包含一个 DSA 标记,如 0xdadb 0x0403,这会导致帧被识别为未知以太类型。我们不需要 DSA 标记(主机标记),只需要正常的以太类型。请问能否移除这个 DSA 标签或禁用 DSA 功能?SJ1105 能否在不添加标签的情况下支持运行?请帮助回答这个问题。 以太网 Re: Can we disable SJA1105 DSA TAG? 你好@tartarter、 在 Linux DSA 模式下,穿越 HOST/CPU 端口的帧会被驱动程序标记,这样内核就能对每个交换机端口的流量进行解复用。这是意料之中的:标签只出现在 CPU 链路上;用户端口 (lanX) 上的流量是正常的以太网流量。 要点 在 DSA 模式下,CPU/HOST 端口必须带有 DSA(交换机)标记。 在用户接口(lan1、lan2、lan3......)上,内核会移除标签;应用程序应绑定到这些 lanX 接口,以查看标准以太类型。 如果您不需要 CPU 链路上的标签,则该设备必须作为独立的 L2 交换机运行(即不使用 Linux DSA)。这将禁用通过 DSA 进行的每端口管理以及 STP/PTP 集成等功能。 在 CPU 链路上观察到的确切以太类型会随内核/标记配置的不同而变化;它是由驱动程序插入的,而不是由 SJA1105 硬件添加的数据平面标记。 下一步 如果你分享你在哪个接口(eth0 与 LanX)上捕获的接口、你的内核版本以及主机/端口 4 的相关设备树片段,我们可以建议一个确切的配置,这样应用程序只能在 LanX 上看到普通的以太网。 顺祝商祺! 帕维尔 Re: Can we disable SJA1105 DSA TAG? 你好@tartarter、 感谢您分享您的配置。 首先,请允许我列出对配置 SJA1105PQRS 交换机有用的主要手册和工具(可从https://www.nxp.com/products/SJA1105PQRS页获取)。😞 文档 - UM11040:SJA1105P/Q/R/S 的软件用户手册(静态配置表、寄存器图、CGU 概述)。 文档 - AH1704:SJA1105PQRS 应用提示(时钟、RGMII/RMII 特性、CGU 设置示例、VLAN/L2 示例)。 软件 — SJA1105X 配置工具 (SJA1105X_CONFIG‑GENTOOL):基于 Python 的软件包,用于生成静态配置流/十六进制和示例。 其他开源参考资料(Linux 用户空间工具 & 格式参考): sja1105-tool (OpenIL)- 具有 XML 导入/导出和 SPI 上传功能的 Linux 用户空间工具;文档包括 XML 字段到 UM 表格的精确映射:GitHub 存储库,手册页面:XML 配置格式,文档/手册索引。 Linux 驱动程序文档 (DSA)- 解释了哪些表格是必须的,以及 L2/VLAN 决策是如何组合的:kernel.org doc。 您的 XML 出了什么问题 VLAN 查找表 vmemb_port = 0x1 - 只有端口 0 是 VLAN 成员。对于互联端口 2-3-4,成员屏蔽必须包括这些端口 (0x1C)。所有 5 个端口均使用 0x1F。(位掩码语义在 sja1105-tool XML 格式和 UM11040 中定义)。 tag_port = 0x1 - 在端口 0 上启用出口标记。对于出口上的 "正常 "无标记流量,设置 tag_port = 0x0。 L2 转发表 每个端口条目(索引 0...4)的 bc_domain = 0x0,用于阻止从每个入口端口到所有出口端口的广播/洪水。正确的面具是 "除自我外的一切": 端口 0 → 0x1E,端口 1 → 0x1D,端口 2 → 0x1B,端口 3 → 0x17,端口 4 → 0x0F。 当你不打算进行任何隔离时,reach_port 和 fl_domain 应该与广播功能域相匹配。 MAC 配置表 retag = 0x1 - 启用重标记;对于普通的非 VLAN 操作,最好禁用(retag = 0x0)。 vlanid = 0x22B(分配的 pvid)与单一无标记 VLAN 设置不一致;如果使用单一无标记 VLAN,建议在所有端口上使用 pvid = 1。 xMII 模式参数 xmii_mode = [2 2 2 2 2] (RGMII) 和 phy_mac = [0 0 0 0] 在 RGMII 模式下将 SJA1105 端口配置为 MAC(交换机驱动外部 PHY)--这符合典型的 "交换机 - PHY "接线方式。 关于时钟 (CGU) 的说明:仅有静态配置是不够的,还必须配置 CGU(RGMII TX/RX 时钟汇,必要时还需要 IDIV/PLL)。否则,端口可能会输出 TXC,但数据通路将无法正常运行。CGU 设置不属于静态 XML 的一部分;它需要按照AH1704(及更早的 AH1601)中的描述对 CGU 寄存器进行编程。 我建议从使用强制表和单一无标记 VLAN(例如,VLAN ID 1,tag_port = 0x0)的基本 L2 交换开始。这种方法使设置保持简单,同时确保交换机通过广播/泛洪功能域转发 ARP 和未知单播。Python SJA1105X_CONFIG-GENTOOL 示例使用的表字段名与 UM11040 文档中的字段名相同,并与 sja1105-tool XML 字段名相对应。因此,Python 工具可能会帮到你很多。 目前,我无法提供 XML 表格--这超出了我们的免费服务范围,而且我也没有目标硬件来在共享之前验证 XML。 请注意,由于即将到来的圣诞节假期和计划中的休假,我可以在新年后再提供答复。 顺祝商祺! 帕维尔 Re: Can we disable SJA1105 DSA TAG? 目前,我们使用 sja1105-tool 直接配置 SJA1105 芯片,以避免使用 DSA 功能。目前的进展是,我们可以使用手动构建的 XML 文件使 SJA1105 的多个端口输出 RGMII CLK。我们的要求是端口 4、端口 2 和端口 3 相互连接,并且这三个端口都能发送和接收普通网络类型的数据包(发送和接收时都不需要 DSA TAG)。理想情况下,所有五个端口都应相互连接。 所附文件是我们目前使用的 XML 配置。当前,端口 4 的软件包无法与 port3 通信。请帮助确认 xml 文件是否正确,能否提供一个能让所有端口相互通信的 XML?谢谢。 Re: Can we disable SJA1105 DSA TAG? 根据您的建议,将所有端口置于同一 VLAN 中,并在 VLAN 查找表中注册该 VLAN,然后禁用所有端口的主机端口功能。最终,要求得到了满足。谢谢。
查看全文
RW612 IEEE802.11mc/az支持 我有一个关于RW612 支持 IEEE 802.11mc 的问题。 最近,我看到了使用两个 FRDM-RW612 板的距离测量演示。恩智浦 FAE 建议首先购买 FRDM-RW612。在此基础上,我自己购买了一个 FRDM-RW612 板,安装了 SDK_25.9.0,并运行了 wpa_supplicant 示例应用程序(也是 wifi_cli)。 但是,当我尝试使用 wlan-ftm-ctrl 等命令时,所有 ftm 命令都返回HostCmd_RESULT_NOT_SUPPORT(=2)。 在示例应用程序中,我的 wifi_config.h 配置如下: #defineCONFIG_11MC 1 #defineCONFIG_11AZ 1 #defineCONFIG_CSI 1 #defineconfig_wls_csi_proc 1 固件信息为:WLAN 固件版本:rw610w-V2、IMU、FP99、18.99.6.p46、PVE_FIX 1 我想知道 RW612 是否正式支持 IEEE 802.11mc (FTM) 如果是,需要哪些额外配置或软件来启用它 如能得到任何指导,将不胜感激。 Re: RW612 IEEE802.11mc/az support 你好@wireless123 RW61X 不支持 802.11mc/az。 您能否分享一下您提到的文件,您可能提到了 CSI 功能。 顺祝商祺! 肖恩 Re: RW612 IEEE802.11mc/az support 88W8987 支持 802.11mc/az?请告诉我哪个设备支持 802.11mc/az。 顺祝商祺!
查看全文
从 linux 用户空间访问 u-启动 变量 你好、 处理器IMX8M PLUS Yocto :5.15-kirkstone 在通过 SD 卡启动时,可以通过在 yocto 版本的图像配方中添加以下行来访问 fw_printenv/setenv。 IMAGE_INSTALL += " u-boot-fw-utils" u-boot 配置如下所示。 CONFIG_ENV_SIZE=0x80000 CONFIG_ENV_OFFSET=0x380000 CONFIG_ENV_IS_NOWHERE=y CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_MMC_ENV_DEV=1 CONFIG_SYS_MMC_ENV_PART=0 但在目标机上执行这些命令时,却出现了以下错误。 ~# fw_printenv Configuration file wrong or corrupted 请提供使 fw_printenv/setenv 正常工作的程序。 谢谢, Kartheek Re: Access u-boot varibale from linux user space 你好, ,请参阅此处的补丁。 https://github.com/nxp-imx-support/meta-swupdate-imx/blob/kirkstone_5.15.71_2.2.0/recipes-bsp/u-boot/files/0001-enable-env_redunand-bootcount-limit-LF_v5.15.71-2.2.0.patch https://github.com/nxp-imx-support/meta-swupdate-imx/blob/kirkstone_5.15.71_2.2.0/recipes-bsp/u-boot/u-boot-imx_%25.bbappend 致敬, Zhiming Re: Access u-boot varibale from linux user space 您好, 在 etc 文件夹中配置 fw_env.config 并在 U-Boot 中运行 saveenv 之后,我可以从 Linux 用户空间访问 U-Boot 环境变量。 不过,我们计划稍后移除串行调试器。在这种情况下,我们将无法在 U-Boot 提示符下执行 saveenv。有没有办法在启动过程中自动保存环境? 谢谢, Kartheek Re: Access u-boot varibale from linux user space 您好, 您可以在 uboot env 中定义命令,然后在mmcboot(include/configs/ .h) 中运行它。 致敬, Zhiming Re: Access u-boot varibale from linux user space @kartheek 这个链接很有用。 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/u-boot-environment-preset-for-sdcard-mirror/ta-p/1702549 Re: Access u-boot varibale from linux user space 如果我没记错的话,yocto 默认会为 u-boot 生成一个默认的环境变量文件。 Re: Access u-boot varibale from linux user space 如果你仔细阅读 u-boot 文档,你会发现 u-boot 提供了完整的解决方案。在 u-boot 编译期间,make u-boot-initial-env 会生成默认的 u-启动 环境变量。`fw_printenv`/`fw_setenv`可以在首次运行时使用 `-f` 参数来访问这个默认的 u-boot 环境变量文件。这也是 swupate 首次运行时使用的方法。
查看全文
3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board Hello everyone, I am developing a new testbench including NXP products as mpc5744p MCU and DevKit motorGD board. i am going to get proffessional 3d pictures for my testbench and i need for the 3d files of: 1. mpc5744p MCU board 2. DevKit motorGD board i searched in NXP website and i found these to .zip files for the layout but i couldn't open them using Easyeda. 1. LAY-29379_B.zip 2. LAY-29333_E.zip please can anyone help me to open them or to get the 3d model files of two boards. Thanks and have a nice day! Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board Hello, i searched in NXP website and i found these to .zip files for the layout but i couldn't open them using Easyeda. 1. LAY-29379_B.zip 2. LAY-29333_E.zip Those are layout files designed in Candace: allegro. I do not expect you can extract 3D model out of the layout design. I have found the following method: EAGLE + Fusion 360 Open your .brd file in EAGLE. Use the Fusion 360 Sync feature: Go to Fusion 360 → Import EAGLE design. It will generate a full 3D PCB model with components. Export as STEP (.step) or IGES for mechanical integration. I do not expect you can extract 3D model out of the layout design. Sharing STEP file  which has like 500MB is not possible via community. Best regards, Peter Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board Hello petervlna, Thank you very much for your reply. We tried the suggested solution using Eagle + Fusion 360, but unfortunately we encountered an error indicating that the file cannot be opened (as shown in the image below). The same issue also occurs when using other PCB software such as EasyEDA, Altium, and KiCad. At this point, we urgently need the 3D models of the two boards in .STEP format. We would greatly appreciate it if you could provide these files directly, possibly via a cloud storage service such as Google Drive, OneDrive, MEGA, or any other convenient platform. Thank you again for your support. We look forward to your reply. Best regards, Ahmed AhmedKamal_59_1-1765970973937.png Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board Hello, Ok, in such case please submit a ticket at NXP web support. You will need also valid NDA in place with NXP in order to obtain such files. It is possible to share STEP model via our support portal as it allows 2GB files and I have shared STEP files before. It is not possible to share internal files outside of our official system. Best regards, Peter Re: 3d Model of NXP mpc5744p MCU Board & Devkit MotorGD Board Hello petervlna, Thanks very much for the suggestion, we opened a case with number (Case: 00756530). we hope to get the files as soon as possible. Many thanks. Best Regards, Ahmed AhmedKamal59_0-1766503944936.png
查看全文
从何处获取"s32k3_hse_lib_rtd400hf01_20250627.7z" 恩智浦专家,你好、 i see"S32K3常见问题检查列表(Check list)-V1.2-20251113.docx" 在第 4.4 章中,HSE 开发需要阅读 s32k3_hse_lib_rtd400hf01_20250627.7z、 如何获得?谢谢。 Re: where to get "s32k3_hse_lib_rtd400hf01_20250627.7z" Hi 我建议你联系当地代理商FAE获取,我们线上技术支持不被允许直接将这类软件发送给客户。 Best Regards, Robin
查看全文
S32Z270 — RESET时的 RTU0 时钟频率 大家好, 我正在使用恩智浦 S32Z270,想确认 RESET 时的 RTU0 时钟频率,并澄清我在连接劳特巴赫调试器时遇到的 MC_CGM 访问问题。 时钟问题 在执行任何应用程序级时钟初始化之前,您能否确认 RESET 后 RTU0 在哪个时钟源和频率下立即运行?RCON 为 0x30481804 MC_CGM 访问问题 我观察到以下行为: 当我通过 TRACE32 连接 RTU0 时: 无法读取 RTU0.MC_CGM 我可以读取 RTU1.MC_CGM 当我连接 RTU1 时: 我可以读取 RTU0.MC_CGM 无法读取 RTU1.MC_CGM 这似乎与直觉相反,因为我希望 RTU0 在直接连接时始终能够访问自己的 MC_CGM 块。 是否有任何 时钟、RESET 或保护机制 可以阻止 RTU0 访问 RTU0.MC_CGM ? 提前感谢! Re: S32Z270 – RTU0 clock frequency at reset 你好,@danieljcoliveira、 感谢您联系我们。为了更好地交流,我们最好一次只关注一个问题。有关 RESET 时的时钟频率以及 RESET 时的任何相关配置,请查看参考手册所附的 excel 表格 S32Z2_boot_settings.xlsx: alejandro_e_0-1765928770849.png 请查看该文件,如果找到所需的信息,请通知我。 谢谢! Re: S32Z270 – RTU0 clock frequency at reset 通过查看文件,我认为 RTU0 频率在我的配置中是 48MHz。 理由: 从S32Z2_boot_settings.xlsx 文件中,我看到一个重要的依赖点是 NO_PLL_BOOT_ENABLE 配置。如前所述,我的 RCON 配置为 0x30481804,因此 NO_PLL_BOOT_ENABLE= 0。 信号源 PLL FIRC Ref Clock (MHz) VCO (兆赫) PHI0 PHI1 PHI2 PHI3 PHI4 PHI5 PHI6 DFS0 DFS1 DFS2 DFS3 DFS4 DFS5 内核 51 2400 0 N.A. N.A. N.A. N.A. N.A. N.A. 0 400 0 0 400 0 因此,根据 BootROM 时钟中的 PLL DFS 频率表,PHI0 和 DFS0 输出为 0,这使得 FIRC 时钟成为 RTU0 的唯一时钟源。@alejandro_e 的分析正确吗?这是我在创建帖子之前的第一直觉,但我很怀疑我是否遗漏了任何依赖性。 Re: S32Z270 – RTU0 clock frequency at reset 你好,@danieljcoliveira、 是的,这是正确的,FIRC 是所有内核的预期时钟源,您也可以在页面顶部的注释中看到这一点: "BootROM 锁定核心 PLL 和外设 PLL,将 FIRC 作为时钟源..." 而在"模块时钟状态" 表中: 模块 RESET 时的默认时钟状态 执行引导程序期间 引导程序将控制权传递给 备注 HSE 固件-如果安全启动 (BOOT_SEQ=1) 应用程序-如果是非安全启动 (BOOT_SEQ=0) R52-RTU-0/SMU-M33 禁用 未使能 未使能 FIRC 应用内核始终在 FIRC 时钟上启用 请查看"BootROM Clocking" 页首的完整说明,了解 FIRC 的可能公差。 关于读取 MC_CGM 时的问题。请提供以下信息: 您试过运行我们的示例读取 MC_CGM 吗?还是您只尝试了您的应用程序? 您能描述一下进行读数的具体步骤吗?您看到的错误/问题是什么? 谢谢!
查看全文
iMX RT1176 USBホスト – HID POSデバイスが初期kUSB_HostEventNotSupportedで拒否されました NXPチームの皆様、こんにちは。 私は、 MCUXpresso SDK USB ホスト スタックを使用してi.MX RT1176を操作し、 USB ホスト モードでHID-POS/バーコード スキャナーを接続しようとしています。 問題 デバイスは列挙中に直ちに拒否されます: kUSB_HostEventNotSupported これは、初期コールバックUSB_HostEvent で発生します。 imxRT1176 上の汎用 HID POS デバイスに関するガイダンスや参考例があれば非常に役立ちます。 Re: iMX RT1176 USB Host – HID POS device rejected with initial kUSB_HostEventNotSupported こんにちは@Unais 、 ご質問ありがとうございます。お客様のご要望を理解しております。 主に SDKs のサンプルと関連サポートを提供します。特定のアプリケーション シナリオについては、より詳細な技術ガイダンスを得るために、当社の専門的な有料サポート チャネルを使用することをお勧めします。 https://www.nxp.com/support/support/nxp-engineering-services/professional-support-for-processors-and-microcontrollers:PREMIUM-SUPPORT ご理解とサポートをよろしくお願いいたします。   よろしくお願いいたします。 メイリュー Re: iMX RT1176 USB Host – HID POS device rejected with initial kUSB_HostEventNotSupported ご返信ありがとうございます。 私のセットアップでは、HID マウスとキーボードは正常に動作しています。ただし、すべての言語で QR コードとバーコードを処理する必要があるため、 HID POS をサポートする必要があります。現在、 Zebra CS6080スキャナーを使用しています。 デバイスでサポートされているCDC ホスト クラスも使用してみました。デバイスはサポートされている CDC デバイスとして正常に列挙されますが、QR コードまたはバーコードをスキャンしてもデータが受信されません。 このプラットフォームでHID POSをサポートするための代替または推奨されるアプローチがあるかどうか教えてください。 HID POS が直接サポートされていない場合、必要な機能を実現するのに役立つ回避策や構成オプション (スキャナーの USB モードの切り替えや別の USB クラスの使用など) はありますか? https://www.zebra.com/content/dam/support-dam/en/documentation/unrestricted/guide/product/cs6080-prg-en.pdf あらゆるガイダンス、ドキュメント、または参考例をいただければ幸いです。 Re: iMX RT1176 USB Host – HID POS device rejected with initial kUSB_HostEventNotSupported こんにちは@Unais 、 弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。 現在のプロジェクトは HID POS デバイスをサポートしていないため、対応するコードの変更が必要です。   関連する実装ガイダンスと例が記載されているアプリケーションノートAN14543を参照することをお勧めします。 https://docs.nxp.com/bundle/AN14543/page/topics/usb_barcode_scanner.html お役に立てれば幸いです。 よろしくお願いいたします。 メイリュー
查看全文
RT1064 EVK + EVSE-SIG-BRD2X:PLC (GreenPHY) 通过 SPI 初始化失败(CS 引脚不匹配?) 硬件设置: 主机板:i.MX RT1064 EVK 信号板:EVSE-SIG-BRD2X(根据 UG10140 修订版 4.0,跳线设置为默认值) 其他:OM-SE050X(已插入,但在软件中暂时禁用)。 软件环境: IDE:MCUXpresso IDE v24.9.2 信号板项目:dm-lpc5536-ev se-sigbrd(来自 GitHub 的最新消息) 宿主项目:rd-nxp-easyevse-imxrt106x(最新来自 GitHub),版本模式:EVSE 中间件:easyEVSE-Sevenstax_ISO-15118-2-and-ISO-15118-20(版本 3.0,软件包:rd-nxp-easyevse-imxrt106x-sevenstax.zip) 变更内容: 软件配置:为了简化调试,我禁用了 EVSE_config.h 中的以下内容和项目设置: enable_se=0, pkcs11_supported=0, enable_meter=0, enable_lcd=0 evse_sas_auth 0, evse_x509_auth 1, evse_x509_se050_auth 0 启用调试日志:在 stx_hal_spi.h 中添加了 #define HAL_SPI_DEBUG 1并将其他日志级别设置为 DEBUG。 硬件修改 (RT1064): 我在 RT1064 EVK 底部装上了电阻R278、R279、R280 和 R281,以启用 Arduino SPI 接口。 问题:系统无法初始化 PLC (GreenPHY/CG5317)。 代码到达 common\sevenstax\appl\appl-v2g.c:10839. stxPLC_HL_IsReady() 始终返回FALSE。 状态机进入 EVSE_ISO15118_SetState(EVSE_ISO15118_FWDownload)。 调试日志连续打印 stxHAL_SPI_BeginTransaction() 和 stxHAL_SPI_EndTransaction(),但通信似乎从未成功? 我的调查& 其他发现:我验证了硬件信号,发现了潜在的不匹配: HPGP_RESET 为高电平:我测量了 SIG-BRD 上的 J39 引脚 4,电压为3.27V。这确认 LPC5536 正在运行并已发布版本 RESET。 CP 电压:J9 CP 引脚正确测量 12V(A 状态)。 SPI 芯片选择 (CS) 不匹配? 我用万用表追踪了从R281(RT1064 上)到 Arduino 接头的连接。 R281 连接到 J36 引脚 3。根据 UG10140 Rev 4.0,J36 引脚 3 为 SPI_CS2。 但是,EVSE-SIG-BRD2X 的 J38(引脚 1-2)默认跳线设置希望 CS 信号位于SPI_CS1(J36 引脚 2)上。 这意味着 RT1064 正在驱动 CS2,但是信号板正在监听 CS1? 问题 由于 RT1064 EVK 上的 R281 被路由到CS2,我是否应该将 EVSE-SIG-BRD2X 上的跳线 J38更改为引脚 2-3,以与之匹配? Sevenstax/EasyEVSE 软件默认使用CS1 吗?如果是,请说明代码中(例如,pin_mux.c或特定的头文件),我是否应该修改配置,将CS2(GPIO_SD_B0_01)用作 PLC 芯片选择? 在这种设置下,通过 SPI 正确初始化 CG5317 还需要其他步骤吗? 如有任何建议或见解,我们将不胜感激, Alvis Re: RT1064 EVK + EVSE-SIG-BRD2X: PLC (GreenPHY) Initialization Fails via SPI (CS Pin Mismatch?) 我进行了进一步的硬件验证,并做了如下调整: 硬件变更:由于我确认 RT1064 EVK 上的电阻器R281连接到 EVSE sig brd 上的J36 引脚 3(SPI_CS2) ,因此我将 EVSE-SIG-BRD2X 上的跳线 J38移到了2-3 位置。这将把 CS2 信号从 RT1064 物理路由到 CG5317 PLC 芯片。 当前状态:即使将 J38 设置为 2-3(CS2),通信仍然失败。 系统将 PLC 在 0.119s 时 RESET([注意] PLCV-HL:stxCG5317_HL_Tick():RESET CG5317),HALSPI:stxHAL_SPI_Init() 在 0.630 时再次出现。 附上最新日志。 Re: RT1064 EVK + EVSE-SIG-BRD2X: PLC (GreenPHY) Initialization Fails via SPI (CS Pin Mismatch?) 大家好, 由于我已经成功解决了这个问题,因此特此更新此主题。我想在这里记录下解决方案,以帮助其他在构建 EasyEVSE 系统时可能遇到这种特定 SPI 通信问题的人。 根本原因是硬件跳线设置和缺少特定板互连所需的软件宏定义。 解决方案摘要: 要通过 Arduino 头在MIMXRT1064-EVK和EVSE-SIG-BRD (CG5317)之间成功建立通信,必须执行以下步骤: 1。硬件修改:根据 CCEVCPGSUG Rev 的说法,在 RT1064 EVK 板上5.0 CH4.3.1 时,必须短接(焊接)电阻 R278~R281,以便将 SPI 信号正确路由到 Arduino 接口。 2.软件配置:在项目配置中(如 EVSE_config.h)、必须将BOARD_SIGBOARD_ARDUINO_HEADER宏定义为1。如果未定义此宏或将其设置为 0,则 SPI 驱动程序将在错误的引脚/实例上初始化,或者 PLC 初始化将完全失败,因为固件假定板连接不同。 进行上述两项修改后,SPI 通信正常运行,PLC 成功初始化。 我希望这能为其他从事类似恩智浦 EasyEVSE 项目的人节省时间! 致以最诚挚的问候, Alvis
查看全文
[乱用] 投稿者: @JohnKlug / ボード: imx-プロセッサ / 報告者: ugmaug ugmaug は、 @JohnKlug が投稿した 「Could not invoke dnf for external kernel module in Yocto kirkstone」という 投稿について、以下の理由で報告しました: 理由:詐欺または不正行為 詳細: 投稿リンク: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/mp/1627964#M203740 投稿者: @JohnKlug |メール著者 報告者: ugmaug |メールレポーター 報告された投稿には 2 件の返信があります。
查看全文
[MIMXRT1160-EVK] 带有 1XK:NXP-WIFI 驱动程序插入 同步动态随机存取存储器(SDRAM) jaseze01_0-1765537499371.png 你好!有人使用外部同步动态随机存取存储器(SDRAM)在 RT1160-EVK 上成功运行恩智浦的 Wi-Fi 驱动程序吗?尽管我在叠加层中设置了 zephyr,sram = & sdram0,但在固件加载期间我还是遇到了总线故障 0x40000(DTCM 限制)。看来堆在同步动态随机存取存储器(SDRAM)中初始化不正确,或者我缺少正确 SDIO DMA 的 MPU/NoCache 配置。有什么建议吗?我还附上了我的 .overlay和 prj.conf 以防万一。 Re: [MIMXRT1160-EVK] with 1XK: NXP-WIFI driver into SDRAM 你好,@jaseze01 您使用的是 Zephyr OS 吗? 能告诉我您的 Zephyr 版本和 Zephyr SDK 版本吗? 能否请您告诉我重现此问题的详细步骤? 我会在本地尝试是否可以重现该问题,以便我们为您提供更好的支持。 顺祝商祺! Christine。 Re: [MIMXRT1160-EVK] with 1XK: NXP-WIFI driver into SDRAM 嗨,克莉丝汀、 感谢您的帮助。这是您需要的信息: 板:恩智浦 MIMXRT1160-EVK(Rev A) WiFi 模块:通过 M.2 接口嵌入式艺术家 1XK(村田 1XK /恩智浦 IW416)。 Zephyr 操作系统版本:4.3.0 Zephyr SDK 版本: 0.17.4 主机操作系统视窗 我正在单独开发这个项目,但在地址为 “BFAR 地址:0x40000” 时遇到了一个 “精确数据总线错误”(总线故障)。该错误在驱动程序成功协商电压开关后立即发生。 我设法让硬件做出正确响应(日志确认 "卡切换到 1.8V 信号"),因此我相信物理连接和电源都没有问题。然而,崩溃就在那之后发生了。 故障地址 (`0x40000`)与内部 ITCM/DTCM 的 256KB 边界相匹配。这让我怀疑问题可能与内存放置有关。由于 WiFi 固件约为 500KB,似乎无法放入默认的内部 RAM,或者 DMA 正在尝试访问不允许访问的内存区域(如 DTCM)。 可能的重现步骤 1.我正在构建一个 Zephyr 应用程序,在 MIMXRT1160-EVK 上启用 "nxp,wifi "驱动程序。 2.我修改了 "mimxrt1160_evk.overlay启用外部 同步动态随机存取存储器(SDRAM)(“&sdram0”,64MB)以容纳固件。 3.为了避免重叠,我尝试了不同的内存配置(将系统和固件的同步动态随机存取存储器(SDRAM)拆分)。 4。启动后,系统初始化 SDIO 总线,切换到 1.8V,然后因总线故障而崩溃。以下是显示顺序的日志输出: [00:00:01.123,000] sd: 卡切换到 1.8V 信号 [00:00:05.266,000] os:***** 总线故障 ***** [00:00:05.272 ,000] os:精确的数据总线错误 [00:00:05.277 ,000] os:BFAR 地址:0x40000 [00:00:05.283,000] os: r0/a1: 0x80006945 r1/a2: 0x00040000 r2/a3: 0x0000000c [00:00:05.305,000] os:故障指令地址 (r15/pc):0x3000242e 看起来,链接器放置数据/堆栈的位置与 WiFi 驱动程序在 DMA 操作中希望放置数据/堆栈的位置存在冲突。 你能否就 MIMXRT1160 将 WiFi 固件正确加载到外部同步动态随机存取存储器(SDRAM)的推荐内存配置(覆盖/链接器)提出建议?如果您能在本地重现并修复该问题,能否与我分享正在运行的叠加文件? 顺祝商祺! Re: [MIMXRT1160-EVK] with 1XK: NXP-WIFI driver into SDRAM 你好,@jaseze01 抱歉,由于带宽有限,我的回复晚了。 你能试试下面的参考吗: 恩智浦 M.2 Wi-Fi 和 BT 子卡 — Zephyr 项目文档 此外,该目录中还有默认的nxp_m2_1xk_wifi_bt.overlay文件: https://github.com/nxp-zephyr/nxp-zephyr/tree/nxp-v4.3-branch/boards/shields/nxp_m2_wifi_bt/ 您也可以参考此 .overlay以适应 1xk(M.2接口)连接到 I.MXRT1160-EVK。 https://github.com/nxp-zephyr/nxp-zephyr/blob/nxp-v4.3-branch/boards/shields/nxp_m2_wifi_bt/boards/mimxrt1060_evk_mimxrt1062_qspi_C.overlay 请告诉我上述内容是否对您有帮助。 如果仍有任何问题,请告诉我。 顺祝商祺! Christine。
查看全文
[COMM-IT EMBEDDED] [SE050] 目标上存在软件包解密问题 专家们好 客户是 COMM-IT EMBEDDED,他们使用 SE050 和 Edge2Go 进行软件包解密。但是有问题。存储在 Edge2Go 中的密钥用于管道(通过密钥钱包)加密软件包,之后此包将传输到目标 (SE050),以便在启动期间解密。 他们做了以下测试 使用由 Edge2Go 提供的密钥进入目标:bin 文件:aes_encrypt-> 加密文件-> aes_decrypt file-aes_decrypt。这一流程的工作原理是 管道(带开发密钥)。这个流程也很好 在目标系统上手动配置为 se050 的开发密钥:sscli 设置为 $SE050_KEY_ID " $work_dir/se050_key.bin " 相同密钥存储在其服务器上的密钥钱包中 管道:使用钱包中的这个密钥加密的软件包(开发密钥):(参数)openssl enc-e-aes-256-cbc-K?-iv??-不加盐?? 使用 aes_decrypt 在目标上解密 带有 Edge2Go 密钥的管道。流程与 (2) 相同,但这种情况下不可行。该密钥与 Edge2Go 中的密钥相同,但位于钱包中。 对我来说,这看起来像是密钥不匹配,我正在与客户确认,当用于加密的 bin 文件相同时,在情况 1 和情况 3 中是否有相同的加密文件。 但也想知道是否可以从 edgelock2go 进行检查?我可以看到,要上传到 edgelock2go 的密钥材料受到 PGP 工具的保护,但它是作为安全对象以纯文本存储的吗?有办法在 edgelock2go 上检查吗? 所附文件是基于 SE050 加密& 解密文件的源代码。 请予以澄清。 顺祝商祺! 坎 Re: [COMM-IT EMBEDDED][SE050]Isuue with package decryption on target 你好,Kan、 请从他们那里获取这些案例的详细日志文件,以便我们看到要检查的安全元件的 APDU 输入 + 输出。 谢谢您, Michael
查看全文
恩智浦 FRDM-iMX8MP 和 NPU 你好 我们使用 Yocto 开发 FRDM-iMX8MP 已经有一段时间了,最初使用的是 Scarthgap,它在某些方面不稳定。我们使用了一次 Matter 变体和一次不含 Matter 的 i612 芯片。 我们现在改用 Walnascar,这不成问题。尽管恩智浦层发生了一些变化,但(仍然)支持该板。不过,我们注意到,从 2025 年第一季度起,Matter 将不再支持 FRDM-iMX8MP。这让人非常恼火,因为我们在 OEM 项目中一直依赖它,现在却不得不手动完成所有工作。会为板提供支持吗?I-MX9 固然很好,但从长远来看,iMX8 也不容忽视。 我们还发现,几乎不可能在 FRDM-iMX8MP 上创建带有 INT8 的模型。eIQ 无法继续运行或崩溃。还有一些模型无法转换,因为框架存在错误,会产生错误。或者模型无法使用。 有什么解决办法吗? 为了让 Detect、Multipose 和 reID 正常工作,我们已经尝试了好几个星期。 检测并不是真正的问题,因为可以使用 NXP 的 TFLite。(但它也不能训练,而且 eID 只在 Ubuntu 20.04 下才会出现问题)。 姿势只能作为单个姿势使用,int8 -> float32。 而 reID 是完全不可能的。 i-MX95 的可能性会改变吗?即使 imX95 上市和恩智浦的 FRDM Dev 上市都需要很长时间。尤其是 eIQ 已经完全可用。 你是怎么做到的? FRDM 培训 i.MX8ULP Yocto Project Re: NXP FRDM-iMX8MP and NPU 你好 虽然计划在2025年第一季度结束对FRDM-iMX8MP的Matter支持,但恩智浦将继续通过其他软件版本为i.MX 8M Plus系列提供支持。向 Walnascar 的过渡是积极的一步,该平台将继续得到更新。尽管i.MX 9系列的开发正在取得进展,但i.MX 8系列仍然是重要的产品线。 关于 NPU 模型优化挑战: 您在 NPU INT8 模型转换中遇到的困难是已知问题。有几种方法可以解决这些问题: 1.检测模型: - 恩智浦提供的 TFLite 模型确实可用,但在训练方面有局限性。 2.姿态估算: - 采用 int8→float32 转换的单一姿态模型是目前支持的最佳选择。 - 对于 FRDM-iMX8MP,你可以使用带有以下命令的预建演示应用程序:`/usr/bin/gstnninferencedemo-posenet-camera /dev/video3` 3。对于 reID 模型: - 在当前平台上实施这些模型更具挑战性。 为获得更好的模型转换效果: - 遵循正确的工作流程:.pb→ .onnx(使用 PyTorch)→ .tflite使用 eIQ(量化)→优化 .tflite - 使用 eIQ 时,确保有足够的训练数据(300 多张图像),以便进行适当的量化 - 考虑使用 eIQ v1.12.1,而不是可能存在转换错误的较新版本 i.MX 95 将通过 Neutron 代表提供改进的 NPU 功能和更好的模型支持。虽然 FRDM 开发板的上市时间表仍在等待中,但增强的 NPU 将支持更复杂的模型和操作。 此致 Re: NXP FRDM-iMX8MP and NPU 你好 感谢您的详细答复。 作为未来的合作伙伴,我认为i.MX8系列将继续在框架方面获得大力支持,尤其是自从它在2034年至2038年被列入《活跃长寿命》以来。从开发者的角度来看,当停止对Matter和可能的其他元器件的支持时,这当然是非常令人沮丧的。这大大降低了开发速度,尤其是 Yocto,有时很难在这种条件下取得有意义的结果。 基于此,我们可以假设 FRDM i.MX8MP 将不再获得 Matter 支持,而到目前为止,只有 i.MX8 系列的其他板在最新版本中获得了此类支持。 对于某些没有严格要求的用例,当然可以使用所提供的预建检测模型。然而,要想获得这些模型的可靠、无误的 INT8 版本是非常困难的。 这个问题与 i.MX8 或 i.MX9 本身关系不大,更多的是与框架相关的问题,恩智浦(除 eIQ 外)对此不负直接责任。我们知道这一点。 众所周知,单姿势模型是可用的,但我们需要多姿势模型。虽然可以将单姿态模型与检测结合起来,强行放入多姿态设置中,但这并不是一个简洁或理想的解决方案。 关于 i.MX9:是的,整体概念听起来很有前景。然而,如果框架无法生成所需的模型,那么即使是配备了 NPU 的最佳 SoC,其价值也是有限的。这不一定是恩智浦的问题,除非是在 eIQ 的背景下。我们希望 i.MX9 能够使工具变得更加现代化和稳定。如果恩智浦能够将非常强大的YOLO模型(例如v10以后的更新版本)内置到eIQ中,那也将是非常可取的。尽管我们知道这些模型的内部复杂性,但它们却非常精确。 目前,我们将暂停开发,直到i.MX9上市,因为我们特别需要i.MX95。 感谢您提供的信息。
查看全文
AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) Hello NXP Team, I am working on TWR-KM35Z75M using the latest MCUXpresso SDK and evaluating the Metering Library with the MKM35Z512 AFE (24-bit Sigma-Delta ADC). I need clarification on how the AFE channels are configured and how the metering library acquires samples. SDK: Latest MCUXpresso SDK release for KM35 MCU: MKM35Z512VLQ7 (Kinetis-M series) 1. The metering examples (meterlib1ph_test, meterlib3ph_test) never explicitly reference these pins and need to know exactly where in the SDK the AFE channel-to-signal mapping is configured. 2. Actual AFE sampling rate (Hz / kHz), Whether sampling is triggered internally or by a timer, Whether samples are transferred via DMA, interrupt, or internal FIFO 3. I need to connect three-phase voltage and current signals to the board. What is the recommended channel assignment for 3-phase V/I pairs?   Re: AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) Hi @Anusudhan06  Thanks for your post,  There same some Application Notes related to your questions please review it: Using the FFT on Sigma-Delta ADCs Kinetis-M Two-Phase Power Meter - Reference Design Filter-Based Algorithm for Metering Applications Re: AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) Thank you @carlos_o  I am currently integrating the Analog Front-End (AFE) configuration with the Metering Library in my project and would greatly appreciate it if you could provide a reference example. I have already referred to the provided example file, meteringlib3Ph_test.c, which clearly shows how to use the Metering Library APIs. However, We would greatly appreciate it, If you could provide a more complete reference example that explicitly demonstrates the integration of both the AFE configuration and the Metering Library together. Initialization Sequence: The correct order and method for initializing both the AFE and the Metering Library. Data Flow: How the raw AFE data is captured, formatted, and correctly passed as input to the Metering Library functions. Thank you for your consideration of this request. Re: AFE Sigma-Delta Channel Mapping and Multi-Phase Input Support on TWR-KM35Z75M (Metering Library) I’m circling back to see if you’ve had a chance to look into my request yet.
查看全文
S32K324 ETM - 跟踪数据 您好,恩智浦团队, S32K324 是否支持并行跟踪 (TRACE_D)? 参考手册中指出 SK32K24 支持 ETM 接口,但也指出 Fast Trace pad TRACE_D [15:0] 仅在 S32K344 中可用。 查阅 S32K344_S32K324_S32K314_IOMUX IO 信号 excel 表,S32K324 的引脚分配并不详细。 Re: S32K324 ETM - TRACE_DATA 参考手册中指出 SK32K 3 24 支持 ETM 接口,但也指出 Fast Trace pad TRACE_D [15:0] 仅在 S32K344 中可用。 错字更正 Re: S32K324 ETM - TRACE_DATA 你好@Kpoio64 我理解有关参考手册的混乱根源。尽管没有明确说明,但 TRACE_D [15:0] 适用于所有 S32K3x4 设备(S32K314、S32K324 和 S32K344)。这些设备采用引脚对引脚兼容。 BR、VaneB
查看全文
[不正使用] 投稿者: @JohnKlug / ボード: imx-processors / 報告者: pwqnhb pwqnhb は、 @JohnKlug が投稿した 「Could not invoke dnf for external kernel module in Yocto kirkstone」という 投稿について、以下の理由で報告しました: 理由:その他 詳細: %EB%%94%%91%%EC%%B4/%%98%%EA%%88%%B0%%EB%%91%%9D% 投稿リンク: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/mp/1627964#M203740 投稿者: @JohnKlug |メール著者 報告者: pwqnhb |メールレポーター 報告された投稿には 2 件の返信があります。
查看全文
[ABUSE] Post By: @JohnKlug / Board: imx-processors / Reported by: ukqqszoj ukqqszoj has reported the post Could not invoke dnf for external kernel module in Yocto kirkstone posted by @JohnKlug for the following reasons: Reason: Something else Details: http://alabasirah.com/node/8261"> https://primfootball.com/pharmacy-online-6"> https://oregonweddingday.com/your-couple-name-2335"> http://pi5ny.com/node/4957"> http://fictioneer.org/content/pharmacy-online-2"> http://www.sccu.chula.ac.th/node/920"> https://www.vgame.ca/node/46841"> https://greenexport.vn/en/binh-luan-348"> https://www.07acg.com/node/42634"> http://fictioneer.org/content/pharmacy-online-2"> https://tarantulerosdecorazon.com/fichas-de-especie/pharmacy-online-3"> https://www.itconnecta.es/pharmacy-online-13"> https://www.onlyhomebuyers.com/for-sale-by-owner-homes/md/60"> https://sitepe.iiec.unam.mx/node/6213"> http://dev.nikol-buket.com/content/pharmacy-online-2"> https://www.availcalendar.com/calendar/25590"> https://totalhockeymanagement.com/pharmacy-online-10"> http://fictioneer.org/content/pharmacy-online-2"> https://rahuldolas.com/forum/general-discussion/topic/717/pharmacy-online"> https://investor18.ru/investors/pharmacy-online-2"> https://www.chstm.org/node/79813"> https://ufa-help.ru/content/pharmacy-online-2"> https://www.tripmayntra.com/pharmacy-online-8"> http://old-bxl.jeunescathos.org/fr/content/pharmacy-online-16"> https://www.spinsheet.com/century-club-log/pharmacy-online-2"> https://www.lawtech.ru/content/pharmacy-online-3"> https://carros-usados.us/pharmacy-online-8"> https://www.e123.hk/zh-hant/e-center/group/topic/933212"> https://www.itconnecta.es/pharmacy-online-13"> https://new.roger24.de/pharmacy-online-0"> https://www.tripmayntra.com/pharmacy-online-8"> http://surfing.4fan.cz/node/148"> https://ng.nycc.org/content/pharmacy-online-12"> https://ufa-help.ru/content/pharmacy-online-2"> https://tarantulerosdecorazon.com/fichas-de-especie/pharmacy-online-3"> http://polden.info/story/pharmacy-online-4"> http://old-namur.jeunescathos.org/fr/content/pharmacy-online-12"> http://shop.ls-s.ru/product/10105"> https://www.ziveknihy.sk/autor/pharmacy-online"> https://www.cableman.ru/node/84340"> Post link: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/m-p/1627964#M203740 Post author: @JohnKlug | Email Author Reported by: ukqqszoj | Email Reporter The reported post has 2 replies.
查看全文
管脚复用功能 项目需要复用ecspi3的spi功能与GPIO管脚功能,dts设计如下: &iomuxc {     pinctrl_ecspi3_gpio: ecspi3gpiogrp {         fsl,pins = <             // Pin, Mux Function, Electrical Properties             MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20       0xb0             MX6UL_PAD_UART2_RX_DATA__GPIO1_IO21       0xb0             MX6UL_PAD_UART2_CTS_B__GPIO1_IO22         0xb0             MX6UL_PAD_UART2_RTS_B__GPIO1_IO23         0xb0         >;     };      pinctrl_ecspi3: ecspi3grp {        fsl,pins = <        MX6UL_PAD_UART2_TX_DATA__ECSPI3_SS0             0x70a1        MX6UL_PAD_UART2_RX_DATA__ECSPI3_SCLK         0x70a1        MX6UL_PAD_UART2_CTS_B__ECSPI3_MOSI             0x70a1        MX6UL_PAD_UART2_RTS_B__ECSPI3_MISO             0x70a1        >;     }; };   &ecspi3 { pinctrl-names = "default", "sleep";     pinctrl-0 = <&pinctrl_ecspi3>; pinctrl-1 = <&pinctrl_ecspi3_gpio>; #address-cells = <0>; spi-slave; status = "okay";   slave { compatible = "ak-ecspi3-slave"; }; };   然后在spi_probe函数里面执行devm_pinctrl_get总是报错,错误码-19, ENODEV。代码片段如下,这个犯错是什么原因呢,导致找不到设备。是dts写的有问题吗? static int spi_slave_recorder_probe(struct spi_device *spi)       temp_pinctrl = devm_pinctrl_get(&spi->dev);     if (IS_ERR(temp_pinctrl )) {         dev_warn(&spi->dev, "pinctrl handle not found, pin switching disabled\n");       temp_pinctrl  = NULL; // Ensure it's NULL for later checks     } 回复: 管脚复用功能 我大概知道原因了,static int spi_slave_recorder_probe(struct spi_device *spi)这个接口的spi_device对应设备树的结点,所以再找pinctrl时找不到信息,有没有在这个接口里面操作获取pinctrl的方法,或者其他方式实现pinctrl两种模式的切换。 slave { compatible = "ak-ecspi3-slave"; }; Re: 管脚复用功能 您好,关于ECSPI3 SPI功能与GPIO管脚功能复用的问题,我可以提供以下指导: 在i.MX系列处理器中,SPI和GPIO功能可以在同一管脚上进行复用。根据您的设计需求,有两种方法可以实现这种复用: 1. **使用设备树配置管脚复用**: - 您需要在设备树中正确映射ECSPI3与对应的管脚 - 确保在imx8mp.dtsi文件中添加适当的映射,例如: ``` aliases { spi3 = &ecspi3; } ``` - 创建正确的pinctrl节点,如pinctrl_ecspi3和pinctrl_ecspi3_cs 2. **使用GPIO作为片选信号**: 如果您需要更灵活的片选控制,可以将ECSPI的CS配置为GPIO: - 在设备树中添加cs-gpios属性到ECSPI节点 - 创建单独的pinctrl条目用于GPIO功能的CS管脚 对于同时需要SPI和GPIO功能的场景,您可以: - 在不需要SPI功能时,通过设备树重新配置管脚为GPIO模式 - 对于片选信号,使用GPIO模式可以提供软件控制的灵活性,而使用硬件CS则可以提供更好的时序性能 如果您需要在代码中识别当前管脚功能状态,建议使用一个独立的GPIO管脚连接到相同的信号线以监测状态变化。 如有具体的实现疑问,请提供您的设备树配置以便我提供更具体的建议。 Re: 管脚复用功能 已经找到软件解决方案了,谢谢
查看全文
インラインECC 機能と実装方法について (日本語ブログ) インラインECC(Inline Error Correction Code)とは、メモリやストレージで発生するビットエラーをリアルタイムで検出・訂正する仕組みの一種です。i.MX 8M PlusのようなDDRコントローラでインラインECC機能を有効にすると、DDRアクセスのパフォーマンスは下がりますが、DDR容量の約1/8をECC領域として使用することで、ECCを保持するための専用メモリを追加する必要がありません(=BOMコストの低減)。 本稿では、インラインECCの機能説明と実装方法について紹介します。   1. i.MX 8M PlusのInline ECC機能   i.MX 8M PlusのDDR Controllerは、ソフトエラー(アルファ線や中性子などに起因するDRAMのビット反転)からシステムを保護するため、Inline ECC機能をサポートしています。 64bitsデータ毎に8bitsのECC (Error Correcting Code)を保持することで、シングルビットエラーの訂正とダブルビットエラーの検出を行います。 ECCを保持するための専用メモリは持たないため、DDR容量の約1/8をECC領域として使用します。 32bitデータバスをデータとECCで共有するため、Inline ECC機能を有効にするとDDRアクセスのパフォーマンスは下がります。   1.1. SEC(Single-bit Error Correction) SECは、1ビットのエラーを検出し、正しい値に修正するDDR Controllerの機能です。 Keita_Nagashima_4-1765435456176.png Fig. 1 SECの概念図   1.2. DED(Double-bit Error Detection) DEDは、2ビットのエラーを検出するDDR Controllerの機能です。 Keita_Nagashima_5-1765435507241.png Fig. 2 DEDの概念図 Note :  実際には、8バイトではなく、64バイトアラインのデータ領域(+8バイトのECC)でSEC、DEDを検出します。   2. Inline ECCのメモリマッピング(概略)   DDR容量によってInline ECCのメモリマッピングの設定方法が異なります。   2.1. DDR容量が2のべき乗の場合 (binary-aligned densities)¶ 例えば、1, 2, 4, 8, 16GBの場合、 DDRの下位アドレス 7/8 をデータ領域、上位アドレス 1/8 をECC領域として使用します。ECC領域には基本的にはアクセスできません。 データ領域をRegion 0~6、Other regionの最大8つの領域に分割して、各regionでECC機能の有効・無効を設定します。 Region 0~6の容量はすべて同じで、DDR容量の1/8, 1/16, 1/32, 1/64のいずれかに設定します。残りはすべてOther regionになります。 以下は、Region 0~6の容量を1/8に設定した場合のメモリマッピングです。この場合はOther regionは存在しません。 Keita_Nagashima_2-1765437269920.png Fig. 3 メモリマッピングの例 (1/8) 以下は、Region 0~6の容量を1/16に設定した場合のメモリマッピングです。 Keita_Nagashima_3-1765437330955.png Fig. 4 メモリマッピングの例 (1/16) 2.2. DDR容量が2のべき乗ではない場合 (non-binary-aligned densities) 例えば、3, 6, 12GBの場合、(i.MX 8M Plus LPDDR4 EVKは6GBなので、このケースに該当します)  DDR全体を2のべき乗の容量で3分割します。 3GBの場合、1GB x 3 6GBの場合、2GB x 3 12GBの場合、4GB x 3  3分割された下位アドレスの領域に対して、 2.1. DDR容量が2のべき乗の場合 の設定を行います。  3分割された上位アドレスの2つの領域の設定は、下位アドレス領域と同じ設定になります。  以下は、1/8を設定した場合のメモリマッピングです。 Keita_Nagashima_4-1765437541555.png Fig. 5 DDR容量が2のべき乗ではない場合のメモリマッピングの例 (1/8) 3. DDR Register Programming Aidによる設定   DDR Register Programming Aid (以下、DDR RPA)でInline ECCの設定を行います。 Note :  事前にInline ECCが無効の状態でDDR stress testが動作する(だけではなく、u-boot起動まで動作確認できている)DDR RPAを用意してください。 i.MX8MP LPDDR4/DDR4 RPA v6以前の設定には不具合があるためInline ECCが正常動作しません。 少なくともv7以降を使用してください。特に事情がなければ最新版のDDR RPAを使ってください。 (2024/09時点での最新版はv9です。) Linux BSPのU-Bootに含まれているi.MX 8M Plus EVK用の lpddr4_timing.c や ddr4_timing.c は CONFIG_IMX8M_DRAM_INLINE_ECC のdefineが入っていて一見動作しそうですが、Inline ECC設定の不具合があり正常動作しません。 EVKでテストする場合であってもDDR RPAとDDR Toolでlpddr4_timing.c/ddr4_timing.cを生成してください。 3.1. Inline ECCを有効にする DDR RPAのRegister ConfigurationシートでInline ECCの項目をEnableに設定します。   Keita_Nagashima_1-1765438351335.png 3.2. メモリマッピング   3.2.1. DDR容量が2のべき乗の場合 (binary-aligned densities) DDR容量が2のべき乗の場合は、ECC_Config_BinaryAlignedのシートを使用します。 Region 0~6の容量を指定します。(1/8, 1/16, 1/32, 1/64のいずれか) Region 0~6、Other RegionのECC有効・無効を設定します。(PROTECTED, UNPROTECTEDのいずれか) Region 0~6の容量を1/8に設定した場合の例です。 Keita_Nagashima_2-1765438431895.png Fig. 6 DDR RPAでの設定 (1/8) Region 0~6の容量を1/16に設定した場合の例です。 Keita_Nagashima_3-1765438479461.png Fig. 7 DDR RPAでの設定 (1/16) 3.2.2. DDR容量が2のべき乗ではない場合 (non-binary-aligned densities) DDR容量が2のべき乗ではない場合は、ECC_Config_nonBinaryAlignedのシートを使用します。(i.MX 8M Plus LPDDR4 EVKは6GBなので、このケースに該当します) Region 0~6の容量を指定します。(1/8, 1/16, 1/32, 1/64のいずれか) ECC Memory Region 0の中のRegion 0~6、Other RegionのECC有効・無効を設定します。(PROTECTED, UNPROTECTEDのいずれか) ECC Memory Region 1/2 は自動的に ECC Memory Region 0と同じ設定になります。 Region 0~6の容量を1/8に設定した場合の例です。 Keita_Nagashima_6-1765438674787.png Keita_Nagashima_5-1765438582315.png Keita_Nagashima_7-1765438743893.png Fig. 8 DDR RPAでの設定 (1/8) Region 0~6の容量を1/32に設定した場合の例です。 Keita_Nagashima_8-1765438820847.png Keita_Nagashima_9-1765438875946.png Keita_Nagashima_10-1765438920329.png Fig. 9 DDR RPAでの設定 (1/32) 4. DDR Toolによるテストとlpddr4_timing.c/ddr4_timing.c生成   DDR ToolでDDR RPAで行った設定の動作確認ができます。 DDR stress testをパスしたら、U-Bootに組み込むlpddr4_timing.c/ddr4_timing.cを生成します。   5. U-BootのInline ECC実装   5.1. lpddr4_timing.c/ddr4_timing.cの置き換え lpddr4_timing.c または ddr4_timing.c をDDR RPAとDDR Toolで生成したファイルに置き換えます。 uboot-imx/board/freescale/imx8mp_evk/lpddr4_timing.c uboot-imx/board/freescale/imx8mp_evk/ddr4_timing.c   5.2. Configの追加 U-Bootのconfigファイル に CONFIG_IMX8M_DRAM_INLINE_ECC=y を追加します。 Listing 1 uboot-imx/configs/imx8mp_evk_defconfig に追加 CONFIG_IMX8M_DRAM_INLINE_ECC=y Note : U-Bootのconfigファイル imx8mp_evk_inline_ecc_defconfig はLinux BSP 5.4で追加されましたが、適切にメンテされていないので非推奨です。 EVKでテストする場合は imx8mp_evk_defconfig にconfigを追加して使用したほうが安全です。 5.3. Linux reserved領域の変更¶ ソフトウェアからECC領域へのアクセスは禁止されています。 そのため、Linux kernel(等のシステム・ソフトウェア)がECC領域をreserved領域として扱うようにdevice treeを動的に変更します。 デフォルトはEVKのDDR容量(LPDDR4は6GB、DDR4は4GB)に合わせてハードコードされているので、 DDR容量がEVKと異なる場合はコードを修正する必要があります。 uboot-imx/board/freescale/imx8mp_evk/imx8mp_evk.c の ft_board_setup 関数でECC領域を実際のDDR容量に合わせて変更します。 例えば、DDR4の場合は、DDR容量4GBの想定でECC領域の開始アドレスとサイズがハードコードされています。 Listing 2 DDR4の容量4GBでハードコードされている部分 phys_addr_t ecc_start = 0x120000000; size_t ecc_size = 0x20000000; 実際のDDR容量が2GBの場合、物理アドレス 0x40000000 ~ 0xc0000000 の上位アドレス 1/8 (256MB)をECC領域としてreserveします。 Listing 3 DDR容量2GBに変更する例 phys_addr_t ecc_start = 0xb0000000; size_t ecc_size = 0x10000000; imx8mp_evk.c を使用していない場合は、 ft_board_setup 関数と同等の処理を追加する必要があります。   5.4. Relocationの対応 DDR容量が2GB以下、かつ、OPTEEを組み込まない場合、U-BootはDDRの最上位アドレスにrelocationを試みますが、 ECC領域と重なっているため、relocation中にハングアップします。 それを回避するために、 imx8mp_evk.h のDDR容量定義 PHYS_SDRAM_SIZE からECC領域の容量(1/8)を減らします。 Listing 4 uboot-imx/include/configs/imx8mp_evk.h -#define PHYS_SDRAM_SIZE 0x80000000 +#define PHYS_SDRAM_SIZE 0x70000000   5.5. ECC領域へのアクセス処理を除外 U-BootでECC領域にアクセスしているようなコードが他にもある場合は、ECC領域へのアクセスを除外する必要があります。 例えば、メモリテストでDDR全域にアクセスしているような場合は、ECC領域へのアクセスは行わないように変更してください。 参考: https://github.com/nxp-imx/uboot-imx/blob/lf-6.1.55-2.2.0/configs/imx8mp_evk_defconfig#L10-L11   6. Linuxでの動作確認   6.1. 起動ログの確認 Linux起動時にEDACドライバが組み込まれていることを確認します。(EDAC = Error Detection And Correction) i.MX 8M PlusのEDACのドライバは linux-imx/drivers/edac/synopsys_edac.c です。 Listing 5 起動ログの確認 root@imx8mp-lpddr4-evk:~# dmesg | grep EDAC [ 0.116733] EDAC MC: Ver: 3.0.0 [ 1.874689] EDAC MC0: Giving out device to module 1 controller synps_ddr_controller: DEV synps_edac (INTERRUPT)   6.2. メモリマッピングの確認 コマンド cat /proc/iomem で、 5.3. Linux reserved領域の変更 で設定したとおりにECC領域がreservedになっていることを確認します。 以下はi.MX 8M Plus LPDDR4 EVK(DDR容量が6GB)の例です。 Listing 6 メモリマッピングの確認 root@imx8mp-lpddr4-evk:~# cat /proc/iomem | grep reserved ... b0000000-bfffffff : reserved ... 130000000-13fffffff : reserved ... 1b0000000-1bfffffff : reserved   6.3. ECCエラー発生時の確認 アプリケーション・ノート AN13566 - ECC on i.MX 8 Series によると、i.MX 8M PlusのDDR ControllerにはECCエラーを意図的に発生させる機能はありません。 3.2.9 ECC error injection through software The ECC error injection is a useful optional feature for system-level software validation. Unlike the Sideband ECC, there is no dedicated hardware support for it. However, errors can be injected through the software by unlocking the ECC region through the “ECC_REGION_PARITY_LOCK” register and overriding ECC parity bits. When the corresponding addresses are read from a protected memory region, ECC errors are generated as correctable or uncorrectable, depending on the type of error introduced. NOTE: ECC data poisoning is not supported by the DDR controller. The reference manual will be updated to remove this functionality. したがって、ECC領域のロックを解除し、コアからECC領域を変更することで擬似的にECCエラーが発生する状態を作ってテストを行います。 基本的な考え方は以下のようになります。 DataAddrに8bytes値0xffffffff_ffffffffを書きます。DDRCはDDRに書き込みを行い、同時にECC 1byteも書き込みます。 ECC regionをアンロックします。コアからECC領域へのアクセスが可能になります。 DataAddrに対応するECC byteのアドレスを求め、ECCの1byteを読みます。 1bitだけ反転した値0xffffffff_fffffffeをDataAddrに書きます。ECC 1byteも更新されます。 ECC 1byteに、3.で読んだECC byteの値を書き戻します。 ECC regionをロックします。コアからECC領域へのアクセスが禁止されます。 DataAddrの値を読みます。この時、ECCが矛盾しているため、Single-bit Error Correctionが動作して、訂正された8bytesの値、0xffffffff_ffffffffが読み出されます。また、Correctable Error interruptがコアに通知されます。 Note :  DDRへのアクセスを発生させるため、non-cacheの領域でテストを行う必要があります。 Keita_Nagashima_11-1765439108812.png Fig. 10 SEC(Single-bit Error Correction)のテスト方法¶   DED(Double-bit Error Detection)のデバッグも同じ方法で行うことができます。   7. 参考資料 アプリケーションノート: AN13566 - ECC on i.MX 8 Series アプリケーションノート: AN13616 - Validating i.MX 8 Inline ECC Engine Functionality(入手方法はNXPの担当者にお問い合わせください。) i.MX 8M Family DDR Tool Release - NXP Community i.MX 8M Plus DDR Register Programming Aids (RPA) - NXP Community 8. 注意 本資料はNXP製品を活用していただくための参考資料です。 正式な仕様は製品マニュアル・アプリケーションノートを参照ください。 使用ソフトウェアのバージョンなど諸条件の差異により、記載内容と実際の動作が異なる場合があります。 すべての機能検証を行ったものではありませんので、必ずご使用目的に適合した検証・試験を行ってください。 =========================​ 本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。​ お手数をおかけしますが、お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」をご参照ください。​ (既に弊社NXP代理店、もしくはNXPとお付き合いのある方は、直接担当者へご質問いただいてもかまいません。)​ インラインECC(Inline Error Correction Code)とは、メモリやストレージで発生するビットエラーをリアルタイムで検出・訂正する仕組みの一種です。i.MX 8M PlusのようなDDRコントローラでインラインECC機能を有効にすると、DDRアクセスのパフォーマンスは下がりますが、DDR容量の約1/8をECC領域として使用することで、ECCを保持するための専用メモリを追加する必要がありません(=BOMコストの低減)。 本稿では、インラインECCの機能説明と実装方法について紹介します。 i.MX Processors 日本語ブログ
查看全文
s32k344 数据表和参考手册缺少寄存器级别的详细信息 s32k344 数据表和参考手册遗漏了 s32 设计工作室配置工具中配置所需的 Soc 组件的寄存器级别详细信息。我在哪里可以找到这些详细信息? Re: s32k344 datasheet and Reference manual misses register level details 您好, 不知道缺少了什么。参考手册 (https://www.nxp.com/webapp/Download?colCode=S32K3XXRM) 确实包含了每台外围设备的所有寄存器级别的详细信息。它涵盖了设备的内存映射(作为 excel 文件附件)、各个章节中的外设描述及其寄存器定义(地址偏移、位域、RESET 值、访问类型)。 BR, Petr
查看全文