This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SM470R1B1M-HT:使用 SEGGER JLINK 无法复位 ARM CPU、无法停止

Guru**** 2609895 points
Other Parts Discussed in Thread: SEGGER

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/758801/sm470r1b1m-ht-unable-to-reset-arm-cpu-unable-to-halt-using-segger-jlink

器件型号:SM470R1B1M-HT
主题中讨论的其他器件:SEGGER

您好!

我正在使用基于 TI SM470R1B1M 的新型目标板(由以前看起来工作正常的板设计)以及 IAR 嵌入式工作平台和 J-Link。 我可以使用它一周、但我的最新固件(在8个引脚上为 PWM 添加 HET)似乎使 CPU 失控。 即使在下电上电后、我也无法对其进行调试或擦除。

当我使用 IAR eww 对其进行调试时,我会得到错误“Failed to halt CPU after reset (复位后无法停止 CPU)”。 无法写入内存@ 0x00400000”。 图像已附加。

已连接 J-Link 控制面板图像。



我尝试使用 J-Link 命令器来重置 CPU 并使其停止、但无法这样做。 我尝试了“r”和“Rx 0”命令,方法是将速度设置为8000。 消息显示“..Unable to halt CPU..”,但“ishalted”命令显示“CPU is halted”。 我无法确定 CPU 是否已停止。 如果在这之后、我尝试从 IAR 嵌入式工作平台中擦除芯片、它仍然会出错。

我尝试在引脚(引脚19)中检查 OSC 上的时钟、它看起来是正确的(5.224MHZ)。 当 J-Link‘器发出“r”命令时,TRST 引脚(引脚84)显示2ms 低电平脉冲。 TRST 引脚未连接到 PORRST (引脚68)。

随附 J-Link 命令日志。

请提供一些帮助以获得 CPU 的回退控制。

 

Segger J-Link Commander V6.40 (编译于2018年10月26日15:06:29)
DLL 版本 V6.40、编译于2018年10月26日15:06:02

通过 USB 连接到 J-Link ...正常
固件:2018年2月23日编译的 J-Link V9 11:28:35
硬件版本:V9.10
S/N:59100659
许可证:gdb
VTREF=3.233V


键入"connect"以建立目标连接、"?" 以获取帮助
j-link>连接
请指定器件/内核。 :SM470R1B1M
键入"?" 用于选择对话框
device>sm470r1b1m
请指定目标接口:
 J) JTAG (默认)
tif>j
JTAG 链中的器件位置(IRPre、DRPre) :-1、-1 =>自动检测
JTAGConf>-1、-1
指定目标接口速度[kHz]。 :4000 kHz
速度>8000
已选择器件"SM470R1B1M"。


通过 JTAG 连接到目标
TotalIRLen = 4、IRPrint = 0x01
找到1个器件的 JTAG 链检测:
 0 ID:0x3100E02F、IRLen:04、ARM7TDMI 内核
已识别 ARM7。
J-Link>r
复位延迟:0ms
复位类型正常:使用复位引脚、复位后停止 CPU

秘书长的报告
警告:复位后、目标系统的 PC 具有意外值0xFFFFFFD8。
秘书长的报告

j-link>ishalted
CPU 未暂停。
j-link>rsettype
语法:RSetType

       类型:
       0 =正常(使用复位引脚、复位后暂停 CPU)
       1 = BP0 (使用复位引脚、用断点@ 0停止 CPU)
       2 = ADI (模拟设备 MCU 的软件复位)
       3 = NO_RESET (不会发生任何情况)
       4 = HALT_WP (使用 RESET 引脚、使用观察点复位后停止 CPU)
       5 = HALT_DBGRQ (使用 RESET 引脚、使用 DBGRQ 复位后停止 CPU)
       6 =软(软件复位、仅复位 CPU 寄存器)
       7 = HALT_AINDuring (复位期间停止)
       8 = SAM7 (Atmel AT91SAM7 MCU 的软件复位)
       9 = LPC (NXP LPC2xxx MCU 的硬件复位)
j-link>rsettype 1.
复位类型 BP0:使用复位引脚、用断点@ 0停止 CPU
J-Link>r
复位延迟:0ms
复位类型 BP0:使用复位引脚、用断点@ 0停止 CPU
内核在复位后不停止、将 WP 设置为停止它。
使用默认复位策略在复位后(BP@0)停止 CPU 内核失败。
使用 DBGRQ 来停止 CPU
复位 TRST 以停止 CPU
使用 RESET 引脚复位目标
正在停止 CPU 内核
使用 DBGRQ 来停止 CPU
复位 TRST 以停止 CPU
使用 RESET 引脚复位目标
正在停止 CPU 内核

***** 错误:无法停止 CPU 内核
j-link>ishalted
CPU 暂停。
J-Link>mem32 0x400、000、1
J-Link>mem32 0x0000,1.

***** 错误:读取存储器错误@地址0x00000000、字访问:存储器访问
 超时。
无法读取内存。
j-link>ishalted
CPU 未暂停。
J-Link>Rx 0
复位延迟:0ms
复位类型 BP0:使用复位引脚、用断点@ 0停止 CPU
内核在复位后不停止、将 WP 设置为停止它。
使用默认复位策略在复位后(BP@0)停止 CPU 内核失败。
使用 DBGRQ 来停止 CPU
复位 TRST 以停止 CPU
使用 RESET 引脚复位目标
正在停止 CPU 内核
使用 DBGRQ 来停止 CPU
复位 TRST 以停止 CPU
使用 RESET 引脚复位目标
正在停止 CPU 内核

***** 错误:无法停止 CPU 内核
J-Link>

 

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Vedprakash、
    我到了第二个星期三才离开办公室,直到那时,我才能够仔细地研究这一点。
    但是、如果可以、检查 R1B1M 连接的原理图可能会有所帮助。

    此致、
    涉水
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wade、

    感谢您的快速响应、即使在假期也是如此!

    我在这里附上了与时钟、复位和 JTAG 相关的原理图片段。 此外,还可以通过 w a d e v b (at) t i 向您发送微控制器原理图。 C o m

    谢谢、

    有问题

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    VCCP 连接到3.3V。

    有问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉! 我忘记了提及 OSCIN 的时钟和 PORRST 的复位是由 FPGA 驱动的。

    有问题
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ved、
    新年快乐!

    感谢您提供原理图和信息。
    我在表面上看不到任何错误的东西。 不过有几个问题。
    1) 1) nTRST 连接未完全显示。 nTRST 应该具有10K Ω 的下拉电阻。
    2) 2)您是否正确应用了数据表第36页所示的 PORRST 和 RST 复位时序要求?
    3) 3)您的时钟是否在加电时启用? 相对于 PORRST 释放、时钟的时序是多少?
    4) 4)时钟上有多少抖动? 由于您使用的是 PLL、因此它需要能够锁定到传入的参考时钟。

    如果可能、您可以在 PLLDIS 上拉为高电平时进行测试。 这将禁用内部 PLL、并有助于隔离问题是否与时钟输入有关。

    此致、
    涉水
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我没有听到您的反馈,我认为您能够解决您的问题。 如果不是、只需在下面发布回复(如果该线程由于超时而锁定、则创建新线程)
    谢谢、
    涉水