PICMG 3.5 | RapidIO Interface |
The platforms described in this section are the most relevant in any discussion of embedded Linux platforms today. Especially with ATCA, the industry is increasingly moving toward commercial off-the-shelf (COTS) technology. Both ATCA and Linux play increasingly important roles in this industry trend.
3.4. Chapter Summary
• Many stand-alone processors are supported under Linux. The most widely supported of these are IA32/IA64 and PowerPC architectures. These stand-alone processors are used as building blocks to build very- high-performance computing engines. We presented several examples from Intel, IBM, and Freescale.
• Integrated processors, or systems on chip (SOCs), dominate the embedded Linux landscape. Many vendors and several popular architectures are used in embedded Linux designs. Several of the most popular are presented in this chapter by architecture and manufacturer.
• An increasingly popular trend is to move away from proprietary hardware and software platforms, toward commercial off-the-shelf (COTS) solutions. Two popular platforms in widespread use in embedded Linux systems: cPCI and ATCA.
3.4.1. Suggestions For Additional Reading
PowerPC 32-bit architecture reference manual:
Freescale Semiconductor, Inc.
www.freescale.com/files/product/doc/MPCFPE32B.pdf
PowerPC 64-bit architecture reference:
International Business Machines, Inc.
Short summary of PowerPC architecture:
Brett Olsson, Processor Architect, IBM Corp.
Anthony Marsala, Software Engineer, IBM Corp.
www-128.ibm.com/developerworks/linux/library/l-powarch/
Intel XScale summary page
www.intel.com/design/intelxscale/
Chapter 4. The Linux KernelA Different Perspective
If you want to learn about kernel internals, many good books are available on kernel design and operation. Several are presented in Section 4.5.1, 'Suggestions for Additional Reading,' in this and other chapters throughout the book. However, very little has been written about how the kernel is organized and structured from a project perspective. What if you're looking for the right place to add some custom support for your new embedded project? How do you know which files are important for your architecture?
At first glance, it might seem an almost impossible task to understand the Linux kernel and how to configure it for a specific platform or application. In a recent Linux kernel snapshot, the Linux kernel source tree consists of more than 20,000 files that contain more than six million linesand that's just the beginning. You still need tools, a root file system, and many Linux applications to make a usable system.
This chapter introduces the Linux kernel and covers how the kernel is organized and how the source tree is structured. We then examine the components that make up the kernel image and discuss the kernel source tree layout. Following this, we present the details of the kernel build system and the files that drive the kernel configuration and build system. This chapter concludes by examining what is required for a complete embedded Linux system.
4.1. Background
Linus Torvalds wrote the original version of Linux while he was a student at the University of Helsinki in Finland. His work began in 1991. In August of that year, Linus posted this now-famous announcement on comp.os.minix:
From: [email protected] (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <[email protected]>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and professional
like gnu) for 386(486) AT clones. This has been brewing since april, and is
starting to get ready. I'd like any feedback on things people like/dislike in
minix, as my OS resembles it somewhat(same physical layout of the file-system
(due to practical reasons)among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This