请问关于MSP430F149通过JTAG对F2121烧录问题

[复制链接]
 楼主| GENERRALDE 发表于 2009-12-15 10:01 | 显示全部楼层 |阅读模式
我的F149能够通过
if (IR_Shift(IR_CNTRL_SIG_CAPTURE) != JTAG_ID)
    {
        return(STATUS_ERROR);
    }
判断语句正确返回JTAG_ID的0X89,但是到了
if (DR_Shift16(0x0000) & 0x0200) 这个语句发现进入函数后
TDOword一直都是0
下面是函数其中我觉得出问题的地方.

(Format == F_WORD) ? (MSB = 0x8000) : (MSB = 0x80);
for (i = Format; i > 0; i--)
{
  ((Data & MSB) == 0) ? ClrTDI() : SetTDI();
  Data <<= 1;
  if (i == 1)       // Last bit requires TMS=1
     SetTMS();
  ClrTCK();
  SetTCK();
  TDOword <<= 1;   // TDO could be any port pin
  if (ScanTDO() != 0)
   TDOword++;
我观察了下JTAGIN和JTAGOUT一直都是0XE8和0XE0之间变化.按道理应该会在I到0之前会出现JTAGI是0XE9
请问问题是出在硬件还是别的地方?
贾君鹏子 发表于 2009-12-15 20:59 | 显示全部楼层
估计是硬件问题
 楼主| GENERRALDE 发表于 2009-12-16 10:36 | 显示全部楼层
本帖最后由 GENERRALDE 于 2009-12-16 10:42 编辑

刚才我发现DR_Shift16(0x2401); 的TDOword返回值不正常,按道理应该是0X81  但是却返回了0X1FFF...
按道理应该是i在8的时候TDO才第一次拉高,但是却在i在13时候就开始拉高
thf2008 发表于 2009-12-16 16:15 | 显示全部楼层
进来学习
linhai2009 发表于 2009-12-17 00:13 | 显示全部楼层
先查一下硬件吧,可能是硬件问题
 楼主| GENERRALDE 发表于 2009-12-17 09:48 | 显示全部楼层
恩,谢谢.我也觉得是硬件问题.我发现在执行InitTarget 初始化时候不把P2OUT|=RESET;//(P2.7)设成P3OUT |= VPPONTDI;//(P3.7)就是过不了.还有个问题是我发现我们硬件工程师设计的图有个地方跟TI的设计图不一样.就是TI的设计图MSP430F149连接 TDICTRL1 VPONTEST VPPONTDI  等等这几个脚都是中间串联个270欧姆的电阻.而我们的却没有,是直接连接的.请问这几个电阻除了分压和减低电流强度外还起到什么其它作用?
liliang9554 发表于 2009-12-17 21:17 | 显示全部楼层
不是很懂……
thf2008 发表于 2009-12-17 23:49 | 显示全部楼层
恩,学习了,谢谢LZ分享经验
linhai2009 发表于 2009-12-18 11:09 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

2

主题

9

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部