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
USER CUSTOMIZATION
M68CPU32BUG REV 1 C-20
Q: How can I change the Periodic Interrupt Timer (PIT) "tick" time for the SYSCALL timing
functions?
A: Change the Periodic Interrupt Timer .PITR parameter to alter the "tick" count. This
parameter’s value is placed into the PITR register by the PWR_INI routine.
Q: How can I change the default RS-232 communications parameters, such as baud rate, parity,
number of data bits, stop bits, and XON/XOFF flow control?
A: Use the Console Default Table for SCI (.BAUD, .PARITY, .DATA, .STOP, .XON_ENB,
.XON, and .XOFF) to change these parameters.
Q: How can I change the crystal frequency? Can I use an external clock?
A: Change the FCRYSTAL parameter to alter the crystal frequency for the on-board Voltage
Controlled Oscillator (VCO). To use an external clock, the FEXTAL parameter must be set
to the external clock frequency and the MODCLK* line must be held low during reset.
CPU32Bug monitors the MODCLK* signal after reset to determine which parameter to use
when calculating SCI baud rates.
Q: Why do certain baud rates fail to work after I change the crystal frequency or use an external
clock?
A: There is an integral relationship between the system clock rate (F
SYSTEM
) and QSCI baud
rates, as per Section 5.6.3.1 SCI CONTROL REGISTER 0 (SCCR0), in the MC68332 User’s
Manual, MC68332UM/AD (or in the previous MC68332 System Integration Module User’s
Manual, SIM32UM/AD), as defined by the following equation:
SCI baud = System Clock/(32 x SCBR)
where SCBR equals {1, 2, 3, ..., 8191}. For a specific baud rate to function, the difference
between the Nominal Baud Rate and the Actual Baud Rate as typified by Table 5-13, should
be kept within 3% for reliable operation. Reliable communication also depends greatly upon
the ability of the communications hardware at the other end, i.e., a modern VLSI UART
device, such as found in the IBM-PC, might tollerate baud rate error differences up to 5%.
In summary, all baud rates may not be available depending upon the system clock rate used.
USER CUSTOMIZATION
M68CPU32BUG REV 1 C-21
Q: After I made the parameter change for an external clock (FEXTAL) and tied MODCK low
on header P2 by jumping pin 28 to 64, nothing happens when I power up the BCC, i.e., no
signon message appears. Why doesn’t it work?
A: The trace between pins 2 and 3 of jumper J1 on the BCC must be cut and the jumper placed
over pins 1-2 of J1 before the external clock signal can reach the MCU EXTAL pin.
Q: How can I change the number of data bytes in the the S-records produced by the dump (DU)
command?
A: Change the SRECMAX parameter to alter the data count. Larger counts produce more
efficient data S-records, but some loaders cannot accomodate them and they are harder to
view/edit as text files. Thus the default is set to 32 ($20) data bytes per record.
Q: How can I move the register module base to $007FFF00 when it is controlled by a write-once
MM bit in the Module Control Register (MCR)?
A: Change the MCR_AND parameter so the MM bit position (bit 6) is zero. The PWR_INI
routine initializes the MCR register by first reading the register, OR’ing in the MCR_OR
parameter value and then AND’ing the result with the MCR_AND parameter value before
storing the resulting value back into the MCR register.
Q: How can I enable the Software Watchdog or change the Bus Monitor Timing when they are
controlled by the write-once System Protection Control Register (SYPCR)?
A: Change the SYPCR_OR and SYPCR_AND parameters to achieve the desired value to be
placed into the SYPCR register. The PWR_INI routine initializes the SYPCR register by
first reading the register, OR’ing in the SYPCR_OR parameter value and then AND’ing the
result with the SYPCR_AND parameter value before storing the resulting value back into the
SYPCR register. As the Software Watchdog timeout period is set to smaller and smaller
values, some CPU32Bug commands may fail to complete their tasks before the watchdog can
be serviced, which causes a system reset. If the value is too small, the CPU32Bug signon
message will never appear, as the MCU will be in a state of chronic reset.
Fr
eescale S
emiconduct
or
, I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
nc...