Saturday, 11 June
Frosted Workshop
Short url:
Frosted / Free O.S. for tiny embedded devices
We are glad to present our project called FROSTED, which is an acronym of Free OS for tiny embedded devices.
A few months ago, we decided to start writing an operating system from scratch, that would run on small microcontrollers, such as ARM Cortex-M CPUs.
The status of the project now is very promising: We have a working POSIX interface to interact with the kernel, a real multi-processing environment, a toolchain to compile our applications, TCP/IP networking, a wide range of device drivers, and much, much more.
Frosted is a multi-purpose OS. Our current research is focusing on http-based distributed services (IoT platform) as well as porting interesting open source retro-games (an initial port of the shareware version of DOOM is already working).
At this moment there is hardware support in frosted for STM32F4/F7. There is also support for the LPC17xx family, albeit not properly tested yet. Frosted can also run in QEMU, so also without any hardware it is possible to develop for Frosted.
The goal of this workshop would be to introduce the audience to use the OS and port standard C application to run on it, because this does not require any specific knowledge on embedded devices or operating systems in general.
If there is enough interest from the crowd attending, we could go deeper in the kernel internals, porting strategies and device drivers. After all, system programming is still very exciting and it's not as hard as it's often depicted.
The proposed timeline would be: a short introduction on the purpose of the project (max 20 minutes), then show the various components and repository on github.
A guided toolchain installation for the attendees, then an interactive session where the attendees will be asked to either port their favorite small application to frosted, or to initiate a porting towards their preferred ARM board. While the interactive session is ongoing, introduce kernel and libc currently implemented features starting from audience's questions. The session will terminate with the project guidelines and everything required to contribute.
Pre-requisites: some knowledge of the C programming language is the only mandatory requirement. The workshop can be adapted to cover different parts and components of the project.
For joining the interactive session, the participant should bring a laptop with the essential gnu-tools to compile executables, and install the arm-frosted-eabi toolchain.
If you have an ARM board, please do bring it!
Links:
https://github.com/insane-adding-machines/frosted
https://github.com/insane-adding-machines/crosstool-ng/releases
Date & Time:
Category:
- course/workshop
Price:
- free