Introduction

 

Welcome to the fantastic and revolutionary world of embedded computing. Not really long ago, Intel 386 @ 33 MHz (1985) and Intel 486 @ 66 MHz (1989) had been the mainstream processors of desktop PCs and corporate servers for many years. Today, the 32-bit ARM-based embedded computer, low-power and small-in-size, contains much more functionalities than an average PC in 1990s had:

 

*         High reliability, industrial grade (-40 to +85 oC)

*         High speed @ 80 MHz, low power.

*         LAN and WAN (PPPoE) interface

*         USB host and client interface

*         Solid state disk storage (onboard and external)

*         Real-time clock with NTP calibration

*         HTTP web server

*         FTP server

*         Telnet server

*         DDNS (Dynamic DNS)

*         SNMP V1,V2,V3 SDK (MD5 / SHA Authentication, DES / AES Privacy)

*         Web-based firmware update.

*         Human interface: LCD, keypad

*         Rich I/O interfaces: UART, SPI, I2C, GPIO

*         uClinux 2.4. 100% user programmable

 

 

General Hardware Specifications

 

The exact hardware configuration may vary among products as well as applications. Nevertheless, the followings are common to all targets:

 

CPU

Winbond ARM7TDMI

W90N745 / W90N710

80 MHz

Little Endian

Ethernet 10/100 M

1

ROM (NOR FLASH)

4 / 8 MB

SDRAM (16-bit X 4 M)

8 /16 MB

UART 300-115200 bps

Up to 4

AC97 Play/Record

1

USB 1.1 Host

1

USB 1.1 Client

1

I2C / SPI

1

Watchdog (4.5 seconds)

1

 

The followings are only available on W90N710 processor.

 

SD/Smart Card

1

LCD controller

1

Keyboard

1

 

 

Memory

 

Flash ROM

1.5 MB - boot loader, uClinux, ROM file system

2.5 MB ¡V user space (for 4 MB flash)

6.5 MB ¡V user space (for 8 MB flash)

SDRAM

3 MB ¡V System

1 MB - RAM file system

1 MB - RAM image of ROM file system

3 MB¡Vuser space (for 8 MB SDRAM)

10 MB ¡V user space (for 16 MB SDRAM)

 

 

Disk Storage

 

Internal

JFFS2

2.5 MB (for 4 MB flash)

6.5 MB (for 8 MB flash)

Internal

RAM FS

1 MB¡VRAM file system

External

VFAT

USB disk¡Vtypical 1 GB¡V32 GB

External

VFAT

SD/SDHC disk¡Vtypical 1 GB¡V32 GB

 

 

File System Structure

 

The file system of Linux starts from the root '/', which is read-only, located in the 1 MB ROM file system. Under the root, the directories on the device are:

 

/bin

RO

system executable files

/dev

RO

device driver entries

/etc

RO

system settings

/proc

RO

system statistics

/usr

RW

user RAM file

/swap

RW

system temporary RAM file

/var

RW

system temporary RAM file

/tmp

RW

system temporary RAM file

/flash

RW

2.5 ¡V 6.5 MB disk space on flash (jffs2 file system)

/usb

RW

reserved for mounting USB disk

/sd

RW

reserved for mounting SD card

* RO=Read Only. RW=Read / Write

 

 

/proc Virtual File

 

The files in /proc directory are virtual files which contain information of the system, drivers, peripherals, etc... They are read only and can be read by console command 'cat' or viewed by browsers through FTP server.

 

 

Software Packages

 

ARM Tools. (GPL License)

 

arm-elf-gcc 3.0 is included in our distribution CD. Use the script 'install.sh' and file 'arm_tools.tar.gz' to install the tools. The tools need to run in Linux environment.

 

 

uClinux Packages. (GPL License)

 

The source codes of uClinux packages are located in the 'uClinux-dist/user' directory in the file 'uClinux-dist.tar.gz' of our distribution CD. These packages are only a selected subset of original uClinux distribution. If you need the full package, you can get it from http://www.uclinux.org.

 

The quality of these packages spread with great variance. Only some are really useful. We put these software into 3 categories:

 

1.     System

Binaries in /bin have been pre-built by us. Users can use these binaries directly without the need of building them from source code.

 

*         inetd - Internet service server

*         boa - HTTP server

*         ftpd - FTP server

*         telnetd - Telnet server

*         login - Telnet login

*         ifconfig - network configuration utility

*         route - network route utility

*         dhcpc - DHCP client

*         sh - command shell

*         ping - ping utility

 

2.     Application Specific

Users need to customize these source code by themselves.

 

*         openssl - secure communication

*         smtpclient - email client

*         mail - email client

*         snmpd - SNMP agent

*         samba - samba server

 

3.     Reference Only

The complete list of uClinux-dist/user:

 

a60

agetty

at

bash

boa

boottools

bpalogin

br2684ctl

brcfg

bridge-utils

cal

cgi_generic

cksum

clock

COPYING

COPYING.LIB

cpu

cramfs

cron

demo

dhcpcd

dhcpcd-new

dhcpd

dhcp-isc

dhrystone

diald

discard

DISTRIBUTION

dnsmasq

e2fsprogs

elvis-tiny

ethattach

ez-ipupdate

fdisk

fileutils

flash

flashw

flatfsd

freeswan

frob-led

fs

fswcert

ftpd

games

gdbserver

gdsd

gettyd

hd

httpd

hwclock

ifattach

include

inetd

init

init.org

ipchains

ipfwadm

ipmasqadm

ipportfw

ipredir

iproute2

iptables

jffs-tools

klaxon

l2tpd

lcd

ledcon

levee

libz.a

lilo

lirc

lissa

loattach

login

Makefile

mathtest

mawk

mbus

mini_httpd

mount

msntp

mtd-utils

musicbox

netflash

netstat-nat

net-tools

null

nwsh

oggplay

openssl

palmbot

pciutils

pcmcia-cs

perl

ping

pktdelay

play

playrt

plug

portmap

pppd

pppd.small

pptp-client

pptpd

procps

python

rdate

readprofile

recover

reiserfsprogs

rootloader

route

routed

rp-pppoe

rtc-ds1302

rtc-m41t11

samba

sash

sethdlc

setserial

sh

shutils

slattach

smbmount

smtpclient

snmpd

squid

ssh

stp

strace

stty

stunnel

sysutils

tcpblast

tcpdump

tcpwrappers

tcsh

telnet

tftp

tftpd

threaddemos

thttpd

tinylogin

tip

tpt

traceroute

tripwire

ucdsnmp

version

vixie-cron

vplay

vpnled

w3cam

wget

wireless_tools

zebra

 

 

 

 

 

 

Development Packages. (Commercial License)

 

The following software packages are supplied by us, under commercial license, not GPL license. They are designed for customers who use our hardware products or are our design licensees. As long as the software is running on our hardware, users may use and modify the software freely without further obligations.

 

Binary & Source Code

These source codes come from real products in production quality, not just amateur demonstrations. They can be used as design templates for developing custom products, especially for users who have no or little uClinux experiences.

 

cgi

CGI program for web-based applications

lib

Commonly used APIs for building programs

etmd

Service for UDP-based IP address locator. Working together with 'Etm.exe' utility on Windows.

siod

Full-featured TCP/UDP to serial converter

www/sys

Html pages with JavaScript for web-based applications

www/demo

web interface demo

example

program examples

cgidemo

cgi examples

 

Binary Code

These software are driver-level programs which are very hardware dependent and greatly affect the system stability. Moreover, there's no need for users to customize these components. In order to maintain the system quality, only binary forms are provided.

 

sys_service

System service (FLASH programming, triggering watchdog, system initialization, etc ¡K)

cgisys

CGI interface to sys_service

 

 

Technical Support Policy

 

 

uClinux Packages & ARM Tools. (GPL License)

 

The uClinux distribution under GPL license contains millions of line of program source. To give an answer to a simple question like "Why my uClinux build becomes unstable ?", may need probably hundreds of hours for us to find out what's wrong there. There's no way we can afford to provide this kind of technical support. Like it or not, it¡¦s the very truth of GPL software : NO COST, NO WARRANTY, NO SUPPORT. Need assistance ? Try Google.

 

Therefore, our technical support for uClinux covers only the binaries that we built.

 

uClinux-2.4x

(linux.zip) pre-built binary

/user

(inetd, boa, ftpd, telnetd, login, ifconfig, route, dhcpc, sh, ping, ping) pre-built binary

 

All source codes in the uClinux distribution are NO SUPPORT.

 

Development Packages. (Commercial License)

 

Both binary and source of these software packages are fully supported.