STM32下载调试驱动问题
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下载模式进行下载。
- keil设置:右键单击工程名->


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

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

放在我的百度云软件->驱动文件夹下:http://pan.baidu.com/s/1nuX8yRR
关于win10自动安装驱动
按网上教程,没有很好的解决win10自动安装驱动的问题。
后探索到如下办法:
大多数可移动设备驱动的本质就是一个.sys文件,无论是我们自动安装还是浏览本机文件安装,最终window都会自动下载或拷贝一份该驱动对应的.sys文件到C:\Windows\System32\drivers文件夹下。

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

若要拒绝自动安装驱动,首先断网,这样windows就无法从互联网下载驱动,然后再上述两个文件下把对应驱动的.sys文件和备份文件夹删了
注:删.sys文件前首先要卸载设备,并删除设备文件;
若FileRepository文件夹下的驱动备份文件夹无法删除,提示需要某某权限,可参照本人的另一篇教程:
WIN10删除或更改需要SYSTEM或ADMINISTRATORS权限的文件夹
之后,连接设备,或"扫描检测硬件改动",设备出现感叹号,右键更新设备驱动,定位到自己下载好的驱动目录下。
此法也可用于处理当某一个设备安装多个驱动时,删除无用的驱动文件,防止无用的驱动文件干扰有用的驱动文件
JTAG与SW下载
SW连接模式:

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数据输出引脚是一个可选。

现在可以做成这种模式:

参考文章:ARM菜鸟:JLINK与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 主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。
STM32下载调试驱动问题的更多相关文章
- Stm32 SWD 下载 调试配置
找到一篇比较好的 关于stm32 SWD模式 下载 调试 配置文章 整理如下: 我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会 ...
- 如何使用串口来给STM32下载程序
前言 第一次学习STM32的时候,不知道有调试器这个东西,所以一直是通过串口来给STM32下载程序,下载速度也还算可以,一般是几秒钟完成.后来用了调试器,可以直接在Keil环境下进行下载,而且还可以进 ...
- STM32下载显示target dll has been cancelled
使用MDK 4.74向STM32下载时出现各种错误,而且时隐时现, Internal command error.Error:Flash download failed. Target DLL has ...
- kobox: key_proc.c -v1 怎样使用proc文件系统调试驱动
使用proc文件系统能够非常方便调试驱动.查看驱动中的一些数据 平台:TQ2440 系统版本号: root@ubuntu:/mnt/shared/kobox# uname -a Linux ubunt ...
- Window10中利用Windbg与虚拟机(window7)中调试驱动建立方法
想起自己的windbg配置就转载:eqera的windows内核调试配置,真的是获益良多希望他不会介意我转载他的博客,帮了我很多,记录下来给我也给大家, 其中我主要看的是VMWare的pipe建立,而 ...
- 34.Linux-printk分析、使用prink调试驱动
本节学习目的 1)分析printk()函数 2)使用prink()调试驱动 1.在驱动调试中,使用printk(),是最简单,最方便的办法 当uboot的命令行里的“console=tty1”时,表示 ...
- python安装selenium和下载浏览器驱动
1.安装selenium 方法一:可以用在cmd中用pip命令安装. python默认自带pip工具,如果在电脑上配置了pip的环境变量,打开cmd命令窗口后可以直接输入命令pip insta ...
- STM32硬件IIC驱动设计(转)
源: STM32硬件IIC驱动设计 参考: STM32—硬件IIC主机通信 STM32’s I2C 硬件BUG引发的血案(qzm) 解决STM32 I2C接口死锁在BUSY状态的方法讨论
- 使用st link v2向stm32下载和调试程序
st官网 正版ST-link/V2引脚定义和注意事项 分为ST-LINK/V2和ST-LINK/V2-ISOL两种型号 是STM8和STM32微控制器(MCU)系列的在线调试器和编程器(还是下载器.仿 ...
随机推荐
- RHEL6.6 PXE安装-基于VMWare WorkStation
///////////第一部分:安装安装服务器 1.先安装一台RHEL6.6的服务器A(地址为192.168.139.132),作为安装服务器.这样后面的机器就可以指向这台服务器进行自动安装 2.在A ...
- wpf学习笔记
1.菜单:普通菜单.上下文菜单(ContextMenu) <Menu HorizontalAlignment="Left" Height="20" Ver ...
- 使windows隐藏文件全部显示出来
win+R => cmd=>attrib -s -b *.* /S /D 找出所有隐藏文件夹—— FindHidden
- DataList无数据如何显示
<FooterTemplate> <asp:Label runat="server" ID="emptyLb" Text="No D ...
- c语言函数指针
#include <stdio.h> typedef void (*intFunc)(int i); void test1(int age) { printf("test1:%d ...
- View通用
1.计算view尺寸 ViewTreeObserver vto = view.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeO ...
- mysql 获取当前日期及格式化 (转)
MYSQL 获取当前日期及日期格式获取系统日期: NOW()格式化日期: DATE_FORMAT(date, format)注: date:时间字段format:日期格式 返回系统日期,输出 2009 ...
- [蟒蛇菜谱]Python日志记录最佳实践
# -*- coding: utf8 -*- import logging # 创建一个logger logger = logging.getLogger('mylogger') logger.set ...
- MFC绘制图片闪烁详解
用MFC如何高效地绘图 显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题. 而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案. MFC的 ...
- 关于android的UI更新机制与误区
Android系统的消息队列和消息循环都是主线程的,其它后台服务等无法直接更新,必须通过下面的消息队列,由主线程的消息循环去依次执行更新ui: 同时对于费时间超过5秒的事件,比如网络链接等,建议新开线 ...