OKL4 Microkernel 3.0 Release
OKL4 Microkernel 3.0 is the latest release available for download in full source form. To view other releases, check out Previous Releases. For more information on the naming of versions, see Versioning Policy
Release Item |
Brief Description |
Binary |
Source |
Tutorial |
Reference |
OKL4 |
Base release of OKL4 |
|
SDK Tutorial: Hello World |
Reference Manual |
|
OKL4 on ARM926 |
Necessary support for OKL4 on ARM926 hardware platforms |
|
|
||
OKL4 on ARM1136 |
Necessary support for OKL4 on ARM1136 hardware platforms |
|
|
||
OKL4 on ARM920 |
Necessary support for OKL4 on ARM920 hardware platforms |
|
|
|
|
OKL4 on XScale |
Necessary support for OKL4 on XScale hardware platforms |
|
|
||
Linux Patches |
Patches to para-virtualize Linux on OKL4 |
|
|
||
EABI Toolchain |
Cross-compiled Linux ARM EABI toolchain |
|
|
|
|
Skyeye Simulator |
An integrated simulation environment in Linux to emulate various ARM-based and other processors. This is particularly provided for Gumstix platform |
|
|
||
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 |
|
|
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