Wednesday 5 October 2011

PORTING 2.6.32.2 Linux Kernel on MINI2440

No need to get panic,here i am giving some useful steps .Please try yourself,on Fedora9...
Let us know some basic features about  MINI2440(ARM9) board.

*Processor ‐ Samsung S3C2440A, 405MHz (Max 533Mhz) 
*RAM  On‐board 64M SDRAM
*32bit data bus
*clock frequency up to 100MHz 
*FLASH storage 
*128Mbytes (64Mbytes) Nand Flash
*2MBytes Nor Flash with installed BIOS
*LCD Interface
*4‐wire Resistive Touch Panel interface ‐‐ 10 bit A/D
*Supports 4 and 16 level gray‐scale, 256 color, 4096 color STN LCD
*screen size from 3.5 inch to 12.1 inch
*screen resolution up to 1024x768
*Support 4 and 16  level gray‐scale, 256 color, 64K color, True Color TFT LCD
*screen size from 3.5‐inch to 12.1‐inch
*screen resolution to 1024x768 pixels
*Standard configuration for the NEC 240x320/3.5‐inch TFT true color LCD with Touch Panel
*Leads to a 12V power supply on‐board interface, for the large‐size TFT LCD 12V CCFL *backlight
*module (Inverting) Power supply. 
*Interface and resources
*1 10/100M Ethernet RJ‐45 interface (DM9000 network chip)
*3 serial ports ‐ one configured for RS‐232, COM0
*1 USB Host
*1 USB Slave B‐type interface
*1 SD card storage interface, no size limit
*1 Channel Stereo audio output interface, 
*1 Built in microphone
*1 Microphone input.
*1 2.0mm pitch 10‐pin JTAG interface
*4 USER LEDs
*6 USER buttons (with connection to GPIO connector and 8 pin user connector)
*1 buzzer PWM control
*1 adjustable resistor for A/D test
*1 IIC bus AT24C08 chip for IIC Bus Test or configuration data, holds 256 bytes.
*2.0 mm pitch 20PIN camera interface
*Power Interface (5V), with power switch and indicator light 
 *System Clock Source
*Passive crystal
*Internal real‐time clock (with back‐up lithium battery)
*Expansion Interface
*1 34 pin 2.0mm GPIO interface
*1 40 pin 2.0mm system bus interface 
*Size   100 x 100 (mm)

Now these days suppliers are having modified mini2440 with them,having some enhance and additional features..
as  per my experience  mini2440 can be used with
                                           1>wince
                                           2>linux
                                           3>android
so as we are familiar with Linux part so lets try Linux.
we  can play with this board by developing number of application on QT..so lets 1st start with
configuration and porting.

STEPS--->
1>set cross compiler as u need arm-linux


A compiler that runs on one computer but produces  object code for a different type of computer. Cross compilers are used to generate software that can run on computers with a new architecture or on special-purpose devices that cannot host their own compilers.

2>download linux-2.6.32.2.tar.gz  or any other kernel you want.

3>tar xvzf linux-2.6.32.2.tar.gz

4>cd linux-2.6.32.2

5>configure cross compiler inside the kernel.

6>we need to set the clock frequency.

7>comment the unused things smdk_machine_init().

8>make menuconfig.

9>set your required specification u needed.

10>set the required partitions and its specifications.
                                                                supervivi
                                                                param
                                                                kernel
                                                                nand
11>then attach file system to the kernel.

12>make menuconfig.


13>make zimage.


14>basic configuration is over..then if any body want to add some more things like driver part or QT part..in the same way he/she can add accordingly...and thats a long procedure..try to make this one...