-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Description
Currently, there is no emulated testing platform available for the floating point-capable ARM M-profile devices (i.e. Cortex-M4 and above).
Since the QEMU 5.0.0 will add the netduinoplus2 machine, which emulates the STM32F405 SoC that embeds the Cortex-M4F core, once released and integrated into the Zephyr SDK, add the qemu_cortex_m4 to serve as the primary testing platform for the ARMv7-M devices.
In addition, once we add qemu_cortex_m4, remove qemu_cortex_m3 as qemu_cortex_m4 is a superset of it and mps2_an385 already serves as the default testing platform for the Cortex-M3 devices.
Instead of removing Keep qemu_cortex_m3, make it the default MPU/FPU-less testing platform and make qemu_cortex_m4 the default MPU+FPU(+DSP) testing platform. In addition, phase out mps2_an385 as the default testing platform, since both MPU-less and MPU-ful test cases will be covered by qemu_cortex_m3 and qemu_cortex_m4, respectively.mps2_an385 as the default testing platform since its test coverage is better compared to qemu_cortex_m3 (305 vs 261, respectively).
Notes:
netduinoplus2board definition:
https://github.com/qemu/qemu/blob/971b2a1e5b1a8cc8f597ac5d7016908f9fa880de/hw/arm/netduinoplus2.c- QEMU Cortex-M4 emulation supports both VFPv4 and DSP instructions:
https://github.com/qemu/qemu/blob/971b2a1e5b1a8cc8f597ac5d7016908f9fa880de/target/arm/cpu.c#L2107-L2108