关于Fatal error: Could not find device 解决的过程

发布者:rocky96最新更新时间:2014-12-26 来源: 51hei关键字:JTAG模式  SBWTDIO 手机看文章 扫描二维码
随时随地手机看文章

之前做的板子用的4线JTAG,一直是可以烧写程序的。最近要改板子,由于4线JTAG太占面积,所以打算换成2线JTAG。但是在调试的过程中却出现了 Could not find device (or device not supported) Session aborted!的问题。下面讲一下解决的过程。

一、4线JTAG和2线JTAG介绍

首先先介绍一下4线JTAG和2线JTAG。这里以我用的MSP430F6638为例。5系列和6系列的应该都差不多。

4线JTAG需要用到430上6个脚,分别为TDO(1),TDI(3),TMS(5),TCK(7),TEST(8)以及RST(11)脚,再加上一个共地的角GND(9),一个VDD脚(2或4),VDD这个脚根据你单片机是非JTAG供电还是JTAG供电,分别选择接在2号脚或者4号脚。根据MSP430F5529demo板的板载仿真器的电路结构猜测,应该是JTAG仿真器内部有一个电平转换芯片,当单片机采用非JTAG供电时,可能电压与JTAG仿真器输出电压不一致,这时需要一个电平转换芯片将信号电平转换一下,使得两者一致?

2线JTAG只需要用到单片机上的RST脚和TEST脚,这两个其实是复用引脚,在2线JTAG模式下,应该称为SBWTDIO和SBWTCK更准确。除了那两根信号线之外,再加一个共地线应该就可以烧写程序了。

二、问题的描述及解决

问题的现象描述:

当采用4线JTAG烧写程序时,一切正常;但是使用2线JTAG烧写程序时,却报出了 Could not find device (or device not supported) Session aborted!的错误,无法烧写程序。

解决方案:

在查阅之后,发现接在单片机RST引脚的接地电容的大小很有讲究。

接地电容如下图C28所示。按照TI的demo板上来看,这个电容的值为DNP,应该是do not place。但是TI的demo板上,这里又焊接了一个电容,这个到底应该多大呢?一开始没有仔细研究,我用的是0.1uF,这个是最常用的一个电容值了。

但是后来查阅资料后发现,这个电容值其实很有讲究的,在4线JTAG模式下,推荐为10nF,在2线JTAG模式下,最大为2.2nF。我这里用的是0.1uF,显然是远超了推荐值。

后来把这个电容换成2nF之后,下载正常~

这里分析一下,可能是在2线JTAG模式下,SBWTDIO既作为数据的输入又作为数据输出,对时序的要求更高,所以这里电容太大之后,会产生影响。同时,贴上一张关于JTAG部分参数的图,从图上似乎可以看到,2线JTAG是速度更高一些,可能也正因为如此,其对时序的要求也更高吧~这个分析可能不一定正确,欢迎交流、指正


关键字:JTAG模式  SBWTDIO 引用地址:关于Fatal error: Could not find device 解决的过程

上一篇:MSP430在CCS开发环境下的内存分配
下一篇:VB 上位机与单片机

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved