User manual
Table Of Contents
- COVER
- TABLE OF CONTENTS
- CHAPTER 1 GENERAL INFORMATION
- CHAPTER 2 DEBUG MONITOR DESCRIPTION
- CHAPTER 3 DEBUG MONITOR COMMANDS
- CHAPTER 4 ASSEMBLER/DISASSEMBLER
- CHAPTER 5 SYSTEM CALLS
- CHAPTER 6 DIAGNOSTIC FIRMWARE GUIDE
- APPENDIX A S-RECORD INFORMATION
- APPENDIX B SELF-TEST ERROR MESSAGES
- APPENDIX C USER CUSTOMIZATION
- LIST OF FIGURES
- LIST OF TABLES
- Table 2-1. Debugger Address Parameter Format
- Table 2-2. CPU32Bug Exception Vectors
- Table 3-1. Debug Monitor Commands
- Table 4-1. CPU32Bug Assembler Addressing Modes
- Table 5-1. CPU32Bug System Call Routines
- Table 6-1. MCU CPU Diagnostic Tests
- Table 6-2. Memory Diagnostic Tests
- Table B-1. Self-Test Error Messages
- Table C-1. CPU32Bug Customization Area
- Table C-2. MCU SCI Communication Formats
- Table C-3. Rev. A Chip Selection Summary
- Table C-4. Rev. B Chip Selection Summary
- Table C-5. BCC Rev. C Chip Selection Summary
- Table C-6. PFB Rev. C Compatibility
- CHAPTER 1 GENERAL INFORMATION
- CHAPTER 2 DEBUG MONITOR DESCRIPTION
- CHAPTER 3 DEBUG MONITOR COMMANDS
- 3.1 INTRODUCTION
- 3.2 BLOCK OF MEMORY COMPARE
- 3.3 BLOCK OF MEMORY FILL
- 3.4 BLOCK OF MEMORY MOVE
- 3.5 BREAKPOINT INSERT/DELETE
- 3.6 BLOCK OF MEMORY SEARCH
- 3.7 BLOCK OF MEMORY VERIFY
- 3.8 DATA CONVERSION
- 3.9 DUMP S-RECORDS
- 3.10 GO DIRECT (IGNORE BREAKPOINTS)
- 3.11 GO TO NEXT INSTRUCTION
- 3.12 GO EXECUTE USER PROGRAM
- 3.13 GO TO TEMPORARY BREAKPOINT
- 3.14 HELP
- 3.15 LOAD S-RECORDS FROM HOST
- 3.16 MACRO DEFINE/DISPLAY/DELETE
- 3.17 MACRO EDIT
- 3.18 MACRO EXPANSION LISTING ENABLE/DISABLE
- 3.19 MEMORY DISPLAY
- 3.20 MEMORY MODIFY
- 3.21 MEMORY SET
- 3.22 OFFSET REGISTERS DISPLAY/MODIFY
- 3.23 PRINTER ATTACH/DETACH
- 3.24 PORT FORMAT
- 3.25 REGISTER DISPLAY
- 3.26 COLD/WARM RESET
- 3.27 REGISTER MODIFY
- 3.28 REGISTER SET
- 3.29 SWITCH DIRECTORIES
- 3.30 TRACE
- 3.31 TRACE ON CHANGE OF CONTROL FLOW
- 3.32 TRANSPARENT MODE
- 3.33 TRACE TO TEMPORARY BREAKPOINT
- 3.34 VERIFY S-RECORDS AGAINST MEMORY
- CHAPTER 4 ASSEMBLER/DISASSEMBLER
- CHAPTER 5 SYSTEM CALLS
- 5.1 INTRODUCTION
- 5.2 SYSTEM CALL ROUTINES
- 5.2.1 Calculate BCD Equivalent Specified Binary Number
- 5.2.2 Parse Value, Assign to Variable
- 5.2.3 Check for Break
- 5.2.4 Timer Delay Function
- 5.2.5 Unsigned 32 x 32 Bit Divide
- 5.2.6 Erase Line
- 5.2.7 Input Character Routine
- 5.2.8 Input Line Routine
- 5.2.9 Input Serial Port Status
- 5.2.10 Unsigned 32 x 32 Bit Multiply
- 5.2.11 Output Character Routine
- 5.2.12 Output String Using Pointers
- 5.2.13 Print Carriage Return and Line Feed
- 5.2.14 Read Line to Fixed-Length Buffer
- 5.2.15 Read String Into Variable-Length Buffer
- 5.2.16 Return to CPU32Bug
- 5.2.17 Send Break
- 5.2.18 Compare Two Strings
- 5.2.19 Timer Initialization
- 5.2.20 Read Timer
- 5.2.21 Start Timer at T=0
- 5.2.22 Output String with Data
- 5.2.23 Output String Using Character Count
- CHAPTER 6 DIAGNOSTIC FIRMWARE GUIDE
- 6.1 INTRODUCTION
- 6.2 DIAGNOSTIC MONITOR
- 6.2.1 Monitor Start-Up
- 6.2.2 Command Entry and Directories
- 6.2.3 Help (HE)
- 6.2.4 Self Test (ST)
- 6.2.5 Switch Directories (SD)
- 6.2.6 Loop-On-Error Mode (LE)
- 6.2.7 Stop-On-Error Mode (SE)
- 6.2.8 Loop-Continue Mode (LC)
- 6.2.9 Non-Verbose Mode (NV)
- 6.2.10 Display Error Counters (DE)
- 6.2.11 Clear (Zero) Error Counters (ZE)
- 6.2.12 Display Pass Count (DP)
- 6.2.13 Zero Pass Count (ZP)
- 6.3 UTILITIES
- 6.4 CPU TESTS FOR THE MCU
- 6.5 MEMORY TESTS (MT)
- 6.6 BUS ERROR TEST
- APPENDIX A S-RECORD INFORMATION
- APPENDIX B SELF-TEST ERROR MESSAGES
- APPENDIX C USER CUSTOMIZATION

