Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
Wi-Fi Easy Connect (DPP) Between Two MediaTek Genio-510 Boards Hi NXP Community, Problem Statement I am trying to connect two MediaTek Genio-510 EVK boards using Wi-Fi Easy Connect (DPP). Board A → AP + DPP Configurator (hostapd) Board B → STA + DPP Enrollee (wpa_supplicant) DPP authentication succeeds, but configuration fails with the error: DPP-FAIL Configurator rejected configuration DPP-CONF-FAILED I would like to understand what is causing the configurator to reject the configuration, even though DPP authentication completes successfully. Board Configuration Details 🔹 Board A (AP + DPP Configurator) hostapd version: v2.10 Interface: wlp1s0 Mode: AP Security: DPP only /etc/hostapd_nxp3.conf ctrl_interface=/var/run/hostapd interface=wlp1s0 driver=nl80211 ssid=DPP_AP111 hw_mode=g channel=1 country_code=IN ieee80211n=1 ieee80211w=2 wmm_enabled=1 auth_algs=1 # ---- DPP CONFIG ---- wpa=2 wpa_key_mgmt=DPP rsn_pairwise=CCMP dpp_connector=1 Start command: hostapd /etc/hostapd_nxp3.conf -B AP verification: iw dev # Interface wlp1s0 # type AP # ssid DPP_AP111 # channel 1 (2412 MHz) 🔹 Board B (STA + DPP Enrollee) wpa_supplicant version: v2.10 Mode: Managed (STA) /etc/wpa_supplicant_nxp.conf ctrl_interface=/var/run/wpa_supplicant update_config=1 pmf=2 dpp_config_processing=2 Start command: wpa_supplicant -i wlp1s0 -D nl80211 -c /etc/wpa_supplicant_nxp.conf -B DPP Procedure Followed On Board A (Configurator) hostapd_cli Commands executed: dpp_configurator_add dpp_bootstrap_gen type=qrcode chan=81/1 mac=a8:41:f4:89:a2:5d dpp_bootstrap_set 1 conf=sta-dpp ssid=DPP_AP111 configurator=1 dpp_bootstrap_get_uri 1 dpp_listen 2412 Result: DPP Authentication → SUCCESS DPP Configuration Sent → ✅ Relevant logs: DPP-AUTH-SUCCESS init=0 DPP-CONF-REQ-RX DPP-CONF-SENT On Board B (Enrollee) wpa_cli Commands executed: DPP_QR_CODE dpp_auth_init peer=1 role=enrollee Logs observed: DPP-AUTH-SUCCESS init=1 GAS-QUERY-DONE result=SUCCESS DPP-FAIL Configurator rejected configuration DPP-CONF-FAILED Questions Why does the configurator reject the configuration even though authentication succeeds? Should the configurator send PSK/SAE credentials instead of sta-dpp? Is this a driver or firmware limitation on MediaTek Genio-510 for full DPP support? Any guidance or working reference configuration for Genio-510 DPP AP ↔ STA would be very helpful.
View full article
S32K3 上の FlexCAN DMA – 割り込みと TCD NXPチームの皆様、こんにちは。 私たちはS32K3 上で FlexCAN Rx DMAを評価しており、私たちの観察結果が予想通りであるか、または推奨されるアプローチがあるかどうかを確認したいと思います。 アプローチ1:割り込みベースのDMA完了イベント情報 DMA は 1 つの CAN フレームを Rx FIFO から RAM 一時バッファにコピーし、割り込みを生成します。 データをアプリケーションの循環バッファにプッシュする前に、一時バッファが必要です。 観察/質問: eDMA は循環キューや車載再Arm機能をサポートしていないため、一時ストレージが必要なようです。 負荷がかかると RX メッセージが失われ、場合によっては TX が停止することがわかりました。 レガシー Rx FIFOおよびER-FIFOに対して DMA を使用してロスのない循環 Rx バッファリングを実装するための推奨方法はありますか、それともこれは既知の制限ですか? アプローチ2: TCDベースのDMA DMA は、生の FlexCAN レジスタ ワード(CS/DLC/フラグ、ID、データ) を RxFIFO 出力場所 (ソース) から RAM バッファ (宛先) にコピーします。 受信データは正規化された CAN メッセージ形式ではありません。 観察/質問: CPU は、メッセージ ID (STD/EXT)、ペイロード長 (DLC から派生)、正しい順序のペイロード バイト、FD/BRS フラグ、およびタイムスタンプを解析する必要があります。 FlexCAN DMA は生の転送のみを実行し、メッセージの正規化は常にソフトウェアで実行する必要があると考えられますか? DMA 受信フレームの RTD ドライバ解析ロジックを再利用するための推奨方法はありますか? もう 1 つの問題は、宛先モジュロが CAN FD フレームの循環キュー操作を処理できないことです。つまり、TCD 方法には宛先アドレスを特定のバイト数後にラップするのに役立つ宛先モジュロの概念が 1 つあります。SO、CAN FD フレーム バイト数 (フレームあたり 72 バイト) は、モジュロ値と適切に一致しません。 そして、宛先最終アドレスレジスタの調整に別のオプションを試しました。単一フレームでは機能しますが、20 フレームのキューのようなフレーム数に対して宛先アドレスが適切にラップされないなどの問題があります。 追加の質問 通常の Rx FIFO 割り込みと比較して、 CAN DMA 割り込みを使用する利点は何ですか。 上記のすべての観察が S32K3 上の FlexCAN Rx DMA の予想される動作であるかどうかを確認してください。 ありがとう... Re: FlexCAN DMA on S32K3 –Interrupt vs TCD こんにちは@kapidlitap 同様のトピックの質問。 https://community.nxp.com/t5/S32K/S32K358-レガシー-RX-Fifo-DMA 付き vs-強化された RX-Fifo-DMA/td-p/2266494 当社の RTD ドライバはユーザー向けの DMA 構成をすでに完了しているため、ユーザーは自分のニーズに合わせて DMA を再構成する必要はありません。 割り込み方法と DMA 方法のパフォーマンス比較データは提供していません。ユーザーは実際の使用ケースに応じて構成およびテストを行い、最適な方法を選択する必要があります。 拡張FIFO+DMAデモ https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-FlexCAN-Ip-TX-RX-EnhanceRXFIFO-DMA-test-S32DS3-5/ta-p/2015832
View full article
S32K3xx、FLS 阵列完整性检查 队员们好 是否有示例或验证测试项目可演示在旧 RTD 版本(如 3.0.0)的 FLS 驱动程序中使用 ArrayIntegrityCheck、我可以与客户分享吗? 我注意到较新 RTD 版本(例如 6.0.0)的用户手册包括此类示例,但我找不到旧版 FLS 的类似内容。 谢谢! BR,丹尼尔 RTD Re: S32K3xx, FLS ArrayIntegrityCheck 你好,我是@danielmartynek、 我附上了基于 RTD 3.0.0 的 C40_Ip_ArrayIntegrityCheck 示例P07 版本。 顺祝商祺! 丹 Re: S32K3xx, FLS ArrayIntegrityCheck 你好,@DanNguyenDuy、 谢谢你的举例。 由于目前不在办公室,我还没能进行测试。 但是,客户报告遇到了指令总线故障异常。 澄清一下:我的理解是,阵列完整性检查中涉及的 C40_Ip API 必须从 SRAM 中执行,因为闪存阵列在测试期间不可用。 这样做对吗? 能否确认在测试/验证驱动程序期间,从 SRAM 运行了哪些特定的驱动程序 API? 谢谢! BR,丹尼尔 Re: S32K3xx, FLS ArrayIntegrityCheck 你好,我是@danielmartynek、 1.这样做对吗? => 是的,这是正确的。 2.能否确认在测试/验证驱动程序期间,从 SRAM 运行了哪些特定的驱动程序 API? => 到目前为止,还没有特定的驱动程序支持在 SRAM 上运行 C40_Ip_ArrayIntegrityCheck。 顺祝商祺! 丹 Re: S32K3xx, FLS ArrayIntegrityCheck 你好,@DanNguyenDuy、 感谢您的回复。 我知道我们需要将C40_Ip_ArrayIntegrityCheck()和C40_Ip_CheckUserTestStatus()放在 SRAM 中。 是否有其他功能也需要放在 SRAM 中? C40_Ip 驱动程序的功能肯定已经测试过了,对吗? 那么,您能否提供有关测试设置的详细信息?如果驱动程序所有者能就验证是如何进行的发表评论,将会很有帮助。 BR,丹尼尔 Re: S32K3xx, FLS ArrayIntegrityCheck 你好,我是@danielmartynek、 RTD 团队使用 linker_ram 代替 linker_flash 测试了该功能。 在示例中,用户可以修改 makefile 中的一个变量:LOAD_TO=ram 以使用 linker_ram 顺祝商祺! 丹
View full article
MWCT2016S 无法更改 UART 波特率 嗨,恩智浦社区、 我有一个关于 MCAL 中 UART 模块配置的问题。我无法更改波特率。SBR 和 OSR 寄存器符合预期,但实际测量的波特率为 72254。请帮助解决这个问题。 感谢您的帮助! Johnson97_0-1765938756521.png Johnson97_1-1765938839658.png Re: MWCT2016S can't change UART baud rate 请参阅[RTD400 MCAL 3] K312 MCU 时钟系统配置 的 2.2 EB 配置 部分配置 Mcu 。 Re: MWCT2016S can't change UART baud rate 是的,我已经调用了 Mcu_DistributePllClock() 函数。 如有必要,附加文件包含基于参考例程的源代码。 Johnson97_0-1766022864617.png Re: MWCT2016S can't change UART baud rate 您是否在主函数中调用了Mcu_DistributePllClock()?请参考以下代码: /* Initialize the clock driver */ Mcu_Init(NULL_PTR); /* Initialize the clock tree and apply PLL as system clock */ Mcu_InitClock(McuClockSettingConfig_0); #if (MCU_NO_PLL == STD_OFF) while ( MCU_PLL_LOCKED != Mcu_GetPllStatus() ) { /* Busy wait until the System PLL is locked */ } Mcu_DistributePllClock(); #endif Re: MWCT2016S can't change UART baud rate HI 一开始,我使用了 aips 慢时钟,但问题依然存在。波特率为 142857。在我将时钟更改为 aips plat 之后,波特率发生了变化,甚至变得更低,达到了 72254,但仍然不是预期的波特率。 我和 UART 例程的区别似乎只在于核心时钟。我使用 PLL 作为核心时钟源。会是这个原因吗?使用 PLL 时有什么特别的注意事项吗? 如有必要,附件中包含我的 EB 项目。 Re: MWCT2016S can't change UART baud rate HI 请根据表 130配置UartClockRef 。S32K3XXRM Rev12 的LPUARTn 实例时钟。 对于 S32K312,LPUART [1:7] 由AIPS_SLOW_CLK 提供时钟。 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题,并参考已关闭的主题。 ------------------------------------------------------------------------------- Re: MWCT2016S can't change UART baud rate 问题已经解决。 非常感谢!
View full article
TWR-KV58 ハードフォールト おはよう TWR ボードに顕著なエラーがあります。以前、このボードを同じ状態で使用し、正常に動作していましたが、しばらくそのまま放置していたところ、突然、ハードフォールトが発生し、起動しなくなりました。 JTAG ケーブルをコネクテッド状態で Multilink を使用しています。以前もそうしました。ハードフォルトで直接スタートします。 これがスクリーンショットです pietrodicastri_0-1765878099381.png ジャンパー J19 と J20 は JTAG を使用するために開いています。それで十分なはずです。 何か提案してください。壊れているとしか思えません。 皆様ありがとうございました ピエトロ Re: TWR-KV58 Hard Fault おはよう ただサポートしてください。バックアップソリューションとしてすでに新しいものを注文しましたが、続行するには支援が必要です。 ありがとう Re: TWR-KV58 Hard Fault こんにちは@pietrodicastri 、 ご投稿ありがとうございます。これがソフトウェアの問題であるかどうかを判断するために、「Hello World」デモなど、SDK に含まれているデモを実行したときに HardFault が引き続き発生するかどうかを確認してください。 SDKリンク:ボードを選択 | MCUXpresso SDKビルダー 詳細については、 https://www.keil.com/appnotes/files/apnt209.pdfを参照してください。 Celeste_Liu_0-1766030502918.png BR セレステ Re: TWR-KV58 Hard Fault こんにちは ボードが動作するようになりました…サポートに感謝します。 今度は別のものを投稿します。 ありがとう ピエトロ
View full article
iMX6ULL 控制台 UART 与其他使用 RS-485 的 UART 相互干扰 iMX6ULL 系统,内核为 lf-6.6.52-2.2.1。控制台设置为 ttymxc3 上的 RS-485 串行端口 ttymxc0。收发器"驱动使能" 连接到 SNVS_TAMPER7,我们有一个 DTS: &iomuxc_snvs { pinctrl_rs485_snvs: rs485grp_snvs { fsl,pins = < MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x1b0b1 /* RS485.DE as RTS */ >; }; }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rs485>, <&pinctrl_rs485_snvs>; fsl,dte-mode; rts-gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>; linux,rs485-enabled-at-boot-time; status = "okay"; label = "rs485"; }; 我注意到,如果向控制台打印数据,会干扰 RS-485 串行端口:RTS/DE 信号有时会延迟 5-10 毫秒。该值在 9600 bps 时超过 3.5 个字符,这意味着由于主机仍在驱动总线,因此来自设备的响应将出现乱码。可以用以下方法复制: while true;do echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >/dev/kmsg;done 这是一个已知的问题吗? i.MX6UL 疑似软件缺陷 Yocto Project Re: iMX6ULL console UART interferes with other UART using RS-485 你好@astrand 这似乎是 Linux 内核中的一个常见问题。以下是 LWN.NET 中的讨论。 printk/console 是一个速度慢的设备。当遇到大量日志时,内核必须同步向控制台写入信息。在这一过程中,它持有相关锁并消耗 CPU 时间,从而延迟其他任务调度和中断处理。即使您的控制台不同于 RS-485 串行端口,系统的整体调度/软中断/任务队列仍然会被拖慢。这将延迟 UART 传输完成事件到达驱动器并随后拉低 DE 位所需的时间。更多详情,请参阅该讨论。 https://lwn.net/Articles/909980/ 您可以尝试在运行时设置较低的控制台日志级别,或定义 rs485-rts-delayin dts. echo "4 4 1 7" > /proc/sys/kernel/printk 致敬, Zhiming
View full article
MPC5748G 将 uart 与 tcpip 结合使用 我想把以太网传输和串行端口打印功能结合起来。在代码 A 中,我试图在串行端口打印的基础上添加以太网传输功能 (tcpip),但失败了。我想在代码 B 的 LWIP 例程中添加串行端口显示功能,但按下 SW2 按钮后串行端口显示屏上看不到发送的信息。我不知道这两个地方设置得不对。 我是一名学生,这个问题已经困扰了我一个星期。如能解决,我将不胜感激 Re: MPC5748G combine uart with tcpip 我承认我用 AI 编写的代码是电子垃圾,但我不明白为什么在修改了两个例程的文件中使用相同的代码段只能实现一半的功能(UART 或 tcpip) 谁能帮帮我? QING_QUE_0-1765711747775.png
View full article
i.MX95 安卓 15_2.0.0 电路板支持包 — 480p 视频显示蓝色水平线(720p/1080p OK) 你好 、 我们在自定义板上使用搭载安卓 15_2.0.0 电路板支持包的 i.MX95。 我们只有在播放分辨率为 480p 的视频时才会遇到这个问题。 其他分辨率(如720p和1080p)也能正常播放,没有任何伪影。 在播放 480p 视频时,我们观察到蓝色水平线横跨整个显示区域。 此问题出现在所有显示界面上: *LVDS 面板 *HDMI *MIPI-DSI 显示器 因此,问题似乎与显示屏无关。 其他观察结果 ============================ 同样 的硬件(LVDS/HDMI/MIPI)在带有 480p 视频的 Linux 电路板支持包 中完美运行。 在 Android Auto 电路板支持包 15_1.3.0 中不会出现此问题。 → 在 Auto 电路板支持包 中,480p 的播放效果是干净的。 只有安卓 15_2.0.0 标准电路板支持包才显示这个 480p 的伪影。 Auto 电路板支持包是否有任何必须应用于标准电路板支持包的补丁? 随附参考照片供您审阅。 任何指导或补丁都将非常有用。 谢谢, Maruti Naik Re: i.MX95 Android 15_2.0.0 BSP – 480p Video Shows Blue Horizontal Lines (720p/1080p OK) 您能在 nxp imx95 板上重现这个问题吗? Re: i.MX95 Android 15_2.0.0 BSP – 480p Video Shows Blue Horizontal Lines (720p/1080p OK) 目前,我们没有与i.MX95 19×19 EVK板兼容的显示器。请尝试在您这边重现这个问题,并分享观察结果。 Re: i.MX95 Android 15_2.0.0 BSP – 480p Video Shows Blue Horizontal Lines (720p/1080p OK) 我用下面的演示图像测试了 480P 视频、 15.0.0_2.0.0_demo_95 这个玩家是仙人掌玩家,我没发现任何问题,我也测试了 1080p,所以我请你在恩智浦板上重现这个 Re: i.MX95 Android 15_2.0.0 BSP – 480p Video Shows Blue Horizontal Lines (720p/1080p OK) 感谢您的更新和在演示图像上的测试。 目前,由于我们这端没有兼容的显示器,我们无法在19×19 EVK板上测试显示。不过,我们观察到,在 "开发者选项 "中将显示布局更改为 "瀑布式剪切 "后,480p 回放问题消失了,而使用默认布局时,问题始终存在。 您是否了解默认布局配置可能出了什么问题,特别是影响 480p 视频播放的问题? Re: i.MX95 Android 15_2.0.0 BSP – 480p Video Shows Blue Horizontal Lines (720p/1080p OK) 如何在 "开发者选项 "中将显示布局更改为瀑布式剪切?
View full article
PN5180 库移植 IRQ 问题 你好,我正在使用 PN5180 和另一个品牌的 MCU,并试图将 NxpNfcRdLib_PN5180_v07.14.00_Pub 移植到我的项目中。我在项目中 添加了带有PH_OSAL_NULLOS 的NfcrdlibEx1_DiscoveryLoop 示例。 为了测试通信,我打印了 PN5180 的固件版本。 alig_ones_0-1765365621097.png 然后调用 然后调用 DiscoveryLoop_Demo 函数来读取 NFC 卡,但当 调用 phacDiscLoop_Run 函数。我跟踪找到确切位置,看到它在下面等待中断: alig_ones_1-1765365756616.png 我将 IRQ 引脚配置为上升沿,但它永远不会上升。问题出在哪里,如何解决?   Re: PN5180 Library Porting IRQ Issue 你好@alig_ones 希望你一切顺利。 请注意,将 NFC读取器库移植到第三方平台不在我们的支持范围内,此移植工作由客户自行负责。我们有针对我们产品组合中一些 MCU 的移植指南: NFC 读取器库移植 FRDM_K64F 、将 NFC 读取器库与 LPC55S69 一起使用以及将 NFC 读取器库移植到 i.MX RT1050 - NXP 社区。虽然您使用的是第三方主机 MCU,但这些指南可帮助您确定针对不同 MCU 应进行的修改。 请问您使用的是OM25180开发套件,还是基于 PN5180 的定制板? Eduardo。 Re: PN5180 Library Porting IRQ Issue 您好, 您观察到的行为可能与天线有关。由于您使用的是定制板,请确认您遵循了 PN5180 天线设计并且您的天线已正确调整。除了 NFC 天线工具 和 NFC 阅读器 天线设计 工具 之外,我们还建议参加 NFC 天线 设计系列培训 ,因为其中介绍了天线、优化和调试以及测试的主要方面。 为了正确设计天线,必须使用阻抗分析仪或 VNA 测量天线阻抗。这种 VNA 可用于测量天线线圈以及包括匹配电路在内的天线阻抗。您可以查看使用 miniVNA 对 NFC 和读卡器IC 天线的测量和调谐;本应用笔记为如何使用 miniVNA 网络分析仪测量和调整/匹配 NFC 和读卡器IC 天线提供了指导。此外,您还可以参考如何使用 NanoVNA 进行 NFC 读卡器天线设计。 关于图形用户界面,我想您指的是NFC 驾驶舱。PNEV5180B 评估板已准备好使用该工具;在该板中,PN5180 通过 SPI 连接到恩智浦 LPC1769 µC。值得注意的是,要将 PNEV5180B 与 NFC Cockpit 结合使用,需要在 LPC1769 上安装特定的固件。有关详细信息,请参阅《恩智浦 NFC 驾驶舱用户指南》。 Eduardo。 Re: PN5180 Library Porting IRQ Issue 你好,爱德华多、 我正在使用基于 PN5180 的自定义板。我将 LPCD 模式改为 PHHAL_HW_PN5180_LPCD_MODE_DEFAULT,现在我得到了中断,执行不再卡住。但它很少能读卡,我应该在 NFC 库中查找哪个关键字来增加读卡范围? 我读到 OM25180 可以与图形用户界面一起使用,我可以将其与 MCU 一起使用吗?谢谢。 这就是可以读取的结果: alig_ones_0-1765460651535.png Re: PN5180 Library Porting IRQ Issue 硬件团队更改了天线设计,现在读起来很好,谢谢。
View full article
[RTD] 优化 DMA 时 FlexIO I2C 无通道故障 你好@DanNguyenDuy Mobis 在尝试启用 DMA 优化时,没有遇到像下面这样的 FlexIO I2C 通道故障。 它被卡在 DevAssert(Master != NULL_PTR),但在我的审查中,通道索引似乎没有问题。 0 : LPI2C 1 : LPI2C 2 : FlexIO_0_1 : FlexIO I2C #0 / DMA Optimize / DMA timer2 3 :FlexIO_4_5 : FlexIO I2C #1 / DMA Optimize / DMA timer6 因此,FlexIO I2c 通道=1(I2c 通道=3)是正确的,但实际显示没有通道。 以下是 Mobis 对带有 DMA 优化功能的 FlexIO I2C 的配置 为什么 Master 会出现 NULL_PTR?请问如何调试? 启用 DMA 优化会有麻烦吗?Scatter Gather 是根据以下 RTD_I2C_UM.pdf 分配的 如果 DMA 优化设置有问题,且 STOP/NACK 未正确生成,会出现这种症状吗?能否提供 FlexIO I2C DMA 优化示例? RTD Re: [RTD] FlexIO I2C no channel trouble under DMA optimize 你好@alexyang 很抱歉我的回复晚了。我在 RTD_I2C_UM.pdf 中看到,I2C 插件中有一节指导如何配置 FlexIO DMA 优化: 请按照本节配置此功能。 Re: [RTD] FlexIO I2C no channel trouble under DMA optimize 你好@congnguyenphu 随信附上我对 FlexIO I2C DMA 优化的评估。 它以您提到的 I2C_UM 为基础,非常有用。 谢谢。 BRs, Alex Yang
View full article
i.MX93 A55 の Zephyr こんにちは、 i.MX93 Cortex-A55 で Zephyr を実行するための例が提供されており、hello_world をビルドし、u-boot プロンプト経由で DDR で実行できます。 u-bootの使用は避けたいです。ATF コードを参照しましたが、bl31 のビルドのみがサポートされています。「BootROM -> ATF BL2 -> ATF BL31 -> Zephyr」を実現したいのですが、BL2 をビルドするためのリファレンスはありますか? また、hello_world の例を OCRAM で実行したいのですが、手順を教えていただけますか。また、ここでもブートローダーが必要ですか。それとも JTAG 経由でバイナリを OCRAM に直接ロードできますか。 ありがとうございます Re: Zephyr on i.MX93 A55 こんにちは、 DDR 上で、BootROM --> BL2 --> BL3 --> Zephyr の順で Zephyr を起動できます。 内部 RAM で zephyr を実行したいです。ここに何か参考になるものはありますか? ありがとうございます
View full article
在 VSCode 中设置 Zephyr 环境时出错(python7.4-venv?) 你好。 我试图在 VSCode 中设置 Zephyr 环境,但在MCUXpresso 安装程序中点击安装按钮时出现错误。除其他事项外(我遵循了恩智浦在 LinkedIn 上发布的简短教程),我还设置了Zephyr Developer以进行安装。 教程:https://www.nxp.com/company/about-nxp/smarter-world-videos/HELLO-WORLD-DEMO-ZEPHYR-VID 系统要求我输入密码数十次(Linux 系统),但每次安装程序执行这一行时都会出错: [info] Executing command "pkexec apt -y install python7.4-venv" python7.4还存在吗? 然后我就收到了这些信息: [error] Command pkexec exited with code 100. [error] The python virtual environment module could not be installed. [error] Error occurred while installing Zephyr Python Dependencies: The virtual environment cound not be created. Skipping... 这不是拼写错误。看看这张图片: Captura de pantalla de 2025-12-04 23-39-26.png 有什么提示吗?我错过了什么吗? 先谢谢你了! Re: Error while setting Zephyr environment up in VSCode (python7.4-venv?) 您好!感谢您的及时回复。抱歉,上一篇文章没有提供详细资料。 fjrg76@fjrg76-amd:~$ cat /etc/os-release NAME="Linux Mint" VERSION="22.2 (Zara)" ID=linuxmint ID_LIKE="ubuntu debian" PRETTY_NAME="Linux Mint 22.2" VERSION_ID="22.2" HOME_URL="https://www.linuxmint.com/" SUPPORT_URL="https://forums.linuxmint.com/" BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/" PRIVACY_POLICY_URL="https://www.linuxmint.com/" VERSION_CODENAME=zara UBUNTU_CODENAME=noble fjrg76@fjrg76-amd:~$ whereis python3 python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/python3 /usr/share/man/man1/python3.1.gz fjrg76@fjrg76-amd:~$ which python3 /usr/bin/python3 fjrg76@fjrg76-amd:~$ ls -ls /usr/bin/python* 0 lrwxrwxrwx 1 root root 10 nov 12 06:15 /usr/bin/python3 -> python3.12 7832 -rwxr-xr-x 1 root root 8016832 nov 6 07:44 /usr/bin/python3.12 0 lrwxrwxrwx 1 root root 34 nov 6 07:44 /usr/bin/python3.12-config -> x86_64-linux-gnu-python3.12-config 0 lrwxrwxrwx 1 root root 17 nov 12 06:15 /usr/bin/python3-config -> python3.12-config 4 -rwxr-xr-x 1 root root 945 dic 11 2023 /usr/bin/python3-qr 还有安装人员: MCUXpresso Installer Changelog Version 25.09.179 Improvements -Introduced mechanism to exclude component versions that may lead to compatibility issues. 如果您需要更多信息,请不要犹豫。 Re: Error while setting Zephyr environment up in VSCode (python7.4-venv?) 你好@fjrg76、 能否请您再详细介绍一下这个问题? 你使用的是什么 Linux 发行版?您可以运行 cat /etc/os-release 您使用的是哪个版本的安装程序?您可以在右侧菜单的 "关于 "部分找到这些信息。 您的系统上安装了哪些 Python 版本?您可以运行这些命令进行验证: whereis python3 which python3 ls -ls /usr/bin/python* 谢谢, Alexandra Re: Error while setting Zephyr environment up in VSCode (python7.4-venv?) 感谢@fjrg76 提供更多细节! MCUXpresso 安装程序错误地将 python3-qr 模块理解为 Python 版本。我们将在下周的版本中解决这个问题。在此期间,您可以通过卸载 python3-qr 模块,运行 MCUXpresso 安装程序设置,然后重新安装模块来临时解决这个问题。   此致, 亚历山德拉 Re: Error while setting Zephyr environment up in VSCode (python7.4-venv?) 好了,变通方法奏效了! 但是,要删除的软件包叫做 python3-qrcode。Warpinator程序也被淘汰: $ sudo apt remove python3-qrcode Leyendo lista de paquetes... Hecho Creando árbol de dependencias... Hecho Leyendo la información de estado... Hecho Los siguientes paquetes se ELIMINARÁN: python3-qrcode warpinator ... 好消息是,我在使用变通方法后恢复了Warpinator。 谢谢,别忘了在发布之前测试你的版本 😃 Re: Error while setting Zephyr environment up in VSCode (python7.4-venv?) 你好! 这样的包不存在: E: 没有找到 python3-qr 套件 在 Google 上快速搜索"python3-qr" ,没有任何结果。您的意思是:"python3-qrcode" ? $ dpkg -l | grep python3 | grep qr python3-qrcode 7.4.2-4 所有 QR 码图像生成器库 - Python 3.x
View full article
[S32K311][MultiPartition]:在 S32K311 上设置多分区时 SPI 初始化失败 你好,团队、 李尔的问题如下 ------------------------------------------------------------------------------------- 我们正在单核 ECU (S32K311) 上实施多分区,在 SPI 驱动程序初始化过程中遇到了一个问题。 观察结果: SPI 驱动程序调用 OsIf_timer.c 中的 OsIf_GetPartitionID(),以获取当前分区 ID 并将其用作 SpiID。但是,该 ID 与 SpiCorePartitionUse 中的值不匹配,尽管两者都是为同一个 ECUC 分区配置的。由于这种不匹配,驱动程序会触发信号 DET 错误,无法初始化外围设备。 调试时发现的问题: 函数 OsIf_apxMultiPartitionPredefinedConfig 返回一个 SPI 驱动程序不期望的值。这似乎是造成不匹配的原因。 初步分析表明,该问题可能与 Vector DaVinci/Tresos 工具的配置生成有关。 影响 SPI 在多分区模式下无法完成初始化,导致通信功能受阻。 ------------------------------------------------------------------------------------- BR Stefano RTD Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 因为他们提到了OsIf_apxMultiPartitionPredefinedConfig,所以我认为他们使用的是 ASR OS。 那么,在这种情况下,函数 GetApplicationID() 返回的是什么值? 请将它们的配置发送给我,包括EcuC、Os、Spi、BaseNXP。 生成以下结构的输出 他们使用的是什么软件包? 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 请帮助我读取 SPI_Init() 函数中的以下参数: - SpiId? - 他们向函数 Spi_Init() 传递了什么配置? 像这样: 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 您好 Nhi_Nguyen, 请告诉我附件是否足够。 BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 您好 Nhi_Nguyen, 李尔回答道: Spi_Init(&Spi_Config_EcucPartition_C0_B); 这是我们在 Init 函数中传递的信息,SPI_ID 从分区 ID api 中读取,但没有正确链接到操作系统应用程序 ID。 BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 这是他们申请中的操作系统: 他们将Spi_Config_EcucPartition_C0_B传递给了Spi_Init(),因此 SPI_ID 必须是下面的值: 在这种情况下,u32AppId 必须为 1 才不会出现 Det 错误。但 OS_GetApplicationID() 函数属于 RTOS 而非 RTD,因此请标记 RTOS,以便有人能帮助获取该函数。 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 您好 Nhi_Nguyen, 下面是李尔的答复: 在我们的案例中,SPI ID 和操作系统应用程序不匹配。我们认为,就 ASIL 而言,它应该返回 1,但它却返回 0,导致配置不匹配。请看下面的快照。 如果你愿意,我们可以开个短会,我可以向你详细介绍。 BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 我不知道 RTOS 是如何工作的,也不知道在 RTOS 中如何从函数 GetCurrentApplicationID() 返回值。但如果想保持 u32AppID = 0 为当前值,避免出现 Det 错误,则可以按下面的方法操作: 然后,生成的文件是 这意味着,如果 u32AppId = 0,SpiID = 0; u32AppId = 1,SpiID = 1; 在 SPI 中,生成的文件是 这意味着 Spi_Config_EcucPartition_C0_QM->u32SpiCorePartitionUse = 1; Spi_Config_EcucPartition_C0_B->u32SpiCorePartitionUse = 0; 在另一种情况下,他们想将 u32AppID 更改为其他值,那么@StefanoGattazzo请添加 RTOS 标记并移除 RTD 标记,以便 RTOS 的人员可以帮助您。 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 抱歉,我对此一无所知。 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 HI Nhi_Nguyen, 我能问谁? BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 请删除 RTD,我看到您添加了 RTOS 标签,我们团队会有人回答您的问题。 顺祝商祺! Nhi Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 您好 Nhi_Nguyen, 如果您认识某个人,我可以直接询问--现在情况紧急。 BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好,团队、 李尔正在写作: 不,我们使用的不是恩智浦操作系统,而是矢量操作系统。OSIF 参考来自基础元器件。 我们目前正在开发一个 POC,其中 SPI 驱动程序被分区,这样 LPSPI2 是专用的,用于质量管理应用程序,而其余的 LPSPI 模块则用于 ASIL B 应用程序。 根据 RTD 用户手册,这要求每个分区分别调用两次 Spi_Init()。因此,我们首先从 ASIL B Os Application 调用 Spi_Init()函数,然后再从 QM Os Application 调用 Spi_Init()函数,并为每个函数传递正确的配置指针。 我们看到,在 Spi_Init()函数中调用了 Spi_GetID(),然后又调用了 GetCurrentApplicationID()(如下截图所示) 下面是 Os 生成的枚举。ASIL B Os 应用程序调用 GetCurrentApplicationID() 时,返回 0。 QM Os 应用程序调用 GetCurrentApplicationID() 时,返回 1。 在 OsIf_GetPartitionID 中,Os 返回的值用于获取在数组 OsIf_apxMultiPartitionPredefinedConfig 中配置的分区编号。 OsIf_apxMultiPartitionPredefinedConfig 中的值如下 当 QM 应用程序调用 Spi_Init()时,Spi_GetID() 返回的值为 1(GetCurrentApplicationID() 返回 1,OsIf_apxMultiPartitionPredefinedConfig 的索引 1 也是 1)。 但生成的 SPI 配置不符合预期值,Det 会收到错误报告。 是什么影响了 MCAL 在 Spi_Config 和 OsIf_apxMultiPartitionPredefinedConfig 中生成的值? BR Stefano Re: [S32K311][MultiPartition] : SPI initialization fails in MultiPartition setup on S32K311 你好@StefanoGattazzo、 以下是我从您所附项目中获得的配置 Spi、Ecu、Os。 EcuC 用于定义分区 ID,例如在他们的配置中,QM 是 0 分区,C0_B 是 1 分区,System 是 2 分区。 然后,Os 选择从 EcuC 获取分区 ID 的分区。例如 SPI:C0_B 为分区 1,C0_M 为分区 0。 操作系统:结构 OsIf_apxMultiPartitionPredefinedConfig 也指 EcuC 中的分区 ID。例如,在他们的配置中: 应用程序 0 - 系统 - 分区 2; 应用 1 - C0_B - 分区 1; 应用 2 - C0_M - 分区 0; 因此,如果要将 C0_B 传递给 Spi_Init(),也就是将分区 1 传递给 Spi_Init(),那么 OsIf_apxMultiPartitionPredefinedConfig[x] = 1; 或者 x = 1; x = GetCurrentApplicationID(); 所以,有了他们在最新回复中展示的照片: 在 Spi 中,C0_B 是分区 1; C0_M 是分区 2; 这意味着,在 EcuC 中,索引 0 是系统分区;索引 1 是 C0_B 分区;索引 2 是 C0_M 分区。 总之,根据 Os、Spi、EcuC 的上述定义,他们可以调整分区配置以避免 Det 错误。 顺祝商祺! Nhi
View full article
S32Z/E の SMU_M33 で CAN LLCE を使用できますか? S32Z/E の LLCE パッケージでは、サンプルでは常に RTU_R52 を使用して LLCE ファームウェアをロードおよび使用していますが、SMU_M33 を使用して同じ機能を実行できるかどうかを知りたいです。もしSOなら、何を変更する必要がありますか? Re: Can LLCE used with SMU_M33 in S32Z/E? こんにちは、 zyt 次の図のように、S32ZE_GreenVIP_1.3.0/doc/UM_S32ZE_GreenVIP.pdf を参照してください。 SMUはFlexLLCEの初期化、CAN_HUBの設定に使用できます。 リソース マネージャーによって。 RTU は通信モジュールを直接使用し、IPCF を使用した FlexLLCE とのデータ交換を行います。 Joey_z_0-1764818044183.png BR ジョーイ Re: Can LLCE used with SMU_M33 in S32Z/E? こんにちは、 zyt お問い合わせいただきありがとうございます。 この質問を確認するお手伝いをさせていただきます。 BR ジョーイ Re: Can LLCE used with SMU_M33 in S32Z/E? SMUを使用して、LLCEの初期化だけでなく、LLCEルーティング機能すべてに対応できますか?RTUは関与しないのでしょうか? Re: Can LLCE used with SMU_M33 in S32Z/E? こんにちは、zyt ご返信よろしくお願いします。 SMUを使用して、LLCEの初期化だけでなく、LLCEルーティング機能すべてに対応できますか?RTUは関与しないのでしょうか? >>> SMU を使用して LLCE ファームウェアをロードし、LLCE ルーティング機能を設定しますか? また、SMU を使用して FlexLLCE とデータを交換しますか? BR ジョーイ Re: Can LLCE used with SMU_M33 in S32Z/E? はい、CAN2CAN、CAN2ETH、ETH2CAN などのルーティング関連のすべての機能を SMU と LLCE で実行し、 RTU は参加させません。 Re: Can LLCE used with SMU_M33 in S32Z/E? こんにちは、zyt 返信が遅くなり申し訳ありません。 現在、FlexLLCE のソフトウェア ドライバとファームウェアは、ホスト アプリケーション用の RTU R52 コアの使用のみをサポートしています。現時点では、これを SMU CM33 コアに移植する予定はありません。 BR ジョーイ
View full article
PN7160 PN7220 Android 15 Porting to i.MX8MN EVK Introduction We have an official PN7160/PN7220 Android 15 porting guide (PN7160/PN7220 – Android 15 porting guide). But the patches only for Android 15 AOSP r1 (android-15.0.0_r1). If customer want to porting to the newer release of AOSP, there will have many errors during the source code compiling. This document is for customer reference to solve the error one by one.  NOTE :  All the modifications are just for reference. They are NOT a NXP official patches for the newer release of AOSP porting. So the modifications may not be the best solution. Customer please base on their needs to modify the AOSP source code.  Hardware boards: i.MX8MN EVK PN7160 EVK PN7220 EVK Build the Android for i.MX8MN EVK The i.MX Android BSP that I used is Android 15.0.0_2.0.0 (L6.12.20_2.0.0 BSP). It could be downloaded from here: Android OS for i.MX Applications Processors | NXP Semiconductors 1. Download the "Documentation" and the "Install Source Package".  2. Follow the Android User's Guide to build the Android BSP for i.MX8MN EVK first.  According to the android_build/.repo/manifests/aosp-android-15.0.0_2.0.0.xml, you will see the AOSP version is android-15.0.0_r32. Now, follow the PN7160/PN7220 – Android 15 porting guide to porting the NFC to i.MX Android BSP.  1. Kernel Driver : To establish connection with the PN7220 or PN7160, the Android stack uses the nxpnfc kernel driver.  You could download the driver from github below: nfcandroid_platform_drivers/drivers at br_ar_16_comm_infra_dev · nxp-nfc-infra/nfcandroid_platform_drivers · GitHub git clone "https://github.com/nxp-nfc-infra/nfcandroid_platform_drivers.git" -b br_ar_16_comm_infra_dev There is driver for Kernel 6.6 and 6.12. So, please download the correct one for your porting. For example, the kernel in i.MX Android BSP Android 15.0.0_2.0.0 is 6.12. So I will use the 6.12 driver for my porting. In your porting, make sure the PATH in Makefile and Kconfig files are setting properly.  For example in my porting: android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ tree . ├── Kconfig ├── Makefile └── pn7160         ├── common.c         ├── common.h         ├── i2c_drv.c         ├── i2c_drv.h         ├── Kbuild         ├── Kconfig         ├── Makefile         ├── spi_drv.c         └── spi_drv.h 1 directory, 11 files android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ cat Makefile # # Makefile for the kernel nfc device drivers. # obj-y += pn7160/ android_build/vendor/nxp-opensource/kernel_imx/drivers/nfc$ cat Kconfig source "drivers/nfc/pn7160/Kconfig" 2. Adding the "nxpnfc" to the i.MX8MN EVK device tree file. Show the connections table on the board. Show the pictures &i2c3 { clock-frequency = <100000>; pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c3>; pinctrl-1 = <&pinctrl_i2c3_gpio>; scl-gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; sda-gpios = <&gpio5 19 GPIO_ACTIVE_HIGH>; status = "okay"; nxpnfc@28{ compatible = "nxp,nxpnfc"; reg = <0x28>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_nfc>; nxp,nxpnfc-irq = <&gpio3 22 0>; nxp,nxpnfc-ven = <&gpio3 20 0>; nxp,nxpnfc-fw-dwnld = <&gpio3 21 0>; }; &iomuxc {         pinctrl_nfc: nfcgrp {                 fsl,pins = <                         MX8MN_IOMUX_SAI5_RXC_GPIO3_IO20                 0X19  // VEN                         MX8MN_IOMUX_SAI5_RXD0_GPIO3_IO21                0X19  // FW-DWNLD                         MX8MN_IOMUX_SAI5_RXD1_GPIO3_IO22                0X19  // IRQ                 >;         }; Show the schematic.  3. Modify the imx8mn_gki.fragment nano vendor/nxp-opensource/kernel_imx/arch/arm64/configs/imx8mn_gki.fragment Add the CONFIG_NXP_NFC_I2C=m 4. Go to the device/nxp/imx8m/evk_8mn/  Modify the BoardConfig.mk. # selinux permissive +BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive BOARD_SEPOLICY_DIRS := \        $(CONFIG_REPO_PATH)/imx8m/sepolicy \        $(IMX_DEVICE_PATH)/sepolicy  \ +       vendor/nxp/nfc/sepolicy \ +       vendor/nxp/nfc/sepolicy/nfc ShareBoardConfig.mk     $(KERNEL_OUT)/drivers/net/phy/realtek.ko \     $(KERNEL_OUT)/drivers/pps/pps_core.ko \     $(KERNEL_OUT)/drivers/ptp/ptp.ko \     $(KERNEL_OUT)/drivers/net/ethernet/freescale/fec.ko +    $(KERNEL_OUT)/drivers/nfc/nfc/nxpnfc-i2c.ko endif     $(KERNEL_OUT)/drivers/trusty/trusty-core.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-log.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-ipc.ko \     $(KERNEL_OUT)/drivers/trusty/trusty-virtio.ko \ +    $(KERNEL_OUT)/drivers/nfc/nfc/nxpnfc-i2c.ko else BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \     $(KERNEL_OUT)/drivers/input/touchscreen/goodix_ts.ko \     $(KERNEL_OUT)/drivers/input/touchscreen/synaptics_dsx/synaptics_dsx_i2c.ko Endif Compatibility_matrix.xml             netutils-wrapper         1.0                 android.hardware.emvco         1                      IEmvco             default             device_framework_matrix.xml             nxp.hardware.secureime         1                     ISecureIME             default                         nxp.hardware.imx_dek_extractor         1                     IDek_Extractor             default                         vendor.nxp.nxpnfc         2.0                     INxpNfc             default                         android.hardware.emvco         1                     IEmvco             default             evk_8mn.mk # -------@block_bluetooth------- # Bluetooth HAL PRODUCT_PACKAGES += \     android.hardware.bluetooth \     android.hardware.bluetooth-service.default.nxp # NXP 8987 Bluetooth vendor config PRODUCT_PACKAGES += \     bt_vendor.conf # ------nfc------- $(call inherit-product, vendor/nxp/nfc/device-nfc.mk) $(call inherit-product, vendor/nxp/emvco/device-emvco.mk) PRODUCT_PACKAGES += \         android.hardware.nfc-service.nxp PRODUCT_PACKAGES += \         com.nxp.emvco \         com.nxp.nfc \         nfc_nci_nxp_pn72xx # -------@block_usb------- Init.rc on post-fs && property:vendor.skip.charger_not_need=0     # Swap in only 1 page at a time     write /proc/sys/vm/page-cluster 0     # Grant permission for fetching available_pages info of statsd     chown system system /proc/pagetypeinfo     chmod 0440 /proc/pagetypeinfo     exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d \     /vendor/lib/modules nxpnfc_i2c     write /sys/power/wake_lock nosleep on post-fs-data && property:vendor.skip.charger_not_need=0     setprop vold.post_fs_data_done 1 ueventd.nxp.rc /sys/devices/virtual/thermal/thermal_zone* trip_point_0_hyst 0660 system system /sys/devices/virtual/thermal/thermal_zone* trip_point_1_hyst 0660 system system /dev/dmabuf_imx           0664   system     system /sys/class/backlight/* brightness 0660 system system /dev/ttymxc1              0666   nfc   nfc /dev/ttymxc2              0666   nfc   nfc /dev/nxpnfc               0666   nfc   nfc # for libcamera /dev/media* 0660 system camera /dev/v4l-subdev* 0660 system camera 5.  hardware/interfaces/compatibility_matrices/compatibility_matrix.202404.xml             android.hardware.wifi.hostapd         1                     IHostapd             default                         android.hardware.wifi.supplicant         2                     ISupplicant             default                         nxp.hardware.imx_dek_extractor         1                     IDek_Extractor             default                         vendor.nxp.nxpnfc         2.0                     INxpNfc             default                         vendor.nxp.emvco         1                     INxpEmvco             default             6.  android_build/vendor/nxp/nfc/device-nfc.mk android_build/vendor/nxp/emvco/device-emvco.mk Two approach. 1. NXP NFC Patch to Android AOSP and then build. If the Android release is too new, It will be a lot of errors, 2. Copy the R1 files to R30 first, then run NXP NFC patch. Then build. I use the second. Download the AOSP R1 source code. Copy the R1 replace the folders below. Apply the patches. build the code. Here is the error list and the reference solution.
View full article
i.MX6DL PCIe x1 Gen1 链路训练失败 我们使用的是运行内核 5.10.235 的 i.MX6DL,出现了 PCIe Gen1 链路训练问题。日志显示,链接训练从未完成--链接在不断地重新训练。Debug0 寄存器显示链路不稳定,表明某些东西正在触发信号再训练。 观察到的 LTSSM 过渡: L0 → S_POLL_CONFIG → S_RCVRY_RCVRCFG → S_CFG_LINKWD_START → S_POLL_CONFIG 我们还注意到,尽管 pcii-imx6.c 和 pcii-imx6.c 寄存器的 LnkCap 寄存器值(每个电源周期)都会发生变化,但 LnkCap 寄存器的值并没有改变。和 pcie-designware.c为 Gen1 明确配置链路。还有什么可能会修改这个寄存器? 示例: 情况 1:0x1ffc07c = 值 0x0011cc12 LnkCap:端口 #0,速度 5GT/s,宽度 x1,ASPM L0s/L1,退出延迟 L0s<1us,L1<8us LnkCtl2:目标链接速度 2.5GT/s 情况 2:0x1ffc07c = 值 0x00100001 LnkCap:端口 #0,速度 2.5GT/s,宽度 x1,ASPM L0s/L1,退出延迟 L0s<1us,L1 无限制 LnkCtl2:目标链接速度 2.5GT/s 此外,禁用加扰器似乎能稳定链路: devmem2 0x1ffc710 w 0x00010122 查找以下信息: 1.最初达到 L0 后会触发信号链路再训练什么? 2。还有哪些硬件/软件部分可能会修改 LNKCap? 详情请见附件。 Re: i.MX6DL PCIe x1 Gen1 Link Training Failure 你好 1。关于达到 L0 状态后可能触发链路重新训练的因素: -PCIe 通道上的信号完整性问题可能导致链路不稳定 -电源波动或噪声影响 PCIe PHY -时钟抖动或 PCIe 参考时钟不稳定-与 PCIe 走线阻抗或长度匹配 相关的硬件设计问题 -可能引发不必要的重新训练的软件/驱动程序错误 2. 对于波动的 LnkCap 寄存器值: -寄存器可以通过硬件初始化序列和软件驱动程序进行修改 -在 i.MX6 PCIe 实现中,都是 pci-imx6.c和 pcie-designware.c尝试配置链路参数 -链路能力协商在训练期间进行,值可能会根据终端设备报告的内容进行调整。 您观察到禁用加扰器会稳定链路 (devmem2 0x1ffc710 w 0x00010122),这表明存在潜在的信号完整性或时钟问题。这与之前通过硬件调整解决 i.MX6 平台 PCIe 链路稳定性问题的情况一致。 我建议查阅 i.MX 6Dual/6Quad 和 i.MX 6Solo/6DualLite " 的应用笔记 AN4784 " PCIe 认证指南,其中包含专门针对 i.MX6DL 平台的详细PCIe SERDES 设置信息。本文档提供全面的 PCIe 认证指导,有助于解决间歇性链路培训故障。 对于特定的持续再训练问题,请考虑: -验证 PCIe 参考时钟信号质量和抖动 -检查 PCB 设计中的走线长度是否匹配-确认 PCIe 通道上的端接和阻抗正确 -检查负载条件 下的电力轨道 稳定性您看到的 LNKCap 寄存器修改可能与初始化序列期间的硬件级寄存器访问有关,可能受到 PHY 校准变化的影响。 此致 Re: i.MX6DL PCIe x1 Gen1 Link Training Failure 再补充一些细节。 根据下面的观察结果,禁用加扰器时 Gen1 链路是稳定的。有没有办法强制主机只进行第一代训练,而不尝试第二代? * LnkCap is 5GT/s root# lspci -s 00:00.0 -vv |grep LnkCap LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 root# devmem2 0x1ffc07c /dev/mem opened. Memory mapped at address 0xb6f5c000. Read at address 0x01FFC07C (0xb6f5c07c): 0x0011CC12 <<< gen2 root# ltssm_debug.sh |grep curr LTSSM current state | 0x7 | S_CFG_LINKWD_START LTSSM current state | 0x11 | S_L0 LTSSM current state | 0x7 | S_CFG_LINKWD_START LTSSM current state | 0xf | S_RCVRY_RCVRCFG * Setting Lnkcap to gen1 but value is getting overwritten root# devmem2 0x1ffc07c w 0x00100011 root# devmem2 0x1ffc07c /dev/mem opened. Memory mapped at address 0xb6fb1000. Read at address 0x01FFC07C (0xb6fb107c): 0x0011CC12 root# ltssm_debug.sh |grep curr LTSSM current state | 0x7 | S_CFG_LINKWD_START LTSSM current state | 0xf | S_RCVRY_RCVRCFG LTSSM current state | 0x7 | S_CFG_LINKWD_START * Disable scrambler root# devmem2 0x1ffc710 w 0x00010122 root# devmem2 0x1ffc710 /dev/mem opened. Memory mapped at address 0xb6f66000. Read at address 0x01FFC710 (0xb6f66710): 0x00010122 * LnkCap was set to Gen1 again, and the value remains stable. root# devmem2 0x1ffc07c w 0x00100011 root# devmem2 0x1ffc07c /dev/mem opened. Memory mapped at address 0xb6f0a000. Read at address 0x01FFC07C (0xb6f0a07c): 0x00100011 * Gen1 changes reflected here root# lspci -s 00:00.0 -vv |grep LnkCap LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM not supported root:~# ltssm_debug.sh |grep curr LTSSM current state | 0x11 | S_L0 LTSSM current state | 0x11 | S_L0 Link stable. 谢谢! Re: i.MX6DL PCIe x1 Gen1 Link Training Failure 你好 感谢您的指点。 但是,如果我们强制将链路速度设为 Gen1,那么在什么情况下,硬件仍能将链路能力宣传为 Gen2 并启用ASPM 相关选项? 例如,我们看到 LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us 我们还在训练序列中观察到5 GT/s和自主变化 TS1。 TS1/TS2 日志附后。 谢谢!
View full article
Is DDR ISSI LPDDR4 IS46LQ32K01S2A-046BLA1 compatible and supported with iMX8MPlus Processor? Hi, We are working with on a hardware with iMX8MPlus processor. We intend to use the ISSI LPDDR4 P/N IS46LQ32K01S2A-046BLA1 as the memory source.   We request a confirmation from NXP engineers that the ISSI IS46LQ32K01S2A-046BLA1 is fully compatible and validated for use with the NXP i.MX8MP processor. Adding links to members: @pradeep_t  @GOWRIPRIYA_G  Re: Is DDR ISSI LPDDR4 IS46LQ32K01S2A-046BLA1 compatible and supported with iMX8MPlus Processor? Hi @naikabhishek, Thank you for contacting NXP Support! According to our memory compatibility guide, the part number that you want to use is compatible with iMX8MP. We have validated the S46LQ32K01S2A-046BLA2 and IS43LQ32K01S2A-046BLI, according with the datasheet the part with ending A1 only changes the temperature range. Best Regards, Chavira
View full article
S32K312: I2CおよびADCトリガーの問題 弊社のお客様は S32K312 100 ピンを使用して開発を行っており、次のような問題に直面しています。どのように彼らを導けばよいかアドバイスをいただけますか? 問題ステートメント1: I²Cの問題(SBC):I²Cモジュールは、初期化直後、転送が開始される前にバスがビジー状態(BBF = 1)であると報告します。バスがアイドル状態にならないため、マスターはSEND操作を完了できず、それ以上のI²Cアクティビティは発生しません。 問題2 : BCTUからのADCトリガーが機能しません。1つのPWM_TriggerチャネルがBCTUを使用してADCをトリガーするように設定されており、その結果はDMAバッファに保存されるはずですが、実際にはそうではありません。 #S32K312 優先度: 重要 Re: S32K312 : I2C and ADC Trigger issues こんにちは@YukoKintoさん、 お客様が使用した RTD パッケージのバージョンは何ですか? 設定ファイル(.arxml または .xdm)を送っていただけますか?i2c、Adc、Pwm、ポートのファイルとフロー コードはありますか? よろしくお願いいたします。 ダン
View full article
如何在全新项目(自定义板)中设置 CMake 以正确添加/参考 MCUXpresso SDK 你好,恩智浦社区! 我正在尝试建立一个新的资源库,以便在 MCXN947 上编译代码。目标是建立一个支持 MCXN947 的多个板变体的单一存储库(在我的项目中被称为 " dcm "、dcm1212 " 和 " mcxn947-eval ")。最后一个(mcxn947-eval)以 MCXN947 的 FDR 板为基础,上面附有子板。目前只有它能编译,所以如果您正在研究这个问题,不用担心其他的。 在我当前的文件夹结构中,我希望有(见所附项目): -我的应用程序层的应用程序文件夹 -ecu 文件夹,用于将不同的板变体抽象到应用程序中(根据通过 CMake 预设选择的变体编译一个子文件夹) -我的部分库子模块的模块文件夹,包括用于抽象应用程序 sdk 的通用 HAL 层 -mcuxpresso-sdk 文件夹包含我的 sdk 对于 SDK 文件夹,我使用了 Github mcuxsdk-manifests 并对 yml 进行了自定义,使其仅提取 MCXN 系列和我感兴趣的元器件。对于查看所附项目的任何人来说,在 mcuxpresso-sdk 文件夹内进行简单的"west update" 就能得到我需要的东西。 我现在似乎很难弄明白如何设置 CMake 系统,让所有内容都能很好地编译在一起。我的大多数项目都使用 CMake 库的概念,以干净、漂亮的方式添加每个子文件夹。但是,我无法使用 SDK 做到这一点。 目前,我的最佳解决方案是手动添加 SDK .c我需要在 ecu\ sources\ mcxn947-eval\ 板 CMakeLists 里面的文件。老实说,这样做非常麻烦,而且不能完全奏效(例如,在 peripherals.c 中初始化 FlexComm硬件故障)。我看了恩智浦社区的一些帖子,但似乎都不适合我。我在使用它们时总是会遇到一些编译或配置问题。 注意:由于最终的生产版本(dcm 和 dcm1212)将在自定义板上运行,所以我正在尝试摆脱 " 板定义的 " 设置。这就是为什么 mcxn947-eval 目前不使用 SDK 中的 frdm 板设置的原因。 MCX N Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 你好@汤姆-德博埃里奥 我认为你可以使用这种结构。 repo/ │ ├─ app/ # 应用层(与主板无关)├─ ecu/ │ ├─ dcm/ │ ├─ dcm1212/ │ └─ mcxn947-eval/ # 基于 FRDM 的自定义变体 │ ├─ 模块/ │ └─ hal_generic/ │ │ mcuxpresso-sdk/ # 从西部拉出 SDK CMake 系统已经知道哪些文件属于每个元器件。您不应手动列出这些内容。 BR 哈利 Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 谢谢你,哈里。 我同意这是最适合我的项目的结构。我的问题是不知道如何在项目根目录下创建 CMake,以正确添加和编译 application/ecu/modules 文件夹和 sdk 文件夹。 对于我手动编写的 ony,我只需通过 CMake"add_subdirectory" 进行编译,其中每个子文件夹都将包含各自的 CMake,以创建 CMake 库。然后,我通过"traget_link_libraries" 在 CMake 根目录中将它们链接在一起。我举了这两个 CMake 的例子,就像我现在一样(稍微简化了一点,这样我们就不用担心不同的版本目标了)。 我缺少的是如何将SDK添加到这个整体版本系统中,并确保我的ecu文件夹可以访问它。 Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 你好@汤姆-德博埃里奥 我刚测试过。 结构是 Harry_Zhang_0-1765438042376.png Harry_Zhang_1-1765438058379.png Harry_Zhang_2-1765438077914.png BR 哈利 Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 你好@汤姆-德博埃里奥 我们采用了拖放功能,使用户更容易向项目中添加源代码。该功能目前是一项试验性功能,用户必须在分机设置中启用。用户只需将源代码放入项目,项目的 CMakeLists.txt 文件就会自动更新。 要启用该功能: 打开扩展设置 选中启用将文件添加到项目 重新启动工作区 Harry_Zhang_0-1765419423926.png 对于硬件故障,请检查时钟、引脚复用器等是否存在冲突。 最后要启用自定义板(在 mcuxsdk 存储库之外),请按照 https://mcuxpresso.nxp.com/mcuxsdk/latest/html/develop/sdk/custom_board_development.html#enable-a-cu 中的步骤操作... BR 哈利 Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 您能否分享该示例中 CMakeList.txt 根目录的内容? Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 事实上,@Harry_Zhang,您是否介意分享一下您在这里设置的整个项目? 感谢你们迄今为止提供的所有帮助! Re: How to setup CMake in a fresh project (custom board) to add/reference the MCUXpresso SDK properl 你好@汤姆-德博埃里奥 我刚刚测试了我下载的这个示例。 Harry_Zhang_0-1765788298872.png 您可以下载它。 定制板开发 — MCUXpresso SDK 文档 BR 哈利
View full article
S32G2 BSP42.0でカーネルイメージ認証を有効にできませんでした こんにちは、エキスパート これは Ceer-Hirain からの緊急CASEです。BSP42.0 でカーネル イメージ認証を有効にできませんでした。 お客様の問題ステータス: 1.お客様は、Foxconn のコードベースの ATF と Foxconn のボードを使用しました。彼らはS32G2 BSP42.0の第10章に従った。UM は ATF とカーネル イメージの両方の認証を有効にします。詳しい手順は添付しております。テスト ログには、「bootm 0x80000000」を実行した後にカーネル イメージが見つからないことが示されましたが、iminfo コマンドではカーネル イメージを取得できないことが示されました。 2. お客様に、ステップ 9 の後に再生成された ATF バイナリを次のコマンドを使用して SD カードに書き込むように依頼しました。 dd if=fip.s32 of=/dev/sdb seek=512 skip=512 iflag=skip_bytes oflag=seek_bytes conv=notrunc,fsync BSP42.0ではこのステップが抜けていると思いますうーん。しかし、お客様は、再生した ATF を SD カードに書き込むと BL31 が起動に失敗すると報告しました。 3. また、お客様に NXP が github でリリースした ATF を使用するように依頼しましたが、ATF で以下のようなエラーが報告されました。 私がしたこと: 1.私はS32G2 BSP42.0の10.6.2章の手順に従っただけですRDB2 のカーネル認証を有効にする UM。添付の詳細な手順を参照してください。 2.再生したATFをSDカードに書き込みます 3. テスト ログにはカーネル イメージと dtb ファイルが正常に検証されたことが示されましたが、カーネル イメージのロード後にシステム リセットがトリガーされました。 私の分析: お客様はサードパーティ(Foxccon)のテストボードとATFを使用していたので、 Foxcon は、ATF と BSP に何らかの変更を加えて、自社のボードに適用した可能性があります。執筆 生成された ATF により、お客様側で BL31 のブート失敗が発生します。再生成された fip.s32 には、追加の署名ハッシュ値を持つ DTB が含まれます (mkimage ツールを使用してカーネルと fdt に署名)。SO、BL31 メモリが追加の署名ハッシュ値によって上書きされる可能性があります。 1. システム リセットがトリガーされる理由について、私の手順と分析を確認してください。 2. お客様の問題について、お客様の手順を確認し、ヒントを提供していただけますか?いくつかの設定を確認していただけますか? Linux BSP 優先度: 高 Re: Failed to enable kernel image authentication in S32G2 BSP42.0 お客様はATFの主な変更を提供しました Re: Failed to enable kernel image authentication in S32G2 BSP42.0 はい、これについては言及されていませんが、暗示されていると思いました。ただし、必要であればこの詳細をCAN追加します。 ただし、itb 構成の例を提供しており、それを使用すると動作します。また、verifiedboot は Yocto で自動化されているため、多くの手動手順を実行せずに、verififedboot を Yocto で高速化できます。 DISTRO_FEATURES:append = " verifiedboot" でビルドするだけです Re: Failed to enable kernel image authentication in S32G2 BSP42.0 こんにちは、 たとえば、0x80000000 で fatload を使用して ITB をロードする場合、ITB が収まるように 0x80000000 からの十分なスペースがあることを確認する必要があります。次に、ロード時に ITB に設定された値によって、ITB から新しいメモリ位置へのカーネルのアンパックに十分なスペースが確保されることを確認する必要があります。このCASEでは、ITB がロードされたときと同じメモリ アドレス (0x80000000) でカーネルが ITB からアンパックされ、破損が発生し、ブートローダがボードを再起動します。動作させるためには、ロードを 0x80000000 ではなく 0x82000000 (ITS/ITB 構成) に変更するか、ITB を別のメモリ位置にロードすることをお勧めします。 よろしくお願いいたします。 ミハイ Re: Failed to enable kernel image authentication in S32G2 BSP42.0 はい、メールで述べたように、私も後の実験でこの詳細を見つけましたが、BSP UMではこの詳細は言及されていません。 Re: Failed to enable kernel image authentication in S32G2 BSP42.0 こんにちは、ミハイ お客様に Yocto を使用してセキュア機能を自動的に有効にするように依頼したところ、以下のように ATF が BL31 または BL33 の起動に失敗するという同じ問題が発生したと報告されました。 メールで述べたように、お客様も私が共有した手順に従ってカーネル イメージ認証を手動で有効にしましたが、私の側ではそれが機能することが証明されていますが、同じ問題が発生しました。 この問題は以下の 2 つの要素に焦点を当てています。 1. お客様は変更された dtb ファイルを使用して ATF を再構築しました。この dtb ファイルには、カーネル イメージの認証に使用される追加の公開キーが含まれています。変更されていない dtb ファイルを使用して ATF をビルドすると、ATF は正常に起動します。 2. ATF はお客様によって変更されています。以前のコメントに添付されている ATF のパッチ ファイルを参照してください。 お客様に、ATF コードをデバッグしてスタックポイントを見つけるように依頼しました。お客様はこのプロセスに取り組んでいます。FUTUREにはお客様とのオンラインデバッグ会議が行われる可能性があります。私は ATF の専門家ではないので、ソフトウェア チームも会議に参加できることを願っています。添付ファイルは、正常に起動できないお客様のATF dtbとfip.binです。 ところで、ソフトウェア チームは、根本原因を調査するために、お客様からさらに追加情報を入手し、より多くの提案を得る必要がありますか? Re: Failed to enable kernel image authentication in S32G2 BSP42.0 こんにちは、アーサー。 UM からステップ 8 を実行するときに、結果の dtb を dts に戻し、meld を使用して入力と出力の dtb を確認するように指示してください。( は、meld なしでは動作しますが、meld があると動作しないため) これはビルドの問題だと思います。適切な入力 dtb が 1 つありますが、手順 8 を実行した後、結果はハードウェアと一致しない別の dtb になります。 よろしくお願いいたします。 ミハイ
View full article