I do not know why this is necessary, but it fixes strange effects
(step/resume cause a NMI after reset) on LM3S6918 -- Michael Schwingen git-svn-id: svn://svn.berlios.de/openocd/trunk@1008 b42882b7-edfa-0310-969c-e2dbd0fdcd60__archive__
parent
e5408ce0b6
commit
c90c48b00b
|
@ -376,7 +376,7 @@ int cortex_m3_debug_entry(target_t *target)
|
||||||
int cortex_m3_poll(target_t *target)
|
int cortex_m3_poll(target_t *target)
|
||||||
{
|
{
|
||||||
int retval;
|
int retval;
|
||||||
u32 prev_target_state = target->state;
|
enum target_state prev_target_state = target->state;
|
||||||
|
|
||||||
/* get pointers to arch-specific information */
|
/* get pointers to arch-specific information */
|
||||||
armv7m_common_t *armv7m = target->arch_info;
|
armv7m_common_t *armv7m = target->arch_info;
|
||||||
|
@ -762,6 +762,13 @@ int cortex_m3_assert_reset(target_t *target)
|
||||||
/* this causes the luminary device to reset using the watchdog */
|
/* this causes the luminary device to reset using the watchdog */
|
||||||
ahbap_write_system_atomic_u32(swjdp, NVIC_AIRCR, AIRCR_VECTKEY | AIRCR_SYSRESETREQ );
|
ahbap_write_system_atomic_u32(swjdp, NVIC_AIRCR, AIRCR_VECTKEY | AIRCR_SYSRESETREQ );
|
||||||
LOG_DEBUG("Using Luminary Reset: SYSRESETREQ");
|
LOG_DEBUG("Using Luminary Reset: SYSRESETREQ");
|
||||||
|
|
||||||
|
{
|
||||||
|
/* I do not know why this is necessary, but it fixes strange effects
|
||||||
|
(step/resume cause a NMI after reset) on LM3S6918 -- Michael Schwingen */
|
||||||
|
u32 tmp;
|
||||||
|
ahbap_read_system_atomic_u32(swjdp, NVIC_AIRCR, &tmp );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
target->state = TARGET_RESET;
|
target->state = TARGET_RESET;
|
||||||
|
|
Loading…
Reference in New Issue