+46 18 660 700
Would you like to be contacted?
Quarterly Bulletin
 
Legacy challenges in embedded computing
 
 


Today’s processor platforms offer new possibilities based on functionality, high-speed interfaces, increased performance and low power operation. Engineers engaged in development of completely new products based on embedded computers enjoy freedom of choice in what to include and what not to include from the available cutting edge technology. However, the facts of life aren’t always about freedom of choice.

 
The processor platform in an existing product may have gone end-of-life and a generation change is forced upon the product. For sure new possibilities are welcome when the next generation of the product is being developed based on a new processor platform but the requirements for compatibility with existing software, hardware and equipment connected to the product is often the more important aspect and sometimes dominate the requirements completely.
 
It’s often called legacy and is a challenge including the need for adaptation to, compatibility with and considerations for the parts of the system that remain and have to be integrated and work with the new processor platform. This text is based on Hectronic’s experience from our customer’s situation and legacy requirements as well as our strategies to fulfill the requirements and to offer embedded computing products that work over product generations.


One of the more important aspects of legacy includes application software. The software is often developed based on obsolete, but widely used technology. Customers are often reluctant to redesign the software and the overall architecture of the system.


Many have testified that software development requires the more resources in comparison with hardware design in the typical development project. Sometimes a factor three is considered a rough estimate on the software versus hardware development resources needed to complete the project. Additionally the developer who wrote the software is perhaps no longer in the company and the software may not be all that well documented. It seems that the reasons for the customer’s reluctance to alter the application software are well founded.

 

Production volumes has an impact

The system may include hardware unique to the application, and proven to work and be reliable for years and years. Costs in time and money increase should that hardware be included in the scope of the development project. Thus it’s often a preferred strategy from the customer’s point of view to require of the new processor platform to be interoperable with legacy hardware, and equipment connected to the product.

 

Big companies tend to have a large product base on the market. If the new processor platform isn’t compatible with its predecessor the whole system needs to be replaced rather than the computer board only, when something brakes and needs to be replaced. Costs increase and goodwill is lost.


On the other hand, if volumes are large enough there is reason to consider a redesign of the application software and legacy hardware and perhaps cope with costs in supporting previous generation products out on the market. The benefits from choosing the very best technical and commercial solution for the product in a large enough volume will exceed mentioned costs.

 
 

The picture shows the hardware of an FM Transceiver for trains. The design strategy used is semi-custom. The blue board is Hectronics H6049 COM module in the Qseven form factor, a COTS product used in many applications. The COM module is mounted on the custom made carrier board, the bigger green bottom board.


The semi-custom strategy offers advantages in developing for legacy support. The more complicated parts of the processor platform is the COTS COM module. The carrier board is easier to develop and the place to put devices and I/O, both new ones and old ones, to meet the specification of the application in question. When replacing the processor platform and COM module it's likely to fins a reaplcement in the same form factor to mount in existing connectors of the carrier board.

 
 
Now let’s take a look at strategies on how to address legacy challenges in practice. We’ll begin with a couple of quite straight forward examples. It may be a matter of physical size of the board and placement of connectors on the new computer board to fit in an existing system.
 

Custom board replacing COTS

One of Hectronic’s customers used a 3.5 inch single board computer, SBC with FireWire connectivity among other things. The SBC was a COTS product that had gone end-of-life. A COTS 3.5 inch SBC with FireWire included didn’t exist on the market. FireWire was considered a somewhat obsolete interface and was less common, at least in new designs.


The solution to the problem, solving the legacy requirements, was a custom made SBC in the 3.5 inch format including a device for FireWire. It was decided upon since the Non-Recurring Engineering cost, NRE developing the custom board was much lower than the cost for redesigning the complete system.


A marine customer of Hectronic’s had based a control computer on a semi-custom design with a readymade COM module mounted on a carrier board. The carrier board was custom made to fit application requirements. On end-of-life of the processor platform a COM module replacement was needed. Legacy requirements in this case were that new processor platform and COM module should work with the existing application software and the existing custom made carrier board.

 

Allocating resources by adapting BIOS

A COM module is a standard product used in numerous applications. There are therefore no possibilities to adapt the COM module hardware to meet specific requirements in one single application. X86-based systems most often use configuration and initialization defined in BIOS to allocate resources such as memory, I/O, and interrupts during the start-up phase.


In this case interrupts, for example used by the CAN controllers and serial ports, needed to be identically allocated using the new COM module compared to the previous one. Hectronic adapted the BIOS to allocate the existing interrupts according to specification making adjustments to the carrier board or application software unnecessary. The new COM module with the adapted BIOS was thereby also possible to use as a spare part replacing COM modules based on the prior processor platform.   

Yet another customer benefited from low level programming in BIOS when solving legacy related problems. The application in question used a PCMCIA adapter board in the PC/104 form factor. PC/104 is a form factor with a possibility to stack boards on top of each other to make up hardware with the relevant functionality and connectivity.


The PCMCIA adapter board with two PC card slots needed a replacement, as in many cases, without the need to adjust the application software. Hectronic developed the new board based on components available on the market. It worked according to the requirements except for one thing. The order of the two slots where changed and the onboard controller was statically configured allowing no changes by BIOS.

 

Low-level programming for manipulations in runtime

X86 processors can be manipulated in the so-called System Management Mode. A similar mode may have a different name depending on processor manufacturer. The functionality is similar. It’s a mode used for initialization by BIOS on system start-up, but can also be used for operations in runtime involving for instance access to resources in the processor platform and system. The neatness of System Management Mode is that it enables alternative addressing even though hardware is statically configured as in this case.


