Linux OS running in embedded system is known as Embedded Linux. Linux os occupy only up to 100KB space in memory. Now days most ES based on 32 bit processor like ARM, PowerPC, ColdFire etc have sufficient amount of flash and RAM memory. For example if we consider ARM9 [CS-E9302] board from olimex it has following memory configuration…
- 32 MB SDRAM Memory
- 16 MB Flash Memory
Let us take one more example of a board from freescale Lite5200B Evaluation Board with processor PowerPC MPC5200 have 128 MB RAM and 32MB flash memory.
Above examples prove that linux operating system can be kept in ES. Actually linux is one of the favorite OS for ES. The reason behind this is following…
1. Linux is compact and occupy less space in memory.
2. Linux has real time operational capabilities. Linux is real time operating system after release of kernel 2.6.x. Linux kernel is also preemptive kernel.
3. Linux is fully configurable, it means you can use only those components which are desired and left others.
4. Linux has support of virtual memory. This is special requirement of safety critical products like aeroplane, trains, nuclear reactor etc.
5. Linux has support of all major devices like USB, Webcam, Printer, various file systems like FAT,NFS, FFS etc.
6. Linux is open source, so user can do full configuration at each level.
7. ES are designed in order to keep at low price. This requirement makes linux more suitable OS, because it is free.
8. Linux is fully supported by community.
9. Proprietary linux is also available by different vendors like Montavista, QNX, timesys, windriver etc.
10. Linux has support of more then 150 processors.
Features of Linux:
- Linux is Monolith kernel with support of Modular architecture.
- Protected mode so programs or user's can't access unauthorized areas.
- Networking with TCP/IP and other protocols.
- Multiple user capability.
- Shared libraries
- True multitasking
- X: A graphical user interface similar to windows, but supports remote sessions over a network
- Servers:
FTP server
Telnet server
BOOTP server
DHCP server
Samba server
DNS server
SNMP services
- Mail services
- Network file sharing much, much more...
- File System Support:
Ext2 : Traditional file system for linux
ROMFS: Read only memory file system
RAMFS: Read/write memory file system
JFFS2: Journaling files system made for flash
PROCF: pseudo file system for getting system information
DEVFS : pseudo file system for maintaining devices
Features of Embedded Linux
Configurable kernel: Configurable features, Configurable size, Configurable functionality
Device Support: wide range of device are supported like USB, Ethernet etc.
Royalty Free:No need to pay royalty to for any type of product.
Support for many embedded applications: Database (SQL Lite, Metalite), webserver (Boa, thttpd) Graphics (PEG, Nano )
Open Source: Source code can be customized for specific need of embedded system
Benefit of using Embedded Linux
There are so many benefits of using embedded linux. Let looks some of them…
1. Vendor independent
Using linux means you are no longer depend on particular vendor for supply of tools. In linux everything is available from open source community. Even service model of all linux vendors is almost same they used to provide linux kernel, libraries etc. So, user can easily switched from one vendor to another.
And even if user wants to go without vendor, every thing is freely available. But in that case of the work of integration, BSP development has to be done by use itself.
2. Easy availability of used tools
In embedded linux so many development tools and utilities are easily available. User can download them and use them freely. So this result in fast development time for embedded system products.
3. Various hardware supports
Linux community is very active. They regularly add support of new hardware. Linux is used in various research laboratories and universities worldwide, so linux is always upto date with latest hardware support.
4. Low cost development
By using linux in embedded system product, we can development low cost products. Linux development tools are free and easily available. Linux is royalty free. There is no need to pay royalty for making any number of products.
Embedded Linux Development Environment
Following are the essential for embedded linux setup:
1. Embedded system development board (like ARM9 board)
2. Host PC
3. Serial cable
4. Ethernet cross cable
5. Embedded linux kernel running in board
Serial connection is used to bring up shell in host pc. Ethernet connection is used for downloading kernel and debugging.
Host terminal must have following tools
1. Eclipse IDE
2. GCC toolchain for Embedded Linux
3. TFTP (Trivial File Transport Protocol) server , this is for downloading of modules
Is linux free?
Yes, linux use means freedom for follwing…
-linux is free to download
- user is free to modify source code
- user is free to distribute its modified code to everyone
But, As in order to use it professionally, we still need following…
- Integration
- Development of Board Support Package (BSP)
- Maintenance
- Support
All above things are not free of cost but user has to pay for the same.