Design and development of embedded C software for Intel Quark D2000 and C1000 microcontrollers. I implemented a number of features (DMA, SPI, bootloader, memory protection drivers) as wess as an automated performance testing framework.
Version control with git, gcc compiler, Gerrit code reviews and Python integration test scripts.
Embedded Linux software on an ARM9 (PXA270) platform. Userspace USB drivers and Apple iAP protocol functionality. Linux kernel configuration. Building GNU toolchains.
Embedded Linux software on an ARM11 iMX35 platform. Device drivers development and kernel porting. Building GNU toolchains. Bare-metal programming of an STM32F1 chip (ARM Cortex M3).
Designed and implemented embedded software for a GSM base station, running on a
Motorola DSP56305.
* Full life cycle development: requirements, design (using Teamwork), coding
in C and assembler, unit testing and maintenance. Peer review following Fagan
methodology. Version control with Clearcase. Process improvement activities,
working towards SEI CMM level 4.
* Worked in the 3GPP systems and standardisation group.
* Designed and implemented a WCDMA (UMTS) air interface network simulator with
Matlab.
* Responsible for system design of location services (LCS).
* Full life-cycle development on the Texas Instruments TMS320C6203 DSP in a
baseband processing board, part of an UMTS base station. Programming in C,
using Texas Instruments Code Composer Studio and Enea OSE RTOS. Version
control with Clearcase.
* Designed and implemented UMTS features on layer one (downlink chip rate
processing, measurements, resource handling, compressed mode and multicode).
* Implemented a simulator of UMTS resources (allocation and channel consumption).
Designed and implemented real-time software for set-top boxes, programming in C++
for a MIPS RISC processor and using Green Hills Multi debugger. Version control
with Clearcase.
* Serial and modem communication drivers, V.22bis, V.23 and PAVI (French Minitel)
protocols.
* Smartcard control driver.
* Requirements and architecture design for a software package management system
and an automatic firmware update system on an embedded Linux platform.
Embedded software for a baseband chipset (Infineon Sgold2) that includes an
ARM926 core and a Teak DSP, used in a platform of GSM mobile phones.
Programming on C for an ARM926 processor and using the Lauterbach Trace32
debugger. Working close to the hardware, using logic analysers for debugging and
verification. Version control with Continuus (Telelogic).
* Responsible for writing low level drivers on areas of multimedia (interface to
a video processing chip) as well as USB and Bluetooth stack implementation.
* RF low-level software, control of a Hitachi RF ASIC.
Real-time software development for a GSM mobile phone platform, C programming,
using Nucleus RTOS. Working close to the hardware, using logic analysers for
debugging and verification. Version control with Clearcase.
* Design and development of multimedia card (MMC) protocol software.
* Development of an LCD display driver.
* Integration of audio and video codecs.
Working for the UMTS layer one development group. Programming on C for an ARM9
processor. Version control with Clearcase.
* Integration and debugging of UMTS L1 software.
* Field test support activities, automation of tests through Windows C++ scripts.
Working on the design and development of safety critical (DO-178B) embedded real
time software for an aircraft engine monitoring system.
Programming in C for a Motorola MPC565 microcontroller, following MISRA C
guidelines. Version control with Dimensions. Static analysis tools used: LDRA
Testbed, PCLint.
* Design and development of monitoring vibration software.
Integration of software on monitoring and protection computers.
Documentation and code reviews.
2011 SW engineer (freelance), Proxima Systems, Valladolid, Spain.
I designed and implemented software for an industrial monitoring system running on
an embedded Linux platform, consisting of a multi-threaded configuration handler
that interfaces to an SQLite database. The system was implemented on an ARM926
microcontroller, using C and the GNU cross-compiling tools. I also carried out
performance analysis and optimization work.
2011 SW engineer (freelance), University of Granada, Spain. I designed
and implemented an embedded linux system to be used on a remote telemetry unit,
running on a PC104 industrial board. Kernel configuration, device driver for data
acquisition, optimization and static analysis. I have used the GNU compilation
tools.
2013 Firmware engineer. LED display programming using an STM32F4 chip
(ARM Cortex M4).
Main courses taken: Circuit Theory, Solid State Physics, Electromagnetism,
Microelectronics (Bipolar and CMOS), Digital Logic, Communications Theory.
Computing courses: C programming, UNIX.
Lancaster University, UK.
Main courses taken: Modem Design, Synchronisation Techniques (lab work on
AT&T DSP32C), Networking and Multimedia Communications, Radio Propagation,
Error Control Techniques, Signal Processing in Personal and Mobile Radio
Systems.
Main project for MDSI UK, Cambridge: Design and implementation (assembler)
of a mobile radio modem (physical and data link layers) on the Analog
Devices ADSP2101, including modulation, adaptive equalisation and
BCH error control coding algorithms.
ADSP2101, ARM9, ARM11, ARM Cortex M4, NEC MIPS, Motorola MPC565, Infineon XMC4500
Design and development of embedded C software for Intel Quark D2000 and C1000 microcontrollers. I implemented a number of features (DMA, SPI, bootloader, memory protection drivers) as wess as an automated performance testing framework.
Version control with git, gcc compiler, Gerrit code reviews and Python integration test scripts.
Embedded Linux software on an ARM9 (PXA270) platform. Userspace USB drivers and Apple iAP protocol functionality. Linux kernel configuration. Building GNU toolchains.
Embedded Linux software on an ARM11 iMX35 platform. Device drivers development and kernel porting. Building GNU toolchains. Bare-metal programming of an STM32F1 chip (ARM Cortex M3).
Designed and implemented embedded software for a GSM base station, running on a
Motorola DSP56305.
* Full life cycle development: requirements, design (using Teamwork), coding
in C and assembler, unit testing and maintenance. Peer review following Fagan
methodology. Version control with Clearcase. Process improvement activities,
working towards SEI CMM level 4.
* Worked in the 3GPP systems and standardisation group.
* Designed and implemented a WCDMA (UMTS) air interface network simulator with
Matlab.
* Responsible for system design of location services (LCS).
* Full life-cycle development on the Texas Instruments TMS320C6203 DSP in a
baseband processing board, part of an UMTS base station. Programming in C,
using Texas Instruments Code Composer Studio and Enea OSE RTOS. Version
control with Clearcase.
* Designed and implemented UMTS features on layer one (downlink chip rate
processing, measurements, resource handling, compressed mode and multicode).
* Implemented a simulator of UMTS resources (allocation and channel consumption).
Designed and implemented real-time software for set-top boxes, programming in C++
for a MIPS RISC processor and using Green Hills Multi debugger. Version control
with Clearcase.
* Serial and modem communication drivers, V.22bis, V.23 and PAVI (French Minitel)
protocols.
* Smartcard control driver.
* Requirements and architecture design for a software package management system
and an automatic firmware update system on an embedded Linux platform.
Embedded software for a baseband chipset (Infineon Sgold2) that includes an
ARM926 core and a Teak DSP, used in a platform of GSM mobile phones.
Programming on C for an ARM926 processor and using the Lauterbach Trace32
debugger. Working close to the hardware, using logic analysers for debugging and
verification. Version control with Continuus (Telelogic).
* Responsible for writing low level drivers on areas of multimedia (interface to
a video processing chip) as well as USB and Bluetooth stack implementation.
* RF low-level software, control of a Hitachi RF ASIC.
Real-time software development for a GSM mobile phone platform, C programming,
using Nucleus RTOS. Working close to the hardware, using logic analysers for
debugging and verification. Version control with Clearcase.
* Design and development of multimedia card (MMC) protocol software.
* Development of an LCD display driver.
* Integration of audio and video codecs.
Working for the UMTS layer one development group. Programming on C for an ARM9
processor. Version control with Clearcase.
* Integration and debugging of UMTS L1 software.
* Field test support activities, automation of tests through Windows C++ scripts.
Working on the design and development of safety critical (DO-178B) embedded real
time software for an aircraft engine monitoring system.
Programming in C for a Motorola MPC565 microcontroller, following MISRA C
guidelines. Version control with Dimensions. Static analysis tools used: LDRA
Testbed, PCLint.
* Design and development of monitoring vibration software.
Integration of software on monitoring and protection computers.
Documentation and code reviews.
2011 SW engineer (freelance), Proxima Systems, Valladolid, Spain.
I designed and implemented software for an industrial monitoring system running on
an embedded Linux platform, consisting of a multi-threaded configuration handler
that interfaces to an SQLite database. The system was implemented on an ARM926
microcontroller, using C and the GNU cross-compiling tools. I also carried out
performance analysis and optimization work.
2011 SW engineer (freelance), University of Granada, Spain. I designed
and implemented an embedded linux system to be used on a remote telemetry unit,
running on a PC104 industrial board. Kernel configuration, device driver for data
acquisition, optimization and static analysis. I have used the GNU compilation
tools.
2013 Firmware engineer. LED display programming using an STM32F4 chip
(ARM Cortex M4).
Main courses taken: Circuit Theory, Solid State Physics, Electromagnetism,
Microelectronics (Bipolar and CMOS), Digital Logic, Communications Theory.
Computing courses: C programming, UNIX.
Lancaster University, UK.
Main courses taken: Modem Design, Synchronisation Techniques (lab work on
AT&T DSP32C), Networking and Multimedia Communications, Radio Propagation,
Error Control Techniques, Signal Processing in Personal and Mobile Radio
Systems.
Main project for MDSI UK, Cambridge: Design and implementation (assembler)
of a mobile radio modem (physical and data link layers) on the Analog
Devices ADSP2101, including modulation, adaptive equalisation and
BCH error control coding algorithms.
ADSP2101, ARM9, ARM11, ARM Cortex M4, NEC MIPS, Motorola MPC565, Infineon XMC4500
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.