From Microcontroller to Mainframe
In the past 20 years I worked on systems as small as 8bit microcontrollers with no Operating System to systems as large as IBM Z-Series Mainframes. I wrote software for small FreeRTOS, Zephyr and RTEMS based controllers with only a few LED’s as “output” to GUI programs for Windows and Linux.
Since low level programming has some special demands on the programming language the main languages I use, and consider myself a professional in, are C, C++, and when it can’t be avoided assembly. Other languages like Python, bash-scripting, lua, cmake, are also part of my daily work.
Due to personal interest and experience there are some areas where I can offer additional knowledge that can speedup things compared to software developers that are new in those areas.
Linux Embedded Distribution Development
For systems that can’t use an average Linux distribution like Debian, Fedora, etc. because of for example storage size restrains I develop highly customizable distributions based on PtxDist or Yocto that can be as small as 8 MByte.
Low Level Driver Development
When there is a need for a small specialized Linux distribution it most of the times means there is some custom hardware in use. For that hardware I can develop low level device drivers for the Linux kernel and bootloaders like U-Boot and Barebox.
RTOS and Baremetal
Lighting Control for stage and theater is an rather specialized area with several unique technologies. Having knowledge of technologies like for example DMX, RDM, Art-Net and ACN, makes it a lot easier for me to get up to speed in software development projects that deal with those technologies.
Public Information Systems
Like with Lighting Control systems, Public Information Systems in the public transportation area deal with specialized protocols and demands. Working for clients in doing public transportation information systems and for clients doing public transportation power converters I collected extensive knowledge in that area.