MB

Matthias Brugger

available

Last update: 12.07.2018

Linux Kernel Engineer

Graduation: Diplom-Informatiker (FH) - University of applied science
Hourly-/Daily rates: show
Languages: German (Native or Bilingual) | English (Full Professional) | Spanish (Full Professional)

Skills

Summary:
- Software development with extensive experience in embedded systems.
- Embedded Linux expert, experience in Linux kernel development, knowledge of boot loader
- Experience in porting Android to a new hardware platform.
- Experience with board-bring-up of micro controller based systems. - Experience in building FPGA firmware using VHDL. Programming languages: Expert - C Advanced - C++, VHDL Basic - Python, Java, Lua, Bash Embedded Linux – Expert Building BSP with Buildroot and Yoctoh. Kernel/Device Driver development. Several patches mainlined in kernel.org Userspace programming, with pthreads, sockets, mutex, fifos, shared memory, signals. Embedded Android – Expert: Porting Android 4.0 to a new hardware platform. Presentation of the outcomes at Embedded Linux Conference Europe (ELCE) 2012. 32-Bit Processors: ARM (OMAP2) - Advanced Development and maintenance of an embedded Linux system. Fixing and develop Linux kernel functionality. Mainlining patches to kernel.org. (SPI, I2C, RS232, USB, MMC, Ethernet, video-timing, power management, device drivers) Atmel32 - Advanced Development and maintenance of an embedded Linux system. Fixing and develop Linux kernel functionality. Mainlining patches to kernel.org. Implementation of device driver for inertial sensors. (SPI, I2C, device drivers) PowerPC - Basics Development of an device driver for a peripheral developed in VHDL on a System-On-Chip. (OPB, PLB, network subsystem) TI-DSP(TMS230) - Basics Development of a data transfer between DSP and a FPGA. (External Memory Interface, interrupts) 8-Bit Processors: AT90USB - Expert Development and maintenance of a driver library for different external components and bus systems. (I2C, SPI, 1-wire, RS232, timer, PWM, etc) MSP430 - Basics Evaluation of the processor for a portable transmitter device. Development of a automatic plant watering system as a hobby project. FPGAs: Virtex 2pro & Virtex 4FX - Advanced Development and maintenance of a VHDL framework. Spartan 3 - Advanced Porting a VHDL Framework from a Virtex to a Spartan 3. Implementation of a data transfer channel between a FPGA and a DSP. (constraints, code generator) Operating system programming: Linux - Advanced Several years of experience in programing kernel- and user-space. Android - Advanced Porting Android ICS to a new hardware platform (kernel and user-space). Windows - Basics Programming Tools: Experte - git, svn Advanced - hudson, mantis, trac Basic - doxygen, unit-tests

Project history

Period: 05/2012 – 12/2012
Client: ISEE 2007

Porting Android 4.0 to a new hardware platform. Adaption and development of kernel- and users-pace. Presentation of the out-comes at Embedded Linux Conference Europe (ELCE) 2012.
Embedded Linux kernel development for different boards, adding new functionality.
(Ethernet, Power Management, MMC, Video Display, Voltage Regulator, USB, Touch Screen)
Publishing several commits to official mainline Linux kernel tree.
Support for customers via email and IRC.
(Linux Kernel, Android, git, ARM)



Period: 12/2010 – 04/2012
Client: Barcelona Supercomputing Center (BSC)

Implementation of a system to get better disk I/O in a virtual machine. Evaluation of different virtualisation technologies and their mechanisms to access a disk image.
Development of a new access mechanism under KVM/Qemu. Adaptation of the Linux kernel and Qemu. Evaluation of the new mechanism. Presentation of the outcomes at KVM Forum 2012.
(KVM/Qemu, Linux Kernel, I/O scheduling, git, fio, blktrace, iostat)



Period: 10/2009 – 11/2010
Client: Fraunhofer Institute for Integrated Circuits (IIS)

Embedded Linux:
Responsible for the embedded Linux distribution, based on a AVR32 board. Development of different device driver in kernel- and user-space (I2C, SPI, RS-232, RFID, inertial sensors).
Adaptation of the boot loader. Design, implementation and maintenance of the Board Support Package (BSP) using Buildroot. Bug detection and reporting to the Buildroot user community.
(Linux Kernel, Embedded Linux, Buildroot)

FPGA:
Adding new logic to an existing VHDL framework for Xilinx Virtex 4FX and Virtex 2Pro.
Porting a VHDL framework from a Virtex 4 FPGA to a new board, based on a Spartan3A-DSP chip.
Implementation of a data transfer channel between the FPGA and a DSP micro controller.
(Virtex 4FX, Virtex 2Pro, VHDL, CoreGen, Xilinx Toolchain for synthesis, ModelSim)

Micro controller:
Programing of a digital signal processor (DSP) from Texas Instruments (TMS320 family).
Implementation of a receiving mechanism.
(CodeComposer Studio, EMI)

OO programming:
Adding new data types to a C++ Framework. Evaluation and improvement of a C++ library for the transmission of positioning data. Extension of the GUI to show the sensor values.
(C++, UML, Qt)



Period: 04/2009 – 09/2009
Client: Fraunhofer Institute for Integrated Circuits (IIS)

Design and implementation of a framework to configure and supervise analog-digital converter of an FPGA board. Creation of a communication channel for remote-updates between an embedded Linux based on a FPGA and a micro controller.
(embedded Linux, VHDL, Atmel AT90, Xilinx Toolchain, Xilinx EDK, Lua)

Tunnel the network connection between two FPGA based RTAI systems.
(RTAI, VHDL)



Period: 10/2008 – 03/2009
Client: Fraunhofer Institute for Integrated Circuits (IIS)

Design and implementation of a PowerPC peripheral in VHDL as well as the appropriate Linux device driver software to tunnel a network connection via Xilinx RocketIO.
(Linux kernel- and user-space, C, VHDL, Virtex 4FX, Virtex 2Pro, Xilinx Toolchain, Xilinx EDK)



Period: 04/2008 – 09/2008
Client: Fraunhofer Institute for Integrated Circuits (IIS)

Board-bring-up of a controller circuit board for an FPGA system. Design of a human-machine-interfaces. Implementation of a communication channel between FPGA and micro controller. Implementation of a control loop for the fan speed. Identifying hardware bugs.
(C, Atmel AT90, PWM, I2C-Master)



Period: 10/2007 – 03/2008
Client: Fraunhofer Institute for Integrated Circuits (IIS)

Implementation of a monitoring system, based on an Atmel AT90USB to supervise a beam forming antenna. Implementation of different device drivers (I2C, RS232). Implementation and documentation of the interface to an external device. Creation of different alarm modes and design of an alarm protocol.
Evaluation of a MSP403 micro controller for a mobile transmitter station.
(C, Atmel AT90, MSP430, I2C, RS232)



Period: 02/2006 – 07/2006
Client: Fraunhofer Institute for Integrated Circuits (IIS)

Enhancement of a framework to find the optimal FIR filter coefficients, using a genetic algorithm. Implementation of C++ templates. Development of a XML schema for the configuration of the framework. Development of a Qt based GUI to create the XML file.
(C++ Templates, Qt, XML, UML)



Period: 10/2005 – 01/2006
Client: Econtec GmbH

Evaluation of different Content Management Systems. Development of the corporate web page with Joomla!.
(Joomla!, Zope/Plone)

Local Availability

Only available in these countries: Spain
Only remote or Barcelona based.
Profileimage by Matthias Brugger Linux Kernel Engineer from LHospitaletdeLlobregat Linux Kernel Engineer
Register