本帖最后由 xld0932 于 2024-3-14 10:35 编辑
#申请原创# @21小跑堂
在2023年底的时候Keil官网更新MDK-Arm的版本到了5.39,对于这个版本的更新,Keil官方也给出了明确的Update说明,如下所示:
其中有一点,需要值得我们注意的是MDK PackInstaller的更新,在5.39版本之前,Keil对于离线Pack包的安装默认都是使用的PackUnzip.exe的方式,但从5.39版本开始,对于离线Pack包的安装默认采用的却是PackInstaller.exe的方式,而且Keil官方也申明了PackUnzip.exe方式会在后续发布的版本中慢慢的退出历史舞台……
看到这儿,是不是会有疑问,PackInstaller.exe和PackUnzip.exe在安装离线Pack包的时候,有什么区别呢?有啥影响呢?为啥要注意呢?下面我们就来举例说明一下……
对于离线Pack包来说,是为了解决芯片更新与KEIL官网不同步的问题,通过KEIL的Pack包管理工具来安装有些时候会感觉网速慢得离谱;所以通过离线的方式来安装Pack包省时省力;一般对于MCU的最简Pack包来说,只需要包含pdsc文件、芯片的下载算法文件、以及芯片对应的SVD文件就可以了,通过PackUnzip.exe进行安装时,会自动解压到相应的目录中去,在解压的过程中,通过SVD文件还自动生成了芯片的SFD和SFR文件,这个在芯片进入Debug状态下,查看MCU外设及寄存器的文件;但在5.39中默认使用的PackInstaller.exe的安装方式却有些不同,它更像是直接将Pack不做任何处理和转换,直接Copy到相应的目录,如果之前使用的是最简Pack文件结构的话,会由于缺少SDF和SFR文件导致在Debug时看不到芯片的任何外设,更别说是查看寄存器了……
所以在我们使用MDK-Arm 5.39版本的时候,遇到Debug下查看不到任何外设和寄存器时,该如何解决呢?那就是将默认使用PackInstaller.exe的安装方式修改为PackUnzip.exe的安装方式,当然这也是过度的一种办法,因为Keil申明了后面PackInstaller.exe慢慢会替代掉PackUnzip.exe的安装方式,所以原厂在后续发布最简离线Pack包的时候,需要将调试所需要的文件也一起打包哦,下面是具体的演示过程,需要的可以借鉴一下:
安装MKD-Arm 5.39:
通过PackInstaller.exe的安装方式安装离线Pack包:
通过PackInstaller.exe的安装方式安装离线Pack包后在线下载程序功能正常:
通过PackInstaller.exe的安装方式安装离线Pack包在线Debug无法查看外设及寄存器:
通过PackUnzip.exe的安装方式安装离线Pack包:
在MKD-Arm 5.39版本中,还保留了PackUnzip.exe的安装方式,只是默认的不是它而已;所以我们通过右击需要安装的Pack包,选择打开Pack的方式为PackUnzip.exe的安装方式就可以啦,PackUnzip.exe存放的路径如下图所示:
由于我们之前已经通过PackInstaller.exe的方式安装了Pack包,所以在安装相同版本的Pack包之前建议先删除之前的安装,操作方法也比较简单,就是找到Pack包的安装路径,直接删除就可以了,如下所示:
接下来就是通过PackUnzip.exe的安装方式安装离线Pack包啦:
通过PackUnzip.exe的安装方式安装离线Pack包在线Debug可以正常查看外设及寄存器:
|
此文章已获得独家原创/原创奖标签,著作权归21ic所有,未经允许禁止转载。
详解Keil MDK-Arm 5.39版本离线Pack包安装,文中相对于安装方式,作者更着重于版本的差异化描述,详细阐述了为何要如此安装,后续升级版本的小伙伴可仔细阅读哦。