NXP MCU 技术论坛
直播中

萧蔼晨

9年用户 1073经验值
私信 关注
[问答]

如何将MCUXpresso和MCU LINK_PRO置于J-Link仿真模式?

我想知道是否有人可以帮助我将 MCUXpresso 和 MCU LINK_PRO置于 J-Link 仿真模式,以刷新和调试我的 CoM 板。
几年前我肯定有这个工作,但记不清 MCUXpresso 版本了。

使用的版本
处理器:Embedded Artist 的 i.MX RT1062 OEM(使用 32 Mbit ATXP032 OctalSPI 闪存)。
IDE版本:MCUXpresso V24.12.148
调试探针:MCU-LINK_PRO,通过 SWD 连接到 CoM 板。

使用上述内容,我可以使用运行 V3.153 的 MCU LINK_PRO 探针构建和调试代码。
但是,如果我通过运行 MCU-LINK_installer 3.153 中的“program_JLINK.cmd脚本”将探针转换为 J-Link,使其模拟 J-Link 器件,则它始终无法写入闪存,因此无法进行调试。我删除了所有调试启动文件,以允许 MCUXpresso 按照 IDE 指南的建议自动创建 j-link 配置。
然后,我尝试使用 Segger“V8.12e”中的最新驱动程序,而不是与 IDE 捆绑在一起的驱动程序。在第一次调试尝试时,Segger 驱动程序将 MCU LINK_PRO更新到 Seggers 连接仿真器的最新固件。但是,它仍然不起作用。重复构建和调试不会显示闪烁的窗口,Debugger Console 的输出如下所示。

我可以使用 Segger 的 JLink.exe 连接到 CoM 板并获取所有 RT1062 信息。
短期解决方法是使用”https://github.com/jayheng/nxp-mcubootutility”串行连接并擦除闪光灯。然后,构建和调试就可以完美地工作了。但以下构建和调试像以前一样失败。根据我在这里找到的一篇帖子:已解决:RT1064 Jlink 调试问题 - NXP Community症状表明我的代码存在问题,但我看不到什么会这样做。我什至删除了我认为可能导致这种情况的区域。
我已经重新配置了 flexRAM,如下所示,但代码直接从闪存运行,因此我不认为这是一个问题。


有人有其他的想法我可以尝试吗?我想改用 Segger 调试探针,但是如果我无法使其正常工作,我不想冒险购买一个。


回帖(1)

张虎豹

2025-4-3 18:16:13

要通过LAN口连接并发送SCPI指令到鸟牌功率计4421A-20-11-0,您需要确保以下几点:


1. 确认网络连接



  • 确保功率计和您的计算机在同一个局域网中。

  • 通过Web UI访问功率计,确认网络连接正常。


2. 获取IP地址



  • 通过Web UI或设备的网络设置页面,获取功率计的IP地址。


3. 使用正确的工具



  • 您可以使用支持TCP/IP连接的工具来发送SCPI指令,例如:

    • Telnet:简单的命令行工具。

    • PuTTY:支持Telnet和SSH的免费工具。

    • Python脚本:使用socket库进行TCP通信。

    • 专业的SCPI工具:如NI VISA、Keysight IO Libraries等。



4. 配置TCP连接



  • 使用Telnet或PuTTY连接时,输入功率计的IP地址和端口号(通常为5025,具体请参考设备手册)。

  • 例如,使用Telnet连接:
     telnet 192.168.1.100 5025

  • 使用PuTTY时,选择“Telnet”协议,输入IP地址和端口号。


5. 发送SCPI指令



  • 连接成功后,您可以直接输入SCPI指令。例如:
     *IDN?

  • 按回车键发送指令,设备应返回其身份信息。


6. 检查返回值



  • 如果设备没有返回任何信息,请检查:

    • 是否正确连接到设备。

    • SCPI指令是否正确。

    • 设备是否处于远程控制模式(有些设备需要切换到远程模式才能接收SCPI指令)。



7. 使用Python脚本示例


如果您更倾向于使用Python,以下是一个简单的示例脚本:


   import socket

   # 设备的IP地址和端口号
   HOST = '192.168.1.100'
   PORT = 5025

   # 创建TCP连接
   s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
   s.connect((HOST, PORT))

   # 发送SCPI指令
   s.sendall(b'*IDN?n')

   # 接收返回值
   data = s.recv(1024)
   print('Received:', data.decode())

   # 关闭连接
   s.close()

8. 常见问题排查



  • 防火墙或网络设置:确保没有防火墙或网络设置阻止了TCP连接。

  • 设备状态:确保设备处于远程控制模式,并且没有其他程序占用了网络连接。

  • SCPI指令格式:确保SCPI指令格式正确,通常以换行符(n)结尾。


9. 参考设备手册



  • 查阅鸟牌功率计4421A-20-11-0的用户手册,确认SCPI指令集和网络配置的具体要求。


通过以上步骤,您应该能够成功通过LAN口连接并发送SCPI指令到功率计。如果问题仍然存在,建议联系设备的技术支持获取进一步帮助。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分