2407772_zh-CN

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

2407772_zh-CN

2407772_zh-CN

MCXW716C:尽管已通过 BOOT_CONFIG 和 SWD 邮箱确认进入 ISP 模式,但 ISP UART 无响应。

摘要

 
我正在围绕MCXW716CMFTA (48 引脚,不是 NXP 评估板)构建的定制板上启动 BLE。在构建/刷写 BLE 示例之前,我需要更新 NBU 固件(
mcxw71_nbu_ble_hosted.sb3
)通过 ISP,按照标准的“FRDM-MCXW71 入门”流程。ISP UART接口(LPUART1)始终无响应
blhost
尽管我已经通过两种完全独立的方法证实,该芯片确实会进入某种受限/类似 ISP 的状态。我很想知道为什么 UART 端保持沉默,或者是否有其他受支持的方法来写入 NBU 镜像。
 

设置

 
 
芯片:MCXW716CMFTA(48引脚),定制PCB
 
 
SDK/工具:MCUXpresso 安全配置工具 v25.06SPSDK 3.0.1(捆绑版)
blhost
/
nxpdevscan
/
nxpdebugmbox
 
 
调试探针:MCU-Link(PyOCD 后端),通过板载 J4 接头上的 SWD 连接——已确认可用于一般调试访问
 
 
USB 转 UART 适配器:DSD TECH SH-U09C5(原装 FTDI FT232RNL),设置为 3.3V 逻辑电平
 
 
使用的 ISP 引脚映射(根据 AN14802 表 7,已确认 MCX W71/W72 相同):
 
 
BOOT_CONFIG = PTA4
 
 
LPUART1 ISP RX = PTC2 (ALT3)
 
 
LPUART1 ISP TX = PTC3 (ALT3)
 
 
在定制板上,这些可通过测试点 TP7 (PTA4)、TP26 (PTC2)、TP43 (PTC3) 进行访问。
 

症状

 
blhost -p COMx -- get-property 1
(以及 MCUXpresso 安全配置工具自身的“测试连接”功能)总是失败:
 
SpsdkNoDeviceFoundError: 未找到具有给定接口“uart”和参数“port=COM5,timeout=5000”的设备。
 
nxpdevscan -vv
显示 mboot ping 字节
[0x5A, 0xA6]
发送了 3 次,每次都紧接着
SPSDK超时错误
然后,退而求其次,采用社会民主党。
读取状态
该命令也会超时(
Sdp连接错误
)。始终没有收到目标的任何回应。
 

我已经排除的

 
 
接线极性(两种方向都试过了)
 
 
电压等级:TP7、TP26、TP43 的稳态电压均为 3.3V。
 
 
适配器/驱动程序:正品 FTDI,已在设备管理器中确认“工作正常”,COM 端口存在
 
 
流量控制(通过环回测试确认无)
 
 
端口被其他应用程序锁定
 
 
一个真正的硬件缺陷:PTC3(网络“WPT2_Drive_EN”)通过一个 0 欧姆电阻直接连接到 LTC7068 DC/DC 控制器的 EN 引脚,该控制器用于我们的无线电力传输线圈驱动器。这使得 TP43 的空闲高电平降至 ~2.3V。我移除了这个电阻,并确认 TP43 现在在 3.3V 时空闲状态正常——这确实是一个 bug,但这并没有解决 ISP 通信故障。
 
 
在 PTC2 网络上加载(与我们板上的“POWER_SW”按钮输入共享):追踪原理图,确认该网络上没有上拉/下拉/RC 滤波。
 

物理确认PC→主板方向正确

 
USB适配器内置TX/RX活动指示灯。在
blhost 获取属性
试图:
 
 
TXD LED 闪烁 3 次,与观察到的 3 次 ping 重试相符。
nxpdevscan -vv
— 确认电脑确实在传输数据。
 
 
RXD LED 指示灯始终不亮,确认电路板不会发送任何数据。
 
在同一测试期间,TP26 (PTC2) 上的示波器捕获显示波形的总持续时间 (~350µs) 与 57600 波特率下两个背靠背 UART 字节的预期时间相匹配,这与 ping 字节实际电到达引脚的情况一致。
 

