STM32CbueIDE 与 J-Link
STM32CbueIDE 与 J-Link
无论是 STM32CbueIDE 还是 Keil, 在使用 JLink 的时候都不过是先启 JLink 的 GDB 服务,然后再“远程”连接到 GDB 透过 J-Link 支持的命令操作 MCU 的。(在软件的安装目录中一定能找到 "JLinkGDBServer.exe".) 相比于 Keil 的封闭来说 STM32CbueIDE 要好一些,在调试和运行时可以通过控制台输出找到其在启动 JLinkGDBServer 时的参数。
关于在 STM32CbueIDE 中 J-Link 的配置
具体配置项跟 Keil 差不多,实际可参照下图。
存在的问题(在Windows中)
问题描述
在 Windows 中使用 STM32CbueIDE 与 JLink 的组合存在一个无伤大雅但是却令人十分难受的问题,那就是每次执行 "运行" 后都会在任务栏托盘区域创建一个JLink图标(因为启动了JLinkGDBServer.exe),但是运行成功后这个图标并不会自己消失(进程已经结束了,但是图标不消失),久而久之调程序的次数多了就会在任务栏形成一大堆僵尸图标。
网上说这种情况是进程异常结束造成的,也就是说进程虽然结束了,但是在结束之前没来得及注销任务栏托盘的图标,CbueIDE 果然还是问题多多啊。这种情况只要把鼠标挪到相应的图标上图标就会消失了,但是每次下完程序都特意把鼠标往任务栏上扫一遍的行为也太傻了吧。
System Tray Refresh
System Tray Refresh 是我费劲千辛万苦找到的一个小工具,仅有18.5k. 它的作用就是刷新系统托盘图标,可以令死图标消失。
官网地址:http://visualfantasy.tk/
52破解论坛介绍:https://www.52pojie.cn/thread-659012-1-1.html
Windows 计划任务
原因了解,工具也有了,接下来只需发挥一下聪明才智,交给电脑自己该怎么做就行了——当使用 STM32CbueIDE 给单片机下载完程序后自动清理托盘残留的图标。
任务:运行 SystemTrayRefresh.exe ;
触发条件:检测到启动了 JLinkGDBServer.exe .
关于这种类型计划任务的配置,摘抄了网上的一段内容:请问如何使用任务计划程序中的触发器——“发生事件时”?
实现启动程序A的时候执行相应的计划任务这样的效果,您首先需要开启相关的日志记录:
右键点击开始按钮>运行>secpol.msc
在打开的本地安全策略中依次展开本地策略>审核策略>双击打开右侧的"审核进程跟踪",勾选"审核这些操作"下方的"成功">确定
设置完成后可以随便打开一个应用程序再关闭,然后右键点击开始按钮>事件查看器>Windows日志>安全>可以看到最新一条的事件记录(4688)可以成功记录到刚才启动的程序的事件.
接下来回到任务计划程序中,修改计划任务的触发器,使用"发生事件时"触发>自定义>新建事件筛选器,切换至"XML"标签页,勾选"手动编辑查询",粘贴下面内容:
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[band(Keywords,9007199254740992) and
(EventID=4688)]] and
*[EventData[Data[@Name='NewProcessName'] and
(Data='C:\Windows\System32\notepad.exe')]]
</Select>
</Query>
</QueryList>
注:请将上面代码中倒数第四行Data=''中的内容替换为程序A的完整路径.
然后再继续配置"创建任务"窗口中的"操作"内容.
首先按照教程开启“审核进程跟踪”;然后打开"事件查看器>Windows日志>安全",按日期和时间排序、在筛选器中筛选"4688".
点击一次 STM32CbueIDE 中的 "运行" 按钮,等程序下载完成后返回并刷新一次事件查看器窗口,找到最新的事件查看详情,发现果然是运行 JLink 相关的进程,进程名是 "JLinkGUIServer.exe".
创建计划任务。
运行再打开 STM32CbueIDE 点击 "运行" 下载一次程序,JLink图标终于干净了,完美!
STM32CbueIDE 与 J-Link的更多相关文章
- 一个文件夹可以link 到另外一个文件夹
Creates a symbolic link. MKLINK [[/D] | [/H] | [/J]] Link Target /D Creates a directory symboli ...
- 牛客多校第四场 J Free 最短路
题意: 求最短路,但是你有k次机会可以把路径中某条边的长度变为0. 题解: 跑k+1次迪杰斯特拉,设想有k+1组dis数组和优先队列,第k组就意味着删去k条边的情况,每次松弛操作,松弛的两点i,j和距 ...
- windows7命令帮助大全
有关某个命令的详细信息,请键入 HELP 命令名ASSOC 显示或修改文件扩展名关联.ATTRIB 显示或更改文件属性.BREAK 设置或清除扩展式 CTRL+C 检查.BCDEDIT 设置启动数据库 ...
- [转]Windows7文件夹转移清理臃肿的C盘
当你使用Windows的时候,你会发现无论哪个版本的Windows,系统都会默认将用户文件夹和程序数据文件夹(xp下是Documents and Settings文件夹,而windows7和vista ...
- SharePoint 快捷获取列表栏内部名称
在列表设置页面点击浏览器书签获取列表字段内部名称,使用效果如下图: 如何使用: 修改浏览器上任意书签的url地址为以下代码,注意:代码中不能有换行符 javascript:(function(){va ...
- bzoj1189
1189: [HNOI2007]紧急疏散evacuate Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2321 Solved: 724[Submi ...
- POJ3249:Test for Job
传送门 很简单的一道题,被卡了几次,死于答案非法统计. 题意是求图里的一条最长的路径满足起点的入度和终点的出度都是0,而且图是DAG. 既然是DAG求最长路,DP即可.搞出拓扑序,逆序DP,然后统计所 ...
- BZOJ平推计划
学习VFK大神推BZOJ,记录一下学习的东西 1004: burnside:一个置换群的等价计数=(每个置换的置换后等价情况数)/置换总数,每个置换的置换后等价情况数就是置换后没变的数 模意义下的除法 ...
- codevs 1907 方格取数 3
Description 在一个有m*n 个方格的棋盘中,每个方格中有一个正整数.现要从方格中取数,使任意2 个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法. Input 第 ...
- 玩转WIN7的MKLINK
引言: 换了新电脑,终于再次使用上啦WIN7 ,经过一个周每天重装N次系统,终于弄好一个像样的系统啦.由于使用rt7lite对WIN7SP1官方整合包进行了适当精简,所以最终系统的稳定性还得经过一段时 ...
随机推荐
- sqli-labs lesson 23
less 23: 这里通过验证?id=1'# 发现还是报错 观察代码: 这里涉及一个函数mixed preg_replace(mixed $pattern,mixed $replacement,mix ...
- 能说会道爱办公——“别人家的”Chrome插件到底怎么做
根据相关数据显示,谷歌的Chrome浏览器目前已达近七成的市场占有率,成为浏览器的"霸主".大家选择Chrome,除了是因为性能的优越以及强大的兼容性之外,Chrome充足的扩展插 ...
- C#10在List, Queue 以及Stack中使用EnsureCapacity方法来提升性能
简介 在今天的文章中,我们将介绍 C# 10 中引入的一项新功能.这是已添加到 List.Queue 和 Stack 集合中的 EnsureCapacity 方法.我们将讨论为什么我们应该使用这个方法 ...
- noip34
因为改不动T3而来水博客的屑 昨晚没睡好,大致看了一遍题面后,选择了死亡231,然后就死的很惨. T1 一开始大致看题面的时候,就略了一眼,加上没读全题,啥思路也没有,最后四十分钟滚回来看了看,发现就 ...
- noip模拟15
T1 恶心的数学题,还卡空间... 于是考虑数组二次调用,用完memset 记录一手二维前缀和对不同询问离线修改,最后一块回答即可 Code #include<cstdio> #inclu ...
- IDEA远程调试代码
一.设置远程调式端口 点击Remote 设置名字和要部署的远程服务器IP地址和端口 二.将Jar包上传到远程服务器运行 启动命令 java -Xdebug -agentlib:jdwp=transpo ...
- spring cloud 项目
### 项目需求 客户端:针对普通用户,用户登录.用户退出.菜品订购.我的订单. 后台管理系统:针对管理员,管理员登录.管理员退出.添加菜品.查询菜品.修改菜品.删除菜品.订单处理.添加用户.查询用户 ...
- final、finally与finalize的区别?
一.final.finally与finalize的区别 final:final是一个修饰符,可以修饰类,方法和变量.final修饰类表示类不能被其它类继承,并且该类中的所有方法都会隐式的被final修 ...
- TortoiseGit冲突和解决冲突
产生冲突原因 产生:多个开发者同时使用或者操作git中的同一个文件,最后在依次提交commit和推送push的时候,第一个操作的是可以正常提交的,而之后的开发者想要执行pull(拉)和pull(推)操 ...
- 【linux】vim常用命令
转自:https://www.runoob.com/linux/linux-vim.html vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输 ...