MPS2 AN521 has the wrong number of MPU region defined
Host environment
- Operating system: any
- OS/kernel version: any
- Architecture: any
- QEMU flavor: qemu-system-arm
- QEMU version: 7.0.0
- QEMU command line:
qemu-system-arm -machine mps2-an521 -chardev stdio,id=con,mux=on -serial chardev:con -kernel ./build/zephyr/zephyr.elf
Emulated/Virtualized environment
- Operating system: Zephyr
- OS/kernel version: git
- Architecture: Arm
Description of problem
The AN521 is integrating SSE-200 on the MPS2+ FPGA prototyping board.
The current implementation in qemu behaves as though there are 16MPU regions when it really only has 8, as describes as MPU_NS
and MPU_S
core configuration parameters in the SSE-200's Techincal Reference Manual.
Steps to reproduce
- Prepare your Zephyr dev environment
- fix
boards/arm/mps2_an521/mps2_an521.dts
to setarm,num-mpu-regions
to the appropriate value of 8. - build a Zephyr test such as
west build -p -b mps2_an521 -T tests/kernel/interrupt/arch.interrupt
- run
qemu-system-arm -machine mps2-an521 -chardev stdio,id=con,mux=on -serial chardev:con -kernel ./build/zephyr/zephyr.elf
Additional information
With matching MPU region number in QEMU and Zephyr's DTS, the application shows the test suite's progress & outcome. If there's a mismatch, the application will enter a fault and not display the expected traces.