|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2012-4-25 23:09:45
|
显示全部楼层
本帖最后由 阿毛 于 2012-4-25 23:13 编辑
仿真器问题排查和解决的步骤:
1. 前面说了,我共焊了四块板子:
(1)原装仿真器散件(缺三个0603的471电阻,自已用0805的焊上了)
(2)完整实验板(买的光板,零件全部自备的,中间曾怀疑过LGT坏了,拆下了重焊了一颗)
(3)仿真器(买的光板,零件全部自备,电阻电容全焊的0805的,自己另外买了NUC的IC和Nu-Link仿真器用来烧录)
(4)简化实验板(前三个使用不起来,就又拿一片光板只焊了IC、电源指示、振荡电路用来排查问题,最后结果证明我只有这一块是焊得没问题的...悲剧...白学了三个月电路)
2.因为简化实验板简化到连供电插头都没焊(实际情况是我没3.5的DC插座了),只能从仿真器取电,因此我们要把0欧的R26焊上,我的0欧直接就是锡...
3.前面我说有测过TCK、TMS输出高电平时的电压,及PC0 到TCK,PC1到TMS的通路,都正常的,我确实是测过,都正常的,但今天突然想“会不会是有那么高电压,但输出不了多少电流呢?”
于是就想用TCK和TMS驱动一下LED亮一下看看,便有了如下接线
用如下代码测试的:
SYSCLK->PWRCON.XTL12M_EN = 1;
DrvGPIO_Open(E_GPB, 12, E_IO_OUTPUT);
DrvGPIO_Open(E_GPB, 8, E_IO_OUTPUT);
DrvGPIO_Open(E_GPC, 0, E_IO_OUTPUT);
DrvGPIO_Open(E_GPC, 1, E_IO_OUTPUT);
while (1) {
delay_loop();
DrvGPIO_SetBit(E_GPB, 12);
DrvGPIO_ClrBit(E_GPB, 8);
DrvGPIO_SetBit(E_GPC, 0);
DrvGPIO_ClrBit(E_GPC, 1);
delay_loop();
DrvGPIO_ClrBit(E_GPB, 12);
DrvGPIO_SetBit(E_GPB, 8);
DrvGPIO_ClrBit(E_GPC, 0);
DrvGPIO_SetBit(E_GPC, 1);
}
就是互补的显示DBUG和RUN这两个LED,同时对TCK和TMS输出互补的电平。
4.结果板外LED点不亮,我就郁闷了,想用万用表测一下PC0/PC1脚上的电压,结果探针一按,测试的板外LED亮了,一检查发现,这两根脚能晃的...赶紧焊上
5.这下OK了,通过了板外LED测试。
6.刷LGT Firmware,连最简实验板,OK了。
7.连完整实验板,不行。。。看来完整实验板还是有问题。
8.还有一个编号3的仿真器还没试,赶紧重复步骤3到5,发现TCK,TMS没虚焊,板外LED测试通过,但步骤6不行,老样子,看来只有GND有虚焊的可能了。
赶紧检查,发现背后两根GND都虚焊了,都能晃......苍天啊...
9.补焊3号的GND,重复步骤6,通过板外LED驱动测试。
重复步骤7,不通过,到此为止,确认1,3,4这三块板子没问题了....今天是第三个晚上了啊....
还有一个2号板子,发完帖子继续找原因.... |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|