主题中讨论的其他器件: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