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.

[参考译文] MSP430FR2433:在 FR2433上调试 LPM4.5

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1125544/msp430fr2433-debugging-lpm4-5-on-fr2433

器件型号:MSP430FR2433

您好!

我正在尝试通过使用 IAR 7+和 USB-IF 仿真器以及 Spy-Bi-Wire 来调试进入/退出 LPM4.5的汇编代码。

我在 slau138as (表2-1)上看到、FR2433没有 LPMx.5调试支持(即使 调试器选项包含复选框"启用 ULP/LPMx.5调试")、因此、根据 slaa424 (第2章)、我假设我必须通过选择"运行时释放 JTAG"并使"目标运行"选项进入 LPM4.5 (对于 IAR)。 然后、为了从 LPM4.5唤醒(并行 2.3)、当我使用 I/O 端口作为中断源时、我必须在应用程序代码中包含一个软件调试陷阱、例如:

;用于 LPM4.5的软件陷阱
lpm5_wait
bit.w #0x0080,&pain ;--只要执行就会在这里停止
jz lpm5_wait;输入为低电平
;这可用于同步调试器
;并在 LPM4.5之后从此处继续调试

我的问题如下:

1) 1)此过程是否正确以及唯一可用于调试 LPM4.5的过程?

2)不幸的是、当进入 LPM4.5时、即使我通过'run'命令执行(而不是单步执行)、调试器也会失去控制并强制复位。 有什么可能出错的想法吗?

3) Sla424 (第3章)也是指包含源代码的演示、展示了如何使用此调试技术进入和退出 LPM4.5。 我没有找到这样的演示代码。 您能告诉我在哪里找到它(可能是汇编代码、而不是 c 代码)吗?

非常感谢。

Mauro

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

    您好、Mauro、

    我也找不到源代码。 该理论仅用于判断器 件是否通过检查 FRAM 器件中也存在的 SYSRSTIV 中的值从 LPMx.5唤醒。 并将器件保持在 while 环路中、以重新构建与 PC 的连接。 有关操作 ENTER/EXIT LPMx.5的更多详细信息、您也可以参阅用户指南 SLAU445的1.4.3节

    您还可以在 https://dev.ti.com/tirex/explore/node?node=AJfpTD2Guk5hY1MLy3Wl6w__IOGqZri__LATEST 上参考演示代码 

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

    您好、Gary、

    感谢您的回复。 我进行了一些进一步调查,发现:

    -就在进入 LPM4.5之前、我必须使用'BIS #GIE+CPUOFF+OSCOFF+SCG0+SCG1、SR'而不是'BIS #CPUOFF+OSCOFF+SCG0+SCG1、SR'来清除(我认为)可能阻止进入 LPM4.5的任何不需要的挂起中断。

    因此、具有 IAR 7+的 MSP-FET430UIF 完全支持在 FR2433上调试 LPM4.5、而无需使用任何代码陷阱或对应用程序代码进行其他修改(slau138中的表2-1是否应该更新-如果在 IAR 中没有针对 FR2433的 LPMx.5调试支持-是否应该更新?)

    -从 LPM4.5进入/退出(我使用来自 I/O 端口 P2的中断将其唤醒)工作正常、无需任何等待循环(我只是按照建议测试 SYSRSTIV)、请参阅随附的图片。

    此致、

    Mauro

    Debug LPM4.5 on FR2433