[求助] ADUC7023 无法连接到JTAG

weizhongc   2021-4-16 09:51 楼主

ADUC7023 无法连接上jtag,因为之前MCU是下载过程序的,jtag的端口给占用了,

而且也无法进入到I2C 升级模式 0x80014 位置为0x12345678

现在即使把mcu 的TRST / TDI / TMS  /RTCK / TDO /RESET 都连接上也是始终无法连接上mcu(非常小概率能连上)

JLINK V8 /JLINK V9 /ULINK 2都使用过了,还是一样。

有没有了解这个mcu的,怎么样来连接上这个mcu,清空资料呢

e4a292bf9a2edf28bffee1e46dc8c08.png

上面是我画的一个小板子,只连接了JTAG,还有预留了I2C, loader 接口

本帖最后由 weizhongc 于 2021-4-19 10:06 编辑

回复评论 (16)

没有用过这个,应该是GPIO功能复用造成的,可以试试先点连接,然后快速按复位键。

点赞  2021-4-16 11:04
引用: dcexpert 发表于 2021-4-16 11:04 没有用过这个,应该是GPIO功能复用造成的,可以试试先点连接,然后快速按复位键。

问题是我的 RESET 也连接上去了啊。不需要手动去快速复位啊

点赞  2021-4-16 11:23

测量一下复位信号看看过去没

点赞  2021-4-16 11:24

软件里设置硬件复位

点赞  2021-4-16 11:24

JTAG引脚复用以后,MCU无法连上JTAG的情况

很早以前看到过一个方法,MCU复位以后,JTAG口在使用复用功能前,加入延时,有一个窗口期后JTAG功能可以使用。这个方法通过检测其他IO的方式,来判断是否加入延时来避免JTAG锁死

如果已经发生你这种情况,好像不同的芯片并没有统一的方法

上楼的方法应该可以试试,大致意思就是使得芯片一直处於复位状态,不运行

点赞  2021-4-16 11:56

是不是引脚被占用造成的的,看一下程序里面的引脚有没有和jtag引脚冲突的

点赞  2021-4-16 14:24

也可以试试不接复位引脚,swd模式试一下

点赞  2021-4-16 14:25

看来楼主对这个芯片好熟悉!我特意下了这个芯片资料,是arm7,非常早了!如果以后还要使用这个芯片,需要把占用jtag引脚的代码删除掉。可以使用jlink,看看按住复位引脚能不能连接jtag,另外你确定i2c接口不能使用擦除芯片代码。现在还有办法就是把这个芯片去掉,重新焊接一个。你这个芯片还倒罢了,德州仪器c2000芯片是非常恶劣的!和波音公司的飞机设计有一比!

本帖最后由 大秦正声 于 2021-4-16 15:06 编辑
   
点赞  2021-4-16 15:03
引用: 大秦正声 发表于 2021-4-16 15:03 看来楼主对这个芯片好熟悉!我特意下了这个芯片资料,是arm7,非常早了!如果以后还要使用这个芯片,需要把 ...

还有一点,连接jtag的时候需要保持p0.0引脚为高电平。

   
点赞  2021-4-16 15:22

现在的stm32就比较容易了,不害怕jtag锁住。

   
点赞  2021-4-16 15:25
引用: 大秦正声 发表于 2021-4-16 15:03 看来楼主对这个芯片好熟悉!我特意下了这个芯片资料,是arm7,非常早了!如果以后还要使用这个芯片,需要把 ...

以前看到的锁死问题是TI收购的m3芯片,怎么都是TI

不过据说LM3S系列的设计与TI的工艺不太兼容,后来不太推了

点赞  2021-4-16 16:21
引用: weizhongc 发表于 2021-4-16 11:23 问题是我的 RESET 也连接上去了啊。不需要手动去快速复位啊

需要按住复位,然后松手,快手连接jtag就是让里边的代码来不及运行。

点赞  2021-4-16 17:01
引用: bqgup 发表于 2021-4-16 14:25 也可以试试不接复位引脚,swd模式试一下

这个芯片没有SWD 模式

 

点赞  2021-4-17 15:03
引用: littleshrimp 发表于 2021-4-16 11:24 测量一下复位信号看看过去没

测试了有复位信号啊

 

点赞  2021-4-17 15:04
大秦正声 发表于 2021-4-16 17:01 需要按住复位,然后松手,快手连接jtag就是让里边的代码来不及运行。

                  for (time = 0; time < 100; time++)
                    {
                        JLINKARM_Reset();
                        JLINK_ClrRESET();
                        Thread.Sleep(20);
                        JLINK_SetRESET(); 
                        Thread.Sleep(time);
                        button1.Text = "断开";
                        snr = JLINKARM_GetId();
                        if (snr == 0x4f1f0f0f)// ADUC7023 ID
                        {
                            str = snr.ToString("X");
                            richTextBox1.Text = richTextBox1.Text + "ARM core ID:  " + str;
                            richTextBox1.Text = richTextBox1.Text + "(ARM7)\n";
                            break;
                        }
                        Thread.Sleep(100);

                    }

有个回帖说查找 jtag 在复位后的窗口期,

我改了个C# 的jtag程序,一直还是没有连接上,

用stm32 的开发板,程序已运行就连接上了。

芯片是拆机的,里面程序占用了JTAG ,有连接上过,但是概率好小,几天可能连接上一次。

点赞  2021-4-17 15:09
引用: 大秦正声 发表于 2021-4-16 15:03 看来楼主对这个芯片好熟悉!我特意下了这个芯片资料,是arm7,非常早了!如果以后还要使用这个芯片,需要把 ...

在原来的pcb上,jtag 是用作了普通的gpio 了。

点赞  2021-4-17 15:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复