Presentation is loading. Please wait.

Presentation is loading. Please wait.

Embedded Linux Systems Presented By: Kitrek Riese.

Similar presentations


Presentation on theme: "Embedded Linux Systems Presented By: Kitrek Riese."— Presentation transcript:

1 Embedded Linux Systems Presented By: Kitrek Riese

2 Presentation Overview Why Choose Linux Embedded Linux Architecture Options and Attributes of Embedded Linux Embedded Linux Examples

3 The Start of Embedded Linux At first there was VxWorks, pSOS, Neculeus, and Windows CE Although now a common practice, the first concepts of embedded Linux arrived on the scene around 1997.

4 Why Choose Linux Linux is Open Source. Additions to functionality are made easier. Large support network for developers. Ability the fix code without help from outside organizations.

5 Why Choose Linux Quality and Readability of Linux Code Separate functionality is found in separate modules and the different modules are split into different files, reflecting their functionality. The result of this is high cohesion and low coupling.

6 Disadvantages of Linux Real Time Performance is provided through Kernel Modules A code error can crash the entire OS

7 The Linux Architecture Same as ‘normal’ Linux Architecture Contains six layers of abstraction

8 The Linux Architecture Applications: Includes your normal desktop applications

9 The Linux Architecture Libraries: Allow applications to communicate with the Linux Kernel GNU C library Qt XML MD5 These libraries are not part of the application but rather exist separately within the Linux structure. Different applications to use the same instance of a library. This saves memory because you need only one copy of the library to be loaded into RAM

10 The Linux Architecture The Linux Kernel Essentials: High-Level Abstractions Kernel Internals Low Level Abstractions Internal abstraction gives the Kernel ability to interface with many File-Systems and Network Protocols

11 Embedded Linux Necessities Minimalist Linux A boot utility The Linux micro-kernel, composed of memory management, process management and timing services An initialization process To doing anything useful while remaining minimal, you also need to add: Drivers for hardware One or more application processes to provide the needed functionality As additional requirements become necessary, you might also want: A file system (perhaps in ROM or RAM) TCP/IP network stack A disk for storing semi-transient data and swap capability A 32-bit internal CPU (required by all complete Linux systems) http://www-106.ibm.com/developerworks/linux/library/l-embl.html

12 Embedded Linux Hardware Many Hardware Options Available x86 ARM IBM/Motorola Power PC MIPS Hitachi Super H Motorola 68000

13 Embedded Linux Hardware x86 Introduced by Intel in 1985 Large amounts of documentation available Most widely used and tested on Linux platforms Many applications developed on the x86 for the purpose of porting to other hardware.

14 Embedded Linux Hardware ARM (Advanced RISC Machine) No particular manufacturer, maintained by ARM Holdings Ltd. ARM Holdings designs CPU cores and the ARM instruction set Customers find their own manufacturer which allows for greater customization Linux supports ten different ARM CPUs on sixteen different platforms, along with two hundred related boards.

15 Embedded Linux Hardware Busses and Interfaces PCI PCMCIA Parallel Port SCSI USB FireWire Serial Port Linux also supports a wide variety IO devices Printers Mice Sound Storage Display Devices

16 Development Tools and Environments Required Software Bootloader Build-Tools Debugging Tools Linux Kernel

17 Development Tools and Environments GNU cross-platform development toolchain Kernel Setup Software Binary File Manipulation Utilities (Binutils) C Library (Can be replaced with others) Full C Compiler

18 Development Tools and Environments Available IDE’s Anjuta Eclipse Glimmer KDevelop SourceNavigator

19 The Linux Kernel Development of Embedded Linux does not coincide with the development of the Kernel Each architecture will have its own Kernel.

20 The Linux Kernel Configuring the Kernel Loadable Module Support Network Options SCSI Support File Systems Sound Console Drivers

21 The Linux Kernel Configuration Options ‘make config’ – Command Line ‘make oldconfig’ – Premade Config still command line but faster ‘make menuconfig’ – Text Based Config ‘make xconfig’ – X Window Based Config

22 Root File System bin boot dev etc root sbin tmp usr var home lib mnt opt proc

23 Bootloader Concepts The bootloader loads the Linux Kernel Thousands of choices in bootloaders to choose from and many configurations of each Many architectures have well known or commonly used bootloaders Some architectures have no standard bootloader

24 Bootloader Concepts X86 Bootloaders GRUB (Grand Unified Bootloader) LILO (Linux Loader) ROLO loadlin Etherboot LinuxBIOS blob PMON

25 Networking Services Linux Networking Features SNMP - Remote Administration Network Login through Telnet SSH HTTP DHCP

26 Networking Services SNMP Almost every device which connects to a TCP/IP network has SNMP Net-SNMP Free Large SNMP agent is all that is necessary

27 Networking Services HTTP Apache HTTP Servers Not for embedded systems Boa thttpd

28 Networking Services DHCP Dynamic Host Configuration Protocol Automatic network configuration of hosts Standard DHCP package is free with most Linux distributions

29 The Linksys Wi-Fi Router Linux gives us “the premium OS for inexpensive, feature-packed wireless networking.” (Ewing)

30 The IBM/Citizen Linux Watch 56 X 48 mm Motherboard – 27.5 X 35.2 mm 8 MB Flash Memory 8 MB DRAM Touch Sensitive Display 1.5 oz 32-bit RISC Processor (74-18 MHz)

31 How is This Possible? A fully featured Linux kernel requires about 1 MB of memory The Linux micro-kernel actually consumes only 100 K http://www-106.ibm.com/developerworks/linux/library/l-embl.html

32 How is This Possible? With the networking stack and basic utilities, a complete Linux system runs quite nicely in 500 K of memory on an Intel 386 microprocessor, with an 8-bit bus A Linux system can actually be adapted to work with as little as 256 KB ROM and 512 KB RAM http://www-106.ibm.com/developerworks/linux/library/l-embl.html


Download ppt "Embedded Linux Systems Presented By: Kitrek Riese."

Similar presentations


Ads by Google