RTEMS on QEMU emulated RPi and RPi2
Pavel Pisa
ppisa4lists at pikron.com
Thu May 26 20:29:35 UTC 2016
Hello all,
it seems that Raspberry Pi QEMU emulation cannot work
with current RTEMS BSP because it uses BCM2835_TIMER_
as the main clock source, see
rtems/c/src/lib/libbsp/arm/raspberrypi/clock/clockdrv.c
which is mapped to
#define RPI_PERIPHERAL_BASE 0x3F000000
#define BCM2835_TIMER_BASE (RPI_PERIPHERAL_BASE + 0xB400)
but when I invoke "info mtree" in QEMU monitor console,
it reports
address-space: memory
0000000000000000-ffffffffffffffff (prio 0, RW): system
0000000000000000-000000003fffffff (prio 0, RW): ram
000000003f000000-000000003fffffff (prio 1, RW): bcm2835-peripherals
000000003f007000-000000003f007fff (prio 0, RW): bcm2835-dma
000000003f00b200-000000003f00b3ff (prio 0, RW): bcm2835-ic
000000003f00b800-000000003f00bbff (prio 0, RW): bcm2835-mbox
000000003f201000-000000003f201fff (prio 0, RW): pl011
000000003f215000-000000003f2150ff (prio 0, RW): bcm2835-aux
000000003f300000-000000003f3000ff (prio 0, RW): sdhci
000000003fe05000-000000003fe050ff (prio 0, RW): bcm2835-dma-chan15
0000000040000000-00000000400000ff (prio 0, RW): bcm2836-control
which means that area 000000003f00b400-000000003f00b7ff is unmapped.
Linux and Windows use local Cortex-A CPU timers most probably on RPi2,
so actual RTEMS BSP is not compatible with QEMU RPi2 support.
It is not so hared to extend RPi2 QEMU support but it requires
time.
Best wishes,
Pavel
More information about the devel
mailing list