最新发现:通过两种独立的方法均可成功进入ISP模式,但两种情况下UART均无法工作。

 
使用
nxpdebugmbox
(通过同一个 MCU-Link 探针进行 SWD 测试),我测试了两种完全不同的进入 ISP 模式的方法:
 
方法 A — 物理 BOOT_CONFIG 引脚:在上电瞬间将 TP7 (PTA4) 跳线连接到 VDD,然后完全断电重启(USB 完全拔出/重新插入)。
 
方法 B — SWD/调试邮箱,完全不需要引脚连接:
 
nxpdebugmbox -i pyocd cmd -f mcxw716c start nxpdebugmbox -i pyocd cmd -f mcxw716c ispmode -m 1
 
两条命令均报告成功(“启动调试邮箱成功” / “进入 ISP 模式成功”)。
 
在这两种情况下,紧接着,
blhost -p COMx -- get-property 1
仍然返回
SpsdkNoDeviceFoundError
— UART 双向均无响应。
 
另需注意:
nxpdebugmbox mem-tool test-connection -d debug_port
在正常启动和 BOOT_CONFIG 保持状态下均能成功启动。但
mem-tool read-memory -a 0x0 -c 16
正常启动时成功(返回应用程序的向量表),但在其他情况下失败
SPSDK:未找到内存访问端口!
当 BOOT_CONFIG 被钳位时——因此,当 BOOT_CONFIG 被钳位时,芯片的调试/内存访问配置确实发生了一些变化,尽管这并不能解释为什么 UART 保持静默。
 

问题

 
 
假设已通过 BOOT_CONFIG 引脚和 SWD 调试邮箱确认 ISP 模式进入成功
ISP模式
命令中,是否存在已知原因导致 LPUART1 ISP 接口(PTC2/PTC3、ALT3)仍然无法响应标准的 mboot ping 命令?
 
 
UART ISP 接口激活是否还有其他前提条件(时钟配置、芯片版本特定行为、生命周期状态限制),而这些条件在 AN14648/AN14802 中没有涵盖?
 
 
另一种选择是:由于 SWD/调试邮箱通信功能齐全(
测试连接
以及
读取内存
(在正常运行期间成功),是否有受支持的方法写入 NBU 固件(
mcxw71_nbu_ble_hosted.sb3
瞄准
无线电闪光
是否通过 SWD/调试邮箱而不是 UART ISP(地址为 0x48800000)进行通信?MCUXpresso 安全配置工具的 MCXW716C 目标定义仅列出
“连接”: [“uart”]
— 是基于 SWD 的配置
无线电闪光
可能通过
nxpdebugmbox
/
nxpimage
如果是这样,具体流程是什么?
 
任何建议——包括“这是 X 的真正根本原因”或“这是如何通过 SWD 刷写 NBU”——都将不胜感激。如果需要,我很乐意提供更多日志/作用域捕获信息。
Re: MCXW716C: ISP UART unresponsive despite confirmed ISP-mode entry via BOOT_CONFIG and SWD mailbox

@chocola_saka ,希望你一切都好。

请问您是否已经烧断过任何一组熔丝?如果是,请具体说明是哪一种。这一点很重要,因为熔丝 17 具有禁用 ISP 路径的功能。

此外,请说明在出现此行为之前,您是否已向 IFR 的 0 扇区写入任何配置,因为该扇区专用于 ROM 启动和 ISP 配置。

您之前是否能够将NBU加载到您的电路板上?

另外,关于您提出的通过 SWD 加载 NBU 的问题,我建议您参考AN14397 - 在批量生产期间通过串行线调试对 MCXW71 Flash 进行应用程序和无线电固件编程。它提供了将应用程序二进制文件合并到 NBU 固件中并通过 SWD 加载最终二进制文件的指南。

请告知我所需信息,以及分享的资源是否有帮助。

Tags (1)
No ratings
Version history
Last update:
21 hours ago
Updated by: