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.

[参考译文] CCS/TM4C1294NCPDT:无法转储代码、因为代码会永久进入休眠状态

Guru**** 2620905 points

Other Parts Discussed in Thread: TM4C1294NCPDT, EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/787286/ccs-tm4c1294ncpdt-not-able-to-dump-the-code-because-its-permanently-goes-into-hibernation

器件型号:TM4C1294NCPDT
主题中讨论的其他器件: TM4C123EK-TM4C1294XL

工具/软件:Code Composer Studio

HII、

由于 GPIO 唤醒、我已经转储了代码以进入休眠模式。

但现在我无法在 TM4C1294NCPDT 中转储新代码、因为它会永久进入休眠模式、并以500微秒的速度唤醒。

请提供任何建议、以便我们可以转储新代码。

谢谢、尊重

Anamika

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

    您能否尝试使用 LM 闪存编程器执行整个闪存擦除。

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

    我已尝试 LM 闪存编程器并成功显示已擦除的闪存程序。
    但当我们尝试转储新代码而不是转储时,仍在运行旧程序。
    问题是,它永久进入休眠状态。请提出任何建议,以便我可以继续。

    谢谢、致以诚挚的谢意
    Anamika
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否尝试使用 LM Flash Programmer 来"解锁"器件? 这将强制擦除整个闪存。 它还将擦除可能包含以太网 MAC 地址的非易失性用户寄存器。 您需要能够在器件上电时将 RST-置为低电平。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bob Crosby:

    我已经尝试使用 LM 闪存编程器来解锁器件、 并且在解锁时没有遇到任何错误。 但在解锁之前、我尝试更新至 ICDI 固件、但其 显示"无法 对 ICDI 器件进行编程"。 必须在解锁之前更新固件。  请浏览下面的屏幕截图。

    谢谢和此致,

    Anamika。

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

    尊敬的 Bob Crosby:

    您可以按照我所做的以下步骤操作

    1)配置 -->快速设置(TM4C1294XL Launch Pad)

    2)在程序菜单和闪存实用程序中,我们没有做任何更改。

    3)在其它实用程序 中-->选择了 MAC 地址模式,并选择了 Fury、Dust Devil、TM4C123和 TM4C129类。

    4)最后、我单击了解锁按钮

    -用 yes 确认

    -在下一个 MsgBox 保持复位时,连接

    -单击 OK (确定)、同时仍保持 RESET (重置)

    -释放复位

    -对电路板进行下电上电(并重新启动闪存工具?)

    谢谢和此致,

    Anamika。

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

    不需要、无需更新 ICDI 固件。 您不应该收到该错误消息。 我怀疑您的 ICDI 是否仍然正常工作。 如果使用 EK-TM4C1294XL Launchpad 打开 Windows 设备管理器、将 Launchpad 的调试微型 USB 端口连接 到 PC 上的 USB 端口、是否正确安装了"Stellaris ICDI JTAG/SWD 接口"?

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

    尊敬的 Bob Crosby:

    是的,Stellaris ICDI 接口没有任何问题,它显示如下所示...

      

    但我不知道为什么使用 LM 闪存编程器擦除闪存...先生、我需要紧急帮助...您能给我任何建议吗...

    谢谢、此致、

    Anamika。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我创建了一个项目、在 EK-TM4C1294XL Launchpad 上将 TM4C1294NCPDT 置于休眠模式。 我成功使用了 LM 闪存编程器来擦除和恢复部件。 确保器件完全断电以启动、并且在器件上电时保持 RST 为低电平。 如果仔细执行该过程不会解锁和擦除器件、则除了被编程进入休眠模式之外、还会出现其他问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bob Crosby:

    SIR 、当您尝试使用以下代码、然后尝试擦除闪存后、我已经尝试过以下休眠代码。 请告诉我状态...

    #include

    #include

    #include

    #include

    #include "utils/ustdlib.h"

    #include "inc/hw_types.h"

    #include "inc/hw_memmap.h"

    #include "driverlib/sysctl.h"

    #include "driverlib/pin_map.h"

    #include "driverlib/debug.h"

    #include "driverlib/hibernate.h"

    #include "driverlib/gpio.h"

    #include "driverlib/SysTick .h"

    #ifdef 调试

    void__error__(char * pcFilename、unsigned long ulLine)

    #endif

    int main (空)

    uint32_t ui32SysClock;

    ui32SysClock = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000);

    SysCtlPeripheralEnable (SYSCTL_Periph_GPION);

    SysCtlPeripheralEnable (SYSCTL_Periph_GPIOK);

    GPIOPinTypeGPIOInput (GPIO_PORTK_base、GPIO_PIN_4);

    GPIOPadConfigSet (GPIO_PORTK_base、GPIO_PIN_4、GPIO_Strength _2mA、GPIO_PIN_TYPE_STD_WPU | GPIO_PIN_TYPE_WAKE_LOW);

    GPIOPinTypeGPIOOutput (GPIO_PORTN_BASE、GPIO_PIN_0);

    GPIOPinWrite (GPIO_PORTN_BASE、GPIO_PIN_0、GPIO_PIN_0);

    SysCtlPeripheralEnable (SYSCTL_Periph_HIBERNATE);

    HibernateEnableExpClk (ui32SysClock);

    HibernateGPIORetentionDisable()

    HibernateIntClear (HIBERNATE_INT_GPIO_WAKE | HIBERNATE_INT_PIN_WAKE);

    HibernateWakeSet (HIBERNATE_WAKE_GPIO);

    HibernateGPIORetentionEnable ();GPIOPinWrite (GPIO_PORTN_BASE、GPIO_PIN_0、0);

    HibernateRequest()

    while (1);

    谢谢、此致、

    Anamika。

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

    最后、我们使用 LM 闪存编程器完成此步骤来擦除整个闪存...
    1)"确保器件完全断电以启动、并且在器件上电时保持 RST 为低电平。"
    非常感谢您指出擦除闪存的正确步骤。

    谢谢、此致、
    Anamika。