【KEIL】【JLINK】KEIL如何进行远程调试

📅 发布时间:2026/7/7 14:07:56 👁️ 浏览次数:
【KEIL】【JLINK】KEIL如何进行远程调试
【KEIL】【JLINK】在世界任何地方进行KEIL JLINK调试设备在公司回家要带来带去比较麻烦怎么办如果想要测试某个开发板手边没有开发板但是朋友那边有但是又不想打扰朋友使用电脑怎么办呢相信大家可能会说用qemu等来仿真模拟但是仿真模拟存在一定的缺陷有些硬件可能无法模拟这个时候想借朋友的板子测一下怎么办呢这篇文章教大家如何远程调试JLINK 开发板。首先你需要有JLIJNK 一款MCU如果手上有ST-LINK或者NUCLEO板子也可以把ST-LINK转成JLINK来测试使用效果和JLINK一模一样原理讲解根据官网我们先看下下面这张图大概意思就是如果采用局域网的方式两台笔记本需要在同一个局域网内就是IP可以相互访问另外一种方式是隧道方式这种主要是由于没有公网IP采用JLINK服务器隧道的方式进行相互链接不过这种方式我发现有个缺点就是remote IP地址未知不能准确知道IP地址就不能很完美的使用KEIL只能用JLINK命令行。环境搭建首先你需要有两台电脑确保两台电脑可以相互ping通和建立TCP/IP链接这个时候就要把两边的防火墙关掉了确保可以相互ping通和网络环境可以相互建立链接这个可以百度看下如何关闭WIN10防火墙。remote 机器我们可以先在局域网里面两台计算机测试假设remote 计算机IP地址是192.168.0.109。这边需要remote机器上安装jlink software官方软件然后执行exeJ-Link Remote Server选择如下配置端口号要记住19020点击OK之后你可以看到我们只要记住IP地址192.168.0.109 还有端口号19020即可。这个时候remote端就已经设置好了。local端local端就是我们的自己家里使用的PC这个时候我们就想平时开发STM32一样我们打开KEIL。配置很简单如下图所示然后我们就可以像开发板在本地一样进行开发自己的开发板。测试程序烧完之后会发现我们通常用的串口无法远程过来那怎么办呢这个时候我们就可以用SEGGER 自带的工具RTT来使用finsh或者等其他的打印方式来进行一个交互和log打印。这边推荐软件包SEGGER_TOOL https://github.com/supperthomas/RTTHREAD_SEGGER_TOOLSWO也是可以进行调试的如果你对jlink命令行的方式比较熟悉的话。也可以用命令行进行烧入和调试这边我摘抄一些command常用命令usb--------连接目标板 r----------重启目标板 halt-------停止cpu运行的程序 loadbin----加载可执行的二进制文件 g----------跳到代码段地址执行 s----------单步执行调试用 setpc-----设置pc寄存器的值调试用 setbp-----设置断点 Regs-------读寄存器组织该命令会把所有的寄存器显示出来 wreg-------写寄存器 mem--------读内存 w4---------写内存 power off mmu---关闭mmu这个对于裸板调试很重要 w4 cpsr,0x0000001f------切换到系统模式 speed------设置jtag的传输速率 rce 0,c0,c0,0-----设置cp15寄存器的第1个寄存器为0如果想要reset开发板可以用命令rg来实现重启加载命令总结上面的实验是基于局域网的方式其实局域网只能很小的范围所以如果想真正实现远程办公的话还需要内网穿刺的方式将remote机器使用固定公网IP地址。具体如何内网穿刺可以自行百度frp等方式。这边我就不做过多介绍。不过这种方式如果能够实现对于一些自动化集成测试或者设备共享有一些参考。无用的小知识增加一点点简单玩了玩。参考文档链接JLINK 官方文档https://www.segger.com/products/debug-probes/j-link/tools/j-link-remote-server/ARM KEIL 文档https://developer.arm.com/documentation/ka003921/latest公众号