HelenOS on Neo FreeRunner
Information pertaining to porting HelenOS to Neo FreeRunner smartphone (alias GTA02) which was developed by the Openmoko project.
Supported in HelenOS 0.4.3 and later. The system boots to the command line. All kernel tests pass.
Kernel can write to serial debug console and to the display. Userspace fb server can use the display.
You can use the serial debug console as a keyboard. You can also use the touchscreen to move the mouse pointer around (not in 0.4.3 due to bug). That is all you can do, because there is nothing to control with the mouse (the resolution is low so no VC buttons are displayed).
We would like to provide a virtual keyboard so that the serial console would not be necessary. Also, it would be nice if it were possible to control some applications using the touch screen (currently there is no way for an application to receive mouse events).
FreeRunner has an OHCI USB host controller, the USB port be switched to host mode with some platform-specific knobs. (You need to use a USB gender-changer, however).
The OHCI USB driver from the USB project, once integrated, should be relatively easy to get running on GTA02. Possible hurdle is interrupt handling (I/O access in pseudocode).
By default the USB port runs in device mode. It would be nice to implement a device-side USB stack in HelenOS. This is a bigger project, however.
- Openmoko Wiki
- Openmoko Git source code repos (U-Boot, Qi, etc.)
- Neo FreeRunner Hardware
- Samsung S3C2442B Processor Datasheet
- Samsung S3C2440A Processor user manual Very similar to the S3C2442B
- FreeRunner memory map
- Smedia Glamo 3362 (Video chip and microSD reader)
- The memory system is configured to little endian mode
- The core is an ARM920T (ARMv4T architecture)
- FriendlyARM Mini 2440 SBC (Single-Board Computer) with 400 MHz Samsung S3C2440 ARM9 processor web