mem_ap_read_u32(swjdp, 0x20000000, &savedram);
mem_ap_write_u32(swjdp, 0x20000000, opcode);
cortexm3_dap_write_coreregister_u32(swjdp, 0x20000000, 15);
cortex_m3_single_step_core(target);
armv7m->core_cache->reg_list[15].dirty = armv7m->core_cache->reg_list[15].valid;
retvalue = mem_ap_write_atomic_u32(swjdp, 0x20000000, savedram);
mem_ap_read_u32(swjdp, 0x20000000, &savedram);
mem_ap_write_u32(swjdp, 0x20000000, opcode);
cortexm3_dap_write_coreregister_u32(swjdp, 0x20000000, 15);
cortex_m3_single_step_core(target);
armv7m->core_cache->reg_list[15].dirty = armv7m->core_cache->reg_list[15].valid;
retvalue = mem_ap_write_atomic_u32(swjdp, 0x20000000, savedram);