S32DS-JLink烧录超时

最近在尝试使用S32DS烧录S32K314,在烧录过程中频繁出现烧录报错:Error in services launch sequence,Starting J-Link GDB Server timed out.


最初为了解决这个问题,我尝试了:

1.关闭程序进程:
打开任务管理器,关闭相关进程:
gdbserver_console、JLinkGDBServerCL.exe、arm-none-eabi-gdb.exe:

```shell

taskkill /f /im JLinkGDBServerCL.exe

taskkill /f /im JLink.exe

taskkill /f /im JLinkARM.exe

```

此操作清除僵死的JLink进程;

但是我不管是在任务管理器搜索进程关键字,还是直接指令清除,都没发现有僵死进程,所以大概率不是这个问题导致的;


2.S32K314开发板断电重启:

重启后重新尝试烧录,还是一样的报错;

3.ARM仿真器和电脑的USB接口拔插:

拔掉重新插上,重新尝试烧录,还是一样的报错;

4.重启电脑:

重启电脑后,可能是清除了所有的配置,所以重新尝试烧录,发现可以执行了;

(重启大法可以拯救一切,但是重启很麻烦,我所有的程序和应用都得重新打开,还得等待电脑重启时间,所以我想知道为什么会出现这个问题,以及怎么可以不重启电脑就能解决......)

探索过程:

首先我查询到在JLink烧录的过程中会生成日志,可以查看到烧录过程信息,所以我在S32DS中设置保存了log文件:

重启电脑后,再次执行,然后保存新的log文件,进行对比:

发现日志中的这个标志位数据不同,上网搜了一下这个标志位的含义
(最开始我还以为是多次启动程序导致的失败,以为这个标志位是数量的含义)
(虽然后续发现即使是00000000也会出现这个问题,但是下述的解决方法确实是可以不重启电脑解决这个问题的!)

得知这个原因后,我就想知道:

1.对于00000002是反应设备连接状态或驱动通信的异常标识,怎么解决?

2.怎么可以在不重启电脑的情况下,释放被占用的USB控制器资源?

问题解决:

1.重置USD设备栈:(有作用,记得要刷新设备列表)

刷新设备列表

2.修复注册表项(针对00000002错误码)

(该方法我没有尝试过不确定是否可以)

```shell

定位路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_1366&PID_0101

```

3.清除设备缓存:(需要安装软件)

(该方法我没有尝试过不确定是否可以)

```shell

devcon.exe remove @"USB\VID_1366&PID_*" # 需安装Windows Driver Kit

```

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值