STM32下载调试驱动问题

时间:2024-01-07 17:43:26

No Cortex-m SW device found解决办法

16.07.14

今天工作,遇到一个问题:用jlink采用SW下载模式时,一直显示No Cortex-m SW device found。驱动都是装好的,之前采用20pin的jtack下载模式都是好好的,换装了好几次驱动,因为本机是win10,以为可能是win10的兼容性问题,就换用win XP虚拟机,但还是未能解决这一问题。直到老板说在他电脑上可用,我灵机一动,合不把他的驱动拷过来?

Jlink的驱动一般网上下载为宜安装包,就和正常安装软件一样,但安装后的文件可以*拷贝,不涉及注册表。大多数驱动都是如此。

使用jink下载器,进行SW下载模式进行下载。

  1. keil设置:右键单击工程名->

    STM32下载调试驱动问题

    STM32下载调试驱动问题

  2. 驱动设置,将压缩包解压,复制如下文件

    STM32下载调试驱动问题

    到keil安装目录下的ARM->segger下:

    STM32下载调试驱动问题

放在我的百度云软件->驱动文件夹下:http://pan.baidu.com/s/1nuX8yRR

关于win10自动安装驱动

按网上教程,没有很好的解决win10自动安装驱动的问题。

后探索到如下办法:

大多数可移动设备驱动的本质就是一个.sys文件,无论是我们自动安装还是浏览本机文件安装,最终window都会自动下载或拷贝一份该驱动对应的.sys文件到C:\Windows\System32\drivers文件夹下。

STM32下载调试驱动问题

以及一份详细的驱动文件到C:\Windows\System32\DriverStore\FileRepository文件夹下

STM32下载调试驱动问题

若要拒绝自动安装驱动,首先断网,这样windows就无法从互联网下载驱动,然后再上述两个文件下把对应驱动的.sys文件和备份文件夹删了

注:删.sys文件前首先要卸载设备,并删除设备文件;

若FileRepository文件夹下的驱动备份文件夹无法删除,提示需要某某权限,可参照本人的另一篇教程:

WIN10删除或更改需要SYSTEM或ADMINISTRATORS权限的文件夹

之后,连接设备,或"扫描检测硬件改动",设备出现感叹号,右键更新设备驱动,定位到自己下载好的驱动目录下。

此法也可用于处理当某一个设备安装多个驱动时,删除无用的驱动文件,防止无用的驱动文件干扰有用的驱动文件

JTAG与SW下载

SW连接模式:

STM32下载调试驱动问题

JTAG连接模式:

Serial Wire Mode Interface

The MCBNUC1xx board also supports the Serial Wire Mode of Cortex-M0 based devices. In Serial Wire mode, only the pins TCLK and TMS are used. TDO is an optional trace data output pin.

串行接口线模式
MCBNUC1xx板的同时也支持了串行线模式的基础Cortex-M0设备。在串行线模式,只有针TCLK和TMS使用。TDO数据输出引脚是一个可选。

STM32下载调试驱动问题

现在可以做成这种模式:

STM32下载调试驱动问题

参考文章:ARM菜鸟:JLINK与JTAG的区别

SWD与JTAG之间的区别

附:

调试工具

link仿真器

  [1] J-LinkJ-Link是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9内核芯片的仿真,通过RDI接口和各集成开发环境无缝连接,操作方便、连接方便、简单易学,是学习开发ARM最好最实用的开发工具。产品规格:电源USB供电,整机电流 <50mA 支持的目标板电压 1.2 ~ 3.3V,5V兼容目标板供电电压 4.5 ~ 5V (由USB提供5V) 目标板供电电流最大300mA,具有过流保护功能工作环境温度 +5℃~ +60℃存储温度 -20℃~ +65℃湿度 <90%尺寸(不含电缆) 100mm x 53mm x 27mm 重量(不含电缆) 70g 电磁兼容 EN 55022, EN 5502 。

JTAG

JTAG是英文"Joint Test Action Group(联合测试行为组织)"的词头字母的简写,该组织成立于1985 年,是由几家主要的电子制造商发起制订的PCB 和IC 测试标准。JTAG 建议于1990 年被IEEE 批准为IEEE1149.1-1990 测试访问端口和边界扫描结构标准。该标准规定了进行边界扫描所需要的硬件和软件。自从1990 年批准后,IEEE 分别于1993 年和1995 年对该标准作了补充,形成了现在使用的IEEE1149.1a-1993 和IEEE1149.1b-1994。JTAG 主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。