RISC OS Open

RISC OS  OPEN


A fast and easily customised operating system for devices using ARM processor cores.

Documentation: Cortex-A8 port status

General status

At present the port consists of three components:

  • A HAL targetting TI’s OMAP3530 system-on-chip.
  • A modified version of the RISC OS kernel containing support for (all) Cortex-A8 CPU cores
  • Additional custom driver modules, e.g. MUSBDriver, OMAPVideo

One optional component adds some value:

  • A disc image including the boot sequence and some applications (not specific to the port, but useful in getting a viable system running)

At present the port is known to be functional on the following hardware devices:

In the future, the port is likely to support at least the following additional devices:

In the past, the port has also been used via the QEMU emulator (QEMU-OMAP3, Maemo QEMU). However it is not currently known whether QEMU’s OMAP3 emulation has reached the state where running RISC OS from within QEMU is again feasible.

There is also scope for expanding the port to support other SoC’s made by other manufacturers, e.g. the Freescale i.MX515

Current status

This table lists the current state of all planned tasks.

Task Description/Status Assigned to
OMAP3 HAL - Basic implementation Implementation is complete and functional under qemu/beagleboard. However further work may still be needed. Jeffrey Lee, Uwe Kall
OMAP video driver Functional, but further work is needed to iron out bugs and improve capabilities. See linked page
OMAP3 HAL - Audio driver Audio output functional on beagleboard. May need minor changes for other board types. Audio input needs a proper API before the driver can be extended to support it. Jeffrey Lee
OMAP3 HAL - SD/MMC support Uwe Kall
OMAP3 HAL - GPMC support Support for devices connected to the GPMC controller (extra RAM, onboard NAND, etc.)
OMAP3 HAL - CMOS/NVRAM support/emulation In progress? Alan Williams?
OMAP3 HAL - Keyboard scan at boot Unassigned
OMAP3 HAL - DMA support In progress Jeffrey Lee
OMAP3 HAL - RTC support Complete!
Kernel – Basic support Kernel is functional on both qemu and beagleboard. But further work may still be needed. Jeffrey Lee
Kernel – ARM feature registers Extend OS_PlatformFeatures (or similar) to allow reading of ARM feature registers. Provide suitable feature register values for old ARMs that don’t implement the feature registers.
VFPU support Code to initialise VFPU. APCS amendments and compiler/OS support to allow its use by programs. New FPEmulator to provide VFPU emulation for old ARMs. Possibility of special FPEmulator that emulates old FPU instructions by executing new VFPU instructions instead of using software emulation.
ARM v6/v7 instruction set support Assembler support in BASIC, objasm and cc, and disassembler support in decaof and Debugger. Contact ROOL if you’re interested in working on objasm, cc or decaof under NDA, these are closed-source. ROOL, other
Pandora support Support for Pandora-specific hardware – keyboard, touchscreen, RTC, etc.
Touch Book support Support for TouchBook-specific hardware – keyboard, touchscreen, accelerometer, etc.
i.MX515 support New HAL and associated code to support Freescale’s i.MX515 Cortex-A8 implementation. A developer’s program for i.MX515 is available.
Kernel – New video mode support Support for video modes with new pixel formats (R5G5B5, A4R4G4B4, etc.) See here
USB - OHCI Will require an OMAP3530 board that supports OHCI (beagleboard uses an external tranceiver that only supports EHCI). In theory, only need to add HAL code to configure USB host for OHCI and to report its presence to RISC OS.
USB - EHCI Complete; believed to be fully functional.
USB - OTG In progress. Both host & peripheral mode are now functional. Lots of work still to be done; see the MUSBDriver page for more details. Jeffrey Lee
Disc image We believe this is mostly finished. Please get in touch if you find anything missing/broken. ROOL
   .