Other Parts Discussed in Thread: EK-TM4C123GXL, TM4C1294NCPDT, SEGGER
Tool/software: Code Composer Studio
Hello again,
Now I'm with another EK-TM4C1294XL :D and hopefully this one will last longer.
Anyway, I'm facing a problem, this problem specifically:
CORTEX_M4_0: GEL Output:
Memory Map Initialization Complete
CORTEX_M4_0: Trouble Reading Memory Block at 0x400fe000 on Page 0 of Length 0x4: Debug Port error occurred.
CORTEX_M4_0: Error initializing flash programming: Target failed to read 0x400FE000
CORTEX_M4_0: Loader: One or more sections of your program falls into a memory region that is not writable. These regions will not actually be written to the target. Check your linker configuration and/or memory map.
CORTEX_M4_0: Trouble Writing Register PC: Target is not halted or failed to halt after step.
CORTEX_M4_0: Can't Run Target CPU: Target is not halted or failed to halt after step.
CORTEX_M4_0: Trouble Halting Target CPU
This occurs when I use those functions:
inline void InitWatchdog(void) { ROM_SysCtlPeripheralDisable(SYSCTL_PERIPH_WDOG0); ROM_SysCtlPeripheralDisable(SYSCTL_PERIPH_WDOG1); ROM_SysCtlPeripheralReset(SYSCTL_PERIPH_WDOG0); ROM_SysCtlPeripheralReset(SYSCTL_PERIPH_WDOG1); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_WDOG0); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_WDOG1); while(!ROM_SysCtlPeripheralReady(SYSCTL_PERIPH_WDOG0) || !ROM_SysCtlPeripheralReady(SYSCTL_PERIPH_WDOG1)); ROM_WatchdogReloadSet(WATCHDOG0_BASE, g_SysClock*0.1); ROM_WatchdogReloadSet(WATCHDOG1_BASE, FREQ_PIOSC*0.5); ROM_WatchdogResetEnable(WATCHDOG0_BASE); ROM_WatchdogResetEnable(WATCHDOG1_BASE); ROM_SysCtlResetBehaviorSet(SYSCTL_ONRST_WDOG0_SYS); ROM_SysCtlResetBehaviorSet(SYSCTL_ONRST_WDOG1_SYS); ROM_IntDisable(INT_WATCHDOG); ROM_IntPendClear(INT_WATCHDOG); ROM_WatchdogIntClear(WATCHDOG0_BASE); ROM_WatchdogIntClear(WATCHDOG1_BASE); ROM_IntPrioritySet(INT_WATCHDOG, 0x00); ROM_WatchdogIntEnable(WATCHDOG0_BASE); ROM_WatchdogIntEnable(WATCHDOG1_BASE); ROM_IntEnable(INT_WATCHDOG); ROM_WatchdogEnable(WATCHDOG0_BASE); ROM_WatchdogEnable(WATCHDOG1_BASE); while(!ROM_WatchdogRunning(WATCHDOG0_BASE) || !ROM_WatchdogRunning(WATCHDOG1_BASE)); ROM_WatchdogLock(WATCHDOG0_BASE); ROM_WatchdogLock(WATCHDOG1_BASE); while(!ROM_WatchdogLockState(WATCHDOG0_BASE) || !ROM_WatchdogLockState(WATCHDOG1_BASE)); } void WatchdogIntHandler(void) { ROM_WatchdogIntClear(WATCHDOG0_BASE); ROM_WatchdogIntClear(WATCHDOG1_BASE); }
On my other Tiva (EK-TM4C123GXL) this code works just fine. Why is that happening?