||More and more embedded systems choose ARM-based micro-controllers as CPU. If no embedded OS built with the system, the application scope will be restricted. Therefore, the need of embedded OS is vital. There are many embedded OS’s in the market, but the embedded Linux has many advantages and is widely accepted. Commercial embedded Linux takes less refund than other embedded OS’s. The kernel and most applications are distributed in GPL open source copyright, and is highly portable to many machine platforms.|
Presently, the hardware key-technology is highly skilled. The margin of 3C industrial has gone down rapidly. Therefore, people focus on adapting integrated technology to practicality and innovation to make cost down. Developers choose appropriate ARM micro-controllers according to demanding functionality of their products. The microcontroller is not necessary running with Linux distribution. Two approaches can be used to resolve the embedded OS issue. The first approach is porting Linux to the platform without any refund. The second approach is to pay for commercial Linux.
Embedded system peripheral devices aim at powerful functionalities and economy. For instance, UART interface is cheap and low data transfer rate. The target board communicates with host via RS-232. RS-232 acts as serial console to play dumb terminal under Linux. Industrial applications often make use of RS-xxx for UART physical transmission layer. For instance, RS-485 applies modbus protocol to build cheap monitor systems. Network transmission is a necessary function, and it generally achieves high data transfer rate application through Ethernet. The UNIX-like network socket has served network application very well. Embedded systems are usually diskless systems. In order to keep permanent data, using flash memory as block disk system is a widely adapted strategy and which operates flash memory through MTD subsystems（）. An MTD subsystem contains two different modules, “user”and “driver”. In the driver module, CFI（） is applied to probe flash chip, partition it and provide operating function. Flash translation layer and file-system are applied in the user module. MTD BLOCK is used to emulate the flash partitions as block devices which are then mounted into Linux virtual file system（VFS）with JFFS2 type, designed according to the feature of flash devices.
In this thesis, we will describe in detail the procedure of porting Linux to ARM micro-controllers. The motivation of the work is introduced in chapter 1. In chapter 2, we introduce development tools and the main flow of the porting procedure. In chapter 3, we describe the LH79525 platform and the main perepherals on the target board, then introduce the ARM programmer model. In chapter 4, we examine the required knowledge and the important issues for porting ARM Linux. In chapter 5, we describe the details of porting Linux to run with Sharp LH79525, including modifying the key source codes and adjusting kernel configuration for embedding the UART, ethernet MAC, and MTD subsystem. In chapter 6, we do step-by-step validation and apply an integrated application with the LF-314CP temperature controller（） by law-chain technology for the LH79525 target board running with the ported ARM Linux. In chapter 7, we present some issues for future work and improvement, then make a conclusion for the thesis.
 KARIM YAGHMOR, “Building embedded system”, Sebastopol, CA: O’Reilly.
 Micro C lib project, www.uclibc.org; Busybox project, http://busybox.net/
 EVB: SDK-LH79524-3126-10, http://www.logicpd.com/
 ARM corp., www.arm.com
 ARM720（Rev 3）Technical Reference Manual, ARM Doc. No.: ARM DDI-0192A.
 ARM Developer Suite-Assembler Guide, ARM Doc. No.: ARM DUI-0068B.
 “Standard Test Access Port and Boundary Scan Architecture”, IEEE std 1149.1-2001.
 David Seal, “ARM Architecture Reference Manual”, Boston: Addison Wesley (Known as the “ARM ARM”, ARM Doc No.: DDI-0100)
 Sharp corp., http://www.sharpsma.com
 Sharp corp., “LH79524-525 Data Sheet”, date 2-28-05
 Sharp corp., “LH79524-LH79525 Advanced Users Guide”, date 10-25-04
 ARM Linux original distribution, www.arm.linux.org.uk
 Linux author Linus Torvalds web home, http://www.cs.helsinki.fi/u/torvalds/
 Linux kernel archive, http://www.kernel.org/
 Andrew S. Tanenbaum and Albert S. Woodhull, “Operating system”, Second Edition, Upper Saddle River, NJ: Prentice-Hall.
 Daniel P. Bovet and Marco Cesati, “Understanding the linux kernel”, Sebastopol, CA: O’Reilly.
 Alessandro Rubini, “Linux device drivers”, Sebastopol, CA: O’Reilly.
 Modbus protocol via RS-485 and TCP/IP, http://www.modbus.org/
 multi-ice-gdb-server, http://ecos.sourceware.org/multi-ice.html
 Sharp technology application note, “LH79520 SDRAM Connection Usage”
 SDRAM, “winbond W982516 datasheet”
 Mel Gorman, “Understanding the linux virtual memory management”, Upper Saddle River, NJ: Prentice-Hall.
 MTD（memory technology system）subsystem official site,
 NOR flash：MXIC MX29LV640BT, datasheet, REV. 0.5, JUL. 08, 2004
 ARM simulator/emulator, http://www.skyeye.org
 Wiggler-jtag：parallel-jtag, http://www.macraigor.com/
 Banyau-U：usb-jtag, agent by http://www.kaise.com.tw/
 The newest linux device number assignment,
 Q2400 GPRS/GSM modem,
 M. Beck, “linux kernel internel”, Boston: Addison Wesley.
 HOWTO：Linux kernelanalysis HOWTO, mini-HOWTO
 IEEE Std 802.3x-1997 and IEEE Std 802.3y-1997, ISBN 1-55937-905-7
 Archive of many GNU projects, http://directory.fsf.org/
 JEDEC standard: JESD 68.01, “Common Flash Interface（CFI）”, http://www.jedec.org
 Resources and information on Linux Training and Linux Seminars
 David Woodhouse, “JFFS : The Journalling Flash File System”, Ottawa Linux Symposium 2001
 DM9161A, “10/100 Mbps Fast Ethernet Physical Layer Single Chip Transceiver datasheet”, Version：DM9161A-DS-P04, May 17, 2005.
 “DM9161 Layout Guide”, Version：DM9161-LG-V01
 Vmware Gsx Server, http://www.vmware.com/
 Law-chain computer technology co. ltd., www.law-chain.com.tw
 “Flash Memory Technology”, Integrated Circuit Corporation,