Develop and maintain embedded firmware for various microcontrollers and microprocessors within an automated hard drive test system.
Primary responsibilities will include:
C/C++ development on Linux. – Hands on coding Experience
C# development on Windows.
On-site customer support is required, which will include defining interfaces and re- hosting test programs.
Qualified applicants must have:
· Minimum ten years’ experience
· 5+ years’ experience programming in C/C++ for 8-bit and 16-bit embedded Linux for 32-bit microprocessors (PowerPC and ARM architecture).
· Experience developing high performance software. Knowledgeable of software performance profiling and high performance software techniques.
· 5+ years’ experience programming C# on Windows.
· Solid understanding of real time programming, concurrency, multi-threading.
Additional desired skills:
· Ability to read schematics and work with test equipment such as DVMs, oscilloscopes, logic analyzers.
· Background in Hard disk drive and/or test equipment industry is a plus
· Experience modifying and maintaining Linux Kernel, root file system, uBoot and cross compilation tools is a plus. Experience with TI MSP430 family of microcontrollers.
· Comfort with all of the following technologies: SPI buses, I2C buses, PID control, fixed point math, async/sync serial bus, DDR, memory, FPGA buses.
· Ability to read and understand IC datasheets and user guides.
· Experience with Client and ARM architectures
· Additional programming languages : Python, XML, Mono is a plus
· Tools: Eclipse IDE, TI Code Composer, GIT source control, Visual Studio is a plus
· Either a basic or Expert level knowledge on Firmware is mandatory.