Device Driver development with Test Utilities on Linux, Windows, Real-time and Bare-metal OSes
PCIe, USB, SPI, I2C and CAN bus interfaces
FPGA Software Support
Hard/Soft Real-Time Software Development
VXWorks, FreeRTOS or equivalent / Embedded Linux
Interrupt/Event-driven design methodologies
Custom bootloaders
C++/C/Assembler programming.
Multiple architectures – X86_64, ARM, Motorola, MIPS, VLIW, as well as cost-sensitive microcontrollers
Cross-platform development.
Embedded Applications, Middleware & Library development
Sockets API (TCP/UDP). Multithreading. XML/JSON
High Performance Computing including using Kernel-bypass techniques
Multi-core parallel data processing using Intel Intrinsics/SIMD
Time-synchronised high-speed network packet processing
Use of NUMA-centric design methodologies
Platform Performance Profiling and Analysis with Improvement
Codebase Analysis and Modernisation
Fault Finding
Feature implementation to existing codebase with performance impact assessment
Legacy Product Adoption
System Engineering
Computer-On-Module(CoM)/System-On-Module(SoM) solution proposal and implementation
Linux DTB/DTO implementations
Electronic Design with PCB layout and prototyping