I. Introduction

Usually an 8051 application program is not running correctly from scratch, and it is not quite easy to debug it without a suitable test equipment. It is very inconvenient, to burn the program into an EPROM after every change. Instead it would be nice to load the program into the external RAM of the target board and then start it. This would dramatically speed up the turn-around cycles. However, three problems must be solved first:

  1. There must be a suitable interface to transmit the application program from the host (PC) to the target (8051) system.
     
  2. The target board needs a suitable firmware that can receive a program from the host computer, store it in the external RAM, and finally execute it.
     
  3. Once loaded, the application program must be executable, although it is stored in the external RAM, which is usually mapped into the XDATA address space.
    (Programs can only be executed in the CODE address space!)

The corresponding three solutions are:

  1. an RS-232 interface between the PC and the 8051 board
  2. a bootstrap program
  3. external RAM that is mapped into both the CODE and XDATA address space

Nearly all evaluation boards for 8051 derivatives are meeting requirements 1 and 3. In most cases, it is easy to establish a memory map according to requirement 3, even on target boards that do not originally support it.
(See chapter II.4 Design of MCS-51 Evaluation Boards.)

Requirement 2 can be met by burning a customized version of BOOT-51 into the EPROM of the target board. After system reset, it can receive an Intel-HEX file over the serial interface, store it in the external RAM, and finally jump to the program start address.

BOOT-51 itself doesn't need any external RAM, and requires only 1 kB of EPROM. In principle, it is not restricted to a PC-based host system, but presently only the host platforms MS-DOS, Windows 9x, and Linux (i386) are supported.

Sure, a bootstrap program cannot replace a target debugger, but it's a start.



[contents] [up] [back] [next]