Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
i.MX8MQ: Does the Boot ROM support booting from FlexSPI/QSPI NOR flash? Hardware: - i.MX8MQ (REV A0), custom board based on EVK design - QSPI NOR: Micron MT25QL256A (32MB, 3.3V, Quad connected) - BSP: Yocto Scarthgap, NXP BSP, U-Boot 2024.04 (u-boot-imx) Goal: Boot the bootloader (SPL + ATF + U-Boot) from FlexSPI NOR flash. Kernel and rootfs remain on eMMC. What works: - U-Boot (loaded to RAM via uuu SDP/SDPV) runs fine - "sf probe" detects the flash correctly: mt25ql256a, 32 MiB - U-Boot can read and write the flash reliably (verified with read-back tests after "sf protect unlock") - Image is built with IMXBOOT_TARGETS = "flash_evk_flexspi" Flash layout (verified by reading back from the chip): 0x000000: FCFB header - "qspihdr check" reports "Found boot config header in Q(F)SPI" tag = 42464346, version = 56010000 0x001000: IVT - d1 00 20 41, entry = 0x007E1000, boot_data = 0x007E0FE0, self = 0x007E0FC0 0x060000: U-Boot proper FIT (d00dfeed), matches CONFIG_SYS_SPI_U_BOOT_OFFS=0x60000 Problem: With boot switches set to QSPI/FlexSPI boot and the USB cable physically disconnected, the board does not boot. Nothing is printed on the serial console (SPL banner never appears), and the ROM falls back to serial download mode: uuu -lsusb 2:1 MX8MQ SDP: 0x1FC9 0x012B NXP FLASH BT_FUSE_SEL is not blown; boot configuration is done via GPIO boot pins. What I have already tried: - Both header formats: scripts/qspi_header (c0ffee01 tag) and scripts/fspi_header (FCFB tag). Fixed soc.mak so that flash_evk_flexspi uses fspi_header with offset 0. - Varying FCFB parameters: sflashA1Size, serialClkFreq (50MHz -> 20MHz), dataSetupTime/dataHoldTime, sflashPadType - "uuu -b qspi" (the official built-in script) - "qspihdr update safe" and "qspihdr init safe" - Erasing the flash completely vs. writing the full image: boot behaviour is essentially identical (SDP appears after ~1.6s vs ~1.8s), which suggests the ROM may not be reading the flash at all. Questions: 1. Does the i.MX8MQ Boot ROM support booting from serial NOR flash over FlexSPI at all? The Reference Manual section I have lists NAND flash and SD/MMC as boot devices, but I could not find FlexSPI/QSPI NOR listed. i.MX8MM/8MN documentation seems to describe it, but I am unsure about 8MQ. 2. If it is supported, what is the exact expected flash layout? Should the IVT be at offset 0x400 or 0x1000 when an FCFB is present at 0x0? 3. What is the correct BOOT_MODE / BOOT_CFG combination to select FlexSPI NOR boot on i.MX8MQ? 4. Are there any known errata for REV A0 silicon regarding FlexSPI boot? Thank you.
View full article
i.MX 8M Plus LPDDR4 EVK - eMMC boot0/boot1 の有効化 ボード:i.MX 8M Plus LPDDR4 EVK(MIMX8ML8DVNLZAA年)、IMX8MPEVKHUG rev 0 HAB:融合オープン(SRKは意図的に燃焼せず、まだ評価中) 私はRAUCベースのA/B更新システム向けにブートローダーと更新の冗長性を実装しており、eMMCのハードウェアboot0/boot1パーティション(BOOT_PARTITION_ENABLE)を多くのi.MX8M設計のように使いたいと考えています。つまり、新しいブートローダーを非アクティブなブートパーティションに書き込み、どちらがアクティブかを反転させ、新たにアクティブなブートローダーが故障した場合はROMがもう一方にフォールバックする形です。私は特に、このためにBOOT_CFG/efuseを焼却することを避けたいのです。 EVK上で、poky/oe-core mmc-utilsレシピからビルドしたmmc-utilsを使用して観察した結果は以下のとおりです。 - mmc extcsd read /dev/mmcblk2 は PARTITION_CONFIG を報告し、BOOT_PARTITION_ENABLE は既に boot0 (値 0x08) に設定されています。 - boot0 (/dev/mmcblk2boot0) には有効なイメージ (オフセット 0 に正しい IVT タグ) が含まれていますが、現在デプロイされているブートローダーと一致しません。 - boot1 (/dev/mmcblk2boot1) は完全に空です (すべてゼロ)。 - バイト単位の正確な比較により、ボードは実際には標準の32 KiBオフセットで生のeMMCユーザーエリアから起動していることが確認できます(コンテンツは現在デプロイしているimx-bootと完全に一致します)。boot0から起動しているわけではありません。boot0が有効であることを示すPARTITION_CONFIGもあります。 このボードでは、EXT_CSDのBOOT_PARTITION_ENABLEはROMの実際のブートソースに影響を与えていないようです。IMX8MPEVKHUG 2.2節によると、EVKのSW4スイッチは粗いブートデバイスクラス(eMMC、SD、QSPI、NAND、ヒューズ、USBシリアルダウンロード)のみを選択し、eMMCブートパーティションサブモードのスイッチ位置は存在しません。 質問: 1. LPDDR4 EVK上で「eMMC boot0/boot1ハードウェアパーティションからのROMブート」を特に選択する方法は、BT_FUSE_SEL=1設定やBOOT_CFGエフューズの焼却なしに選択できるサポート方法はありますか?例えば、ジャンパー、抵抗オプション、またはrev 0に記載されていない代替のSW4/SW1101の組み合わせなどIMX8MPEVKHUG?それとも、このボードのPCBにハードストラップされていて、状態に関係なく常にeMMCユーザーエリアから起動するようにEXT_CSD? 2. BOOT_CFG efuseがeMMCブートパーティションモードを有効にする唯一の方法である場合、これを制御するBOOT_CFGヒューズバンクは、HABに使用されるSRKハッシュヒューズとは独立していますか?ヒューズを介してeMMCブートパーティションの冗長性を有効にすると、同時にHAB(SRK書き込み)を終了する必要が生じるのか、それともこれらは別々の決定事項なのかを理解したい。 3. i.MX 8M PlusとeMMCを使ったカスタムボード設計(EVKではありません)の場合、eMMCのboot0/boot1冗長性を最初の起動時から利用可能にする推奨方法は何でしょうか?つまり、BOOT_CFG GPIOのストラップやPCB設計において、後でヒューズのコミットメントを必要としないよう、初日の選択肢として何が真であるべきか? また、eMMCブートパーティション選択のBOOT_CFGビット定義(IMX8MPEVKHUGで既に扱われているSW4デバイスクラスビット以外)を扱ったリファレンスマニュアルのセクションへの指し印も教えていただけると助かります。 ご回答をお待ちしています。 Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 i.Mx8 UMに関する参考までに、第5章の第5.8.2.2.1章「高レベルeMMCブートフロー」 SCU ROMは4つのeMMCブートシナリオをサポートします: 1.このシナリオでは、「eMMC高速ブート」ヒューズが切れています。一次および二次 イメージコンテナセットは両方ともブートパーティション内にあり、BOOT_PARTITION_ENABLE = 1 または 2 です。 2. このシナリオでは、「eMMC 高速ブート」ヒューズが切れています。小学校と中学校 イメージコンテナセットはどちらもユーザーエリアにあり、BOOT_PARTITION_ENABLE=7です。 3.このシナリオでは、「eMMC高速ブート」ヒューズは切れません。起動モードはノーマルです Bootとプライマリおよびセカンダリイメージコンテナセットはどちらもユーザーエリアにあります。 4. この場合、「eMMCファストブート」ヒューズは 切れていません。起動モードは通常です ブート、プライマリおよびセカンダリイメージコンテナセットは両方ともブート内にあります パーティション、および BOOT_PARTITION_ENABLE = 1 または 2。 Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 アドバイスありがとうございます。ただ、第5.8.2.2.1章で別のチップファミリが説明されていると思います。「SCU ROM」eMMCブートフローは、専用のシステムコントローラユニット(Cortex-M4ブートサブシステム)を持つi.MX8QuadMax/QuadXPlus/DualXPlus専用です。i.MX8M PlusにはSCUがなく、起動ROMはCortex-A53上で直接動作するため、その章の BOOT_PARTITION_ENABLE=1/2/7 シナリオはここでは当てはまりません。 i.MX8M Plusの場合、冗長性はi.MX8M Plusリファレンスマニュアル(図6-1)のプライマリ/セカンダリイメージ機構で処理されているようです。ROMはBT_FUSE_SEL/BOOT_CFGで選択したデバイスから起動し、故障時には同じブートデバイス上でIMG_CNTN_SET1_OFFSETヒューズオフセットのセカンダリイメージにフォールバックします。 別々のboot0/boot1パーティションではありません。これはLPDDR4 EVKで見ているものと一致します。BOOT_PARTITION_ENABLE=1はEXT_CSDに設定されていますが、ROMはそれを無視し、生のユーザーエリアのオフセットから起動します。 そこで、私の質問はi.MX8M Plusに限定されました: 1. LPDDR4のEVK(ジャンパー、抵抗、または非公式のSW1101/SW4位置)でeMMC boot0/boot1をブートソースとして選択する方法はありますか?それとも純粋にストラップやBT_FUSE_SELの判断BOOT_CFGに過ぎませんか? 2. BOOT_CFGヒューズバンクはHABのSRKハッシュヒューズとは独立しているのか、それともBOOT_CFGヒューズ経由のコミットもHABのクロージングを強制するのか? 3.カスタムボード設計の場合、レイアウト時にハードウェアのブートパーティション冗長性を後でヒューズに縛り付けずに維持するために、どのようなBOOT_CFGものが必要ですか? もし私が第5.8.2.2.1章のどの部分に適用されるのかを誤解しているようでしたら、ご指摘いただければ幸いです。 Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 Boot CFGとSRKハッシュ間のヒューズビットは分離可能です。SRKハッシュが書き込まれた場合、ブートイメージのハッシュ値と書き込まれたヒューズビットの値を比較するという追加のブート手順が必要になるようです。 Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 情報ありがとうございます。 8M Mini LPDDR4 EVKBボードハードウェアユーザーガイドIMX8MMEVKBHUG i.MX、ブートモードやブートデバイス構成の章などに役立つ情報はありますか? Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 以下を参照してください。 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/iMX-secondary-boot-collection/ta-p/1916915 i.MX8MP eMMC セカンダリブート.zip これらのデモや記事では、より高度なセカンダリブートのシナリオを取り上げていますが、ブートローダーをブート1またはブート2に書き込む方法や、ブート1またはブート2を有効にする方法といった基本事項も含まれています。これらはまさにあなたが必要としている情報でしょう。 i.MX8MP_emmc_boot_part_secondary_boot.uuu FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} ${part} 0 ブート1 FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 ブート2 FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 2 0 i.MX8MP_emmc_boot_part_secondary_boot.uuu uuu_version 1.2.39 SDPS: boot -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.0 SDPV: delay 1000 SDPV: write -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.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-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v5.15.71-2.2.0 #FB: download -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.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-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v5.15.71-2.2.0 FB: download -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.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
View full article
i.MX 8M Plus LPDDR4 EVK - 启用 eMMC boot0/boot1 主板:i.MX 8M Plus LPDDR4 EVK (MIMX8ML8DVNLZAA), IMX8MPEVKHUG rev 0 HAB:熔断 OPEN(SRK 未烧毁,故意,仍在评估中) 我正在为基于 RAUC 的 A/B 更新系统实现启动加载程序更新冗余,并希望像许多 i.MX8M 设计那样使用 eMMC 的硬件 启动0/启动1 分区(BOOT_PARTITION_ENABLE)——将新的启动加载程序写入非活动启动分区,切换哪个分区处于活动状态,并依靠 ROM 在新激活的分区发生故障时回退到另一个分区。我特别想避免为此烧毁任何 BOOT_CFG/efuse。 我在 EVK 上使用基于 poky/oe-core mmc-utils 配方构建的 mmc-utils 时观察到以下情况: - mmc extcsd 读取 /dev/mmcblk2 报告 PARTITION_CONFIG 中 BOOT_PARTITION_ENABLE 已设置为 boot0(值为 0x08)。 - boot0 (/dev/mmcblk2boot0) 包含一个看起来有效的映像(偏移量 0 处有正确的 IVT 标签),但它与我当前部署的引导加载程序不匹配。 - boot1 (/dev/mmcblk2boot1) 完全为空(全部为零)。 - 逐字节比较证实,该板实际上是从标准的 32 KiB 偏移处的原始 eMMC 用户区启动(内容与我当前部署的 imx-boot 完全匹配)——而不是从 boot0 启动,尽管 PARTITION_CONFIG 指示 boot0 已启用。 因此,在这个板上,EXT_CSD 的 BOOT_PARTITION_ENABLE 似乎对 ROM 的实际启动源没有影响。根据 IMX8MPEVKHUG 第 2.2 节,EVK 的 SW4 开关仅用于选择粗略的启动设备类别(eMMC vs SD vs QSPI vs NAND vs 熔丝 vs USB 串行下载)——没有用于 eMMC 启动分区子模式的开关位置。 问题: 1. 在LPDDR4 EVK上,是否有支持的方法可以选择“ROM从eMMC boot0/boot1硬件分区启动”,而无需设置BT_FUSE_SEL=1或烧录BOOT_CFG熔丝?例如,是否可以通过跳线、电阻或IMX8MPEVKHUG rev 0中未记录的SW4/SW1101组合来实现?或者,该板的PCB是否已硬性规定始终从eMMC用户区启动,而不管EXT_CSD状态如何? 2. 如果 BOOT_CFG 熔丝是启用 eMMC 启动分区模式的唯一方法:控制此模式的 BOOT_CFG 熔丝组是否独立于用于 HAB 的 SRK 哈希熔丝?我想了解通过熔丝启用 eMMC 启动分区冗余是否会迫使我同时关闭 HAB(SRK 烧录),或者这些是否是可分离的决定。 3. 对于使用 i.MX 8M Plus 和 eMMC 的定制板设计(非 EVK),推荐的方法是如何在首次启动时就使 eMMC boot0/boot1 冗余可用?也就是说,BOOT_CFG GPIO 跳线/PCB 设计中需要满足哪些条件,才能使其成为第一天就能使用的功能,而不是需要稍后进行熔丝位绑定? 如果能提供一些关于 eMMC 启动分区选择的 BOOT_CFG 位定义的具体参考手册章节的链接(除了 IMX8MPEVKHUG 中已经涵盖的 SW4 设备类位之外),我们将不胜感激。 谢谢! Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 供参考,请参阅 i.Mx8 UM 第 5.8.2.2.1 节“高级 eMMC 启动流程”。 SCU ROM 支持 4 种 eMMC 启动方案: 1.在这种情况下,“eMMC 快速启动”熔丝被烧断。小学和中学 镜像容器集均位于启动分区中,且 BOOT_PARTITION_ENABLE = 1 或 2。 2. 在这种情况下,“eMMC 快速启动”熔丝烧断了。小学和中学 镜像容器集均位于用户区域,且 BOOT_PARTITION_ENABLE =7。 3.在这种情况下,“eMMC 快速启动”熔丝没有熔断。启动模式为正常模式 启动、主镜像容器集和辅助镜像容器集都在用户区域。 4. 在这种情况下,“eMMC 快速启动”熔丝没有熔断。启动模式为正常模式 启动时,主镜像容器集和辅助镜像容器集都在启动过程中。 分区,并且 BOOT_PARTITION_ENABLE = 1 或 2。 Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 谢谢你的指点——不过我认为第 5.8.2.2.1 章描述的是不同的芯片系列。“SCU ROM” eMMC 启动流程是 i.MX8QuadMax/QuadXPlus/DualXPlus 特有的,它们具有专用的系统控制器单元(独立的 Cortex-M4 启动子系统)。i.MX8M Plus 没有 SCU – 其启动 ROM 直接在 Cortex-A53 上运行 – 因此该章节中的 BOOT_PARTITION_ENABLE=1/2/7 场景不适用于这里。 对于 i.MX8M Plus,冗余似乎是通过 i.MX8M Plus 参考手册中的主/辅助映像机制来处理的(图 6-1):ROM 从 BT_FUSE_SEL/BOOT_CFG 选择的设备启动,如果失败,则回退到 IMG_CNTN_SET1_OFFSET 熔丝偏移处的辅助映像——在同一引导设备上,而不是单独的 boot0/boot1 分区。这与我在 LPDDR4 EVK 上看到的情况一致:EXT_CSD 中设置了 BOOT_PARTITION_ENABLE=1,但 ROM 忽略了它,仍然从原始用户区偏移量启动。 所以我的问题仍然是,仅限于 i.MX8M Plus: 1. 在 LPDDR4 EVK 上,是否有任何非熔丝方法(跳线、电阻或未记录的 SW1101/SW4 位置)来选择 eMMC boot0/boot1 作为启动源,还是这完全取决于 BOOT_CFG 跳线/BT_FUSE_SEL 的决定? 2. BOOT_CFG 熔丝组是否独立于 HAB 的 SRK 哈希熔丝,或者通过熔丝提交 BOOT_CFG 是否也会强制关闭 HAB? 3.对于定制板设计,在布局时需要进行哪些 BOOT_CFG 绑定才能在不进行后续熔丝分配的情况下保持硬件启动分区冗余? 如果我误解了第 5.8.2.2.1 章实际适用的部分,请指正。 Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 启动 CFG 和 SRK Hash 之间的熔丝位是可分离的。如果 SRK 哈希值被烧录,则似乎需要额外的启动步骤,即比较启动映像和烧录的熔丝位的哈希值。 Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 谢谢你提供的信息。 IMX8MMEVKBHUG i.MX 8M Mini LPDDR4 EVKB 板硬件用户指南是否提供了任何有用的信息,例如启动模式和引导设备配置章节? Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 您可以参考 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/iMX-secondary-boot-collection/ta-p/1916915 i.MX8MP eMMC 辅助启动.zip 这些演示和文章涵盖了更高级的辅助启动场景,但也包括一些基础知识,例如如何将引导加载程序写入启动 1 或启动 2,以及如何启用启动 1 或启动 2。这些内容应该正是您所需要的。 i.MX8MP_emmc_boot_part_secondary_boot.uuu FB:ucmd mmc partconf ${emmc_dev} ${emmc_ack} ${part} 0 启动 1 FB:ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 启动 2 FB:ucmd mmc partconf ${emmc_dev} ${emmc_ack} 2 0 i.MX8MP_emmc_boot_part_secondary_boot.uuu uuu_version 1.2.39 SDPS: boot -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.0 SDPV: delay 1000 SDPV: write -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.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-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v5.15.71-2.2.0 #FB: download -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.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-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v5.15.71-2.2.0 FB: download -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.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
View full article
Kinetis MCX Wxx(MCX W71/72 および MCX W23)IIoT用パワープロファイルツール このページは、Kinetis MCX Wx(MCX W71/72およびMCX W23)のPower Profile Tools for IIoTに特化しています。 これにより、あなたのアプリケーション(オートモーティブ、IIoT、トラッカー/タグ、連続血糖モニタリング[CGM])の消費電力を推定し、ソリューションのバッテリー寿命を評価するのに役立ちます。 このページには、以下の用途に特化した4つの電源プロファイルツールが含まれています。 Bluetooth LEは単体でMCX W71/MCX W72製品用です。 MCX W23製品のBluetooth LEをスタンドアロンで提供します。 802.15.4 マター ICD SIT & LIT および ZED(単独で MCX W71 および W72 製品用)。 Aliroドアロックアプリケーション(BLE MCX W72/UWB/NFC/モーター) 1. MCX W71 / MCX W72 Bluetooth LEの電力プロファイリング: AN14389 MCX W71 Bluetooth LE 消費電力分析 AN14739 MCX W72 Bluetooth LE 電力プロファイル分析.pdf 2. MCX W23 Bluetooth LEの電力プロファイリング AN14659:MCX W23 Bluetooth Low Energy Power Consumption Analysis |NXP Semiconductors 3. 802.15.4 マター ICD SIT & LIT および ZED MCX W71/W72 パワープロファイリング AN14841 MCX W72 802.15.4 マターおよびZigBee電源プロファイルanalysis.pdf 4. ドアロックの適用(BLE/UWB/NFC/モーター)
View full article
i.MX8MQ: Boot ROMはFlexSPI/QSPI NOR FLASHからの起動をサポートしていますか? ハードウェア: - i.MX8MQ(REV A0)、EVKデザインに基づくカスタムボード - QSPI NOR:マイクロンMT25QL256A(32MB、3.3V、クアッドコネクテッド) - BSP: Yocto Scarthgap、NXP BSP、U-BOOT 2024.04(u-BOOT-IMX) 目標:FlexSPI NORフラッシュからブートローダー(SPL + ATF + U-Boot)を起動する。 カーネルとルートファイルシステムはeMMC上に残ります。 効果的な点: - U-Boot(uuu SDP/SDPV経由でRAMにロード)は問題なく動作します - 「SFプローブ」がフラッシュを正しく検出します:MT25QL256A、32 MiB - U-Bootはフラッシュの読み書きが安定してできる(検証 「SF Protect Unlock」後の読み返しテスト) - 画像はIMXBOOT_TARGETS = 「flash_evk_flexspi」で構築されます フラッシュメモリのレイアウト(チップからの読み出しで検証済み): 0x000000: FCFB ヘッダー - 「qspihdr check」レポート 「Q(F)SPIにブート構成ヘッダーが見つかりました」 タグ = 42464346、バージョン = 56010000 0x001000: IVT - d1 00 20 41、エントリ = 0x007E1000、 boot_data = 0x007E0FE0、self = 0x007E0FC0 0x060000: U-Boot の適切な FIT (d00dfeed) が一致します CONFIG_SYS_SPI_U_BOOT_OFFS=0x60000 問題点: ブートスイッチをQSPI/FlexSPIに設定し、USBケーブルで起動した場合 物理的に切断されたため、ボードは起動しません。何もない シリアルコンソールに印刷され(SPLバナーは表示されません)、 ROMはシリアルダウンロードモードに切り替わります。 uuu -lsusb 2:1 MX8MQ SDP: 0x1FC9 0x012B NXP FLASH BT_FUSE_SELは焼損していません。ブート設定はGPIO経由で行われます。 ブートピン。 私が既に試したこと: - 両方のヘッダー形式: scripts/qspi_header (c0ffee01 タグ) および scripts/fspi_header (FCFBタグ)。soc.mak をSO修正した flash_evk_flexspiオフセット0のfspi_headerを使用します。 - 変動するFCFBパラメータ:sflashA1Size、serialClkFreq(50MHz -> 20MHz)、 dataSetupTime/dataHoldTime, sflashPadType - 「Uuu -B QSPI」(公式組み込みスクリプト) - 「Qspihdr Update Safe」および「Qspihdr init safe」 - フラッシュを完全に消去するのと、完全な画像を書き込むこと: 起動動作は基本的に同一です(SDPはその後に現れます) ~1.6秒対~1.8秒)を比較し、ROMが読み取っていない可能性を示唆しています フラッシュ自体が。 質問: 1.i.MX8MQブートROMはシリアルNORからの起動をサポートしていますか? FlexSPIでフラッシュを使うべきでしょうか?リファレンス・マニュアルのセクションは持っています NANDフラッシュとSD/MMCをブートデバイスとしてリストアップしていますが、できませんでした FlexSPI/QSPI NORのリストは見つかりません。i.MX8MM/8MNのドキュメントのようです 説明は難しいですが、8MQについてはよくわかりません。 2. もし対応しているなら、フラッシュの正確な予想レイアウトはどうなりますか? FCFB の場合、IVT はオフセット 0x400 または 0x1000 にあるべきでしょうか 0x0に存在しますか? 3. 選択すべき正しいBOOT_MODE / BOOT_CFGの組み合わせは何ですか? i.MX8MQでFlexSPI NORブートは可能ですか? 4. REV A0シリコンに関して既知の正誤表はありますか? FlexSPIブート? よろしくお願いします。
View full article
Cold/warm PowerUp Detection without MC_RGM DES/FES registers I have a S32K312 (with SCB FS26) software, which should detect a cold/warm powerup. Due to HW layouts, the DES /FES registers cannot be used. Therefore, a memory mapped variable in the standby ram is used, which contains a magic number in case of warm powerups and undefined values in case of cold powerups. To preserve the magic number, this memory area isn’t initialized during startup (otherwise the information would be lost). But a read access on this variable leads to a HardFault. What is the official nxp way to detect cold/hot powerups, if DES/FES cannot be used? What needs to be done to handle the hardfault in that way, that there is a safe return to the function, which reads the uninitialized variable, and continue code execution? Re: Cold/warm PowerUp Detection without MC_RGM DES/FES registers Hello, What is the official nxp way to detect cold/hot powerups, if DES/FES cannot be used? Official way is always DES/FES. I cannot imagine the situation where these are not available for analyzes. Can you explain why DES/FES cannot be used? Are the registers inaccessible, cleared before the application can read them, or are you trying to determine something different than the reset source? Best regards, Peter Re: Cold/warm PowerUp Detection without MC_RGM DES/FES registers Hello Peter, thank you for reply. A functional reset of the MCU asserts the RSTB signal, which triggers the circuit outside of the MCU. The circuit then holds the reset for a longer time. Unfortunately this causes a destructive reset and DES=1. That's why DES/FES cannot be used. Best regards, Christopher
View full article
i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 Board: i.MX 8M Plus LPDDR4 EVK (MIMX8ML8DVNLZAA), IMX8MPEVKHUG rev 0 HAB: fused OPEN (SRK not burned, deliberately, still evaluating) I am implementing bootloader-update redundancy for a RAUC-based A/B update system and want to use the eMMC's hardware boot0/boot1 partitions (BOOT_PARTITION_ENABLE) the way many i.MX8M designs do — write the new bootloader to the inactive boot partition, flip which one is active, and rely on the ROM to fall back to the other if the newly-active one fails. I specifically want to avoid burning any BOOT_CFG/efuses for this. What I have observed on the EVK, using mmc-utils built from the poky/oe-core mmc-utils recipe: - mmc extcsd read /dev/mmcblk2 reports PARTITION_CONFIG with BOOT_PARTITION_ENABLE already set to boot0 (value 0x08). - boot0 (/dev/mmcblk2boot0) contains a valid-looking image (correct IVT tag at offset 0), but it does not match my currently deployed bootloader. - boot1 (/dev/mmcblk2boot1) is completely empty (all zero). - A byte-exact comparison confirms the board is actually booting from the raw eMMC user area at the standard 32 KiB offset (content matches my currently deployed imx-boot exactly) — not from boot0, despite PARTITION_CONFIG indicating boot0 is enabled. So on this board, EXT_CSD's BOOT_PARTITION_ENABLE appears to have no effect on the ROM's actual boot source. Per IMX8MPEVKHUG section 2.2, the EVK's SW4 switch only selects the coarse boot device class (eMMC vs SD vs QSPI vs NAND vs fuses vs USB serial download) — there is no switch position for the eMMC boot-partition sub-mode. Questions: 1. Is there a supported way to select "ROM boots from eMMC boot0/boot1 hardware partition" on the LPDDR4 EVK specifically, without setting BT_FUSE_SEL=1 / burning BOOT_CFG efuses — e.g. a jumper, resistor option, or alternate SW4/SW1101 combination not documented in IMX8MPEVKHUG rev 0? Or is this hard-strapped on this board's PCB to always boot from the eMMC user area regardless of EXT_CSD state? 2. If BOOT_CFG efuses are the only way to enable eMMC boot-partition mode: are the BOOT_CFG fuse banks that control this independent of the SRK-hash fuses used for HAB? I want to understand whether enabling eMMC boot-partition redundancy via fuses would force me to also commit to closing HAB (SRK burn) at the same time, or whether these are separable decisions. 3. For a custom board design (not the EVK) using the i.MX 8M Plus with eMMC, what is the recommended way to make eMMC boot0/boot1 redundancy available from first bring-up — i.e., what needs to be true in the BOOT_CFG GPIO strapping / PCB design so this is a day-one option rather than something that requires a later fuse commitment? Any pointers to the specific Reference Manual section covering the BOOT_CFG bit definitions for eMMC boot-partition selection (beyond the SW4 device-class bits already covered in IMX8MPEVKHUG) would also be appreciated. Thank you! Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 FYI for i.Mx8 UM at chapter 5.8.2.2.1 High Level eMMC Boot Flow The SCU ROM supports 4 eMMC boot scenarios: 1. In this scenario, the "eMMC fast boot" fuse is blown. The primary and secondary image container set are both in the boot partitions, and BOOT_PARTITION_ENABLE = 1 or 2. 2. In this scenario, the "eMMC fast boot" fuse is blown. The primary and secondary image container set are both in the User Area, and BOOT_PARTITION_ENABLE =7. 3. In this scenario, the "eMMC fast boot" fuse is not blown. The boot mode is Normal Boot, and the primary and secondary image container set are both in the User Area. 4. In this scenario, the "eMMC fast boot" fuse is not blown. The boot mode is Normal Boot, and the primary and secondary image container set are both in the boot partitions, and BOOT_PARTITION_ENABLE = 1 or 2. Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 Thanks for the pointer — though I believe chapter 5.8.2.2.1 describes a different chip family. The "SCU ROM" eMMC boot flow is specific to the i.MX8QuadMax/QuadXPlus/DualXPlus, which have a dedicated System Controller Unit (separate Cortex-M4 boot subsystem). The i.MX8M Plus has no SCU — its boot ROM runs directly on a Cortex-A53 — so the BOOT_PARTITION_ENABLE=1/2/7 scenarios in that chapter don't apply here. For i.MX8M Plus, redundancy appears to be handled via the Primary/Secondary Image mechanism in the i.MX8M Plus Reference Manual (Figure 6-1): the ROM boots from the device selected by BT_FUSE_SEL/BOOT_CFG, and on failure falls back to a Secondary Image at the IMG_CNTN_SET1_OFFSET fuse offset — on the same boot device, not a separate boot0/boot1 partition. This matches what I'm seeing on the LPDDR4 EVK: BOOT_PARTITION_ENABLE=1 is set in EXT_CSD, but the ROM ignores it and boots from the raw user-area offset regardless. So my questions remain, scoped to i.MX8M Plus: 1. Is there any non-efuse way on the LPDDR4 EVK (jumper, resistor, or undocumented SW1101/SW4 position) to select eMMC boot0/boot1 as the boot source, or is that purely a BOOT_CFG strap/BT_FUSE_SEL decision? 2. Are the BOOT_CFG fuse banks independent of the SRK-hash fuses for HAB, or does committing to BOOT_CFG-via-fuse also force HAB closure? 3. For a custom board design, what BOOT_CFG strapping is needed at layout time to keep hardware boot-partition redundancy available without a later fuse commitment? Happy to be corrected if I'm misreading which part chapter 5.8.2.2.1 actually applies to. Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 The fuses bits between Boot CFG and SRK Hash are separable. It seems there is the extra boot step needed if the SRK Hash burned, which is comparing the hash values from your boot image and fuse bits burned. Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 Thanks for your information. Does IMX8MMEVKBHUG i.MX 8M Mini LPDDR4 EVKB Board Hardware User's Guide provide any useful information, Boot mode and Boot device configurations chapter? Re: i.MX 8M Plus LPDDR4 EVK - enabling eMMC boot0/boot1 You can refer to the  https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/iMX-secondary-boot-collection/ta-p/1916915 i.MX8MP eMMC Secondary Boot.zip These demos and articles cover more advanced secondary boot scenarios, but they also include the basics—such as how to write the bootloader to Boot 1 or Boot 2, and how to enable Boot 1 or Boot 2. These should be exactly what you need. i.MX8MP_emmc_boot_part_secondary_boot.uuu FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} ${part} 0 boot 1 FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0 boot 2 FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 2 0 i.MX8MP_emmc_boot_part_secondary_boot.uuu uuu_version 1.2.39 SDPS: boot -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.0 SDPV: delay 1000 SDPV: write -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.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-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v5.15.71-2.2.0 #FB: download -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.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-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v5.15.71-2.2.0 FB: download -f imx-boot-imx8mp-lpddr4-evk-sd.bin-flash_evk-LF_v6.6.3-1.0.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
View full article
无需 MC_RGM DES/FES 寄存器即可检测冷启动/热启动 我有一台 S32K312(配备 SCB FS26 软件),它应该能够检测到冷启动/热启动。由于硬件布局的原因,DES/FES寄存器无法使用。因此,备用内存中使用了一个内存映射变量,该变量在热启动时包含一个魔数,在冷启动时包含未定义的值。为了保留魔数,该内存区域在启动时不会初始化(否则信息将会丢失)。但是,对该变量进行读取操作会导致 HardFault 错误。 如果不能使用 DES/FES,NXP 官方检测冷启动/热启动的方法是什么? 为了处理这种硬故障,需要做些什么才能安全地返回到读取未初始化变量的函数,并继续执行代码? Re: Cold/warm PowerUp Detection without MC_RGM DES/FES registers 你好, 如果不能使用 DES/FES,NXP 官方检测冷启动/热启动的方法是什么? 官方方式始终是 DES/FES。我无法想象在什么情况下这些数据无法用于分析。 你能解释一下为什么不能使用DES/FES吗?寄存器是否无法访问、在应用程序读取之前被清除,或者您尝试确定的是复位源以外的其他内容? 顺祝商祺! Peter Re: Cold/warm PowerUp Detection without MC_RGM DES/FES registers 你好彼得,谢谢你的回复。 MCU 的功能 RESET 会使 RSTB 信号生效,从而向 MCU 外部的电路发送触发信号。电路随后会保持RESET更长时间。不幸的是,这会导致破坏性RESET,DES=1。这就是为什么不能使用DES/FES的原因。 此致, 克里斯托弗
View full article
SPC5745BFVHM2 我需要哪种型号的芯片? Re: SPC5745BFVHM2 你好, 您能把问题解释得更详细一些吗? 顺祝商祺! Peter Re: SPC5745BFVHM2 微信图片_20260731134000_19_9.jpg 您好,请问这款BGA100芯片的型号是什么?哪款型号可以替代它?我找了很久,但还是找不到原版模型。谢谢你的帮助。(Chip)已添加图表。)
View full article
I want to use flexio to work as a special spi, 20bit mosi output at the same time the cs and  clk is  shared . 20 lines mosi connect to 20 dac chips,  can flexio muilt-beat work  under this envirenment ? Communication & Control(I3C | I2C | SPI | FlexCAN | Ethernet | FlexIO) Re: I want to use flexio to work as a special spi, 20bit mosi output at the same time The chip I used is MCN947. I need to use FlexIO to simulate SPI control of 20 DACs, each DAC being 24-bit. The CS and CCK parameters of these 20 DACs are common, but each chip has its own independent MOSI. There is no MISO. Therefore, it is not strictly speaking an SPI, but rather an SPI with 20 MOSIs. Each time an output is generated, the values of 20 DACs are updated simultaneously. My idea is to use SHIFBUF to store 1 bit from the 20 DACs, and 8 SHIFBUFs to store 8 bits each. A single DMA transfer completes the 8-bit data update for 20 DACs. Three DMA operations were performed to synchronize and update the 24-bit data. Finally, the chip select was raised. I had this idea, looked at the flexio examples, but didn't know where to start writing the code. I don't know if you have any relevant examples. I also don't know if my approach is optimal. Re: I want to use flexio to work as a special spi, 20bit mosi output at the same time Hello @justdomyself  Could you please describe your question in more detail? Please let us know: Which MCU you are using. How your software is configured. What issue you are encountering. Any additional information that may help us understand the problem. You are also welcome to describe the issue in Chinese. Thank you. BR Alice Re: I want to use flexio to work as a special spi, 20bit mosi output at the same time Hello @justdomyself  Thanks for your reply. I'm sorry, but we do not have an example for the MCXN947 with 20 MOSI outputs driving DACs. The available FlexIO examples are primarily designed to emulate a standard SPI interface. For your application, you will likely need to develop a custom FlexIO driver based on your specific requirements. You may refer to the following examples as a starting point: AN14175: Using FlexIO to emulate Quad SPI Controller | NXP Semiconductors Thank you. BR Alice
View full article
UART CTS RTS が検出されません <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 設計にはi.MX53プロセッサを使用しています。私はlinux-2.6.35.3カーネル、i.MX53をBSPとして使っています。 UART3(RS232)をRTSとCTSでテストしています。RTS/CTS制御フラグ(CRTSCTS)を無効にすると、この場合、UART3ポートを通じてデータの送受信が可能です。 この場合、RTS/CTS制御フラグ(CRTSCTS)を有効にすると、データの送信と受信が行われません。 上記のシナリオでUART3をテストする方法を教えてください。RTS/CTSでUART3をテストするアプリケーションはありますか? 注:私はソフトウェア制御・ハードウェアフロー制御(ハンドシェイク制御)を使用しています。 これで十分でしょうか?それともドライバー側で他に何かを有効にする必要がありますか? ラーナ Re: UART CTS RTS not detecting この問題は解決しましたか? Re: UART CTS RTS not detecting <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ユーリさん。 RTS信号は常にiMX53への入力であり、CTS信号は常にiMX CPUからの出力であることをご存知ですか? もしかしたらそれがあなたの問題なのかもしれません よろしくお願いします。 Re: UART CTS RTS not detecting <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> CTS/RTSフロー制御には5線接続が必要です。
View full article
imx8mp Linux 6.1.55PCIe handshake failure with Wi-Fi chip 8822CE The automatic last clock issue (-110) was resolved after I used `clocks = `. However, after adding the relevant driver patch for `imx8mp-blk-ctrl.c`, a new problem arose: gaotao_0-1785488087635.png The link up keeps failing, and the PCIE_PORT_DDEBUG1 error code is sometimes 0x18000000, sometimes 0x08000000, and sometimes 0x08200000. Below is the waveform captured by the oscilloscope: gaotao_1-1785488227600.jpeg &pcie_phy { clocks = < &hsio_blk_ctrl >;     //clocks = <&clk IMX8MP_CLK_HSIO_AXI>; clock-names = "ref" ; fsl,clkreq-unsupported; fsl,refclk-pad-mode = < IMX8_PCIE_REFCLK_PAD_OUTPUT >; status = "okay" ; }; &pcie { pinctrl-names = "default" ; pinctrl-0 = < &pinctrl_pcie0 >; reset-gpio = < &gpio3 25 GPIO_ACTIVE_LOW >; clocks = < &clk IMX8MP_CLK_HSIO_ROOT >, < &clk IMX8MP_CLK_PCIE_ROOT >, < &clk IMX8MP_CLK_HSIO_AXI >; clock-names = "pcie" , "pcie_aux" , "pcie_bus" ; assigned-clocks = < &clk IMX8MP_CLK_PCIE_AUX >; assigned-clock-rates = < 10000000 >; assigned-clock-parents = < &clk IMX8MP_SYS_PLL2_50M >;     // vpcie-supply = <&reg_pcie0>; ext_osc = < 1 >; max-link-speed = < 1 >; reset-delay-us = < 50000 >; status = "okay" ; } The reset measurement is correct, but it's a direct hardware reset, not controlled by software. Below is the schematic diagram. gaotao_2-1785488320895.png hopes to get some help! Thank you everyone!   Re: imx8mp linux 6.1.55 pcie 与 wifi芯片8822ce 握手失败问题 Hello, Do you see your device when using lspci -v? I see some issues in your device tree: If you are trying to provide clock from processor internal clock, pcie node, you should put: ext_osc = <0>;  Instead: ext_osc = <1>; The log shows that the processor side is fully operational, the issue seems to be caused in 8W8822CE side since is not responding at all. Is it correctly powered? Best regards.
View full article
imx8mp linux 6.1.55 pcie 与 wifi芯片8822ce 握手失败问题 自动上次时钟问题-110,我使用了clocks = <&hsio_blk_ctrl>;之后好了,加上了imx8mp-blk-ctrl.c相关的驱动patch之后,又出现了新的问题: gaotao_0-1785488087635.png link up一直失败,PCIE_PORT_DDEBUG1错误码有时候是0x18000000有可能是 0x08000000,有可能是 0x08200000  下面是示波器采到的波形: gaotao_1-1785488227600.jpeg &pcie_phy {     clocks = <&hsio_blk_ctrl>;     //clocks = <&clk IMX8MP_CLK_HSIO_AXI>;     clock-names = "ref";     fsl,clkreq-unsupported;     fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_OUTPUT>;     status = "okay"; }; &pcie {     pinctrl-names = "default";     pinctrl-0 = <&pinctrl_pcie0>;     reset-gpio = <&gpio3 25 GPIO_ACTIVE_LOW>;     clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,          <&clk IMX8MP_CLK_PCIE_ROOT>,          <&clk IMX8MP_CLK_HSIO_AXI>;     clock-names = "pcie", "pcie_aux", "pcie_bus";     assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;     assigned-clock-rates = <10000000>;     assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;     // vpcie-supply = <&reg_pcie0>;     ext_osc = <1>;     max-link-speed = <1>;     reset-delay-us = <50000>;     status = "okay"; } reset复位测量是正确的,但是是硬件启动直接复位的,没有通过软件去控制 下面是原理图 gaotao_2-1785488320895.png 希望能得到帮助!谢谢大家!   Re: imx8mp linux 6.1.55 pcie 与 wifi芯片8822ce 握手失败问题 你好, 使用 lspci -v 命令时,您能看到您的设备吗? 我发现你的设备树中存在一些问题: 如果您尝试从处理器内部时钟或 PCIe 节点获取时钟,则应添加: ext_osc = <0>; 反而: ext_osc = <1>; 日志显示处理器端运行正常,问题似乎出在 8W8822CE 端,因为它完全没有响应。 电源是否正常? 顺祝商祺!
View full article
imx8mp Linux 6.1.55Wi-Fiチップ8822CEとのPCIeハンドシェイクエラー `clocks = ` を使用したところ、自動最終クロックの問題 (-110) は解決しました。しかし、`imx8mp-blk-ctrl.c` の関連ドライバパッチを追加した後、新たな問題が発生しました。 gaotao_0-1785488087635.png リンクアップが繰り返し失敗し、PCIE_PORT_DDEBUG1 エラーコードは、0x18000000、0x08000000、0x08200000の場合があります。 以下はオシロスコープで取得した波形です。 gaotao_1-1785488227600.jpeg &pcie_phy { 時計 = < &hsio_blk_ctrl >;     //クロック = <&clk IMX8MP_CLK_HSIO_AXI>; 時計名 = "ref" ; fsl、clkreqはサポートされていません。 fsl、refclk-pad-mode = < IMX8_PCIE_REFCLK_PAD_OUTPUT >; ステータス = "正常" ; }; &pcie { pinctrl-names = "default" ; pinctrl-0 = < &pinctrl_pcie0 >; reset-gpio = < &gpio3 25 GPIO_ACTIVE_LOW >; クロック = < &clk IMX8MP_CLK_HSIO_ROOT >, < &clk IMX8MP_CLK_PCIE_ROOT >、 < &clk IMX8MP_CLK_HSIO_AXI >; クロック名 = "pcie" , "pcie_aux" , "pcie_bus" ; 割り当てられたクロック = < &clk IMX8MP_CLK_PCIE_AUX >; 割り当てられたクロックレート = < 10000000 >; 割り当てられたクロックの親要素 = < &clk IMX8MP_SYS_PLL2_50M >;     // vpcie-supply = <&reg_pcie0>; ext_osc = < 1 >; 最大リンク速度 = < 1 >; reset-delay-us = < 50000 >; ステータス = "正常" ; } リセット時の測定値は正しいが、これはソフトウェア制御ではなく、ハードウェアによる直接リセットである。 以下に概略図を示します。 gaotao_2-1785488320895.png は助けを求めています!皆さん、ありがとうございます!   Re: imx8mp linux 6.1.55 pcie 与 wifi芯片8822ce 握手失败问题 こんにちは、 lspci -v コマンドを実行したときに、デバイスが表示されますか? デバイスツリーにいくつか問題が見られます。 プロセッサ内部クロック、PCIeノードからクロックを提供したい場合は、以下を入力すべきです。 ext_osc = <0>; その代わり: ext_osc = <1>; ログを見るとプロセッサ側は完全に動作しており、問題は8W8822CE側で全く反応していないようです。 電源は正しく供給されていますか? よろしくお願いいたします。
View full article
UART CTS RTS not detecting I am using i.MX53 processor in my design. I am using linux-2.6.35.3 kernel i.MX53 as BSP. I am testing UART3(RS232) with RTS and CTS. If I disable RTS/CTS control flag(CRTSCTS). In this case I am able to transmit and receive the data through the UART3 port. In this case if I enable RTS/CTS control flag (CRTSCTS ), the data transmission and reception is not happening. Please let me know how to test the UART3 with the above scenario.  Is there any application to test UART3 with RTS/CTS? NOTE: I am using Software controlled-Hardware flow control(Handshaking control) Please let me know whether this is enough? Or do i need to enable anything else on the driver side? Raana Re: UART CTS RTS not detecting Is this issue resolved? Re: UART CTS RTS not detecting Hi Yuri, do you know that the RTS signal is alsways an input to the iMX53 and that the CTS signal is always an output from the iMX cpu ? Perhaps is that your problem Regards Re: UART CTS RTS not detecting 5-wire connection is needed for CTS / RTS flow control.
View full article
SPC5745BFVHM2 どのチップモデルが必要ですか? Re: SPC5745BFVHM2 こんにちは、 この質問について、もう少し詳しく説明してもらえますか? よろしくお願いいたします。 ピーター Re: SPC5745BFVHM2 微信图片_20260731134000_19_9.jpg こんにちは、このBGA100チップのモデル番号は何ですか?どのモデルが代わりですか?長い間検索しましたが、オリジナルモデルは見つかりませんでした。ご協力ありがとうございました。(チップ)図が追加されました。
View full article
PFS8632レジスタマップ 登録地図の場所 Re: PFS8632 register map こんにちは、ハラルドさん。 このPFS8632はFS86セーフティSBCファミリの一部です。詳細なレジスタマップは、FS86製品ページのドキュメント/セキュリティセクションにあるFS86データシートの全文で入手可能です。アクセスにはNXPアカウントと NDA/セキュアファイルの承認が必要です。   BRs、トーマス
View full article
SPC5745BFVHM2 Which specific chip model do I need? Re: SPC5745BFVHM2 Hello, Could you explain the question more closely? Best regards, Peter Re: SPC5745BFVHM2 微信图片_20260731134000_19_9.jpg Hi, what's the model number of this BGA100 chip? Which model is a replacement for it? I've searched for a long time but can't find the original model. Thanks for your help.(Chip diagrams have been added.)
View full article
我想使用 Flexio 作为特殊的 SPI,同时输出 20 位 MOSI 信号。 cs 和 clk 是共享的。 20 根 MOS 线连接到 20 个 DAC 芯片,Flexio Multibeat 在这种环境下能工作吗? 通信与控制(I3C | I2C | SPI | FlexCAN | 以太网 | FlexIO) Re: I want to use flexio to work as a special spi, 20bit mosi output at the same time 我用的芯片是MCN947。 需要要到flexio 模拟spi 控制20片DAC输出, DAC是24位的。 这20片DAC 的cs、clk是公共的,但是每个芯片都单独有一个MOSI。没有MISO。因此它不是严格意义的SPI, 而是有20个MOSI的SPI。 每次输出的时候,同时更新20片dac的值。 我的构想是,SHIFBUF 存放20个DAC中的1位。8个SHIFTBUF存放8位。 一次DMA传输完成20片DAC的8bit数据更新。 三次DMA将24位数据同步更新完。最后拉高片选。 有这个想法,看了下flexio 的例程,不知道怎么下手写这个代码。 不知道你们有没有相关的例程。也不知道我这个思路是否最优。 Re: I want to use flexio to work as a special spi, 20bit mosi output at the same time 你好@justdomyself 请您更详细地描述一下您的问题好吗? 请与我们联系: 你使用的是哪款MCU? 您的软件配置方式。 您遇到了什么问题? 任何有助于我们理解问题的补充信息。 您也可以用中文描述这个问题。 谢谢! BR 爱丽丝 Re: I want to use flexio to work as a special spi, 20bit mosi output at the same time 你好@justdomyself 感谢您的回复。 抱歉,我们没有使用20 个 MOSI 输出驱动 DAC 的 MCXN947的示例。现有的 FlexIO 示例主要设计用于模拟标准 SPI 接口。 对于您的应用,您可能需要根据您的具体需求开发自定义的 FlexIO 驱动程序。 您可以参考以下示例作为起点: AN14175:使用 FlexIO 模拟四通道SPI 控制器 | 恩智浦半导体 谢谢! BR 爱丽丝
View full article
UART CTS RTS 未检测到 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我的设计中使用的是i.MX53处理器。我使用的是 linux-2.6.35.3 内核 i.MX53 作为 电路板支持包。 我正在使用 RTS 和 CTS 测试 UART3(RS232)。如果我禁用RTS/CTS控制标志(CRTSCTS)。在这种情况下,我可以通过 UART3 端口发送和接收数据。 在这种情况下,如果我启用 RTS/CTS 控制标志 (CRTSCTS),则不会发生数据传输和接收。 请问如何根据上述场景测试UART3?是否有任何应用程序可以测试 UART3 与 RTS/CTS 的兼容性? 注意:我使用的是软件控制-硬件流控制(握手控制)。 请问这样够吗?或者我还需要启用驱动程序方面的其他设置吗? 拉纳 Re: UART CTS RTS not detecting 这个问题解决了吗? Re: UART CTS RTS not detecting <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,尤里, 你知道RTS信号始终是iMX53的输入,而CTS信号始终是iMX CPU的输出吗? 也许这就是你的问题所在。 此致 Re: UART CTS RTS not detecting <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> CTS/RTS流量控制需要5线连接。
View full article