5159|1

77

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

自制Stellaris调试器过程 [复制链接]

前段时间折腾Stellaris单片机,觉得老用8962评估板上的调试接口不是很方便,于是和同学一起画了一块调试器.本来想参考EK8962这块板子的电路图画.但是这个调试器需要一个CPLD,既需要CPLD编程,而且成本也比较高.恰好在论坛里发现了9b96开发板上的调试器电路,这个调试器一个FT2232,三片缓冲.比较容易做,马上就动手了.
电路图和成品图如下:

debuger(Version2).pdf (75.22 KB, 下载次数: 34)
板子画好焊接好后,才开始考虑固件的问题.站内了大牛fengzhang2002,告知可以从开发板上读取PID,VID等信息,然后编程到新的板子上.
因为手上只有8962的开发板,上面用的也是FT2232,于是就理所当然的把8962板子上的FT2232固件烧写到新调试器上了.
但是一上电,新的调试器怎么都不能连接上目标板,出错信息如下:
mybays@spaceship:~/stellaris/lm3s8962/final$ luminary-openocd -f ../ek-lm3s9b96.cfg
Open On-Chip Debugger 0.3.1 (2010-09-15-10:11)
$URL$
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
3000 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
srst_only separate srst_gates_jtag srst_open_drain
Info : clock speed 3000 kHz
Error: JTAG scan chain interrogation failed: all zeroes
Error: Check JTAG interface, timings, target power, etc.
Error: JTAG scan chain interrogation failed: all zeroes
Error: Check JTAG interface, timings, target power, etc.

这种问题,一般是jtag不能和目标板通信,可能的原因是目标板没上电,调试插头没有插上,像我这种情况,很有可能是FT2232到目标板这一部分的逻辑电路有问题.
既然有问题就要解决了,首先是检查焊接问题和电路图是否画错,经过长时间的检查,没有问题.
然后和同学讨论,两个开发板(EK-LM3S8962和EK-LM3S9B96)的电路不一样,是不是烧写的固件也不一样.
手里没有9b96开发板,到网上一看,果然不一样,9b96的是vid&pid是0x0403 0xbcda,而8962的是0x0403 0xbcd8,两者的描述也不一样,一个是"Luminary Micro ICDI Board",另外一个是"Stellaris Evaluation Board".于是重新在网上找了9b96的调试器固件,烧写了进去.但是问题依然存在,怎么办呢?向困难屈服不是我的作风,于是我决定使用逻辑分析仪看看到底问题出在哪.
虽然实验室刚买了一批很高端的示波器,带数字逻辑分析功能,但是那个太复杂了,还没学会.所以就用我们画的cy7c68013a逻辑分析仪,软件是Logic,虽然盗版山寨不好,但是我们是学习自己用,不是以盈利为目的.

将板子的TDI,TMS,TCK,TDO,SRSTN引出,发现前四个信号都是低电平,没有问题.
SRSTN是高电平,低电平将复位单片机.
准备妥当,逻辑分析仪开始采样,这边连接open-ocd:

可以看到在0.7s左右板子复位,但是错误还是和以前一样.
和以前不同的是,烧写8962调试器固件后,以上5个信号都是高电平.说明程序和以前的相比,已经正常了很多。在SRSNT复位后,4个信号线都有动作,但是最后还是没有结果,很有可能是JTAG没有建立正确的连接。

那么到底正确的连接,是什么样的呢?
用EK-LM3S8962的评估板调试小板,逻辑分析仪采样的信号如下:
jtag输出信息为:
mybays@spaceship:~/stellaris/lm3s8962/final$ luminary-openocd -f ../ek-lm3s8962.cfg Open On-Chip Debugger 0.3.1 (2010-09-15-10:11)
$URL$
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
3000 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
srst_only separate srst_gates_jtag srst_open_drain
Info : clock speed 3000 kHz
Info : JTAG tap: lm3s8962.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Error: AHBAP Cached values: dp_select 0x10, ap_csw 0xa2000002, ap_tar 0xe000edf0
Error: SWJ-DP OVERRUN - check clock or reduce jtag speed
Error: Read MEM_AP_CSW 0x23000040, MEM_AP_TAR 0x0
这里的出错原因是我配置文件里的目标CPU为LM3S8962,而调试器发现的CPU却是LM3S2110.

可以从图中看到正常的数据,这里补充一下,8962调试器没有SRSTN信号,估计这个调试器能够软件复位CPU,而9B96的开发板只能通过硬件来复位CPU.


最新回复

为什么  详情 回复 发表于 2011-4-6 09:43

赞赏

1

查看全部赞赏

 
点赞 关注

回复
举报

134

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

我自己做的9B96的板子也不能下载调试

为什么
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表