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 主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。