Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
请求支持 Windows ARM64(LinkServer/MCUXpresso) 这也要求开始发布 Windows ARM64 版本的 LinkServer 和 MCUXpresso 安装程序。我最近看到越来越多的学生使用这些基于ARM的Windows笔记本电脑。 开发板 MCXA MCX N Re: Windows ARM64 support request (LinkServer/MCUXpresso) 你好 感谢您的建议,我将向通讯员团队提出意见、 关于 MCUXpresso 的使用,您能否帮助我们尝试使用 Visual Studio Code 扩展?然后与我们联系你的发现? 有关该工具安装和使用的更多信息,请参阅 MCUXpresso for VS Code 文档 - MCUXpresso for VS Code 26.05 文档 适用于 Visual Studio Code 的 MCUXpresso | NXP 半导体 最诚挚的问候,路易斯 Re: Windows ARM64 support request (LinkServer/MCUXpresso) 谢谢您的答复。 vscode 扩展正常工作。mcu-link 驱动程序基于 WinUSB,微软对其进行了完美移植。 我在测试系统上没有管理员权限,但我可以将 linkserver 复制到系统上并调试项目。我不知道 LinkServer 安装中的其他驱动程序,但它们需要签名的 arm 版本。 不幸的是," mcuxpresso 安装程序 " 安装的所有工具都是 x64,因此所有工具都通过 Prism 转换层运行。git、python、ninja、cmake 等应该已经发布了 arm 版本这样就可以打包了。只有 arm-none-eabi 工具链尚未发布 arm64 版本,但可以构建。特别是对于 mcu-link 开发板来说,它主要与 ARM64 Windows 版本的性能有关。 Re: Windows ARM64 support request (LinkServer/MCUXpresso) 你好! 很高兴听到它对您来说运行正常。至于该主题的最新进展,很遗憾,我们不会为 MCUXpresso IDE 开发 ARM64 版本,因为我们现在只对该平台进行维护,我们仍然建议使用 VS Code 扩展来支持 MCUXpresso。 最诚挚的问候,路易斯 Re: Windows ARM64 support request (LinkServer/MCUXpresso) MCUXpresso 安装程序由 VSCode 扩展使用,这就是我之前提到的: https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-installer :MCUXPRESSO-INSTALLER 和https://mcuxpresso.nxp.com/mcux-vscode/latest/html/MCUXpresso-Installer.html 。此版本适用于 macOS x64/arm64 和 linux/windows x64,但不适用于 arm64。此软件包包含链接服务器,该服务器已发布,适用于 macOS x64/arm64、linux x64/arm64 以及 windows x64。我希望这些应用程序能够发布适用于 Windows arm64 的版本。我知道 mcuxpresso 安装程序会安装很多东西,其中大部分东西在 Windows arm64 上已经可用了。我教的学生都拥有这些新的 Windows arm64 笔记本电脑,现在我必须帮助他们找到解决方法才能让程序正常运行。
View full article
モバイルオンラインバカラアカウントの登録およびお問い合わせは、15708835568までお電話ください。
View full article
关于 S32K3 EMIOS 的几个问题 亲爱的支持团队 我有几个关于 eMIOS 的技术问题。 1.X 通道和 G 通道都有一个 CNT 寄存器。为什么两个通道都支持 OPWFMB,而只有 G 通道支持 OPWMCB? 2.我将 Emios0_Ch3 配置为 DOAC 模式,"标志事件仅在 B 匹配时发生"。 在这个频道的中断回调函数中,我改变了占空比。 但是,输出是 5 个波形,占空比为 500,然后是 4 个循环占空比为 1000 的波形。 我在第 133 行将占空比设置为 1000,在第 137 行将占空比设置为 500,但行为保持不变。 当我将占空比更改为其他值时,模式似乎是: 占空比较大的波形出现的时间少了一次(只有 4 次,而不是预期的 5 次),而占空比较小的波形出现的时间是预期的 5 倍。 OPWMT 和 OPWMB 模式下不会出现此问题。 3.MCR 寄存器中的 GPRE 对 OPWFMB 模式下的波形频率没有影响吗? 在其他条件不变的情况下,当我修改 Emios_Mcl 中的这一参数时,OPWFMB 模式(Emios0_Ch0)下的输出频率不会发生变化。 4. 根据参考手册: "为什么 OPWFMB 频率不受 GPRE 影响? Cn[UCPRE] 的功能是什么? 如果您能回答上述问题,我将不胜感激。 顺祝商祺! Re: several questions about S32K3 EMIOS 你好@Jason22 1.虽然两种通道类型都包含一个内部计数器,但这并不意味着它们具有相同的内部结构。以下是总体比较: G 型(7 个通道):功能齐全。它包括一个内部计数器,但该计数器不能与其他通道共享。 X 型(15 个通道):包括一个内部计数器,其 MC/MCB 计数器总线可由其他通道共享和使用。 2.请参阅《S32M27x/S32K3 - eMIOS 使用》中提供的 DAOC 示例项目。该示例包括有关驱动程序限制的信息,并就正确使用提供了有用的指导。 3.时钟分频器值充当预分频器,用于分频eMIOS实例的输入时钟频率。这实际上决定了该实例中所有通道使用的基本时间分辨率。 较高的分频器值 → 降低时钟频率 → 增加计时器周期 → 导致输出信号频率降低。 较低的分频器值 → 增加时钟频率 → 缩短计时器周期 → 导致更高的输出信号频率。 BR、VaneB Re: several questions about S32K3 EMIOS 你好@VaneB 非常感谢你回答我的问题。 我仍然对"eMIOS 的 GCP 输出信号除以 UC CP(Cn [UCPRE]+1)以产生 UC 内部计数器" 的时钟使能有一些疑问。在实际测试中,我发现如果 C2_n [UCPRECLK] 为 0,预刻度时钟的频率等于 GCP 除以 (C2_n [UCEXTPRE]+1) 而不是 (Cn [UCPRE]+1),我在 Emios_Pwm_Ip_HwAccess 中找到了这句话。h (RTD700):"未使用位文件 UCPRE。取而代之的是使用 C2" 中的 UCEXTPRE 来控制数值。参考手册指出 " C2_n [UCEXTPRE] 的两个最低有效位镜像 UCPRE。"。我已经看到UCPRE在参考手册中多次出现,但我似乎看不出驱动程序代码中使用了UCPRE。 能否请您解释一下 UCPRE 的用途? 致以最诚挚的问候 Re: several questions about S32K3 EMIOS 你好@Jason22 请参阅下面的相关主题,也许会有所帮助。 PWM 捕获时钟的分频问题
View full article
LS1046A FEC support Hello, I'm interested is it FEC (Firecode FEC used in 10GBASE-KR) supported on LS1046A platform and how to enable it? I saw that in Linux kernel 6.12.49 there is 10GBASE-KR support, but only for Auto Negotiation and Link Training. Also I wanted to use USDPAA device tree to be able to use DPDK + VPP, so are there some blockers to make FEC work in that setup? Is it possible also to avoid running Auto negotiation and Link training and to run FEC only? Thanks in advance, Nenad Re: LS1046A FEC support Auto-negotiation is a necessary step in the current driver flow. If auto-negotiation fails, the process will not proceed further. So  the current backplane driver does not support FEC, and auto-negotiation is an integral part of the workflow. If you want to remove auto-negotiation, you will need to modify the driver by yourselves, and we do not recommend doing so. If link training itself has issues, there is no point in proceeding with other configurations. To enable FEC, an additional PMD register needs to be programmed. Re: LS1046A FEC support FEC is not supported in current backplane driver. Auto-negitation is necessary step in the backplane driver, I suggest customer modify backplane driver to set XFI_10GR_FEC_CTL[FEC_ENAB] to enable FEC Re: LS1046A FEC support I successfully enabled FEC and I am not using AN/LT (its disabled). I am basically including "-kr.dtsi" files for mac9 and mac10 to be able to access registers to write FEC_ENAB. When I say throughput in the next lines for example 4gbps I mean on 2x 4gbps is generated from network tester to board. BERT test is running (L2 traffic test termination). And when I start VPP so that mac9 and mac10 are bridged I see that errors are smaller, on one port there is 0 errors and on other port there is no errors when throughput is smaller (<4gbps) and when there is throughput >4gbps errors are around BER ratio 2E-08 and smaller (E-09). But those measurements are when the system is idle (not using console at all). But when I do something, for example start top program, press Enter multiple times, errors are increasing (BER ratio E-07, E-06). So I made a script that is doing memcpy fast (to put pressure on ddr) and I saw that I got a lot of bit errors (BER ratio is going up to E-04 for throughputs bigger than 7gbps) on MTS5800 network tester. My setup is like this: DPDK + VPP (main core 1, workers 2 and 3), isolcpus=1-3, nohz_full=1-3, rcu_nocbs=1-3, iommu_passthrough=1, hugepagessz=2m, number of hugepages 512. Is there maybe DDR bandwidth bottleneck in higher network throughputs?
View full article
如何在 i.mx8M Mini 的 eMMC 分区 (boot1) 中刷新 u-boot 您好, 我们希望使用 i.MX8M MINI 主板从 eMMC 的 boot0 和 boot1 分区进行闪存和启动。 你能为我提供任何必要的内核修改和 uuu 文件更改以将镜像闪存到主板上吗? 此致, 达米克 Re: How to flash u-boot in eMMC partition(boot1) in i.MX8M Mini 您好, 是的,请参阅 UUU github 获取此任务的示例脚本,有关修改,请参阅文档: https://github.com/nxp-imx/mfgtools/wiki/Sample-scripts#burn-yocto-image-to-emmc-by-linux-kernel 文件: https://github.com/nxp-imx/mfgtools/releases/download/uuu_1.5.243/UUU.pdf 致以最崇高的敬意/问候, Aldo。 Re: How to flash u-boot in eMMC partition(boot1) in i.MX8M Mini 您可以阅读文档: i.MX8QXP eMMC 二级启动并更改为 8 毫米 https://community.nxp.com/t5/NXP-Tech-Blog/i-MX8QXP-eMMC-Secondary-Boot/ba-p/1257704#M45https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8MM-SDCARD-Secondary-Boot-Demo/ta-p/1500011 i.MX8QXP_emmc_boot_part_secondary_boot.uuu 向 boot2 段写入你想要的内容。 # Secondary boot FB: ucmd setenv part 2 FB: ucmd if test ${part} != 7; then mmc dev ${emmc_dev} ${part}; else mmc dev ${emmc_dev}; fi #FB: download -f imx-boot-imx8qxpc0mek-sd.bin-flash-L5.4.47-2.2.0 FB: download -f imx-boot-imx8qxpc0mek-sd.bin-flash-L5.4.70-2.3.0 FB: ucmd echo ${fastboot_bytes} FB: ucmd setexpr blks ${fastboot_bytes} / 0x200; setexpr blks ${blks} + 1 FB: ucmd mmc write ${loadaddr} ${boot_offset} ${blks} 完整剧本 uuu_version 1.2.39 SDPS: boot -f imx-boot-imx8qxpc0mek-sd.bin-flash-L5.4.70-2.3.0 SDPV: delay 1000 SDPV: write -f imx-boot-imx8qxpc0mek-sd.bin-flash-L5.4.70-2.3.0 -skipspl SDPV: jump #FB: ucmd setenv emmc_dev 1 FB: ucmd setenv part 1 FB: ucmd setenv boot_offset 0x0 FB: ucmd setenv fastboot_dev mmc FB: ucmd setenv mmcdev ${emmc_dev} FB: ucmd if test ${part} != 7; then mmc dev ${emmc_dev} ${part}; else mmc dev ${emmc_dev}; fi FB: ucmd setenv fastboot_buffer ${loadaddr} FB: download -f imx-boot-imx8qxpc0mek-sd.bin-flash-L5.4.47-2.2.0 #FB: download -f imx-boot-imx8qxpc0mek-sd.bin-flash-L5.4.70-2.3.0 FB: ucmd echo ${fastboot_bytes} FB: ucmd setexpr blks ${fastboot_bytes} / 0x200; setexpr blks ${blks} + 1 FB: ucmd mmc write ${loadaddr} ${boot_offset} ${blks} # Secondary boot FB: ucmd setenv part 2 FB: ucmd if test ${part} != 7; then mmc dev ${emmc_dev} ${part}; else mmc dev ${emmc_dev}; fi #FB: download -f imx-boot-imx8qxpc0mek-sd.bin-flash-L5.4.47-2.2.0 FB: download -f imx-boot-imx8qxpc0mek-sd.bin-flash-L5.4.70-2.3.0 FB: ucmd echo ${fastboot_bytes} FB: ucmd setexpr blks ${fastboot_bytes} / 0x200; setexpr blks ${blks} + 1 FB: ucmd mmc write ${loadaddr} ${boot_offset} ${blks} FB: ucmd setenv part 1 FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} ${part} 0 FB: done https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/iMX-secondary-boot-collection/ta-p/1916915
View full article
IMX8M Ethernet MAC to other Processor MAC In our design we are using two processors. one is IMX8M Plus and another one is zynq APSoC. Can we connect ethernet MAC to MAC without external phy between APSoC and IMX via RGMII. what are the design constrains needs to consider? Re: IMX8M Ethernet MAC to other Processor MAC Hi  We have tried with different speed and phy mode combinations. no improvements in behaviour. Can you confirm whether any MAC or PHY mode configuration need to be hanlded in software IMX8MP since our hardware ENET pins are phyless, so is there any method of configuration to enable MAC mode ? Re: IMX8M Ethernet MAC to other Processor MAC Step 1 — Check TX actually sending Run: ping ethtool -S eth0 Look at: tx_packets tx_errors If TX = 0 → MAC not transmitting → pinmux/clock issue If TX > 0 but RX = 0 → skew/timing issue Step 2 — Probe signals (critical) Check with scope: Signal Expectation TXC clock toggling TXD[0:3] data activity RXC received clock RXD[0:3] data toggling If TXD always static → MAC not sending (SW/pinmux issue) If TX OK but RX empty → timing/skew problem Step 3 — Validate phy-mode combination Your DTS: phy-mode = "rgmii-id"; Check BOTH sides: Try: Side A: "rgmii-id" Side B: "rgmii" or: A: "rgmii-txid" B: "rgmii-rxid" This is the#1 fix in MAC-to-MAC RGMII Step 4 — Force TX clock/output direction On i.MX EQOS: Check if you need: TX_CLK generated internally or external clock mapping Some SoCs require explicit: GPR register config clock mux setting Step 5 — Verify pinctrl completeness For EQOS you MUST include: TX: TXC TX_CTL TXD[0..3] RX: RXC RX_CTL RXD[0..3] If any RX pin missing → tcpdump empty Step 6 — Check interface mapping (very common bug) Verify: ethernet0 = &eqos; ethernet1 = &fec; Ensure: Only one MAC node enabled Using correct pinctrl (eqos vs fec) Step 7 — Different speed test You configured: speed = <10>; 10 Mbps uses 2.5MHz clock Signal margin smaller / unstable Try: speed = <100>; or: speed = <1000>; Many MAC-to-MAC setups fail at 10 Mbps Step 8 — Confirm both sides identical config Both SoCs must match: Parameter Must match speed Match duplex Match phy-mode compatible Re: IMX8M Ethernet MAC to other Processor MAC Hi yiping, From software side both sides fixed-phy link with speed of 10 mbps configured since there was no PHY chip mounted in hardware whether device drivers in bootloader affect the data integrity ? when we are verifying the link shows it is up, but unable to ping. could you please provide any debugging steps ? NOTE: Between 2 processors RGMII lines are hard wired with cable length matched. unable to capture any valid packets using tcpdump also. Attaching dts FYR &eqos { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_eqos>; phy-mode = "rgmii-id"; status = "okay"; fixed-link { speed = <10>; full-duplex; }; };  Please suggest if there any other node / enet controller need to be enabled in pin muxing Re: IMX8M Ethernet MAC to other Processor MAC Yes, if both MACs can operate in fixed-link mode (no PHY auto-negotiation), the RGMII timing is engineered correctly, especially the TX/RX clock-to-data skew, which is normally handled by a PHY. Hardware Ensure same I/O voltage on both ends.  Route very short traces between SoCs.  Intentionally implement the required clock-to-data skew: preferably by internal MAC delay if truly supported, otherwise by PCB delay on clock lines.  Match trace lengths carefully within each direction. Check that neither side expects a PHY reset or MDIO-managed strap configuration to exist. Software Configure fixed-link on both ends.  Force the same speed/duplex on both MACs.  Disable PHY-specific initialization code if your BSP assumes MDIO/PHY presence. NXP’s Ethernet configuration documents focus heavily on PHY-oriented initialization flows, which is a reminder that you may need to bypass normal PHY handling in your bootloader/OS integration.  Validate with traffic tests (ping, iperf) and, ideally, oscilloscope timing verification. Please refer to AN14149 Re: IMX8M Ethernet MAC to other Processor MAC Hi yiping, For this direct MAC to MAC via RGMII, do we need to connect TXC to TXC of another MAC or TXC to RXC ? Re: IMX8M Ethernet MAC to other Processor MAC Yes — both ends must match. For MAC‑to‑MAC (PHY‑less) connection, you must configure the same speed, duplex, and compatible phy‑mode on both sides, otherwise the link will not work (or will behave incorrectly). Re: IMX8M Ethernet MAC to other Processor MAC Hi yiping, We have verified external loopback in IMX with cross connection, after changing the phy-mode to rgmii-txid now we are able to see the transmitted packets counts and received packet counts are properly updating. Still when trying to send or receive from zynq no ping is happening, im suspecting the other side link partner (MAC) itself is having some issue.  Re: IMX8M Ethernet MAC to other Processor MAC There is NO special “MAC-only mode enable” in i.MX8MP hardware The correct method is: Configure fixed-link in device tree Select proper phy-mode (rgmii-txid recommended) Ensure RGMII delay enabled in hardware registers Disable all PHY-related logic Mode Meaning rgmii NO delay rgmii-id both TX & RX delay rgmii-txid TX delay only rgmii-rxid RX delay only Re: IMX8M Ethernet MAC to other Processor MAC TXC must connect to RXC (cross connection), NOT TXC–TXC. i.MX8MP                        Zynq  TXD[3:0] ---------> RXD[3:0] TX_CTL ---------> RX_CTL TXC ---------> RXC   RXD[3:0] <--------- TXD[3:0] RX_CTL <--------- TX_CTL RXC <--------- TXC Re: IMX8M Ethernet MAC to other Processor MAC Hi yiping, Does other end MAC also need to have same phy-mode and same speed with fixed phy link?
View full article
LinkServer Tool included inside NXP AFE GUI Hi, I’m currently developing a GUI for several NXP products from the NAFE family. I recently added a feature that allows firmware flashing directly from the GUI by invoking LinkServer through a C# backend. To make this feature work for all users, I am currently including the entire LinkServer folder in the GUI installation package. I would like to ask if this is the recommended approach, or if there is a way to include only the required components of LinkServer(just few command line is needed) instead of the full installation. Thank you in advance for your support! Thanks
View full article
EB Tresos configuration : XRDC domain master instance, Xrdc_0_HSE_B is not available Hello, I'm migrating from RTD 4.0.0_P20 to 7.0.1 + 7.0.2_P02. I'm using EB tresos for configuration. In the RM module, I have an error in XRDC domain master instance => Domain master assignement => Xrdc Master instance  I can't choose Xrdc_0_HSE_B. As I remember without this my software stuck when using HSE jobs. what should I do ? Sophie Re: EB Tresos configuration : XRDC domain master instance, Xrdc_0_HSE_B is not available Hello @sobo, I've triggered an internal discussion regarding this configuration, as it seems a specific SBAF and HSE framework version does not need MDAC3 assignment through RTD. I will let you know as soon as I get a response. Best regards, Julián
View full article
FRDM-A-S32K358 Arduinoシールドはお持ちですか? FRDM-A-S32K358を購入しようと思っているのですが、データシートや回路図が見つかりません。Arduinoシールドが入手可能かどうか、S32k3X8EVB-Q289よりもピン数が少ないかどうか、あるいはボード自体に大きなハードウェア上の違いがあるかどうかを知りたいです。回路図は入手できないのですか?あるいはDSNファイルでしょうか? Re: Do you have the FRDM-A-S32K358 Arduino shield? S32K358のデモボードは、公式サイトに以下の3種類ありますが、どれについてお話されていますか? RD-K358BMU RD-BESSK358BMU EVBMA6X02BMU Arduinoコネクタがないようです Re: Do you have the FRDM-A-S32K358 Arduino shield? こんにちは、 1. Arduinoとの互換性 FRDM-A-S32K358は、NXPのFRDM車載エコシステムの一部であり、プロトタイプの作成の容易さを念頭に置いて設計されています。 このボードはArduino互換のヘッダーを備えているため、標準的なArduinoシールドを使用して迅速なアプリケーション開発を行うことができます。 参考までに、S32K3X8EVB-Q289評価ボードは、Arduino互換のピン配置もサポートしています。 https://www.nxp.com/design/design-center/development-boards-and-designs/S32K3X8EVB-Q289 2. ピンの利用可能性 以下の点を区別することが重要です。 MCU の機能 (S32K358 デバイス) 対 評価ボード上のアクセス可能なピン S32K358 MCUは(パッケージによって異なりますが)多数のGPIOをサポートしています。 S32K3X8EVB-Q289は、複数のコネクタと拡張インターフェースを介してMCUのピンに幅広くアクセスできる、フル機能の評価ボードです。 FRDM-A-S32K358は、設計上、コンパクトでコスト効率に優れた基板であるため、主にArduino互換ヘッダーを介して、限られた数のピンのみを露出させています。 そのため、FRDMボード上では、MCUのすべてのピンやペリフェラル信号が外部から利用できるわけではありません。 3. FRDMとEVBのハードウェアの違い この2つのボードは、それぞれ異なる用途を想定しています。 FRDM-A-S32K358 コンパクトで低コスト ラピッドプロトタイピング、ソフトウェア開発 Arduinoシールド S32K3X8EVB-Q289 総合評価プラットフォーム ハードウェアの総合的な評価と検証 Arduino + 追加のコネクタとインターフェース S32K3X8EVB-Q289は通常、より幅広い外部インターフェース、コネクタ、および測定機能を統合しているため、詳細なハードウェア評価やシステム検証に適しています。 4. 回路図および設計ファイル この製品は比較的新しいため、公開ウェブページには専用のドキュメントが見当たりません。 ページの更新を待つか、NXP.comのNXPサポートチケットを通じてリクエストしてください。 よろしくお願いいたします。 ピーター Re: Do you have the FRDM-A-S32K358 Arduino shield? こんにちは、 S32K3X8EVB-Q289 https://www.nxp.com/design/design-center/development-boards-and-designs/S32K3X8EVB-Q289 あなたが挙げたボードは、汎用的な評価ボードと同等のものではなく、バッテリー・マネジメントシステム(BMS)に特化したアプリケーション固有のリファレンス・デザインです。 上記の投稿で述べたとおりです。 よろしくお願いいたします。 ピーター
View full article
MIMX9352XVVXMACの電圧マージンに関する質問 技術コミュニティチームの皆様へ MIMX9352XVVXMACプロセッサの電源レールに関して、いくつか質問があります。現在の設計では、供給電圧がデータシートに記載されている最大動作電圧範囲をわずかに超えるシナリオが存在します。 デザインの信頼性を確保するため、以下の点についてご説明いただければ幸いです。 軽微な過電圧の影響:電源レールが最大動作限界を数ミリボルト(mV)超えた場合、デバイスにどのような潜在的なリスクや長期的な影響が生じる可能性がありますか? セーフティマージン:データシートに記載されている動作電圧範囲には、固有のセーフティマージンが含まれていますか?そうだとすれば、具体的にどのような利益率なのでしょうか? 温度依存性:これらの絶対最大値と推奨動作電圧範囲は、特に高温動作時において、温度によってどのように変化するのでしょうか? お時間とご協力に感謝いたします。ご指導をお待ちしております。 Re: Questions About Voltage Margins on MIMX9352XVVXMAC i.MXの絶対最大定格は以下のとおりです。
View full article
S32K3のデバッグに関する問題 こんにちは。S32DS3.6.7を使用してS32K324のデバッグを行っていた際、純正のJ-Linkを使用していました。V11. 次のような問題が発生しました。どうすれば解決できますか? このボードにはデバッグパスワードが設定されていないため、PEを使用して通常どおり接続およびデバッグできます。 Re: S32K3 Debug问题 こんにちは@Chenxu1 SEGGERは、IDコードダイアログ(共有画像に示されているとおり)を介した認証メカニズムを使用していることを理解しています。彼らのドキュメントによると、デバッグアクセスを有効にするには有効なキーを提供する必要がある。詳細については、リンク先の「デバッグ認証」セクションを参照してください。 この現象はSEGGERのツール特有のものであるため、SEGGERのサポートにお問い合わせいただくことをお勧めします。 ご理解いただき、ありがとうございます。 BR、VaneB
View full article
Guider Emulation Error Guider version 1.10.1 creates projects using LVGL 8.3.10 Simulation suddenly reports an error after a few new pages, what's the reason? ✓ Compilation completed! build\bin\simulator.exe mingw32-make: *** [run] Error -1073741819 Re: Guider仿真报错 There is no special operation, copy and paste all the components of the problem page to a new page and then run the new page is normal, very strange, when the problem backed up the project, if it is convenient, you can leave your e-mail address to send a copy of the problem project. It is not convenient to upload files here. It's just that this error is reported after switching to a certain page. Re: Guider仿真报错 Are there any special operations? Does it reproduce consistently every time? I just tried it on my end and it didn't reproduce your problem. Can you describe it more specifically?
View full article
S9KEAZN8 — 低功耗模式入门代码示例和睡眠时的 PWM 信号检测 我使用的是 S9KEAZN8。我想知道如何进入低功耗模式。谁能提供一个代码示例,说明如何做到这一点? 另外,我需要检测 MCU 处于低功耗模式时的 PWM 信号变化。正确的处理方法是什么? 参考手册没有代码示例。如能提供任何示例代码或指导,将不胜感激。 谢谢。 Re: S9KEAZN8 – Low power mode entry code example and PWM signal detection in sleep 你好@ssjj 您使用的是哪个集成开发环境?如果您使用的是 S32DS,则有适用于 KEA128 的示例项目。这些示例稍作修改后也可用于 KEA8。 关于进入低功耗模式,您可以通过 WFI 指令进入。具体实现可参考 pmc.c 文件,其中包括 PMC_SetMode() 等函数。   如果您有任何其他问题,请随时联系我。 BR 爱丽丝
View full article
S9KEAZN8 – Low power mode entry code example and PWM signal detection in sleep I am using S9KEAZN8. I would like to know how to enter low power mode. Could anyone provide a code example showing how to do this? Also, I need to detect PWM signal changes while the MCU is in low power mode. What would be the proper way to handle this? The Reference Manual does not have code examples. Any sample code or guidance would be appreciated. Thanks. Re: S9KEAZN8 – Low power mode entry code example and PWM signal detection in sleep Hello @ssjj  Which IDE are you using? If you are using S32DS, there are example projects available for KEA128. These examples can also be used for KEA8 with minor modifications. About enter low power mode, you can enter through the WFI instruction. For the specific implementation, you can refer to the pmc.c file, which includes functions such as PMC_SetMode().   If you have any other questions, please feel free to get back to me. BR Alice
View full article
PN7462 I2CM Configuration and EEPROM Communication Example Request Hi Team, I am trying to use the PN7462 I2C Master (I2CM) interface to communicate with an external EEPROM (24AA025UID / AT25M02). My I2CM initialization is as follows: phStatus_t I2C_Init(void) { phStatus_t status; uint8_t bBaudRate; bBaudRate = (uint8_t) ((PH_EXHIF_HW_CRYSTAL_CLK / 100000UL) - PH_EXHIF_HW_CRYSTAL_CLK_MHZ); status = phhalI2CM_Init( PH_EXHIF_HW_I2CM_TX_FIFO_THRES, PH_EXHIF_HW_I2CM_RX_FIFO_THRES, PH_EXHIF_HW_I2CM_TIMEOUT, PH_EXHIF_HW_I2CM_RETRY_CNT); if(status != PH_ERR_SUCCESS) { return status; } status = phhalI2CM_Config( 243, 0x09, E_I2CM_7BIT_ADDR_MODE); phHal_Nvic_EnableInterrupt(PH_HAL_NVIC_I2C_MASK); return status; } I am using phhalI2CM_SlaveCheck(), phhalI2CM_Transmit(), and phhalI2CM_Receive() to access the EEPROM. Could you please provide: I have initialized I2CM using phhalI2CM_Init() and phhalI2CM_Config(), and enabled the I2C interrupt. However, when I call phhalI2CM_SlaveCheck(), I get a HardFault. Could you please share: Any I2CM EEPROM read/write example project for PN7462. The recommended I2CM initialization sequence. Any required PCR/PAD configuration. Any OSAL/Event initialization required before using phhalI2CM_SlaveCheck(), phhalI2CM_Transmit(), and phhalI2CM_Receive(). Currently, transmit and slavecheck results in a HardFault, so I would like to verify that the I2CM initialization and usage sequence is correct. Thanks, Uday Re: PN7462 I2CM Configuration and EEPROM Communication Example Request Hello @uday_gowda Unfortunately, there is no specific demo for I2C EEPROM read/write. I will recommend you referring to PN7462AU_ex_phExHif demo (from latest NFC Reader Library for PN7462) for I2CM initialization and operation. For I2CM Tx tests, please comment the lines used for GPIO evaluation or sync: - src/phExHif.c -> around lines 76, 84, 94, 108 (this line is used for reception) - src/phExHif_Hw.c -> around lines 120, 126, 142 (hardcode bHifInterface), 210 (hardcode bCommChannel to 1) Also, please consider changing Optimization level to None (-O0). Regards, Eduardo. Re: PN7462 I2CM Configuration and EEPROM Communication Example Request Hello @EduardoZamora, Thank you for your response. I am using the following I2CM initialization and EEPROM read implementation, which works correctly in the PN7462AU_ex_phExHif demo project: phStatus_t I2C_Init(void) { phStatus_t status; uint8_t bBaudRate; bBaudRate = (uint8_t) ((PH_EXHIF_HW_CRYSTAL_CLK / 100000UL) - PH_EXHIF_HW_CRYSTAL_CLK_MHZ); status = phhalI2CM_Init( PH_EXHIF_HW_I2CM_TX_FIFO_THRES, PH_EXHIF_HW_I2CM_RX_FIFO_THRES, PH_EXHIF_HW_I2CM_TIMEOUT, PH_EXHIF_HW_I2CM_RETRY_CNT); if(status != PH_ERR_SUCCESS) { return status; } status = phhalI2CM_Config( 0x40, 0x09, E_I2CM_7BIT_ADDR_MODE); return status; } #define EEPROM_ADDR (0x50U) #define EEPROM_MFG_ADDR (0xFAU) #define EEPROM_DEV_ADDR (0xFBU) #define EEPROM_UID_ADDR (0xFCU) phStatus_t EEPROM_ReadUID(uint8_t uid[4]) { return EEPROM_Read( EEPROM_UID_ADDR, uid, 4); } static phStatus_t EEPROM_Read(uint8_t memAddr, uint8_t *pData, uint16_t length) { phStatus_t status; uint32_t txBuf[4]; uint32_t rxBuf[64] = {0}; txBuf[0] = memAddr; status = phhalI2CM_Transmit( EEPROM_ADDR, 1, txBuf); if(status != PH_ERR_SUCCESS) { return status; } status = phhalI2CM_Receive( EEPROM_ADDR, length, rxBuf); if(status != PH_ERR_SUCCESS) { return status; } memcpy(pData, (uint8_t *)rxBuf, length); return PH_ERR_SUCCESS; } This exact code works in the PN7462AU_ex_phExHif demo. However, when integrated into my application and also phExMain example, it causes a HardFault. Apart from commenting the GPIO evaluation/sync lines and changing the optimization level to -O0, is there any additional configuration required in phExMain and on my application for I2CM operation? Regards, Uday Gowda Re: PN7462 I2CM Configuration and EEPROM Communication Example Request Hi, We will continue the communication in your post PN7462 I2CM configuration - NXP Community. Regards, Eduardo.
View full article
iMx95 FRDM 板的内核源代码 git 链接和编译程序 我最近有了 FRDM iMX95 开发板。你能否分享编译步骤、入门指南和内核源代码 git 链接。 我们从哪里获取预构建的基础图像?请提供解决方案。谢谢。 Re: Kernel Source git link and build procedure for iMX95 FRDM board 有很多方法可以做到这一点。我会让恩智浦 SE/CAS 工程师提供他们的答案,并将其作为官方答案。 1) 如果您想要 LTS NXP 内核(稳定内核) $ git clonehttps://github.com/nxp-imx/linux-imx.git $ git checkout lf-6.18.y $ export ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- $ make imx_v8_defconfig $ make -j8 # 这将创建 Image、dtb 和模块。 2) 如果您需要尖端内核 $ git clonegit://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git # 现在从 linux-imx 树中复制 imx_v8_defconfig,并使用相同步骤获取映像、dtb 和模块。 对于预构建图像,您只需使用 IMX95 FRDM 登陆页面:https://www.nxp.com/document/guide/getting-started-with-frdm-imx95:GS-FRDM-IMX95?section=get-software。 Re: Kernel Source git link and build procedure for iMX95 FRDM board 你好。 这是我目前所在的分部。 FRDM/版本/linux-imx$ git branch -a lf-6.12.y * lf-6.18.y remotes/origin/HEAD -> origin/lf-6.12.y remotes/origin/git.kernel.org/linux-stable/linux-2.6.11.y 最后一次提交是 frdm/build/Linux-imx$ git 日志提 交 f49f45233f7b10006ce7e9c826ee882bb14ac8b5(HEAD-> lf-6.18.y,标签:lf-6.18.2-1.0.0,origin/lf-6.18.y) 作者: Laurentiu PalcuLaurentiu Palcu 日期Wed Feb 11 12:59:05 2026 +0000 MA-24383 Revert"LF-16490-3 dts: arm64: freescale:设置 Maxim CSI SerDes 的默认 FSYNC 间隔" 此操作还原了提交 ee3206dd51df41e8386c87723fb790e416cab463。 在启用 FSYNC 后,如果一个传感器的 在曝光增加后比其他传感器的帧延迟更多,则另一个 传感器的流媒体似乎无法激活。只有当 同时在所有传感器上启动时,流媒体才会运行良好。 因此,在我们找出 问题所在之前,请禁用默认 FSYNC 设置。 签署人: Laurentiu Palcu 审查人:Robert Chiras 测试者:Antoine Bouyer 收件人:Jason Liu commit 5304400e20c8036690bd7718e2d8e3ed01b23037 Author:Gaurav Jain 日期: Tue Feb 10 16:17:57 2026 +0530Tue Feb 10 16:17:57 2026 +0530 LF-17497 uio:v2x prime:添加预留内存映射 增加了对 ——从设备树中读取预留内存节点 ——为预留内存创建 map1 ——使用 mmap 在用户空间中映射的支持。 签署人:Gaurav Jain 审查人:Pankaj Gupta 收件人:Jason Liu 这是从https://github.com/nxp-imx/linux-imx克隆的,你曾提到过。 Re: Kernel Source git link and build procedure for iMX95 FRDM board 好的,我明白了使用预先刷新的二进制文件可以正常工作,但是对于由你编译的版本的代码却行不通。你需要做一个二等分。找出哪个内核是预先刷新的二进制文件,然后研究当前补丁以查看哪个是错误的补丁。 否则,是的 - 请专门为此创建另一个问题,以便适当的恩智浦支持人员处理您的问题。 Re: Kernel Source git link and build procedure for iMX95 FRDM board 您好,感谢您的回复。我已经构建并检查了启动程序。运行正常。 为了验证 ISP,我从 NXP 购买了 OS08A20 摄像头模块和套件。我能够使用预先闪存的二进制文件进行流式传输,但是如果我尝试使用替换的图像和模块在环境中进行流式传输,我将面临以下问题。我附上了 gstreamer 错误和相应的 dmesg 日志。 版本 根目录 @imx95 -15x15-lpddr4x-frdm:~# GST_DEBUG=3 gst-launch-1.0libcamerasrc camera-name="${CAMERA0} " !video/x-raw, width=3840, height=2160, format=YUY2 !队伍waylandsink 将管道设置为 PAUSED ... [0:00:44.561152921][750] INFO Camera camera_manager.cpp:340libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:00:44.679792462][754] INFO IPAProxy ipa_proxy.cpp:180使用调整文件 /usr/share/libcamera/ipa/nxp/neo/os08a20.yaml [0:00:44.679997696][754] INFO NxpNeoIPA neo_ipa.cpp:146nxpneo: IPANxpNeo NXPNEO_IPA_v0.0.0+6489-lf-6.18.2-1.0.0 [0:00:44.681633606][754] INFO Camera camera_manager.cpp:223为管道处理程序 nxp/neo 添加摄像机 '/base/soc/bus@42000000/i2c@42540000/os08a20_mipi@36' 管道已启动,不需要 PREROLL ... 0:00:00.393998203 750 0xffffa4000dc0 FIXME default gstutils.c:4169:gst_element_decorate_stream_id_internal: 创建随机流标识,请考虑使用确定的 c 方式创建流标识 管道已 PREROLLED ... 设置管道为播放状态 ... 0:00:00.394882923 750 0xffffa4000dc0 WARN default gstlibcamera-utils.cpp:369:gst_libcamera_stream_formats_to_caps:不支持 DRM 格式 R10 0:00:00.394955545 750 0xffffa4000dc0 WARN default gstlibcamera-utils.cpp:369:gst_libcamera_stream_formats_to_caps:不支持 DRM 格式 R12 新时钟:GstSystemClock 0:00:00.395147188 750 0xffffa4000dc0 WARN default gstlibcamera-utils.cpp:369:gst_libcamera_stream_formats_too_caps:不支持 DRM 格式 XVUY [0:00:44.685461470][756] INFO Camera camera.cpp:1215配置数据流: (0) 3840x2160-YUYV/sYCC 0:00:00.0/ 99:99:99. 预编译 根 @imx95 -15x15-lpddr4x-frdm:~# GST_DEBUG=3 gst-launch-1.0libcamerasrc camera-name="${CAMERA0} " !video/x-raw, width=3840, height=2160, format=YUY2 !队伍waylandsink 将管道设置为 PAUSED ... [0:01:11.941028172][784] INFO Camera camera_manager.cpp:340libcamera v0.0.0+6489-lf-6.18.2-1.0.0 [0:01:12.052290407][788] INFO IPAProxy ipa_proxy.cpp:180使用调整文件 /usr/share/libcamera/ipa/nxp/neo/os08a20.yaml [0:01:12.052450707][788] INFO NxpNeoIPA neo_ipa.cpp:146nxpneo: IPANxpNeo NXPNEO_IPA_v0.0.0+6489-lf-6.18.2-1.0.0 [0:01:12.053531983][788] INFO Camera camera_manager.cpp:223为管道处理程序 nxp/neo 添加摄像机"/base/soc/bus@42000000/i2c@42540000/os08a20_mipi@36" 管道已启动,不需要 PREROLL ... 0:00:00.380374002 784 0xffffa0000dc0 FIXME default gstutils.c:4169:gst_element_decorate_stream_id_internal: 创建随机流标识,请考虑使用确定的 c 方式创建流标识 管道已 PREROLLED ... 将管道设置为播放 ... 新时钟:GstSystemClock 0:00:00.381201872 784 0xffffa0000dc0 WARN default gstlibcamera-utils.cpp:369:gst_libcamera_stream_formats_too_caps:不支持 DRM 格式 R10 0:00:00.381301351 784 0xffffa0000dc0 WARN default gstlibcamera-utils.cpp:369:gst_libcamera_stream_formats_to_caps:不支持 DRM 格式 R12 0:00:00.381493811 784 0xffffa0000dc0 WARN default gstlibcamera-utils.cpp:369:gst_libcamera_stream_formats_to_caps:不支持 DRM 格式 XVUY [0:01:12.057204764][790] INFO Camera camera.cpp:1215configuring streams: (0) 3840x2160-YUYV/sYCC 0:00:00.525188577 784 0xffffa0000be0 WARN wlwindow gstwlwindow.c:546:gst_wl_window_new_internal:init surface_state 失败,回退到 scale=1 全屏 (1920x1048) 重新分配延迟... 失败案例的 DMESG 日志 [ 20.994118] ox05b1s 3-0036: 检测到摄像头 os08a20,芯片_id=530841 [ 40.900644] kauditd_printk_skb: 抑制了 26 个回调 [ 40.900670] audit: type=1334 audit(1781075420.425:26):prog-id=21 op=UNLOAD [ 45.294168] ox05b1s 3-0036: Failed to apply mode 3840x2160,bpp=12 [ 100.138752] ox05b1s 3-0036: Runtime PM usage count underflow! 如何解决这个问题。请帮助我,谢谢 Re: Kernel Source git link and build procedure for iMX95 FRDM board @Harish_V我认为这是另一个问题。最初的问题是关于 Linux 树的。 如果您决定创建另一个问题,请指明您的树上的确切树/最新提交、您使用的 dts 以及您添加到 dts 中的附加代码。另外,我不熟悉摄影机,所以帮不上忙。 此外,如果代码属于上游树(例如 linux-next、linux mainline),您也可以向 IMX 上游社区发送电子邮件: [email protected]
View full article
MPX5999Dセンサーの用途の問題 「こんにちは。MPX5999D製品に関するいくつかの問題について質問させてください。」 基準圧力P2はリアルタイムで読み取られるのですか、それとも電源投入時に一度だけ読み取られるのですか? 基準ポートP2の圧力が大気圧より低い場合、センサは正常に動作しますか? センサーの内部回路が校正を行う際、大気圧が校正条件として使用されますか? Re: MPX5999D传感器的应用问题 このセンサを電子圧力コントローラに使用した場合、P2 = 100 kPa のときは電子圧力コントローラは正常に動作しますが、P2 が 100 kPa から 80 kPa に低下すると、電子圧力コントローラの出力流量はゼロに近づき、設定値よりもはるかに低くなります。基準圧力が低いことがセンサの誤作動の原因になっていると推測されます。 Re: MPX5999D传感器的应用问题 こんにちは、ユウウェイさん ご質問への回答は以下のとおりです。 1.このセンサーは、ダイヤフラムの両側に加わる差圧(P1 − P2)を継続的に測定するため、P2における基準圧力は電源投入時だけでなく、リアルタイムで出力に影響を与えます。 2. はい、P1 ≥ P2 であり、規定の圧力制限が守られている限り、P2 が大気圧より低い場合でもデバイスは動作可能です。 3. いいえ、内部回路は基準となる校正条件として大気圧を使用していません。センサの内部校正は工場での工程であり、自律的な実行時ルーチンではありません。 BRs、トーマス 追記:STマイクロエレクトロニクスは、NXPのMEMSセンサ事業の買収を既に完了しています。これらのセンサの製造、サポート、およびドキュメントはすべてST社に完全に移管されました。
View full article
Basic SPI Communication with NXP MCX Microcontrollers and SDK: SPI's Four Modes and Actual Signal Verification (Japanese Blog) Introduction In the previous installment, as the first part of our exploration of SPI communication, we used two FRDM boards to run a sample SPI communication application. Basic SPI communication using NXP's MCX microcontroller and SDK: Practical testing with two connected units (Japanese blog) This time, we will try changing the settings for four different SPI modes and check the actual SPI signals that are sent and received. This article assumes that you have completed the steps in the following [Part 1] article. [Part 1] Let's run a sample application for SPI communication. [Part 2] We will observe the actual SPI signals while changing the SPI mode and see how they change. (Estimated time: 20 minutes) *Assumes that the content of the first part (MCUXpresso for VSC, SDK installed, and SPI application operation confirmed) has been completed. table of contents Things to prepare SPI mode Check the CPOL and CPHA settings (Where are they configured in the sample code?) Actually verifying the SPI signal Measurement results of signals in each SPI mode In conclusion 1. Things to prepare hardware FRDM-MCXN947 (USB cable included) x 2 • Jumper wires: Multiple wires • Logic analyzer (for SPI signal analysis) software SDK for FRDM-MCXN947 * SDK for MCX N947 (ver. This explanation assumes that version 26.3.0) has been installed in VS Code. For instructions on setting up the development environment (MCUXpresso for VSC) and installing the SDK, please refer to the following article. Article: Installing MCUXpresso for VSC and SDK (Japanese Blog)   2. SPI mode The article "SPI Bus Overview" (Japanese blog) explains that there are a total of four modes, based on the combinations of CPOL = 0 or 1 and CPHA = 0 or 1. CPOL (Clock Polarity) : This setting determines which voltage level the clock line (SCLK) is at during "idle time" (when no communication is taking place). CPOL=0: Low during idle CPOL=1: High during idle CPHA (Clock Phase) : Sets whether the data transmission and latch (sampling) timing are aligned with the clock edge (rising or falling edge). CPHA=0: Data is sampled on the first clock edge, and output on the second. CPHA=1: Output data on the first clock edge, sample data on the second. Table 1: Four modes and CPOL, CPHA   CPOL CPHA mode=0 0 0 mode=1 0 1 mode=2 1 0 mode=3 1 1   Figure 1: Behavior based on CPOL and CPHA settings   3. Check the CPOL and CPHA settings (Where are they configured in the sample code?) First, before examining the waveforms, I built and ran the SPI communication sample application from last time using its default settings. I will now check the default CPOL and CPHA settings. CPOL and CPHA are defined in fsl_lspi.h . Figure 2. Definitions of CPOL and CPHA ( fsl_lspi.h ) Next, the SPI initialization was performed within LPSPI_MasterGetDefaultConfig() in fsl_lpspi.c . In the red box in the diagram below, we can see that CPOL=0 and CPHA=0 are set on the controller (master) side. The same file also contains the device (slave) side settings LPSPI_SlaveGetDefaultConfig() , so we will test by changing the CPOL and CPHA parameters in both the master and slave sides. Figure 3 Master side setting location LPSPI_MasterGetDefaultConfig()   Figure 4. Slave-side configuration location: LPSPI_SlaveGetDefaultConfig()   4. Actually verify the SPI signal. Now, referring to the "previous article," connect the two FRDM boards to your PC , open two serial monitors , and verify that the sample applications on each board are running . Figure 5 SPI communication results on the serial monitor In this state, connect the SPI terminals of the two FRDM boards. *Please note that if you connect the wires first and then power on the FRDM board, it may not function correctly. This is the same content as the previous article, but if you look at the circuit diagram of the FRDM-MCXN947, you will see that #8 of the J2 connector is MOSI and #10 is MISO. Figure 6 SPI circuit diagram of FRDM-MCXN947 Connect the J2 connectors on the FRDM-MCXN947 with jumper wires as shown below. *Please connect pins #6 and #8 of J2 in a crossed manner. Table 2 SPI connection between FRDM-MCXN947 LPSPI_master LPSPI_slave J2-14: GND J2-14: GND J2-12: CLK J2-12: CLK J2-6: SOUT(MOSI) J2-8: SIN(MISO) J2-8: SIN(MISO) J2-6: SOUT(MOSI) J2-6: SS(PCS) J2-6: SS(PCS) These are the terminals corresponding to D10, D11, D12, and D13, which are typically used for SPI on Arduino shield sockets. Figure 7 SPI Connection Diagram *This time, we will connect a logic analyzer to check the signal between the Master and Slave. Now, let's actually send and receive SPI signals to check if the logic analyzer is working correctly. Figure 8 shows the results of SPI data transmission and reception displayed on the serial monitor.   Figure 9 shows the results of displaying SPI data transmission and reception using a logic analyzer. Although the text in the image above is small, we were able to confirm that both transmission and reception were working correctly from the Master's perspective. Looking at the transmission section (upper half of the image above), we can see that MOSI (Master Out Slave In) is incrementing, while MISO (Master In Slave Out) remains "High (=hFF)". Conversely, looking at the reception section (lower half of the image above), MOSI is fixed at "High (=hFF)", while MISO is incrementing. This is the correct behavior, as explained in the SPI bus overview (Japanese blog) , the MOSI and MISO outputs are in a high-impedance state when not transferring data. Now let's look at some actual signals. 5. Measurement results of signals in each SPI mode From here, referring to section 3, "Checking CPOL and CPHA settings (Where are they set in the sample code?)" , we performed the following steps on both the master and slave: "Change the CPOL and CPHA values → Build → Write" and then conducted measurements. SPI Mode 0: SPI signal with CPOL=0, CPHA=0 (default setting) Figure 10: Data transmission waveform from Master to Slave when CPOL=0 and CPHA=0. As can be seen in Figure 10, the clock (CLK) is low before data is transferred (idle) (orange box in the figure) , so we can see that POL = 0 . Furthermore, the MOSI data is latched on the rising edge of the first CLK (red line in the figure) , and the MOSI data is changed on the falling edge of the second CLK (green line in the figure) , so we can see that CPHA = 0 . SPI Mode 1: SPI signal with CPOL=0, CPHA=1 Figure 11: Data transmission waveform from Master to Slave when CPOL=0 and CPHA=1. As can be seen in Figure 11 , CLK is low before data is transferred (idle) (orange box in the figure) , so we can see that POL = 0 . In this case, the MOSI data is changed on the rising edge of the first CLK (green line in the figure) , and the MOSI data is latched on the falling edge of the second CLK (red line in the figure) , so we can see that CPHA = 1 . SPI Mode 2: SPI signal with CPOL=1, CPHA=0 Figure 12: Data transmission waveform from Master to Slave when CPOL=1 and CPHA=0. As can be seen in Figure 12 , CLK is high before data is transferred (idle) (orange box in the figure) , so we can see that POL=1 . Furthermore, the MOSI data is latched on the falling edge of the first CLK (red line in the figure) , and the MOSI data is changed on the rising edge of the second CLK (green line in the figure) , so we can see that CPHA = 0 . *The clock polarity has changed, so be careful not to confuse the first and second clock signals. SPI Mode 3: SPI signal with CPOL=1, CPHA=1 Figure 13: Data transmission waveform from Master to Slave when CPOL=1 and CPHA=1. As can be seen in Figure 13 , CLK is high before data is transferred (idle) (orange box in the figure) , so we can see that POL=1 . Furthermore, the MOSI data is changed on the falling edge of the first CLK (green line in the figure) , and the MOSI data is latched on the rising edge of the second CLK (red line in the figure) , so we can see that CPHA = 1 . To summarize the measurement results from this time, they are as follows (Table 3). Table 3: Summary of the relationship between the four modes and CPOL and CPHA SPI mode CPOL CPHA CLK during idle First clock Second CLK mode=0 0 0 Low Data latches at the rising edge. Change the data on the falling edge. mode=1 0 1 Low Change data at the rising edge. Latch data at the falling edge. mode=2 1 0 High Latch data at the falling edge. Data latches at the rising edge. mode=3 1 1 High Change the data on the falling edge. Data latches at the rising edge. 6. Conclusion I actually measured the signals in four different SPI modes, changing CPOL and CPHA. I got confused when the polarity and phase changed while I was taking the measurements myself, but I was able to confirm that it worked as expected. When learning the basics, it might be helpful to not only change the program, build it, and confirm that it works, but also to actually look at the signals to improve your understanding. I encourage you all to try it. Reference Information (Part 1) Basics of SPI communication using NXP's MCX microcontroller and SDK: Actual device testing with two connected units (Japanese blog) NXP Interface Products - Summary Page (Japanese Blog) Overview of the SPI bus (Japanese blog) NXP System Management I²C, I3C, SPI Selector Guide =========================​ We are currently unable to respond to comments left in the " Comment " section of this post . We apologize for the inconvenience, but please refer to " Technical Questions to NXP - How to Contact Us( Japanese Blog) " when making inquiries.(If you are already an NXP distributor or have a relationship with NXP, you may ask your representative directly.) In the previous installment, as the first part of our exploration of SPI communication, we used two FRDM boards to run a sample SPI communication application. Basic SPI communication using NXP's MCX microcontroller and SDK: Practical testing with two connected units (Japanese blog) This time, we will try changing the settings for four different SPI modes and check the actual SPI signals that are sent and received. This article assumes that you have completed the steps in the following [Part 1] article. [Part 1] Let's run a sample application for SPI communication. [Part 2] We will observe the actual SPI signals while changing the SPI mode and see how they change. (Estimated time: 20 minutes) *Assumes that the content of the first part (MCUXpresso for VSC, SDK installed, and SPI application operation confirmed) has been completed. Interface MCUXpresso MCUXpresso SDK MCX Japanese Blog
View full article
pci-imx6 如何在重启期间完全重置 你好 我在我们的板上注意到了这一点,它正在运行 自从切换到 Yocto Scarthgap 以来 ,是 i.mx8M Plus,出现 “Phy 链接从未出现过” 错误 我重启时的 PCIe < /SPAN > 设备。但是 ,如果我在关机时将其完全关闭,我没有这个问题。 除非有人已经为我提供了可行的解决方案,否则我会尝试改编 pci-imx6,因为我看到它在 Yocto Kirkstone 之后已经发生了根本性的变化。由于我不知道是否有可能实现反向移植,我宁愿尝试继续使用当前版本。因此,问题是:如何在软件方面在i.MX8M Plus中实现热启动?我可能需要设置一些东西才能让 PCI 完全 RESET 吗?在这种情况下,我可以在测试期间初始化之前强制完全 RESET。 致以最崇高的敬意 拉尔夫 Re: pci-imx6 how to reset completely during reboot 感谢您的快速回复。 旧内核版本为 5.15.71。 新内核版本为 6.6.23。 需要注意的一件事是,并非所有设备(相同型号)都会发生这种情况。我在现场的所有设备都运行正常。但是,我的同事使用的设备型号与发生这种情况的设备完全相同。他们的设备上都安装了相同的 rauc 包/镜像。我今天可能会在办公桌上收到其中一台出现故障的设备。然后,我将立即发布所要求的输出结果。 附注顺便说一句,我们使用的 WiFi 芯片与我在你的 lspci 输出中看到的一样。这是配备 88w8997 芯片组的村田 1YM 模块。 致以最崇高的敬意, R. Re: pci-imx6 how to reset completely during reboot 你好@rrd 您的内核版本是什么?我已经在装有 pcie Wifi-BT 卡的 i, MX8MP EVK 板上测试了你的场景。当我使用 " reboot " 命令重启板时,没有出现任何问题。请共享您的日志文件。你是如何RESET你的板的? B.R Re: pci-imx6 how to reset completely during reboot 您好,感谢您的回复。 我只是不明白为什么它能在内核 5.15.71 中运行。我对 pci(e) 不太熟悉。 问题更可能是由通过 PCIe 控制的 WiFi 卡造成的,还是由 PCIe 本身造成的? 我们必须想办法控制住这个问题...我以前从未见过这种情况,无论是 Windows 还是 Linux,我都不得不完全关闭操作系统,以便下次启动时硬件能正常工作。 您能给我一些更详细的说明,告诉我如何解决问题吗? 非常感谢。 拉尔夫 Re: pci-imx6 how to reset completely during reboot 你好@rrd 我们的 pcie 设备不支持热RESET。只有冷RESET才能重新枚举 PCIe 设备。这就是为什么你说"如果我用关闭电源完全关闭它,就不会有这个问题" EP 和 RC 都需要关闭电源。接通 EP 电源,然后接通 RC 电源。 B.R
View full article
Qemu上でi.MX8MPEVKのCortex-M7非対称マルチプロセッシングブートサポートを有効にする 今回の短いブログ記事では、Qemuにおいて、i.MX8MP SoCデバイスモデルのCortex-M7コア向けに非対称マルチプロセッシング(AMP)ブートサポートを有効にする方法について説明します。M7ファームウェアは、リモートプロシージャフレームワークを介して、Cortex-A53コア上で動作するLinuxからロードおよび起動できます。 非対称マルチプロセッシング(AMP)ブート AMPとは何か疑問に思っている方へ: これは、異なるプロセッサコアがそれぞれ異なるオペレーティングシステムまたはアプリケーションを独立して実行するブート構成を指します。 i.MX8M Plusには以下のものが含まれています。 Cortex-A53コア×4(Linux/Androidを実行するアプリケーションプロセッサ) Cortex-M7コア×1(RTOS/ベアメタル向けリアルタイムプロセッサ) AMPモードでは、起動シーケンスは通常次のように動作します。 プライマリブート:Cortex-A53コアが最初に起動します(U-Bootが実行され、その後Linuxが起動します)。 セカンダリブート:Cortex-M7はLinuxまたはU-Bootによってロードされ、起動されます。 iMX8MP上のCortex-M7には2つの制御パスがあります。 ファームウェアによる制御(SMC/ATF経由) MMIO駆動パス(SRCおよびGPRアクセス経由) Linux の「fsl,imx8mp-cm7-mmio」は、MMIO パスを選択し、qemu で保証されていないファームウェア インターフェースへの依存を回避するために特別に存在します。 このモードでは、起動/停止制御にSRC sysconブロックとIOMUXC GPRを使用します。 リソーステーブル、vrings のメモリ領域は「 imx8mp-evk-rpmsg.dts」で指定する必要があります。 必要な変更を行うには、こちらのアプリケーションノートを参照してください - https://www.nxp.com/docs/en/application-note/AN5317.pdf Linuxがremoteproc経由でCM7を起動する場合、一般的な流れは次のとおりです。 imx8mp-evk-rpmsg.dtbを使用してLinuxが起動しました。 LinuxはCM7 ELFを予約済みのDDR領域にロードする LinuxはCM7の起動/停止制御(SRC/GPR CPUWAITなど)を切り替えます。 CM7はDDRエントリから実行を開始します 添付のパッチシリーズでは、AMPに必要な以下のペリフェラルモデルを紹介します。   - GPC(汎用電源コントローラ) - GPR(汎用レジスタ) - SRC(システムリセットコントローラー) - MU(メッセージングユニット) - CCMをM7クロック出力で拡張し、i.MX8MP SoCに接続します。 - i.MX8MP EVK機能テストでCortex-M7ブートを有効にする //パッチの適用方法:- 1.qemuリポジトリのマスターブランチを取得し、このブログに添付されているパッチを適用してください。 2. パッチ適用後にqemuをビルドします。ビルド手順はリポジトリのREADMEファイルに記載されています。 https://github.com/qemu/QEMU // Cortex-A53上のLinuxからCortex-M7のAMPブートをテストする 前提条件:- a. iMX8QXPのMCUXpresso SDKからベアメタルM7 elfを構築します。必ずこのビルドスクリプト( build_ddr_release.sh )を使用してください。 デモンストレーションには、この例を使用します - boards/evkmimx8mp/driver_examples/uart/polling あなたはエルフを手に入れるでしょう。 b. imx8mp-evk-rpmsg.dtb は AN5317 の助けを借りて作成されました。 iMX8MPカーネルを~/qemu-emulation/iMX8MP/にコピーします。 imx8mp-evk-rpmsg.dtb を同じ場所にコピーしてください。 i.MXプラットフォーム向けBuildroot 2024.02リリース からimx8mpの.imgをダウンロードしてください | Ezurio テスト:- qemuのビルドフォルダから以下のコマンドを実行してください。./qemu-system-aarch64 -M imx8mp-evk -smp 4,maxcpus=5 -global fsl-imx8mp.enable-cm7=on -m 3G -display none -serial null -serial stdio -serial null -serial pty:/tmp/imx8mp-uart -kernel ~/qemu-emulation/iMX8MP/Image -dtb ~/qemu-emulation/iMX8MP/imx8mp-evk-rpmsg.dtb -append "root=/dev/mmcblk2p1" -drive file=~/qemu-emulation/iMX8MP/20240522-br2024.02-nitrogen8mp_qt5_gst1.img,if=sd,bus=2,format=raw,id=mmcblk2 -net nic,model=imx.enet -net user,hostfwd=tcp::2222-:22       次に、別のCLIタブで、M7コンソールを開くために「screen /tmp/imx8mp-uart 115200」を実行します。空の画面が開きます。 Linuxゲストが実行されているコンソールで、以下を実行します。   これを実行するとすぐに、別のタブでM7バイナリの実行が開始されたことが確認できます。   この短いブログ記事では、非対称マルチプロセッシング(AMP)ブートサポートを有効化します。 Qemuにおけるi.MX8MP SoCデバイスモデルのCortex-M7コア。M7ファームウェアをロードできます そして、リモートプロシージャフレームワークを介して、Cortex-A53コア上で動作するLinuxから開始されました。 IMX8MPLUSEVK
View full article