A System Management Interrupt, SMI with high priority brings the execution of the OS and application to a halt. The conditions for the SMI interrupts are defined in the chipset. In this case the condition for SMI was when the application software requested access to the index register in the controller on the PCMCIA adapter board. Code in BIOS was executed upon SMI and adjusted data in the index register to swap the order of the slots and thereby introduce interoperability between the controller and the application software.
 

System Management mode in fact offers numerous possibilities to adjust the low level functionality in the system to fulfill for instance legacy requirements. SMI is defined in BIOS with conditions and code to execute on a low-level in the system hardware to alter for instance addressing, data and access to processor platform functionality for interoperability with legacy components and software. Operations are performed in runtime, in the background, and can even be hidden to be kept unnoticed by the application software and OS.

 

Recreating the ISA bus

A disadvantage with this strategy is the high priority of the SMI. It’s higher than highly prioritized interrupts in the application. This and the relatively long period of time necessary for the transition to System Management Mode and back make the consequences for real-time critical applications difficult to predict. Debugging is also more difficult since some systems may require the operations to be performed in the background with low visibility during debugging.

The legacy challenges Hectronic works with often involve the ISA bus. Customers sometimes use devices, boards and equipment accessible through ISA bus only. It’s a bus standard that actually was obsolete more than ten years ago. It’s still used for legacy reasons, but more and more difficulties are experienced when creating ISA bus access using for instance bridge devices.
 
 
The board to the left is Hectronics OCC for asynchronous/synchronous serial communication. It was used connected to the computer board to the right and communicated using the ISA bus. The two boards were developed by Hectronic in the 1990’ies. Still many of our customers need ISA bus support in new processor platforms to access legacy devices and functionality in their existing products.
 
 

Some fifteen years ago when the ISA bus was widely used it took up 62 pins on the chipset. The bus speed was and is 8 MHz and 16 bit data is used. One of the reasons to abandon the ISA bus was among other things the many pins occupied and the introduction of buses like PCI and later PCI Express that were considered, and are, in many cases more efficient bus standards.


The LPC bus, or Low Pin Count bus, was introduced and served among other things as the bus to access legacy devices in new systems. The LPC bus is a serial bus as opposed to the old parallel ISA bus. The bus speed is 33 MHz and 8 bit data is used. The LPC bus is found in many X86 processor platforms of today and are often used for legacy orientated interfaces such as serial ports and GPIO, interfaces not always found in contemporary processor platforms.

 

Limitations in memory mapping

Additionally full access to ISA based devices may require not only full 16 bit ISA bus support but also memory mapping which offers freedom in allocating addresses to resources. Customers using legacy I/O devices requiring memory mapping according to the existing application software may run into problems. Memory mapping of I/O devices has had a tendency to be limited in today’s new processor platforms. In some cases parts of the memory space is statically mapped in the platform and in worst case is in conflict with application requirements of I/O memory mapping to use legacy devices.


When it comes to ISA legacy support conclusion is that a thorough investigation of the processor platforms available to choose from and their respective resources and the detailed requirements of the application is a necessity. The result of the investigation is basis for the decision on what processor platform to use and how to use it for fulfillment of the requirements.

 

LPC to ISA or PCI to ISA bridges are used to recreate the ISA bus but the functionality of that ISA bus cannot always be used to access legacy devices. 16 bit ISA bus is a necessity to some and 8 bit is enough to others. LPC to ISA bridges may or may not be able to be turned into the full 16 bit ISA bus depending on the processor platform. PCI to ISA bridges always offer the possibility for 16 bit ISA, but then again a question is if the design can admit PCI to be partially used for creating an ISA bus.

 

Advantages with the semi-custom strategy

It’s worth mentioning, when discussing legacy aspects, that the use of the semi custom strategy with widely used COM modules in standardized form factors such as Qseven and COM Express is often advantageous compared to using standard form factor COTS motherboards.

 

When the COM modules goes end-of-life there is big chance to find a replacement in a similar form factor with similar pin-outs ready to be mounted in the connectors on the carrier board. Redesign will be limited to BIOS adaptations. The carrier board will be subject to normal life cycle managment such as replacing components that have gone end-of-life.

 

The standard form factor motherboard may well offer next generation replacements that fit the existing system in terms of size and hole pattern but it's less likely that a version with matching I/O interface,similarly placed connectors and additional devices is available. The mismatch probably leads to the need for a complete system redesign.

 

The semi-custom strategy using a ready-made COM module including the key parts of the processor platform such as chipset and CPU definitely has the possibility to simplify development to meet legacy requirements. The more complicated part of the platform is found on the verified COTS COM module. The COM module is mounted on the carrier board which is less complicated, custom made and the part of the hardware where to place for instance interfaces, new ones and old ones, required by the specification.


Strategies and decisions in development of embedded systems involve compromises. New processor platforms will have to be integrated in existing systems since end-of-life is just a matter of time. All existing application software and hardware cannot always be replaced along with the processor platform. It doesn’t make sense since a lot of resources are invested in that product legacy. Perhaps we will see a trend towards stricter planning to avoid future legacy related problems even in development of completely new products when cutting edge technology tempts developers with fantastic possibilities and a true freedom of choice.

 

Market segments

Meeting requirements from industry sectors.
 
Learn more

Technologies

Promoting a deeper understanding of technical possibilities at hand.
 
Learn more

Case studies

Development and production for industrial customers.
 
Learn more

Bits & Pieces bulletin

Technical articles, inspiring case studies product news and updates. B&P is distributed quarterly to registered users.
 

Subscribe

Enter your e-mail address and click subscribe.
 
 

Products

Technologies
 
Find us on
 
 
Hectronic AB | Phone: +46 18 660 700 | E-mail: info@hectronic.se | Sitemap | Cookies
© 2017 Hectronic