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