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.

[参考译文] TM4C123GH6PM:加载尝试从 EEPROM 读取/写入的程序后对 TM4C123进行编程时出错

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/971372/tm4c123gh6pm-error-programming-tm4c123-after-loading-program-that-attempts-to-read-write-from-eeprom

器件型号:TM4C123GH6PM
主题中讨论的其他器件:TM4C123

您好!

在加载尝试从 EEPROM 读取数据的程序后、我在对自定义 tm4c123板进行编程时开始收到错误。

以下是错误:

Cortex_M4_0:GEL 输出:
内存映射初始化完成
Cortex_M4_0:停止目标 CPU 时出现问题:(错误-2062 @ 0x0)无法停止器件。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.2.0.1.00046)
Cortex_M4_0:初始化闪存编程时出错:目标读取0x400FE000失败
Cortex_M4_0:停止目标 CPU 时出现问题:(错误-2062 @ 0x0)无法停止器件。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.2.0.1.00046)
Cortex_M4_0:停止目标 CPU 时出现问题:(错误-2062 @ 0x0)无法停止器件。 重置设备、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电和/或尝试更可靠的 JTAG 设置(例如、较低的 TCLK)。 (仿真包9.2.0.1.00046)
Cortex_M4_0:加载程序:程序的一个或多个部分落入不可写的存储器区域。  这些区域实际上不会写入目标。  检查链接器配置和/或存储器映射。

下面是我上传的代码:

#include
#include
#include "inc/hw_memmap.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"

#include "driverlib/EEPROM.h"
#include "driverlib/flash.h"

#ifdef 调试
无效
_error__(char * pcFilename、uint32_t ui32Line)

   while (1);

#endif


int main (void){

   volatile uint32_t ui32Loop;
   volatile uint32_t result;

   SysCtlPeripheralEnable (SYSCTL_Periph_GPIOC);
   while (!SysCtlPeripheralReady (SYSCTL_Periph_GPIOC)){}

   GPIOPinTypeGPIOOutput (GPIO_PORTC_BASE、GPIO_PIN_7);

   SysCtlPeripheralEnable (SYSCTL_Periph_EEPROM0);
   while (!(SysCtlPeripheralReady (SYSCTL_Periph_EEPROM0)));

   //写入
   //uint32_t temp = 50000;
   //result = EEPROMProgram (&temp、0x00、4);

   //读取
   uint32_t temp;
   EEPROMRead (&temp、0x00、4);

   while (1){
       GPIOPinWrite (GPIO_PORTC_BASE、GPIO_PIN_7、GPIO_PIN_7);
       for (ui32Loop = 0;ui32Loop < 200000;ui32Loop +){}
       GPIOPinWrite (GPIO_PORTC_BASE、GPIO_PIN_7、0x0);
       for (ui32Loop = 0;ui32Loop < 200000;ui32Loop +){}
   }

上述程序可能会在 eepromread 被阻止、从而使 MCU 处于不可重编程状态。

我是否在下午6点的时候给我的 tm4c123ghpm 骗了我? 是否有办法解决此问题?

最好的 Regads

CAN

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

    您好!

    我将回答我自己的问题。

    我在 Windows 上使用了 LM 闪存编程器、并发出了调试端口解锁。 两次。

    这会将我的 MCU 重置为默认状态。

    最好