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 COMMANDS
M68CPU32BUG/D REV 1 3-32
LO Load S-Records From Host LO
Other options:
-C Ignore checksum. A checksum for the data contained within an S-record is
calculated as the S-record is read in through the port. Normally this calculated
checksum is compared to the checksum contained within the S-record. If the
compare fails, an error message is sent to the screen on completion of the
download. If this option is selected, then the comparison is not made.
X Echo. As the S-records are read in at the host port, they are echoed to the user’s
terminal. Do not use this option when port 0 is specified.
T TRAP #15 code. This option causes LO to set the target register D4 = ’LO’x, with
x = $0C ($4C4F200C). The ASCII string ’LO’ indicates that this is the LO
command; the code $0C indicates TRAP #15 support with stack parameter/result
passing and TRAP #15 disk support. This code is used by the downloaded
program to select the appropriate calling convention when executing debugger
functions. Since some Motorola debuggers use conventions different from
CPU32Bug, they set a different code in D4.
The S-record format (refer to Appendix A) allows a specified entry point in the address field of
the S-record-block termination record. The contents of the termination-record address field (plus
any offset address) is put into the target PC. Thus after a download the user need only enter G or
GO instead of G <addr> or GO <addr> to execute the downloaded code.
If a non-hex character is encountered within the data field of a data record, then that part of the
record, preceeding the non-hex character, is displayed. This causes the CPU32Bug error handler
to point at the faulty character.
An error condition exists if the embedded-record checksum does not agree with the checksum
calculated by CPU32Bug. An output message displays the address of the record (as obtained
from the address field of the record), the calculated checksum, and the checksum read with the
record. A copy of the record is also output. A checksum error is a fatal error and causes the
command to abort.
When a load is in progress, each data byte is written to memory and then the contents of this
memory location are compared to the data to determine if the data is stored properly. If for some
reason the compare fails, then an output message displays the address where the data was to be
stored, the data written, and the data read back during the compare. This is also a fatal error and
causes the command to abort.
S-records are processed character-by-character. So if the command aborts due to an error, all data
stored previous to the error is still in memory .
DEBUG MONITOR COMMANDS
M68CPU32BUG/D REV 1 3-33
LO Load S-Records From Host LO
EXAMPLES Suppose a host computer was used to create a program that looks like this:
1 * Test Program.
2*
3 65004000 ORG $65004000
4
5 65004000 7001 MOVEQ.L #1,D0
6 65004002 D088 ADD.L A0,D0
7 65004004 4A00 TST.B D0
8 65004006 4E75 RTS
9 END
****** TOTAL ERRORS 0--
****** TOTAL WARNINGS 0--
Then this program was converted into an S-record file named TEST.MX as follows:
S00F00005445535453335337202001015E
S30D650040007001D0884A004E7577
S7056500400055
Load this file into BCC memory for execution at address $4000 as follows:
CPU32Bug>LO -65000000<CR>
Blank line as the BCC waits for an S-record.
Enter the terminal emulator’s escape key to return to the host computer’s operating system (ALT-
F4 for ProComm). A host command is then entered to send the S-record file to the port where the
BCC is connected (for MS-DOS based host computer this would be "type test.mx >com1", where
the BCC was connected to the com1 port).
After the file has been sent, the user then restarts the terminal emulation program (for MS-DOS
based host computers, enter EXIT at the prompt).
Since the port number equals the current terminal, two <CR>’s are required to signal CPU32Bug
that the download is complete and the terminal emulation program is ready to receive any error
messages.
<CR><CR> Signal download completion.
CPU32Bug> No error messages.
Fr
eescale S
emiconduct
or
, I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
nc...