TAPR M-51 Operation Manual Download Page 1

M-51

A Simple Debugging Monitor for TAPR’s TUC-52

Operations Guide

Issue 1 –  January 21, 1998

(For M-51  Ver 980121-3.00a)

Tucson Amateur Packet Radio

8987-309 E. Tanque Verde Rd., #337

Tucson, AZ 85749-9399

Phone: +1 940-383-0000

Fax: +1 940-566-2544

[email protected]

Copyright 1997 

 1998, TAPR.  All Rights Reserved.

This document may be reproduced by individuals for their own personal use, provided this notice is included in any reproduction.

The information in this document is subject to change without notice and does not represent a commitment on the part of anyone to do

anything.  No warranty, express or implied, is made regarding this document or associated firmware, or its use or misuse.

File:  m51-i1.doc

1.

 

INTRODUCTION

This document describes a version of an 8051 monitor called M-51 that has been customized to run on
TAPR’s (Tucson Amateur Packet Radio) TUC-52 board.  TUC-52 is a universal controller that TAPR
makes available for ham radio applications.

The M-51 monitor is like most other simple debug monitor for a single board, stand alone, microcomputer
system.  A somewhat unusual feature for this simple monitor is that is allows the user to single-step through
user programs executing from double mapped (program and data) RAM memory.

This manual describes how to use the monitor, what's needed for hardware, and different options for
recovering the lost P0 and P2 ports, which are not available for I/O since they are used to create the address
and data bus.

As with all instruction manuals, there may be some errors or sections that do not provide satisfactory
explanations.  If you find errors or insufficient information, please contact me about these problems and I
will work to correct them.

2.

 

OVERVIEW

The monitor offers many commands to help debug a microcomputer program or system.  All commands
consist of one , two or three letter commands.  Commands can be followed by 0 to 16 arguments.  All
command line arguments are numeric values in base 16 (hexadecimal).  With the exception of the GO
command, all arguments are separated from the command and other arguments by white-space characters.
Arguments shown in angle brackets <LIKE-THIS> are optional.  Within this document specific keyboard
presses are shown underlined and special characters are shown in braces.  For example a space would be
shown as {sp}, a return would be shown as {rtn}, an escape would be shown as {esc} and a period when
used in a command line would be shown as {.}.  All command input lines must be ended with a {rtn) (on
modern PCs the rtn key is labeled <-Enter)however some commands will accept a space as a command to

Summary of Contents for M-51

Page 1: ...from double mapped program and data RAM memory This manual describes how to use the monitor what s needed for hardware and different options for recovering the lost P0 and P2 ports which are not available for I O since they are used to create the address and data bus As with all instruction manuals there may be some errors or sections that do not provide satisfactory explanations If you find error...

Page 2: ... a summary for each command The next section provides the details of each command Table 1 Command Summary Command Description Usage BLAST FROM Blast from XDM BF adr data BLAST TO Blast to XDM BT adr data CHECK PROG MEM Checksum of PM CP first last CHECK XDATA Checksum of XDM CX first last DISPLAY PGM Display Program Memory DP first last DISPLAY XDM Display External Data Memory DX first last DISPLA...

Page 3: ...d is followed by two arguments CHECKSUM calculates a 16 bit sum checksum from arg0 to arg1 inclusive and prints the sum on the console Use CP first last for Program Memory and CX first last for XDM An example would be m51 cp 1000 1fff rtn Checksum 14DE m51 2 3 3 DISPLAY DP DX DI DS The DISPLAY is used to show the data at multiple consecutive locations of PM XDM IDM or SFRs Use DP for PM DX for XDM...

Page 4: ...egister incl reg bank XK display and allow changes of just the current reg bank within PSW XRn display and allow changes of Rn of the selected register bank n 0 1 7 XD display and allow changes of the DPTR register 16 bits XB display and allow changes of the B register XS display and allow changes of the SP register XP display and allow changes of the PCTR register 16 bits Some examples would be m...

Page 5: ...or and the monitor will return the original user s data to the breakpoint address The GO command restores all user registers before going to the user program and it saves all user registers following a break point Be sure to review the section near the end of this document titled Cautions with GO Breakpoints NEXT and ZNEXT Commands This is important information 2 3 7 HELP H The HELP command will p...

Page 6: ...register The 8051 will execute one instruction and then go on to the following instruction where it will then encounter the previously placed monitor trap instruction This instruction will transfer execution back to the monitor which will 1 swap the trap instruction with the user s original instruction at the trap address 2 save the user s registers 3 print the user s registers to the terminal and...

Page 7: ...mory space The RXINTEL command may be followed by an optional offset argument The offset value is added to the address contained in each record of the HEX code The result of the addition points to where the data portion of the record will be stored in XDM If the offset is omitted it is assumed to be zero When a record is correctly received a dot will be printed on the console When the end of file ...

Page 8: ...or heavily capacitivly coupled address and or data leads An example would be m51 tx 0 1000 rtn TR Write Read Write Test TR Loading initial value 00 TR Walking ones 01 02 04 08 10 20 40 80 TR Loading initial value FF TR Walking zeros FE FD FB F7 EF DF BF 7F TR Random data test TR Test OK m51 3 MEMORY AND PORT MAPPING The m 51 monitor as configured for TUC 52 requires that the monitor ROM start at 0...

Page 9: ...and P3 7 are lost to RD and WR signals Ports 0 and 2 can be recovered by 8255 I O ports to some extent If possible assign those I Os that need to be bi directional of quickly bit banged to P1 and the unused sections of P3 Then group all the remaining inputs to one 8255 port configured as in input and all the remaining outputs to another 8255 port configured as an output In most cases this will giv...

Page 10: ... point address es However the monitor isn t always successful at this You may need to re download the your code again to ensure that your code is intact Recall that the monitor uses a three byte LCALL instruction as its breakpoint trap instruction It s unfortunate that the 8051 doesn t include a single byte call instruction like the RSTn of the 8080 family This would be ideal for use by a simple m...

Page 11: ...ruction to any other location in the Program Memory space In general the first vector location 0003H jumps to EFFDH the second vector 000BH jumps to EFFAH and so on At the time this document was written the interrupt vectors were as follows Table 2 Interrupt Vectors3 ROM Adr Jumps to RAM Adr 00003H Jumps to 0EFFDH 0000BH Jumps to 0EFFAH 00013H Jumps to 0EFF7H 0001BH Jumps to 0EFF4H 00023H Jumps to...

Reviews: