See the Embedded Masterclass in Cambridge on October 5, 2011 >>
All of us, well perhaps only some of us older types, can remember BBC Micro, Camputers Lynx and the PC AT from IBM. All had a BIOS (Basic Input Output System), which in the good old days started the PC and then ran a DOS, which was a console-based Disk Operating System.
We have moved on a long way from those times, now that fully graphical intuitive Operating Systems are the norm and most computer users hardly see BIOS at all these days. If they do, it may be a graphical splash screen, before Windows or Linux or MAC OS or some other OS loads.
Where did BIOS disappear to then? It’s actually still there in every computer that’s in existence, except that it’s typically hidden by a blank screen or a fancy start-up logo.BIOS is a key ingredient in all computer systems, performing low level tests, such as system component detection, memory test, peripheral detection and verification of CMOS settings, which are normally backed up by battery. We have all seen the effects of a missing keyboard or a CMOS battery that has failed. BIOS forces the user to enter into the BIOS settings screen to rectify the issues.
BIOS also has a problem when initially testing the system. If BIOS finds a critical error before the display is available then BIOS beeps a number of times, depending on the error. If a display is available BIOS will display a POST (Power On Self Test) code if a minor fault is detected.
For embedded computers BIOS is crucial, especially the customisation of BIOS, as many embedded projects require a custom BIOS setup to deal with different Flat Panel Display resolutions, custom splash screens, backup BIOS settings, even BIOS that may not be able to use a battery solution, due to extreme environmental conditions.
Companies such as congatec AG offer BIOS features that have been specifically designed for custom embedded solutions using ETX, XTX, COM Express and Qseven form factors.
An example is BIOS that can read ROM BIOS default when the system cannot run with a battery in extreme environmental conditions. This solution also allows custom BIOS defaults to be defined for each platform.
A key requisite for a common BIOS design requires a custom board controller that provides key hardware features abstracting these features away from the typical X86 design.
The CGOS API provides a common software layer that ensures compatibility across all hardware form factors.
An OS utility is provided to the end customer running a specific OS; the utility allows setting of key BIOS parameters, using CGOS API, providing real power to embedded system designers.
Key features of the CGOS API are providing access to watchdog features, hardware serial number data, boot counter and running time, as well as allowing the end user to change parameters without having to send the board back to the manufacturer for BIOS default settings.
The next generation BIOS is already around the corner. Called Unified Extensible Firmware Interface, the key goals of UEFI are faster booting times, access to much larger hard disks, processor architecture independence and a modular design.
UEFI should provide some much needed enhancements over the traditional BIOS, so look out for some really great technology features and much faster booting times!
As always, I look forward to your comments and questions. And if you’d like to discuss this and other embedded issues with me in person, l will be at The Embedded Masterclass in Cambridge on October 5, 2011 and would be more than happy to meet up.