Example Custom Engineering Engagements
The majority of custom engineering service projects that we undertake are based around the eCos real-time operating system and associated technologies. For more general embedded system consultancy see further below for examples.
Example eCosPro Custom Engineering Engagements
eCosPro engagements can vary greatly in their size, challenge and scope. Small projects are typically relatively straightforward, such as just providing a particular device driver for a client's hardware. Another common example is to create an eCosPro Developer's Kit for a specific development or evaluation board that a client intends to base their own hardware design on. Larger projects generally include the development of key new functionality for the client, as well as any associated board porting, device driver and feature enablement required.
The following is a small selection of example engagements from the many that we have undertaken over the last decade.
|Leading Audio Electronics Company
|Professional Audio Equipment
|Cortex-M based Networked Radio Microphone System
The client has used eCosPro in a number of their professional audio products.
In this particular project, one of the major new features required was the development
of USB RNDIS networking class support - enabling fuss-free driverless connectivity of
the product to host PCs.
The development of the Statement of Work for this engagement was preceded by a week of on-site consultancy by an eCosCentric engineer. This enabled the specification and design of the major work packages to be fully developed in conjunction with the client's in-house software team.
Initial RNDIS development was undertaken using the semiconductor supplier's standard evaluation board for the target MCU. The client had already purchased copies of the eCosPro Developer's Kit for this board, allowing their initial application development to proceed in parallel with the development of the new features. A modified version of the evaluation board was later supplied that incorporated key additional hardware functionality that would be part of the final product design. This enabled us to develop the bootloader and in-field firmware update support specific to the client's product. The resulting new features and extended hardware support were integrated into a custom eCosPro Developer's Kit delivered to the client.
|High-speed Production Line Product Labelling
|Leading Global Supplier of Coding and Marking Equipment
|Cortex-A based common platform
The client is developing a new core controller architecture to serve as a customizable platform for future products.
Our role was to develop the system software for the platform, including a number of new platform-specific
enhancements. The new platform provides a consistent development environment for new products
and a straightforward upgrade path for the client's existing eCos-based products.
The development was split into two main stages. The first stage provided a general eCosPro port to the selected CPU model's reference platform, and a later extension added host USB support for live insertion of CDC ACM class serial converter devices. A major aspect of the core porting work was the creation of the eCos Cortex-A5 architectural support, as well as the SoC model series and development platform-specific porting aspects. The first stage engagement also included the provision of a secure encrypted bootloader system. This helps ensure system security, protection of software IP and provides a secure system update path. The port also included the development and porting of a wide range of device drivers covering general I/O, storage, USB and networking functionality.
|Traction Control System
|Major Utility and Transport Infrastructure Company
|Custom hardware based on PowerPC
The client required an eCosPro port for their custom hardware platform with a range of standard features,
selected device drivers, and development of some key new functionality.
The new features included I2C slave mode support (typically eCosPro ports support master I2C mode only) and
an implementation of the Network Time Protocol - NTPv3.
The NTP implementation had to support a range of detailed functional and precision timing accuracy requirements.
The engagement was managed as a phased series of releases to the customer. An initial eCosPro port was developed for the semiconductor vendor's standard development board for the chosen CPU model. The port included all the standard eCos features and device drivers as specified by the customer. This ensured that all architectural and CPU model specific aspects of the eCos port for the project were already covered before the customer's hardware was available. This was then followed by a range of incremental releases that added the new features and culminated in the port to the customer's own custom hardware when that became available. This approach allowed the system software, application software and hardware development teams to work in parallel, helping to compress the overall project delivery timescale.
|Trimble Automotive Telematics
|World Leading Satellite Positioning Technology Company
|ARM-based customisable vehicle asset tracking system
The client had successfully deployed eCos in their own end-user products for various satellite positioning
applications, and based on this experience chose eCosPro as the basis for their general purpose vehicle
tracking platform. The platform was designed to be customisable by third parties, enabling them to deliver
a wide range of vertical market vehicle/asset tracking products.
eCosPro was ported to the client's hardware platform along with a range of device drivers including CAN bus, ADC converters, digital I/O and SD cards. The networking stack was extended to incorporate support for the PPP protocol over GPRS modems. Drivers were developed for GPRS modems, covering a number of alternative manufacturers and models. Additionally, custom power management features were added to maximise the platform's runtime given its typical battery powered environment.
The resulting eCosPro Developer's Kit for the platform was licensed to the client to distribute to their third-party customers and to be extended with their own positioning/asset tracking market specific middleware. eCosCentric provided technical support and custom development services to their third-party customers, supporting deeper customisation of the platform where required.
Although the majority of our engineering engagements are centred around the eCos RTOS, we do from time-to-time take on general embedded systems consultancy and development projects. These engagements are more typically open-ended and handled using a time and materials (T&M) based approach, rather than on a fixed price basis.
|Remote Server Management
|Leading Server Manufacturer
The client is a leading global provider of high-density compute servers and high-capacity storage
systems. In this relatively rare case, we designed, developed and delivered the complete software
solution for the system; including not just the system software, but also the application
Designed as a low cost optional component for servers, the client's hardware was designed around the Dallas TINI SoC - a simple microcontroller with an integrated Java runtime system. It provided independent serial and Ethernet connections, and SMBus-based access to the server internals.
The product is a "lights-out" remote server management system. Feature highlights include remote console access, power and temperature monitoring, control over the server PSU and reset line, and front panel status LCD and LEDs. Its independent network connection can be accessed via Telnet, HTTP and SNMP protocols. The "lights-out" nature of the product ensures that the server can be accessed, rebooted or powered-up - even in situations where the system has locked up, or is powered down.
|Engine Management System
|Linux-based industrial PC control platform, PROFIBUS industrial sensors and actuators
This is an engine management system that is truly "steam-punk" in its conception!
The client is a startup company with the goal of creating a completely off-grid renewable energy
storage and power delivery system.
The system consists of solar collectors that harnesses the sun's radiation to generate steam, large insulated pressure tanks for energy storage, and a steam engine for energy conversion. The steam engine can be fed from the storage tanks or directly from the solar collectors. This allows the system to produce stable power during both sunny and cloudy spells, as well as at night. The engine's mechanical energy can be applied directly to a physical task such as powering water pumps, or via a generator, to produce electricity.
The design of the steam engine is completely focused on efficiency. It consists of a range of piston bore sizes and operating pressures that cascade down from high to low pressure cylinders, feeding the exhaust from one into the inlet of the next. Individual stages can be left off depending on available pressure or energy generation requirements.
Working closely with the client, our role was to take their specifications and create the prototype control and monitoring software to manage the overall system.