> On 08 Jun 2015, at 22:27, Peter Maydell <peter.mayd...@linaro.org> wrote: > > On 8 June 2015 at 20:18, Liviu Ionescu <i...@livius.net> wrote: >> >> aha, in this case the problem is the two step load, not the reset itself, >> or even more accurate, it is a problem of making the reset calls in the >> proper order. > > That would also fix this problem, yes.
it did, thank you. my new reset routine looks like: static void cortexm_reset(void *opaque) { qemu_log_function_name(); CortexMState *cm_state = opaque; ARMCPU *cpu = cm_state->cpu; #if defined(CONFIG_VERBOSE) if (verbosity_level >= VERBOSITY_COMMON) { printf("Cortex-M core reset.\n"); } #endif /* Ensure the image is copied into memory before reset fetches msp & pc */ rom_reset(NULL); cpu_reset(CPU(cpu)); } I had to make rom_reset() non static in hw/core/loader.c and add the prototype at the end of hw/loader.h if you do the same in armv7m_reset() I guess the stm32f205 device will also work properly. regards, Liviu