Operating System Support for SOPC Design
Chapter 18 is new to the fourth edition and introduces students to a Linux based Real-Time Operating System (RTOS). A tutorial shows how the μClinux OS can be ported to the DE2 and DE1 FPGA boards.
Many electronic devices that contain a processor now require complex software that needs support for multitasking, synchronization of tasks, a wide range of I/O devices, scheduling and buffering of I/O operations, memory management, graphics displays, file systems, and/or networking. Developing custom code (like was done in Chapter 16) that can provide all of these services is an expensive and time consuming task. For example, one recent cell phone design contained over five million lines of code. Few projects will have the time and funding needed to develop all of this code entirely on their own. In cases such as this, it makes economic sense to use an existing operating system. An operating system (OS) can provide a wide array of features and services including those listed above. Software developers are more productive when an operating system is present since they can work at a higher level of abstraction by using the operating system’s Application Programming Interface (API) calls to access the services provided by the OS.
KeywordsDevice Driver Operating System Support Kernel Image Memory Management Unit Hardware Abstraction Layer
Unable to display preview. Download preview PDF.
- Embedded Linux System Design and Development by P. Raghavan, Amol Lad, and Sriram Neelakandan, 2005.Google Scholar
- Language Survey data is from the 2006 annual embedded market survey conducted by EETimes and Embedded Systems Design Magazine (www.embedded.com). Articles published throughout the year discuss the results of the annual survey and examine the implications and trends found in the data.Google Scholar
- The Total Cost of Development study is available at www.embedded-forecast.com. This study surveyed several embedded product development projects to compare costs when using Open Source versus a Commercial OS.Google Scholar
- OS Survey data is from the 2006 annual embedded market survey conducted by EETimes and Embedded Systems Design Magazine (www.embedded.com).Google Scholar
- Based on the definition and timing that was adopted by the Open, Modular, Architecture Control (OMAC) user group: A hard real-time system is a system that would fail if its timing requirements were not met; a soft real-time system can tolerate significant variations in the delivery of operating system services like interrupts, timers, and schedulingGoogle Scholar
- Included with the Nios II Embedded Design Suite, but licensed separately by Micrium.Google Scholar
- OSEK/VDX compliant. OSEK/VDX is an open standard of the automotive industry.Google Scholar
- More eCos information and examples can be found in Programming Embedded Systems, Second Edition With C and GNU Development Tools by Michael Barr and Anthony Massa.Google Scholar
- The internal architecture of μC/OS-II is described in “μC/OS-II, The Real-Time Kernel” by Jean J. Labrosse.Google Scholar