My projects – an overview

I actually work on different (privat) projects. They all circle around embedded-linux, baremetal and hypervisour (https://github.com/siemens/jailhouse).

Baremetal:

– avr_sdk (https://github.com/tjohann/avr_sdk): add support for a Arduino nano v3 as base device. The Arduino nano v3 has a quite nice form factor, so it makes a perfect base edge device (small sensor devices).  I want to use this device for audio controller of my clock (https://github.com/tjohann/led_dot_matrix_clock).

– arm_cortex_sdk (https://github.com/tjohann/arm_cortex_sdk): implement fundamental parts to use it as a more powerful edge device. Therefore i try to setup a cross-toolchain and some basic librarys for two Olimex devices (https://www.olimex.com/Products/ARM/Atmel/SAM3-H256/ and https://www.olimex.com/Products/ARM/NXP/LPC-P1343/).

– core/base library for my arm_cortex_sdk (https://github.com/tjohann/sam3_p256_libboard): based on the Atmel and Olimex parts i restructure everthing to make it build and useable on linux hosts.

– the stuff i learned from the cortex-m work will guide me to jailhouse baremetal. For that i will use my A20-SDK (https://github.com/tjohann/a20_sdk). For more info take a look at the end of https://github.com/tjohann/a20_sdk/blob/master/README.md .

– as a basic for more complex topic i want to implement a mini-operation-system (https://github.com/tjohann/miblos). I read a very interesting book about the engineering of reliable embedded systems (http://www.safetty.net/publications/the-engineering-of-reliable-embedded-systems).

Embedded-Linux:

– inspired from that book i also learn more about the linux real-time sheduler and play with it (https://github.com/tjohann/time_triggert_env).

– imx233/arietta (https://github.com/tjohann/void-packages): add arietta and imx233 to void-linux

– imx233/arietta (https://github.com/tjohann/arm926_sdk): after A20_SDK_V2.0.0 of a20_sdk I will sync the arm926_sdk

– a20_sdk/arm926_sdk/a64_sdk (https://github.com/tjohann/crosstool-ng): add support for the void-linux versions to crosstool-ng

– a64_sdk (https://github.com/tjohann/a64_sdk): build the same like a20_sdk for Pine64 (https://www.pine64.com/) and other A64 base devices.

Linux:

– CAN/LIN bus infrastructure (https://github.com/tjohann/can_lin_env): at least provide an infrastructure for Baalue (Bananapi – {CAN} – Cluster see https://github.com/tjohann/a20_sdk/tree/master/pics).

– libbaalue (https://github.com/tjohann/libbaalue): this is my lib where all i have learned (realtime, CAN …) will be implemented for a more productive system. It’s something like my „embedded-Linux-libc“. Baalue and Baalued (https://github.com/tjohann/baalue and https://github.com/tjohann/baalued) will use it.

– baalue(d): both are parts of my cluster infrastructure.

– mydriver (https://github.com/tjohann/mydriver): this is the basic for I2C, SPI, GPIO functions needed for my clock, baalue or other projects.

– SDK-Builder (https://github.com/tjohann/sdk_builder): the admin tool for my *_sdk’s will be further developed after A20_SDK-V2.0.0 release (before it makes no sense). This GUI provide a complete environment to work/use all of my SDK’s.