System Size Working Group

@) Preliminary Draft @) under construction %)

Table of Contents:

Overview of "CE Linux"
Ten years ago, most of the people would have been laughing if someone intended to use Linux in the embedded applications.Five years ago,few people start thinking to use Linux for some of non-pc applications. Now there is no surprize to hear that Linux is used in actual embedded application - in fact, there are several actual products in the field. You may wonder what makes such difference. The followings are the reason that I can think of.

It is said that we are about to enter in new world with new life style. "Ubiquitous" is the word frequently used to show such concept. Although the word of "Ubiquitous" is still too abstract, everyone shall agree that digital CE products - such as digital camera, PVR, DVD-R - are part of our life. From software development point of     view, it is quite natural that software developer assume same or      simular environment with pc shall be available for such products. If such environment is NOT available, software developers have to      spend long time which impacts to product launch timing and cost badly.
 * 1) CE products require pc-like feature

Linux provide rich, convenient and always up-to-date software development environment.

By challenging and taking advanced silicon design rule, the price of     memory(RAM) has been going down dramatically and constantly. Similarly, embedded processor speed is going up while the price has been going down. Current $10 embedded processor performs 10+ times faster than the one used in PC 10 years ago. Even if Linux is still big and slow compared to other RTOS, the disadvantage is becoming small relatively.
 * 1) Semiconductor technology

Ten years later, people may be laughing if they hear that I wrote sentences to explain about "why Linux in Embedded Application".

Overview of Linux Size Issue
Having said that Linux has been used in some of the actual products, Linux has issues that can not be accepted by some of the products. Size is one of such issues. The hardware configuration between CE products and PCs are very different. The following example shall give you quick overview of the difference.

It is said that new type of CE(Consumer Electronics) applications with pc-like feature will change our life dramatically. Those type of  applications are so called as "digital consumer product(appliance)" or   "Ubiquitous CE product".

Charter of SZWG
The System Size Working Group shall work to minimize the memory required to operate a Linux system. The Working Group shall establish requirements, recommended technical solutions and may define the appropriate feature for consumer electronics devices.

Scope
WG shall discuss the following items, in order to achieve the goal of minimize the memory usage.


 * 1) Benchmarking
 * 2) Re-clarification of the Linux size issue by analysis and benchmarking with other OS
 * 3) Capture high-level image of the issue. Make clarificaiton and characterize which software component- driver, kernel,middleware or application - makes Linux system fatty.


 * 1) XIP(execute-in-place)
 * 2) Summary of advantage and disadvantage of XIP
 * 3) Discussion on further improvement
 * 4) Discussion on the workaround of disadvantate
 * 5) WG shall establish requirement and recommended soluiton.


 * 1) Compressed File System
 * 2) Summary of advantage and disadvantage of compress file
 * 3) WG shall make comparison between XIP and Compressed File System and make summary, in different configurations.
 * 4) WG shall establish requirement and recommended soluiton.


 * 1) Configurability
 * 2) Configurable feature -- System Modularity
 * 3) WG shall establish requirement and recommended solution.


 * 1) Subset Feature
 * 2) Subset of library
 * 3) Subset of middleware -- e.g. window system
 * 4) WG shall establish requirement and/or may define the spec.


 * 1) Tool Chain improvement
 * 2) compiler -- further optimizaiton
 * 3) linker -- function level strip out, post link optimizaiton
 * 4) memory usage profiling
 * 5) WG shall establish requirement and recommended solution.


 * 1) Other method
 * 2) Any other approach to achieve this charter.

Definition of words

 * AG
 * Architecture Group / This group is positioned under the SC. Founders, appinted members and associated are the member. The mission of the group are;
 * Help SC to strategize the technical direction of CELF
 * Make plan and process ,to improve the CELF property, such as kernel, tools, middleware and so on
 * Dispatch technical WG to address specific item


 * CELF
 * Consumer Linux Forum
 * CELF Source Tree
 * Linux kernel soruce tree maintained by CELF
 * XIP
 * eXecution In Place / Typically, at the boot time, the code is copied from ROM to RAM and the code in RAM is actually executed. XIP is the technique to execute the code in ROM.
 * WG
 * Working Group / AG shall establish technical WG to address specific topics. Each WG shall work on to fix/improve the issue. As of February 2004, there are following WGs;
 * SZWG / System Size Working Group - A WG to address Linux System Size Issue
 * BTWG / Bootup Time Working Group - A WG to address Linux Boot up time Issue
 * RTWG / Real Time Wokring Group - A WG to address Linux Realtime response Issue
 * PMWG / Power Management Wrouking Group - A WG to address Power Management Issue
 * AVGWG / Audio Video & Graphics Working Group - A WG to address Audio & Graphics Issue
 * SECWG / Security Wroking Group - A WG to address Security Isse

Overview
following picture is not real -- just space holder Image:Omap.jpg  Media:Omap.jpg Brief introduction of TI/Omap board

Hardware Specification
*CPU *Memory *User IF  *Other
 * OMAP5910/OMAP1510
 * 32MB SDRAM
 * 32MB Flash
 * LCD/Touch Screen/CCFL front light
 * 4-wire touch screen controller
 * Dual RS232 port
 * Voice connectors,
 * Stereo amplifier and dual speakers
 * Power and up/down select buttons
 * USB host an client
 * Two serial ports
 * SD/MMC expansion slot
 * JTAG accessible

User's Manual

Software Specification
*Kernel *compiler *User Land
 * CELF 2003/10/30
 * gnu

Actual Size Data
The following table is just space holder Image:table.jpg

Actual Size Data
The following table is just space holder Image:table.jpg

Actual Size Data
The following table is just space holder Image:table.jpg

Actual Size Data
The following table is just space holder Image:table.jpg