Wednesday, January 28, 2009

COME TO AX4510 Explore it.(Porting uclinux)(www.embeddedsoftwarelabs.com)




REMEMBER TO USE NULL MODEM CABLE FOR COMMUNICATING WITH HYPER TERMINAL (HERE I USED 9 PIN FEMALE TO FEMALE CONNECTORS).

Below picture shows the NULL MODEM configuration used.





THE SETUP HOST AND TARGET ENVIRONMENT.






This board AX4510 comes with a CD which has few things

Source Software : uClinux-Samsung-20031005.tar.gz

Tool chain : arm-elf-tools-20030314.sh

Basically the source software is the general one but the Product provider(Embest people) has modified it to suit the Board (AX4510). These modifications can be done on any distribution say uClinux-dist-20040408.tar.gz and these are illustrated by taking 20040408 as example in this blog.

Any way i'm keeping the final complied kernel of the source, provided in CD by Embest which is uClinux-Samsung-20031005.tar.gz.

FINAL LINUX KERNEL COMPILED (linux-2.4.x/linux), Refer the latest date, image.ram has also formed.

OUTPUT OF THE USER APPLICATION(www.embeddedsoftwarelabs.com)




This User App is done with uClinux-dist-20040408 distribution and 20030314.sh tool chain.

USER APPLICATION DONE and Booted from AX4510 Board.

1. LED ON OFF
2. Board Pinged on a Network.
3. FTP Server
4. USER Application of displaying Information.



contact (watisid@rediffmail.com)signin my blog.

uClinux compilation on RedHat Linux(Porting uclinux)(www.embeddedsoftwarelabs.com)

Follow the steps as it is: Create a new directory using mkdir command (usage example: mkdir newlinux) and make it as root user and owner.

1.
Download arm-elf-tools-20030314.sh

2.
The implementation of the script to complete the installation of cross compiler
./arm-elf-tools-20030314.sh
That is

[admin @ localhost admin] $ ./arm-elf-tools-20030314.sh

3.
Test, enter arm-elf-gcc -v in terminal to see the version.
[admin @ localhost admin] $ arm-elf-gcc-v

4. The Output will be like this

