MIMXRT1060 EVK JTAG接口修改方法

描述

一、文档简介

MIMXRT1060 EVK是NXP官方基于MIMXRT1062DVL6A芯片的开发板,该开发板带有板载的CMSIS-DAP的仿真器,也留出了可以外接外部仿真器的20脚JTAG口。芯片MIMXRT1062DVL6A默认是支持SWD仿真的,但是如果需要使用JTAG仿真, 怎么修改该开发板来实现呢? 如果仅仅只是跳开J47,J48,J49,J50,可以断开芯片与板载CMSIS DAP仿真器的连接,这个时候可以使用外部的仿真器通过J21接口实现SWD的连接与仿真,但是如果直接用JTAG连接,一定会遇到不能连接的情况。 本文将讲解如何修改MIMXRT1062芯片和开发板硬件实现外部JLINK 的JTAG连接。  

二、修改MIMXRT1060 fuse

MIMXRT1060 的fuse是可以按位操作的,默认的仿真口是SWD,这点可以从fuse 0X460[19] DAP_SJC_SWD_SEL 位可知:

mcu

默认该位为0,如果需要改为JTAG,需要将DAP_SJC_SWD_SEL位改为1.

但是,切记,fuse只能从0改为1,不能从1改为0,是不可逆的,这也意味着,如果修改为JTAG之后,就不能再用SWD方式调试,只能一直使用JTAG,永远无法恢复。所以使用的时候一定要慎重!

那么,怎么修改DAP_SJC_SWD_SEL位为1呢?

我们可以借助软件NXP MCU Boot Utility, 进入serial downloader模式,连接这个软件,NXP MCU Boot Utility软件下载链接:https://github.com/JayHeng/NXP-MCUBootUtility/releases/tag/v1.4.0

具体使用方法也可以查看链接:https://github.com/JayHeng/NXP-MCUBootUtility

这里就以MIMXRT1060-EVK 开发板为例,讲解如何使用NXP MCU Boot Utility软件实现DAP_SJC_SWD_SEL位的修改。

1) 开发板断电

2) SW7_1 OFF, SW7_2 OFF, SW7_3 OFF, SW7_4 ON, 进入serial downloader模式

3) 可以使用串口或者USB和NXP MCU Boot Utility软件连接, 如果使用串口,需要保证J45和J46保持连接,然后在设备管理器里面查看串口号,在NXP MCU Boot Utility软件中选择对应的串口号。如果使用USB连接,需要外加一根USB线连接J9, 然后在软件中配置好MCU Device RT106X, Boot Device Configuration 中选择对应的外部flash,点击连接等待连接成功。

4) 下面可以进入efuse operation utility界面, 首先先scan,读出所有的fuse数据,然后点击cfg1,也就是0X460,如下图:

mcu

按照图里面的步骤,可以实现DAP_SJC_SWD_SEL位修改为JTAG.

到此为止,要实现JTAG的连接,软件这边修改已经成功,但是是否就此就可以了呢?如果直接用JLINK连接,会发现还是不能使用JTAG方式连接内核,那是因为开发板上还有几个硬件点需要修改。

三、修改开发板硬件

从参考手册中,可以发现JTAG的相关口有下面几个引脚:

mcu

原理图中可以看出:

mcu

但是因为在硬件中,JTAG_TDI, JTAG_TDO还和以太网芯片的已经复用,所以会导致不能连接的情况,所以需要跳掉几个电阻:R323,R309,R152。

另外J47,J48,J49,J50需要断开,用以和板载仿真器断开连接。

到此,可以直接使用JLINK Commander去实现JTAG的连接了。

下面是实际经过修改后MIMXRT1060-EVK开发板使用外部JLINK仿真器的连接情况:

mcu

可以找到M7内核,也就意味着JTAG的连接成功了,可以使用JTAG去下载仿真代码了。

小小经验,希望帮助到大家。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分