This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How does Simulation of STM32F407 blinky example work?

Hello,

to compare the floating point performance (Cortex M3 sw-floation point/Cortex M4 hw-floating point) I would like to simulate a Cortex M3 and a Cortex M4. I found a Blinky example in arm\boards\st\stm32F4-discovery\blinky that use a ST Controller with Cortex M4 which I want to modify for my tests. But when I hit the Debug-Button (debugger set to "use simulator" and the project set to STM32F407 RAM) I get the ***error 65: access violation at 0x0000000C: no 'read' permission.

Why does the simulator try to read from that address although ROM is mapped to RAM-Address 0x20000000?
What should I do to simulate the example?

Regards
Gunnar

  • Where does the processor expect to find the interrupt vector table?

  • Hi,
    I think the processor would expect the reset vecor at address 0x0.
    But when I use the dbg_ram.ini to change the SP, PC and Vector table

    FUNC void Setup (void) { SP = _RDWORD(0x20000000); // Setup Stack Pointer PC = _RDWORD(0x20000004); // Setup Program Counter _WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register
    }

    I get *** error 65: access violation at 0xFFFFFFF4 : no 'write' permission

    Does it matter for SIMULATOR if code is executed from simulated flash or ram?

    However, I solved my problem by choosing a different target, a Texas LM4F232 that also is based on a Cortex M4. I was able to step through a sample program and was able to monitor the time needed for floating point operations.

    But I am still curious what changes are needed to be able to SIMULATE the given example for STM32F407....I can imagine it is required to tell the simulator about memory regions.

    Thanks,
    Gunnar

  • i have the same issue, can anyone help us?