The uKernel project using impulse

Written on . Posted in blog

(from Edo Franzi, uKos.ch) uKOS is a multi-tasking OS suitable for small embedded µController systems. I developed uKOS early in 1992 during the Khepera mobile robot project.

When I designed Khepera I had to think about “how to write code to control it”. So, this was the starting point of uKOS. The first implementation was written in CALM assembler (a LAMI-EPFL tool). I have completely rewritten uKOS in C in 1996; the used host computer was a Mac running OS9 with the MPW environment. Now Apple has switched to OSX (unix world) and I decided to reactivate and update it, and to share the ideas and the experiences cumulated during this project and use GCC environment to maintain it. All the sources will be available for a download. I consider this development as an open source project. I hope that this project will interest all the people that would like to be inspired by all the work I did. I do not ask royalties or licenses for the usage of all this project (schematics or sources). To increase the quality of this work all the feedback, suggestions, recommendations, etc. are welcome. Please, consult the download page regularly to discover all the latest documents, application notes, etc.

Event analysis

When operating with multitasking μKernel, it is sometimes necessary to display events that can occur rarely (once per day or once after millions of system events, etc). Catching these “single events” can be tricky (we can for example use a logical analyser and synchronise it on the change of a GPIO to trap the event). A better solution is to use data loggers capable to record all the system events. Impulse is a beautiful Eclipse plugin designed by the toem team. Impulse is capable to read, analyse μKOS events and display them with plenty of associated information on the screen. Analysis system - uKOSLog - eclipse - impulse Real-time system Target with μKOS Before recording a sequence of events it is necessary to have in place the following tools and to include in the program a dedicated macro for tagging the wanted events:

Print

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active