当调试环境突然弹出许可证异常的提醒时,先别急着去换启动脚本,我们要先弄清楚TRACE32许可证该怎么检查,以及它到期之后功能上到底会受到哪些影响。这个时候需要把两种情况分开来看:一种是软件的服务保障期已经结束了,另一种则是当前的调试核心压根儿就没有对应的许可证。这两种情况都会给出提示,但它们各自影响的范围其实是不一样的。
一、TRACE32许可证怎么检查
TRACE32的许可证检查可以直接在PowerView里面完成。排查的时候,需要把调试探头的序列号、软件的版本,还有目标CPU这些信息都记录下来,避免光看到一条弹窗就马上做出判断。
1、运行LICENSE.List命令
我们可以在TRACE32的命令行里先敲入LICENSE.List,这样系统就会把目前硬件里已经写进去的许可证信息、维护期限,还有可以使用的范围都给显示出来。根据官方资料的说法,维护期限这个信息,既可以通过TRACE32的维护检查页面去查看,也可以用LICENSE.List命令直接拿到,比较方便。
2、核对软件版本
接下来要核对一下软件的版本,方法是点开【Help】菜单里的【About TRACE32】,这样就看到了当前PowerView的具体版本号,把它拿去和LICENSE.List里面显示的有效期限做一个比对。如果软件的发布时间已经晚于维护期限了,界面上往往就会跳出一条提示,说维护密钥对当前的版本不适用。
3、核对调试核心许可证
启动脚本里面写的SYStem.CPU,需要和调试探头里实际已经拥有的许可证相匹配才行。比如说,你的探头只拿到了Cortex-A和Cortex-R的授权,可是你在脚本里却选了Cortex-M,这时候PowerView就会弹出一条提示,告诉你当前核心没有调试用的许可证,并且会自动切换到一个限时的演示模式里去。
4、检查多架构场景
碰到那种一个芯片里面同时集成了不同架构核心的情况,就需要每一个核心的许可证都分别去确认一遍。进行多核调试的时候,如果牵扯到好几种处理器架构,那么跟这些架构有关的软件维护许可证也得保持有效。光检查了主核的话,就很容易把辅助核、HSM或者别的扩展核心给漏掉,后面出了问题也不好定位。
二、TRACE32许可证到期后功能会受哪些影响
TRACE32里面说到的“到期”这个词,多数时候指的是软件的服务维护期限结束了,并不代表原来的调试器立刻就不能用了。官方的说明里面写得很清楚,购买产品的时候会包含12个月的软件保障,在这段保障期里头,你是可以升级软件的;而那些已经被保障期覆盖过的软件版本,以后还是可以继续使用的。
1、旧版本通常还能继续运行
所以维护期限结束了以后,那些原先已经被覆盖到的PowerView版本,通常照样可以拿来用。像平时经常做的连接目标板、往里面加载程序、打个断点,还有查看一下变量这些操作,一般都不会因为维护期到了就马上失效。
2、新版软件可能进入限时模式
但是如果你装了超出维护期限的新版软件,那PowerView就会给出提示,英文的大意是维护密钥对这个版本无效,然后就会进入一个10分钟的演示模式。要解决这个问题,一般要么去更新一下维护密钥,要么就退回到还在许可证覆盖范围之内的那个软件版本上。
3、缺少核心授权会进入5分钟演示模式
如果在调试的时候,当前CPU并不在探头许可证许可的范围里,那常见的提示信息就是“No debug license for selected core”,接着就会进入5分钟的演示模式。这个问题跟软件维护期到期并不是同一回事,解决的办法要么是去补充那个处理器核心对应的许可证,要么就回头检查一下CPU的选择是不是在哪儿写错了。
三、TRACE32许可证异常怎么排查
许可证出现异常的时候,最好能按照提示给出的具体内容来分类去处理,先不要急着去修改启动脚本,也别一上来就直接把安装目录给覆盖掉。
1、先记录完整提示
首先要把弹窗上的文字、PowerView的版本号、运行LICENSE.List之后拿到的结果,还有探头的序列号这些信息都保存下来。如果提示里面写的是10分钟演示模式,那排查的重点就应该放在维护期限上;如果提示的是5分钟演示模式,排查的重点就要转到核心授权上去了。
2、再检查近期变更
然后还得去确认一下最近这段时间有没有做过什么变动,比如是不是升级过TRACE32的软件,有没有换过调试探头,是不是切换了CPU的型号,或者增加了多核调试的脚本。有不少许可证异常的情况,都是在环境刚刚调整完之后才冒出来的。
3、旧环境先保留备份
所以在更新PowerView之前,最好把原来的安装目录先保留一份备份。这样一旦新版本跳出了维护提示,就可以先切回到原来的版本,让工作能继续往下走,然后再抽时间去处理维护密钥的事情,免得整个调试任务一直卡在那里动不了。
总结
总的来说,做TRACE32许可证检查的时候,比较常用的办法就是先在PowerView的命令行里跑一下LICENSE.List,然后再去和【Help】→【About TRACE32】里的软件版本做一下对比。维护期过了以后,那些已经被覆盖过的旧版本一般还是可以继续用下去的;要是装了超出维护期的新版本,很可能就会进到10分钟的演示模式里去;而如果选了没有授权的CPU核心,那就有可能进到5分钟的演示模式。排查的时候,先看看提示的类型,再去检查版本和核心的许可证,这样处理起来会更直接一些。