This action might not be possible to undo. Are you sure you want to continue?
Er. Shishir Adhikari
What is an embedded Operating System Linux as an embedded OS Building kernel Tools and development Who are the Embedded OS developers Applications and products The embedded OS market Embedded OS Resources
What is an Embedded OS?
“computer system” that performs a
dedicated function or is designed for use with a specific embedded software application.
Embedded systems may use a ROM
based operating system or they may use a diskbased system, like a PC.
What makes a good Embedded OS?
Modular Scalable Configurable Small footprint CPU support Device drivers
Why Linux as Embedded OS? Royalty free licensing Reliable IP stack and TCP/IP Applications Source code for the OS Kernel is Open Source code for the Toolchains is Open .
Multiple choices vs..Why Linux as Embedded OS?.. scalable Superb support for networking and Internet Large pool of skilled developers . configurable. sole source Robust and reliable Modular..
which allows it to run on many different types of . In addition.... Linux has been ported successfully to a large number of processor architectures. since all features of the system that are not needed for a specific embedded system can be removed from the kernel.Why Linux as Embedded OS?. It is very modular in nature.
MIPS.e. CRIS (i. Sparc (Sun Workstations).Why Linux as Embedded OS? Processors supported by Linux: Intel 386 processors. PowerPC. Motorola 68000 series. ARM. s390 (mainframe) and several others. ETRAX 100LX from Axis Communications). .
Device drivers to be included? . Linux can be boot from a ROM chip rather than SCSI hard disk. CDROMs.Things to consider while using linux as Embedded OS Which processors are supported by linux? What features are needed in the kernel for the embedded system? For example.
Things to consider while using linux as Embedded OS Require realtime features? A realtime operating system is one that has a guaranteed response time to interrupts. . It is possible to convert Linux into a realtime system however.
system failure is said to have occurred. If the timing constraints of the system are not Donald Gillies met.” .What is Real Time? “A real time system is one in which the correctness of the computations not only depends upon the logical correctness of the computation but also upon the time at which the result is produced.
1 .What is Real Time? “Real time in operating systems: The ability of the operating system to provide a required level of service in a bounded response time.” POSIX Standard 1003.
. Soft Real Time Hard • where the operation must be completed within the deadline. and is valueless beyond this deadline.Hard vs. Soft • Tasks completed after their respective deadlines are less important than those whose deadlines have not yet expired.
the kernel itself is modified slightly so it can run as a task under a realtime scheduling process.Linux RealTime Extensions In order to make Linux into a realtime operating system. Standard Linux device driver(interrupt response time is not guaranteed) . In this case. a developer has a choice when creating software that handles interrupt.
kernel.kernel.4.org/ extract it (uncompress) so you can build it /usr/src/linux folder cd /usr/src tar xzvf <path>/linux 2.Building a Linux Kernel First download the kernel source code http://www.gz .2.tar. or ftp://ftp.org/.
. Next select the options you would like included into the kernel. 'menuconfig' (text mode with menus). #make menuconfig #make xconfig #aptget install buildessential (development tool for Nepalinux) . or xconfig (XWindows configuration mode). Run the 'make' command.Building a Linux Kernel…. followed by either 'config' (textmode only).
Go through all the menu choices and enable or disable options and device drivers as needed /usr/src/linux/Documentation folder and subfolders many options and settings described there. These values are saved in a file named '.config' in the / usr/src/linux folder . Exit and save your settings.
Modular kernel – Device drivers can be built as modules. Automatically loaded with kernel. . The device driver will have to be installed using scripts before attempting to use the device.Kernel Types Kernel – monolithic or modular Monolithic kernel – Linux device drivers built into the kernel itself.
. For example. You should only include those specific devices that you must support to get the smallest kernel available. For embedded systems. no need to include any networking support at all in the kernel. monolithic kernel is preferred. if your embedded device does not have network cards.
Crosscompiler for different Embedded Processor Crosscompiler Generates the opcodes for the target processor. Crosscompilers for almost all processors supported by Linux are available from the GNU organization at http://www. instead for the processor running on your computer.org/ .gnu.
config file and updates various interdependencies between kernel source code files and options. Then build the kernel itself #make zImage (using gzip compression algorithm) #make bzImage (using bzip2) . reads .Building kernel for the same processor architecture #make dep This will scan all the source code and header files.
the kernel will then extract the 'real' kernel from the file to memory and continue to boot. . The kernel will uncompress itself on the fly when attempting to boot. This is done by adding a small bit of 'uncompression' code to the beginning of the kernel itself. During boot time.
. Put on floppy. CDROM or Flash ROM or other bootable device to start running Linux. The kernel image file – / usr/src/linux/arch/<arch type>/boot directory. depending on which type of compression option you selected. zImage or bzImage.
Who are the Embedded OS developers? Wind River Systems – – VxWorks pSOS QNX Integrity QNX Software Systems – Green Hills Software – .
Who are the Embedded OS developers? Mentor Graphics – VRTX PalmOS SymbianOS Palm Computing – Symbian – .
ARM.Microsoft Embedded NT/XP – “Realtime” control Windows CE – variation of Microsoft's Windows operating system for minimalistic computers and embedded systems. – supported on Intel x86. MIPS. Pocket PC 2002 – Handheld PC’s and PDA’s . and Hitachi SuperH processors.
designed for wireless apps Coollogic Coollinux – Coventive Xlinux – Esfia RedBlue Linux – .Commercial Embedded Linux AMIRIX Embedded Linux – derived from Debian combines Linux and Java for Internet apps kernel can be as small as 143KB 400K.
CD server supports real time and high availability apps general purpose embedded solution general purpose embedded solution Lineo Embedix – LynuxWorks BlueCat – MontaVista Linux – . print.Commercial Embedded Linux KYZO Pizza Box Linux – SAMBA based file.
Commercial Embedded Linux Neoware NeoLinux – Red Hat derived for information appliances Internet appliuance and multimedia general purpose embedded solution runs from DiskonChip or CompactFlash PalmPalm Tynux – Red Hat Embedded Linux – RedSonic RedIce Linux – .
RT on DSP low latency enhanced kernel distro targets Internet appliances for ARM based embedded apps TimeSys Linux GPL – Tuxia TASTE – Vital Systems vLinux – . wireless.Commercial Embedded Linux RidgeRun DSP Linux – for multimedia.
Open Source Embedded Linux Embedded Debian Project – convert Debian to an embedded OS for PC104 SBC’s for microprocessors that don’t have MM distro fits on a single floppy ETLinux – uCLinux – uLinux (muLinux) – .
Open Source Linux RTOS ART Linux real time extension based on RTLinux KURT event schedules with 10us resolution LinuxSRT for soft real time apps like multimedia Qlinux provides Quality of Service guarantees RTAI “hard” Real Time Application .
X10 controllers.Commercial Linux RTOS ThinLinux a minimized Linux distribution for dedicated camera servers. MP3 players FSMLabs Open RT Linux Lineo Embedix Realtime LynuxWorks BlueCat RT REDSonic REDICE Linux .
RTLinux A “hard realtime” mini operating system runs Linux as it’s lowest priority execution thread Linux thread completely preemptible Real time threads and interrupt handlers never delayed by nonrealtime operations Supports user level programming MiniRTL implementation fits on a floppy .
What’s so special about Linux? .
What CPU’s will it run on? Intel X86 MIPS ARM StrongARM PowerPC Hitachi SuperH .
Any Development Tools Available? QT/Embedded Other GUI/Windowing toolkits Arcom Control Systems GNUPro Tools Vendor specific Standard Linux toolset .
.What’s It Being Used For? Control and Monitoring Applications Industrial Controllers TV Set Top Boxes (TiVO) Handheld PDA’s Automobile Computers Telecomm and Networking Hardware Myriad and sundry other uses.. .
Cyclades TS100 Netlinos OS Dual 50MHz PowerPC 16MB SDRAM 4MB Flash Ethernet/Serial/RS485 Size of a deck of cards .
Sharp Zaurus Lineo Embedix 206 MHz StrongARM 64 MB DRAM 16MB Flash 3.5” display (320x240) 64K colors Opera browser & Qtopia QT/Embedded GUI .
TiVO Set Top Box Home grown port of Embedded Linux 54MHz PowerPC Multi GB hard disk .
Axis 2120 Network Camera uCLinux Builtin Ethernet port 100 MHz ETRAX CPU 16 MB RAM .
Dual Pentium CPU RTLinux Height: 53 inches Weight: 121 lbs. Isamu .Humanoid Robots Univ. of Tokyo/Kawanda Ind.
Humanoid Robots HOAP Fujitsu RTLinux Height: 48 cm Weight: 6 kg 100 units/yr .
com/ ThinLinux at http://www.lynuxworks.com/linux/dimm .rtlinux.com/ RTLinux at http://www.com/ White Dwarf Linux at http://www.For Further Info Web Sites Blue Cat Linux at http://www.mvista.com/ Hard Hat Linux at http://www.thinlinux.emjembedded.
com/ LinuxDevices.embeddedlinux.com/ .com/ Embedded Linux Consortium http://www.linuxdevices.For Further Info Web Sites Linux Embedded at http://linuxembedded.org/index.p All Linux Devices http://alllinuxdevices.com http://www.
htm .com/ Embedded Systems Programming http://www.linuxjournal.com/mag.embedded.For Further Info Web Sites/Magazines Dr.ddjembedded.com/about/ Embedded Linux Journal http://embedded. Dobbs Embedded Systems http://www.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue listening from where you left off, or restart the preview.