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.