DEBUG MONITOR DESCRIPTION
M68CPU32BUG/D REV 1 2-6
EXAMPLE A portion of the listing file of a re-locatable module assembled with the
MC68300 Family DOS resident assembler is shown below:
1
2*
3 * MOVE STRING SUBROUTINE
4*
5 0 00000000 48E78080 MOVESTR MOVEM.L D0/A0,-(A7)
6 0 00000004 4280 CLR.L D0
7 0 00000006 1018 MOVE.B (A0)+,D0
8 0 00000008 5340 SUBQ.W #1,D0
9 0 0000000A 12D8 LOOP MOVE.B (A0)+,(A1)+
10 0 0000000C 51 C8FFFC MOVS DBRA D0,LOOP
11 0 00000010 4CDF0101 MOVEM.L (A7)+,D0/A0
12 0 00000014 RTS
13
14 END
****** TOTAL ERRORS 0-
****** TOTAL WARNINGS 0-
The above program was loaded at address 0000427C. The disassembled code is:
CPU32Bug>MD 427C;DI<CR>
0000427C 48E78080 MOVEM.L D0/A0,-(A7)
00004280 4280 CLR.L D0
00004282 1018 MOVE.B (A0)+,D0
00004284 5340 SUBQ.W #1,D0
00004286 12D8 MOVE.B (A0)+,(A1)+
00004288 51C8FFFC DBF D0,$4286
0000428C 4CDF0101 MOVEM.L (A7)+,D0/Ao
00004290 4E75 RTS
By using one of the offset registers, the disassembled code address can be made to match the
listing file address as follows:
CPU32Bug>OF R0<CR>
R0 =00000000 00000000? 427C: 16.<CR>
CPU32Bug>MD 0+R0;DI<CR>
00000+R0 48E78080 MOVEM.L D0/A0,-(A7)
00004+R0 4280 CLR.L D0
00006+R0 1018 MOVE.B (A0)+,D0
00008+R0 5340 SUBQ.W #1,D0
0000A+R0 12D8 MOVE.B (A0)+,(A1)+
0000C+R0 51C8FFFC DBF D0,$A+R0
00010+R0 4CDF0101 MOVEM.L (A7)+,D0/A0
00014+R0 4E75 RTS
CPU32Bug>
For Additional information about the offset registers, see the OF command description.
DEBUG MONITOR DESCRIPTION
M68CPU32BUG/D REV 1 2-7
2.2.2 Port Numbers
Some CPU32Bug commands allow the user to decide which port is the input or output port.
Valid port numbers are:
0 - MCU SCI Port (RS-232C communication port; P4 on the BCC and P9 on the PFB)
Although CPU32Bug supports other ports (see PF command), there is no hardware present on
the BCC to support additional ports. Thus the commands which allow port numbers (DU, LO,
PF, VE) can only use port 0. Those commands requiring a second port (PA, TM) are not
functional without additional hardware.
2.3 ENTERING AND DEBUGGING PROGRAMS
There are various ways to enter a user program into system memory. One is to create the program
using the assembler/disassembler option and the MM (memory modify) command.
The user enters the program one source line at a time. After each source line is entered, it is
assembled and the object code is loaded into memory. Refer to Chapter 4 for complete details of
the CPU32Bug assembler/disassembler.
Another way to enter a program is to download an object file from a host system (i.e., a personal
computer). The program must be in S-record format (described in Appendix A) and may be
assembled or compiled on the host system. The file is downloaded from the host into BCC
memory via the debugger LO command. Alternately, the program may be created using the
CPU32Bug MM command as outlined above and stored to the host using the DU (dump)
command. A communication link must exist between the host system and the BCC’s serial port.
2.4 CALLING SYSTEM UTILITIES FROM USER PROGRAMS
A convenient method to input and output characters as well as many other useful operations is
provided by the TRAP #15 instructions. This frees the user from having to write these routines
into the target code. Refer to Chapter 5 for details on various TRAP #15 utilities and how to
execute them from a user program.
2.5 PRESERVING DEBUGGER OPERATING ENVIRONMENT
Avoiding contamination of the debugger operating environment is explained in the following
paragraphs. CPU32Bug uses certain MCU on-board resources and may also use off-board system
memory to store temporary variables, exception vectors, etc. If the user violates CPU32Bug
dependent memory space, then the debugger may not function.
Fr
eescale S
emiconduct
or
, I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
nc...