Welcome to the Open Kernel Labs Community Wiki

OKL4 is a high-performance system software platform, built using cutting-edge microkernel technology. It provides developers with the technologies and tools needed to build and deploy innovative, high-performance and secure intelligent devices.

It's absolutely free to join the Open Kernel Labs Community and immediately start using our software products as a basis for developing next-generation embedded-systems software. The content you'll find on this Wiki will serve you well in getting started with OKL4 by providing you with a repository of useful reference material and general know-how.

Please contact OK Labs at info@ok-labs.com or call +1 312.924.1073 if you have any questions about OKL4 or are looking to get a jumpstart on a project. Additionally, you can always join the Developer Mailing list for answers to your OKL4 questions.

OKL4 3.0 Release

OKL4 3.0 is the latest release of OKL4 (October, 2008). To view other releases, check out PreviousReleases. For more information on the naming of versions, see VersioningPolicy.

Release Item

Brief Description

Binary

Source

Tutorial

Reference

OKL4

Base release of OKL4

okl4_3.0.tar.gz

SDK Tutorial: Hello World
SDK Tutorial: Linux
OKL4 Intro GeekTV Tutorials

Reference Manual
Elfweaver reference manual
OKL4 Library reference manual
SoC Developers manual
Overview of the OKL4 3.0 API
Advanced OS training series (8 parts) with Gernot Heiser

OKL4 on ARM926

Necessary support for OKL4 on ARM926 hardware platforms

sdk-arm926ejs-3.0.tar.gz

ARM926ejs

OKL4 on ARM1136

Necessary support for OKL4 on ARM1136 hardware platforms

sdk-arm1136js-3.0.tar.gz

ARM1136js

OKL4 on ARM920

Necessary support for OKL4 on ARM920 hardware platforms

sdk-arm920t-3.0.tar.gz

OKL4 on XScale

Necessary support for OKL4 on XScale hardware platforms

sdk-xscale-3.0.tar.gz

XScale

Linux Patches

Patches to para-virtualize Linux on OKL4

poky-linux.patch.gz
oklinux_2.6.24.9-patch.4.tar.gz

Linux

EABI Toolchain

Cross-compiled Linux ARM EABI toolchain

arm-linux-gnueabi-4.2.4.tar.gz

Skyeye Simulator

An integrated simulation environment in Linux to emulate various ARM-based and other processors. This is particularly provided for Gumstix platform

Skyeye 1.2.1n

Skyeye

QEMU Simulator

An integrated simulation environment in Linux to emulate a wide variety of processors including x86, PowerPC, XScale, etc. Particularly, provided to support KZM and Versatile platforms

Qemu 0.9.1

QEMU

Contribute

Get Answers

The OKL4 technical FAQ. Go>

Get Known

Your projects, thoughts, and ideas: how are you using OKL4? Go>

Get Help / Find Answers / Get Involved

If you'd like to know more or interact with like-minded people like yourself, please do join the ever growing horde of OKL4 developers active on our MailingList.

The Wiki is open and free for any community member to contribute to - we welcome you to share your experiences, projects, tips and hints as you work with OKL4. Head on over to Registration and grab a username and password.

Documentation

Simulators

To test images built using the SDK or the complete source tarball you can use one of the following simulators depending on which platform you are using.

Skyeye (for Gumstix)

A binary version of the Skyeye 1.2.1n simulator available to simulate the Gumstix platform. You will need the skyeye.conf file as well. To simulate use:

# skyeye -c skyeye.conf -e image.sim

Qemu (for KZM and Versatile)

A source copy of the Qemu 0.9.1 simulator is available to simulate the KZM and Versatile platforms. It is built with the following commands:

# ./configure --target-list=arm-softmmu --disable-sdl --static --disable-gfx-check
# make

Using the SDK

To use the SDK extract the tarball and set the OKL4_SDK_ROOT environment variable to point to that directory:

# tar zxf sdk-xscale.tar.gz
# export OKL4_SDK_ROOT=/path/to/sdk

From your project directory or from one of the examples you can use make to build your project. There are two variables that can be passed to make, KERNEL and BUILD. KERNEL can be set to micro or nano and defines which kernel the project object files are linked against. BUILD can be set to benchmark, debug, debug_no_console, production or tracebuffers and defines the level of debug support provided in the kernel. For example, to build and then link the hello world example against the nano kernel compiled for benchmarking you would use:

# cd $OKL4_SDK_ROOT/okl4/xscale/examples/singlecell
# make KERNEL=nano BUILD=benchmark

The image that is built can be found in the build directory which depends on the KERNEL and BUILD variables:

build.<KERNEL>-<BUILD>/images/image.elf

XScale

The XScale SDK supports the Gumstix platform. To simulate an image with Skyeye use:

# skyeye -c skyeye.conf -e build.<KERNEL>-<BUILD>/images/image.elf

ARM1136js

The ARM1136js SDK supports the KZM platform. To simulate an image linked against the OKL4 Microkernel use:

# qemu-system-arm -M kzm -nographic -start-addr 0x86800000 -kernel build.micro-<BUILD>/images/image.elf

whereas for an image linked against the OKL4 Nano use:

# qemu-system-arm -M kzm -nographic -kernel build.nano-<BUILD>/images/image.elf

ARM926ejs

The ARM926ejs SDK supports the Versatile platform. To simulate an image linked against the micro kernel use:

# qemu-system-arm -M versatileab -start-addr 0x07900000 -nographic -kernel build.micro-<BUILD>/images/image.elf

whereas for an image linked against the nano kernel use:

# qemu-system-arm -M versatileab -start-addr 0x04100000 -nographic -kernel build.nano-<BUILD>/images/image.elf

FrontPage (last edited 2010-01-08 15:15:22 by RamSarabu)