Embedded System Software Development

Tier One has deep expertise and broad skills in developing software for embedded electronics, including

   Firmware
   Device Drivers
   Embedded Operating Systems
   Embedded Network Communications Protocols
   Middleware
   Application Software
   Embedded Host Services

Our expert skills include virtually all types of tools and platforms. We have deep experience in many software languages, including a variety of assembly languages, C, C++, C#, SQL, XML, HTML, ASP, JavaScript, Visual Basic, CGI, PERL, Python, and Delphi. In addition to firmware development for "deep" embedded systems, we also have very strong skills in custom operating system environments and commercial operating system products. These include Linux, Windows CE, Windows XP Embedded, and virtually all off-the-shelf versions of Windows.

In combination, these software development skills provide Tier One the capability to provide outstanding service at virtually any level of software development within a project. Because of this wide skill set, Tier One usually develops most of the software for our embedded projects, including application code in several cases. This has included applications running on embedded electronics, host software running on connected PCs, host software running on back end servers, or a combination of these deliverables.

Because our experience includes in-depth development work at all layers of software, we are able to quickly develop, debug, and optimize complex systems much more quickly than teams with more specialized skills and experience. Simpler systems including fewer software layers and dependencies are just that much faster.

Firmware

Tier One is very comfortable with firmware at the lowest level. Our skills allow us to develop the appropriate solutions, such as "assembly from scratch" or C/C++ firmware linked to a device-specific RTOS. Our debugging skills enable us to rapidly develop code for boards even when no emulators or other tools are available.

Back to Top

Device Drivers

We have extensive experience in the device driver field. We have written dozens of Windows device drivers for XP, 2000, 98, and CE covering a wide variety of subsystems. Our projects have made us very familiar with the NT/XP and CE driver models and the Plug and Play Subsystem. Driver projects have even included some development done "from scratch" starting with only datasheets - these include a 2D SVGA driver for CE and an Ethernet 10/100 driver for both CE and XP.

Back to Top

Embedded Operating Systems

Tier One has done operating system development in both the embedded space and using Microsoft Windows products. Our embedded efforts include use of off-the-shelf embedded OS products such as Tasking, TI DSP BIOS, and a variety of other RTOSs. When necessary, we have also written custom operating systems for 8 and 16 bit CPUs. These systems include very simple task loops, non-preemptive threaded systems, and fully preemptive operating systems with rich memory and synchronization APIs.

Within the Windows arena, Tier One has experience developing images for more than a dozen unique Windows CE and Windows XP Embedded vertical market devices. In the early releases of Windows CE, some of these images included cutting-edge features for non-PC architecture devices, including MPEG2 video decoding, USB host, and 100BaseT Ethernet. In addition to creating operating system images, Tier One also has developed many of the required device drivers and performed very difficult debug on Microsoft binaries prior to the availability of Microsoft source code.

Back to Top

Embedded Network Communication Protocols

Tier One has demonstrated the highest skill level in implementing network protocols for embedded devices. Our successful project list includes implementations of Ethernet on 8, 16, and 32 bit processors, many times with little existing code to use as a starting point. We have ported TCP/IP to several platforms starting from scratch or by utilizing open source or commercial code bases. In one case we deployed a system with TCP over PPP on a commercial wireless network with all required software coming from Tier One.

Our skills range far beyond Ethernet and Wireless Ethernet networks. We have also implemented an enormous array of serial based protocols for devices such as gas pumps, motor controllers, keypads, touch screens, magnetic stripe readers, custom high-rate data acquisition, and medical telemetry. Our deep networking experience makes our implementations much more robust than those of the average development team.

Back to Top

Middleware

Our software teams also have very good competence in middleware software pieces. These are usually C, C++, COM, or .NET class sets of APIs that abstract the hardware from application software, allowing easy access by "high-level" programmers. These middleware pieces also provide extra services in many cases, such as network setup, device management, and graphical abstractions.

Back to Top

Application Software

Embedded systems often include end user application software. Tier One frequently develops new applications or performs debug and porting work on existing ones during the course of a project. These have included stand-alone graphical touch screen user interfaces, simple text menu and push button interfaces, and web-based user interfaces for host systems.

These applications have been used in medical diagnostic systems, industrial automation, remote telemetry devices, RF-based scoreboard systems, consumer products, retail automation, and gaming equipment. Development platforms for these applications have ranged from assembler and C++ to HTML and .NET developer environments.

Back to Top

Embedded Host Services

Until recently, embedded system installations operated primarily in isolation from one another and did not generally connect to remote systems. New designs, however, more commonly include connectivity to sophisticated host systems. These connections are made via proprietary embedded networks, the Internet, 3G cellular networks, and bridges between them. The host systems may monitor their embedded client computers in real-time, conduct occasional sessions for configuration and management, or connect only vary rarely for initial diagnostic and test purposes.

Tier One has cutting edge experience in this new class of wide-area embedded system network applications. We have developed turn-key systems that have included every technological component from the embedded client device through the end-user web application interface. These large scale projects include remote embedded system electronics, the associated client-side firmware and applications, network bridging middleware, large scale SQL databases, and high-traffic host systems to enable use and management of the network and its nodes.

To produce deterministic results for manufacturers and end-users, these systems require complete mastery of numerous network systems, protocols, and run-time device behaviors. Internet hosts designed for maximum uptime and scalability must also be integrated into these systems. Tier One has all of the required experience to succeed in this new market, and a track record of having done so.

Back to Top