Software development for an embedded target can take on many different flavors. First, there is native code that resides directly on the hardware platform and is very specific and non-portable. In this case our designers can easily develop and use low-level driver routines for all processor families (ARM, PIC) as well as create complex software solutions that can be based upon state machine control capable of handling and reacting to in-coming asynchronous events.
Second, application software can be developed in conjunction with an
operating system such as an embedded Linux any real-time operation if this is
required. Embedded software typically accesses hardware for monitoring and
control purposes. Our engineers not only can develop efficient software to use
operating system resources but also have an intimate understanding of the ARM or PIC processor families and all underlying peripheral hardware interfaces.
Third, there may be instances where an operating system must be ported onto a hardware platform or third-party software must be ported onto an operating system. We can easily accommodate such work as long as it fits into the areas of expertise as outlined below.

Creating a complete software/hardware solution is what we do best. Application code can be developed and tested with hardware drivers and the actual hardware. The same process is used in developing the software component of the entire product solution.
In developing the software component for a new hardware target, we will also take on the difficult task of integrating this onto the new target. Our hardware and software designers work closely together, optimizing the effort spent in hardware/software integration.

From your specification or product description we will estimate the effort required in completing your project. You will receive a Statement of Work outlining deliverables, an acceptance criteria to mark the completion of the work schedule and cost.
>> Fill out online form <<

Languages/techniques
C
State machine development
Low level hardware drivers
Operating Systems
Embedded Linux
Real-time operating systems (VxWorks, Nucleus etc.)
WinCE
Protocol Stack Porting and Use
TCP/IP
protocols
Application development
Monitoring
Control
Driver Development
Ethernet, serial port, USB, LCD, touch
screen, SD/MMC/SMC card interface, IDE
Hardware initialization/boot loaders
Monitoring, control
Wireless communication
Tool Chain Setup
GNU tools (compilers, assemblers, linkers)
Integrated development environments for
ARM
Processor Families
ARM7, ARM9
PIC18x, 16x, 14x, 12x and rfPIC/rfRXD