}}}
----
= What is MutekH =
[http://www.mutekh.org/ MutekH] is a portable operating system for embedded platforms originally developed at the [http://www-soc.lip6.fr/ SoC] department of the [http://www.lip6.fr/ LIP6] Laboratory ([http://www.upmc.fr/ Université Pierre et Marie Curie] in Paris).
MutekH is a set of libraries built on top of the Hexo exo-kernel. The exo-kernel can be seen as an Hardware Abstraction Layer (HAL) used to address platform and processors specific implementations. MutekH is fully configurable to match every application needs.
[[Image(global_view.png,nolink)]]
It currently supports the following platforms:
* [wiki:Arch/Soclib Soclib] based platforms with Arm, Mips and Ppc multiprocessor support
* [wiki:Arch/IbmPc Pc platform] with x86 multiprocessor support
* [wiki:Arch/Emu Unix processes] (kernel and application run as standalone unix process)
* [wiki:Arch/Simple Simple platforms] bare CPU with hardware (i.e. microcontrollers)
A list of major contributors is available [wiki:Contributors here].
= Getting started =
The following resources are available to try MutekH easily:
* The [wiki:QuickStartUnix MutekH as Unix process quick start guide] is a step by step guide to run MutekH embedded in a GNU/Linux or !MacOs user process.
* The [wiki:BuildingExamples] page briefly explains how to build example applications.
* The [wiki:Arch/Soclib/Tutorial MutekH/SoCLib tutorial] is a step by step guide to write a simple MutekH application for a customizable Soclib multi-processor hardware simulator, intended for mixed software/hardware development.
* The [wiki:QuickStartSoclib MutekH quick start guide for SoCLib] is a step by step quide to run MutekH over a complex SoCLib hardware simulator capable of processor heterogeneity, intended for kernel software developers.
* The [https://www.soclib.fr/trac/dev/wiki/LiveCd SoCLib livecd] provides some sample platforms and applications based on older MutekH revisions.
More advanced topics are available:
* [wiki:UsingMutekH/Sam7 Using MutekH on a AT91SAM7] Arm micro-controller based platform.
= Detailed features =
Several modules are available:
* Native modules
* Standard C library (libc)
* Native Posix threads Support (libpthread)
* TPC/IP stack networking library (libnetwork)
* File system support library (libvfs) along with file system drivers (FAT 16/32, ISO9660, RamFS, NFS)
* ELF binary file format (libelf)
* [https://www.soclib.fr/trac/dev/wiki/Tools/Muteks MutekS] (libsrl), static OS for [https://www-asim.lip6.fr/trac/dsx DSX]
* [wiki:Drivers Device drivers for various peripherals]
* The following libraries have been ported:
* [http://www.lua.org/ Lua] scripting library (liblua)
* [http://www.netlib.org/fdlibm/ Fdlibm] standard math library
* [http://savannah.nongnu.org/projects/libtermui/ LibTermUI] terminal driver and getline library
* The following modules are planed:
* Unix kernel implementation library (libunix)
Some successfully ported applications:
* H264 video decoder (multiprocessor)
* MJPEG and Theora multiprocessor video decoder
* [http://en.wikipedia.org/wiki/Doom_%28video_game%29 Doom] video game with network & multiplayer support
* Various application using the [http://www.lua.org Lua] script engine
= Documentation =
Quickstart and tutorial documents:
* See Getting started section above for start guides.
* [PortingYourApp Porting your application]
* [wiki:UsingMutekH/Sam7 Using MutekH on a AT91SAM7]
* [wiki:UsingMutekH/LuaMicroShell Using the lua_microshell example]
Developers documentation:
* [http://www.mutekh.org/www/mutekh_api/ MutekH API reference manual]
* Writing [wiki:HeaderDoc header documentation] for the API reference manual.
* Using the BuildSystem
* [NewDriver Adding a driver], or [NewDriverClass adding a new driver class]
* using [FlattenedDeviceTree Flattened device trees] to describe hardware.
* Usage of IntegerTypes in MutekH
= Getting the source =
MutekH is being actively developed, no tarball releases are available yet.
Latest source code can be downloaded from the svn source tree:
{{{
svn co https://www.mutekh.org/svn/trunk/mutekh/
}}}
= Contact =
* A mailing list is available for questions, announcements... You may freely [https://www.mutekh.org/wws/subscribe/mutekh-users subscribe here].
= Developer resources =
* [http://services.ssji.net/mutekh/ Buildbot status]