Reading specs from / usr/local/lib/gcc-lib/arm-elf/2.95.3/specs
gcc version 2.95.3 20010315 (release) (ColdFire patches - 20010318 from http://fiddes.net/coldfire/) (uClinux XIP and shared lib patches from http://www.snapgear.com/)

5.
Checking

[admin @ localhost admin] $ which arm-elf-gcc
/ usr / local / bin / arm-elf-gcc

Show that the arm-elf-gcc has been installed in / usr / local / bin / directory of the.
6.
Download uClinux-dist-20040408.tar.gz this will be above 150MB nearly 180MB.

7.
Decompression uClinux-dist-20040408.tar.gz documents to the uClinux-dist directory

[admin @ localhost admin] $ tar -xvzf uClinux-dist-20040408.tar.gz

8.At this point, current working directory will b increased by a uClinux-dist directory.

cd uClinux-dist

9.
Modify vmlinux-armv.lds.in documents,
vi linux-2.4.x/arch/armnommu/vmlinux-armv.lds.in

romfs_data =.;
romfs.o
romfs_data_end =.;

10.
vi vendors/Samsung/4510B/Makefile

Add this sentence

"There are some modifications to know this contact (watisid@rediffmail.com)signin my blog."

And at end of the file add these lines in the same Make file

There are some modifications to know this contact (watisid@rediffmail.com)signin my blog.


AT THIS POINT COMPLETES THE MODIFICATION PROCESS.

11.
Do select options, follow the note under

[admin @ localhost admin] $ make menuconfig
Blue screen will appear select in options and finally get these options that are here


In Vendor / Product Selection ---> select
--- Select the Vendor you wish to target
(Samsung) Vendor
--- Select the Product you wish to target
(4510B) Samsung Products

In Kernel / Library / Defaults Selection ---> select
(linux-2.4.x) Kernel Version
(uClibc) Libc Version

Other options are the same, in accordance with the default settings, opt-out, save configuration.

Exit and come out , u will be asked for kernel setting saving press "yes".

12.

make dep

13.
make lib_only

14.
make user_only

There are some modifications to know this contact (watisid@rediffmail.com)signin my blog.

15.
make romfs

16.
make
There are some modifications to know this contact (watisid@rediffmail.com)signin my blog.

17.
At the end if u want image.bin u can get,
If u want image.ram u can get, This is as per our wish.

Here i made 2.



"There are some modifications to know this contact (watisid@rediffmail.com)signin my blog."

18.
Use Skyeye emulator for Debugging.

Development Tools for uClinux on Embest AX4510 (S3C4510B microcontroller)(www.embeddedsoftwarelabs.com)

Hardware Tools:

Null Modem Cable for PPP connection between board and PC, and this board will work fine on Windows OS.


Software Tools:

OS: Any Linux flavour i'm using Redhat Linux 9.x i386 with 2.4.20-8 Kernel, this can be referred at the time of booting.

Tool Chain: arm-elf-tools-20030314.sh

cross-compiling uClinux kernel : uClinux-dist-20040408.tar.gz

There are lot of distributions that can be worked out , i choose this configuration.

Embest AX4510B Board Details

Embest AX4510B Board Details:


Embest AX4510 EVB for S3C4510B is a platform that is suitable for code development of Samsung's S3C4510B (ARM7TDMI) RISC microcontroller (General ARM) for network applications and general applications.

The S3C4510B is based on 16/32-bit ARM7TDMI RISC processor. It offers a configurable 8K-byte unified cache/SRAM and Ethernet controller which reduces total system cost. Important peripheral functions include two HDLC channels with buffer descriptor, two UART channels, 2-channel GDMA, two 32-bit timers, and 18 programmable I/O ports. On-board logic includes an interrupt controller, DRAM /SDRAM controller, and a controller for ROM/SRAM and flash memory. The System Manager includes an internal 32-bit system bus arbiter and an external memory controller.

Embest AX4510 EVB consist of S3C4510B, boot Flash, SDRAM, LCD interface, two serial communication ports, ethernet interface, USB interface, PS2 interface, exterior IDE port, JTAG interface and LED. Embest AX4510 EVB provide a high performance and low cost solution for embedded engineers.
Hardware Specification

* Dimensions: 177 x 130 mm
* 5.0V DC or USB power supply
* 4 M bytes Flash(2M x 16bit)
* 16 M bytes SDRAM(2M x 32bit)
* 2K x 8 EEPROM
* 2x RS232
* USB connecter
* 10M/100M Ethernet interface connector(RJ45)
* IDE44 port: for 2.5" hard disk
* LCD port
* 2 PS2 port
* 4 key buttons
* Reset button
* 4 LEDS
* Beeper
* 20-pin JTAG interface connector
* all the pins of CPU expand out

what is uClinux?(www.embeddedsoftwarelabs.com)

Hi Friends

Come to the World of Embedded Systems in which lot of things are there where u guys can Do lot of activity and develop applications.

Now just get into the chip. The name ‘uClinux’ comes from ‘Micro(μ)-Controller Linux’.


Here we go , Putting it simple uClinux is Linux 2.x kernel intended for micro-controllers without Memory Management Units (MMUs).Today's uClinux as an operating system includes Linux kernel releases for 2.0 2.4 and 2.6 as well as a collection of user applications, libraries and tool chains.

uClinux was first ported to the Motorola MC68328 DragonBall Integrated Microprocessor. Since then, uClinux has grown exponentially, as more and more MMU-less chips receive their own ports.

Ported Microcontrollers and Microprocessors

* Motorola DragonBall (M68EZ328), M68328, M68EN322, ColdFire, QUICC (Quad Integrated Communications Controller)
* ARM7TDMI
S3c4510B Samsung micro-controller.

. . . and more all the time!

Linux vs. uClinux?

Since uClinux was created to support non-MMU microprocessors, multitasking can be tricky. Most user applications that run on top of uClinux, however, will not require multitasking. In addition, most of the binaries and source code for the kernel have been rewritten to tighten-up and slim-down the code base. This all means that the uClinux kernel is much, much smaller than the original Linux 2.0 kernel, while retaining the main advantages of the Linux operating system: stability, superior network capability, and excellent file system support.

Key features of uClinux:

* Common Linux API
* uCkernel <>


Which file systems does uClinux support?

NFS, ext2, MS-DOS, and FAT16/32 are only a handful of the available file systems embraced by uClinux.