Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
RT1051: ENET IEEE1588 Timer Clock source Hi, In the RT1050 reference manual, I find the following: mastupristi_0-1789736651417.png I would like to know what the clock sources for the IEEE1588 timer can be. For example, can I choose a root clock derived from AUDIO_PLL? Which registers control the clock source of the IEEE1588 timer? best regards Max i.MXRT 105x Re: RT1051: ENET IEEE1588 Timer Clock source As far as I am aware, this timer is clocked by the clock labeled "ENET_25M_REF_CLK" (from MCUXpresso Config Tools), and it is always 25MHz. I think that by "independently of network speed" they just mean that it doesn't get slower if Ethernet is running at 10Mbps. P.S. If you are planning on using the 1588 timer compare/capture feature, be aware that it is (IMO) one of the most difficult peripherals on RT1050 to use correctly and has a large amount of gotchas to watch out for. For instance, you cannot use the Event In n and Event Out n pins at the same time (where n is 0..3). For example, you cannot use Event Out 1 and Event In 1 at the same time, but you can use Event In 1 and Event Out 0 at the same time. Also, only two of the four channels have DMA support.
記事全体を表示
our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly our customed board with LS1043AXN8QQB and 2GB DDR4 can't be poweron reset porperly. HW arch: LS1043A 2GB DDR4(512MB x8bit), with eMMC bootmode. eMMC was flash with all boot image(uboot, kernel, ...). Poweron reset was controlled by some logic gates to check some power status, RESET signals, which followed the RDB reference design, detail design, please refer to the attached circuit. Failure: after poweron, the board can't poweron reset properly with random failrate. we can captured the PORESET_B、RESET_REQ_B、and HRESET_B with periodly pluse if poweron reset failed. we also can captured that, there's always have SDHC_CLK output from LS1043A to eMMC chip. as below, and Zoom in the wave as below, can find the HRESET_B is pull-HIGH by LS1043A after bootup, meas that the system already finished PLL lock action, and begin to stop driving HRESET_B, but failed in [PBL fetchs PBI command from SD card, PBI writes to CCSR space and programs OCRAM with SPL] operation, and then GPP jumps to the boot ROM at 0x0000_0000, because the ASLEEP with NOT be driver LOW according the boot process sequence as below, if there any suggestions to debug and fix this issue? Thanks. Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly During the debugging phase, the RESET_REQ_B needs to be able to communicate with the PORESET to prevent the MPU to prevent the MPU from continuously reset CPU The RESET For circuit design, please refer to AN5012, LS1043A Design Checklist - Application Note JTAG interface connection, Figure 18. and LS1043ARDB board. Please find PORESET has gone low. PORESET is triggered. CPU cannot operate normally. Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly The control logic for PORESET_B does not refer to the RDB reference design which is controlled with a CPLD, but instead uses a watchdog as shown below, and a combination of the aforementioned logic lines for the power-up reset. In the first power-on startup, after the system is powered on the TPS3828 this watchdog chip comes with an internal 200ms delay output to control the release of PORESET_B, through the aforementioned logic gate line, and power detection logic with the gate logic, the output of CPU_PORESET_B to the LS1043A processor to start the reset. After entering uboot or system, you can control the watchdog chip by reset or reboot command, and finally control RESET_REQ_B to perform system soft reset reboot. The existence of such a reset control may affect the normal power-up startup of the system. Currently, the analysis is suspected to be a failure of the LS1043A to enter the OCRAM for initialization after startup. Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly It seems the PORESET causes the POR repeated. Please check which signal cause the PORESET change from high to low. DDR part will not affect the POR in this step. You could use Chinese to reply. Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly Add more information, the DDR4 chip we used on the board is MT40A512M8SA-062E IT, which is 3200MT/s version, and used the LS1043ARDB(LS2108) default setting in ddr_init.c. Is the DDR chip or DDR settings impact the system poweron reset during initialized DDR controller in OCRAM? Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly I encountered a similar problem, an intermittent fault (occurring only once out of thousands of reboots): the software freezes during the u-boot startup process. The fault message is: "Synchronous Abort" handler, esr 0x02000000. Disassembling the call details, I found it to be : initr_pci→pci_init→dm_pciauto_config_device (pci_auto.c:371)→dm_pci_hose_probe_bus (pci-uclass.c:607)→dm_pciauto_prescan_setup_bridge→bl dm_pci_get_bdf. When ret returns, an exception occurs at address 0x8202fc20. The problem lies in ret reaching an incorrect address, while the called esr is merely a register shift; it itself has no inherent error-prone aspects (no memory access, no jumps). The software uses cpld to actively feed the watchdog (external watchdog), and the external watchdog is reset using PORESET, but it failed. Could you please advise on the problem? Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly I suggest starting a new topic for this question, thank you. Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly 已开启新的话题“软件启动时出现Synchronous Abort" handler, esr 0x02000000”
記事全体を表示
美国领先的燃油配送应用程序开发公司是哪家? 如果您正在美国寻找一家燃油配送应用程序开发公司,JPLoft 是一家值得考虑的公司。JPLoft 拥有 16 年以上的经验,已交付 1250 多个项目,为初创公司、燃料供应商和企业开发定制燃料配送解决方案。 其解决方案包括实时 GPS 跟踪、燃油订购和调度、司机管理、安全支付、管理仪表板、通知和分析。JPLoft 还提供端到端服务,从 UI/UX 和应用程序开发到测试、部署和发布后支持。 在选择开发合作伙伴之前,请比较相关的行业经验、技术专长、可扩展性、网络安全实践和持续支持。
記事全体を表示
SWUpdateの40 i.MX 95サポート こんにちは、NXP チームの皆様、 i.MX 95 では 、A/Bルートファイルシステムを用いたSWUpdateベースのOTAとロールバック を計画 しています Yocto Linuxを使ったプラットフォーム。 確認いただけますか: SWUpdateはi.MX 95向けに公式にサポート/推奨されていますか? 推奨される A/Bパーティション構成とU-Bootロールバックの 実装方法 は ? セキュア/署名済みのSWUpdateパッケージとSecure Boot統合 に関する推奨手順は何ですか? i.MX 95 SWUpdateの最新のアプリケーションノート、ドキュメント、Yoctoレイヤー/レシピ、参照実装、および例の構成を共有してください。 NXPが推奨する、製品版への導入手順を段階的に説明したガイドがあれば、ぜひご提供いただきたいと思います。 ありがとうございます。 Yocto Project
記事全体を表示
TagInfo - how does it verify Desfire EV3 originality? TagInfo has the capability to verify both the Symmetric and Asymmetric Originality signatures for a given DESFIRE EV3 card.   Does anyone know if TagInfo has the keys needed for the symmetric originality checks embedded in the application, or does TagInfo outsource the checks to a remote server? Online authentication Re: TagInfo - how does it verify Desfire EV3 originality? When the symmetric check is triggered in TagInfo, it performs an online authentication toward NXP's Hardware Security Module (HSM) to execute the check. The symmetric originality check in TagInfo requires an active internet connection to NXP's backend, and it will fail in offline scenarios.
記事全体を表示
i.MX 95 NPU NXPチームの皆様、こんにちは。 私たちは i.MX 95をエッジAIアプリケーションとして評価しており、実際のNPU性能とベンチマーク情報を明確にしたいと考えています。 最新の i.MX 95 インダストリアル データシートによると、ニューラル プロセッシング ユニット(NPU)は次のように規定されています:1 GHzで8つのeTOPS、消費電力削減のために800 MHzで動作可能、NPU内に1 MBの組み込みSRAMが搭載されています。 しかし、i.MX 95のリファレンスマニュアルではNPU性能が最大2 TOPSと記載されているようです。 NXPの皆さん、以下の点を明確にしていただけますか? 1) 最新のデータシートで指定された8つのeTOPSと、リファレンス・マニュアルのドキュメントに記載されている2つのTOPSの違いは何でしょうか?(コアあたりの性能ですか? Neutronが4つあるので) https://www.nxp.com/docs/en/data-sheet/IMX95XEC.pdf https://www.nxp.com/docs/en/reference-manual/IMX95RM.pdf 2) 8 eTOPSという数値は、1GHzにおけるNPUの理論上のピーク性能を表していますか? 3)この仕様書における「eTOPS」とは具体的に何を意味するのでしょうか? 4) 8 eTOPS機能はすべての i.MX 95バリアントで利用可能ですか?それとも特定のSoCの**ご注文**や部品番号によって異なりますか? 5) i.MX 95バリアント間でNPU構成に違いがあり、それが8 TOPSと2 TOPSの数字を説明できるのでしょうか? 6) NXPは理論上のTOPS/eTOPS数値だけでなく、実際のNPUベンチマーク結果を提供できるか? 7) 同じモデル、入力解像度、精度を用いる i.MX 95 NPUと i.MX 8M Plus NPUのベンチマーク比較も教えていただけますか? カメラからの入力が行われるアプリケーションにおいて、NXPは以下のエンドツーエンドの例を提供できますか? カメラ→ISP→前処理→NPU推論→後処理 代表的なオブジェクト検出モデルの達成可能なFPS/レイテンシはどうでしょうか? 😎 実際のINT8 CNNワークロードで、宣伝されているピークNPU性能のどの程度が通常達成できるのでしょうか? 9) NXPがお客様が推奨する公開ツールやベンチマークスイートで、i.MX 95 EVKのNPU性能を測定できるものはありますか? ありがとうございます
記事全体を表示
启用 Falcon 模式下的安全启动(内核版本 6.12.49)|| iMX8MP_EVK 大家好, 请问您能帮我启用Falcon模式下的安全启动吗? 我已成功借助 meta-imx-fastboot GitHub 代码库实现了 Falcon 模式。但是,我发现 meta-imx-fastboot 的实现会 在 Falcon 模式启动过程中 有意移除 OP-TEE 。 由于我的用例也需要用到 OP-TEE,我在 NXP 论坛上提出了一个问题, @elena_popa提供了一个保留并启用 OP-TEE 的解决方案。我附上了论坛链接供您参考。 目前,我在启用 安全启动 时遇到了问题 ,因为我找不到任何关于我的当前内核版本在 Falcon 模式下启用安全启动的文档。 环境详情: 主板: i.MX8M Plus EVK(i.MX8MP EVK) 内核版本: 6.12.49 Yocto 环境:基于 Yocto 的 NXP 电路板支持包。 启动模式:猎鹰模式 要求:猎鹰模式 + OP-TEE + 安全启动 Yocto Project Re: Enable Secure Boot in Falcon Mode (6.12.49 - Kernel Version) || iMX8MP_EVK 你好, 请问您遇到了什么错误? 顺祝商祺! Re: Enable Secure Boot in Falcon Mode (6.12.49 - Kernel Version) || iMX8MP_EVK 嗨@JorgeCas 我所做的:扩展了 imx-boot-signature 配方,使其也能对我们的 Falcon FIT 包(kernel-atf-dtb.itb)进行签名。u-boot-atf.itb)使用 imx_signer + 与主 imx-boot 容器相同的 sign.cfg。 问题: HAB 处于打开状态(未烧断熔丝),hab_status 显示: u-boot=> hab_status 安全启动已禁用 HAB配置:0xf0,HAB状态:0x66 --------- HAB 事件 1 ----------------- 事件数据: 0xdb 0x00 0x14 0x45 0x33 0x0c 0xa0 0x00 0x00 0x00 0x00 0x00 0x40 0x1f 0xdd 0xc0 0x00 0x00 0x00 0x20 STS = HAB_FAILURE (0x33) RSN = HAB_INV_ASSERTION (0x0C) CTX = HAB_CTX_ASSERT (0xA0) ENG = HAB_ENG_ANY (0x00) --------- HAB 事件 2 ----------------- 事件数据: 0xdb 0x00 0x14 0x45 0x33 0x0c 0xa0 0x00 0x00 0x00 0x00 0x00 0x40 0x1f 0xad 0xc0 0x00 0x00 0x00 0x04 STS = HAB_FAILURE (0x33) RSN = HAB_INV_ASSERTION (0x0C) CTX = HAB_CTX_ASSERT (0xA0) ENG = HAB_ENG_ANY (0x00) --------- HAB 事件 3 ----------------- 事件数据: 0xdb 0x00 0x3c 0x45 0x33 0x18 0xc0 0x00 0xca 0x00 0x34 0x00 0x02 0xc5 0x00 0x00 0x00 0x00 0x0b 0x50 0x40 0x1f 0xad 0xc0 0x00 0x00 0x30 0x20 0x40 0x20 0x00 0x00 0x00 0x12 0x12 0xb8 0x40 0x32 0x12 0xb8 0x00 0x01 0x44 0x68 0x00 0x97 0x00 0x00 0x00 0x00 0xbd 0x00 0x56 0x00 0x00 0x00 0x00 0x09 0x57 0x50 STS = HAB_FAILURE (0x33) RSN = HAB_INV_SIGNATURE (0x18) CTX = HAB_CTX_COMMAND (0xC0) ENG = HAB_ENG_ANY (0x00) --------- HAB 事件 4 ----------------- 事件数据: 0xdb 0x00 0x3c 0x45 0x33 0x18 0xc0 0x00 0xca 0x00 0x34 0x00 0x02 0xc5 0x00 0x00 0x00 0x00 0x0b 0x50 0x40 0x1f 0xad 0xc0 0x00 0x00 0x30 0x20 0x40 0x20 0x00 0x00 0x00 0x12 0x12 0xb8 0x40 0x32 0x12 0xb8 0x00 0x01 0x44 0x68 0x00 0x97 0x00 0x00 0x00 0x00 0xbd 0x00 0x56 0x00 0x00 0x00 0x00 0x09 0x57 0x50 STS = HAB_FAILURE (0x33) RSN = HAB_INV_SIGNATURE (0x18) CTX = HAB_CTX_COMMAND (0xC0) ENG = HAB_ENG_ANY (0x00) 失败的块地址/大小与 u-boot-atf.itb 的完全匹配。可加载程序(U-Boot、ATF、OP-TEE)。这是在全新重建过程中确定性的。同时,已签名的 imx-boot SPL+ATF+U-Boot 容器(通过相同的配方/工具签名)验证正常。 问题:对 Falcon 模式的 u-boot-atf.itb(多加载 FIT:U-Boot + ATF + OP-TEE)进行签名时,是否需要与 imx_signer 为标准 imx-boot SD 容器生成的默认 csf_hab4.cfg 不同的 CSF 结构?是否有专门针对 Falcon u-boot-atf.itb/kernel-atf-dtb.itb 签名的参考资料? Re: Enable Secure Boot in Falcon Mode (6.12.49 - Kernel Version) || iMX8MP_EVK 你好, 很抱歉耽搁了这么久。 如仓库中所述,lf-6.6.36-2.1.0-secure 已启用安全启动支持。分支可以作为参考,但遗憾的是,lf-6.12.20-2.0.0-secure 版本存在问题。Falcon 分支明确指出,该 电路板支持包 及更新版本不支持安全启动。 目前没有关于如何将 6.6 安全分支上的安全 Falcon 实现移植到新版本系统的文档。imx-boot 容器的身份验证表明 FIT CSF 块映射或 CSF 插入偏移量不匹配。 顺祝商祺! Re: Enable Secure Boot in Falcon Mode (6.12.49 - Kernel Version) || iMX8MP_EVK 请帮帮忙!
記事全体を表示
我们配备 LS1043AXN8QQB 和 2GB DDR4 的定制板无法正常开机RESET 我们配备 LS1043AXN8QQB 和 2GB DDR4 的定制板无法正常开机RESET。 硬件架构:LS1043A 2GB DDR4(512MB x8bit),eMMC 启动模式。eMMC 是闪存的,里面装有所有启动映像(uboot、内核等)。 上电复位由一些逻辑门控制,用于检查一些电源状态,RESET信号,这些信号遵循RDB参考设计,详细设计,请参考所附电路。 故障:开机后,主板无法以随机故障率正确开机 RESET。如果开机RESET失败,我们可以定期捕获PORESET_B、RESET_REQ_B 和 HRESET_B。我们也可以捕获到,从 LS1043A 到 eMMC 芯片总是有 SDHC_CLK 的输出。如下所示、 并放大波浪,如下图所示、 可以发现 HRESET_B 在启动后被 LS1043A 拉高,这意味着系统已经完成了 PLL 锁定操作,并开始停止驱动 HRESET_B,但是在 [PBL 从 SD 卡中获取 PBI 命令,PBI 写入 CCSR 空间并使用 SPL 编程 OCRAM] 操作失败,然后 GPP 以 0x0000_0000 跳到启动 ROM,因为没有驱动程序的 SLEEP 根据启动过程顺序设置为LOW,如下所示, 是否有任何建议来调试和修复这个问题?谢谢。 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly 在调试阶段,RESET_REQ_B需要能与PORESET 断开,防止MPU工作不正常是,持续reset CPU。 RESET电路的设计请参考AN5012, LS1043A Design Checklist - Application Note,Figure 18. JTAG interface connection 和LS1043ARDB 板卡。 请先找到PORESET变低的原因,PORESET触发,CPU无法正常工作。 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly PORESET_B的控制逻辑并没有参考RDB参考设计中用CPLD控制,而是用如下图的看门狗,以及前述的逻辑线路组合进行上电复位, 在首次上电启动时,系统上电后TPS3828这颗看门狗芯片内部自带200ms延时输出,控制释放PORESET_B,通过前述逻辑门线路,与电源检测逻辑进行与门逻辑,输出CPU_PORESET_B给到LS1043A处理器开始复位。 进入uboot或系统后,可通过reset或reboot命令,最终控制RESET_REQ_B来控制看门狗芯片,进行系统软复位重启。 这样的复位控制是否存在可能影响系统正常上电启动,目前分析下来怀疑是LS1043A启动后进入OCRAM进行初始化失败。 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly 似乎是 PORESET 导致重复 POR。 请检查是哪个信号导致 PORESET 从高电平变为低电平。 在此步骤中,DDR 部分不会影响 POR。 您可以用中文回复。 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly 补充更多信息,我们在板上使用的 DDR4 芯片是 MT40A512M8SA-062E IT,版本为 3200MT/s,使用了 ddr_init.c 中的 LS1043ARDB (LS2108) 默认设置。在 OCRAM 中初始化 DDR 控制器期间,DDR 芯片或 DDR 设置是否会影响系统开机 RESET? Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly 我遇到了类似的问题,一个偶现故障(上千次重启出现1次):软件在uboot启动过程中卡死,故障现场是:"Synchronous Abort" handler, esr 0x02000000,根据反汇编查看具体调用,发现是:initr_pci→pci_init→dm_pciauto_config_device(pci_auto.c:371)→ dm_pci_hose_probe_bus(pci-uclass.c:607)→dm_pciauto_prescan_setup_bridge → bl dm_pci_get_bdf 后 ret 返回时取指 0x8202fc20 发生异常。问题出在ret到了不正确的地址,而调用的asr只是寄存器移位,它本身没有任何可能出错的地方(不访问内存、不跳转)。 软件使用cpld主动喂狗(外部看门狗),外部看门狗使用PORESET进行复位,但未能成功,请教一下其中的问题。 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly 这个问题建议新开一个话题,谢谢 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly 开启新的话题“软件启动已时出现Synchronous Abort” handler, esr 0x02000000 ”
記事全体を表示
RT1064 在线升级计划 下图是我们产品的硬件扩展示意图: 1. PC 和主板通过 TCP 连接。 2.主板通过四条SPI总线与四个子板连接,各子板的功能相同。 3.主板上的UART4可以通过串口切换芯片切换到4个子板的UART1。 foreverwlh2025_0-1789970732170.png 由于项目需要, PC需要通过TCP升级四块RT1064子板的固件程序。基于硬件扩展情况,能否提供最简单的子板固件升级方案(考虑到上位机开发、主板开发和子板开发的工作量)? i.MX RT106x Re: RT1064 Online Upgrade Plan 亲爱的@foreverwlh2025 , 谢谢你的提问。 推荐方法 PC通过TCP协议与主板通信。主板充当 TCP 服务器,并实现 UART 透明桥接。主板上的 UART4 通过串行切换芯片路由到所选子板的 UART1 接口。子板运行 RT1064 ROM 引导加载程序,因此子板端不需要额外的引导加载程序或固件开发。 单个子板的逐步升级流程: 对子板 N 施加 RESET 信号;设置 BOOT_MODE[1:0] = 01(串行下载器模式) 将串口切换芯片切换为连接 UART4 和子板 N 的 UART1。 释放 RESET 按钮——子板 N 进入 RT1064 ROM 引导加载程序并等待 UART 命令。 启用 TCP↔UART4 字节转发 切换 RESET 开关并将 BOOT_MODE 恢复为正常模式——子板 N 将使用新固件启动。 将串行选择器切换到下一个子板并重复上述步骤。 硬件先决条件 请在实施前确认以下硬件条件已具备: 主板对每个子板的BOOT_MODE[1:0]引脚具有独立的 GPIO 控制。 主板对每个子板的RESET引脚具有独立的 GPIO 控制。 该串行切换芯片可通过主板GPIO控制,并支持在所有4个子板之间进行切换。 如有任何疑问或想进一步讨论实施细节,请随时联系我们。 Re: RT1064 Online Upgrade Plan 亲爱的@foreverwlh2025 , 以下是针对您的固件升级场景推荐的解决方案概要。 1. 电脑工具 在 PC 端,我们提供了blhost——一个开源的命令行客户端,它实现了 NXP 的 MCU 引导加载程序私有帧协议(BSD/MIT 许可证)。设备端协议由MCU片上ROM引导加载程序实现。它们共同实现了固件下载和设备配置。 该工具支持 USB 和 UART1,不支持 TCP。 开源仓库: https://github.com/nxp-mcuxpresso/spsdk blhost 和 ROM 引导加载程序使用专有的帧数据包协议进行通信,请参阅: MCU 引导加载程序 v2.5.0 参考手册 (MCUBOOTRM) 对于固件映像的生成和打包,请使用 NXP 的SPSDK(安全配置 SDK)中包含的nxpimage工具。 2. 推荐方案:通过主板实现 TCP 透明转发 对于你的场景(PC→主板→子板),最省力的方法是让主板充当透明的 TCP 到 UART 桥接器,只需对 blhost 进行少量修改,将串行数据封装在 TCP 中即可: 建筑学: PC (modified blhost) ↓ TCP packet (include original UART byte stream) Main Board (TCP Server) ↓ Unpack and forward to sub-board via UART Sub-board (ROM Bootloader) 关键修改点: 修改 blhost 传输层:在 blhost 源代码中添加一个新的 TCP 传输模块。现有的UART字节流(帧数据包)在发送路径上直接封装成TCP数据包,在接收路径上解封装。 主板实现了一个 TCP 服务器:从 PC 接收 TCP 数据,通过 UART1 将有效载荷逐字节地转发到子板;子板的响应以同样透明的方式通过 TCP 转发回 PC。 子板无需任何更改:子板 MCU 只需处于 ISP 模式,ROM 引导加载程序正在运行,等待标准 UART 命令即可。 Re: RT1064 Online Upgrade Plan 4.启用TCP↔UART4字节转发 -----请问,数据传输的这一步骤是否需要额外开发一台上位计算机?例如,PC应该以什么格式传输图像数据?它应该如何解析子板返回的响应数据?以及它应该如何与子板交互? Re: RT1064 Online Upgrade Plan 以下是一些问题: 1. 能否使用直接从 mcuXpressIDE 编译的 bin 固件?我必须使用 nxpimage 吗? 2. 看来要完成子板的升级,我们需要使用我们自己的上位机软件切换MCU的启动模式和切换通道。换句话说,我们必须将我们自己的上位机和 blhost 软件一起使用。如果我们升级四个子板,频繁切换可能会有点麻烦。 3. 主板 TCP 需要先进入透明模式,BLhost 才能与子板交互。交互完成后,如何触发主板从透明模式切换到TCP接收模式,从而使子板能够进入正常启动模式? 4. 在 blhost 源代码中添加一个新的 TCP 传输模块——您有示例吗? 5. 对于在主板上实现串口透明传输,是否有任何建议,例如使用DMA或实现中断和阻塞机制
記事全体を表示
TagInfoは、Desfire EV3の真正性をどのように検証するのですか? TagInfoは、特定のDESFIRE EV3カードについて、対称署名と非対称署名の両方のオリジナリティを検証する機能を備えています。 TagInfoがアプリケーションに埋め込まれた対称的なオリジナリティチェックに必要なキーを持っているか、それともTagInfoがリモートサーバーにチェックをアウトソースしているのか知っている方はいらっしゃいますか? オンライン認証 Re: TagInfo - how does it verify Desfire EV3 originality? TagInfoで対称チェックがトリガーされると、NXPのハードウェアセキュリティモジュール(HSM)に対してオンライン認証を行い、チェックを実行します。TagInfoの対称的なオリジナリティチェックには、NXPのバックエンドへのアクティブなインターネット接続が必要であり、オフライン環境では失敗します。
記事全体を表示
LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Boot Hello, We are bringing up a custom LS1046A board based on the LS1046ARDB design. Autonomous cold boot is failing, but CodeWarrior/QCVS intervention allows the processor to reach BL2, BL31 and the U-Boot console. We have observed the cold-boot failure with eMMC, SD card and QSPI NOR, so we would appreciate guidance on isolating the common reset/clock/PBL path. Platform and differences from LS1046ARDB Item Custom-board configuration Processor LS1046AE Rev. 1.0; U-Boot reports SVR 0x87070010 Power/reset control No CPLD. An STM32 BMC, PCA9539 I/O expander, level translators and discrete reset circuitry implement sequencing and SD/eMMC selection. DDR 4 GiB, single-rank, 64-bit non-ECC DDR4, initialized at 1600 MT/s. This differs from the 8 GiB ECC configuration used in our RDB comparison. DDR initialization succeeds after assisted boot; full memory-margin qualification is still pending. Clocks 100 MHz primary reference; the working assisted configuration uses the single-ended SYSCLK selection. DDR uses the differential reference path. U-Boot reports CPU 1800 MHz, platform 600 MHz and FMan 700 MHz. eMMC Macronix MX52LM08A11XVI, different from the RDB device. U-Boot identifies manufacturer 0xc2, name M08A11, MMC 5.1 and approximately 7.3 GiB user capacity. SD/eMMC interface BMC-controlled selection and EVDD: 1.8 V for eMMC and 3.3 V for SD. QSPI NOR S25FS512S, 64 MiB per device. NOR detection has succeeded on this board. Other peripherals Custom Ethernet/PHY routing and SerDes configuration; no PCIe devices are used. Software A1-specific board/device-tree changes, TF-A v2.12.0 based on lf-6.12.49-2.2.0, U-Boot 2025.04. U-Boot watchdog is disabled for bring-up. The reset network has also been reworked during this investigation: a competing processor-POR driver branch was isolated, the direct BMC-to-TRST drive was disconnected, and a hardware POR/TRST coupling path was fitted. HRESET sensing by the BMC remains connected. Latest native cold-boot observation We found and corrected an unintended earlier SoC reset in the BMC sequence. In the subsequent scope capture, taken from a fully powered-off start without any CodeWarrior or QCVS action: - PORESET_B rises when the BMC releases processor reset. - eMMC CLK and CMD activity starts after that edge. - No normal BL2/U-Boot console output follows. Some earlier attempts produced only a junk UART character. - The trace labelled HRESET_B stays HIGH, approximately 1.8 V; we do not observe a LOW assertion before or during the captured eMMC activity. The BMC HRESET input also repeatedly reads HIGH. CodeWarrior/QCVS behavior During the cold-boot stall, CodeWarrior Inspect can report that 'CortexA72#0' is not found on the JTAG chain and suggest checking the RCW or enabling RCW override. However, clicking Debug with RCW apply enabled, or applying the RCW through QCVS, allows boot to progress. Sometimes Debug reports “core not in debug mode” while the UART reaches U-Boot. In other attempts the target is halted and `continue` allows boot to finish. We reduced the initialization script to: from cw.dbg import ta def run_init_file(): target = ta.create() target.rcw.set_source(0x40) target.rcw.set_data({13: 0x00004504}) target.rcw.apply() The physical straps were set for SD/eMMC source '0x40'. The supplied word 13 is identical to the value already stored in eMMC. This reduced script also enabled assisted boot. Separate tests using 'set_source(0x9E)' with the same word succeeded as well. There are no explicit DDR initialization, BRR, PC, SCTLR or resume operations in this reduced script. We recognize that 'rcw.apply()' and the debugger launch framework can still perform internal reset/run-control operations; this is not a passive attach. After assistance, all 16 RCWSR words matched the intended media RCW. BL2 was present in OCRAM and the instrumented boot chain completed DDR initialization, eMMC/FIP loading, BL31 and U-Boot. Post-intervention 'RSTRQPBLSR' reads were zero, but we do not regard those as a capture of the original cold-failure state. Tests already performed Test Observation Native boot from eMMC No autonomous console boot; debugger-assisted recovery reaches U-Boot. Native boot from SD Similar cold-boot failure despite BMC detecting/selecting SD; assisted boot was possible. Native boot from QSPI NOR Latest testing also shows the cold-boot failure. We have not established that all three media stop at the same internal stage. Standalone hard-coded source straps 0x9E and 0x9F Later tests did not obtain the expected standalone reset progression. We understand that a hard-coded RCW alone is not a complete U-Boot image. Stock RDB initialization with safe RCW enabled Allowed recovery, but also modifies DDR, CPU state and peripherals, so this was not an isolated test. Minimal apply-only script above Recovery possible even with word 13 equal to the stored value, using source requests 0x9E and 0x40. QCVS RCW test/readback Test passed and readback matched the intended configuration after intervention. Native fetch remains unverified. Removed three inherited PCIe PBI accesses No improvement in native cold boot. Disabled SerDes2, then both SerDes blocks No improvement. Assisted U-Boot logs confirmed the modified RCW words. DDR diagnostic SPD read and 4 GiB initialization at 1600 MT/s succeeded after assistance; not a full margin test. Added BL2/BL31/U-Boot milestone logging Assisted boot completes all stages. Native failure gives no first BL2 milestone; these logs cannot trace the hardware PBL itself. eMMC RCW and image placement The eMMC baseline with both SerDes enabled is: 0c100012 0e000000 00000000 00000000 13335a06 40400012 60040000 c1000000 00000000 00000000 00000000 0001c83e 00004504 24001002 00000096 00000001 For the both-SerDes-disabled experiment, only these words changed: RCW05 = 00000000 RCW06 = 00f00012 In the eMMC user area, with 512-byte sectors: Component Start LBA Byte offset RCW + PBI + BL2 container (bl2_emmc.pbl) 0x8 0x1000 FIP containing BL31 and U-Boot 0x800 0x100000 FMan microcode 0x4800 0x900000 The written PBL/BL2 and FIP regions were read back and their SHA-256 values matched the files transferred for those tests. The PBI stream was decoded and its CRC checked. It sets the OCRAM boot location, performs inherited NXP interconnect/USB preparation and PBL synchronization operations, and copies BL2 into OCRAM. Removing the PCIe-register accesses did not resolve the stall. DDR initialization is performed later by BL2. We also read eMMC `EXT_CSD[162] = 0x00` and `EXT_CSD[179] = 0x00`; we have not made irreversible changes to those settings. Guidance requested 1. HRESET timing: At exactly which point should LS1046A assert HRESET_B LOW relative to PORESET_B, valid reference clocks and initial eMMC transactions? If processor-side probing confirms no LOW assertion, which reset, clock, power-domain, strap or test-mode conditions should we check first? 2. Capture before intervention: Is there a supported CodeWarrior/CCS System Access Port procedure to read the stalled PBL/DCFG/eSDHC state before the A72 core is discoverable, without reset or RCW override? Please provide the required access context, commands and most useful status/error registers. 3. RCW apply semantics: What precisely does `rcw.apply()` do with source `0x40` or `0x9E` and only one supplied word? Which reset/debug controls are exercised, and how are unspecified RCW words obtained? We want to identify the action that permits recovery when the supplied word does not change the resulting RCW. 4. RCW/PBI review: Do the eMMC RCW and placement above reveal any issue? Are there additional mandatory PBI operations or relevant silicon errata for this custom configuration? 5. Next decisive measurement: Given the symptom across eMMC, SD and QSPI, what measurement or non-invasive register capture would best separate a reset/clock/strap problem from boot-medium initialization, RCW acquisition or later PBI execution? Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo @Hiran_E_H  HRESET_B is not being asserted in the waveform, which is not expected. Please refer to Section 5.1 (Bring-up Process Using SD Card) in AN12081. Although the document describes the SPL/U-Boot flow, the current BL2/BL31 flow follows a very similar hardware boot sequence. Please compare your waveform with Figure 3. Based on the current observations, suspect a hardware issue related to reset related part. It may also be helpful to compare your reset design against the FRWY-LS1046A, which does not use a CPLD. In addition, please verify the ASLEEP signal, as it is an important signal during the boot process. Thanks. Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo sequence capture during testing   Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo Hello, Thank you for pointing us to LS1046A Reference Manual section 4.4.1. We are checking steps 1–4 as well as steps 5–15, and comparing our measurements with AN12081 section 5.1 / Figures 3–4. Below is an update from our 29 September tests, with a 30 September follow-up on the QCVS-generated SD candidate. We will attach oscilloscope captures of PORESET_B, HRESET_B, SD CMD and RESET_REQ_B for review.   Updated HRESET observation On a second A1 custom board, initially tested without the earlier board's reset reworks, we can observe HRESET_B going LOW before PORESET_B is released. This differs from the earlier capture where HRESET_B appeared continuously HIGH. We are not treating that earlier waveform as representative of this board. For the current differential-clock SD test: During standalone cold startup, HRESET_B is LOW before PORESET_B rises and remains LOW afterward. No BL2 console output appears. After CodeWarrior Debug/RCW apply, HRESET_B goes HIGH. The debugger initially stops at PC=0. Clicking Continue then allows BL2 → BL31 → U-Boot to run. Please help us interpret the attached captures, including SD CMD and RESET_REQ_B activity, against the expected sequence. In below picture - we did not insert SD card - so we were able to see reset request going low. (Note in some pictures emmc cmd is mentioned by mistake instead of sd cmd) Captured with SD inserted - switch strapped to emmc/sd card mode. Captured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card inserted Captured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmd Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset) Captured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stall New SD RCW test We kept external SD/MMC boot selected (cfg_rcw_src=0x40) and generated a new SD image with both SerDes blocks disabled. We selected the 100 MHz differential primary reference and adopted the active clock ratios from the hard-coded 0x9F example, while retaining the A1 pinmux and SD boot/PBI configuration. This is not hard-coded boot: the full RCW and PBI must still be fetched from SD. We are not bypassing media acquisition or PLL locking. Setting Value Primary reference DIFF_SYSCLK/B, nominal 100 MHz; cfg_eng_use0=0 A1 switch positions SW5 pole2 ON(differential clock selection ); SW8 poles1–8 0010 0000 (1=ON)(boot source switch strap) SYS_PLL_RAT 4 → platform 400 MHz CGA_PLL1_RAT 13 → CPU 1300 MHz CGA_PLL2_RAT 10 → PLL2 1000 MHz; FMan 500 MHz MEM_PLL_RAT 16 → DDR 1600 MT/s DDR_REFCLK_SEL / DDR_FDBK_MULT 1 / 2; differential DDR reference SRDS_PRTCL_S1 / SRDS_PRTCL_S2 0 / 0 SRDS_PLL_PD_S1 / SRDS_PLL_PD_S2 3 / 3; both PLLs down in each SerDes block PBI_SRC / BOOT_HO 6 / 0 EVDD_VSEL 2, SD 3.3 V configuration DIMM 4 GiB, single-rank, 64-bit non-ECC DDR4; training seed not margin-qualified   The full RCW used in this tested image, also confirmed after debugger intervention, is: RCW01–04: 0810000d 0a000000 00000000 00000000 RCW05–08: 00000000 00f00012 60040000 c1000000 RCW09–12: 00000000 00000000 00000000 0001c83e RCW13–16: 00004504 24001102 00000096 00000001 Result: the native cold-boot stall remained. After debugger assistance, U-Boot reported CPU 1300 MHz, platform 400 MHz, DDR 1600 MT/s and FMan 500 MHz, matching the intended ratios. SD initialization and FIP loading succeeded.  Exact debugger intervention and resulting state The initialization callback only calls the following RCW API operations: from cw.dbg import ta def run_init_file(): target = ta.create() target.rcw.set_source(0x40) target.rcw.set_data({13: 0x00004504}) target.rcw.apply() Word 13 is identical to the value already stored on SD. The script has no explicit DDR initialization, BRR/PC writes or Continue command. We recognize that apply() and debugger startup can internally change reset/debug state. After Debug, before Continue, we read: PC = 00000000 PORSR1 @ 01ee0000 = 205b7fff RSTRQPBLSR @ 01ee00b4 = 00000000 RSTRQMR1 @ 01ee00c0 = 00004000 RSTRQSR1 @ 01ee00c8 = 00000000 BRR @ 01ee00e4 = 00000000 SCFG_SCRATCHRW0/1 = 00000000 / 10000000 DDR SDRAM_CFG = 07000000 (MEM_EN clear) All 16 RCWSR words matched the tested SD image. The first 64 bytes at OCRAM 0x10000000 matched its BL2 entry code. Thus the lack of UART output at PC=0 did not mean that hardware PBL had not progressed. Continue alone was enough to run BL2/BL31/U-Boot; no manual BRR write was used in this run. These are post-intervention readings, not preserved native-stall status. We are not using their zero error values to conclude that the original cold attempt had no PBL/clock/reset error. Image placement and exact PBI setup Both our SD and eMMC packages use 512-byte sectors: RCW/PBI/BL2 .pbl: LBA 0x8, byte offset 0x1000. fip_uboot.bin containing BL31 and U-Boot: LBA 0x800, byte offset 0x100000. For eMMC these are offsets in the user area, not boot0/boot1. The SD whole-disk image has been checked byte-for-byte at these offsets; the earlier eMMC writes also passed readback SHA-256 verification. The exact setup stream in the tested SD PBL is below. Each row is the serialized PBI command word followed by its data word, in stream order; these are not debugger memory-write commands: 09570600 00000000 09570604 10000000 09570178 0000e010 09180000 00000008 09570418 0000009e 0957041c 0000009e 09570420 0000009e 09570158 00001000 09610000 00000000 096100c0 000fffff 09570604 10000000 09570158 00001000 096100c0 000fffff This includes the scratch boot pointer, inherited interconnect/USB setup, flush and synchronization operations. Repeated operations are preserved. There are no PCIe setup writes. The stream then contains 844 ACS64 transfers to OCRAM: the 53,953-byte BL2 plus 63 zero-padding bytes. The tested PBL ends with 08610040 6d8bdebf (END/CRC), and its total size is 57,576 bytes. We also independently generated a PBL using QCVS today. Parsing and CRC verification found its PBI operations and BL2 payload identical to the tested image. We deliberately changed RCW12 from 0001c83e to 0001a8fe (ASLEEP=0, RTC=1, IRQ_BASE=63); only that word and the CRC differ. Its SHA-256 is: 2d3389fce4ead088957caf6251022b5526be8565e812a8aab8fce21bd8923277 30 September update: we tested the newer QCVS-generated SD candidate and again encountered a native cold-boot stall. Replacing the PBL with the actual QCVS export therefore did not resolve the symptom. Its PBI and BL2 payload remain identical to the previous image, so this does not exclude a shared configuration issue or prove that the cause is hardware. The detailed HRESET/register readings and confirmed assisted-success sequence above refer to the earlier RCW12=0001c83e run. The debugger-recovery result and detailed waveforms for this latest RCW12=0001a8fe run have not yet been added to this update. Guidance requested With HRESET_B asserted before POR release but remaining LOW afterward, which measurements best separate an RCW-fetch/validation failure from PLL locking or the platform-clock switchover in steps 11–14? We will also continue checking the early power/clock/strap conditions in steps 1–4. Since step 15 releases the SoC's HRESET drive and step 17 executes PBI, is it reasonable to prioritize the earlier stages, provided we exclude an external HRESET driver or a brief release/reassertion? Please also review the RCW and PBI above for any missing or incorrect configuration. Can CCS/SAP access native reset/PBL status or documented PLL-lock status while HRESET remains LOW, without RCW apply or another reset? Please provide the exact access context, commands and register/bit definitions. Ordinary Inspect has previously failed to find CortexA72#0 in this state. What precisely does set_source(0x40) plus a matching word-13 override and apply() do to reset, TRST and debug controls? We would like to isolate the action that allows boot without changing the final RCW contents. We can provide the generated PBL, complete UART/debugger logs and additional scope captures. Bring-up is blocked on autonomous cold boot, so guidance on the next discriminating test would be greatly appreciated. Also I was told as  a self-test , if we strap 0x9e or 0x9f without SD card or blank emmc - we will be able to see HRESET_B going low to high when POREST_B is released from 0 to 1. We tried capturing this in RDB board and was able to observe this . So on our custom board if we do the same - same behaviour is to be observed? Thank you. Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo @Hiran_E_H  Please refer to LS1046A Reference Manual, 4.4.1 Power-on reset sequence There may be an issue between steps 5 and 15. Since the starting point of HRESET_B cannot be clearly identified, steps 1 to 4 should also be checked. Thanks Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo ASLEEP is always high as LED connected is always ON. We took a second board without any hardware rework and tried to boot from SD card with same RCW except change in voltage selection and is observing HRESET_B is being low before PORESET_B is released from low to high.  The spike in HRESET_B - we are expecting is due to 1.8v pull up after PMIC PG and SoC starts driving the HRESET_B low. Currenltly we are probing to see emmc/SD CMD, DATA and CLK to see if there is any transaction is occuring. May I know what conditions to be obeyed for SoC to release HRESET_B.   Out of Curiosity we put the same SD card in the a ls1046a_rdb board and tried powering ON which reached upto uboot console.  Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo Hi @Hiran_E_H  1.It is difficult to clearly distinguish between an RCW loading issue and a PLL lock issue based on the current information. However, if CCS can successfully access the device and the PLL-related waveforms appear normal, the likelihood of a PLL issue may be lower. I would recommend comparing the SD command waveforms between a standalone cold boot and a CCS-assisted boot. In particular, compare the waveform duration and sequence to determine whether there are any abnormalities during RCW loading. You may also refer to the Reference Manual, Table 4-8 "RCW State Timing", to check whether the SD card clock reflects the expected frequency transitions during the boot process. Please note that these transitions depend on both successful RCW loading and proper PLL lock. 2.Yes, I agree with your approach. Based on the information available, it is reasonable to focus on steps 1 through 15 first, especially the early power, clock, reset, and boot-source related stages. 3.You may try the CCS commands below to verify whether the LS1046A can be accessed while the device remains in this state. For example, you can attempt to read the RCWSR registers: (bin) 1 % delete all (bin) 2 % config cc cwtap (bin) 3 % show cc (bin) 4 % ccs::config_chain {ls1043a dap sap2} (bin) 5 % display ::ccs::get_config_chain (bin) 6 % ccs::display_mem 32 0x01ee0000 4 0 100 Show more lines 4.You may also refer to the Reference Manual, Table 4-8 "RCW State Timing", and observe whether the SD card clock reflects the expected frequency changes during RCW processing. I would recommend verifying the associated waveforms during the boot sequence. In practice, I typically use the HARD-CODED mode during initial debugging. As an additional check, you could configure the board to use a hard-coded RCW and verify whether the observed waveforms follow the sequence described in Figure 4-1 "Power-on Reset Sequence". If the waveforms match the expected behavior, the reset-related hardware design is generally likely to be functioning correctly. I will be OoO for more than one week, so there will be no updates from my side during this period. If this issue is urgent, please create a new thread so that another team member can assist you. Thank you.
記事全体を表示
RT1064 Online Upgrade Plan The following figure is the hardware expansion diagram of our product: 1.The PC and mainboard are connected via TCP 2.The mainboard is connected to four subboards through four SPI buses, and the functions of the subboards are the same 3.The uart4 of the mainboard can be switched to UART1 of 4 sub boards through a serial port swtich chip foreverwlh2025_0-1789970732170.png Due to project requirements, the PC needs to upgrade the firmware program of four sub boards RT1064 through TCP. Based on hardware expansion, can you help provide the simplest solution for upgrading the sub board firmware (considering the workload of upper computer development, mainboard development, and sub board development) i.MXRT 106x Re: RT1064 Online Upgrade Plan Dear @foreverwlh2025 , Thank you for your questions. Recommended Approach The PC communicates with the mainboard over TCP. The mainboard acts as a TCP server and implements a UART transparent bridge. UART4 on the mainboard is routed through a serial switch chip to the UART1 interface of the selected sub-board. The sub-board runs the RT1064 ROM Bootloader, so no additional bootloader or firmware development is required on the sub-board side. Step-by-step upgrade flow for a single sub-board : Assert RESET on sub-board N; set BOOT_MODE[1:0] = 01 (Serial Downloader mode) Switch the serial switch chip to connect UART4 to sub-board N's UART1 Release RESET — sub-board N enters the RT1064 ROM Bootloader and waits for UART commands Enable TCP↔UART4 byte forwarding Toggle RESET and restore BOOT_MODE to normal — sub-board N boots with the new firmware Switch the serial selector to the next sub-board and repeat Hardware Prerequisites Please confirm the following hardware conditions are in place before implementation: Mainboard has independent GPIO control over each sub-board's BOOT_MODE[1:0] pins Mainboard has independent GPIO control over each sub-board's RESET pin The serial switch chip is controllable by mainboard GPIO and supports switching among all 4 sub-boards Please feel free to reach out if you have any questions or would like to discuss implementation details further. Re: RT1064 Online Upgrade Plan 4.Enable TCP↔UART4 byte forwarding -----Excuse me, do we need to develop an additional upper computer for this step of data transmission? For example, what format should the PC transmit image data in, how should it parse the response data returned by the sub board, and how should it interact Re: RT1064 Online Upgrade Plan Dear @foreverwlh2025 , Please find below a summary of our recommended solution for your firmware upgrade scenario. 1. PC Tool  On the PC side, we provides blhost — an open-source command-line client that implements NXP's MCU Bootloader private framing protocol (BSD/MIT license). The device-side protocol is implemented by the MCU on-chip ROM Bootloader. Together, they enable firmware download and device configuration.  The tool supports USB and UART1, doesn't support TCP. Open-source repository: https://github.com/nxp-mcuxpresso/spsdk blhost and the ROM Bootloader communicate using a proprietary framing packet protocol, please refer to: MCU Bootloader v2.5.0 Reference Manual (MCUBOOTRM) For firmware image generation and packaging, please use the nxpimage tool included in NXP's SPSDK (Secure Provisioning SDK). 2. Recommended Solution: TCP Transparent Forwarding via Mainboard For your scenario (PC→ Mainboard → Sub-board), the minimum-effort approach is to have the mainboard act as a transparent TCP-to-UART bridge, with a small modification to blhost to wrap serial data in TCP: Architecture: PC (modified blhost) ↓ TCP packet (include original UART byte stream) Main Board (TCP Server) ↓ Unpack and forward to sub-board via UART Sub-board (ROM Bootloader) Key modification points: Modify blhost transport layer: Add a new TCP transport module in the blhost source code. The existing UART byte stream (Framing Packets) is wrapped into TCP packets as-is on the send path, and unwrapped on the receive path.  Main board implements a TCP Server: Receives TCP data from the PC, forwards the payload byte-for-byte to the sub-board via UART1; sub-board responses are forwarded back to the PC via TCP in the same transparent manner. Sub-board requires no changes: The sub-board MCU simply needs to be in ISP mode with the ROM Bootloader running, waiting for standard UART commands. Re: RT1064 Online Upgrade Plan Here are a few questions: 1. Can't the bin firmware compiled directly from mcuXpressIDE be used? Do I have to use nxpimage? 2. It seems that to complete the upgrade of the sub board, we need to switch the MCU's startup mode and switch channel using our own upper computer software. In other words, we must use our own upper computer and blhost software together. If we upgrade four sub boards, frequent switching can be a bit troublesome 3. The motherboard TCP needs to enter transparent mode first in order for the BLhost to interact with the subboard. After the interaction is complete, how can the motherboard be triggered to switch from transparent mode to TCP receiving mode, so that the subboard can enter normal startup mode 4. Add a new TCP transmission module to the blhost source code - do you have an example 5. Is there any suggestion for implementing serial port transparent transmission on the motherboard, such as using DMA or implementing interrupt and blocking
記事全体を表示
TagInfo——它如何验证Desfire EV3的原创性? TagInfo能够验证给定DESFIRE EV3卡的对称和非对称原创性签名。 有人知道 TagInfo 是否将对称原创性检查所需的密钥嵌入到应用程序中,还是 TagInfo 将检查外包给远程服务器吗? 在线身份验证 Re: TagInfo - how does it verify Desfire EV3 originality? 当 TagInfo 中触发对称检查时,它会向 NXP 的硬件安全模块 (HSM) 进行在线身份验证以执行检查。TagInfo 中的对称原创性检查需要与 NXP 后端保持有效的互联网连接,在离线情况下会失败。
記事全体を表示
RT1064 オンラインアップグレードプラン 下記は、当製品のハードウェア拡張図です。 1. PCとメインボードはTCPで接続されています 2. メインボードは4つのサブボードに4つのSPIバスを介して接続されており、サブボードの機能は同じです 3. メインボードのUART4は、シリアルポートのスイッチを介して4つのサブボードのうちUART1に切り替えることができます foreverwlh2025_0-1789970732170.png プロジェクトの要件により、 PCは4つのサブボード(RT1064)からTCPまでのファームウェアプログラムをアップグレードする必要があります。ハードウェア拡張に基づいて、上位コンピュータ開発、メインボード開発、サブボード開発の作業負荷を考慮して、サブボードファームウェアのアップグレードに最も簡単な解決策を提供できますか? i.MXRT 106x Re: RT1064 Online Upgrade Plan @foreverwlh2025様、 ご質問ありがとうございます。 推奨されるアプローチ PCはTCPを介してマザーボードと通信します。マザーボードはTCPサーバーとして機能し、UART透過ブリッジを実装しています。メインボード上のUART4はシリアルスイッチチップを経由して選択したサブボードのUART1インターフェースにルーティングされます。サブボードはRT1064 ROMブートローダーを動作させるため、サブボード側で追加のブートローダーやファームウェア開発は不要です。 単一サブボードのアップグレード手順(ステップバイステップ): サブボードNでRESET信号をアサートし、BOOT_MODE[1:0]を01(シリアルダウンローダーモード)に設定する。 シリアルスイッチチップを切り替えてUART4をサブボードNのUART1に接続します リリースRESET — サブボードNがRT1064 ROMブートローダーに入り、UARTコマンドを待つ TCP↔UART4バイト転送を有効にする RESETを切り替えてBOOT_MODEを通常に戻すと、サブボードNが新しいファームウェアで起動します。 シリアルセレクタを次のサブボードに切り替えて繰り返します ハードウェアの前提条件 実装前に、以下のハードウェア条件が満たされていることをご確認ください。 メインボードは、各サブボードのBOOT_MODE[1:0]ピンを独立してGPIO制御できます。 メインボードは、各サブボードのRESETピンを個別にGPIO制御できます。 シリアルスイッチチップはメインボードのGPIOで制御可能で、4つのサブボードすべて間のスイッチングをサポートします ご質問や、導入の詳細についてさらに話し合いたい場合は、お気軽にご連絡ください。 Re: RT1064 Online Upgrade Plan @foreverwlh2025様、 ファームウェアのアップグレードに関するお客様のシナリオに対し、弊社が推奨するソリューションの概要を以下にご説明いたします。 1. PCツール PC側では blhost というオープンソースのコマンドラインクライアントを提供しており、NXPのMCUブートローダープライベートフレーミングプロトコル(BSD/MITライセンス)を実装しています。デバイス側プロトコルはMCUオンチップROMブートローダーによって実装されます。これら2つの機能により、ファームウェアのダウンロードとデバイスの設定が可能になります。 このツールはUSBとUART1に対応していますが、TCPには対応していません。 オープンソースリポジトリ: https://github.com/nxp-mcuxpresso/spsdk blhostとROMブートローダーは独自のフレーミングパケットプロトコルで通信します。ご参照ください: MCU Bootloader v2.5.0 リファレンス・マニュアル(MCUBOOTRM) ファームウェアイメージの生成およびパッケージングについては、NXPのSPSDK(Secure Provisioning SDK)に含まれるnxpimageツールをご利用ください。 2. 推奨ソリューション:マザーボード経由のTCP透過転送 あなたのシナリオ(PC→マザーボード→サブボード)の場合、最小限の手間で済む方法は、マザーボードを透過的なTCP-UARTブリッジとして機能させ、blhostを少し変更してシリアルデータをTCPでラップすることです。 建築: PC (modified blhost) ↓ TCP packet (include original UART byte stream) Main Board (TCP Server) ↓ Unpack and forward to sub-board via UART Sub-board (ROM Bootloader) 主な変更点: blhostトランスポート層の変更:blhostソースコードに新しいTCPトランスポートモジュールを追加します。既存のUARTバイトストリーム(フレーミングパケット)は、送信経路ではそのままTCPパケットにラップされ、受信経路ではアンラップされる。 メインボードはTCPサーバーを実装しています。PCからTCPデータを受信し、ペイロードをバイト単位でUART1経由でサブボードに転送します。サブボードからの応答は、同じ透過的な方法でTCP経由でPCに転送されます。 サブボードに変更は不要です。サブボードMCUは単にISPモードでROMブートローダーが動作し、標準UARTコマンドを待つだけで済みます。 Re: RT1064 Online Upgrade Plan 4. TCP↔UART4バイト転送を有効にする すみません、このデータ伝送のステップのために、追加の上位コンピュータを開発する必要があるのでしょうか?例えば、PCは画像データをどのような形式で送信すべきか、サブボードから返された応答データをどのように解析すべきか、そしてどのように相互作用すべきか、といった点です。 Re: RT1064 Online Upgrade Plan いくつか質問があります。 1. mcuXpressIDEから直接コンパイルしたbinのファームウェアは使えませんか?nxpimageを使わなければならないのですか? 2. サブボードのアップグレードを完了するには、MCUの起動モードを切り替え、自社の上位コンピュータソフトウェアでチャネルを切り替える必要があるようです。つまり、私たちは自分たちの上層コンピュータとblhostソフトウェアを同時に使わなければなりません。4つのサブ基板をアップグレードすると、頻繁に切り替えが少し面倒になることがあります 3. BLhostがサブボードと通信するには、まずマザーボードのTCPが透過モードに入る必要があります。操作が完了した後、マザーボードを透過モードからTCP受信モードに切り替え、サブボードが通常の起動モードに入るようにするにはどうすればよいのでしょうか 4. blhostのソースコードに新しいTCP送信モジュールを追加します - 例はありますか? 5. マザーボード上でシリアルポートの透過伝送を実現するための提案はありますか?例えば、DMAの使用や割り込みとブロッキングの実装など。
記事全体を表示
SWUpdate 对 i.MX 95 的支持 您好,NXP团队: 我们计划在i.MX 95平台上使用 Yocto Linux实现基于 SWUpdate 的 OTA,并支持 A/B 根文件系统和回滚功能。 请您确认一下: SWUpdate 是否正式支持/推荐用于 i.MX 95? 推荐的 A/B 分区和 U-Boot 回滚 实现方案 是什么 ? 对于 安全/已签名的SWUpdate软件包和安全启动集成, 推荐的步骤是什么 ? 请分享 i.MX 95 SWUpdate 的 最新 应用笔记、文档、Yocto 层/配方、参考实现和示例配置 。 我们也希望 NXP能推荐一些生产实施的 分步指南 。 谢谢。 Yocto Project
記事全体を表示
对于 S32K388,如何实现 320 MHz 的最大工作频率? 对于 S32K388, 配置 CM7_CORE_CLK = 320 MHz,Core_CLK 为 160 MHz。 这些时钟是什么?Core 使用的是哪个时钟频率?(CM7_CORE_CLOCK 或 Core_Clock) 另一个频率是在哪里使用的? 如果我们用这种配置测量周期时间,我们会得到的频率是多少? 要达到 320 MHz 的最大工作频率,需要进行哪些设置? Re: FOR S32K388, how to achieve maximum operational frequency of 320 Mhz? 你好@Sambasiva , 请参考图 11。框图 – S32K3xx RM 中的 S32K389,修订版。12、2025-11-11。 CORE_CLK 是系统时钟。 CM7_CORE_CLK 是 CM7 内核的时钟。 所有时钟必须按照表 153 进行精确配置。选项 A++ - 超高性能模式(CM7_CORE_CLK @ 320 MHz)(适用于 S32K388/S32K389)。 此致, 丹尼尔
記事全体を表示
LS1043AXN8QQBと2GB DDR4を搭載したカスタムボードは、パワーオンリセットが適切にCANません。 LS1043AXN8QQB と 2GB DDR4 を搭載したカスタム ボードでは、パワーオン リセットを正しく CAN ません。 HW アーキテクチャ: LS1043A 2GB DDR4 (512MB x8 ビット)、eMMC ブートモード付き。eMMC にはすべてのブート イメージ (uboot、カーネルなど) がフラッシュされていました。 パワーオン リセットは、いくつかの電源状態、RESET 信号をチェックするためのいくつかのロジック ゲートによって制御されます。これは RDB リファレンス・デザインに従います。詳細設計については、添付の回路を参照してください。 障害: 電源投入後、ボードはランダムな障害率で正常に電源投入リセットCANません。パワーオンリセットに失敗した場合、定期的なパルスでPORESET_B、RESET_REQ_B、およびHRESET_BをCANキャプチャします。また、LS1043A から eMMC チップへの SDHC_CLK 出力が常に存在することもCAN。以下のように 以下のように波を拡大すると、 起動後、LS1043A によって HRESET_B が HIGH にプルアップされていることがわかります。これは、システムがすでに PLL ロック動作を終了し、HRESET_B の駆動を停止し始めたことを意味しますが、[PBL が SD カードから PBI コマンドをフェッチし、PBI が CCSR スペースに書き込み、OCRAM に SPL をプログラムする] 操作に失敗し、その後、GPP が 0x0000_0000 のブート ROM にジャンプします。これは、ブート プロセス シーケンスに従って、ASLEEP がドライバ LOW にならないためです。 この問題をデバッグして修正するための提案はありますか?ありがとう。 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly デバッグフェーズでは、 MPUが故障しているときにCPU が継続的にリセットされるのを防ぐために、 RESET_REQ_B をPORESETから切断できる必要があります。 RESET 回路の設計については、 AN5012、LS1043A設計チェックリスト - アプリケーションノート 、図18、JTAGインターフェース接続 、および LS1043ARDB ボード を参照してください 。 まず、 PORESETが低い原因を特定します。PORESETがトリガーされると、 CPUは正常に動作しなくなります。 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly PORESET_Bの制御ロジックは、RDBリファレンスデザインのようにCPLD制御を使用しません。代わりに、下図に示すようにウォッチドッグタイマーと、前述のパワーオンリセット用のロジック回路を使用します。 TPS3828ウォッチドッグチップは、システムの電源投入後、初期起動時に200msの遅延出力を内蔵しており、PORESET_Bの解除を制御します。前述の論理ゲート回路を介して、電源検出ロジックとのANDゲートロジックを実行し、CPU_PORESET_BをLS1043Aプロセッサに出力してリセットを開始します。 uboot またはシステムに入った後、reset または reboot コマンドを使用して、最終的に RESET_REQ_B を介してウォッチドッグ チップを制御し、システムのソフト リセットと再起動を実行できます。 このようなリセット制御がシステムの正常な電源投入時の起動に影響を与えるかどうかという疑問が残ります。現状の分析に基づくと、LS1043Aは起動後にOCRAMにアクセスした後、初期化に失敗したと考えられます。 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly PORESET により POR が繰り返されるようです。 PORESET がハイからローに変化する原因となる信号を確認してください。 このステップでは、DDR 部分は POR に影響しません。 中国語で返事をすることもできます。 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly さらに情報を追加しますと、ボードで使用した DDR4 チップは MT40A512M8SA-062E IT (3200MT/s バージョン) であり、ddr_init.c で LS1043ARDB (LS2108) のデフォルト設定を使用しました。DDR チップまたは DDR 設定は、OCRAM で DDR コントローラを初期化する際のシステムのパワーオン リセットに影響しますか? Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly 同様の問題、断続的な障害(数千回の再起動のうち1回のみ発生)に遭遇しました。u-boot の起動プロセス中にソフトウェアがフリーズします。障害メッセージは「Synchronous Abort」ハンドラ、esr 0x02000000 です。呼び出しの詳細を逆アセンブルしたところ、次のことがわかりました。initr_pci →pci_init→dm_pciauto_config_device (pci_auto.c:371)→dm_pci_hose_probe_bus (pci-uclass.c:607)→dm_pciauto_prescan_setup_bridge→bl dm_pci_get_bdf。ret が戻ると、アドレス 0x8202fc20 で例外が発生します。問題は、ret が誤ったアドレスに到達することですが、呼び出された esr は単なるレジスタシフトであり、それ自体には本質的にエラーが発生しやすい側面はありません (メモリへのアクセスもジャンプもありません)。 このソフトウェアはcpldを使用してウォッチドッグ(外部ウォッチドッグ)にアクティブに信号を送り、 PORESETを使用して外部ウォッチドッグをリセットしようとしましたが、失敗しました。この問題についてご助言いただけますでしょうか? Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly この質問については、新しいトピックを立てることをお勧めします。ありがとうございます。 Re: our customed board with LS1043AXN8QQB and 2GB DDR4 can't poweron reset properly すでに新しい通知「ソフトウェア起動時に同期アボートが発生しました」ハンドラー、esr 0x02000000
記事全体を表示
RT1051:ENET IEEE1588 定时器时钟源 您好, 在 RT1050 参考 手册 中 , 我 发现了 以下内容 : mastupristi_0-1789736651417.png 我想知道IEEE1588定时器的时钟源有哪些。例如,我可以选择从 AUDIO_PLL 派生的根时钟吗? 哪些寄存器控制 IEEE1588 定时器的时钟源? 顺祝商祺! 最大值 i.MX RT105x Re: RT1051: ENET IEEE1588 Timer Clock source 据我所知,这个定时器由标记为“ENET_25M_REF_CLK”(来自 MCUXpresso 配置工具)的时钟提供时钟信号,并且始终为 25MHz。我认为他们所说的“与网络速度无关”仅仅是指,如果以太网以 10Mbps 的速度运行,速度不会变慢。 附言如果您打算使用 1588 定时器比较/捕获功能,请注意,在我看来,它是 RT1050 上最难正确使用的外设之一,并且有很多陷阱需要注意。例如,你不能同时使用 Event In n 和 Event Out n 引脚(其中 n 为 0..3)。例如,你不能同时使用 Event Out 1 和 Event In 1,但你可以同时使用 Event In 1 和 Event Out 0。此外,四个通道中只有两个支持 DMA。
記事全体を表示
i.MX 95 NPU NXP团队您好, 我们正在评估 i.MX 95 在边缘 AI 应用方面的性能,并希望了解其实际的 NPU 性能和基准测试信息。 根据最新的 i.MX 95 工业数据表,神经处理单元 (NPU) 的规格为:1 GHz 时 8 eTOPS,NPU 可以以 800 MHz 运行以降低功耗,NPU 内部有 1 MB 嵌入式 SRAM。 然而,i.MX 95 参考手册似乎表明 NPU 性能高达 2 TOPS。 NXP能否澄清以下问题: 1)最新数据表中规定的 8 eTOPS 与参考手册文档中提到的 2 TOPS 之间存在差异的原因是什么?(这是每个核心的性能吗?因为它有 4 个中子核) https://www.nxp.com/docs/en/data-sheet/IMX95XEC.pdf https://www.nxp.com/docs/en/reference-manual/IMX95RM.pdf 2)8 eTOPS 这个数值是否代表 NPU 在 1 GHz 下的理论峰值性能? 3)本规范中的“eTOPS”究竟代表什么? 4) 8 eTOPS 能力是否在所有 i.MX 95 型号上都可用,还是取决于具体的 SoC 订购/部件号? 5) i.MX 95 各版本之间的 NPU 配置是否存在差异,可以解释 8 TOPS 与 2 TOPS 的性能差异吗? 6) NXP 能否提供实际的 NPU 基准测试结果,而不仅仅是理论上的 TOPS/eTOPS 数值? 7) 您能否提供 i.MX 95 NPU 和 i.MX 8M Plus NPU 在相同型号、输入分辨率和精度下的基准测试对比? 对于输入来自摄像头的应用,NXP能否提供一个完整的端到端示例来展示: 摄像头 → ISP → 预处理 → NPU 推理 → 后处理 对于一个具有代表性的目标检测模型,其可达到的帧率/延迟是多少? 😎 对于实际的 INT8 CNN 工作负载,通常可以达到宣传的 NPU 峰值性能的多少? 9) NXP 是否有任何公开可用的工具或基准测试套件推荐给客户,用于测量 i.MX 95 EVK 上的 NPU 性能? 谢谢
記事全体を表示
Who Is the Leading Fuel Delivery App Development Company in USA? If you’re looking for a fuel delivery app development company in the USA, JPLoft is one company worth considering. With 16+ years of experience and 1,250+ projects delivered, JPLoft develops custom fuel delivery solutions for startups, fuel suppliers, and enterprises. Its solutions can include real-time GPS tracking, fuel ordering and scheduling, driver management, secure payments, admin dashboards, notifications, and analytics. JPLoft also provides end-to-end services, from UI/UX and app development to testing, deployment, and post-launch support. Before choosing a development partner, compare relevant industry experience, technology expertise, scalability, security practices, and ongoing support.
記事全体を表示