Hello,
I am trying to understand how Qbox works. To do so, I am testing the 'hello-qbox' example by replacing the Cortex-A53 CPU with a Cortex-M7, which I am more familiar with.
However, I am facing an issue. Accessing (read or write) the VTOR register (at address 0xE000ED08) triggers a Hard Fault interrupt.
After investigating, it appears that the transaction to this register goes to the SystemC (which is not mapped and returns a TLM error, causing the hard fault). I thought that QEMU should manage these registers. Having read the qemu code, I get the impression that the Cortex-M7 system control registers are modelled by qemu. So I don't understand why accessing these registers goes outside QEMU.
Is there something missing from the Qbox wrapper around the Cortex-M7?
Best Regards,
Benoît
Hello,
I am trying to understand how Qbox works. To do so, I am testing the 'hello-qbox' example by replacing the Cortex-A53 CPU with a Cortex-M7, which I am more familiar with.
However, I am facing an issue. Accessing (read or write) the VTOR register (at address 0xE000ED08) triggers a Hard Fault interrupt.
After investigating, it appears that the transaction to this register goes to the SystemC (which is not mapped and returns a TLM error, causing the hard fault). I thought that QEMU should manage these registers. Having read the qemu code, I get the impression that the Cortex-M7 system control registers are modelled by qemu. So I don't understand why accessing these registers goes outside QEMU.
Is there something missing from the Qbox wrapper around the Cortex-M7?
Best Regards,
Benoît