Web 51 Development System
Since version 1.12, the development system does not use any proprietary software (no Microsoft, no Keil.. :-).
All tasks are accomplished by free, open-source software tools.
P-Code instructions don't need macros anymore, native P-Code support is built into the mcs51-as compiler.
Web 51 is almost entirely written in I51 assembly. The GNU binutils package was chosen for compiling source
code, subsequent linking (connecting user portions with library functions) and final conversion into a programmer-friendly
The binutils package was enhanced to support I51 series of processors. Its main components are:
- mcs51-ar GNU ar - operation on archives
- mcs51-as GNU as - GNU assembler. Detailed documentation is in as.pdf from the GNUDOC package.
- mcs51-gasp GNU gasp - preprocessor for assembly programs
- mcs51-ld GNU ld - GNU linker. Detailed documentation is in ld.pdf from the GNUDOC package.
- mcs51-nm GNU nm - lists symbols in compiled files
- mcs51-objcopy GNU objcopy - copying and format conversions of compiled files
- mcs51-objdump GNU objdump - displays information from compiled files (hex dump, disassembler,...)
- mcs51-ranlib GNU ranlib - indexes archive files
- mcs51-readelf GNU readelf - displays information from compiled files
- mcs51-size GNU size - displays sizes of individual sections and total size of compiled files
- mcs51-strings GNU strings - displays text strings in compiled files
- mcs51-strip GNU strip - removes symbols from compiled files
The patch that adds MCS51 support to the standard binutils distribution is available for download.
Another addition to binutils converts binary files into Intel HEX.
- bin2hex.exe converts binary files into Intel HEX format
Source code of bin2hex is available in the download section.
UNIX-like utilities commonly used in Makefiles were added to the DOS32 version (runs under W9x,...). Linux version
contains links to their usual locations (tested on Debian).
- bash GNU Bourne-Again SHell, DOS32 version of the UNIX command shell. Detailed documentation is in bash.html from the GNUDOC package.
- make GNU make - DOS32 version of the UNIX make utility. Detailed documentation is in make.html from the GNUDOC package.
- perl interpreter
- rm GNU rm - DOS32 version of the file removing UNIX utility
Linux versions of mcs51-* and bin2hex were compiled and tested under Debian version 2.2 (Intel). DOS32 versions
were compiled with DJGPP under Windows 98.
The above mentioned utilities are a part of the BINxx package.
Directory /bin may contain another utilities for ISP as well.
/bin also contains Perl scripts from the GNUxx package. These are:
- bashref.htm GNU Bash Reference Manual
- make.htm The GNU Make Manual
- ld.pdf The GNU linker - V2.11 / ld version 2
- as.pdf The GNU Assembler - V2.11
- gplcz.htm Unofficial Czech translation of the GNU General Public License
- gnu.jpg GNU logo
These docs come from the GNUDOC package - DOWNLOAD
- 8019.inc definitions of Ethernet, IP, TCP,... constants, RTL8019 registers, ...
- param.inc basic definitions of the HW and SW environment for compilation
- param.23 param.inc for which the libk23 and libw23 libraries were compiled. When using example libraries libx23, it can be renamed to param.inc.
- param.80 param.inc for which the libk80 a libw80 libraries were compiled. When using example libraries libx80, it can be renamed to param.inc.
This directory contains libk and libw libraries used by the WEB51 development system,
system kernel and a script that links individual modules and libraries into the final program.
- (libk.a) User-compiled kernel library libk
- libk23.a Standard libk library supplied with the system, compiled with support for 2 TCP stacks, active connection establishing for stack no. 1, and serial line support.
- libk80.a Standard libk library supplied with the system, compiled with
support for 1 TCP stack, no serial line support.
- (libw.a) User-compiled libw library of arithmetic, logic, I/O, and other functions (work lib)
- libw23.a Standard libw library supplied with the system, compiled with support for 2 TCP stacks, active connection establishing for stack no. 1, and support for serial line.
- libw80.a Standard libw library supplied with the system, compiled with
support for 1 TCP stack, no serial line support.
- web51.asm Source code of the system kernel
- (web51.obj) User-compiled system kernel
- web51_23.obj Basic kernel (2TCP/...) compiled with standard settings
- web51_80.obj Basic kernel (1TCP/...) compiled with standard settings
- www51.sc Script that controls the mcs51-ld linker, ensuring proper linking of modules, libraries and other parts into the final code
- Makefile that controls the build process of libraries and web51 module
Contains a library of CGI scripts for your HTML pages. Contains source code as well as binaries,
in the distribution version compiled for use with libx80 settings.
This directory contains a set of example applications that demonstrate WEB51 programming. We recommend to store
your own applications in this directory, too. The basic set of applications is described
FULL version of the development system is on the CD distributed with the Web 51 kit, which you can
Files in the FULL version of the development system are distributed under a proprietary licence that is a part
of the development kit.
Free version of the development system is available for download as a RAR or TAR archive.
All source codes contained in it are distributed under the GNU General Public License.
If you would like to obtain a different licence, e.g. to use the sources in a commercial project, use the FULL/LITE
version or contact the author.