Design and Implementation of S3C6410 based Embedded Web Server

DOI : 10.17577/IJERTV3IS061481

Download Full-Text PDF Cite this Publication

Text Only Version

Design and Implementation of S3C6410 based Embedded Web Server

Vaibhav Rajput

Department of electrical engineering VJTI

Mumbai-19,India

Dr. R. D. Daruwala

Department of electrical engineering VJTI

Mumbai-19,India

Abstrac – In the digital information era the tools of information queries and information dissemination plays a vital role thus presents tremendous opportunity for small scale embedded products. In this paper we describe an efficient way for implementation of boa web server based on ARM11 S3C6410 processor core and using linux as the operating system. On dynamic embedded webserver a CGI program is used to realize the interaction between browser and embedded web server. The test result proves to very accurate and rapid which in turn satisfies the designing goal.

Keywords – Embedded system; Superboot; S3C6410; Web browser;CGI

  1. INTRODUCTION

    With the rapid development of web technology, the age of the PC equipments as a basic node is over. The traditional web technical route scheme can not be directly used to construct web server in remote industrial control system. And therefore on the basic principles of web server we can tailor and construct suitable embedded web server based on the special needs.in this process a user can access the server only

    1. Bootloader

      Fig 1. Schematics of hardware

  2. SET UP OF THE SERVER

    by means of a browser and thus we only need to modify the web pages on the occasional basis. This server is a fine example of a dedicated embedded device with low power consumption and less space requirement

    This paper introduces a solution for embedded system access to internet in remote areas, for this purpose a boa web server is set up in embedded platform with Linux-

    2.6.30.4 as its operating system and ARM-processor S3C6410 as its core. The linux operating system has a high amount of flexibility because of its open source nature. The platform that uses arm as processor and linux as an operating system represents very strong deal for the development of embedded applications. Furthermore a CGI script is applied and tested under the development environment. We can install any kind of equipment on web server side and it could be controlled by local client through any appropriate web browser. The schematics diagram of hardware is as shown in fig1. The main CPU core operates at 667Mhz frequency accompanied by 2GB Nand flash and 256Mb DDR RAM ,it also has an Ethernet port two serial ports and three usb ports.

    Bootloader is a computer program that load the operating system or some other software after completion of the self- tests. Bootloader runs before the operating system kernel

    The bootloader we used is superboot it has several advantages of the very popular open source bootloaer U-boot such as multiple operating system and NAND Flash Boot. There are several options available for booting process depending upon the u-boot burning file selected such as

      • u-boot_sd-ram128.bin : support booting from the SD card, for 128M RAM

      • u-boot_sd-ram256.bin : support booting from the SD card, for 256M RAM

      • u-boot_nand-ram128.bin : support booting from the NAND flash, for 128M RAM

      • u-boot_nand-ram256.bin : support booting from the NAND flash, for 256M RAM

        We select u-boot_sd-ram256.bin file for our OS. It provides booting from SD card and a 256MB RAM

    1. Boa Server

      boa is single tasking HTTP web server with a small size. It supports CGI which enables dynamic web so it is very suitable for embedded systems[1] .The most important feature of boa is its high speed ,it can handle several hundred hits with ease.

      Common gateway interface is a interface between the web server and the external applications. When server receives a request from user the server calls for CGI and then processes the request

      There are several steps for transplanting a boa in the system as mentioned below

      • Download the source code of the boa and decompress it using tar xzvf command[2]

      • Designate the root directory path to the /user/boa/src and change the default SERVER_ROOT by setting

        #define at the top of the src/define.h

      • Start the server using etc/init.d/httpd restart command

    2. Configuration of the Server

    boa.conf is the file single handedly responsible for the behavioral working of the server. It contains detailed version of the server settings and file access directories. The file could be opened and modified in a simple text editor as per the requirement

    the corresponding configuration is as follows port 80 #set the web port

    User root #restriction for the user Group root #restriction for the group0 ErrorLog /dev/console

    AccessLog /dev/null

    DocumentRoot /www #directory for html files of the server

    DirectoryIndex index.html #the first HTTP file KeepAliveMax 1000

    KeepAliveTimeout 10 MimeTypes /etc/mime.types DefaultType text/plain CGIPath /bin

    AddType application/x-httpd-cgi cgi

    ScriptAlias /cgi-bin/ /www/cgi-bin #Directory for CGI

  3. DESIGN AND TESTING

    1. Setting up the Cross-compiler Environment

      Cross compiler environment comes very handy while writing and compiling the codes of the embedded platform. For the given system the cross compiler environment used is arm-linux-gcc-4.5.1 and it by default supports armv6 command sets.

      The steps used to install the toolchain in the system are mentioned below

      • The gcc compiler code is package is extracted in tmp folder of the desktop system using the command

        tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz C

        /

        This command will install arm-linux-gcc into the toolchains directory

      • The compilers path is changed to the another path by using the command

        #gedit/root/.bashrc

        The changed path is now modified to the PATH=$PATH:/opt/toolschain/4.5.1/bin

      • arm-linux-gcc v is the command used to check wheather the compiler is installed properly or not

        This will complete the process for cross compilation environment.

        The cross compilation environment is used to compile the various programs meant for the arm Tiny6410 environment. A cgi program is written and compiled in the system and then it is added to the working environment. There are various ways by which a program could be added to the system such as FTP, JTAG or directly through the memory card transfer. We used the memory card transfer method because it is fast and less bulky

    2. Design of Web Server Pages

      The boa server is http enabled and the html page to be displayed by the server is by default index.html this page is stored in the /www directory

      The monitoring pages in the server could be designed and realized by using both HTML and CGI scripts as it supports both of the kinds. Unlike the HTML pages the cgi files are not stored in the /www directory but in the /etc/httpd/cgi directory. The structure of a simple CGI script under bash is shown as

      #!/bin/sh

      echo "Content-type: text/html\n" echo "<Your text here >"

      The file is stored in cgi directory and to make the file executable chmod +x filename.sh command is used. Furthermore the file could be accessed by using the .cgi extension

    3. Testing of the System

    After configuration of the server a sample program is tested on the system. As the server is not registered its domain name instead of it the crrent ip address of the server is used to access the page. udhcpc command gives rise the ip of the server :192.168.0.110

    The server was tested in Firefox browser on Ubuntu 13.04 OS platform with url http://192.168.0.110

    Here gives the obtained results of testing under firefox and development board practical effect diagram in fig.2 and fig. 3 respectively

    Fig 2. Result of using Firefox browser in Ubuntu 13.04

    Fig 3 . The development board practical effect diagram

  4. CONCLUSION

In the basis of successful of transplantation of the server, using the embedded web server in the area of network monitoring, which can greatly save system resources and improve the system efficiency, and give full play to the advantages of network. The web server can be accessed through a simple web browser thus can be applied to the industrial equipment, automation of agriculture, home medical equipment, information appliances, intelligent community and remote monitoring alarm system. Subsequently, aiming at gateway system, the design method of CGI script is introduced which can be very useful in dynamic webpage system

REFERENCES

  1. ZHANG Zhen, WANG Xiao-ning, ZHANG Yuan, Implantation and test of embedded Web server, Electronic Design Engineering, Vol.18, No.6, 2010, pp.13.

  2. Rongxin Li, Guoping Yu, Reasearch of Embedded Web Server Based on ARM, Microcomputer information August,2007,pp. 145-146

  3. www.boa.org

  4. Gong Yaofei, Jin Jing, Design of video server based on

    embedded Linux system, Electronic Measurement Technology, Vol.33, No.4, 2010, pp.72-74.

  5. S3C6410 Manual

  6. Yang Song, Biao Ma, Xiaoli Qin Investigation of key technology based on the embedded system of boaJournal of dalian nationalities universtity,May,2007,pp.34-36

Leave a Reply