查看: 955|回复: 0

[分享] Kinetis复位与调试接口

[复制链接]
  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 1297 天

    [LV.10]以坛为家III

    7

    主题

    6322

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    10539
    最后登录
    2024-4-26
    发表于 2021-7-28 22:01:53 | 显示全部楼层 |阅读模式
    一直以来,Kinetis MCU就有复位和调试器无法连接的问题。

    以Kinetis K20为例,在复位状态下可以进入JTAG/SWD和EZP模式,也可能进入NMI。所以其判断逻辑是蛮复杂的。一旦复位后没有进入JTAG/SWD/EZP,由于内部看门狗的原因,MCU会重新复位。如果外部调试器无法判断这种情况,或者由于噪声和阻抗匹配问题无法连接MCU进入调试模式,就会发生用户连接SWD无法成功,而RESET引脚出现周期性复位信号的情况。

    所以,这件事情的原因在于SWD/JTAG由于某些原因无法连接MCU,导致后续复位;而不是复位导致SWD/JTAG无法连接。听上去有些像鸡和蛋的关系。

    直接原因

    Flash中有非法指令,跳转到非法地址(所以需要上手做Mass Erase)
    NMI或者中断无法退出(也需要做Mass Erase)
    SWD未被使能(无法连接)
    EZP引脚被拉低(进入EZP,而非调试模式)
    RESET时间常数太短
    SWD_CLK的时钟太高导致时钟匹配问题。
    解决方法

    延长时间常数,或者先不要焊接电容;
    EZP引脚10K上拉,NMI引脚10K上拉;SWD_IO/TMS引脚10K上拉;
    调低SWD_CLK时钟频率,或者增加串联匹配电阻;
    具备JTAG接口的芯片,初始状态下先使用JTAG连接;
    K20使用SWD擦除时,无需EZP上拉;
    K20使用SWD调试时,EZP必须上拉;
    PEmicro连接JTAG时,所有GND必须分别接地,以减少噪声影响。

    调试原型硬件时,首先不要焊接过多的其他元件,只需要电源,复位和基本的SWD/JTAG调试引脚即可。其他的的晶体、USB押后再焊接。

    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-27 09:44 , Processed in 0.103125 second(s), 18 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表