Embedded Programming

Embedded Programming Services

Embedded programming is one of the most technically challenging software development disciplines and critical when creating software for devices, handhelds, and non-PC based products. Embedded programmers must be capable of reading schematics, have a detailed understanding of hardware, be able to write device drivers, implement networking protocols such as TCP/IP and UDP, be able to manage system resources, and typically develop these solutions in a resource-constrained environment.

Project Examples

Membrane Testing Transducer Board

Blackfin Imaging System with Omnivision Sensor

Analog Front End Board to CCD Sensors

Lighting Control Boards for LEDs

Multi-Axis Motion Control Systems

Why Resolution for Embedded Development

Resolution has successfully completed a wide variety projects where embedded development was critical for the delivery of the final product. In particular, we have completed embedded development projects for Class II and Class III medical devices, life science analyzers, devices for pharmaceutical markets, and devices for the industrial automation market.

We work with real-time operating systems such as FreeRTOS, Windows CE, and different versions of Linux. Additionally, we have experience with a wide range of processors, ARMS, PICs, and FPGAs. Our team understands how to develop embedded systems that need to communicate at high speeds to 3rd party systems and how to architect and implement real-time embedded solutions.

Our Expertise

I2C Drivers

SPIE Drivers

ADC Development

DAC Drivers

TCP/IP and UDP

Cortex Processors

CPLD’s

ARM Processors

RS232 and RS485

DSPs

Interface Design

Integration to Hardware

Upgrade Capabilities

Data Storage

Image Processing

Embedded Systems

FPGA / DSP

Algorithms

C#, C/C++ .Net

Protocols

Diagnostics

QT

Our Testing Philosophy

We have intentionally added this section to point out that all good software development starts and ends with a solid testing and verification strategy. Resolution strongly believes that simple protocol testing is insufficient to guarantee that no critical or major bugs exist in the product at the time of launch. Resolution takes great pride in developing a 4 prong strategy for testing all of our software prior to release to our customers.

Protocol Testing — Protocol testing is used to confirm that all of the software requirements listed in the SRS and PRD have been implemented and function as expected.

Automation Testing — Resolution implements automation test scripts whereever possible to quickly regression test incremental builds and use this form of testing as a “smoke test” prior to formal verification

Ad-Hoc testing — Resolution spends a significant amount of time having our test engineers try to “break” the software to ensure that the numerous unplanned paths that a customer may take do not cause the software to crash or act in an unexpected manner.

Resolution offers all of our clients an online bug tracking system, so that our clients can track the progress of our testing and enter bugs as they find them as well.