- No category
advertisement
EMUL16/300–PC™
User Guide
© ICE Technology
Downloading EMUL16/300–PC Product Documentation 2
Overview of the EMUL16/300–PC Emulator System 3
ISA Card Emulator (PC Plug-In) 4
High-Speed Parallel Box (HSP) 4
Emulator Parallel Cable (EPC) 5
Low Cost-Industry Standard Architecture (LC-ISA) 5
User Interface 6
Quick Start for Installing Your Emulator System 6
Quick Start for Installing the Hardware 7
Installing and Configuring the Seehau Software 9
Installing the Software 9
Configuring Seehau Software 9
Purchasers of Emulator and Trace Boards 10
Configuring Address Settings With Windows Operating Systems 11
Configuring Address Settings for the Emulator and Optional Trace Board 11
Information about Windows NT Installation 11
Known Device Driver Conflicts 11
Configuring Address Settings With Windows 95/98 12
Alternative Addressing 12
Configuring Address Settings With Windows NT 13
Alternative Addressing 14
Nohau16/300 Device Driver 15
Configuring Address Settings With Windows 2000 16
Alternative Addressing 20
Nohau16/300 Device Driver With Windows 2000 20
Installing and Configuring the Emulator Board 21
Installing the Emulator Board 21
I/O Address 22
Typical PC I/O Addresses 23
Factory and Alternate Settings 23
Setting Target Communication Rate Using BDM 24
Factory Settings 24
Emulator Board 25
Configuring the Emulator 26
Quick-Save Hardware Settings 29
Installing and Configuring the Trace Board 31
Overview 31
Installing the Trace Board 31
I/O Address 32
Installing the Trace Board With an HSP Box 32
Installing the Trace Board With a PC 32
Factory Settings 33
Bank Switch Jumpers 34
Configuring the Trace Board 34
Trace Setup Fields 37
Trigger Qualifier 38
Data Qualifier 39
Installing the Pod Boards 41
Overview 41
Pod Types 41
Connecting the Pod to the Target Board 41
How this Chapter is Organized 42
EMUL16/300–PC User Guide
Important Notes About Pod Boards 42
Factory Configuration of Pod Boards 42
Remove Black Conducting Foam Before Using Your Pod 42
Features Common to All Pods 42
Background Debug Mode (BDM) 42
Background Debug Connector (BERG) 43
Using Just the BERG Connector 43
Indicator Lights 43
Disabling Resources 44
Removing and Installing the Controller 44
POD–16S2 46
Overview 46
POD–16S2 LED Indicators 46
POD–16S2 Configuration Options 47
Header and Jumper Details 47
Using the Port Replacement Unit 51
Chip Select /CS5 51
Set Up Conditional Compilation 52
Locate the Replacement Registers 52
Use Replacement Registers 52
Connecting the Pod to the Target Board 53
POD–16X1 54
Overview 54
POD–16X1 LED Indicators 55
POD–16X1 Configuration Options 55
Header and Jumper Details 56
RAM BNK1 and /CSM 59
MCU Operating Modes 59
Is Emulation Possible 59
Transparent Mode 60
Pull TSC Low 60
Pull /BKPT and /BERR High 60
Healthy CLKOUT Signal 61
Other Bus Masters 61
Multiple Bus Masters and Partially Expanded Mode 61
Connecting the Pod to the Target Board 62
© ICE Technology
POD–16Y1 63
Overview 63
POD–16Y1 LED Indicators 64
POD–16Y1 Configuration Options 64
Header and Jumper Details 65
Notes On the 16Y1 Pod 68
Connecting the Pod to the Target Board 68
POD–16Y3 70
Overview 70
POD–16Y3 LED Indicators 71
POD–16Y3 Configuration Options 71
Header and Jumper Details 72
Special Considerations for the 68HC(9)16Y3 MCU 75
Chip Select Logic 75
BOOT ROM 75
Connecting the Pod Board to the Target Board 76
POD–16Z1 77
Overview 77
POD–16Z1 LED Indicators 77
POD–16Z1 Configuration Options 78
Header and Jumper Details 79
Port Replacement Unit (PRU) 82
Chip Select /CS5 83
Conditional Compilation 83
Locate the Replacement Registers 83
Use the Replacement Registers 83
Port E Configurations 84
Notes on Rev. A / B 84
Notes on Rev. C 84
Notes on Rev. D or Later 85
Connecting the Pod to the Target Board 85
POD–CM16Z1 87
Overview 87
POD–CM16Z1 LED Indicators 87
POD–CM16Z1 Configuration Options 88
Header and Jumper Details 89
RAM BNK1 and /CSM 92
Connecting the Pod to the Target Board 92
EMUL16/300–PC User Guide
POD–331 93
Overview 93
Physical Dimensions 93
POD–331 LED Indicators 94
POD–331 Configuration Options 94
Header and Jumper Details 95
RAM BNK1 and /CSM 97
Connecting the Pod to the Target Board 97
68331 Configuration Requirements 98
Using Emulation RAM 99
Without SIZx Signals 100
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory 101
Other Startup Code Suggestions 101
Timers and the FREEZE Signal 102
Watchdog Timer 102
Processor Clock Rate 102
POD–332 103
Overview 103
Physical Dimensions 103
POD–332 LED Indicators 103
POD–332 Configuration Options 104
Header and Jumper Details 105
RAM Bank1 and /CSM 107
Connecting the Pod to the Target Board 107
68332 Configuration Requirements 108
Using Emulation RAM 108
Without SIZx Signals 110
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory 110
Startup Code Suggestions 111
Timers and the FREEZE Signal 111
Watchdog Timer 112
Processor Clock Rate 112
POD–333 113
Overview 113
Physical Dimensions 113
POD–333 LED Indicators 114
POD–333 Configuration Options 114
Header and Jumper Details 115
RAM Bank2 and /CSM 118
Chip Description 118
Is Emulation Possible? 118
Pull TSC Low 119
© ICE Technology
v
Pull /BKPT and /BERR High 119
Healthy CLKOUT Signal 119
Other Bus Masters 120
Multiple Bus Masters and Partially Expanded Mode 120
Connecting the Pod to the Target Board 120
MCU Operating Modes 121
BDM 121
Startup Code Suggestions 122
Timers and the FREEZE Signal 122
Watchdog Timer 122
Processor Clock Rate 122
Port Configuration 123
POD–334 124
Overview 124
Physical Dimensions 124
POD–334 LED Indicators 124
POD–334 Configuration Options 125
Header and Jumper Details 125
RAM Bank1 and /CSM 128
Connecting the Pod to the Target Board 128
68334 Configuration Requirements 129
Using Emulation RAM 129
Without SIZx Signals 130
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory 131
Other Startup Code Suggestions 132
Timers and the FREEZE Signal 132
Watchdog Timer 132
Processor Clock Rate 133
POD–335 134
Overview 134
Physical Dimensions 134
POD–335 LED Indicators 134
POD–335 Configuration Options 135
Header and Jumper Details 135
RAM Bank1 and /CSM 138
Connecting the Pod to the Target Board 138
68335 Configuration Requirements 139
Using Emulation RAM 139
Without SIZx Signals 140
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory 141
Other Startup Code Suggestions 142
Timers and the FREEZE Signal 142
EMUL16/300–PC User Guide
Watchdog Timer 142
Processor Clock Rate 142
Connecting the Pod to the Target Board 143
POD–336 144
Overview 144
Physical Dimensions 144
POD–336 LED Indicators 144
POD–336 Configuration Options 145
Header and Jumper Details 145
RAM Bank1 and /CSM 148
68336 Configuration Requirements 148
Connecting the Pod to the Target Board 148
POD–338 150
Overview 150
POD–338 LED Indicators 150
POD–338 Configuration Options 150
Header and Jumper Details 151
RAM Bank1 and /CSM 154
Connecting the Pod to the Target Board 154
POD–340 156
Overview 156
POD–340 LED Indicators 156
POD–340 Configuration Options 157
Header and Jumper Details 157
Connecting the Pod to the Target Board 159
68340 Configuration Requirements 160
Using Emulation RAM 160
Without SIZx Signals 162
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory 163
Other Startup Code Suggestions 163
Timers and the FREEZE Signal 164
Watchdog Timer 164
Processor Clock Rate 164
POD–341 165
Overview 165
POD–341 LED Indicators 165
POD–341 Configuration Options 166
Header and Jumper Details 166
Connecting the Pod to the Target Board 169
68341 Configuration Requirements 170
Using Emulation RAM 170
© ICE Technology
vii
Without SIZx Signals 172
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory 173
Other Startup Code Suggestions 173
Timers and the FREEZE Signal 174
Watchdog Timer 174
Processor Clock Rate 174
POD–376 175
Overview 175
Physical Dimensions 175
POD–376 LED Indicators 176
POD–376 Configuration Options 176
Header and Jumper Details 177
RAM Bank1 and /CSM 180
Connecting the Pod to the Target Board 180
68376 Configuration Requirements 181
EPC BDM Pods 182
Overview 182
8-Pin and 10-Pin BERG Connector Definitions 182
16R1/R3 EPC 182
EPC BDM LED Indicators 183
Installing the EPC BDM 183
Connecting the Pod to the Target Board 184
Target Boards 184
Starting the Emulator and Seehau Software 185
Starting Seehau 185
Time Program Examples 187
Watching Data in Real-Time with Shadow RAM 188
Saving the Hardware Configuration 190
Shutting Down Seehau Software 191
Important Software and Hardware Notes 192
EMUL16/300–PC User Guide
Introduction to Tracing 193
Starting Trace 193
Triggers 194
Trace Window 194
Description of Trace Window Columns 195
Accessing the Emulator and Trace Setup Windows 196
Trace Triggering and Trace Filtering 196
Trace Memory Example 197
Macro Examples 201
Seehau Commands 201
Description of the Macro Window 201
Macro Construction 202
Macro Execution 202
Command Format 203
Command Examples 203
Command Groups 204
Quick Saving of the Hardware Configuration 205
Creating New Buttons 206
Appendix A. POD–16Y1 209
System Clock 209
Timer Example 209
© ICE Technology
ix
Appendix B. POD–16Y3 215
System Clock 215
Timer Example 215
Appendix C. POD–16X1 221
Timer Example 221
Appendix D. Troubleshooting Tips 225
HSP Box 226
Debugging the Parallel Port 229
NT Users 229
Windows 9x Users 229
Windows 2000 Users 229
ISA 234
Known Device Driver Conflicts 235
Possible Symptoms 235
If the Emulator Does Not Start When Connected to the Target System 235
Target Does Not Operate Correctly 236
Appendix E. PAL Equations for RAM 237
Appendix F. ISO–160 239
Appendix G. Compilers 241
Intermetrics/Whitesmiths 241
Assembler Notes 241
Compiler Notes 241
Compiler Switches 241
INTERMET/C682X (for 6833x or 68340) 242
Introl 243
INTROL/C16–MSDOS–5HD-1 (for 68HC16) 243
INTROL/C62–MSDOS–5HD–1 (for 6833x or 68340) 243
EMUL16/300–PC User Guide
Microtec Research MCC68K (for 6833x or 68340) 244
Assembler Notes 244
Compiler Notes 244
Sierra Systems C Compiler (for 6833x or 68340) 245
Assembler Notes 245
Compiler Notes 245
Examples 246
MAKEFILE (make utility) 246
MAKER.BAT (example using spec file and make utility) 246
LINK.SPC (specification file) 246
Appendix H. Target Boards 247
TRG–16Y1 247
TRG–16Z1 250
TRG–331 or TRG–332 253
TRG–333 256
TRG–340 259
Appendix I. Emulator / Trace Address Examples 263
Glossary 267
Index
Sales Offices, Representatives and Distributors
© ICE Technology
xi
Product Notes
European CE Requirements
We have included the following information in order to comply with European CE requirements.
User Responsibility
The in-circuit debugger application, as well as all other unprotected circuits need special mitigation to ensure Electromagnetic Compatibility (EMC).
The user has the responsibility to take required measures in the environment to prevent other activities from disturbances from the debugger application according to the user and installation manual.
If the debugger is used in an environment other than the intended (for example, field service applications), it is the user’s responsibility to control that other activities cannot be disturbed in such a way that there may be risk for personal hazard/injuries.
Special Measures for Electromagnetic Emission Requirements
To reduce the disturbances to meet conducted emission requirements it is necessary to place a ground plane on the table under the pod cable and the connected processor board. The ground plane shall have a low impedance ground connection to the host computer frame. The insulation sheet between the ground plane and circuit boards shall not exceed 1mm of thickness.
Warnings
To avoid damage to the pod or to your target, do not connect the pod to your target when the pod or target power is on
When powering up, always power up the emulator first followed by the target system.
When powering down, power down the target system first followed by the emulator.
Failing to do so can cause damage to your target and/or emulator.
Do not apply power to your system unless you are absolutely sure the target adapter is correctly oriented. Failing to do so can cause damage to your target and/or emulator.
When using the pod with a target, disable all pod resources that are duplicated on the target. Failure to disable the pod's resources may damage the pod or the target or both. This includes the MCU, the serial port, RAM, crystal, and, particularly, the power supply. If using the clip to attach to the target, remove the MCU from the pod.
When installing a controller into a pod, never press on the chip body. Press only on the carrier or cover. Pressing on the chip may bend pins and cause short circuits.
EMUL16/300–PC User Guide
Minimum System Requirements
CAUTION
Like all Windows applications, the Seehau software requires a minimum amount of free operating system resources. The recommended amount is at least 40%. (This is only a guideline. This percentage might vary depending on your PC.) If your resources are dangerously low, Seehau might become slow, unresponsive or even unstable. If you encounter any of these conditions, check your free resources. If they are below 40%, reboot and limit the number of concurrently running applications. If you are unable to free more than 40% operating system resources, contact your system administrator or Nohau Technical Support at [email protected].
The following are
minimum system requirements:
•
Pentium 200 (Pentium II or faster is recommended)
•
Single-Processor System
•
Monitor resolution of 800 x 600 or better for best graphics display
•
Windows 95, 98, NT, or 2000
•
Random Access Memory (RAM)
–
For Windows 95/98: 32 MB
–
For Windows NT/2000: 64 MB
•
Two ISA slots in your PC if the optional trace board is purchased, otherwise purchase the
HSP box, part # EMUL-PC/BOX-HSP
.
You can custom configure the hardware to your requirements with various jumpers.
© ICE Technology
xiii
EMUL16/300–PC User Guide
About This Guide
This
EMUL16/300–PC User Guide is intended for both novice and advanced users. It is important to understand that the EMUL16–PC is different from the EMUL300–PC. When seeking technical support from Nohau you need to specify which family you seeking support for (16 or 300).
The EMUL16/300–PC is a personal computer based in-circuit emulator for Motorola’s 68HC16
16-bit and 683xx 32-bit microprocessors. This guide helps you get started with the basics of setting up, configuring, and running the Seehau software and the emulator. For detailed hardware documentation, please refer to Chapter 5 of this guide. If you have any questions contact Nohau
Technical Support at [email protected] or refer to the “Sales Offices, Representatives and
Distributors” list at the end of this guide.
Note
Customers also need the Motorola
Technical Summary Users Manual for your MCU.
Online context sensitive Help is also available from the Seehau software by pressing the F1 or the
Help keys, depending on the type of keyboard you have.
The
EMUL16/300–PC Getting Started Guide introduces the following tasks:
•
Installing and Configuring the Seehau Software
•
Installing and Configuring the Emulator
•
Installing and Configuring Trace Boards
•
Installing and Configuring Pods
•
Starting the Emulator and Seehau Software
•
Time Program Examples
•
Trace Memory Example
•
Macro Example
•
Shutting Down Seehau Software
•
POD–(9)16Y1
•
POD–(9)16Y3
•
POD–(9)16X1
•
Troubleshooting Tips
•
Hex Pin Addressing
© ICE Technology
1
Downloading EMUL16/300–PC Product Documentation
To download an electronic version of this guide, do the following:
1.
Open Nohau’s home page at www.icetech.com
.
2.
Click
Publications
.
3.
Click
Manuals
.
4.
Scroll down to EMUL16/300–PC. Then select
EMUL16/300–PC
to download a PDF version of the guide.
EMUL16/300–PC User Guide
Overview of the EMUL16/300–PC
Emulator System
The basic hardware for the EMUL16/300–PC emulator system includes the following:
•
Emulator board—plugs into a an ISA slot inside the PC or High Speed Parallel (HSP) Box.
•
Pod board—device-dependent board that replaces the microcontroller chip on the target system.
•
Trace board (optional)—plugs into an ISA slot inside the PC or HSP and connects to the emulator board through two short ribbon cables.
•
Five-foot twisted-pair ribbon cable—connects the emulator and pod.
•
Target adapter—allows you to connect the pod board to your target system.
To connect to your target system, the pod board usually requires an adapter. To determine the adapter board that your pod requires check the price list, your representative or Nohau Technical
Support.
The EMUL16/300–PC/BDM system requires a working target board. It can either be the user’s working target board or one provided by Nohau. (See Chapter 3, “Installing and Configuring the Emulator Board” and Chapter 5, “Installing the Pod Boards” in this guide.) An optional trace board (Chapter 4, “Installing and Configuring the Trace Board” in this guide) can be added to full emulator systems for tracing capabilities.
Four system configurations are available. Two are full emulator systems and two are BDM systems. The full emulator systems have trace capability while the BDM systems do not have trace capability. The four systems available are:
•
PC Plug-In. See the following “ISA Card Emulator (PC Plug-In)” section. A full emulator system.
•
High-Speed Parallel Box (HSP) connects to the parallel printer port. See the following “High-
Speed Parallel Box (HSP)” section. A full emulator system.
•
Enhanced Parallel Cable (EPC). See the following “EPC” section. A BDM system with no trace capability.
•
Low Cost-Industry Standard Architecture (LC-ISA). See the following “LC-ISA” section. A
BDM system with no trace capability.
© ICE Technology
3
ISA Card Emulator (PC Plug-In)
The emulator ISA board is plugged into an ISA slot in your PC and is connected with a five-foot cable to a device-dependent pod board. The optional trace board can also be plugged into the PC and connects to the emulator board through two ribbon cables.
Note
If the optional trace board were purchased for PC installation, you would need to ensure that your computer motherboard has at least two open ISA slots or you will need to purchase the HSP box.
High-Speed Parallel Box (HSP)
The HSP box lets you use the in-circuit emulator and optional trace board where no ISA slots are available. Nohau company personnel mount the emulator board, HSP card, and optional trace board in the HSP box chassis. The trace board connects to the emulator board through two ribbon cables. The pod board connects to the emulator board in the HSP with a five-foot ribbon cable.
The HSP card connects to the PC’s parallel printer port. This is the second most portable method of connection when used with a laptop computer and gives you full trace capability.
Figure 1. HSP Box Connected to a Pod Board and Laptop Computer
EMUL16/300–PC User Guide
Figure 2. BDM Pod With BERG Connector Figure 3. BERG Connector
Emulator Parallel Cable (EPC)
The EPC is an interface device plugged into the parallel port of your PC on one end and a Background Debug Mode (BDM) pod on the other end. The BDM is a low-cost development tool for all CPU16/32/32+ microcontrollers and includes status indicator LEDs. The LEDs indicate Reset,
Freeze and Run. The pod is connected to a cable terminated in a 10-pin BERG connector, which in turn is connected to the target system. The BERG connector is not keyed. Wire one on the ribbon cable is red. If the header on the target is an older design and has eight pins, insert the target pin one into the BERG plug three leaving BERG plugs one and two empty. The EPC provides the most portable method of connection and is perfect for laptop computers. The trace board is not an option with this setup.
Low Cost-Industry Standard Architecture (LC-ISA)
The EMUL/LC–ISA board is an 8-bit PC card that fits into any ISA slot in your PC. This board must be connected to a pod to operate. Low cost emulators do not have Shadow RAM, or provision for a real-time trace (or the ability to add a trace board). The maximum frequency is set by the frequency limit on the pod.
You can configure the emulator hardware to your requirements with various jumpers. For details on configuring your emulator board, refer to Chapter 3, “Installing and Configuring the Emulator
Board” in this guide. For details about the optional trace board, refer to Chapter 4, “Installing and
Configuring the Trace Board” in this guide, or refer to Seehau Help.
© ICE Technology
5
User Interface
The emulator is configured and operated by the Seehau user interface. Seehau is a high-level language user interface that allows you to perform the following tasks:
•
Load, run, single-step and stop programs based on C or Assembly code.
•
Set triggers and view trace (with optional trace board).
•
Modify and view memory contents including Special Function Registers (SFRs).
•
Set software breakpoints (there are no hardware breakpoints in the 16/300 family).
•
Analyze code with Program Performance Analysis (PPA)
Quick Start for Installing Your Emulator System
The following illustration shows the major steps for installing and configuring the
EMUL16/300–PC. For details, refer to the chapter referenced in each step.
Figure 4. Steps for Installing and Configuring the EMUL16/300–PC and Seehau Software
EMUL16/300–PC User Guide
Quick Start for Installing the Hardware
The following illustration shows the major steps for installing the EMUL16/300–PC hardware.
Figure 5. Steps for Installing the EMUL16/300–PC Hardware
© ICE Technology
7
EMUL16/300–PC User Guide
Installing and Configuring the
Seehau Software
Installing the Software
To install the Seehau software, do the following:
1.
Locate your Seehau CD and insert the CD into your CD ROM drive. The installation process will start automatically.
Note
If the installation does not start automatically, your Windows
Autorun feature is probably disabled. You will then need to select
Start/Run/Browse and navigate to the CD root directory. Double-click
Autorun.exe.
2.
Follow the instructions that appear on your screen.
3.
If you wish to add an icon to your desktop, use Windows Explorer to find the file Seehau.exe
located in the C:/Nohau/Seehau16 subdirectory.
4.
Right-click on the file, click the Create Shortcut option. Drag the shortcut to your desktop.
Rename the icon as desired.
Configuring Seehau Software
When first started, Seehau loads a configuration file called Startup.bas. This file is created by the
Seehau Configuration Program and stores Startup.bas in the following default subdirectory:
C:\Nohau\Seehau16\Macro.
The Seehau software automatically starts Seehau Config if it does not find the startup file.
You do not need to have the emulator connected to the PC to run the Seehau Config Program.
However, for the Seehau regular executable to operate properly, you do need the emulator connected with the jumpers properly set.
Get familiar with the emulator in stand-alone mode (not connected to a target system) or the demo mode before connecting to a target hardware system. The demo mode can be selected by doing the following: Select
Start/Programs/Seehau16/Demo
.
© ICE Technology
9
Figure 6. Emulator Configuration (Communications) Menu
WARNING
To avoid damage to the pod or to your target, do not connect the pod to your target when pod or target power is on.
Purchasers of Emulator and Trace Boards
If you are purchasing the emulator board and the trace board, you might want to consider the following points:
•
You will need a PC with at least two ISA (Industry Standard Architecture) slots. These slots should be close enough to allow you to connect the short ribbon cables that connect the boards or consider purchasing the HSP box.
•
It will be easier to connect the short ribbon cables before installation. Waiting until the boards are already installed may result in scraped and/or bloody knuckles due to the restricted work area.
•
If you purchase the trace board after the emulator board, you should consider removing the emulator board, making the ribbon connections, and then installing the boards together.
EMUL16/300–PC User Guide
Configuring Address Settings With Windows
Operating Systems
The following applies to all Windows operating systems:
•
Default Address Ranges:
–
Emulator Board: 200H
–
Trace Board: 208H
•
Default Address Settings for the HSP Box:
No address conflict is possible when installing the HSP box with any Windows operating system. Use the default address ranges (listed above).
Skip to “Installing Emulator Boards” later in this chapter.
Configuring Address Settings for the Emulator and Optional
Trace Board
The following sections provide details about configuring address settings for the emulator and optional trace board for each Windows operating system. Refer to the section that covers your specific operating system.
Information about Windows NT Installation
When installing under Windows NT you will be changing the registry and installing our kernel mode driver. You must do this from an account with Administrator privileges.
One of the causes of the message
Incorrect Parameter
either in the system log or from the Devices application is that there may be a device already installed with the address given for the emulator.
Known Device Driver Conflicts
We are aware of potential device driver conflicts with certain network cards running on
Novell/Netware networks. Problems have been reported with both 3COM ISA network cards and some Novell network cards. Most of these problems have been experienced when running
Windows NT or Windows 2000 operating systems.
•
When starting Seehau, communication with the network stops. (You will be unable to access resources on the network.)
•
Seehau will not start.
A possible solution might be to change your network card. Nohau Technical Support has not tested all network cards, although some customers have reported that the following network cards have resolved this conflict:
•
Intel Ether Express Pro 10/100 ISA
•
3COM Etherlink III (905B or later) 10/100 PCI
•
Bay Networks NetGear FA310TX 10/100 PCI
© ICE Technology
11
Configuring Address Settings With Windows 95/98
1.
Click the
Start
menu, and select
Settings
.
2.
Click
Control Panel
.
3.
Double-click
System
. The
Systems Properties
dialog box opens.
4.
Click the
Device Manager
tab.
5.
Click
Properties
.
6.
Click
Input/Output
. Scroll the contents of the window to verify that no device is listed within that range.
Alternative Addressing
If you see a device present in the default address range for your emulator or trace board, do the following:
1.
Beginning at the address 200H, scroll down to look for an unused address range:
–
Recommended for emulator boards are addresses 200H, 210H, and 240H.
–
Recommended for trace boards are addresses 208H, 218H, and 248H.
–
The trace board address must always be at least 8H above the emulator board (i.e.,
200/208, 210/218, 240/248).
2.
When you locate an unused address range, make a note of the base address of the range for use when configuring Seehau.
3.
Refer to Appendix E, “Emulator / Trace Address Examples” to reconfigure the base address of your board.
The base address must be an even multiple of 10 (such as 200 or 210). If you have to change the address of the emulator or trace board, be sure to change both the board jumpers and the jumper settings in the software.
Figure 7. System I/O Resources
EMUL16/300–PC User Guide
Configuring Address Settings With Windows NT
•
First check your administrative privileges.
•
Then check your PC for default address conflicts.
1.
Click the
Start
menu, and select
Programs
.
2.
Select
Administrative Tools
, and click
User Manager
. The
User Manager
dialog box opens
(Figure 8).
3.
In the bottom half of the dialog box, double-click
Administrators
. The
Local Group Properties
dialog box opens displaying a list of login names (Figure 9).
Figure 8. User Manager Dialog Box for Windows NT
Figure 9. Local Group Properties Dialog Box for Windows NT
© ICE Technology
13
4.
Look for your login name in the list of names. If your login name is not present, you are not set up with administrative privileges. Contact your System Administrator to update your privileges or give you the administrator’s password.
1.
Click the
Start
menu, and select
Programs
.
2.
Select
Administrative Tools
, and click
Windows NT Diagnostics
. The Windows NT Diagnostics window opens (Figure 10).
3.
Click the
Resources
tab.
4.
Click
I/O Port
.
5.
Check the I/O resources listed to verify that no device appears in a default address range.
Alternative Addressing
If you see a device present in the default range for your emulator or trace board, do the following:
1.
Beginning at the address 200H, scroll down to look for an unused address range:
–
200H, 210H, or 240H for the emulator board
–
208H, 218H, or 248H for the trace board
Figure 10. NT Diagnostics Window
EMUL16/300–PC User Guide
2.
When you locate an unused address range, make a note of the base address of the range for use when configuring Seehau.
3.
Refer to Appendix G, “Address Examples” to re-configure the base address of your board.
For details, see Appendix D, “Troubleshooting Tips.”
•
If you get a
Service or driver failed
error message when rebooting, you probably have a resource conflict.
•
If you get a
create file failed
error message upon execution, the device driver did not properly start.
Nohau16/300 Device Driver
After installation, Windows NT Diagnostics will show the Nohau16/300 device driver present in the upper I/O range (FFxx). After launching Seehau, the driver is reassigned to the actual address ranges. In the Control Panel Devices window (Figure 11), you will see three columns: Device,
Status, and Startup.
•
Device: lists the Nohau device driver
•
Status: displays
Started
•
Startup: displays
Automatic
Figure 11. Control Panel Devices Window
© ICE Technology
15
Configuring Address Settings With Windows 2000
•
First check your administrative privileges.
•
Then check your PC for default address conflicts.
1.
Click the
Start
menu, and select
Settings
. Click
Control Panel
.
2.
From the
Control Panel
, double-click
Users and Passwords
. The Users and Passwords window opens (Figure 12).
3.
Click the
Advanced
tab. Now click the
Advanced
button. The Local Users and Groups window opens (Figure 13).
Figure 12. Users and Passwords Window
Figure 13. Local Users and Groups Window
EMUL16/300–PC User Guide
Figure 14. Local Users and Groups Window with Groups Folder
4.
Click the Groups folder located in the left region of the window beneath Local Users and Groups.
5.
Double-click the Groups folder. A list of groups appears in the right region of the window
(Figure 14).
6.
Double-click
Administrators
. Your user name should be listed.
Note
If you are not an administrator, ask your System Administrator to add you to this list.
Figure 15. Administrator Dialog Box
© ICE Technology
17
1.
Right-click the My Computer icon on your desktop, and select
Properties
. The System
Properties window opens (Figure 16).
Figure 16. System Properties Window
Figure 17. Device Manager Window
EMUL16/300–PC User Guide
2.
Click the
Hardware
tab. Then click
Device Manager
. The Device Manager window opens
(Figure 17).
3.
In the Device Manager window, select the
View
menu. Then click
Resources by Type
.
A window opens that shows the system resources (Figure 18).
4.
Double-click
Input/Output (I/O)
.
5.
Check the I/O resources listed to verify that no device appears in the default address ranges.
Figure 18. System Resources
© ICE Technology
19
Alternative Addressing
If you see a device present in the default address range for your emulator or trace board, do the following:
1.
Beginning at the address 200H, scroll down to look for an unused address range:
–
200H, 210H, or 240H for any emulator board
–
208H, 218H, or 248H for the trace board
2.
When you locate an unused address range, make a note of the base address of the range for use when configuring Seehau.
3.
Refer to Appendix G, “Address Examples” to reconfigure the base address of your board.
For details, see Appendix D, “Troubleshooting Tips.”
•
If you get a
Service or driver failed
error message when rebooting, you probably have a resource conflict.
•
If you get a
create file failed
error message upon execution, the device driver did not properly start. Review the steps in this section again. You can use Windows 2000 System Properties to recheck that your port address has no conflicts.
Nohau16/300 Device Driver With Windows 2000
To verify that the Nohau16 device driver is properly installed, do the following:
1.
From the
Start
menu, select
Programs
. Select
Accessories
, then
System Tools
.
2.
Click
System Information
. The System Information window opens.
3.
Double-click the Software Environment folder.
4.
Double-click the Drivers folder. A list of active drivers appears. Refer to the
Name
column and scroll down to
nohau16
.
5.
Verify the driver is running. In the
State
column, you should see the word
Running
. In the
Status
column, you should see
OK
.
EMUL16/300–PC User Guide
Installing and Configuring the
Emulator Board
If you are using the ISA card inside the PC, you will need to ensure the jumpers on the board are set for the default address of 200H. If you are using the optional trace board the default address is
208H. (See Chapters 3 and 4 of this guide.)
Note
On some computer systems, the game port is configured for 200H. If your system is configured this way, you need to change the emulator board address to any open address (Figure 20). If the emulator address is changed, the trace board address
(208H) also needs to be changed (Figure 20 and Figure 34).
If you order an HSP box, the emulator, and HSP card, (and optional trace board if purchased) are factory installed unless you order the box only. If you are using the HSP box, connect the parallel cable to the parallel port of the PC or laptop. Connect the 5-volt power supply to the HSP (there are two power supply units available, only use the short tail power supply for this). It is important that you plug the power supply into the HSP box before plugging it into an outlet.
Installing the Emulator Board
The emulator board address jumpers have been factory preset to 200H for a typical system. After you have inspected the boards for any damage and with the address jumpers in place, you can install the emulator board in your PC by performing the following steps:
1.
Turn the PC power off. Power must always be off when you plug in any board.
2.
Plug the emulator board edge connector into the ISA slot of your PC.
3.
Insert the screw into the PC chassis to secure the board.
4.
Connect the long ribbon cable to the connector on the emulator board located at the back of the PC or HSP.
5.
Connect the other end of the ribbon cable from the emulator board to the pod. (Refer to
Chapter 5, “Installing the Pod Boards” in this guide for specific pod setups or Appendix A though C of this guide for specific pod exceptions.)
6.
Close the locks on the pod board connector over the cable end.
© ICE Technology
21
Key Key Slot
Figure 19. Connecting the Emulator to Your Pod Board With the Ribbon Cable
Note
The connectors of the ribbon cable are identical so it does not matter which end is connected to the pod or the emulator board. Although the ribbon cable connecting the emulator to the pod board is keyed, it is possible to force the key on the connector the wrong way. Caution should be used when making this connection to ensure that the key and slot line up properly.
The emulator board contains the logic and connectors necessary to communicate with the pod and to support a trace board.
I/O Address
Setting the I/O address jumpers is accomplished by moving jumpers around on the J2 header. Each pair of pins in the address header E5 represents one bit in the 10-bit address. Address bits 0, 1, and
2 represent addresses within the eight consecutive addresses, and they do not have pin pairs to represent them. This leaves six address bits (pin pairs) to set with jumpers: A3 through A9. Shorting two pins represents a 0 in the address. A pair of pins with no jumper represents a 1.
The following table shows how a typical system uses its address locations. If your system is presently using location 200H, you must find an alternate address location and make appropriate changes to the jumpers and software. If your emulator board is in an HSP box, you can use the default address regardless of the I/O address being used in the computer.
EMUL16/300–PC User Guide
Typical PC I/O Addresses
0E0 – 0EF
1F0 – 1F8
200 – 207
220 –24F
278 – 27F
2F0 – 2F7
2F8 - 2FF
300 - 31F
320 - 323
HEX Location
000 - 0FF
020 – 021
040 – 043
060 – 064
070 –071
080 – 09F
0A0 – 0BF
0C0 – 0CF
0C0 – 0DF
Typical Use
DMA Controller
Interrupt Controller 1
Timer
Keyboard Controller
CMOS RAM & NMI Mask Registers
DMA Page Registers
Interrupt Controller 2
Reserved
DMA Controller 2
Reserved
Fixed Disk
Game I/O Adapter
Reserved
Parallel Printer 2
Reserved
Serial Port 2
Prototype Card
Fixed Disk
If the current emulator board address conflicts with any other hardware, change the address to
210H. The emulator board requires eight consecutive addresses. If you change the address and/or memory jumpers, the software address settings must also be changed to 210H.
Factory and Alternate Settings
Figure 20. Emulator and Trace Pin Addressing
© ICE Technology
23
Figure 21. Header JP1
These are the only address settings that we recommend for setting the emulator and trace board. If you change the emulator hardware and software settings, you must also change the trace hardware and software settings.
Setting Target Communication Rate Using BDM
When connected directly to the target and the CLKOUT signal is available, EMUL16/300–PC can use a BDM synchronous communication rate equal to the ¼ the CLKOUT frequency rate.
Changing the CPU clock rate also changes the communication rate, keeping it at the maximum allowed by the microcontroller.
If a BDM connector connects the pod to the target, the CLKOUT signal is not available and it is not possible for the emulator to follow a changing BDM communication rate. Under these circumstances, the application software must be configured to use the BDM connector and the emulator must use a fixed communication rate equal to ¼ the slowest clock rate used on the target.
To set the synchronous communication rate, look up the slowest processor clock rate set by the application. To set the appropriate speed you will need to short a pair of jumpers. The pins are not labeled but they are two rows parallel to each other to the left of header J2. The JP1 pins are numbered left to right. The top row is even numbered 2 through 18 and the bottom row 1 through 17.
The set speed for each pair of pins is shown in Figure 21.
Note
Header JP1 is only used when the software is configured to communicate via BERG connector. When configured for direct communications JP1 is ignored.
Factory Settings
Board jumpers have been preset at the factory prior to shipment.
EMUL16/300–PC User Guide
Emulator Board
Figure 22. Emulator Board
Jumper Designation
J1
J2 (board I/O address
J4
JP1
JP2 (short ribbon cable connection)
JP3 (short ribbon cable connection)
Description
Applies to emulator boards with 1 megabyte of Shadow RAM. With less than
1 megabyte of RAM, the jumper must be, set on pins 2 & 3.
•
If pin A19/CS6 is an address pin short pins 1 & 2.
•
Each pair of pins represents 1 bit in 10-bit address.
•
Shorting pins represents a zero, no jumper on pins represents a 1.
•
Least significant bit on the left.
Applies to emulator boards with 1 megabyte of Shadow RAM. With less than
1 megabyte of RAM the jumper must be, set on pins 2 & 3.
•
If pin A19/CS6 carries chip-select signal and < 1meg of Shadow RAM short pins 2 & 3.
Default value is 4.2 MHz. Allows the CPU clock rate to be changed.
•
Can be adjusted from 32 kHz to 8.3 MHz.
•
When CLKOUT signal available allows BDM sync communication rate = to ¼ CLKOUT frequency rate.
•
Changing the CPU clock rate changes communication rate, keeping it at maximum allowed by microcontroller.
•
Connects to the J2 on the trace board and allows tracing while development takes place.
•
Connects to JP5 on the trace board and allows tracing while development takes place.
© ICE Technology
25
Configuring the Emulator
1.
Click the Seehau icon on your desktop. You do not need the emulator connected at this time.
2.
Enter the correct settings as shown in the
Communications Configuration
dialog box.
Figure 23 shows the settings if you are using the ISA card inside the PC. The
Emulator Board
Address
box contains the address of the internal communication link from your computer. For the ISA (PC-Plug-In) card, the most common address is 200, which may cause a conflict with some game ports. If you find that there is a conflict with this address uncheck the default box under the
Emulator Board Address
and change it to 210. If an optional trace board is purchased the Step 4
What is your Trace Type?
address will be 208 (218 if the emulator was changed to 210). If no trace board is used then Step 4 will be
None
.
Figure 24 shows the settings used for the HSP box (the ISA card and the HSP configuration setup are almost identical). A double-headed DB-25 male/female plugs into your PC parallel port. A DB-15 male connector on the other end connects to the HSP card installed in the HSP box. The DB-25 female portion of the plug end allows you to maintain your printer connection to your parallel port. If no trace board is used then Step 4 will be
None
.
Figure 25 shows the settings if you are using the EPC cable attached to a laptop computer (the configuration is almost identical to the LC-ISA). The
Select Processor
box will contain the
BDM type rather than a processor type. Since there is no trace capability for the BDM, Step 4 will default to
None
.
Figure 26 shows the settings if you are using the LC-ISA board inside the PC. The
Select
Processor
box will contain the BDM type rather than a processor type. For the LC-ISA card, the most common address is 200. If you find that there is a conflict with this address clear the default check box under the
Emulator Board Address
and change it to 210. Since there is no trace capability for the BDM, Step 4 will default to
None
.
Figure 23. ISA Emulator Configuration Figure 24. HSP Emulator Configuration
EMUL16/300–PC User Guide
Figure 25. EPC Emulator Configuration (BDM) Figure 26. LC-ISA Emulator Configuration (BDM)
Figure 27. Full Emulator Hardware Configuration Figure 28. BDM Emulator Hardware Configuration
In the
Select Processor
list, click the down arrow and select the microprocessor/BDM that you are going to emulate. Make a selection that matches your pod/BDM board type:
–
For 68HC16Y1/(9)16Y1, see Appendix A in this guide.
–
For 68HC16Y3/(9)16Y3, see Appendix B in this guide.
–
For 68HC16X1/(9)16X1, see Appendix C in this guide.
If you are uncertain about which microprocessor to select, refer to Chapter 5, “Installing Pod
Boards” in this guide or click
Help
in the dialog box.
3.
In the
Trace Type
list, click the down arrow. Two options are available for the ISA plug-in and
HSP box, select
ISA bus board
or
None
depending upon whether you purchased an optional trace board. The EPC and LC-ISA default to
None
as there is no trace capability.
© ICE Technology
27
Figure 29. Confirm Dialog Box Figure 30. Reset Emulator Dialog Box
4.
Click
Next
to open the dialog box shown in Figure 27 and Figure 28. These two figures show the hardware configuration difference between a full emulator (Figure 27) and a BDM emulator (Figure 28). The only difference (other than the processor) is the
POD Connection
, which is direct (with CLKOUT) with a full emulator and via BERG connector with a BDM emulator.
5.
The
uP Clock
is the internal CPU clock. This setting is used only for the calculation of the trace timestamp. It has no effect on the operating speed of the emulation controller. The time entered here should be the internal processor speed (not necessarily the crystal speed).
6.
After making your choices select
Finish
. The
Emulator Configuration
dialog box will close.
7.
The Seehau configuration program creates the Startup.bas file. Seehau is now configured to run your emulator. The
Confirm
dialog box will open and ask whether you would like to
Start
Emulator?
(Figure 29).
8.
Reply
Yes
if you would like to start the Seehau software. (Make sure that your emulator equipment is powered on at this time or you will receive an error message and will need to restart your Seehau software.)
9.
If you have replied
Yes
you may receive another dialog box (Figure 30) asking
The Emulator is running! Would you like to RESET?
Reply
Yes
if you wish to start your emulator.
If you have completed these steps with no errors, you are ready to run the Seehau User Interface and the Seehau software will start.
At this point you can expand the initial menu to a full screen mode, rearrange and expand the interior windows and proceed to configure the Seehau software.
EMUL16/300–PC User Guide
Figure 31. Seehau Software Menu
Quick-Save Hardware Settings
Due to the instability of PCs and operating systems, it is important to take precautions after setting up your hardware and software. Rather than wait until you have finished doing your tests on the target system you may want to save the emulator settings to avoid unnecessary repetition in case of system failure. The quick and easy way to avoid this problem is to follow the procedure below:
1.
To save the emulator configuration, click the
Config
option and select
Environment
.
2.
From the
Environment Configuration
menu (Figure 32), check the
Use Start up Dialog?
under the
Preferences
tab. This check box will be found under the
Miscellaneous
section.
3.
Select
Apply
or
OK
. The
Environment Configuration
dialog box will close.
4.
Exit from the Seehau software.
5.
The
Save Settings
dialog box opens where you can choose the filename for the newly created macro. Enter a filename of your choosing and click
Save
.
The macro is ready to use and will accurately recreate your emulator configuration settings.
© ICE Technology
29
WARNING
The target power must never be on when the pod is powered off. To avoid damage, power the pod and target on and off in the following sequence. To power up: (1) Power on the pod, then (2) Power on the target. To power down: (1) Power off the target, then (2) power off the pod.
Figure 32. Environment Configuration Menu
EMUL16/300–PC User Guide
Installing and Configuring the
Trace Board
Overview
The EMUL16/300–PC needs RAM to record a history of the data used and instructions executed.
The trace board contains this RAM. Trace is an optional part of an emulator system that allows you to perform more advanced debugging. The standard trace board is a full-length card that can occupy any ISA slot as long as the ribbon cable can reach from the emulator board to the trace board. The 104-bit trace records include address, data, timestamp, processor status and user defined external data. This trace board can trigger on or filter fetch, read or write addresses, (not data values.) The standard trace boards for the 68HC16/916 and 683XX families have a 32K deep trace buffer at 16.78 MHz. Only this frequency is available.
Installing the Trace Board
The trace board address jumpers have been factory preset to 208H. If the trace board and emulator boards are purchased for installation in a PC, it might be easier to attach the cables before installation. If purchased later you might consider removing the emulator board, attaching the short ribbon cables and then reinstalling both boards. A bit of caution should be used when installing these boards as they may result in scraped and bleeding knuckles caused by projecting pins.
Note to PC-ISA Users
If you found it necessary to change the emulator board address from 200H to any other address (210H and 240H recommended) then it will also be necessary to change the trace board address (218H and 248H recommended). The trace board is preset to 208H and will require that you change the hex address accordingly (plus
8H to your emulator address). Always change the trace board according to this pattern, i.e. 200H/208H, 210H/218H, 240H/248H.
After you have inspected the boards for any damage, with the address jumpers in the correct place you can install the trace board in your PC or HSP following these steps:
1.
Turn the power off. Power must always be off when you plug in any board.
2.
Connect the short ribbon cables.
3.
If you are installing the trace board in a PC, insert the trace board into an ISA slot next to the emulator board (also in an ISA slot.) You will need to ensure that the ribbon cables will reach from one board to the other.
© ICE Technology
31
4.
Check to ensure the edge connector of the board is secured into the expansion slot of the PC or
HSP motherboard (only necessary in the HSP if it was purchased separately from the emulator and trace boards.)
5.
If you have trouble seating the boards, ensure that the metal tab end of the board is positioned correctly and not hanging up on the PC chassis or motherboard. Once seated, screw the board down to the chassis for a secure connection.
I/O Address
Note
If you purchased the HSP box, skip this chapter and refer to Chapter 9, “Trace
Memory Example” in this guide.
Each pair of pins in the address represents one bit in the 10-bit address. Address bits 0, 1, and 2 represent addresses within the 16 consecutive addresses, and they do not have pin pairs to represent them. This leaves seven address bits (pin pairs) to set with jumpers: A3 through A9. (A3 is on the right and A9 is on the left, which is just the opposite of the emulator board.) Shorting two pins represents a 0 in the address. A pair of pins with no jumper represents a 1.
The trace board address jumpers have been factory preset to 208H. If your system is presently using location 208H, you must find an alternate address location and make appropriate changes to the jumpers and software. If you changed the address of your emulator board, you must also change the address for the trace board. If your trace board is in an external HSP box, you can use the default address regardless of I/O address being used in the computer.
The trace board requires 16 (or 10H) consecutive addresses. If you change the address and/or memory jumpers (hardware), the software settings must also be changed.
Installing the Trace Board With an HSP Box
If you purchased the HSP box, you can use the default address (208H) regardless of the I/O addresses used by the computer. Skip to the “Steps for Installing the Trace Board” section.
Installing the Trace Board With a PC
The trace board address jumpers have been factory preset to 208H. If your system currently uses location 208H, you must find an alternate address location and make appropriate changes to the jumpers and software. See previous sections about “Alternative Addressing” for the different
Microsoft operating systems.
EMUL16/300–PC User Guide
Factory Settings
On the trace board, the locations of jumper pins (header J1) are designated on the board artwork as A9 through A3 (left to right) which is just the opposite of the emulator board (A3 through
A9). These pins are located to the left of the BNC connectors (connectors facing to the right).
The recommended settings are as follows:
Figure 33. Emulator and Trace Pin Addressing
Figure 34. Trace Board With Address 208H
These are the only address settings that we recommend for setting the emulator and trace board. If you change the emulator hardware and software settings, you must also change the trace hardware and software settings.
© ICE Technology
33
Bank Switch Jumpers
Jumper Designation
JP1
JP2 / JP5
JP13
MISC
Description
•
Allows the trace board address to be changed by moving jumpers from one set of pins to another.
•
Least significant bit on right. Pins labeled A9 to A3 left to right.
•
Recommended settings are 208H, 218H, and 248H.
•
Used to connect the short ribbon cables from the emulator board to the trace board. JP2 to JP2 and JP3 to JP5.
•
Allows you to change the clock speed while using the BDM emulators.
•
Three rows of 8 pins (7 through 0, left to right, A, B, C top to bottom).
Default pins jumpered are columns 7 through 0, rows A and B.
Configuring the Trace Board
The trace board records what the microprocessor is doing. However, if everything is recorded, you can end up with data of no interest to you. To prevent this, the Seehau software lets you set up the trace board to record only the information you want. By default, all frames are collected and no frames cause a trigger.
The trace board records eight external digital inputs with every bus cycle. These signals are input through a DB-25 connector (Figure 35) on the back of the trace board. Trace boards have two additional input/outputs on the back called BNC connectors for
TRIGGER_IN
and
TRIGGER_OUT
recording.
Figure 35. DB-25 Connector Pin Definitions
EMUL16/300–PC User Guide
Figure 36. Trace Configuration Dialog Box
From the
Config
menu, select
Trace
. The
Trace Configuration
dialog box opens (Figure 36). The
Trace Configuration
dialog box has a
Trace Setup
tab, three
Trigger
tabs and a
Filter
tab.
The
Trace Setup
tab allows you to configure the different functions of the Trigger and Filter.
In the
Trigger
tabs selection (Figure 37), you will find the
Address Cycle Type
and
Data Trigger
Type
beginning and ending values. These are lists of values to look for in each frame as it is collected. For each machine cycle executed, the trace board compares the current frame with the conditions in
Address Cycle Type
list and the
Data Trigger Type
list. These comparisons produce
Boolean results: either a
true or a false.
In the
Filter
tab selection (Figure 38), you will find the
Address Cycle Type
and
Data Trigger Type
beginning and ending values. These are lists of values to look for in each frame as it is collected. For each machine cycle executed, the trace board compares the current frame with the conditions in
Address Cycle Type
list and the
Data Trigger Type
list. These comparisons produce
Boolean results: either a
true or a false.
© ICE Technology
35
Figure 37. Trace Trigger 1-3 Dialog Box
Figure 38. Trace Filter Configuration Dialog Box
EMUL16/300–PC User Guide
Trace Setup Fields
•
Select
ISA Bus Board
if you have a trace board.
•
Select
None
if you have no trace board installed and skip the rest of this chapter.
Yes, On Trigger
—Stops trace when certain conditions happen.
Yes, On Trace Stop
—Stops trace conditionally.
Trigger1,2,3
—Selectively chooses your active triggers to set your trigger conditions.
Filter
—Selectively chooses after which triggered pass to start your trace capture.
External Trig
—Enables a trigger inhibit input. If the external line is low then the trigger will be inactive. Once released the trigger is left enabled.
Opcode
—Enables the operation for selective triggering mode: OF, R/W, Include All and
Exclude All.
Data
—Modes are Include All, Data Read, Write and Exclude All.
Normal
—Output on Trigger Out is pulsed every time the trigger is qualified.
Pulse Once
—Output is pulsed only on an initial trigger being met.
Normal
—More control is given to triggers. A trigger in Normal mode either stops recording, starts recording, or starts the countdown until recording will be stopped.
Window
—You can selectively record program threads in a way that record filtering cannot. Once recording has started, the conditions in the filter decide whether to record a bus cycle or not. More control is given to controlling which bus cycles are recorded.
© ICE Technology
37
Figure 39. Edit Trigger Qualifier Window Figure 40. Edit Data Qualifier Window
Interpret Chip Select
—Available address signals with base addresses are combined to calculate an address that matches symbol norms and power values.
Last Trigger Repeat Count
—Number of times the highest numbered trigger conditions must be met before the trigger itself occurs.
Post Trigger Count
—The number of frames recorded after the trigger occurs.
Adjusts the amount of PRE/POST trigger you want to see. The default is set to the halfway mark.
Delay
—Shows the number of post trigger samples.
Condition
—Allows you to select the function you want to trigger the trace capture.
The
Trace Configuration
dialog box (Figure 38) refers to the conditional setup summary for triggers and/or filters. To edit a condition, click on the appropriate tab and then double-click an appropriate condition or right-click that condition and enter the appropriate data. The Edit
Trigger Qualifier window appears (Figure 39) for
Address Cycle Type
and the Edit Data Qualifier window (Figure 40) appears for
Data Trigger Type
.
Trigger Qualifier
Include All
—Include all cycles.
Opcode Fetch
—Include the opcode fetch of an instruction.
Data R/W
—Include specific Data Read or Write.
Exclude All
—Include none.
EMUL16/300–PC User Guide
Use the following syntax for the
Address
field:
Start Address
—Enter the starting address in hexadecimal.
End Address
—Enter the ending address in hexadecimal.
Data Qualifier
Range
—Use this range of data.
Pattern
—A singularly defines address rather than a range of addresses.
Start Address
—Starting value of data desired.
End Address
—Ending value of data desired.
© ICE Technology
39
EMUL16/300–PC User Guide
Installing the Pod Boards
Overview
The EMUL16/300-PC pod boards contain an MCU with a 4.192-MHz crystal, between 256K and
4 MB of static RAM for instructions and data, and a DB-9 connector for the chip’s serial port. The pod boards also include a Motorola standard Background Debug connector (BERG) connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
Pod Types
68HC(9) 16x Pods
•
16S2
•
16V1
•
16X1
•
16Y1
6873XX Pods
•
16Y3
•
(9)16Y3
•
CM16Z1
•
16Z1/Z2
•
331
•
332
•
F333
•
334
•
335
•
336
•
338
•
340
•
341
•
376
After selecting a pod type, you will need to set up the various pod board jumpers. Refer to the section in this chapter that provides details for your pod board type including: board layout illustrations, diagrams of jumper locations, and tables describing jumper configuration options.
Connecting the Pod to the Target Board
There are a number of ways to connect the pod to the target system. Each method has advantages and disadvantages. The pod section will explain in detail how these connections are made and the devices that are used to make these connections.
© ICE Technology
41
How this Chapter is Organized
Pod types are listed in alphabetical order. Each pod section presents information in the following format:
•
Illustrations: Shows various configurations for switches and jumpers, target power and internal crystal. The illustrations throughout this chapter are representative of the pod board layout. The notations used in the illustrations might not match the silk screens on the boards.
•
Configuration Options: Describes the pin setting in stand-alone mode and as the pod is shipped from the factory.
•
Special Considerations: Provides specifics about the pod’s features and functions.
Important Notes About Pod Boards
Read the following notes first before installing your pod board.
Factory Configuration of Pod Boards
When shipped from the factory, all headers have jumpers located for stand-alone operation (without target). When you connect a pod board to a target be sure to examine all jumpers and make sure that they are all correctly placed. Use the description for your pod as a guide to jumper placement.
Remove Black Conducting Foam Before Using Your Pod
When using your pod in stand-alone mode, be sure to remove any black conducting foam. This foam is usually inserted at the factory to protect pins that mate with a target adapter or a socket on your target board. The foam covers pins which protrude from the bottom of the pod or from an adapter attached to the pod. The pod will not work with the conducting foam attached and might cause damage.
Do not discard the conducting foam if you plan to store it later. If you remove the pod from your target socket or target adapter, you will need to reinstall the conducting foam to protect the exposed pins.
Features Common to All Pods
Background Debug Mode (BDM)
All the pod boards supported by EMUL16/300–PC include one very important design feature that aids emulation. This is the Background Debug (BDM) Mode. BDM is an alternate operating mode that suspends normal instruction execution and uses special micro-code to communicate with the emulator. Once in BDM, EMUL16/300–PC communicates with the MCU through a dedicated synchronous serial line that runs at speeds up to 4 Megabits per second. This serial communication module (separate from any application serial ports) sends and receives debugging commands such as read data, write registers, read program data, etc. All this communication is completely transparent to the user.
EMUL16/300–PC User Guide
In BDM, the MCU suspends all normal activity and asserts the FREEZE signal. Most modules, including the General-Purpose Timer module, can choose whether to respond to the FREEZE signal.
Background Debug Connector (BERG)
The 10-pin connector near the corner opposite the ribbon connector is the Background Debug
(BERG) connector. This standard connector defined by Motorola allows the EMUL16/300–PC to debug and control target boards (with a similar connector) with no physical room for the pod board. However, when using just the BERG connector, no emulation RAM is available to the target and EMUL16/300–PC cannot control the target as completely as when the pod is directly connected the target. Without a direct connection between the pod and target, shadowing RAM and maintaining the trace buffer are both impossible. Also, without a direct connection, the communication rate between EMUL16/300–PC and the target must be set to 1/4 of the slowest clock rate. With a direct connection, Seehau sets the communication rate automatically, even when the application changes clock rate.
Use the following table to confirm that the pin assignment of the BERG connector on the target agrees with the pin assignments on the EMUL16/300–PC pod board.
Signal
DS
GND
GND
RESET
V
CC
Pin #
5
7
1
3
9
Pin #
6
8
2
4
10
Signal
BERR
BKPT
FREEZE
IPIPE1 / DSI
IPIPE1 / DSO
Using Just the BERG Connector
Just as you must remove any duplicated resources with the pod connected to the target, when using the BERG connector, you must remove the duplicated resources. This really means the PWR jumper and the controller in the pod. Removing the controller disables all the other resources
(clock, memory, serial port, etc.) on the pod.
When using a BERG connector, be sure to configure Seehau correctly. Use the
Emulator board
item in the
Config
menu to open the
Hardware Configuration
dialog box. In the
POD connection
box, click on the
via BERG connector
option. Also, be sure to set the
Target Communication
rate with the emulator board header JP1.
Indicator Lights
Most pod boards contain four lights except for a few exceptions. The EPC pods contain only three lights. The pods with four lights are labeled HALT, RESET, FREEZE, and RUN. The HALT,
RESET, and FREEZE lights display the condition of their respective MCU pins.
The RUN light shines when the MCU asserts either AS or DS. This occurs when the MCU is executing an external bus cycle or when the MCU is executing an internal bus cycle and either of the
SHEN bits is set in the Module Configuration Register.
© ICE Technology
43
Note
If the MCU is executing internal bus cycles and the SHEN bits are not set, the RUN light will not be lit.
The RESET light is lit when any device pulls the RESET pin low. This may be the emulator, the
MCU's watchdog timer, or an external reset circuit. If the RESET light stays lit, that usually means that the MCU is having trouble synchronizing to the clock circuit.
The FREEZE light means that the MCU has reached BDM and is waiting for the emulator to give it instructions.
Disabling Resources
•
MCU: Remove it from pod.
•
RAM: Remove the RAM header jumper.
•
Crystal: Remove all three jumpers next to the crystal.
•
Serial Port: Remove the jumper in the SER header.
•
Power Supply: Remove the jumper from the PWR header.
Removing and Installing the Controller
The best way to remove the controller from the pod is to use the AMP extraction tool (part number
821-958-2) and to follow the instructions that come with it.
If an extraction tool is not available, use a small flat head screwdriver (not a Phillips). Place the blade in one corner between the socket and the carrier. Using tweezers or needle nose pliers, gently squeeze the socket flaps at the corner with the screwdriver. If the carrier does not rise enough the keep the flaps from moving back into place, gently twist the screwdriver to pry the carrier apart from the socket. Do the same for the other three corners. If a large twisting force is required, then do not continue. Instead, try again on another corner.
At this point, the carrier should be loose and you should be able to lift the carrier off the socket with your fingers. If not, repeat the above steps until the carrier is loose.
Before insertion, make sure that none of the pins are bent and that they all sit precisely in their respective channels in the carrier. After insertion, check that all four of the socket’s ears have locked the carrier to the socket equally well. Use a magnifying glass, if necessary.
EMUL16/300–PC User Guide
The black wire with the micro-clip is a ground wire, which is helpful for ensuring that the pod and target grounds are at the same potential before connecting the pod to the target.
Hint
ISO-160 can be used to isolate any signal on the target from the pod. This may be simpler than modifying the target board.
WARNING
When using the pod with a target, disable all pod resources that are duplicated on the target.
Failure to disable the pod's resources may damage the pod or the target or both. This includes the MCU, the serial port, RAM, crystal, and, particularly, the power supply. If using the clip to attach to the target, remove the MCU from the pod.
When installing a controller into a pod, never press on the chip body. Press only on the carrier or cover. Pressing on the chip may bend pins and cause short circuits.
© ICE Technology
45
POD–16S2
Figure 41. POD–16S2
Overview
Use this pod if you are running the 68HC16S2 series MCU. The pod board includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
POD–16S2 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
EMUL16/300–PC User Guide
POD–16S2
POD–16S2 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
1M
16BIT
SIZx
FC1
Stand-Alone
Position
ON or OFF
ON
ON
ON or OFF
Position Connected To a Target
ON or OFF
ON (OFF if emulating 8-bit memory
ON
Description
Set at the factory, do not change
Controls the pod memory width
Supports using emulation RAM without Port
E SIZ0 and SIZ1 signals
Connects FC1 pin to pod RAM
ROM
BNK0
BNK1
BNK2
BNK3
PRU
PWR
RESET
BERR
BKPT
CLK
P T
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
ON
ON or OFF
ON or OFF
ON
P
ON (when pod RAM >
512K)
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON or OFF
OFF (if there is a target power supply)
ON (OFF if external watchdog resets MCU)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if target /BKPT is tied directly to +5V)
OFF
P or T
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Enables Port Replacement Unit using /CS5
Provides +5V power to the target
Connects target /RESET signal to pod MCU
Connects target /BERR signal to pod MCU
Connects target /BKPT signal to pod MCU
Connects pod crystal circuit to the pod MCU
Enables either the pod or the target controller
Header and Jumper Details
This jumper must not be removed unless you are using POD–16S2/4M4B. The max address range supported by any one chip select signal is 512K. RAM on the pod can come with 1 MB in a single bank. If your pod has that much RAM, half of it will be wasted unless the Function code signal FC1 is used to effectively bank switch between the two halves of memory. If you have a
POD–16S2/1M1B pod, and the FC1 jumper is in place, the FC1 signal from the controller will be
© ICE Technology
47
POD–16S2
directed to the high order address bit on the RAM chip, which will create two banks of RAM. One bank will be used for program space. The other bank will be used for data space bus cycles. The same chip select will control both banks, and so will have the same starting address and same size.
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Supports using emulation RAM without Port E SIZ0 and SIZ1 signals. The SIZx header is only useful if the PRU jumper is removed AND your application has programmed the port E pins SIZx signals to carry I/O signals. If you cannot use the PRU and the Port E SIZx pins are used to carry
I/O, contact your local distributor (“Sales Offices, Representatives and Distributors” list at the end of this guide) or Nohau Technical Support at [email protected] for assistance.
EMUL16/300 pods, including those for the CPU16 controllers, are available with 1 MB of memory bank0. The largest bank size for a single CPU16 chip select signal is 512K. This would normally make one half of each 1-MB emulation memory bank unusable. The FC1 header allows you to use the entire 1-MB bank as two 512K banks.
If you have at least 1 MB of RAM, one bank of RAM will be used for data space bus cycles and the other bank will be used for program space. Both banks will be controlled by the same chip select, and will have the same starting address and same size. The FC1 pin connects to the pod
RAM.
EMUL16/300–PC User Guide
POD–16S2
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will NOT effect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
These jumpers only effect pods with more than one bank of RAM. They should be OFF for targets that use the chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
The Port Replacement Unit (PRU) makes it possible to emulate single-chip and partially expanded applications. It replaces the MCU Port E pins in all modes, which assures that Shadow RAM and the trace board will have the bus control signals they need at all times. Do not remove this jumper unless /CSE is not available. The PRU is enabled using /CS5. The PRU supports full-featured emulation even if Port E is used for I/O.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power.
EMUL16/300–PC can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
© ICE Technology
49
POD–16S2
If a target has a reset button that grounds the /RESET pin when pressed, this will not interfere with emulation so the /RESET jumper should be ON. If the target ties BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the /BKPT pin as it needs to. When target BKPT/BERR is tied to +5V this should be set of OFF when all the following the conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RESET pin low. During debugging, that may be inconvenient. The signal from the target
/RESET pin passes though the /RESET header. Removing the /RESET jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the /BERR jumper.
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
Note
Some MCUs are designed to use a 32-kHz input and others are designed to use a
4-MHz crystal. If there is a conflict between the target crystal and the pod MCU, replace the MCU on the pod with one from your inventory that can use the target crystal and remove the three CLK jumpers.
For most circumstances, leave the jumper in the default or P position. When the jumper is in the P position, the target processor is tri-stated and the pod processor controls the bus and peripherals.
Because the pod has the PRU emulating, nearly all single-chip and partially expanded applications will be easier using the pod MCU.
EMUL16/300–PC User Guide
POD–16S2
Putting the jumper in the T position will disable the pod processor and allow the target processor to run. This is required for applications that include multiple bus masters, and other designs where
CSE is not available.
The controller on this pod does not need to be removed when there is also a controller on the target. Logic on the pod prevents both controllers from running at the same time. This logic requires that the TSC pin on the target be pulled high through its own 10K resistor, and not be directly tied to V
CC
. If the target MCU is not installed, and if the TSTME/TSC pin is connected to V
CC
, you may remove the P T jumper to reduce the power consumed.
Using the Port Replacement Unit
EMUL16/300–PC uses some of the Port E (/AS, /DS, SIZ0, and SIZ1) signals for supporting
Shadow RAM and the trace board. This pod includes a Port Replacement Unit (PRU) that completely duplicates the Port E configuration registers and pins. Some target applications use the Port
E pins for I/O. For these targets, use the PRU to provide the I/O signals to the target while the pod
MCU provides the bus control signals to the emulator.
Applications using the PRU to replace Port E must let the MCU’s port E pins carry the bus control signals.
If your target application configures the Port E pins to carry I/O and if you can use the MCU on the pod, follow the instructions below for setting up and using the PRU.
Note
You do not need to use the PRU If your application does not use the Port E pins for
I/O. Remove the PRU jumper to disable the PRU.
To use the PRU to emulate Port E, the target application must be recompiled to write to the
PRU’s Port E configuration registers, not the MCU’s Port E configuration registers. The PRU’s
Port E registers will be at a different address than the MCU’s Port E registers.
Chip Select /CS5
The PRU pin is placed next to the header pin for chip select 5 (/CS5), which is MCU pin number
115. You can place a jumper between those two pins if /CS5 is not being used for any other purpose.
If /CS5 is being used for some other purpose, you must choose some other chip select signal to activate the PRU and run a wire between that signal source and the PRU pin. The select signal can be either one generated by the MCU or one generated by address decoding logic on your target.
© ICE Technology
51
$8
$A
$C
$E
$0
$2
$4
$6
POD–16S2
Whether you choose /CS5, another MCU chip select signal, or a signal from your own address decoding logic, the signal must be active for at least 16 addresses and not used by any other device on the bus. Further discussion will assume that you are using /CS5 and have a jumper between
MCU pin 115 and the PRU pin. Adjust the instruction to suit your particular design.
Set Up Conditional Compilation
There are only two software changes will be needed to support the PRU and they are both typically in the start-up instructions. If you set up a compile-time switch, you can easily switch between using the real Port E (without the emulator) and using the replacement.
Locate the Replacement Registers
To map the replacement Port E registers using /CS5 you must configure /CS5 base address and option registers. We suggest that you map the replacement registers to the same page as the other configuration registers. The smallest block size supported by /CS5 is 2048 bytes, and must start on a 2048 byte page boundary. That leads to a /CSBAR5 value of $FFF8. This value will map those
16 registers to address $FF800. They will repeat every 16 bytes through address $FFFFF.
The option register for /CS5 needs to support reading and writing, both high and low bytes of a 16bit wide bus, Fast Termination cycles, supervisor or user space, and no autovector support. This leads to a /CSOR5 register value of $7BB0.
Use Replacement Registers
With the PRU jumper in place and with these two values in these two registers, the replacement registers will appear on the bus every 16 bytes, repeatedly from $7FF800 to $80000. They will not hide the internal configuration registers because the replacement registers are external. Of the 16 bytes, 12 are reserved and 4 are used to configure the replacement Port E.
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Port E Data Register (PORTE)
Port E Data Register (PORTE)
Port E Data Direction Reg. (DDRE)
Port E Pin Assignment Register
Reserved
Reserved
Reserved
Reserved
$9
$B
$D
$F
$1
$3
$5
$7
EMUL16/300–PC User Guide
POD–16S2
Connecting the Pod to the Target Board
There are three ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
•
Part number ET/EPP-100-QF49W is an adapter that solders onto the target board in place of the CPU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
A Background Debug connector designed into the target connects the pod to the target with a
10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters. The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the
BERG connector is used.
© ICE Technology
53
POD–16X1
Figure 42. POD–16X1
Overview
POD–16X1 contains a 68HC(9)16X1 chip, a crystal, between 256K and 4 MB of static RAM for instructions and data, a DB-9 connector for the chips serial port, and a PRU used for emulating single-chip applications. They can be used to debut, target applications that use the 68HC(9)16X1 with internal ROM instead of flash ROM. The chip is not socketed.
Note
The 16X1 is significantly different from the 916X1. The pod should be ordered with the appropriate CPU.
This pod board has a standard 68HC(9)16X1 MCU that you can replace if it fails or if you want to use a different processor from the same family. In addition, POD–16X1 includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have BDM connectors and do not have room to connect the pod directly to the target processor.
EMUL16/300–PC User Guide
POD–16X1 LED Indicators
Name
D1
D2
D3
D4
Function
RESET
FREEZE
RUN
LOW VOLT
Description
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
An amber LED indicates that the pod is running on low voltage (+3V) rather than the standard +5 volts.
POD–16X1 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
16BIT
ROM
BNK0
BNK1
BNK2
BNK3
BKPT
BERR
RST
FC1
Stand-Alone
Position
ON
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
ON or OFF
Position Connected To a Target
ON (OFF if emulating 8-bit memory
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if external watchdog resets MCU)
ON (when pod RAM >
512K)
Description
Controls pod memory width
Makes RAM bank0 read-only
Connects /CS0 to pod RAM bank0
Connects /CSM to pod RAM bank1
Connects /CS3 to pod RAM bank2
Connects /CS5 to pod RAM bank3
Connects target /BKPT signal to pod MCU
Connects target /BERR signal to pod MCU
Connects target /RESET signal to pod MCU
Connects FC1 pin to pod RAM
RXD
PWR
ON
Drives the serial port input pin on the controller
Provides +5V power to the target
CLK
P T
PRU
ON
P
ON or OFF
OFF (if there is a target power supply)
OFF
P or T
ON or OFF
Connects pod crystal circuit to the pod MCU
Enables either the pod or the target controller
Enables Port Replacement Unit using /CS5
© ICE Technology
55
POD–16X1
Header and Jumper Details
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will NOT effect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
There are up to four banks of RAM on the pod. These jumpers only effect pods with more than one bank of RAM. They should be OFF for targets that use the chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the /BKPT pin as it needs to. When target BKPT/BERR is tied to +5V this should be set of OFF when all the following the conditions are met:
EMUL16/300–PC User Guide
POD–16X1
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the BERR jumper.
EMUL16/300 pods, including those for the CPU16 controllers, are available with 1 MB of memory bank0. The CPU16 controllers can address up to 1 MB of RAM, but the largest bank size for a single CPU16 chip select signal is 512K. This would normally make one half of each 1-MB emulation memory bank unusable. The FC1 header allows you to use the entire 1-MB bank as two
512K banks.
If you have a POD–16X1/1M1B, you may use the FC1 signal to allocate one half of the 1-MB emulation memory bank on the pod for program bus cycles (instruction fetch) and the other half for data bus cycles. If your POD–16X1 has 1 MB in bank0 and you have the FC1 header shorted by a jumper, data and code bus cycles will go to separate 512K banks with overlapping addresses.
The FC1 pin connects to the pod RAM.
If your target outputs debugging information on the serial port, you might want to connect an
RS232 device alike a terminal or a PC to header J1. This pod includes a MAX 232 chip to convert the signal levels from RS232 to TTL levels. Whether or not you connect the RXD pin to an RS232 device, the MAX232 chip will drive the serial port input pin on the controller. To keep the
MAX232 chip from driving the serial input pin on the controller, remove the jumper on the RXD header. To allow the MAX232 chip to drive the serial port input pin, place a jumper on this header.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power.
EMUL16/300–PC can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
© ICE Technology
57
POD–16X1
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
Note
Some MCUs are designed to use a 32-kHz input and others are designed to use a
4-MHz crystal. If there is a conflict between the target crystal and the pod MCU, replace the MCU on the pod with one from your inventory that can use the target crystal and remove the three CLK jumpers.
For most circumstances, leave the jumper in the default or P position. When the jumper is in the P position, the target processor is tri-stated and the pod processor controls the bus and peripherals.
Because the pod has the PRU emulating, nearly all single-chip and partially expanded applications will be easier using the pod MCU.
Putting the jumper in the T position will disable the pod processor and allow the target processor to run. This is required for applications that include multiple bus masters, and other designs where
/CSE is not available.
The controller on this pod does not need to be removed when there is also a controller on the target. Logic on the pod prevents both controllers from running at the same time. This logic requires that the TSC pin on the target be pulled high through its own 10K resistor, and not be directly tied to Vcc. If the target MCU is not installed, and if the TSTME/TSC pin is connected to Vcc, you may remove the P T jumper to reduce the power consumed.
The Port Replacement Unit (PRU) makes it possible to emulate single-chip and partially expanded applications. It replaces the MCU Port E pins in all modes, which assures that Shadow RAM and the trace board will have the bus control signals they need at all times. Do not remove this jumper unless /CSE is not available. The PRU is enabled using /CS5. The PRU supports full-featured emulation even if Port E is used for I/O.
EMUL16/300–PC User Guide
POD–16X1
Note
The following section only applies to pods with more than one bank of emulation
RAM.
RAM BNK1 and /CSM
If your pod is equipped with a 68HC(9)16X1 and not with 68HC16X1, the MCU will not support the /CSM signal. If you wish to use BNK1, you will need to run a wire between some other /CS and the outer of the two pins marked BNK1.
MCU Operating Modes
The 68HC(9)16X1 can operate in one of three operating modes: Fully Expanded (16-bit external bus), Partially Expanded (8-bit external bus), and Single Chip node (no external bus). To find out more about these modes you will need to read the Motorola manuals on these chips.
Before you proceed, make sure that you know which mode is used by the target design, and which pins are held low during the reset cycle.
Is Emulation Possible
This section describes the ways that target designs may interfere with or even prevent emulation.
This may be a useful section to review before you attempt to connect your target to the emulator or if you are having trouble emulating.
If the chip is forced into emulation mode, /CSE will become the chip select for the PRU. /CSM will become chip select whenever the MCU assesses on-chip ROM. In other words, the ROM module must be brought into emulation mode for proper functioning.
For /CSM to function, data bits 11 – 15 must be manipulated appropriately during reset. If the
ROM module is mask enabled to respond to reset vectors, pulling bit 14 low will disable the ROM completely. It will enter low power mode and will not respond to reset vectors.
For each of the different modes, certain bits cannot be modified. This is because that when the
MCU is in one of the different modes not every combination of bits are possible. If for example the MCU is in single chip mode, no address signals will be brought out to the pins so it makes no sense to configure those bits to carry the address signals.
© ICE Technology
59
POD–16X1
Transparent Mode
Some target systems are designed to run in a configuration where bus control needs to be granted to a DMA or other controller. The same pins that carry /CSM and /CSE also carry the signals used to arbitrate control of the bus. If your target design shares the bus between the 68HC16X1 and some other controller, choose the transparent pod configuration.
In transparent mode, all configuration bits may be controlled. You must know precisely how the chip must be configured for successful emulation. It is important that you create a configuration that allows for a successful emulation.
Note
Use transport mode only when /CSE is not available and/or when another bus master shares the pin. Choosing transport mode and setting the same bits as single chip mode is not the same as single chip mode.
Pull TSC Low
Seehau uses the TSC pin to disable either the pod MCU or the target MCU, depending upon the position of the P T jumper. The pod uses a PRU to provide important Port E signals (at all times except for applications with multiple bus masters.) Ideally, you want your target to pull the TSC pin low through a 10K Ohm resistor. This will allow the emulator to disable the target MCU. The pod will also pull this pin up or down as necessary so that you may leave it unconnected (or cut a trace) while the pod is attached to the target.
It is not unreasonable for a target design to tie the TSC pin directly to ground, doing so will prevent the emulator from disabling the target MCU. If it is tied to ground, you must do one of two things: You may disable the target MCU yourself (by removing it from the target, for example).
Or, you must place the P T jumper in the T position and understand that the PRU will not be available to support emulation in single-chip or partially expanded mode.
Pull /BKPT and /BERR High
These two pins might be tied directly to +5V on your target. If they are, your target will operate as you expect without an emulator, but will not emulate correctly. Seehau drives these two pins for some very basic features. By removing the /BKPT and /BERR jumpers, you can isolate the target circuitry from the pod circuitry, but this will only be effective if the target controller is disabled. If the P T header in the T position, they must each be pulled up on the target through a separate resistor with a resistance of at least 10K Ohms. The pod will drive these pins up or down as necessary so you may leave them unconnected or cut a trace while the pod is attached.
EMUL16/300–PC User Guide
POD–16X1
Healthy CLKOUT Signal
•
No matter which oscillator you use, the pod oscillator or the target oscillator, the signal coming out of the CLKOUT pin (on the active MCU) must be a normal, clear signal.
•
If you see the red /RESET light on the pod stay lit after reset should have ended, most likely a clock problem is to blame.
•
A target that in some way interferes with the CLKOUT signal coming out of the processor will also interfere with emulation.
If the preceding conditions are met (and you have followed the design constraints of the MCU itself) you will be able to reset the controller, get it into Background Debug Mode, and communicate with the emulator. You may or may not be able to read the contents of memory, but you will be able to read the contents of internal registers, including the MCU registers like the program counter and the stack pointer. If this is not the case, examine the quality of the connections between the adapter and the target, and verify that the pod and the target each operate as expected when not connected.
Other Bus Masters
Some targets are designed with external DMA controllers or include a memory-sharing scheme that requires that the 68HC16X1 give up control of the address and data bus to another device. The handshake that grants control of the bus to another device uses some of the same pins required by the PRU (/BR/CS0, /BG/CSM, and /BGACK/CSE). If the target design holds /BERR high and data pin 2 low during the reset cycle, those pins will be used for bus grant handshaking and cannot be used for the PRU.
Designs that grant bus control to other devices can be emulated, but there are a few restrictions:
•
PRU jumper must be off.
•
If the Port E signals /AS, /DS, SIZ0, and SIZ1 are available to the emulator, the Shadow RAM and trace board will operate as if the PRU were functioning. The trace board will even capture the bus cycles of the other bus master (and display them as data cycles).
If the SIZ0 and SIZ1 pins are assigned to carry I/O the Shadow RAM data will not be accurate and the trace buffer display may not correctly interpret the data collected. However, the raw data collected (the address and data bus values) will still be correct; it will be exactly what was on the data and address busses. Without AS and DS Shadow RAM the trace board will not operate.
Multiple Bus Masters and Partially Expanded Mode
In addition, if the target has multiple bus masters and runs the MCU in partially expanded mode, there are further limitations:
© ICE Technology
61
POD–16X1
•
Internal bus cycles will not be completely available to the emulator (or trace board). Only the upper half of internal bus cycles will be shown on the eight available bus pins.
•
Emulation RAM on the pod can be used to replace the internal ROM memory, but the external bus cycles will be 8 bits wide. The application timing will be very different than if the application were running out of internal (16-bit) ROM or FLASH memory.
Connecting the Pod to the Target Board
There are four ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
•
Part number ET/CLIP-160-QF07-B is a clip that connects the pins of a surface mounted
68HC16X1 to the pins on the pod. This connection is temporary and has the advantage that it does not affect the board design or manufacture at all. With this clip, the target should be designed so that the processor can manipulate the signal called TSC. 10K pull down in the target system is recommended. If this pin is driven high, the target processor will tri-state all outputs and use the pod MCU for emulation.
•
Part number ET/EPP-160-QF07-W is an adapter that solders onto the target board in place of the MCU. This adapter mates with the pod board pins. This is also does not affect the board design, but it does require some special prototype board assembly.
•
Finally, a Background Debug connector (BERG) designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters. The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. These two emulator features will not operate when the BERG connector is used.
EMUL16/300–PC User Guide
POD–16Y1
Figure 43. POD–16Y1
Overview
Use this pod if you are running a 68HC(9)16Y1 processor. The pod board includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
Note
The 16Y1 is significantly different from the (9)16Y1. The pod should be ordered with the appropriate CPU.
© ICE Technology
63
POD–16Y1 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
POD–16Y1 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
1M
FC1
16BIT
ROM
BNK0
BNK1
BNK2
BNK3
SER
CLK
PRU
RST
Stand-Alone
Position
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
ON or OFF
ON
Position Connected To a Target
ON or OFF
ON (when pod RAM >
512K)
ON (OFF if emulating 8-bit memory)
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
On or OFF
ON or OFF
ON or OFF
Description
Set at the factory, do not change
Connects FC1 pin to pod RAM
Controls pod memory width
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Connects the MCU serial port to the DB-9 connector on the pod
Connects pod crystal circuit to the pod MCU
Enables Port Replacement Unit using /CS5
Connects target /RESET signal to pod MCU
BKPT
BERR
PWR
P T
ON or OFF
On or OFF
ON
P
OFF
ON or OFF
ON (OFF if external watchdog resets MCU)
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
OFF (if there is a target power supply)
P or T
Connects target /BKPT signal to pod MCU
Connects target /BERR signal to pod MCU
Provides +5V power to the target
Enables either the pod or the target controller
EMUL16/300–PC User Guide
POD–16Y1
Header and Jumper Details
This jumper must not be removed. The max address range supported by any one chip select signal is 512K. RAM on the pod can come with 1 MB in a single bank. If your pod has that much RAM, half of it will be wasted unless the Function code signal FC1 is used to effectively bank switch between the two halves of memory. If the FC1 jumper is in place, the FC1 signal from the controller will be directed to the high order address bit on the RAM chip, which will create two banks of RAM. One bank will be used for Program space. The other bank will be used for Data space bus cycles. The same chip select will control both banks, and so will have the same starting address and same size.
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
16/300 pods, including those for the CPU16 controllers, are available with 1 MB of memory bank0. The CPU16 controllers can address up to 1 MB of RAM, but the largest bank size for a single CPU16 chip select signal is 512K. This would normally make one half of each 1-MB emulation memory bank unusable. The FC1 header allows you to use the entire 1-MB bank as two 512K banks.
If you have a POD–16Y1/1M1B, you may use the function code signal FC1 to allocate one half of the 1-MB emulation memory bank on the pod for program bus cycles (instruction fetch) and the other half for data bus cycles. If your POD–16Y1 has 1 MB in bank0 and you have the FC1 header shorted by a jumper, data and code bus cycles will go to separate 512K banks with overlapping addresses. The FC1 pin connects to the pod RAM.
During reset, pin 0 of the data bus configures the two least significant bits in /CSPAR0, which controls whether the /CSBOOT generates bus cycles and address for 8-bit or 16-bit memory.
Removing the 16BIT jumper disables half of the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure chip select registers with the software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle.
If the vectors are stored in an 8-bit wide device and it tries to read a 16-bit wide device (or vice versa) the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
© ICE Technology
65
POD–16Y1
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will NOT effect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
These jumpers only effect pods with more than one bank of RAM. They should be OFF for targets that use the chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
Remove the jumper if you have a serial device on the serial port.
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
The Port Replacement Unit (PRU) makes it possible to emulate single-chip and partially expanded applications. It replaces the MCU Port E pins in all modes, which assures that Shadow RAM and the trace board will have the bus control signals they need at all times. Do not remove this jumper unless /CSE is not available. The PRU is enabled using /CS5. The PRU supports full-featured emulation even if Port E is used for I/O.
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the /BKPT pin as it needs to. When target /BKPT/BERR is tied to +5V this should be set to OFF when all the following the conditions are met:
EMUL16/300–PC User Guide
POD–16Y1
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the /BERR jumper.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
For most circumstances, leave the jumper in the default or P position. When the jumper is in the P position, the target processor is tri-stated and the pod processor controls the bus and peripherals.
Because the pod has the PRU emulating, nearly all single-chip and partially expanded applications will be easier using the pod MCU.
Putting the jumper in the T position will disable the pod processor and allow the target processor to run. This is required for applications that include multiple bus masters, and other designs where
/CSE is not available.
The controller on this pod does not need to be removed when there is also a controller on the target. Logic on the pod prevents both controllers from running at the same time. This logic requires that the TSC pin on the target be pulled high through its own 10K resistor, and not be directly tied to Vcc. If the target MCU is not installed, and if the TSTME/TSC pin is connected to Vcc, you may remove the P T jumper to reduce the power consumed.
© ICE Technology
67
POD–16Y1
Notes On the 16Y1 Pod
Jumpers BNK0 through BNK3 control use of emulation memory bank 0 through bank 3. They allow use of an arbitrary MCU’s chip select to control an emulation memory bank. By default, they connect the following signals:
Jumper
BNK0
BNK1
BNK2
BNK3
MCUs / CS
/CSBOOT
/CS0
/CSM
/CS3
Emulation Memory Bank
0
1
2
3
If any or the entire above chip selects can not be used for emulation memory control, because they are used by a present target resource, any other set of chip selects may be used. When this is necessary, simply remove a jumper to disconnect an MCUs /CSx from the respective emulation memory bank and wire-wrap desired /CS to the pin marked BNKx.
If the target does not use MCUs /CS to control it's memory (specifically the memory which you want to replace by emulation memory), then output of the target address decoder may be used to control an emulation memory bank. This can be accomplished by connecting a wire between the target’s address decoder output and the pin on the pod marked BNKx.
The /CSM spans only address range equal to the size of the on-chip ROM (48K on 68HC16Y1).
To test BNK2, connect /CS5 (pin 128) to the pin marked BNK2 as per instructions above.
Connecting the Pod to the Target Board
There are five ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
•
Part number ET/EPP-160-QF07-W is an adapter that solders onto the target board in place of the CPU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
Part number ET/CLIP-160-QF07-B clip-over for 160-pin plastic QFP SMD. Not recommended for ceramic packages.
EMUL16/300–PC User Guide
POD–16Y1
•
Part number SAMTEC/SSQ-117-03-GD is a 34-pin extender strip to raise the height of the pod. Sold individually, you will need four strips per layer. Each layer of four strips elevates the pod approximately ½ inch.
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
© ICE Technology
69
POD–16Y3
Figure 44. POD–16Y3
Overview
Use this pod if you are running the 68HC(9)16Y3 processor in expanded multiplexed mode or special test mode (external memory). This pod board has a standard 68HC(9)16Y3 that you can replace if it fails or if you want to use a different processor from the same family. The pod board includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
Note
The (9)16Y3 is significantly different from the 16Y1. The pod should be ordered with the appropriate CPU.
EMUL16/300–PC User Guide
POD–16Y3 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
POD–16Y3 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
1M
PWR
FC1
16BIT
ROM
BNK0
BNK1
BNK2
BNK3
P T
CLK
SER
PRU
RST
BKPT
BERR
Stand-Alone
Position
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
P
ON
ON or OFF
ON or OFF
ON
ON or OFF
ON or OFF
Position Connected
To a Target
ON or OFF
OFF (if there is a target power supply)
ON (when pod RAM >
512K)
ON (OFF if emulating 8-bit memory
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
P or T
OFF
ON or OFF
Description
Set at the factory, do not change
Provides +5V power to the target
Connects FC1 pin to pod RAM
Controls memory width
Makes RAM bank0 read-only
Connects CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Enables either the pod or the target controller
Connects pod crystal circuit to the pod MCU
Connects the MCU serial port to the DB-9 connector on the pod
Enables Port Replacement Unit using /CS5
Connects target /RESET signal to pod MCU
ON or OFF
ON (OFF if external watchdog resets MCU)
ON (OFF if target BKPT is tied directly to +5V)
ON (OFF if target BERR is tied directly to +5V)
Connects target /BKPT signal to pod MCU
Connects target /BERR signal to pod MCU
© ICE Technology
71
POD–16Y3
Header and Jumper Details
The max address range supported by any one chip select signal is 512K. RAM on the pod can come with 1 MB in a single bank. If your pod has that much RAM, half of it will be wasted unless the Function code signal FC1 is used to effectively bank switch between the two halves of memory. If you have the FC1 jumper is in place, the FC1 signal from the controller will be directed to the high order address bit on the RAM chip, which will create two banks of RAM. One bank will be used for Program space. The other bank will be used for Data space bus cycles. The same chip select will control both banks, and so will have the same starting address and same size.
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
EMUL16/300 pods, including those for the CPU16 controllers, are available with 1 MB of memory bank0. The CPU16 controllers can address up to 1 MB of RAM, but the largest bank size for a single CPU16 chip select signal is 512K. This would normally make one half of each 1-MB emulation memory bank unusable. The FC1 header allows you to use the entire 1-MB bank as two
512K banks.
If you have a POD–16Y3/1M1B, you may use the FC1 signal to allocate one half of the 1-MB emulation memory bank on the pod for program bus cycles (instruction fetch) and the other half for data bus cycles. If your POD–16Y3 has 1 MB in bank0 and you have the FC1 header shorted by a jumper, data and code bus cycles will go to separate 512K banks with overlapping addresses.
The FC1 pin connects to the pod RAM.
EMUL16/300–PC User Guide
POD–16Y3
During /RESET, pin 0 of the data bus configures the two least significant bits in /CSPAR0, which controls whether the /CSBOOT generates bus cycles and address for 8-bit or 16-bit memory. Removing the 16BIT jumper disables half of the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure chip select registers with the software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle.
If the vectors are stored in an 8-bit wide device and it tries to read a 16-bit wide device (or vice versa) the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0 (makes RAM bank0 read-only). The ROM jumper will not effect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be off.
These jumpers only effect pods with more than one bank of RAM. It should be OFF for targets that use this chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
Jumpers BNK0 to BNK3 control use of emulation memory bank0 through bank3. They allow use of an arbitrary MCU’s chip select to control an emulation memory bank. For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM. Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
If any or all of the chip selects can not be used for emulation memory control, because they are used by a present target resource, any other set of chip selects may be used. When this is necessary, simply remove a jumper to disconnect an MCU’s /CSx from the respective emulation memory bank and wire-wrap desired /CS to the pin marked BNKx.
© ICE Technology
73
POD–16Y3
If the target does not use MCU’s /CS to control it’s memory (specifically the memory which you want to replace by emulation memory), then output of the target address decoder may be used to control an emulation memory bank. This can be accomplished by connecting a wire between the target’s address decoder output and the pin on the pod marked BNKx.
The /CSM spans only address range equal to the size of the on-chip ROM (48K for the
68HC16Y3). To test bank2, connect /CS (128) to the pin marked BNK2.
Note
The 68HC16Y3 does not support the signal /CSM at all (there is no ROM module on the chip and flash module does not support the /CSM). It is therefore necessary to control the bank2 by some other chip select.
Setting determines whether the power is set for the pod or the target MCU. For most circumstances, leave the jumper in the default or P position. When the jumper is in the P position, the target processor is tri-stated and the pod processor controls the bus and peripherals. Putting the jumper in the T position will disable the pod processor and allow the target processor to run. This is required for applications that include multiple bus masters, and other designs where /CSE is not available.
For most circumstances, leave the jumper in the default or P position. When the jumper is in the P position, the target processor is tri-stated and the pod processor controls the bus and peripherals.
Because the pod has the PRU emulating, nearly all single-chip and partially expanded applications will be easier using the pod MCU.
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
Remove the jumper if you have a serial device on the serial port.
The Port Replacement Unit (PRU) makes it possible to emulate single-chip and partially expanded applications. It replaces the MCU Port E pins in all modes, which assures that Shadow RAM and the trace board will have the bus control signals they need at all times. Do not remove this jumper unless /CSE is not available. The PRU is enabled using /CS5. The PRU supports full-featured emulation even if Port E is used for I/O.
EMUL16/300–PC User Guide
POD–16Y3
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the
/BKPT pin as it needs to. When target /BKPT/BERR is tied to +5V this should be set of OFF when all the following the conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal)
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating single-chip mode, remove the /BERR jumper.
Special Considerations for the 68HC(9)16Y3 MCU
When you receive the POD–16Y3 changes have been made to the configuration of the MCU to allow its use with the emulator. Specifically, the EEPROM has been moved to address
BE00 - BFFF (because the default addresses conflict with the standard reset vector addresses and the EEPROM is also disabled), and the COP has been disabled.
Chip Select Logic
The 68HC(9)16 chip select logic feature will not be switched off when emulation breaks. This means that chip select signals to the target can be generated by the chip select logic even if the emulator is in monitor mode (not emulating).
BOOT ROM
The size of the BOOT ROM is another difference between 68HC(9)16 chips and 68HC3xx series chips. You can use the same procedure with 68HC(9)16 chips, except that you expand the address range of the memory transfer to (BF00 - BFFF).
© ICE Technology
75
POD–16Y3
Connecting the Pod Board to the Target Board
There are five ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
•
Part number ET/EPP-160-QF07-W is an adapter that solders onto the target board in place of the CPU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
Part number ET/CLIP-160-QF07-B clip-over for 160-pin plastic QFP SMD. Not recommended for ceramic packages.
•
Part number SAMTEC/SSQ-117-03-GD is a 34-pin extender strip to raise the height of the pod. Sold individually, you will need four strips per layer. Each layer of four strips elevates the pod approximately ½ inch.
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
EMUL16/300–PC User Guide
POD–16Z1
Figure 45. POD–16Z1
Overview
Use this pod if you are running the 68HC16Z1/Z2. The pod board includes a Motorola standard
Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
POD–16Z1 LED Indicators
Name
D1
D2
D3
D4
D5
Function
HALT
RESET
FREEZE
RUN
LOW Volt
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
An amber LED that indicates that the pod is running on low voltage (+3.3V) from the target rather than the standard +5V.
Note: Applicable to Rev. D or later, all previous models had only four LED indicators.
© ICE Technology
77
POD–16Z1 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
P T
RXD
Stand-Alone
Position
P
FC1
ROM
BNK0
BNK1
BNK2
BNK3
RESET
BERR
BKPT
DSI
PWR
PRU
CLK
1M
16BIT
SIZx
ON
ON or OFF
ON
ON or OFF
ON or OFF
ON
ON or OFF
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
Position Connected
To a Target
P or T
Description
Enables either the pod or the target controller
Drives the serial port input pin on the controller
Provides +5V power to the target OFF (if there is a target power supply)
ON or OFF
OFF
ON or OFF
ON (OFF if emulating 8-bit memory
ON
ON (when pod RAM >
512K)
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON (OFF if external watchdog resets MCU)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /DSI is tied to +5V)
Enables Port Replacement Unit using /CS5
Connects pod crystal circuit to the pod MCU
Set at the factory, do not change
Controls memory width
Supports using emulation RAM without Port
E SIZ0 and SIZ1 signals
Connects FC1 pin to pod RAM
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Connects target RESET signal to pod MCU
Connects target /BERR signal to pod MCU
Connects target /BKPT signal to pod MCU
Connects target /DSI signal to pod MCU
EMUL16/300–PC User Guide
POD–16Z1
Header and Jumper Details
Note
The pod board for the 68HC16Z2 is similar to the pod board for the 68HC16Z1 except for the following features:
•
A 4-MHz crystal
•
A diode between RESET (pin 69) and D14 (pin 92). This diode disables the internal ROM so that instructions can be executed out of emulation RAM through a reset.
•
To support the 68HC16Z2, use the 68HCZ1 with the EMUL16/300-PC/QFP132
CLIP clip-over adapter.
The controller on Rev. D or later does not need to be removed even when there is also a controller on the target. Logic on the pod prevents both controllers from running at the same time. This logic requires that the TSC pin on the target be pulled high through its own 10K resistor, and not be directly tied to Vcc. If the target MCU is not installed, and if the TSTME/TSC pin is connected to Vcc, you may remove the P T jumper to reduce the power consumed.
For most circumstances, leave the jumper in the default or P position. When the jumper is in the
P position, the target processor is tri-stated and the pod processor controls the bus and peripherals.
Because the pod has the PRU emulating, nearly all single-chip and partially expanded applications will be easier using the pod MCU.
Putting the jumper in the T position will disable the pod processor and allow the target processor to run. This is required for applications that include multiple bus masters, and other designs where
CSE is not available.
If your target outputs debugging information on the serial port, you might want to connect an
RS232 device alike a terminal or a PC to header J1. This pod includes a MAX 232 chip to convert the signal levels from RS232 to TTL levels. Whether or not you connect the RXD pin to an RS232 device, the MAX232 chip will drive the serial port input pin on the controller. To keep the MAX232 chip from driving the serial input pin on the controller, remove the jumper on the RXD header. To allow the MAX232 chip to drive the serial port input pin, place a jumper on this header.
© ICE Technology
79
POD–16Z1
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
The Port Replacement Unit (PRU) makes it possible to emulate single-chip and partially expanded applications. It replaces the MCU Port E pins in all modes, which assures that Shadow RAM and the trace board will have the bus control signals they need at all times. Do not remove this jumper unless /CSE is not available. The PRU is enabled by using /CS5. The PRU supports full-featured emulation even if Port E is used for I/O.
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
If you do not have a POD–16Z1/Z2/1M1B or a POD–16Z1/Z2/4M, do not remove this jumper.
The max address range supported by any one chip select signal is 512K. RAM on the pod can come with 1 MB in a single bank. If your pod has that much RAM, half is wasted unless the function code signal FC1 is used to effectively bank switch between the two halves of memory. If you have a POD–16Z1/Z2/1M1B and the FC1 jumper is in place, the FC1 signal from the controller is directed to the high order address bit on the RAM chip, which creates two banks of RAM. One bank is used for program space. The other bank is used for data space bus cycles. Both banks are controlled by the same chip select, and have the same starting address and same size.
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
EMUL16/300–PC User Guide
POD–16Z1
During /RESET, pin 0 of the data bus configures the two least significant bits in /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit or 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select with the software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle.
If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device the vectors are fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Useful only if the PRU jumper is removed and your application has programmed the Port E pins
SIZx signals to carry I/O signals. If you cannot use the PRU and the Port E SIZx pins are used to carry I/O, call your customer representative or Nohau Technical Support for assistance.
EMUL16/300 pods, including those for the CPU16 controllers, are available with 1 MB of memory bank0. The largest bank size for a single CPU16 chip select signal is 512K. This would normally make one half of each 1-MB emulation memory bank unusable. The FC1 header allows you to use the entire 1-MB bank as two 512K banks.
If you have at least 1 MB of RAM, one bank of RAM will be used for data space bus cycles and the other bank will be used for program space. Both banks will be controlled by the same chip select, and will have the same starting address and same size. The FC1 pin connects to the pod
RAM.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will not affect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
The jumpers for BNK1, BNK2 and BNK3 only effect pods with more than one bank of RAM.
They need to be OFF for targets that use this chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
© ICE Technology
81
POD–16Z1
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank 3. You must remove the BNK3 jumper and use some other chip select signal.
If a target has a reset button that grounds the /RESET pin when pressed, this will not interfere with emulation so the /RESET jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the /BKPT pin as it needs to. When target /BKPT/BERR/DSI is tied to +5V this should be set of
OFF when all the following the conditions are met:
1.
The target has circuitry that drives this pin
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal)
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RESET pin low. During debugging, that may be inconvenient. The signal from the target
/RESET pin passes though the /RESET header. Removing the /RESET jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the /BERR jumper.
Port Replacement Unit (PRU)
Seehau uses some of the Port E signals (/AS, /DS, SIZ0, and SIZ1) for supporting Shadow RAM and the trace board. This pod includes a Port Replacement Unit (PRU) that duplicates the Port E configuration registers and pins. Some target applications use the Port E pins for I/O. For these targets, use the PRU to provide the I/O signals to the target while the pod MCU provides the bus control signals to the emulator.
If your target application configures the Port E pins to carry I/O and if you can use the MCU on the pod, follow the instructions below for setting up and using the PRU.
Note
If your application does not use the Port E pins for I/O, you do not need to use the
PRU. Remove the PRU jumper to disable the PRU.
EMUL16/300–PC User Guide
POD–16Z1
To use the PRU to emulate Port E, the target application must be recompiled to write to the PRU
Port E configuration registers, not the MCU Port E configuration registers. The PRU Port E registers are located at a different address than the MCU Port E registers.
Chip Select /CS5
The PRU pin is placed next to the header pin for chip select 5 (MCU pin number 115). If /CS5 is not being used for any other purpose, you can place a jumper between those two pins very conveniently.
If /CS5 is being used for some other purpose, you must choose some other chip select signal to activate the port replacement unit and run a wire between that signal source and the PRU pin. The select signal can be either one generated by the MCU or one generated by address decoding logic on your target.
Whether you choose /CS5, another MCU chip select signal, or a signal from your own address decoding logic, the signal must be active for at least 16 addresses that are not used by any other device on the bus. Further discussion following assumes you are using /CS5 and have a jumper between MPU pin 115 and the PRU pin. Adjust the instructions to suit your particular design.
Conditional Compilation
Only two software changes support the PRU and they are both in the start-up instructions. If you set up a compile-time switch, you can easily switch between using the real Port E (without the emulator) and using the replacement Port E.
Locate the Replacement Registers
To map the replacement port E registers using /CS5, you must configure /CS5 base address and option registers. We suggest you map the replacement registers to the same page as the other configuration registers. The smallest block size supported by /CS5 is 2048 bytes, and must start on a
2048 byte page boundary. That leads to a /CSBAR5 value of $FFF8. This value maps those 16 registers to address $FF800. They repeat every 16 bytes through address $FFFFF.
The option register for /CS5 needs to support reading and writing, both high and low bytes of a 16bit wide bus, Fast Termination cycles, supervisor or user space, and no autovector support. This leads to a /CSOR5 register value of $7BB0.
Use the Replacement Registers
With the PRU jumper in place and with these two values in these two registers, the replacement registers appear on the bus every 16 bytes, repeatedly from $FF F800 to $FF FFFF. They do not hide the internal configuration registers because the replacement registers are external.
Of the 16 bytes, 12 are reserved and 4 are used to configure the replacement Port E.
© ICE Technology
83
POD–16Z1
Port E Configurations
$8
$A
$C
$E
$0
$2
$4
$6
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Port E Data Register (PORTE)
Port E Data Register (PORTE)
Port E Data Direction Reg. (DDRE)
Port E Pin Assignment Register
Reserved
Reserved
Reserved
Reserved
Notes on Rev. A / B
The 68HC16Z1/Z2 MCUs are very configurable. However, some configurations interfere with operation of the EMUL16/300–PC. Nearly every pin that carries a control signal can be configured to carry a general-purpose input/output signal instead. However, the Seehau software needs certain control signals to do its job. The /BKPT/DSCLK line must not be forced either high or low. Instead, a 10K Ohm pull-up resistor keeps the CPU from accidentally entering BDM and still allows the Seehau to pull the line low when it needs to.
$9
$B
$D
$F
$1
$3
$5
$7
Hint
ISO–160 can be used to isolate the /BKPT (or any other) signal on the target from the pod. This might be simpler than modifying the target board. For more information about ISO–160, see Appendix F, “ISO–160.”
The circuitry that maintains Shadow RAM needs /AS, /DS, CLKOUT, SIZ0, and SIZ1. All of these signals must appear at their respective pins or Shadow RAM does not correctly reflect the state of emulation or target RAM. The trace board needs /AS, /DS, and CLKOUT. Target designs that use these port E pins for other signals can interfere with Shadow RAM and trace board operation.
Notes on Rev. C
Unlike the revisions A or B, POD–16Z1/Z2, Rev. C has a PAL to control emulation RAM. This
PAL uses a variety of controller signals and the jumpers on the pod to determine which RAM chips to enable, and which to write-enable.
Note
To emulate through a reset, bank0 must contain your reset vectors and startup code.
EMUL16/300–PC User Guide
POD–16Z1
The pod was also reconfigured with the following options added or deleted:
Added
Z2, /DS, /RST, BKP, BNK0-3, SIZx, ROM
Deleted
8-bit RAM
Notes on Rev. D or Later
Rev. D, E, and F are identical in functionality and jumper layouts.
Stand-Alone Operation—This revision uses CMOS logic, which has higher input impedance than the logic on previous versions of the pod. As a result, on a stand-alone pod, electrical noise may cause the trace board to capture frames before the MCU comes out of reset. If that happens, the Trace window will show trace frames with unusual looking data.
These pod revisions include a PRU that is active when the P T pod jumper is in the P position. In the P position 8 VDC is applied to the TSC pin of the target board processor (pulled low through a pull down resistor). Raising this pin to 8 VDC will disable all target processor output signals except CLKOUT. The result will be CLKOUT jitter.
The following applies only when using the pod processor (P T jumper in P position) and the target processor is soldered down or socketed. If you have physically removed the 16Z1 from your target board, disregard the following information:
Obtain four SAMTEC headers from Nohau, remove the pin to the XFC signal with pliers (easily pulled from the header), and remove the two pod CLK jumpers closest to the Z1 pod crystal. This will leave one CLK jumper in place (closest to the pod cable). The XFC is pin 60 as numbered on the top of the pod (numbering corresponding to 132-pin package pin assignment). Place a scope on
CLKOUT pod-pin 63 and it will now show a clean square wave with no jitter.
For Rev. D the following options were added or changed on the pod:
Added
P T, LOW VOLT LED, 1M, PRU, RXD, BERR, FC1
Deleted
RST to RESET, BKP to BKPT
Connecting the Pod to the Target Board
There are six ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
© ICE Technology
85
POD–16Z1
•
Part number ET/EP5-132-QF03T is an adapter that plugs into the 132-pin TESTOOL socket.
•
Part number ET/EPP-132-QF03-LG is an adapter that solders onto the target board in place of the CPU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
Part number ADP-332PGA connects to a 132-pin PGA socket. Or, if the target board assembly solders the controller directly to the board, the PGA socket included with ADP-332PGA can be soldered onto the target board in place of the controller.
•
Part number SAMTEC/SSQ-117-03-GD is a 34-pin extender strip to raise the height of the pod. Sold individually, you will need four strips per layer. Each layer of four strips elevates the pod approximately ½ inch.
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
EMUL16/300–PC User Guide
POD–CM16Z1
Figure 46. POD–CM16Z1
Overview
Use this pod if you are running the 68HCM16Z1/68HCK16Z1 series MCU.
Note
The CM16Z1 is different from the CK16Z1. The pod should be ordered with the appropriate CPU.
POD–CM16Z1 LED Indicators
Name
D1
D2
D3
D4
D5
Function
HALT
RESET
FREEZE
RUN
LOW Volt
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
An amber LED that indicates that the pod is running on low voltage (+3.3V) rather than the standard +5V.
© ICE Technology
87
POD–CM16Z1 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
PWR
PRU
RXD
BKPT
BERR
RESET
DSI
Stand-Alone
Position
ON
ON or OFF
ON or OFF
ON or OFF
ON
ON or OFF
Position Connected to a Target
OFF (if there is a target power supply)
ON or OFF
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if external watchdog resets MCU)
ON (OFF if target /DSI is tied directly to +5V)
Description
Provides +5V power to the target
Enables Port Replacement Unit using /CS5
Drives the serial port input pin on the controller
Connects target /BKPT signal to pod MCU
Connects target /BERR signal to pod MCU
Connects target /RESET signal to pod MCU
Connects target /DSI signal to pod MCU
FC1
BNK0
ON or OFF
ON
Connects FC1 pin to pod RAM
Connects /CSBOOT to pod RAM bank0
BNK1
BNK2
BNK3
ROM
16BIT
SIZx
1M
CLK
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
ON
ON or OFF
ON
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON (OFF if emulating 8-bit memory)
ON
ON or OFF
OFF
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Makes RAM bank0 read-only
Controls pod memory width
Supports using emulation RAM without Port
E SIZ0 and SIZ1 signals
Set at the factory, do not change
Connects the pod crystal circuit to the pod
MCU
EMUL16/300–PC User Guide
POD–CM16Z1
Header and Jumper Details
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the
PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
If your target outputs debugging information on the serial port, you might want to connect an
RS232 device alike a terminal or a PC to header J1. This pod includes a MAX 232 chip to convert the signal levels from RS232 to TTL levels. Whether or not you connect the RXD pin on J1 to an
RS232 device, the MAX232 chip will drive the serial port input pin on the controller. To keep the
MAX232 chip from driving the serial input pin on the controller, remove the jumper on the RXD header. To allow the MAX232 chip to drive the serial port input pin, place a jumper on this header.
The Port Replacement Unit (PRU) makes it possible to emulate single-chip and partially expanded applications. It replaces the MCU Port E pins in all modes, which assures that Shadow RAM and the trace board will have the bus control signals they need at all times. Do not remove this jumper unless /CSE is not available. The PRU is enabled by using /CS5. The PRU supports full-featured emulation even if Port E is used for I/O.
EMUL16/300 pods, including those for the CPU16 controllers, are available with 1 MB of memory bank0. The largest bank size for a single CPU16 chip select signal is 512K. This would normally make one half of each 1-MB emulation memory bank unusable. The FC1 header allows you to use the entire 1-MB bank as two 512K banks.
If you have at least 1 MB of RAM, one bank of RAM will be used for data space bus cycles and the other bank will be used for program space. Both banks will be controlled by the same chip select, and will have the same starting address and same size. The FC1 pin connects to the pod RAM.
© ICE Technology
89
POD–CM16Z1
If a target has a reset button that grounds the /RESET pin when pressed, this will not interfere with emulation so the /RESET jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the BKPT jumper should be off so that the emulator can control the /BKPT pin as it needs to. When target /BKPT/BERR/DSI is tied to +5V this should be set to
OFF when the following conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal.
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RESET pin low. During debugging, that may be inconvenient. The signal from the target
/RESET pin passes though the /RESET header. Removing the /RESET jumper will prevent the external device from setting the pod controller.
Note
When emulating single chip mode, the /BERR jumper must be removed.
These jumpers only effect pods with more than one bank of RAM. It should be OFF for targets that use this chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
EMUL16/300–PC User Guide
POD–CM16Z1
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will NOT effect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
During reset, pin 0 of the data bus configures the two least significant bits in /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit or 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select with the software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle.
If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device the vectors are fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Supports using emulation RAM without Port E SIZ0 and SIZ1 signals. The SIZx header is only useful if the PRU jumper is removed AND your application has programmed the port E pins SIZ signals to carry I/O signals. If you cannot use the PRU and the Port E SIZx pins are used to carry
I/O, call Nohau Technical Support for assistance.
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
© ICE Technology
91
POD–CM16Z1
Note
The following section only applies to pods with more than one bank of emulation
RAM.
RAM BNK1 and /CSM
If your pod is equipped with 68CM16Z1 or 68CK16Z1 the MCU will not support /CSM signal. If you wish to use bank1, you will need to run a wire between some other /CS and the outer of the two pins that are now marked BNK1.
Connecting the Pod to the Target Board
There are four ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
•
Part number SAMTEC/SSQ-117-03-GD is a 34-pin extender strip to raise the height of the pod. Sold individually, you will need four strips per layer. Each layer of four strips elevates the pod approximately ½ inch.
•
Part number ADP-16Z1-SQFP is an adapter that solders onto the target board in place of the
144-pin TQFP (thin QFP) SMD. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
EMUL16/300–PC User Guide
POD–331
Figure 47. POD–331
Overview
This pod board contains a 16.78-MHz 68331 chip, a 32768-Hz crystal, between 256K and 4 MB of static RAM for instructions and data, and a DB-9 connector for the chip’s serial port. The pod board also includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
Physical Dimensions
The pod board itself is 4.5 inches by 3.75 inches (11.4 cm. by 9.5 cm). The pod requires between one and two inches (2.5 cm to 5 cm) of space above the target.
© ICE Technology
93
POD–331 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
POD–331 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
1M
SIZx
16BIT
ROM
BNK0
BNK1
BNK2
BNK3
SER
PWR
OSC
AS
DS
BKPT
BERR
RST
Stand-Alone
Position
ON or OFF
ON
ON
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
Position Connected to a Target
ON or OFF
ON
Description
Set at the factory, do not change
Supports using emulation RAM without Port
E SIZ0 and SIZ1 signals
Controls pod memory width ON (OFF if emulating 8-bit memory)
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON or OFF
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Connects the MCU serial port to the DB-9 connector on the pod
Provides +5V power to the target OFF (if there is a target power supply)
OFF Connects pod crystal circuit to the pod MCU
Connects target Address Strobe signal to pod MCU
Connects target Data Strobe signal to pod
MCU
Connects target /BKPT signal to pod MCU ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if external watchdog resets MCU)
Connects target /BERR signal to pod MCU
Connects target /RESET signal to pod MCU
EMUL16/300–PC User Guide
POD–331
Header and Jumper Details
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
Support using emulation RAM without Port E SIZ0 and SIZ1 signals. The SIZx header is useful only if the PRU jumper is removed and your application has programmed the Port E pins SIZx signals to carry I/O signals. If you cannot use the PRU and the Port E SIZx pins are used to carry
I/O, call Nohau Technical Support for assistance.
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will not affect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
These jumpers only effect pods with more than one bank of RAM. They need to be OFF for targets that use this chip select for anything.
© ICE Technology
95
POD–331
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
Remove the jumper if you have a serial device on the serial port.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
The jumper in position 1 should remain ON if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin. Connects the pod crystal circuit to the pod MCU.
This is a timing signal that indicates the validity of an address on the address bus and of many control signals. It is asserted one half clock after the beginning of a bus cycle.
This is a timing signal. For a read cycle, the MCU asserts the /DS to signal an external device to place data on the bus. This is asserted at the same time as /AS during a read cycle. For a write cycle, the /DS signals and external device that the data on the bus is valid. The MCU asserts /DS one full clock cycle after the assertion of /AS during a write cycle.
EMUL16/300–PC User Guide
POD–331
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be OFF so that the emulator can control the
/BKPT pin, as it needs to. When target /BERR/BKPT is tied to +5V these should be set to OFF.
For each of these jumpers, remove the jumper only if all three of these conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the BERR jumper.
RAM BNK1 and /CSM
(This section only applies to pods with more than one bank of emulation RAM.)
If your pod is equipped with 68331, 68332, or 68334, the MCU will not support /CSM signal. If you wish to use bank1, you will need to run a wire between some other /CS and the outer of the two pins that are now marked BNK1.
Connecting the Pod to the Target Board
There are six ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
© ICE Technology
97
POD–331
•
Part number QFP132CLIP is a clip that connects the pins of a surface-mounted 68331 to the pins on the pod. This connection is temporary and has the advantage that it does not affect the board design or manufacture at all. With this clip, any production target board connects directly to POD–331. The disadvantage of this adaptation approach is that the BKPT signal must not be tied to +5V directly. The BKPT signal must be pulled up through a resistor
(about 10 k Ohms) otherwise the emulator will not be able to assert that signal (by driving it low).
•
Part number ET/EPP-132-QF03-LG is an adapter that solders onto the target board in place of the CPU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
A board design that includes a 132 through-hole AMP chip socket can use part number
ET/EP5-132-QF03A to connect the pod to the target. The advantage of this approach is that once the target board includes a chip socket, the adapter connects POD–331 to the target. No other changes to the board design or manufacture are needed to use the emulator. The disadvantages are that the socket footprint is slightly larger than the chip without the socket and the cost of the socket itself.
•
Part number ADP-332PGA connects a POD–331 to a 132-pin PGA socket. Or, if the target board assembly solders the controller directly to the board, the PGA socket included with
ADP-332PGA can be soldered onto the target board in place of the controller.
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
68331 Configuration Requirements
The 68331 is very configurable. Nearly every pin that carries a control signal can be configured to carry general-purpose input/output signals instead. However, the emulator needs certain control signals to do its job. The /BKPT/DSCLK line must not be forced either high or low. Instead, a
10-k Ohm pull-up resistor will keep the CPU from accidentally entering BDM.
Note
ISO-160 can be used to isolate the /BKPT (or any other) signal on the target from the pod. This may be simpler than modifying the target board.
EMUL16/300–PC User Guide
POD–331
The circuitry that maintains Shadow RAM needs /AS, /DS, CLKOUT, SIZ0, and SIZ1. All of these signals must appear at their respective pins or Shadow RAM will not correctly reflect the state of emulation or target RAM. The trace board also needs /AS, /DS, and CLKOUT. Target designs that use these Port E pins for other signals may interfere with Shadow RAM and trace board operation.
Using Emulation RAM
The pod contains either 256K, 1 MB, or 4 MB of RAM that can be used to emulate target RAM or
ROM. The first part of the discussion below assumes that the SIZ0 and SIZ1 signals are available to the emulator and have not been configured to carry I/O signals.
The pod with 256K of RAM has 1 bank of RAM, 256K in size. The 1-MB pod board has 4 banks, each bank is 256K in size. The 4-MB pod board has 4 banks, each with 1 MB of RAM. Each bank, regardless of the size, requires one chip select signal. Bank0 is controlled by /CSBOOT. /CS0,
/CS1, and /CS2 control banks 1, 2, and 3 respectively. If /CSBOOT, /CS0, /CS1, or /CS2 have to be used by the target, then remove the respective jumper(s) and disable the associated bank of
RAM. Chip select signals used to control an emulation memory bank must be configured for reading and writing. If the RAM is emulating 16-bit target RAM or ROM, the signal must also select for both high and low bytes. For emulating 8-bit devices, the signal should only select the high byte.
POD–331 Rev. B has a PAL to control emulation RAM. This PAL uses a variety of controller signals and the jumpers on the pod to determine which RAM chips to enable, and which to writeenable. (Refer to Appendix G, “PAL Equations for RAM.”)
All memory banks must be either 8 bits or 16 bits wide. Any chip select can control 1 bank of emulation memory on the pod if a wire is run (wire wrap is best) to the header for that bank (the pin close to the edge). This also works for 16-bit memory without size signals.
Note
To isolate the controller from the target, ISO-160 must come between the target hardware and the controller. This makes the ISO-160 less useful when used with the QFP132CLIP adapter.
Bank0 is special because it is controlled by /CSBOOT. Resetting the controller activates
/CSBOOT for reading and writing 1 megabyte of memory starting at address 0. Bank0 is also special, because inserting the ROM jumper will make it impossible for the application to write into bank0 while still allowing the emulator to write breakpoints and load code. As mentioned above, even /CSBOOT must make RAM writeable. Your startup code may make bank0 read-only, especially if /CSBOOT is used to control a ROM. Configuring /CSBOOT to be active during read and write cycles and keeping the ROM jumper in place will allow the emulator to load code and write breakpoints into that bank, but prevent the application from writing to that bank.
© ICE Technology
99
POD–331
Note
To emulate through a reset, bank0 must contain your reset vectors and startup code.
Configured this way, every time the controller is reset, RAM banks 1, 2, and 3 will be disabled.
Data windows scrolled to show this RAM will only show asterisks instead. In this state, the emulator will not be able to load code or data into these other banks. Of course, as soon as the application starts, the RAM will be reactivated by the startup instructions. To use the other banks of
RAM, the best approach is to use the “user defined (below)” chip select option. For each chip select register, fill in the values compatible with your application. Then, every time the emulator resets the controller, it will also write the chip select registers, reactivating the other banks of
RAM.
When using more than one bank of emulation RAM, the chip select signals must map the bank used to different addresses. If bank0 is mapped from 0 to $3FFFF, no other bank can be mapped to those addresses. The startup code must set the chip select registers /CSBARx so that the size and starting addresses avoid overlap.
Without SIZx Signals
If the SIZ0 and SIZ1 signals are not available; if their pins have been assigned to carry I/O signals, many emulator features will be affected. Although Shadow RAM and the trace board will not work perfectly, much of emulation RAM will be available, with a little care.
Using 8-bit emulation RAM without the SIZx signals is easy. After pulling both the 16BIT jumper and the SIZx jumper, emulation RAM will still require one chip select per bank, and it must be configured for 8-bit reads and writes, but otherwise, it will work just as if the size signals were available and the SIZx jumper were still in place.
To use 16-bit wide emulation RAM without the SIZx signals, first you must pull the SIZx jumper.
This will disable RAM bank1. It cannot be used with the 16-bit jumper in place. Second, configure
/CSOR0 to assert /CS0 for all odd address write cycles and only the write cycles. For example, for
0 wait states, the value in /CSOR0 should be 3030. Third, set /CSBAR0 to generate LWE (odd byte writes only) across all of emulation RAM, to cover all emulation RAM banks in use. This means that under these special circumstances, all emulation RAM (banks 0, 2, and/or 3) must be mapped contiguously. It also means that a 4-MB pod will be limited to 1 MB, the maximum address range of one chip select, even though RAM banks 0, 2, and 3, together would provide 3 MB of RAM.
EMUL16/300–PC User Guide
POD–331
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory
A full discussion of the 68332 configurability and how it affects the address decoding logic design is beyond the scope of this manual. However, some configuration information is necessary at this point. A 68331 may be designed into a target that uses 8-bit or 16-bit memory or I/O devices. In either case, the board design and the chip select register values in the SIM module must agree. Because there is also an emulator in the circuit, the emulator pod jumpers and software configuration must also be consistent with the design.
When reset, the 68331 polls several pins and sets (or clears) corresponding bits in certain registers.
Normally, these pins float up to logic 1 during reset but if they are pulled low by external logic, the corresponding bits are cleared. DB-0, which corresponds to bit 0 in /CSPAR0, controls whether the External Bus Interface generates bus cycles and addresses for 8-bit or 16-bit memory.
Although all the chip-select registers can be reprogrammed by the initialization software after the reset is complete, bit 0 of /CSPAR0 must be set (or cleared) before the 68331 reads the reset vectors at the end of the reset period. If it is set incorrectly, the 68331 will read the reset vectors incorrectly and begin executing at the wrong address.
Although the pod does support emulating 8-bit ROMs, it does not have the logic to hold DB-0 low during a reset. This is why a stand-alone pod cannot emulate through /RESET while emulating an 8-bit ROM. It is possible to place a diode between pins 68 (the /RESET pin) and 111 (Data
Bus pin 0) so that the /RESET signal itself holds DB-0 low during the reset cycle but so that data bus signals do not pull the /RESET line low. This will allow a standalone pod to emulate through a /RESET with 8-bit bus cycles and with the 16BIT jumper removed. If a target is directly connected to the pod and has, the reset logic required to hold DB-0 low, then the diode will not be necessary.
Other Startup Code Suggestions
Resetting the 68331 clears the SHEN (SHow cycles ENable) bits. The pod does not require that either of these bits be set, but they do affect the emulator user interface and how much information the emulator gets, so some explanation is in order. These two bits control bus arbitration. They also control whether or not internal bus cycles are brought to the pins or shown to external devices. If an internal bus cycle occurs, such as a WRITE to the SIMMCR register for example, the
68332 does not need to use the external bus at all. If the internal bus activity remains internal, the emulator will have no way of knowing what happened. Setting either of these bits will show internal bus cycle activity on the external bus pins. These bits are important to the emulator because if the SHEN bits are both cleared, then WRITEs to registers will not be duplicated in Shadow RAM and the trace board will not be able to monitor those bus cycles. When either of these bits are set, the registers that control the peripheral modules will be shadowed, just as with all other RAM.
The 68331 has relatively little RAM and no ROM so relatively few internal bus cycles will be generated. As Motorola produces other chips that have internal ROM and greater internal RAM, the potential for confusion will increase if both of these bits are cleared. If either of these bits are
© ICE Technology
101
POD–331
set, internal bus cycles will be shown to the emulator, which will allow the emulator to show this activity to the user. The design of the target will determine which bit should be set (or if both should be set). For more information about bus arbitration and the SHEN bits, refer to a
MC68331UM/AD User’s Manual.
Timers and the FREEZE Signal
An EMUL16/300–PC generated break suspends the CPU by placing it in BDM. While in BDM, no instructions are executed and the FREEZE signal is asserted. However, while the CPU is suspended, the other modules like the watchdog and periodic interrupt timers can continue to run, which means that an interrupt or a reset can occur while in BDM. The FREEZE bits in most modules are cleared when the 68331 is reset, which allows those modules to run while instruction execution is suspended. Setting the FREEZE bits in all of the module configuration registers (e.g.
SIMMCR, and QMCR) in the startup code may simplify debugging by preventing unexpected behavior.
Watchdog Timer
When the 68331 is reset, most internal devices such as the Queued Serial Module are disabled.
However, the most significant bit in the SYPCR register, the SWE bit is set. This enables the watchdog timer with a very short timeout period. Unless the target application software was designed to service the watchdog timer, the target software startup code should clear the SWE bit to disable the watchdog timer.
Processor Clock Rate
At reset, the processor registers are set so that the processor multiplies the crystal rate by 256. A crystal frequency of 32768 Hz (the frequency of the crystal on POD–331) will generate a CPU clock frequency (CLKOUT signal) of 8.39 MHz. The simplest way to double this frequency up to the maximum clock rate of 16.78 MHz is to set the X bit in the SYNCR register. Keep in mind that changing this clock rate will change some rates, such as the serial port baud rate, and will not change others, such as the period of the Periodic Interrupt Timer timeout period.
EMUL16/300–PC User Guide
POD–332
Figure 48. POD–332
Overview
This pod board contains a 16.78-MHz 68332 chip, a 32768 Hz crystal, between 256K and 4 MB of static RAM for instructions and data, and a DB-9 connector for the chip’s serial port. The pod board also includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
Physical Dimensions
The pod board itself is 4.5 inches by 3.75 inches (11.4 cm. by 9.5 cm). The pod requires between one and two inches (2.5 cm to 5 cm) of space above the target.
POD–332 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
© ICE Technology
103
POD–332 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
1M
SIZx
16BIT
Stand-Alone
Position
ON or OFF
ON
ON
Position Connected to a Target
ON or OFF
ON
Description
Set at the factory, do not change
Supports using emulation RAM without Port
E SIZ0 and SIZ1 signals
Controls pod memory width
ROM
BNK0
BNK1
ON or OFF
ON
ON or OFF
ON (OFF if emulating 8-bit memory)
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
BNK2
BNK3
SER
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON or OFF
Connects /CS0 to pod RAM bank1
Connects /CS0 to pod RAM bank1
PWR
ON
Connects the MCU serial port to the DB-9 connector on the pod
Provides +5V power to the target
OSC
AS
DS
BKPT
ON
ON or OFF
ON or OFF
ON or OFF
OFF (if there is a target power supply)
OFF Connects pod crystal circuit to the pod MCU
Connects target Address Strobe signal to pod MCU
Connects target Data Strobe signal to pod
MCU
Connects target /BKPT signal to pod MCU
BERR
RST
ON or OFF
ON or OFF
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if external watchdog resets MCU)
Connects target /BERR signal to pod MCU
Connects target /RESET signal to pod MCU
EMUL16/300–PC User Guide
POD–332
Header and Jumper Details
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
Support using emulation RAM without Port E SIZ0 and SIZ1 signals. The SIZx header is useful only if the PRU jumper is removed and your application has programmed the Port E pins SIZx signals to carry I/O signals. If you cannot use the PRU and the Port E SIZx pins are used to carry
I/O, call Nohau Technical Support for assistance.
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will not affect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
These jumpers only effect pods with more than one bank of RAM. They need to be OFF for targets that use this chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
© ICE Technology
105
POD–332
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
Remove the jumper if you have a serial device on the serial port.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
The jumper in position 1 should remain ON if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin. Connects the pod crystal circuit to the pod MCU.
This jumper connects target Address Strobe signal to pod MCU.
This jumper connects target Data Strobe signal to pod MCU.
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the
/BKPT pin as it needs to. When target /BKPT/BERR is tied to +5V this should be set of OFF when all the following the conditions are met:
EMUL16/300–PC User Guide
POD–332
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the /BERR jumper.
RAM Bank1 and /CSM
(This section only applies to pods with more than one bank of emulation RAM.)
If your pod is equipped with a 68332, the MCU will not support /CSM signal. If you wish to use bank1, you will need to run a wire between some other /CS and the outer of the two pins that are now marked BNK1.
Connecting the Pod to the Target Board
There are six ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
•
Part number QFP132CLIP is a clip that connects the pins of a surface-mounted 68332 to the pins on the pod. This connection is temporary and has the advantage that it does not affect the board design or manufacture at all. With this clip, any production target board connects directly to POD–332. The disadvantage of this adaptation approach is that the BKPT signal must not be tied to +5V directly. The BKPT signal must be pulled up through a resistor (about
10 k Ohms) otherwise the emulator will not be able to assert that signal (by driving it low).
© ICE Technology
107
POD–332
•
Part number ET/EPP-132-QF03-LG is an adapter that solders onto the target board in place of the CPU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
A board design that includes a 132 through-hole AMP chip socket can use part number
ET/EP5-132-QF03A to connect the pod to the target. The advantage of this approach is that once the target board includes a chip socket, the adapter connects POD–332 to the target. No other changes to the board design or manufacture are needed to use the emulator. The disadvantages are that the socket footprint is slightly larger than the chip without the socket and the cost of the socket itself.
•
Part number ADP-332PGA connects a POD–332 to a 132-pin PGA socket. Or, if the target board assembly solders the controller directly to the board, the PGA socket included with
ADP-332PGA can be soldered onto the target board in place of the controller.
•
Finally, a Background Debug (BERG) connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters. The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
68332 Configuration Requirements
The 68332 is very configurable. Nearly every pin that carries a control signal can be configured to carry general-purpose input/output signals instead. However, the emulator needs certain control signals to do its job. The /BKPT/DSCLK line must not be forced either high or low. Instead, a
10-k Ohm pull-up resistor will keep the CPU from accidentally entering BDM.
Note
ISO-160 can be used to isolate the /BKPT (or any other) signal on the target from the pod. This may be simpler than modifying the target board.
The circuitry that maintains Shadow RAM needs /AS, /DS, CLKOUT, SIZ0, and SIZ1. All of these signals must appear at their respective pins or Shadow RAM will not correctly reflect the state of emulation or target RAM. The trace board also needs /AS, /DS, and CLKOUT. Target designs that use these Port E pins for other signals may interfere with Shadow RAM and trace board operation.
Using Emulation RAM
The pod contains either 256K, 1 MB, or 4 MB of RAM that can be used to emulate target RAM or
ROM. The first part of the discussion below assumes that the SIZ0 and SIZ1 signals are available to the emulator and have not been configured to carry I/O signals.
EMUL16/300–PC User Guide
POD–332
The pod with 256K of RAM has 1 bank of RAM, 256K in size. The 1-MB pod board has 4 banks, each bank is 256K in size. The 4-MB pod board has 4 banks, each with 1 MB of RAM. Each bank, regardless of the size, requires one chip select signal. Bank0 is controlled by /CSBOOT. /CS0,
/CS1, and /CS2 control banks 1, 2, and 3 respectively (the 256K pod has only one bank0 and so only uses /CSBOOT). If /CSBOOT, /CS0, /CS1, or /CS2 have to be used by the target, then remove the respective jumper(s) and disable the associated bank of RAM. Chip select signals used to control an emulation memory bank must be configured for reading and writing. If the RAM is emulating 16-bit target RAM or ROM, the signal must also select for both high and low bytes. For emulating 8-bit devices, the signal should only select the high byte.
POD–332 Rev. B has a PAL to control emulation RAM. This PAL uses a variety of controller signals and the jumpers on the pod to determine which RAM chips to enable, and which to writeenable. (Refer to Appendix G, “PAL Equations for RAM.”)
All memory banks must be either 8 bits or 16 bits wide. Any chip select can control 1 bank of emulation memory on the pod if a wire is run (wire wrap is best) to the header for that bank (the pin close to the edge). This also works for 16-bit memory without size signals.
Note
To isolate the controller from the target, ISO-160 must come between the target hardware and the controller. This makes the ISO-160 less useful when used with the QFP132CLIP adapter.
Bank0 is special because it is controlled by /CSBOOT. Resetting the controller activates
/CSBOOT for reading and writing 1 MB of memory starting at address 0. Bank0 is also special, because inserting the ROM jumper will make it impossible for the application to write into bank0 while still allowing the emulator to write breakpoints and load code. As mentioned above, even
/CSBOOT must make RAM writeable. Your startup code may make bank0 read-only, especially if
/CSBOOT is used to control a ROM. Configuring /CSBOOT to be active during read and write cycles and keeping the ROM jumper in place will allow the emulator to load code and write breakpoints into that bank, but prevent the application from writing to that bank.
Note
To emulate through a reset, bank0 must contain your reset vectors and startup code.
Configured this way, every time the controller is reset, RAM banks 1, 2, and 3 will be disabled.
Data windows scrolled to show this RAM will only show asterisks instead. In this state, the emulator will not be able to load code or data into these other banks. Of course, as soon as the application starts, the RAM will be reactivated by the startup instructions. To use the other banks of
© ICE Technology
109
POD–332
RAM, the best approach is to use the user defined (below) chip select option. For each chip select register, fill in the values compatible with your application. Then, every time the emulator resets the controller, it will also write the chip select registers, reactivating the other banks of RAM.
When using more than one bank of emulation RAM, the chip select signals must map the bank used to different addresses. If bank0 is mapped from 0 to $3FFFF, no other bank can be mapped to those addresses. The startup code must set the chip select registers /CSBARx so that the size and starting addresses avoid overlap.
Without SIZx Signals
If the SIZ0 and SIZ1 signals are not available; if their pins have been assigned to carry I/O signals, many emulator features will be affected. Although Shadow RAM and the trace board will not work perfectly, much of emulation RAM will be available, with a little care.
Using 8-bit emulation RAM without the SIZx signals is easy. After pulling both the 16BIT jumper and the SIZx jumper, emulation RAM will still require one chip select per bank, and it must be configured for 8-bit reads and writes, but otherwise, it will work just as if the size signals were available and the SIZx jumper were still in place.
To use 16-bit wide emulation RAM without the SIZx signals, first you must pull the SIZx jumper.
This will disable RAM bank1. It cannot be used with the 16-bit jumper in place. Second, configure
/CSOR0 to assert /CS0 for all odd address write cycles and only the write cycles. For example, for
0 wait states, the value in /CSOR0 should be 3030. Third, set /CSBAR0 to generate LWE (odd byte writes only) across all of emulation RAM, to cover all emulation RAM banks in use. This means that under these special circumstances, all emulation RAM (banks 0, 2, and/or 3) must be mapped contiguously. It also means that a 4-MB pod will be limited to 1 MB, the maximum address range of one chip select, even though RAM banks 0, 2, and 3, together would provide
3 MB of RAM.
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory
A full discussion of the 68332 configurability and how it affects the address decoding logic design is beyond the scope of this manual. However, some configuration information is necessary at this point. A 68332 may be designed into a target that uses 8-bit or 16-bit memory or I/O devices. In either case, the board design and the chip select register values in the SIM module must agree. Because there is also an emulator in the circuit, the emulator pod jumpers and software configuration must also be consistent with the design.
When reset, the 68332 polls several pins and sets (or clears) corresponding bits in certain registers.
Normally, these pins float up to logic 1 during reset but if they are pulled low by external logic, the corresponding bits are cleared. DB-0, which corresponds to bit 0 in /CSPAR0, controls whether the External Bus Interface generates bus cycles and addresses for 8-bit or 16-bit memory.
EMUL16/300–PC User Guide
POD–332
Although all the chip-select registers can be reprogrammed by the initialization software after the reset is complete, bit 0 of /CSPAR0 must be set (or cleared) before the 68332 reads the reset vectors at the end of the reset period. If it is set incorrectly, the 68332 will read the reset vectors incorrectly and begin executing at the wrong address.
Although the pod does support emulating 8-bit ROMs, it does not have the logic to hold DB-0 low during a reset. This is why a stand-alone pod cannot emulate through /RESET while emulating an
8-bit ROM. It is possible to place a diode between pins 68 (the /RESET pin) and 111 (Data Bus pin 0) so that the /RESET signal itself holds DB-0 low during the reset cycle but so that data bus signals do not pull the /RESET line low. This will allow a stand-alone pod to emulate through a /RESET with 8-bit bus cycles and with the 16BIT jumper removed. If a target is directly connected to the pod and has, the reset logic required to hold DB-0 low, then the diode will not be necessary.
Startup Code Suggestions
Resetting the 68332 clears the SHEN (SHow cycles ENable) bits. The pod does not require that either of these bits be set, but they do affect the emulator user interface and how much information the emulator gets. These two bits control bus arbitration. They also control whether or not internal bus cycles are brought to the pins or shown to external devices. If an internal bus cycle occurs, such as a WRITE to the SIMMCR register for example, the 68332 does not need to use the external bus at all. If the internal bus activity remains internal, the emulator will have no way of knowing what happened. Setting either of these bits will show internal bus cycle activity on the external bus pins. These bits are important to the emulator because if the SHEN bits are both cleared, then
WRITEs to registers will not be duplicated in Shadow RAM and the trace board will not be able to monitor those bus cycles. When either of these bits are set, the registers that control the peripheral modules will be shadowed, just as with all other RAM.
The 68332 has relatively little RAM and no ROM so relatively few internal bus cycles will be generated. As Motorola produces other chips that have internal ROM and greater internal RAM, the potential for confusion will increase if both of these bits are cleared. If either of these bits are set, internal bus cycles will be shown to the emulator, which will allow the emulator to show this activity to the user. The design of the target will determine which bit should be set (or if both should be set). For more information about bus arbitration and the SHEN bits, refer to a
MC68332UM/AD User’s Manual.
Timers and the FREEZE Signal
An EMUL16/300–PC generated break suspends the CPU by placing it in BDM. While in BDM, no instructions are executed and the FREEZE signal is asserted. However, while the CPU is suspended, the other modules like the watchdog and periodic interrupt timers can continue to run, which means that an interrupt or a reset can occur while in BDM. The FREEZE bits in most modules are cleared when the 68332 is reset, which allows those modules to run while instruction execution is suspended. Setting the FREEZE bits in all of the module configuration registers (e.g.
SIMMCR, and QMCR) in the startup code may simplify debugging by preventing unexpected behavior.
© ICE Technology
111
POD–332
Watchdog Timer
When the 68332 is reset, most internal devices such as the Queued Serial Module are disabled.
However, the most significant bit in the SYPCR register, the SWE bit is set. This enables the watchdog timer with a very short timeout period. Unless the target application software was designed to service the watchdog timer, the target software startup code should clear the SWE bit to disable the watchdog timer.
Processor Clock Rate
At reset, the processor registers are set so that the processor multiplies the crystal rate by 256. A crystal frequency of 32768 Hz (the frequency of the crystal on POD–332) will generate a CPU clock frequency (CLKOUT signal) of 8.39 MHz. The simplest way to double this frequency up to the maximum clock rate of 16.78 MHz is to set the X bit in the SYNCR register. Keep in mind that changing this clock rate will change some rates, such as the serial port baud rate, and will not change others, such as the period of the periodic interrupt timer timeout period.
EMUL16/300–PC User Guide
POD–333
Figure 49. POD–333
Overview
POD–333 contains a 68F333 chip, a crystal, between 256K and 4 MB of static RAM for instructions and data, and a DB-9 connector for the chip’s serial port.
The pod board also includes a Motorola standard Background Debug connector, also called a
BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
Physical Dimensions
The pod board itself is 3.9 inches by 5.1 inches (99.08 mm. by 129.7 mm). The pod requires between one and two inches (2.5 cm to 5 cm) of space above the target, depending upon which adapter is being used to connect the pod to the target.
© ICE Technology
113
POD–333 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
POD–333 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
1M
FC1
16BIT
ROM
BNK0
BNK1
BNK2
BNK3
SER
PWR
Stand-Alone
Position
ON or OFF
ON or OFF
ON
On or OFF
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
Position Connected to a Target
ON if 1 meg. banks are used and A19 id available
ON (when pod RAM >
512K)
ON (OFF if emulating 8-bit memory)
ON or OFF
OFF (if there is target
ROM)
ON or OFF
ON or OFF
ON or OFF
ON or OFF
Description
Connects A19 to emulation RAM
Connects FC1 pin to pod RAM
Controls memory width
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CSM to pod RAM bank2
Connects /CS3 to pod RAM bank3
Connects the MCU serial port to the DB-9 connector on the pod
Provides +5V power to the target
CLK
BKPT
BERR
RST
P T
PRU
ON
ON or OFF
ON or OFF
ON
P
ON
OFF (if there is a target power supply)
OFF
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if external watchdog resets the MCU)
P or T
ON
Connects pod crystal circuit to the pod MCU
Connects target /BKPT signal to pod MCU
Connects target /BERR signal to pod MCU
Connects target /RESET signal to pod MCU
Enables either the pod or the target controller
Enables the Port Replacement Unit
EMUL16/300–PC User Guide
POD–333
Header and Jumper Details
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
EMUL16/300 pods, including those for the CPU16 controllers, are available with 1 MB of memory bank0. The largest bank size for a single CPU16 chip select signal is 512K. This would normally make one half of each 1-MB emulation memory bank unusable. The FC1 header allows you to use the entire 1-MB bank as two 512K banks.
If you have at least 1 MB of RAM, one bank of RAM will be used for data space bus cycles and the other bank will be used for program space. Both banks will be controlled by the same chip select, and will have the same starting address and same size. The FC1 pin connects to the pod
RAM.
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will not affect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
© ICE Technology
115
POD–333
These jumpers only effect pods with more than one bank of RAM. They need to be OFF for targets that use this chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
This jumper connects the MCU serial port to the DB-9 connector on the pod.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
Note
Some MCUs are designed to use a 32-kHz input and others are designed to use a
4-MHz crystal. If there is a conflict between the target crystal and the pod MCU, replace the MCU on the pod with one from your inventory that can use the target crystal and remove the three CLK jumpers.
EMUL16/300–PC User Guide
POD–333
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the
/BKPT pin as it needs to. When target /BKPT/BERR is tied to +5V this should be set of OFF when all the following the conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the /BERR jumper.
The controller on Rev. D or later does not need to be removed even when there is also a controller on the target. Logic on the pod prevents both controllers from running at the same time. This logic requires that the TSC pin on the target be pulled high through its own 10K resistor, and not be directly tied to Vcc. If the target MCU is not installed, and if the TSTME/TSC pin is connected to
Vcc, you may remove the P T jumper to reduce the power consumed.
For most circumstances, leave the jumper in the default or P position. When the jumper is in the P position, the target processor is tri-stated and the pod processor controls the bus and peripherals.
Because the pod has the PRU emulating, nearly all single-chip and partially expanded applications will be easier using the pod MCU.
Putting the jumper in the T position will disable the pod processor and allow the target processor to run. This is required for applications that include multiple bus masters, and other designs where
CSE is not available.
© ICE Technology
117
POD–333
The Port Replacement Unit (PRU) makes it possible to emulate single-chip and partially expanded applications. It replaces the MCU Port E pins in all modes, which assures that Shadow RAM and the trace board will have the bus control signals they need at all times. Do not remove this jumper unless /CSE is not available. The PRU is enabled using /CS5. The PRU supports full-featured emulation even if Port E is used for I/O.
Note
The following section only applies to pods with more than one bank of emulation
RAM.
RAM Bank2 and /CSM
If your pod is equipped with a 68F333, the MCU will not support /CSM signal. If you wish to use bank1, you will need to run a wire between some other /CS and the outer of the two pins that are now marked BNK1.
Chip Description
POD–333 is identical to POD–332 in many ways. The main difference is that POD–333 is capable of running multiple modes such as single chip, partially expanded, and fully expanded. For this reason we have added a new system integration module called Single Chip Integration Module
(SCIM), previously referred to as System Integration Module (SIM).
Additional ports A, B, and H are shared with the address bus and data bus respectively. To run in single chip mode it is essential to have an on-chip bug storage device (nonvolatile). For the F333, this is Flash ROM.
With regard to port C and chip select logic, /CSM, /CSE and FC1 replace /CS1, /CS2 and /CS4. If the chip is forced into emulation mode, /CSE will become the chip select for the PRU. /CSM will become the chip select whenever the CPU accesses on-chip ROM. The ROM module must be brought into emulation mode for proper functioning. As the F333 does not have ROM, /CSM is not supported and has no functionality. /CS4 is no longer functional, and you can no longer program this pin to be chip select.
Is Emulation Possible?
This section describes the ways that target designs may interfere with or even prevent emulation.
This may be a useful section to review before you attempt to connect your target to the emulator or if you are having trouble emulating.
EMUL16/300–PC User Guide
POD–333
Pull TSC Low
EMUL16/300–PC uses the TSC pin to disable either the pod MCU or the target MCU, depending upon the position of the P T jumper. The pod uses a PRU to provide important Port E signals (at all times except for applications with multiple bus masters.) Ideally, you want your target to pull the TSC pin low through a 10-k Ohm resistor. This will allow the emulator to disable the target
MCU. The pod will also pull this pin up or down as necessary so that you may leave it unconnected (or cut a trace) while the pod is attached to the target.
It is not unreasonable for a target design to tie the TSC pin directly to ground, doing so will prevent the emulator from disabling the target MCU. If it is tied to ground, you must do one of two things:
•
You may disable the target MCU yourself (by removing it from the target, for example).
OR
•
You must place the P T jumper in the T position and understand that the PRU will not be available to support emulation in single-chip or partially expanded mode.
Pull /BKPT and /BERR High
These two pins might be tied directly to +5V on your target. If they are, your target will operate as you expect without an emulator, but will not emulate correctly. EMUL16/300–PC drives these two pins for some very basic features. By removing the /BKPT and /BERR jumpers, you can isolate the target circuitry from the pod circuitry, but this will only be effective if the target controller is disabled. If the P T header in the T position, they must each be pulled up on the target through a separate resistor with a resistance of at least 10 k Ohms. The pod will drive these pins up or down as necessary so you may leave them unconnected or cut a trace while the pod is attached.
Healthy CLKOUT Signal
No matter which oscillator you use, the pod oscillator or the target oscillator, the signal coming out of the CLKOUT pin (on the active MCU) must be normal, clear signal. If you see the red
/RESET light on the pod stay lit after reset should have ended, most likely a clock problem is to blame. A target that in some way interferes with the CLKOUT signal coming out of the processor will also interfere with emulation.
If all three of the above conditions are met (and you have followed the design constraints of the
MCU itself) you will be able to reset the controller, get it into Background Debug Mode, and communicate with the emulator. You may or may not be able to read the contents of memory, but you will be able to read the contents of internal registers, including the MCU registers like the program counter and the stack pointer. If this is not the case, examine the quality of the connections between the adapter and the target, and verify that the pod and the target each operate as expected when not connected.
© ICE Technology
119
POD–333
Other Bus Masters
Some targets are designed with external DMA controllers or include a memory-sharing scheme that requires that the 68HC16X1 give up control of the address and data bus to another device. The handshake that grants control of the bus to another device uses some of the same pins required by the PRU (BR/CS0, BG/CSM, and /BGACK/CSE). If the target design holds BERR high and data pin 2 low during the reset cycle, those pins will be used for bus grant handshaking and cannot be used for the PRU.
Designs that grant bus control to other devices can be emulated, but there are a few restrictions:
•
PRU jumper must be off.
•
If the Port E signals /AS, /DS, SIZ0, and SIZ1 are available to the emulator, the Shadow RAM and trace board will operate as if the PRU were functioning. The trace board will even capture the bus cycles of the other bus master (and display them as data cycles).
•
If the SIZ0 and SIZ1 pins are assigned to carry I/O the Shadow RAM data will not be accurate and the trace buffer display may not correctly interpret the data collected. However, the raw data collected (the address and data bus values) will still be correct; it will be exactly what was on the data and address busses. Without /AS and /DS Shadow RAM and the trace board will not operate at all.
Multiple Bus Masters and Partially Expanded Mode
In addition, if the target has multiple bus masters and runs the MCU in partially expanded mode, there are further limitations:
•
Internal bus cycles will not be completely available to the emulator (or trace board). Only the upper half of internal bus cycles will be shown on the eight available bus pins.
•
Emulation RAM on the pod can be used to replace the internal ROM memory, but the external bus cycles will be 8 bits wide. The application timing will be very different than if the application were running out of internal (16-bit) ROM or FLASH memory.
Connecting the Pod to the Target Board
There are four ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignment of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
EMUL16/300–PC User Guide
POD–333
•
Part number ET/CLIP-160-QF07-B is a clip that connects the pins of a surface-mounted
68F333 to the pins on the pod. This connection is temporary and has the advantage that it does not affect the board design or manufacture at all. With this clip, the target board must be designed so the processor can manipulate the signal called TSC. 10K pull down in the target system is recommended. If this pin is driven high, the target processor will tri-state all outputs and use the pod MCU for emulation.
•
Part number ET/EPP-160-QF07 is an adapter that solders onto the target board in place of the
MCU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
MCU Operating Modes
The 68F333 and the 68333 can operate in one of three operating modes: fully expanded (16-bit external bus), partially expanded (8-bit external bus) and single chip mode (no external bus).
These three modes are defined by Motorola and are described in detail in the Motorola Users
Manual for each chip.
EMUL16/300–PC software also defines a mode we call transparent mode. In this fourth mode, any combination of 16 pins can be held low or high during the reset cycle. Some target systems are designed to run in a configuration where bus controls needs to be granted to a DMA or other controller. The same pins that carry /CSM and /CSE also carry the signals used to arbitrate control of the bus. If your target design shares the bus between the 68F333 and some other controller, choose the transparent pod configuration.
In transparent mode, any and/or all configuration bits may be controlled. You must know precisely how the chip must be configured for successful emulation. You must create a configuration that follows the guidelines.
Before you proceed, make sure you know which mode is used by the target design, and which pins are held low during the reset cycle.
BDM
It is possible to use BDM with POD–333 operating in the single chip mode with the limitation that bus error will be pulled low permanently. If the processor accidentally executes an access to an unpopulated location, it will run into problems. In this case, enable the internal bus monitor thereby asserting the bus error into the emulator.
© ICE Technology
121
POD–333
Startup Code Suggestions
Resetting the 68F333 clears the SHEN (SHow cycles ENable) bits. The pod does not require that either of these bits be set, but they do affect the emulator user interface and how much information the emulator gets, so some explanation is in order. These two bits control bus arbitration. They also control whether or not internal bus cycles are brought to the pins or "shown to external devices. If an internal bus cycle occurs, such as a WRITE to the SIMMCR register for example, the
68332 does not need to use the external bus at all. If the internal bus activity remains internal, the emulator will have no way of knowing what happened. Setting either of these bits will show internal bus cycle activity on the external bus pins. These bits are important to the emulator because if the SHEN bits are both cleared, then WRITEs to registers will not be duplicated in Shadow RAM and the trace board will not be able to monitor those bus cycles. When either of these bits are set, the registers that control the peripheral modules will be shadowed, just as with all other RAM.
The 68F333 has relatively little RAM and no ROM so relatively few internal bus cycles will be generated. As Motorola produces other chips that have internal ROM and greater internal RAM, the potential for confusion will increase if both of these bits are cleared. If either of these bits are set, internal bus cycles will be shown to the emulator, which will allow the emulator to show this activity to the user. The design of the target will determine which bit should be set (or if both should be set). For more information about bus arbitration and the SHEN bits, refer to a
MC68331UM/AD User’s Manual.
Timers and the FREEZE Signal
An EMUL16/300–PC generated break suspends the CPU by placing it in BDM. While in BDM, no instructions are executed and the FREEZE signal is asserted. However, while the CPU is suspended, the other modules like the watchdog and periodic interrupt timers can continue to run, which means that an interrupt or a reset can occur while in BDM. The FREEZE bits in most modules are cleared when the 68F333 is reset, which allows those modules to run while instruction execution is suspended. Setting the FREEZE bits in all of the module configuration registers (e.g.
SIMMCR, and QMCR) in the startup code may simplify debugging by preventing unexpected behavior.
Watchdog Timer
When the 68331 is reset, most internal devices such as the Queued Serial Module are disabled.
However, the most significant bit in the SYPCR register, the SWE bit is set. This enables the watchdog timer with a very short timeout period. Unless the target application software was designed to service the watchdog timer, the target software startup code should clear the SWE bit to disable the watchdog timer.
Processor Clock Rate
At reset, the processor registers are set so that the processor multiples the crystal rate by 256. A crystal frequency of 32768 Hz (the frequency of the crystal on POD–333) will generate a CPU clock frequency (CLKOUT signal) of 8.39 MHz. The simplest way to double this frequency up
EMUL16/300–PC User Guide
POD–333
to the maximum clock rate of 16.78 MHz is to set the X bit in the SYNCR register. Keep in mind that changing this clock rate will change some rates, such as the serial port baud rate, and will not change others, such as the period of the Periodic Interrupt Timer timeout period.
Port Configuration
There are three modes: single-chip, partially expanded and fully expanded.
To force the chip to operate in single-chip mode, pull the bus error (/BERR) line low during reset and keep it low during normal operation. In single-chip mode, the address and data bus are not visible externally, and are replaced by ports A, B, G and H.
In partially expanded mode, you havehalf the data bus (8 bits) available, so you can use 8-bit external devices. In this mode, it is impossible to program any of the chip selects to run in 16-bit mode. For instance, if address lines A0 to A18 inclusive are enabled, port A and port B are no longer available.
In fully expanded mode, you get one additional port, which will show cycles and try to execute from on-chip memory. Internally all access will be 16-bit and transfers will not be seen externally on other addresses. It is impossible to multiplex or slow down since two bus transfers are required instead of one, therefore, you will have to show both.
If the bus error line is not kept low during reset, either fully expanded or partially expanded mode will be enabled. To enable 16-bit fully expanded mode, pull data bit 1 low. Partially expanded mode is enabled if bit 1 is not pulled low. For any other configuration option, use data bus bits.
© ICE Technology
POD–334
Figure 50. POD–334
Overview
This pod board contains a 16.78-MHz 68334 chip, a 32768-Hz crystal, between 256K and 4 MB of static RAM for instructions and data, and a DB-9 connector for the pod’s serial port. The pod board also includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
Physical Dimensions
The pod board itself is 4.5 inches by 3.75 inches (11.4 cm. by 9.5 cm). The pod requires between one and two inches (2.5 cm to 5 cm) of space above the target.
POD–334 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
EMUL16/300–PC User Guide
POD–334 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
1M
SIZx
16BIT
Stand-Alone
Position
ON or OFF
ON
ON
Position Connected to a Target
ON or OFF
ON
Description
Set at the factory, do not change
Supports using emulation RAM without Port
E SIZ0 and SIZ1 signals
Controls pod memory width
ROM
BNK0
BNK1
BNK2
BNK3
SER
PWR
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
ON (OFF if emulating 8-bit memory)
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON or OFF
OFF (if there is a target power supply)
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Connects the MCU serial port to the DB-9 connector on the pod
Provides +5V power to the target
AS
ON or OFF
DS
BKPT
ON or OFF
ON or OFF
Connects target Address Strobe signal to pod MCU
Connects target Data Strobe signal to pod
MCU
Connects target /BKPT signal to pod MCU
BERR
RST
OSC
ON or OFF
ON
ON
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if external watchdog resets MCU)
OFF
Connects target /BERR signal to pod MCU
Connects target /RESET signal to pod MCU
Connects pod crystal circuit to the pod MCU
Header and Jumper Details
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
© ICE Technology
125
POD–334
Support using emulation RAM without Port E SIZ0 and SIZ1 signals. The SIZx header is useful only if the PRU jumper is removed and your application has programmed the Port E pins SIZx signals to carry I/O signals. If you cannot use the PRU and the Port E SIZx pins are used to carry
I/O, call Nohau Technical Support for assistance.
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Makes RAM bank0 read-only. Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will not affect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
These jumpers only effect pods with more than one bank of RAM. They need to be OFF for targets that use this chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
This jumper connects the MCU serial port to the DB-9 connector on the pod.
EMUL16/300–PC User Guide
POD–334
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
This jumper connects target Address Strobe signal to pod MCU.
This jumper connects target Data Strobe signal to pod MCU.
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the
/BKPT pin as it needs to. When target /BKPT/BERR is tied to +5V this should be set of OFF when all the following the conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the /BERR jumper.
© ICE Technology
127
POD–334
The jumper in position 1 should remain ON if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin. Connects the pod crystal circuit to the pod MCU.
Note
The following section only applies to pods with more than one bank of emulation
RAM.
RAM Bank1 and /CSM
If your pod is equipped with a 68334, the MCU will not support /CSM signal. If you wish to use bank1, you will need to run a wire between some other /CS and the outer of the two pins that are now marked BNK1.
Connecting the Pod to the Target Board
There are five ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
Part number QFP132CLIP is a clip that connects the pins of a surface-mounted 68334 to the pins on the pod. This connection is temporary and has the advantage that it does not affect the board design or manufacture at all. With this clip, any production target board connects directly to POD–334. The disadvantage of this adaptation approach is that the BKPT signal must not be tied to +5V directly. The BKPT signal must be pulled up through a resistor (about
10 Kilo ohms) otherwise the emulator will not be able to assert that signal (by driving it low).
•
Part number ET/EPP-132-QF03-LG is an adapter that solders onto the target board in place of the CPU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
A board design that includes a 132 through-hole AMP chip socket can use part number
ET/EP5-132-QF03A to connect the pod to the target. The advantage of this approach is that once the target board includes a chip socket, the adapter connects POD–334 to the target. No other changes to the board design or manufacture are needed to use the emulator. The disadvantages are that the socket footprint is slightly larger than the chip without the socket and the cost of the socket itself.
•
Part number ADP-332PGA connects a POD–334 to a 132-pin PGA socket. Or, if the target board assembly solders the controller directly to the board, the PGA socket included with
ADP-332PGA can be soldered onto the target board in place of the controller.
EMUL16/300–PC User Guide
POD–334
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
68334 Configuration Requirements
The 68334 is very configurable. Nearly every pin that carries a control signal can be configured to carry general-purpose input/output signals instead. However, the emulator needs certain control signals to do its job. The /BKPT/DSCLK line must not be forced either high or low. Instead, a
10-k Ohm pull-up resistor will keep the CPU from accidentally entering BDM.
Note
ISO-160 can be used to isolate the /BKPT (or any other) signal on the target from the pod. This may be simpler than modifying the target board.
The circuitry that maintains Shadow RAM needs /AS, /DS, CLKOUT, SIZ0, and SIZ1. All of these signals must appear at their respective pins or Shadow RAM will not correctly reflect the state of emulation or target RAM. The trace board also needs /AS, /DS, and CLKOUT. Target designs that use these Port E pins for other signals may interfere with Shadow RAM and trace board operation.
Using Emulation RAM
The pod contains either 256K, 1 MB, or 4 MB of RAM that can be used to emulate target RAM or
ROM. The first part of the discussion below assumes that the SIZ0 and SIZ1 signals are available to the emulator and have not been configured to carry I/O signals.
The pod with 256K of RAM has 1 bank of RAM, 256K in size. The 1-MB pod board has 4 banks, each bank is 256K in size. The 4-MB pod board has 4 banks, each with 1 MB of RAM. Each bank, regardless of the size, requires one chip select signal. Bank0 is controlled by /CSBOOT. /CS0,
/CS1, and /CS2 control banks 1, 2, and 3 respectively. If /CSBOOT, /CS0, /CS1, or /CS2 have to be used by the target, then remove the respective jumper(s) and disable the associated bank of
RAM. Chip select signals used to control an emulation memory bank must be configured for reading and writing. If the RAM is emulating 16-bit target RAM or ROM, the signal must also select for both high and low bytes. For emulating 8-bit devices, the signal should only select the high byte.
POD–334 Rev. B has a PAL to control emulation RAM. This PAL uses a variety of controller signals and the jumpers on the pod to determine which RAM chips to enable, and which to writeenable. (Refer to Appendix G, “PAL Equations for RAM.”)
© ICE Technology
129
POD–334
All memory banks must be either 8 bits or 16 bits wide. Any chip select can control 1 bank of emulation memory on the pod if a wire is run (wire wrap is best) to the header for that bank (the pin close to the edge). This also works for 16-bit memory without size signals.
Note
To isolate the controller from the target, ISO-160 must come between the target hardware and the controller. This makes the ISO-160 less useful when used with the QFP132CLIP adapter.
Bank0 is special because it is controlled by /CSBOOT. Resetting the controller activates
/CSBOOT for reading and writing 1 MB of memory starting at address 0. Bank0 is also special, because inserting the ROM jumper will make it impossible for the application to write into bank0 while still allowing the emulator to write breakpoints and load code. As mentioned earlier, even
/CSBOOT must make RAM writeable. Your startup code may make bank0 read-only, especially if /CSBOOT is used to control a ROM. Configuring /CSBOOT to be active during read and write cycles and keeping the ROM jumper in place will allow the emulator to load code and write breakpoints into that bank, but prevent the application from writing to that bank.
Note
To emulate through a reset, bank0 must contain your reset vectors and startup code.
Configured this way, every time the controller is reset, RAM banks 1, 2, and 3 will be disabled.
Data windows scrolled to show this RAM will only show asterisks instead. In this state, the emulator will not be able to load code or data into these other banks. Of course, as soon as the application starts, the RAM will be reactivated by the startup instructions. To use the other banks of
RAM, the best approach is to use the user defined (below) chip select option. For each chip select register, fill in the values compatible with your application. Then, every time the emulator resets the controller, it will also write the chip select registers, reactivating the other banks of RAM.
When using more than one bank of emulation RAM, the chip select signals must map the bank used to different addresses. If bank0 is mapped from 0 to $3FFFF, no other bank can be mapped to those addresses. The startup code must set the chip select registers /CSBARx so that the size and starting addresses avoid overlap.
Without SIZx Signals
If the SIZ0 and SIZ1 signals are not available; if their pins have been assigned to carry I/O signals, many emulator features will be affected. Although Shadow RAM and the trace board will not work perfectly, much of emulation RAM will be available, with a little care.
EMUL16/300–PC User Guide
POD–334
Using 8-bit emulation RAM without the SIZx signals is easy. After pulling both the 16BIT jumper and the SIZx jumper, emulation RAM will still require one chip select per bank, and it must be configured for 8-bit reads and writes, but otherwise, it will work just as if the size signals were available and the SIZx jumper were still in place.
To use 16-bit wide emulation RAM without the SIZx signals, first you must pull the SIZx jumper.
This will disable RAM bank1. It cannot be used with the 16-bit jumper in place. Second, configure
/CSOR0 to assert /CS0 for all odd address write cycles and only the write cycles. For example, for
0 wait states, the value in /CSOR0 should be 3030. Third, set /CSBAR0 to generate LWE (odd byte writes only) across all of emulation RAM, to cover all emulation RAM banks in use. This means that under these special circumstances, all emulation RAM (banks 0, 2, and/or 3) must be mapped contiguously. It also means that a 4-MB pod will be limited to 1 MB, the maximum address range of one chip select, even though RAM banks 0, 2, and 3, together would provide
3 MB of RAM.
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory
A full discussion of the 68334 configurability and how it affects the address decoding logic design is beyond the scope of this manual. However, some configuration information is necessary at this point. A 68334 may be designed into a target that uses 8-bit or 16-bit memory or I/O devices. In either case, the board design and the chip select register values in the SIM module must agree. Because there is also an emulator in the circuit, the emulator pod jumpers and software configuration must also be consistent with the design.
When reset, the 68334 polls several pins and sets (or clears) corresponding bits in certain registers.
Normally, these pins float up to logic 1 during reset but if they are pulled low by external logic, the corresponding bits are cleared. DB-0, which corresponds to bit 0 in /CSPAR0, controls whether the External Bus Interface generates bus cycles and addresses for 8-bit or 16-bit memory.
Although all the chip-select registers can be reprogrammed by the initialization software after the reset is complete, bit 0 of /CSPAR0 must be set (or cleared) before the 68334 reads the reset vectors at the end of the reset period. If it is set incorrectly, the 68334 will read the reset vectors incorrectly and begin executing at the wrong address.
Although the pod does support emulating 8-bit ROMs, it does not have the logic to hold DB-0 low during a reset. This is why a stand-alone pod cannot emulate through /RESET while emulating an
8-bit ROM. It is possible to place a diode between pins 68 (the /RESET pin) and 111 (Data Bus pin 0) so that the /RESET signal itself holds DB-0 low during the reset cycle but so that data bus signals do not pull the /RESET line low. This will allow a standalone pod to emulate through a
/RESET with 8-bit bus cycles and with the 16BIT jumper removed. If a target is directly connected to the pod and has, the reset logic required to hold DB-0 low, then the diode will not be necessary.
© ICE Technology
131
POD–334
Other Startup Code Suggestions
Resetting the 68334 clears the SHEN (SHow cycles ENable) bits. The pod does not require that either of these bits be set, but they do affect the emulator user interface and how much information the emulator gets, so some explanation is in order. These two bits control bus arbitration. They also control whether or not internal bus cycles are brought to the pins or shown to external devices. If an internal bus cycle occurs, such as a WRITE to the SIMMCR register for example, the
68334 does not need to use the external bus at all. If the internal bus activity remains internal, the emulator will have no way of knowing what happened. Setting either of these bits will show internal bus cycle activity on the external bus pins. These bits are important to the emulator because if the SHEN bits are both cleared, then WRITEs to registers will not be duplicated in Shadow RAM and the trace board will not be able to monitor those bus cycles. When either of these bits are set, the registers that control the peripheral modules will be shadowed, just as with all other RAM.
The 68334 has relatively little RAM and no ROM so relatively few internal bus cycles will be generated. As Motorola produces other chips that have internal ROM and greater internal RAM, the potential for confusion will increase if both of these bits are cleared. If either of these bits are set, internal bus cycles will be shown to the emulator, which will allow the emulator to show this activity to the user. The design of the target will determine which bit should be set (or if both should be set). For more information about bus arbitration and the SHEN bits, refer to a
MC68334UM/AD User’s Manual.
Timers and the FREEZE Signal
An EMUL16/300–PC generated break suspends the CPU by placing it in BDM. While in BDM, no instructions are executed and the FREEZE signal is asserted. However, while the CPU is suspended, the other modules like the watchdog and periodic interrupt timers can continue to run, which means that an interrupt or a reset can occur while in BDM. The FREEZE bits in most modules are cleared when the 68334 is reset, which allows those modules to run while instruction execution is suspended. Setting the FREEZE bits in all of the module configuration registers (e.g.
SIMMCR, and QMCR) in the startup code may simplify debugging by preventing unexpected behavior.
Watchdog Timer
When the 68334 is reset, most internal devices such as the Queued Serial Module are disabled.
However, the most significant bit in the SYPCR register, the SWE bit is set. This enables the watchdog timer with a very short timeout period. Unless the target application software was designed to service the watchdog timer, the target software startup code should clear the SWE bit to disable the watchdog timer.
EMUL16/300–PC User Guide
POD–334
Processor Clock Rate
At reset, the processor registers are set so that the processor multiples the crystal rate by 256. A crystal frequency of 32768 Hz (the frequency of the crystal on POD–334) will generate a CPU clock frequency (CLKOUT signal) of 8.39 MHz. The simplest way to double this frequency up to the maximum clock rate of 16.78 MHz is to set the X bit in the SYNCR register. Keep in mind that changing this clock rate will change some rates, such as the serial port baud rate, and will not change others, such as the periodic interrupt timer timeout period.
© ICE Technology
133
POD–335
Figure 51. POD–335
Overview
This pod board contains a 16.78-MHz 68335 chip, a 32768-Hz crystal, between 256K and 4 MB of static RAM for instructions and data, and a DB-9 connector for the chip’s serial port. The pod board also includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
Physical Dimensions
The pod board itself is 4.5 inches by 3.75 inches (11.4 cm. by 9.5 cm). The pod requires between one and two inches (2.5 cm to 5 cm) of space above the target.
POD–335 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
EMUL16/300–PC User Guide
POD–335 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
1M
SIZx
16BIT
Stand-Alone
Position
ON or OFF
ON
ON
Position Connected to a Target
ON or OFF
ON
Description
Set at the factory, do not change
Supports using emulation RAM without Port
E SIZ0 and SIZ1 signals
Controls pod memory width
ROM
OSC
BNK0
BNK1
BNK2
BNK3
SER
PWR
On or OFF
ON
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
ON (OFF if emulating 8-bit memory
ON or OFF
OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON or OFF
OFF (if there is a target power supply)
Makes RAM bank0 read-only
Connects pod crystal circuit to the pod MCU
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Connects the MCU serial port to the DB-9 connector on the pod
Provides +5V power to the target
AS
ON or OFF
DS
BKPT
ON or OFF
ON or OFF
Connects target Address Strobe signal to pod MCU
Connects target Data Strobe signal to pod
MCU
Connects target /BKPT signal to pod MCU
BERR
RST
ON or OFF
ON
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if external watchdog resets MCU)
Connects target /BERR signal to pod MCU
Connects target /RESET signal to pod MCU
Header and Jumper Details
The jumper in position 1 should remain ON if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin. Connects the pod crystal circuit to the pod MCU.
© ICE Technology
135
POD–335
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
Support using emulation RAM without Port E SIZ0 and SIZ1 signals. The SIZx header is useful only if the PRU jumper is removed and your application has programmed the Port E pins SIZx signals to carry I/O signals. If you cannot use the PRU and the Port E SIZx pins are used to carry
I/O, call Nohau Technical Support for assistance.
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will not affect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
These jumpers only effect pods with more than one bank of RAM. They need to be OFF for targets that use this chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
EMUL16/300–PC User Guide
POD–335
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
This jumper connects the MCU serial port to the DB-9 connector on the pod.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
This jumper connects target Address Strobe signal to pod MCU.
This jumper connects target Data Strobe signal to pod MCU.
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the
/BKPT pin as it needs to. When target /BKPT/BERR is tied to +5V this should be set of OFF when all the following the conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
© ICE Technology
137
POD–335
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the /BERR jumper.
RAM Bank1 and /CSM
(This section only applies to pods with more than one bank of emulation RAM.)
If your pod is equipped with a 68335, the MCU will not support /CSM signal. If you wish to use bank1, you will need to run a wire between some other /CS and the outer of the two pins that are now marked BNK1.
Connecting the Pod to the Target Board
There are five ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
Part number QFP132CLIP is a clip that connects the pins of a surface-mounted 68334 to the pins on the pod. This connection is temporary and has the advantage that it does not affect the board design or manufacture at all. With this clip, any production target board connects directly to POD–334. The disadvantage of this adaptation approach is that the BKPT signal must not be tied to +5V directly. The BKPT signal must be pulled up through a resistor (about
10 k Ohms) otherwise the emulator will not be able to assert that signal (by driving it low).
•
Part number ET/EPP-132-QF03-LG is an adapter that solders onto the target board in place of the CPU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
A board design that includes a 132 through-hole AMP chip socket can use part number
ET/EP5-132-QF03A to connect the pod to the target. The advantage of this approach is that once the target board includes a chip socket, the adapter connects POD–334 to the target. No other changes to the board design or manufacture are needed to use the emulator. The disadvantages are that the socket footprint is slightly larger than the chip without the socket and the cost of the socket itself.
•
Part number ADP-332PGA connects a POD–334 to a 132-pin PGA socket. Or, if the target board assembly solders the controller directly to the board, the PGA socket included with
ADP-332PGA can be soldered onto the target board in place of the controller.
EMUL16/300–PC User Guide
POD–335
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
68335 Configuration Requirements
The 68335 is very configurable. Nearly every pin that carries a control signal can be configured to carry general-purpose input/output signals instead. However, the emulator needs certain control signals to do its job. The /BKPT/DSCLK line must not be forced either high or low. Instead, a
10-k Ohm pull-up resistor will keep the CPU from accidentally entering BDM.
Note
ISO-160 can be used to isolate the /BKPT (or any other) signal on the target from the pod. This may be simpler than modifying the target board.
The circuitry that maintains Shadow RAM needs /AS, /DS, CLKOUT, SIZ0, and SIZ1. All of these signals must appear at their respective pins or Shadow RAM will not correctly reflect the state of emulation or target RAM. The trace board also needs /AS, /DS, and CLKOUT. Target designs that use these Port E pins for other signals may interfere with Shadow RAM and trace board operation.
Using Emulation RAM
The pod contains either 256K, 1 MB, or 4 MB of RAM that can be used to emulate target RAM or
ROM. The first part of the discussion below assumes that the SIZ0 and SIZ1 signals are available to the emulator and have not been configured to carry I/O signals.
The pod with 256K of RAM has 1 bank of RAM, 256K in size. The 1-MB pod board has 4 banks, each bank is 256K in size. The 4-MB pod board has 4 banks, each with 1 MB of RAM. Each bank, regardless of the size, requires one chip select signal. Bank0 is controlled by /CSBOOT. /CS0,
/CS1, and /CS2 control banks 1, 2, and 3 respectively. If /CSBOOT, /CS0, /CS1, or /CS2 have to be used by the target, then remove the respective jumper(s) and disable the associated bank of
RAM. Chip select signals used to control an emulation memory bank must be configured for reading and writing. If the RAM is emulating 16-bit target RAM or ROM, the signal must also select for both high and low bytes. For emulating 8-bit devices, the signal should only select the high byte.
POD–335 Rev. B has a PAL to control emulation RAM. This PAL uses a variety of controller signals and the jumpers on the pod to determine which RAM chips to enable, and which to writeenable. (Refer to Appendix G, “PAL Equations for RAM.”)
© ICE Technology
139
POD–335
All memory banks must be either 8 bits or 16 bits wide. Any chip select can control 1 bank of emulation memory on the pod if a wire is run (wire wrap is best) to the header for that bank (the pin close to the edge). This also works for 16-bit memory without size signals.
Note
To isolate the controller from the target, ISO-160 must come between the target hardware and the controller. This makes the ISO-160 less useful when used with the QFP132CLIP adapter.
Bank0 is special because it is controlled by /CSBOOT. Resetting the controller activates
/CSBOOT for reading and writing 1 MB of memory starting at address 0. Bank0 is also special, because inserting the ROM jumper will make it impossible for the application to write into bank0 while still allowing the emulator to write breakpoints and load code. As mentioned above, even
/CSBOOT must make RAM writeable. Your startup code may make bank0 read-only, especially if
/CSBOOT is used to control a ROM. Configuring /CSBOOT to be active during read and write cycles and keeping the ROM jumper in place will allow the emulator to load code and write breakpoints into that bank, but prevent the application from writing to that bank.
Note
To emulate through a reset, bank0 must contain your reset vectors and startup code.
Configured this way, every time the controller is reset, RAM banks 1, 2, and 3 will be disabled.
Data windows scrolled to show this RAM will only show asterisks instead. In this state, the emulator will not be able to load code or data into these other banks. Of course, as soon as the application starts, the RAM will be reactivated by the startup instructions. To use the other banks of
RAM, the best approach is to use the user defined (below) chip select option. For each chip select register, fill in the values compatible with your application. Then, every time the emulator resets the controller, it will also write the chip select registers, reactivating the other banks of RAM.
When using more than one bank of emulation RAM, the chip select signals must map the bank used to different addresses. If bank0 is mapped from 0 to $3FFFF, no other bank can be mapped to those addresses. The startup code must set the chip select registers /CSBARx so that the size and starting addresses avoid overlap.
Without SIZx Signals
If the SIZ0 and SIZ1 signals are not available; if their pins have been assigned to carry I/O signals, many emulator features will be affected. Although Shadow RAM and the trace board will not work perfectly, much of emulation RAM will be available, with a little care.
EMUL16/300–PC User Guide
POD–335
Using 8-bit emulation RAM without the SIZx signals is easy. After pulling both the 16BIT jumper and the SIZx jumper, emulation RAM will still require one chip select per bank, and it must be configured for 8-bit reads and writes, but otherwise, it will work just as if the size signals were available and the SIZx jumper were still in place.
To use 16-bit wide emulation RAM without the SIZx signals, first you must pull the SIZx jumper.
This will disable RAM bank1. It cannot be used with the 16-bit jumper in place. Second, configure
/CSOR0 to assert /CS0 for all odd address write cycles and only the write cycles. For example, for
0 wait states, the value in /CSOR0 should be 3030. Third, set /CSBAR0 to generate LWE (odd byte writes only) across all of emulation RAM, to cover all emulation RAM banks in use. This means that under these special circumstances, all emulation RAM (banks 0, 2, and/or 3) must be mapped contiguously. It also means that a 4-MB pod will be limited to 1 MB, the maximum address range of one chip select, even though RAM banks 0, 2, and 3, together would provide
3 MB of RAM.
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory
A full discussion of the 68335 configurability and how it affects the address decoding logic design is beyond the scope of this manual. However, some configuration information is necessary at this point. A 68335 may be designed into a target that uses 8-bit or 16-bit memory or I/O devices. In either case, the board design and the chip select register values in the SIM module must agree. Because there is also an emulator in the circuit, the emulator pod jumpers and software configuration must also be consistent with the design.
When reset, the 68335 polls several pins and sets (or clears) corresponding bits in certain registers.
Normally, these pins float up to logic 1 during reset but if they are pulled low by external logic, the corresponding bits are cleared. DB-0, which corresponds to bit 0 in /CSPAR0, controls whether the External Bus Interface generates bus cycles and addresses for 8-bit or 16-bit memory.
Although all the chip-select registers can be reprogrammed by the initialization software after the reset is complete, bit 0 of /CSPAR0 must be set (or cleared) before the 68335 reads the reset vectors at the end of the reset period. If it is set incorrectly, the 68335 will read the reset vectors incorrectly and begin executing at the wrong address.
Although the pod does support emulating 8-bit ROMs, it does not have the logic to hold DB-0 low during a reset. This is why a stand-alone pod cannot emulate through /RESET while emulating an
8-bit ROM. It is possible to place a diode between pins 68 (the /RESET pin) and 111 (Data Bus pin 0) so that the /RESET signal itself holds DB-0 low during the reset cycle but so that data bus signals do not pull the /RESET line low. This will allow a stand-alone pod to emulate through a
/RESET with 8-bit bus cycles and with the 16BIT jumper removed. If a target is directly connected to the pod and has, the reset logic required to hold DB-0 low, then the diode will not be necessary.
© ICE Technology
141
POD–335
Other Startup Code Suggestions
Resetting the 68335 clears the SHEN (SHow cycles ENable) bits. The pod does not require that either of these bits be set, but they do affect the emulator user interface and how much information the emulator gets, so some explanation is in order. These two bits control bus arbitration. They also control whether or not internal bus cycles are brought to the pins or shown to external devices. If an internal bus cycle occurs, such as a WRITE to the SIMMCR register for example, the
68332 does not need to use the external bus at all. If the internal bus activity remains internal, the emulator will have no way of knowing what happened. Setting either of these bits will show internal bus cycle activity on the external bus pins. These bits are important to the emulator because if the SHEN bits are both cleared, then WRITEs to registers will not be duplicated in Shadow RAM and the trace board will not be able to monitor those bus cycles. When either of these bits are set, the registers that control the peripheral modules will be shadowed, just as with all other RAM.
The 68334 has relatively little RAM and no ROM so relatively few internal bus cycles will be generated. As Motorola produces other chips that have internal ROM and greater internal RAM, the potential for confusion will increase if both of these bits are cleared. If either of these bits are set, internal bus cycles will be shown to the emulator, which will allow the emulator to show this activity to the user. The design of the target will determine which bit should be set (or if both should be set). For more information about bus arbitration and the SHEN bits, refer to a
MC68334UM/AD User’s Manual.
Timers and the FREEZE Signal
An EMUL16/300–PC generated break suspends the CPU by placing it in BDM. While in BDM, no instructions are executed and the FREEZE signal is asserted. However, while the CPU is suspended, the other modules like the watchdog and periodic interrupt timers can continue to run, which means that an interrupt or a reset can occur while in BDM. The FREEZE bits in most modules are cleared when the 68335 is reset, which allows those modules to run while instruction execution is suspended. Setting the FREEZE bits in all of the module configuration registers (e.g.
SIMMCR, and QMCR) in the startup code may simplify debugging by preventing unexpected behavior.
Watchdog Timer
When the 68335 is reset, most internal devices such as the Queued Serial Module are disabled.
However, the most significant bit in the SYPCR register, the SWE bit is set. This enables the watchdog timer with a very short timeout period. Unless the target application software was designed to service the watchdog timer, the target software startup code should clear the SWE bit to disable the watchdog timer.
Processor Clock Rate
At reset, the processor registers are set so that the processor multiples the crystal rate by 256. A crystal frequency of 32768 Hz (the frequency of the crystal on POD–335) will generate a CPU clock frequency (CLKOUT signal) of 8.39 MHz. The simplest way to double this frequency up
EMUL16/300–PC User Guide
POD–335
to the maximum clock rate of 16.78 MHz is to set the X bit in the SYNCR register. Keep in mind that changing this clock rate will change some rates, such as the serial port baud rate, and will not change others, such as the period of the Periodic Interrupt Timer timeout period.
Connecting the Pod to the Target Board
There are five ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
Part number ET/EP5-132-QF03T is an adapter that plugs into the 132-pin TESTOOL socket.
•
Part number ET/EPP-132-QF03-LG is an adapter that solders onto the target board in place of the CPU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
Part number ADP-332PGA connects a POD–335 to a 132-pin PGA socket. Or, if the target board assembly solders the controller directly to the board, the PGA socket included with
ADP-332PGA can be soldered onto the target board in place of the controller.
•
Part number SAMTEC/SSQ-117-03-GD is a 34-pin extender strip to raise the height of the pod. Sold individually, you will need four strips per layer. Each layer of four strips elevates the pod approximately ½ inch.
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
© ICE Technology
143
POD–336
Figure 52. POD–336
Overview
The EMUL16/300–PC pod board contains a 68336 MCU, a 4.192-MHz crystal, between 256K and 4 MB of static RAM for instructions and data, and a DB-9 connector for the chip’s serial port.
The pod board includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
Physical Dimensions
The pod board measures 4.5 inches by 3.75 inches (11.4 cm. by 9.5 cm). The pod requires between one and two inches (2.5 cm to 5 cm) of space above the target.
POD–336 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
EMUL16/300–PC User Guide
POD–336 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
1M
16BIT
ROM
BNK0
BNK1
BNK2
BNK3
SER
PWR
Stand-Alone
Position
ON or OFF
ON
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
Position Connected to a Target
ON or OFF
ON (OFF if emulating 8-bit memory
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON or OFF
Description
Set at the factory, do not change
Controls pod memory width
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Connects the MCU serial port to the DB-9 connector on the pod
Provides +5V power to the target
CLK
AS
DS
BKPT
ON
ON or OFF
ON or OFF
ON or OFF
OFF (if there is a target power supply)
OFF Connects pod crystal circuit to the pod MCU
Connects target Address Strobe signal to pod MCU
Connects target Data Strobe signal to pod
MCU
Connects target /BKPT signal to pod MCU
BERR
RST
ON or OFF
ON
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if external watchdog resets MCU)
Connects target /BERR signal to pod MCU
Connects target /RESET signal to pod MCU
Header and Jumper Details
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
© ICE Technology
145
POD–336
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will not affect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
These jumpers only effect pods with more than one bank of RAM. They need to be OFF for targets that use this chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
This jumper connects the MCU serial port to the DB-9 connector on the pod.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
EMUL16/300–PC User Guide
POD–336
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
Note
Some MCUs are designed to use a 32-kHz input and others are designed to use a 4-MHz crystal. If there is a conflict between the target crystal and the pod MCU, replace the MCU on the pod with one from your inventory that can use the target crystal and remove the three CLK jumpers.
This jumper connects target Address Strobe signal to pod MCU.
This jumper connects target Data Strobe signal to pod MCU.
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the
/BKPT pin as it needs to. When target /BKPT/BERR is tied to +5V this should be set of OFF when all the following the conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
© ICE Technology
147
POD–336
Note
When emulating the single chip mode, remove the /BERR jumper.
RAM Bank1 and /CSM
(This section only applies to pods with more than one bank of emulation RAM.)
If your pod is equipped with a 68336, the MCU will not support /CSM signal. If you wish to use bank1, you will need to run a wire between some other /CS and the outer of the two pins that are now marked BNK1.
68336 Configuration Requirements
Each MCU is very configurable. Nearly every pin that carries a control signal can be configured to carry general-purpose input/output signals instead. However, the emulator needs certain control signals to do the job. The /BKPT/DSCLK line must not be forced either high or low. Instead, a
10-k Ohm pull-up resistor will keep the CPU from accidentally entering BDM.
ISO-160 can be used to isolate the /BKPT (or any other) signal on the target from the pod. This may be simpler than modifying the target board.
Note
To isolate the controller from the target, ISO-160 must come between the target hardware and the controller. This makes the ISO-160 less useful when used with the QFP132CLIP adapter.
Connecting the Pod to the Target Board
There are four ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
Part number ET/CLIP-160-QF07-B is a clip-over for 160-pin plastic QFP SMD. Not recommended for ceramic packages.
•
Part number ET/EPP-160-QF07-W is an adapter that solders onto the target board in place of the CPU. This adapter mates with the pod board pins. This also does not affect the board design, but it does require some special board assembly.
•
Part number SAMTEC/SSQ-117-03-GD is a 34-pin extender strip to raise the height of the pod. Sold individually, you will need four strips per layer. Each layer of four strips elevates the pod approximately ½ inch.
EMUL16/300–PC User Guide
POD–336
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
© ICE Technology
149
POD–338
Figure 53. POD–338
Overview
This pod board is used to emulate the Motorola microcontrollers 68300 series in single-chip mode.
The pod board includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
POD–338 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
POD–338 Configuration Options
EMUL16/300–PC User Guide
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
16BIT
SIZx
Stand-Alone
Position
ON
ON
Position Connected to a Target
ON (OFF if emulating 8-bit memory
ON
Description
Controls pod memory width
ROM
BNK0
On or OFF
ON
Supports using emulation RAM without Port
E SIZ0 and SIZ1 signals
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
BNK1
BNK2
BNK3
PRU
PWR
CLK
RXD
BKPT
BERR
DSI
P T
RST
ON or OFF
ON or OFF
ON or OFF
ON
ON
ON
ON or OFF
ON or OFF
ON or OFF
P
ON
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON
OFF (if there is a target power supply)
OFF
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if target /DSI is tied directly to +5V)
P or T
ON (OFF if external watchdog resets MCU)
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Enables Port Replacement Unit using /CS5
Provides +5V power to the target
Connects pod crystal circuit to the pod MCU
Drives the serial port input pin on the controller
Connects target /BKPT signal to pod MCU
Connects target /BERR signal to pod MCU
Connects target data stream input signal to pod MCU
Enables either the pod or the target controller
Connects target /RESET signal to pod MCU
Header and Jumper Details
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
© ICE Technology
151
POD–338
Support using emulation RAM without Port E SIZ0 and SIZ1 signals. The SIZx header is useful only if the PRU jumper is removed and your application has programmed the Port E pins SIZx signals to carry I/O signals. If you cannot use the PRU and the Port E SIZx pins are used to carry
I/O, call Nohau Technical Support for assistance.
Makes RAM bank0 read-only. Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will not affect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
These jumpers only effect pods with more than one bank of RAM. They need to be OFF for targets that use this chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
The Port Replacement Unit (PRU) makes it possible to emulate single-chip and partially expanded applications. It replaces the MCU Port E pins in all modes, which assures that Shadow RAM and the trace board will have the bus control signals they need at all times. Do not remove this jumper unless /CSE is not available. The PRU is enabled using /CS5. The PRU supports full-featured emulation even if Port E is used for I/O.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
EMUL16/300–PC User Guide
POD–338
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
Note
Some MCUs are designed to use a 32-kHz input and others are designed to use a 4-MHz crystal. If there is a conflict between the target crystal and the pod MCU, replace the MCU on the pod with one from your inventory that can use the target crystal and remove the three CLK jumpers.
If your target outputs debugging information on the serial port, you might want to connect an
RS232 device alike a terminal or a PC to header J1. This pod includes a MAX 232 chip to convert the signal levels from RS232 to TTL levels. Whether or not you connect the RXD pin on J1 to an
RS232 device, the MAX232 chip will drive the serial port input pin on the controller. To keep the
MAX232 chip from driving the serial input pin on the controller, remove the jumper on the RXD header. To allow the MAX232 chip to drive the serial port input pin, place a jumper on this header.
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the
/BKPT pin as it needs to. When target /BKPT/BERR/DSI is tied to +5V this should be set of OFF when all the following the conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
© ICE Technology
153
POD–338
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the /BERR jumper.
For most circumstances, leave the jumper in the default or P position. When the jumper is in the P position, the target processor is tri-stated and the pod processor controls the bus and peripherals.
Putting the jumper in the T position will disable the pod processor and allow the target processor to run. This is required for applications that include multiple bus masters, and other designs where
/CSE is not available.
Note
The following section only applies to pods with more than one bank of emulation
RAM.
RAM Bank1 and /CSM
If your pod is equipped with a 68338, the MCU will not support /CSM signal. If you wish to use bank1, you will need to run a wire between some other /CSx signal and the outer of the two pins that are now marked BNK1.
Connecting the Pod to the Target Board
There are three ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
•
Part number ADP-144-050-SM adapter to solder to 144 pin TQFP Surface Device (SMD) pads.
EMUL16/300–PC User Guide
POD–338
•
Finally, a Background Debug connector designed into the target connects the pod to the target with a 10-wire ribbon cable. The small ribbon cable can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the above adapters.
The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. Those two emulator features will not operate when the BERG connector is used.
© ICE Technology
155
POD–340
Figure 54. POD–340
Overview
This pod board contains a 16.78-MHz 68340 chip, a 32768 crystal, 256K, 1 MB, 4 MB of emulation RAM for instructions and data, and a DB-9 connector for connecting to a serial port. The pod board also includes a BERG connector that allows debugging target boards that have BERG connectors and do not have room to connect the pod directly to the target processor.
POD–340 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
EMUL16/300–PC User Guide
POD–340 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
OSC
PWR
1M
DONE-2
16BIT
Stand-Alone
Position
ON
ON
ON or OFF
ON
Position Connected to a Target
OFF
OFF (if there is a target power supply)
ON or OFF Set at the factory, do not change
DMA controller signal allows the trace board to monitor the DONE2 signal
Controls pod memory width
ROM
CS0
ON or OFF
ON (OFF if emulating 8-bit memory
ON or OFF
Description
Connects pod crystal circuit to the pod MCU
Provides +5V power to the target
CS1
CS2
CS3
CTS
RXD
CLK
ON OFF
Makes RAM bank0 read-only
Chip select line used to control emulation
RAM
Chip select line used to control emulation
RAM
Chip select line used to control emulation
RAM
Chip select line used to control emulation
RAM
Connects the CTS signal from channel A to the DB-9 port
Drives the serial port input pin on the controller
Connects pod crystal circuit to the pod MCU
Header and Jumper Details
The jumper in position 1 should remain ON if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin. Connects the pod crystal circuit to the pod MCU.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
© ICE Technology
157
POD–340
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
If a trace board is not present, this pin pair does nothing. If there is a trace board, shorting this pin pair with a jumper will allow the trace board to monitor the DONE2 signal. Without this jumper, the trace board will monitor SHOWCYCLES (generated by pod board) instead.
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0 (makes RAM bank0 read-only). The ROM jumper will not effect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper must be off.
These headers are used to control emulation RAM and are used by the CPU right after reset.
Emulation RAM is often used in place of boot RAM.
EMUL16/300–PC User Guide
POD–340
This jumper connects the CTS signal to DB-9 from serial channel A.
If your target outputs debugging information on the serial port, you might want to connect an
RS232 device alike a terminal or a PC to header J1. This pod includes a MAX 232 chip to convert the signal levels from RS232 to TTL levels. Whether or not you connect the RXD pin on J1 to an
RS232 device, the MAX232 chip will drive the serial port input pin on the controller. To keep the
MAX232 chip from driving the serial input pin on the controller, remove the jumper on the RXD header. To allow the MAX232 chip to drive the serial port input pin, place a jumper on the RXD header.
This jumper connects serial channel A clock to DB-9.
Connecting the Pod to the Target Board
There are six ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
•
Part number ADP-144-065-SM is an adapter that solders to 144 pin PQFP SMD pads.
•
Part number ADP-340PGA plugs into a pin grad array socket and has pins for plugging into
POD–340. IF the target design has a PGA socket, this adapter does not require any special assembly or design. If the target board assembly solders the controller directly to the target board, the PGA socket included with the ADP-340PGA can be soldered onto the target board in place of the controller.
•
Part number ADP340-050-SM adapter to solder to 144-pin TQFP.
•
Part number ET/CLIP-144-QF10-BC clip-over for 144-pin QFPSMD.
© ICE Technology
159
POD–340
•
If designed into the board a 10-wire ribbon cable (BERG connector) designed to allow the pod board to connect to the target board. The cable and connector can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the previously mentioned adapters. The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. These two emulator features will not operate when the BERG connector is used.
Note
ISO-160 can be used to isolate the /BKPT (or any other) signal on the target from the pod. This may be simpler than modifying the target board.
The 68340 was designed with only four chip select lines, /CS0, /CS1, /CS2, and /CS3. One of them must be used to control emulation RAM. Choose one chip select line to dedicate to emulation RAM. The best choice is /CS0. Not only is this the one used by the CPU right after a reset, but since emulation RAM is often used in place of the boot ROM, /CS0 is likely to be free to use for emulation RAM. While it is possible to use /CS1, /CS2, or /CS3 to select emulation RAM, it will be difficult unless /CS0 selects a ROM with the reset vectors and startup code. After every reset, you will have to manually set the chip select registers, the stack pointer, and the program counter.
On the /CSx header, put a jumper on the pair of pins that correspond to the chosen chip select.
68340 Configuration Requirements
The 68340 is very configurable. Nearly every pin that carries a control signal can be configured to carry general-purpose input/output signals instead. However, the emulator needs certain control signals to do its job. The /BKPT/DSCLK line must not be forced either high or low. Instead, a
10-k Ohm pull-up resistor will keep the CPU from accidentally entering BDM.
Note
ISO-160 can be used to isolate the /BKPT (or any other) signal on the target from the pod. This may be simpler than modifying the target board.
The circuitry that maintains Shadow RAM needs /AS, /DS, CLKOUT, SIZ0, and SIZ1. All of these signals must appear at their respective pins or Shadow RAM will not correctly reflect the state of emulation or target RAM. The trace board also needs /AS, /DS, and CLKOUT. Target designs that use these Port E pins for other signals may interfere with Shadow RAM and trace board operation.
Using Emulation RAM
The pod contains either 256K, 1 MB, or 4 MB of RAM that can be used to emulate target RAM or
ROM. The first part of the discussion below assumes that the SIZ0 and SIZ1 signals are available to the emulator and have not been configured to carry I/O signals.
EMUL16/300–PC User Guide
POD–340
The pod with 256K of RAM has 1 bank of RAM, 256K in size. The 1-MB pod board has 4 banks, each bank is 256K in size. The 4-MB pod board has 4 banks, each with 1-MB of RAM. Each bank, regardless of the size, requires one chip select signal. Bank0 is controlled by /CSBOOT.
/CS0, /CS1, and /CS2 control banks 1, 2, and 3 respectively. If /CSBOOT, /CS0, /CS1, or /CS2 have to be used by the target, then remove the respective jumper(s) and disable the associated bank of RAM. Chip select signals used to control an emulation memory bank must be configured for reading and writing. If the RAM is emulating 16-bit target RAM or ROM, the signal must also select for both high and low bytes. For emulating 8-bit devices, the signal should only select the high byte.
POD–340 Rev. B has a PAL to control emulation RAM. This PAL uses a variety of controller signals and the jumpers on the pod to determine which RAM chips to enable, and which to writeenable. (Refer to Appendix G, “PAL Equations for RAM.”)
All memory banks must be either 8 bits or 16 bits wide. Any chip select can control 1 bank of emulation memory on the pod if a wire is run (wire wrap is best) to the header for that bank (the pin close to the edge). This also works for 16-bit memory without size signals.
Note
To isolate the controller from the target, ISO-160 must come between the target hardware and the controller. This makes the ISO-160 less useful when used with the QFP132CLIP adapter.
Bank0 is special because it is controlled by /CSBOOT. Resetting the controller activates
/CSBOOT for reading and writing 1 MB of memory starting at address 0. Bank0 is also special, because inserting the ROM jumper will make it impossible for the application to write into bank0 while still allowing the emulator to write breakpoints and load code. As mentioned above, even
/CSBOOT must make RAM writeable. Your startup code may make bank0 read-only, especially if
/CSBOOT is used to control a ROM. Configuring /CSBOOT to be active during read and write cycles and keeping the ROM jumper in place will allow the emulator to load code and write breakpoints into that bank, but prevent the application from writing to that bank.
Note
To emulate through a reset, bank0 must contain your reset vectors and startup code.
© ICE Technology
161
POD–340
Configured this way, every time the controller is reset, RAM banks 1, 2, and 3 will be disabled.
Data windows scrolled to show this RAM will only show asterisks instead. In this state, the emulator will not be able to load code or data into these other banks. Of course, as soon as the application starts, the RAM will be reactivated by the startup instructions. To use the other banks of
RAM, the best approach is to use the user defined (below) chip select option. For each chip select register, fill in the values compatible with your application. Then, every time the emulator resets the controller, it will also write the chip select registers, reactivating the other banks of RAM.
When using more than one bank of emulation RAM, the chip select signals must map the bank used to different addresses. If bank0 is mapped from 0 to $3FFFF, no other bank can be mapped to those addresses. The startup code must set the chip select registers CSBARx so that the size and starting addresses avoid overlap.
String WRITE
A17A0
A19A0
A18VCC
UWE
LWE
‘(ROM * CSx * RW
+ROM * FRZ *CSx * RW)’
= A0 * 16BIT * 1MB
+ A17 * 16BIT * 1MB
+ A17 * 1MB
= A0 * 16BIT
+ A19 * 16BIT
= * 1MB
+ A18 * 1MB
= WRITE* 16BIT
+ WRITE* 16BIT * A0
= WRITE* A0
+ WRITE* SIZ1 * SIZ0* A0
+ WRITE* SIZ1 * SIZ0* A0
+ WRITE* SIZ1 * SIZ0* A0
+16BIT
:Any write if not ROM emulator
:Write only while in BDM
:A0 in 8-bit mode
:A17 in 16-bit mode
:A17 with 512K chips
:A0 in 8-bit mode
:A19 in 16-bit mode
:VCC with 128K chips
:A18 with 512K chips
:Any write in 8-bit mode
:Any even write in 16-bit mode
:Any odd write
:Any word write
:Even 3-byte write
:Even long write
:Keep the RAM tri-stated in 8-bit mode
Without SIZx Signals
If the SIZ0 and SIZ1 signals are not available; if their pins have been assigned to carry I/O signals, many emulator features will be affected. Although Shadow RAM and the trace board will not work perfectly, much of emulation RAM will be available, with a little care.
Using 8-bit emulation RAM without the SIZx signals is easy. After pulling both the 16BIT jumper and the SIZx jumper, emulation RAM will still require one chip select per bank, and it must be configured for 8-bit reads and writes, but otherwise, it will work just as if the size signals were available and the SIZx jumper were still in place.
EMUL16/300–PC User Guide
POD–340
To use 16-bit wide emulation RAM without the SIZx signals, first you must pull the SIZx jumper.
This will disable RAM bank1. It cannot be used with the 16-bit jumper in place. Second, configure
/CSOR0 to assert /CS0 for all odd address write cycles and only the write cycles. For example, for
0 wait states, the value in /CSOR0 should be 3030. Third, set /CSBAR0 to generate LWE (odd byte writes only) across all of emulation RAM, to cover all emulation RAM banks in use. This means that under these special circumstances, all emulation RAM (banks 0, 2, and/or 3) must be mapped contiguously. It also means that a 4-MB pod will be limited to 1 MB, the maximum address range of one chip select, even though RAM banks 0, 2, and 3, together would provide
3 MB of RAM.
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory
A full discussion of the 68340 configurability and how it affects the address decoding logic design is beyond the scope of this manual. However, some configuration information is necessary at this point. A 68340 may be designed into a target that uses 8-bit or 16-bit memory or I/O devices. In either case, the board design and the chip select register values in the SIM module must agree. Because there is also an emulator in the circuit, the emulator pod jumpers and software configuration must also be consistent with the design.
When reset, the 68340 polls several pins and sets (or clears) corresponding bits in certain registers.
Normally, these pins float up to logic 1 during reset but if they are pulled low by external logic, the corresponding bits are cleared. DB-0, which corresponds to bit 0 in /CSPAR0, controls whether the External Bus Interface generates bus cycles and addresses for 8-bit or 16-bit memory.
Although all the chip-select registers can be reprogrammed by the initialization software after the reset is complete, bit 0 of /CSPAR0 must be set (or cleared) before the 68340 reads the reset vectors at the end of the reset period. If it is set incorrectly, the 68340 will read the reset vectors incorrectly and begin executing at the wrong address.
Although the pod does support emulating 8-bit ROMs, it does not have the logic to hold DB-0 low during a reset. This is why a stand-alone pod cannot emulate through /RESET while emulating an
8-bit ROM. It is possible to place a diode between pins 68 (the /RESET pin) and 111 (Data Bus pin 0) so that the /RESET signal itself holds DB-0 low during the reset cycle but so that data bus signals do not pull the /RESET line low. This will allow a standalone pod to emulate through a
/RESET with 8-bit bus cycles and with the 16BIT jumper removed. If a target is directly connected to the pod and has, the reset logic required to hold DB-0 low, then the diode will not be necessary.
Other Startup Code Suggestions
Resetting the 68340 clears the SHEN (SHow cycles ENable) bits. The pod does not require that either of these bits be set, but they do affect the emulator user interface and how much information the emulator gets, so some explanation is in order. These two bits control bus arbitration.
They also control whether or not internal bus cycles are brought to the pins or "shown" to external devices. If an internal bus cycle occurs, such as a WRITE to the SIMMCR register for example, the 68340 does not need to use the external bus at all. If the internal bus activity remains internal, the emulator will have no way of knowing what happened. Setting either of these bits will show
© ICE Technology
163
POD–340
internal bus cycle activity on the external bus pins. These bits are important to the emulator because if the SHEN bits are both cleared, then WRITEs to registers will not be duplicated in
Shadow RAM and the trace board will not be able to monitor those bus cycles. When either of these bits are set, the registers that control the peripheral modules will be shadowed, just as with all other RAM.
The 68340 has relatively little RAM and no ROM so relatively few internal bus cycles will be generated. As Motorola produces other chips that have internal ROM and greater internal RAM, the potential for confusion will increase if both of these bits are cleared. If either of these bits are set, internal bus cycles will be shown to the emulator, which will allow the emulator to show this activity to the user. The design of the target will determine which bit should be set (or if both should be set). For more information about bus arbitration and the SHEN bits, refer to a
MC68334UM/AD User’s Manual.
Timers and the FREEZE Signal
An EMUL16/300–PC generated break suspends the CPU by placing it in BDM. While in BDM, no instructions are executed and the FREEZE signal is asserted. However, while the CPU is suspended, the other modules like the watchdog and periodic interrupt timers can continue to run, which means that an interrupt or a reset can occur while in BDM. The FREEZE bits in most modules are cleared when the 68340 is reset, which allows those modules to run while instruction execution is suspended. Setting the FREEZE bits in all of the module configuration registers (e.g.
SIMMCR, and QMCR) in the startup code may simplify debugging by preventing unexpected behavior.
Watchdog Timer
When the 68340 is reset, most internal devices such as the Queued Serial Module are disabled.
However, the most significant bit in the SYPCR register, the SWE bit is set. This enables the watchdog timer with a very short timeout period. Unless the target application software was designed to service the watchdog timer, the target software startup code should clear the SWE bit to disable the watchdog timer.
Processor Clock Rate
At reset, the processor registers are set so that the processor multiples the crystal rate by 256. A crystal frequency of 32768 Hz (the frequency of the crystal on POD–340) will generate a CPU clock frequency (CLKOUT signal) of 8.39 MHz. The simplest way to double this frequency up to the maximum clock rate of 16.78 MHz is to set the X bit in the SYNCR register. Keep in mind that changing this clock rate will change some rates, such as the serial port baud rate, and will not change others, such as the period of the Periodic Interrupt Timer timeout period.
EMUL16/300–PC User Guide
POD–341
Figure 55. POD–341
Overview
This pod board is used to emulate the Motorola microcontrollers 68341. The pod board includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
The pod board has a standard 68341 series MCU. You can replace the part in case of failure or if you want to use another part in the same family.
POD–341 LED Indicators
Name
D1
D2
D3
D4
Function
HALT
RESET
FREEZE
RUN
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
© ICE Technology
165
POD–341 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
PWR
1M
DONE2
16BIT
Stand-Alone
Position
ON
ON or OFF
ON
Position Connected to a Target
OFF (if there is a target power supply)
ON or OFF
Description
Provides +5V power to the target
Set at the factory, do not change
DMA controller signal allows the trace board to monitor the DONE2 signal
Controls pod memory width
ROM
BNK0
BNK1
BNK2
BNK3
BERR
BKPT
RST
CLK
CTS
RXDA
SCLK
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON or OFF
On
ON
ON
ON (OFF if emulating 8-bit memory
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
ON (OFF if external watchdog resets MCU)
OFF
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Connects target /BERR signal to pod MCU
Connects target /BKPT signal to pod MCU
Connects target /RST signal to pod MCU
Connects pod crystal circuit to the pod MCU
Connects the CTS signal to DB-9 from channel A
Drives the serial port input pin on the controller
Connects the serial CLK channel A to DB-9
Header and Jumper Details
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
EMUL16/300–PC User Guide
POD–341
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
If a trace board is not present, this pin pair does nothing. If there is a trace board, shorting this pin pair with a jumper will allow the trace board to monitor the DONE2 signal. Without this jumper, the trace board will monitor SHOWCYCLES (generated by pod board) instead.
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0 (makes RAM bank0 read-only). The ROM jumper will not effect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper must be off.
These jumpers only effect pods with more than one bank of RAM. They need to be OFF for targets that use this chip select for anything.
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
© ICE Technology
167
POD–341
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the
/BKPT pin as it needs to. When target /BKPT/BERR is tied to +5V this should be set of OFF when all the following the conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the /BERR jumper.
This jumper connects the CTS signal from serial channel A to the DB-9 port.
If your target outputs debugging information on the serial port, you might want to connect an
RS232 device alike a terminal or a PC to header J1. This pod includes a MAX 232 chip to convert the signal levels from RS232 to TTL levels. Whether or not you connect the RXD pin on J1 to an
RS232 device, the MAX232 chip will drive the serial port input pin on the controller. To keep the
MAX232 chip from driving the serial input pin on the controller, remove the jumper on the RXD header. To allow the MAX232 chip to drive the serial port input pin, place a jumper on this header.
This jumper connects the serial CLK channel A to the DB-9 port.
EMUL16/300–PC User Guide
POD–341
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
Connecting the Pod to the Target Board
There are six ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
•
Part number ADP-144-065-SM is an adapter that solders to 144 pin PQFP SMD pads.
•
Part number ADP-340PGA plugs into a pin grad array socket and has pins for plugging into
POD–340. IF the target design has a PGA socket, this adapter does not require any special assembly or design. If the target board assembly solders the controller directly to the target board, the PGA socket included with the ADP-340PGA can be soldered onto the target board in place of the controller.
•
Part number ADP340-050-SM adapter to solder to 144-pin TQFP.
•
Part number ET/CLIP-144-QF10-BC clip-over for 144-pin QFPSMD.
•
If designed into the board a 10-wire ribbon cable (BERG connector) designed to allow the pod board to connect to the target board. The cable and connector can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the previously mentioned adapters. The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. These two emulator features will not operate when the BERG connector is used.
Note
ISO-160 can be used to isolate the BKPT (or any other) signal on the target from the pod. This may be simpler than modifying the target board.
The 68341 was designed with only four chip select lines, /CS0, /CS1, /CS2, and /CS3. One of them must be used to control emulation RAM. Choose one chip select line to dedicate to emulation RAM. The best choice is /CS0. Not only is this the one used by the CPU right after a reset,
© ICE Technology
169
POD–341
but since emulation RAM is often used in place of the boot ROM, /CS0 is likely to be free to use for emulation RAM. While it is possible to use /CS1, /CS2, or /CS3 to select emulation RAM, it will be difficult unless /CS0 selects a ROM with the reset vectors and startup code. After every reset, you will have to manually set the chip select registers, the stack pointer, and the program counter. On the /CS header, put a jumper on the pair of pins that correspond to the chosen chip select.
68341 Configuration Requirements
The 68341 is very configurable. Nearly every pin that carries a control signal can be configured to carry general-purpose input/output signals instead. However, the emulator needs certain control signals to do its job. The /BKPT/DSCLK line must not be forced either high or low. Instead, a
10-k Ohm pull-up resistor will keep the CPU from accidentally entering BDM.
Note
ISO-160 can be used to isolate the /BKPT (or any other) signal on the target from the pod. This may be simpler than modifying the target board.
The circuitry that maintains Shadow RAM needs /AS, /DS, CLKOUT, SIZ0, and SIZ1. All of these signals must appear at their respective pins or Shadow RAM will not correctly reflect the state of emulation or target RAM. The trace board also needs /AS, /DS, and CLKOUT. Target designs that use these Port E pins for other signals may interfere with Shadow RAM and trace board operation.
Using Emulation RAM
The pod contains either 256K, 1 MB, or 4 MB of RAM that can be used to emulate target RAM or
ROM. The first part of the discussion below assumes that the SIZ0 and SIZ1 signals are available to the emulator and have not been configured to carry I/O signals.
The pod with 256K of RAM has 1 bank of RAM, 256K in size. The 1-MB pod board has 4 banks, each bank is 256K in size. The 4-MB pod board has 4 banks, each with 1 MB of RAM. Each bank, regardless of the size, requires one chip select signal. Bank0 is controlled by /CSBOOT, /CS0,
/CS1, and /CS2 control banks 1, 2, and 3 respectively. If /CSBOOT, /CS0, /CS1, or /CS2 have to be used by the target, then remove the respective jumper(s) and disable the associated bank of
RAM. Chip select signals used to control an emulation memory bank must be configured for reading and writing. If the RAM is emulating 16-bit target RAM or ROM, the signal must also select for both high and low bytes. For emulating 8-bit devices, the signal should only select the high byte.
POD–341 Rev. B has a PAL to control emulation RAM. This PAL uses a variety of controller signals and the jumpers on the pod to determine which RAM chips to enable, and which to writeenable. (Refer to Appendix G, “PAL Equations for RAM.”)
EMUL16/300–PC User Guide
POD–341
All memory banks must be either 8 bits or 16 bits wide. Any chip select can control 1 bank of emulation memory on the pod if a wire is run (wire wrap is best) to the header for that bank (the pin close to the edge). This also works for 16-bit memory without size signals.
Note
To isolate the controller from the target, ISO-160 must come between the target hardware and the controller. This makes the ISO-160 less useful when used with the QFP132CLIP adapter.
Bank0 is special because it is controlled by /CSBOOT. Resetting the controller activates
/CSBOOT for reading and writing 1 megabyte of memory starting at address 0. Bank0 is also special, because inserting the ROM jumper will make it impossible for the application to write into bank0 while still allowing the emulator to write breakpoints and load code. As mentioned above, even /CSBOOT must make RAM writeable. Your startup code may make bank0 read-only, especially if /CSBOOT is used to control a ROM. Configuring /CSBOOT to be active during read and write cycles and keeping the ROM jumper in place will allow the emulator to load code and write breakpoints into that bank, but prevent the application from writing to that bank.
Note
To emulate through a reset, bank0 must contain your reset vectors and startup code.
Configured this way, every time the controller is reset, RAM banks 1, 2, and 3 will be disabled.
Data windows scrolled to show this RAM will only show asterisks instead. In this state, the emulator will not be able to load code or data into these other banks. Of course, as soon as the application starts, the RAM will be reactivated by the startup instructions. To use the other banks of
RAM, the best approach is to use the user defined (below) chip select option. For each chip select register, fill in the values compatible with your application. Then, every time the emulator resets the controller, it will also write the chip select registers, reactivating the other banks of RAM.
When using more than one bank of emulation RAM, the chip select signals must map the bank used to different addresses. If bank0 is mapped from 0 to $3FFFF, no other bank can be mapped to those addresses. The startup code must set the chip select registers /CSBARx so that the size and starting addresses avoid overlap.
© ICE Technology
171
POD–341
String WRITE
A17A0
A19A0
A18VCC
UWE
LWE
‘(ROM * CSx * RW
+ROM * FRZ *CSx * RW)’
= A0 * 16BIT * 1MB
+ A17 * 16BIT * 1MB
+ A17 * 1MB
= A0 * 16BIT
+ A19 * 16BIT
= * 1MB
+ A18 * 1MB
= WRITE* 16BIT
+ WRITE* 16BIT * A0
= WRITE* A0
+ WRITE* SIZ1 * SIZ0* A0
+ WRITE* SIZ1 * SIZ0* A0
+ WRITE* SIZ1 * SIZ0* A0
+16BIT
:Any write if not ROM emulator
:Write only while in BDM
:A0 in 8-bit mode
:A17 in 16-bit mode
:A17 with 512K chips
:A0 in 8-bit mode
:A19 in 16-bit mode
:VCC with 128K chips
:A18 with 512K chips
:Any write in 8-bit mode
:Any even write in 16-bit mode
:Any odd write
:Any word write
:Even 3-byte write
:Even long write
:Keep the RAM tri-stated in 8-bit mode
Without SIZx Signals
If the SIZ0 and SIZ1 signals are not available; if their pins have been assigned to carry I/O signals, many emulator features will be affected. Although Shadow RAM and the trace board will not work perfectly, much of emulation RAM will be available, with a little care.
Using 8-bit emulation RAM without the SIZx signals is easy. After pulling both the 16BIT jumper and the SIZx jumper, emulation RAM will still require one chip select per bank, and it must be configured for 8-bit reads and writes, but otherwise, it will work just as if the size signals were available and the SIZx jumper were still in place.
To use 16-bit wide emulation RAM without the SIZx signals, first you must pull the SIZx jumper.
This will disable RAM bank1. It cannot be used with the 16-bit jumper in place. Second, configure
/CSOR0 to assert /CS0 for all odd address write cycles and only the write cycles. For example, for
0 wait states, the value in /CSOR0 should be 3030. Third, set /CSBAR0 to generate LWE (odd byte writes only) across all of emulation RAM, to cover all emulation RAM banks in use. This means that under these special circumstances, all emulation RAM (banks 0, 2, and/or 3) must be mapped contiguously. It also means that a 4-MB pod will be limited to 1 MB, the maximum address range of one chip select, even though RAM banks 0, 2, and 3, together would provide
3 MB of RAM.
EMUL16/300–PC User Guide
POD–341
Stand-alone Pod With a 16-Bit vs. 8-Bit Emulation Memory
A full discussion of the 68341 configurability and how it affects the address decoding logic design is beyond the scope of this manual. However, some configuration information is necessary at this point. A 68341 may be designed into a target that uses 8-bit or 16-bit memory or I/O devices. In either case, the board design and the chip select register values in the SIM module must agree. Because there is also an emulator in the circuit, the emulator pod jumpers and software configuration must also be consistent with the design.
When reset, the 68341 polls several pins and sets (or clears) corresponding bits in certain registers.
Normally, these pins float up to logic 1 during reset but if they are pulled low by external logic, the corresponding bits are cleared. DB-0, which corresponds to bit 0 in /CSPAR0, controls whether the External Bus Interface generates bus cycles and addresses for 8-bit or 16-bit memory.
Although all the chip-select registers can be reprogrammed by the initialization software after the reset is complete, bit 0 of /CSPAR0 must be set (or cleared) before the 68341 reads the reset vectors at the end of the reset period. If it is set incorrectly, the 68341 will read the reset vectors incorrectly and begin executing at the wrong address.
Although the pod does support emulating 8-bit ROMs, it does not have the logic to hold DB-0 low during a reset. This is why a stand-alone pod cannot emulate through /RESET while emulating an
8-bit ROM. It is possible to place a diode between pins 68 (the /RESET pin) and 111 (Data Bus pin 0) so that the /RESET signal itself holds DB-0 low during the reset cycle but so that data bus signals do not pull the /RESET line low. This will allow a standalone pod to emulate through a /RESET with 8-bit bus cycles and with the 16BIT jumper removed. If a target is directly connected to the pod and has, the reset logic required to hold DB-0 low, then the diode will not be necessary.
Other Startup Code Suggestions
Resetting the 68341 clears the SHEN (SHow cycles ENable) bits. The pod does not require that either of these bits be set, but they do affect the emulator user interface and how much information the emulator gets, so some explanation is in order. These two bits control bus arbitration. They also control whether or not internal bus cycles are brought to the pins or shown to external devices. If an internal bus cycle occurs, such as a WRITE to the SIMMCR register for example, the
68341 does not need to use the external bus at all. If the internal bus activity remains internal, the emulator will have no way of knowing what happened. Setting either of these bits will show internal bus cycle activity on the external bus pins. These bits are important to the emulator because if the SHEN bits are both cleared, then WRITEs to registers will not be duplicated in Shadow RAM and the trace board will not be able to monitor those bus cycles. When either of these bits are set, the registers that control the peripheral modules will be shadowed, just as with all other RAM.
The 68341 has relatively little RAM and no ROM so relatively few internal bus cycles will be generated. As Motorola produces other chips that have internal ROM and greater internal RAM, the potential for confusion will increase if both of these bits are cleared. If either of these bits are set, internal bus cycles will be shown to the emulator, which will allow the emulator to show this
© ICE Technology
173
POD–341
activity to the user. The design of the target will determine which bit should be set (or if both should be set). For more information about bus arbitration and the SHEN bits, refer to a
MC68341UM/AD User’s Manual.
Timers and the FREEZE Signal
An EMUL16/300–PC generated break suspends the CPU by placing it in BDM. While in BDM, no instructions are executed and the FREEZE signal is asserted. However, while the CPU is suspended, the other modules like the watchdog and periodic interrupt timers can continue to run, which means that an interrupt or a reset can occur while in BDM. The FREEZE bits in most modules are cleared when the 68341 is reset, which allows those modules to run while instruction execution is suspended. Setting the FREEZE bits in all of the module configuration registers (e.g.
SIMMCR, and QMCR) in the startup code may simplify debugging by preventing unexpected behavior.
Watchdog Timer
When the 68341 is reset, most internal devices such as the Queued Serial Module are disabled.
However, the most significant bit in the SYPCR register, the SWE bit is set. This enables the watchdog timer with a very short timeout period. Unless the target application software was designed to service the watchdog timer, the target software startup code should clear the SWE bit to disable the watchdog timer.
Processor Clock Rate
At reset, the processor registers are set so that the processor multiples the crystal rate by 256. A crystal frequency of 32768 Hz (the frequency of the crystal on POD–341) will generate a CPU clock frequency (CLKOUT signal) of 8.39 MHz. The simplest way to double this frequency up to the maximum clock rate of 16.78 MHz is to set the X bit in the SYNCR register. Keep in mind that changing this clock rate will change some rates, such as the serial port baud rate, and will not change others, such as the period of the Periodic Interrupt Timer timeout period.
EMUL16/300–PC User Guide
POD–376
Figure 56. POD–376
Overview
The EMUL16/300–PC pod board contains a 68376 MCU, a 4.192-MHz crystal, between 256K and 4 MB of static RAM for instructions and data, and a DB-9 connector for the chip’s serial port.
The pod board includes a Motorola standard Background Debug connector, also called a BERG connector, that allows debugging target boards that have similar connectors and do not have room to connect the pod directly to the target processor.
Physical Dimensions
The pod board measures 4.5 inches by 3.75 inches (11.4 cm. by 9.5 cm). The pod requires between one and two inches (2.5 cm to 5 cm) of space above the target.
© ICE Technology
175
POD–376 LED Indicators
Name
D1
D3
D4
D5
D12
Function
HALT
RESET
FREEZE
RUN
LOW VOLT
Description
An amber LED that indicates that the CPU is in a HALT state.
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates the chip is in BDM mode or has received an error or command to stop. If the yellow LED and the green LED light up at the same time, the pod is probably trying to access nonexistent memory.
A green LED that indicates the processor is running and memory cycle is in progress. If the green LED and the yellow LED light up at the same time, the pod is probably trying to access nonexistent memory.
An amber LED indicates that the pod is running on low voltage (+3V) rather than the standard +5 volts.
POD–376 Configuration Options
The “Header and Jumper Details” section following this table gives a more detailed description of the following options available on the pod.
Jumper
Designation
1M
16BIT
ROM
BNK0
BNK1
BNK2
BNK3
SER
PWR
CLK
AS
DS
BKPT
Stand-Alone
Position
ON or OFF
ON
ON or OFF
ON
ON or OFF
ON or OFF
ON or OFF
ON or OFF
ON
ON
ON or OFF
ON or OFF
ON or OFF
Position Connected to a Target
ON or OFF
ON (OFF if emulating 8-bit memory
ON or OFF
ON (OFF if running from target ROM)
ON or OFF
ON or OFF
ON or OFF
ON or OFF
OFF (if there is a target power supply)
OFF
Description
Set at the factory, do not change
Controls pod memory width
Makes RAM bank0 read-only
Connects /CSBOOT to pod RAM bank0
Connects /CS0 to pod RAM bank1
Connects /CS1 to pod RAM bank2
Connects /CS2 to pod RAM bank3
Connects the MCU serial port to the DB-9 connector on the pod
Provides +5V power to the target
Connects pod crystal circuit to the pod MCU
Connects target Address Strobe signal to pod MCU.
Connects target Data Strobe signal to pod
MCU.
Connects target /BKPT signal to pod MCU
BERR
ON or OFF
ON (OFF if target /BKPT is tied directly to +5V)
ON (OFF if target /BERR is tied directly to +5V)
Connects target /BERR signal to pod MCU
EMUL16/300–PC User Guide
POD–376 Configuration Options (continued)
Jumper
Designation
RST
PLL
EXT PWR
CS5/CSE
Stand-Alone
Position
ON
ON
OFF
ON or OFF
Position Connected to a Target
ON (OFF if external watchdog resets MCU)
Description
Connects target /RESET signal to pod MCU
ON (pod will have a power port on it)
Jumper is used for enabling/disabling PLL operation (option on Rev. C only)
Jumper is inserted if the pod is powered from a PC (option on Rev. C only)
Controls which chip select signal is used for selecting the on-board PRU (option on Rev.
C only)
Header and Jumper Details
WARNING
This jumper is set at the factory according to the amount of RAM your pod is equipped with, do not change.
During reset, pin 0 of the data bus configures the two least significant bits of /CSPAR0, which controls whether the /CSBOOT generates bus cycles and addresses for 8-bit and 16-bit memory.
Removing the 16BIT jumper disables half the memory in memory bank0 and configures the memory control PAL for 8-bit memory read and write cycles.
For other banks of emulation RAM, you can correctly configure the chip select registers with the
Seehau software, but the MCU tries to read the reset vectors before it is completely out of the reset cycle. If the vectors are stored in an 8-bit wide device and the hardware is configured for a 16-bit wide device or likewise, the vectors fetched will be incorrect and the MCU will attempt to execute from a wrong address.
Shorting the pins on the ROM header will prevent the application from writing to the RAM on the pod in bank0. The ROM jumper will not affect loading code, editing instructions, or software breakpoints. If your application needs to write to the RAM in bank0 for any reason, including stack or variables, the ROM jumper should be OFF.
These jumpers only effect pods with more than one bank of RAM. They need to be OFF for targets that use this chip select for anything.
© ICE Technology
177
POD–376
For greatest flexibility, remove the jumpers and run a wire wrap from the outside (or even numbered pin) of the BNKx header, to any chip select signal you want to activate emulation RAM.
Often this signal will be one of the other chip select pins in the two row headers around the controller on the pod. External address decoding logic may also be used.
To prevent bus collisions, the jumper on any BNKx header must be removed if that header’s chip select signal is used to activate a device on the target. For example, if /CS2 is used to control a memory device on the target, you may not use /CS2 to control emulation RAM bank3. You must remove the BNK3 jumper and use some other chip select signal.
This jumper connects the MCU serial port to the DB-9 connector on the pod.
If this jumper is in place, the emulator safely provides up to 0.5 amps of +5V power from the PC power supply to the target board. Remove it if the target has its own source of power. Seehau can emulate +3V target designs when the PWR jumper is removed, but it cannot provide +3V of power. All +3V target designs must have an external power supply.
Note
This source of power is not fused and may damage the pod and/or emulator if more than 0.5 amps of power is used by the target.
The jumper in position 1 should remain on if the pod board has a PRU. The position 1 pin can be identified by a white mark on the corner closest to the pin.
Note
Some MCUs are designed to use a 32-kHz input and others are designed to use a
4-MHz crystal. If there is a conflict between the target crystal and the pod MCU, replace the MCU on the pod with one from your inventory that can use the target crystal and remove the three CLK jumpers.
This jumper connects target Address Strobe signal to pod MCU.
This jumper connects target Data Strobe signal to pod MCU.
EMUL16/300–PC User Guide
POD–376
If a target has a reset button that grounds the /RST pin when pressed, this will not interfere with emulation so the /RST jumper should be ON. If the target ties /BKPT pin to +5V and you are using the controller on the pod, the /BKPT jumper should be off so that the emulator can control the
/BKPT pin as it needs to. When target /BKPT/BERR is tied to +5V this should be set of OFF when all the following the conditions are met:
1.
The target has circuitry that drives this pin.
2.
The target circuitry is interfering with emulation (like an external watchdog that does not respond to the FREEZE signal).
3.
The P T jumper is in the P position.
Occasionally, a target might contain an external device designed to reset the controller by pulling the /RST pin low. During debugging, that may be inconvenient. The signal from the target /RST pin passes though the /RST header. Removing the /RST jumper will prevent the external device from setting the pod controller.
Note
When emulating the single chip mode, remove the /BERR jumper.
This jumper is used for enabling/disabling PLL operation. In normal operation, the jumper should be in position closer to capacitor C19 (i.e. between letters P and L on the PLL label). When an external system clock signal is applied, PLL jumper must be in position further from C19 (i.e.
between letters L and L on the PLL jumper).
The external power jumper is inserted if the pod is powered from a PC. It is also possible to power the pod and target from an external power supply connected to the power jack on the pod. The central pin on the power jack is positive. The external power supply must provide +5V DC (+/-
5%). In this case, the external power jumper must be removed. This jumper is located close to the
50-pin connector for the emulator cable and the LEDs.
The /CS5/CSE jumper is used for controlling which chip select signal is used for selecting the onboard Port Replacement Unit (PRU).
© ICE Technology
179
POD–376
If the pod is used with a 68331/3332/334 SCIM (Single Chip Integration Module) chip, the jumper must be in /CSE position. The SCIM has a special chip select signal /CSE that permits seamless operation of the MCU and PRU.
If the pod is used with a 68336 SIM (System Integration Module), the jumper must be in the /CS5 position. This causes the /CS5 signal to select the PRU. Alternately, by wire wrapping between the central pin of the jumper and the desired /CSx signal on the 160-pin another /CSx signal may be used.
Note
The following section only applies to pods with more than one bank of emulation
RAM.
RAM Bank1 and /CSM
If your pod is equipped with 68376, the MCU will not support /CSM signal. If you wish to use bank1, you will need to run a wire between some other /CS and the outer of the two pins that are now marked BNK1.
Connecting the Pod to the Target Board
There are four ways to connect the pod to the target system. Each method has advantages and disadvantages.
•
The most secure and most reliable way to connect the pod to the target is to design a set of headers onto your target board that match the dimensions and pin assignments of the header sockets on the bottom of the pod. With this kind of connection, you may connect and remove the pod from the target many, many times without damaging either the pod or the processor on your target. While the two are connected, the physical and electrical connections will be most reliable possible, and will eliminate the pod connection as a source of emulation problems.
•
Part number ET/CLIP-160-QF07-W connects the pins of a surface-mounted MCU to the pins on the pod. This connection is temporary and has the advantage that is does not affect the board design or manufacture at all. With this clip, any production target board connects directly to the pod. The disadvantage of this adaptation approach is that the BKPT pin must not be tied to +5V directly. The BKPT pin must be pulled up by a resistor (10 k Ohms) otherwise the emulator will not be able to assert that signal.
•
An adapter plate, part number ET/EPP-160-QF07-B, that solders onto the target board and mates with the pod board pins in place of the MCU. This does not affect the board design, but requires some special assembly.
EMUL16/300–PC User Guide
POD–376
•
A 10-wire ribbon cable (BERG connector) designed to allow the pod board to connect to the target board. The cable and connector can reach into small places and can connect the emulator to the target when geometry would prohibit using any of the previously mentioned adapters. The disadvantage of using the BERG connector is that it does not pass any of the signals needed by Shadow RAM and the trace board. These two emulator features will not operate when the BERG connector is used.
68376 Configuration Requirements
Each MCU is very configurable. Nearly every pin that carries a control signal can be configured to carry general-purpose input/output signals instead. However, the emulator needs certain control signals to do the job. The /BKPT/DSCLK line must not be forced either high or low. Instead, a
10-k Ohm pull-up resistor will keep the CPU from accidentally entering BDM.
ISO-160 can be used to isolate the /BKPT (or any other) signal on the target from the pod. This may be simpler than modifying the target board.
Note
To isolate the controller from the target, ISO-160 must come between the target hardware and the controller. This makes the ISO-160 less useful when used with the QFP132CLIP adapter.
© ICE Technology
181
EPC BDM Pods
Overview
The ECP version of the emulator consists of a printer port adapter plug with cable, a power supply adapter, and pod with a short ribbon cable ending in a BERG (BDM) connector. The printer port connection is via a pass-through connector, permitting normal printer operation in conjunction with the emulator. The connection is transparent to the printer (the emulator and printer do not interfere with each other during normal operation, and both may remain connected at all times). The power adapter is required to supply power to the pod.
The BERG (BDM) connector is compatible with all of these configurations. When attaching a
BERG to an 8-pin BERG connector, insert header pins 1 through 8 into the plug pin sockets 3 through 10, leaving pin sockets 1 and 2 unused. These unused pins are only needed if there is
RAM controlled by /CSBOOT, and then only if the reset vector values fetched at the end of the reset cycle point to nonexistent memory.
8-Pin and 10-Pin BERG Connector Definitions
Function Pin # Pin # Function
DS
GND
GND
RESET
5
7
1
3
6
8
2
4
BERR
BKPT/DSCLK
FREEZE
IFETCH/DSI
VDD 9 10
CPU32 BERG Connector
IPIPE/DSO
Function Pin # Pin # Function
GND
GND
RESET
VDD
5
7
1
3
6
8
2
4
BKPT/DSCLK
FREEZE
IFETCH/DSI
IPIPE0/DSO
Early CPU32 BERG Connector
Function Pin # Pin # Function
DS
GND
GND
RESET
1
3
5
7
VDD 9 10
CPU16 BERG Connector
6
8
2
4
BERR
BKPT/DSCLK
FREEZE
IPIPE1/DSI
IPIPE0/DSO
16R1/R3 EPC
There must be only one power source to the system. If the target has its own power supply, external power supply should not be connected to the power adapter, and vice versa. External power supply, if needed, must provide 5V +/- 5%(200mA + current required by the target). If a low voltage target is used, it must have its own power supply. The center of the optional power supply jack is the positive pole and the outer part is the negative pole.
EMUL16/300–PC User Guide
The EPC system consists of an Emulator Parallel Cable (EPC), an EPC pod, a +5V power supply, software and the EMUL16/300 Users Manual. The PC communicates with the pod using the EPC.
The EPC cable is connected to the PC parallel port (usually the printer port). The other end of the cable with the female DB-25 plug is connected to the EPC pod. The other end of the pod is connected to the BERG connector on the target.
It is possible to use the EPC for low voltage battery powered targets, with extremely low power consumption without consuming any power from the battery. In that case, a special version of the EPC pod is required. For details, contact you local representative (“Sales Offices, Representatives and Distributors” list at the end of this guide) or contact Nohau Technical Support at [email protected].
The EPC pod does not support a trace buffer (execution history), data write Shadow RAM, emulation memory or dynamic data exchange.
EPC BDM LED Indicators
Name
D1
D2
D3
Function
RESET
FREEZE
RUN
Description
A red LED that lights when the reset to the processor is asserted.
A yellow LED that indicates output from the chip is not running or in
BDM mode.
A green LED that indicates the processor is running and memory cycle is in progress. This LED will stay on as this type of pod is always in BDM mode when running.
Installing the EPC BDM
1.
Turn off the power to the computer.
2.
Disconnect the printer cable from the parallel port connector if present.
3.
Connect the EPC adapter (double ended DB-25) connector to the computer parallel port
(DB-25 male end).
4.
Reconnect the printer cable removed in Step 2 to the EPC adapter (DB-25 female end of the connector in Step 3).
5.
Connect the EPC pod to the other end of the EPC cable (single DB-25 female connector).
6.
Connect the power supply to the EPC pod.
7.
Connect the power supply to the power strip. We recommend that the power supply be plugged into the same power strip as the computer so that they power on and off at the same time.
8.
Follow the instructions below for connecting the pod to your target.
© ICE Technology
183
Connecting the Pod to the Target Board
The pod consists of a DB-25 connector with a short ribbon cable terminated in a BERG connector.
The BERG connector is not keyed, use caution when connecting to your target. Wire 1 on the ribbon cable is the red wire. The socket for pin 1 on the plug is on the same side of the connector as wire 1 (the red wire) on the ribbon cable.
If the header on the target is an older design and has 8 pins, insert the header pins 1 through 8 into plug sockets 3 through 10 (leave pins 1 and 2 uncovered). Pins 1 and 2 are only needed if there is
RAM controlled by /CSBOOT, and then only if the reset vector values fetched at the end of the reset cycle point to nonexistent memory.
If the target header has 10 pins, align the emulator plug so all pins have a socket that they are inserted into. Make sure that pin 1 is inserted into socket 1 (pin 1 on the board usually has a white area on the corner next to it). The easiest way to do this is to attach the BERG connector to the board with the red wire as close as possible to the white corner of the BERG pins.
The yellow wire from the pod is for connection to the CLKOUT signal from your target if available.
Target Boards
In support of the pods, we make small, simple target boards for most of the supported controllers. These boards are inexpensive but have all the basic components to make useful for application prototyping or software development. All target boards have the controller, 32K of RAM, an oscillator, a BERG connector, and a prototyping or wire wrap area. All can accommodate larger
RAM if desired.
The 3-inch by 5-inch wire wrap area is for experiments and prototyping. The wire wrap area has a
5-volt (Vcc) bus along one side and a ground (GND) bus along the other. All boards have a Vcc plane and a ground plane (even in the wire wrap area) which provides excellent noise suppression.
The pads for the RAM chip are designed to accommodate higher capacity chips (you must supply your own chips). The pads are not wired for 512K-by-8 chips, but 128K-by-8 chips can be soldered directly into place. If you wish to use the 512K-by-8 chips, please call Nohau Technical
Support for assistance in adding a wire to the target board.
EMUL16/300–PC User Guide
Starting the Emulator and
Seehau Software
Figure 57. Seehau for EMUL16/300–PC
Verify the Full Function pod is configured for stand-alone mode (not connected to the target board.) Make sure the power jumper is inserted and the crystal jumpers are set for internal crystal.
Starting Seehau
To start the Seehau software, do the following:
1.
Double-click the Seehau16 icon on your desktop. (See Step 3 in the “Installing the Software” section in Chapter 2, “Installing and Configuring the Seehau Software” in this guide.) Seehau will load its configuration from the Startup.bas file. Notice that
Macro
is displayed in red at the bottom of the main window while Startup.bas is running.
2.
When the software startup is complete, you can position and resize the main window to your preference. Figure 57 shows how the Seehau software will appear when first started up.
3.
To open new windows, go to the
New
menu and click a window type.
For further information, refer to Appendix D, “Troubleshooting Tips” in this guide, contact Nohau
Technical Support as [email protected]
, or refer to the “Sales Offices, Representatives and
Distributors” list at the end of this guide.
© ICE Technology
185
EMUL16/300–PC User Guide
Time Program Examples
Figure 58. Loading Code
We provide a small example program called Time.abs that is found in the
C:\Nohau\Seehau16\Examples\Examples\Timer default subdirectory.
Start the emulator following the instructions in Chapter 6, “Starting the Emulator and Seehau
Software” in this guide.
1.
Resize the windows on your screen, but do not add the Trace or Watch windows.
2.
From the
Seehau File
menu, click
Load Code
. The
Open
dialog box appears.
3.
Four folders will appear. Double click the Examples folder. You will have a folder and a file appear (Figure 58).
4.
Highlight the Time.abs file for your pod and click
Open
. You can also double-click the file name and it will load into the emulator.
5.
Click the Source Step Into button on the toolbar and the program will run to the start of MAIN.
Notice that the Time.c tab appears on the Source window. You can easily switch between assembly and source language by clicking these tabs.
6.
Right-click in the Source window with the Time.c tab selected. Select
Mixed Mode
and select
At PC Line
. You will see the assembly code mixed in with the appropriate source lines (Figure
59). Notice the program counter indicated by the blue blocks at the start of MAIN. You can see the program counter value in the Register window.
© ICE Technology
187
Figure 59. Time Program
7.
Remove Mixed Mode from the Source window so only the C source code remains. To remove
Mixed Mode, right-click in the Source window and select
Mixed Mode
.
8.
Click the Source Step Into button repeatedly and the program counter will advance through the
CPU initialization code. Where there is assembly code only, the steps are done at source level.
9.
Click the Assembly Step Into button repeatedly and the program counter will advance through the assembly level code.
Note
You might see several program counter indicators (shown as blue rectangles) in the left column of the Source window. The program counter indicators provide line number information supplied by compiler manufacturers. The indicators show that several source lines have the same address. To verify this, go to the
View menu and click
Symbol Browser.
Watching Data in Real-Time with Shadow RAM
The EMUL16/300–PC emulator board contains either 64K, 256K, or 1 MB of Shadow RAM used to duplicate the contents of the target RAM. Every time the CPU generates a WRITE bus cycle, the pod captures the address/data pair and the emulator board writes that data to the same address in Shadow RAM. The Seehau application can simultaneously read Shadow RAM. This allows the software to display values written by the application without interrupting emulation.
EMUL16/300–PC User Guide
Figure 60. Data Window
The Shadow RAM feature allows you to view memory contents in real-time without stealing cycles from the emulation CPU. The following example assumes you have completed all the steps so far in this guide and that Time.abs is still loaded in your emulator.
To open a Data window, click the Data button or from the
New
menu, click
Data
. The Data window appears (Figure 60).
1.
The data will be in hexadecimal as shown. Resize the window as needed.
2.
In the address box at the bottom, highlight the existing address and type:
&timer
Then press
ENTER
.
Note
From the Data window, the number in red in the top left corner indicates the address of the currently selected location in this window.
3.
Right-click the Data window. The
Data Window
menu appears (Figure 61).
4.
To change the Data Display mode, right-click the Data window and select
Display As
. The
Format
dialog box appears (Figure 62).
5.
Select an appropriate mode (for example,
ASCII
). Select
OK
.
6.
Click the GO button or press the F9 key. The program Time.c will run. The time will be updated in real-time. No CPU cycles are stolen to accomplish this.
© ICE Technology
189
Figure 61. Data Window Menu
Figure 62. Format Dialog Box
Saving the Hardware Configuration
1.
To save the emulator configuration, click the
Configurations
menu and select
Emulator
.
2.
From the
Marco
menu, click
Start Recording
. The Configuration window will disappear.
3.
Reopen the Configuration window from the appropriate menu item. Click
Apply
. The settings associated with this window will be saved.
4.
From the
Macro
menu, select
Stop Recording
.
5.
The
Save Settings
dialog box opens where you can choose the filename for the newly created macro. Enter a filename of your choosing and click
Save
.
The macro is ready to use and will be accurately recreate your emulator configuration settings.
Configuration settings are also saved when general Seehau settings are saved.
EMUL16/300–PC User Guide
Shutting Down Seehau Software
Figure 63. Save Settings Dialog Box
To shut down Seehau, do the following:
1.
Click the X (Close button) at the far upper right corner of the title bar or from the
File
menu, select
Exit
. The
Save Settings
dialog box opens (Figure 63).
2.
To save your settings, in the
File name
text box enter Startup.bas or another macro file name.
3.
Select the
Use as Default
option in the lower right of the dialog box. When Seehau starts, it will use Startup.bas or the macro file you entered in the
File name
text box.
4.
Under
Macro Save Type
in the lower portion of the dialog box, select
Config
,
Buttons
, or
Windows
. The items you select will be saved in the macro indicated by the file name.
5.
Select
Save
and exit from Seehau. (If you do not want to save your settings, select
No Save
.)
© ICE Technology
191
Important Software and Hardware Notes
Do not simply delete the Seehau files or folders. Always use Uninstall to unload any existing version of Seehau from your computer. Do not install Seehau on top of an existing copy! Save your personal macros and source files into another directory. Make sure you delete the old copy of
Startup.bas and other remaining files by verifying that the Seehau software was deleted.
To use
Uninstall
, do the following:
1.
In My Computer, double-click
Control Panel
.
2.
Double-click the Add/Remove Programs icon.
3.
The Install/Uninstall window will open.
4.
Scroll through the list of programs and highlight
Seehau16
.
5.
Click
Add/Remove
to start the Uninstall Shield for removing the software.
Note
You may get a message asking if you want to delete certain files. Some files can be deleted without affecting other software. If you are uncertain whether deleting these files will affect other software reply
No!
EMUL16/300–PC User Guide
Introduction to Tracing
A trace history is a time ordered recording of bus cycles. Events that do not affect the CPU external bus, such as testing a CPU internal data register, are not recorded. Events that do affect the bus will get recorded if the recorder is turned on and set up to record those types of events.
Tracing emulators record bus events and not actual instruction execution. Seehau’s trace board for
EMUL16/300–PC includes pipeline decoding and marks opcode fetches that are not executed.
Consequently, the display software can show the trace records as though the pipeline did not exist.
The software can also display the uncorrected bus cycles just as they were recorded.
Starting Trace
Tracing starts automatically every time emulation starts. Executing a single-step turns on the trace recording only during that step.
To stop recording, click the red-colored Stop Trace button.
Until emulation starts, there will be nothing to record. Once trace recording has started, the Start
Trace button changes to a red-colored Stop Trace button and allows you to stop recording when clicked. The trace buffer continues to collect records until recording stops.
Recording is stopped by one of the following methods:
•
A trigger
•
By stopping emulation
•
By clicking the Stop Trace button.
One of the trace controls is the filter found in the
Filter
field of the
Trace Setup
dialog box. The filter allows you to set up conditions for recording. When bus cycles are being recorded, every cycle is examined to see it meets the conditions in the
Filter
field. Bus cycles that are not the correct type or that fall outside the address range(s) specified in the Filter field will not be added to the buffer.
The trace buffer is a ring buffer that continues to collect new records and replace old records until recording is stopped. When tracing starts, the buffer is cleared. After recording a single step, the trace buffer contains only the records for that one instruction or source line. As long as trace recording continues, records are added to the buffer.
© ICE Technology
193
Figure 64. Trace Window (Non-compressed)
Note
All buffers are limited in size. If left recording too long the ring or circular buffer will eventually fill. Once the buffer is full, the newest records begin to overwrite the oldest records.
Triggers
The trace board use triggers to stop trace buffer recording and can be configured to stop emulation.
A trigger occurs when certain conditions on the bus are met. For example, you might set up to trigger when the instruction at 4FEH has been fetched for the fourth time. These are useful if you are executing out of ROM. For additional information about how to create triggers, refer to Chapter 10, “Trace Memory Example” in this guide.
Trace Window
The contents of the trace buffer are displayed in the Trace window (Figure 64). To open a Trace window, use the TR button on the toolbar.
The
Trace
menu controls most of the Trace window features.
EMUL16/300–PC User Guide
Figure 65. Trace Window (Compressed)
Description of Trace Window Columns
Frame
is on the far left of the window. Frame 0 always represents the trigger frame. If there is no trigger, frame 0 is the last frame in the buffer.
•
Address
displays the address of the bus cycle in hexadecimal notation.
•
Relative Time
displays the amount of time it takes for one bus cycle.
•
Misc.
is all the other information that is gathered that may prove to be useful.
•
Pod Pins
shows the locations and positions of the pins on the board.
•
Data
displays bytes of data from the displayed bus cycle.
•
Status
displays the status of the W1 and W2 trace board jumpers.
•
Instr.
displays the instruction disassembly.
•
Symbol
displays any symbolic label that refers to a specific address.
© ICE Technology
195
Accessing the Emulator and Trace Setup Windows
To access the
Emulator Configuration
dialog box, go to the
Config
menu and select
Emulator
. The
Emulator Configuration
dialog box appears (Figure 27).
To setup the trace configuration, go to the
Config
menu and select
Trace
. The
Trace Configuration
dialog box appears (Figure 36).
Trace Triggering and Trace Filtering
A trigger is an event that can be set up to occur each time that the trace recording is started. This allows you to set conditions on the controller bus. When this condition is met, a trigger will occur.
Each machine cycle of the 68HC16xx/(9)16xx microprocessors presents a different address, data, and port information to the trace board. The information from one such cycle is called a frame.
Triggers can start and stop trace buffer recording. For information on how to create triggers, see
Chapter 9, “Introduction to Tracing.”
Technically, there are three different triggering types:
•
Electrical—Input and output of oscilloscopes.
•
An event recognized by the trace logic as contrasted to filtering.
•
An event that is recognized by the trace logic that is part of a chain of events that can ultimately stop the trace recording. This is the most widely used aspect of triggering that we use with the Seehau software.
There are two ways to set up triggers and filtering: Normal mode and Window mode.
In Normal mode, more control is given to triggers. A trigger in Normal mode either stops recording, starts recording, or starts the countdown until recording will be stopped. Frame 0 is always the frame where the trigger occurs.
In Window mode you get a different kind of control over what cycles are recorded and can selectively record program threads in a way that record filtering cannot. Once recording has started, the conditions in the filter decide whether to record a bus cycle or not. More control is given to controlling which bus cycles are recorded.
Trace filtering is a set of conditions that determine which frames are allowed into the trace buffer.
EMUL16/300–PC User Guide
Trace Memory Example
This chapter describes the trace memory including how to set up a trigger to start and stop the trace memory and how to stop program execution. However, do not change any settings in the software. You will need your present settings to continue.
Note
You must have the optional trace board to complete this chapter.
The Time Program example in Chapter 7, “Time Program Examples” showed the Shadow RAM providing memory contents in real-time. Recall there is no cycle stealing from the emulation controller. While the Time.c program has been running, the trace memory has been operating in the background in real-time.
Make sure the emulator is running the Time.c program. The two boxes in the bottom left-hand corner of the main window will contain
Running
. The Go and Trace buttons on the toolbar are red in color.
1.
To open a Trace window, click the
New Trace
button, or from the
New
menu, click
Trace
.
2.
Position the windows so you have the Trace and Data windows visible. The Trace window can have some data recorded or be empty. This depends on previous emulation runs.
The Trace window is empty as the trace buffer is being filled. It is not possible to view the trace contents at this time. The status bar at the bottom of the Trace window shows that the trace memory is already full and how many trigger events have occurred. The trigger event count is 0.
Stop the trace by selecting the Stop Trace button. The Trace window now contains recorded controller cycles.
You can add some columns by right clicking the Trace window and selecting them or by selecting
All Options
(Figure 66).
When you select
All Options
, the
Trace Options Summary
menu appears (Figure 67). You can select or clear any or all options and make a single update.
Registers and addressing modes are all displayed. The Trace window has the ability to display C source code with the resulting assembly code.
Start the trace memory recording by selecting the Start Trace button. The time displayed in the
Data window does not stop or slow. The trace memory is a circular buffer and is being continuously overwritten with new values. This will continue until the recording is stopped manually or by a trigger event.
© ICE Technology
197
Figure 66. Local Trace Menu
Figure 67. Trace Options Summary Menu
EMUL16/300–PC User Guide
Figure 68. Trace Display Window
The trace can record various bus cycles (Figure 68). Right-click the Trace window or from the
Config
menu, click
Trace
. Refer to Chapter 4, “Installing and Configuring the Trace Board” in this guide.
© ICE Technology
199
EMUL16/300–PC User Guide
Macro Examples
Macro commands control all interactions with the emulator. The graphical user interface uses the same commands as those that you type in a macro file. This ensures you can control all emulator functions from your script or from the command line.
Seehau Commands
Seehau commands allow you to control the Seehau user interface in two ways:
•
The command line, or
•
By typing in a sequence of commands in a macro file.
You can run the macro file by clicking the
Macro
menu and selecting
Run
.
When Seehau starts up, it will look for the file Startup.bas. This file is a script file containing
Seehau macro commands. When this macro executes, the commands in the file will be processed in sequential order. The sequence of commands sets up the emulator hardware and configures the graphical user interface.
For an introduction to what a macro file looks like, from the
Macro
menu, click
Open
. The
Open
dialog box appears. Now click the
Captured.bas
file. You can now see what a typical macro looks like.
The Seehau commands are an extension to the Seehau Basic scripting language. This Seehau language is a largely compatible subset of Microsoft’s Visual Basic language. If you are familiar with the Visual Basic language, you should be able to put a script together using the same logic. If you have trouble with the Seehau macro language, you can select
Help
in the
Macro
dialog box for additional information. The scripting language allows you to write basic code using IF, WHILE, and
FOR statements.
Description of the Macro Window
The Macro window gives you full visibility of the macrocode. As shown in Figure 69, the Macro window provides you with a full development and debug environment. In the second row of the toolbar you can see the Step Into and Step Over buttons. As you single-step through your code, selecting the
Debug
menu and clicking
Quick Watch
can inspect variables.
© ICE Technology
201
Figure 69. Seehau Macro Editor
Macro Construction
To create a macro, click the
Macro
menu and select
Start Recording
. You can now perform tasks in the user interface, for example, clicking a Single Step button. This action is now recorded in the macro as follows:
Run StepInto
Select the
Macro
menu and click
Stop Recording
. The
File Save
dialog box appears and prompts you for the macro file name of the macro you just recorded.
You can type in the macro commands with any editor in a file ending with an extension .bas. Any such macro can then be executed by clicking the
Macro
menu and selecting
Run
. You can also type the macro name in the command line text box and press
ENTER
.
Macro Execution
When Seehau starts up, it executes the Startup.bas file. You can specify other macros that will be executed at emulator events such as starting emulation, stopping emulation, starting trace, or stopping trace. Specify these macro names from the
Config
menu. Click
Environment
, and the
Environment Configuration
dialog box appears. Then click the
Macro
tab (Figure 70).
EMUL16/300–PC User Guide
Figure 70. Macro Menu
Individual commands execute as you enter them on the Seehau command line and press
ENTER
.
Figure 70 illustrates the command line Edit field at the bottom of the main window. Click the down arrow by the Edit field to see a command line history. By double-clicking a command in the history list, the command appears on the command line. You can view the result of the individual command that executed in the status bar located at the bottom of the main window (Figure 70).
Command Format
Commands are of the form
groupname_commandname fields. The commands are in ASCII text.
Commands are written in upper and lower case letters for easy readability, but Seehau is case insensitive. An example of a command is: Cfg_ResetDelay “100.” This command tells the emulator to use a 100 ms delay after reset.
Command Examples
The following is an example of directly entering a command:
In the dialog entry box type: Wnd_Height “300” and press
RETURN
. The open window or the one most recently selected by a macro command will have its height adjusted to 300 pixels. To modify the main window, you might have to type in this command first:
Wnd_Select
.
This example uses the EMUL16/300 emulator for the MCS 16/300 family. Enter the appropriate fields for your system as indicated in the caption on the main window.
© ICE Technology
203
Figure 71. Save Settings Dialog Box
If you enter these commands in the file Startup.bas, they will be executed every time you start up
Seehau. You can also save your own macro with the Seehau configuration setup. You are given this opportunity when you exit Seehau. Figure 71 shows the options you can select:
•
Config
: Saves hardware configuration items such as breakpoints and triggers.
•
Buttons
: Saves the position and type of buttons displayed on the main window.
•
Windows
: Determines the position and size of the windows displayed.
•
Use as Default
: The specified file will be the one used by Seehau on startup. The file
Startup.bas is the initial default. If Startup.bas is not present, Seehau will create one from a composite of existing .bas files. You can specify any macro file name as the default
Startup.bas.
Command Groups
Macro commands are divided into 12 groups. Each group represents one basic function. The group is specified in the first part of the command name as in
Brkpt_ClrBrkPoints. Seehau Help files contain detailed information of all the macro commands. Consult Seehau Help for details on the fields associated with the commands and for more examples.
BrkPT: These commands are associated with breakpoints. For example, Brkpt_ClrBrkPoints clears all the breakpoints.
EMUL16/300–PC User Guide
Cfg: General emulator configuration settings. For example, Cfg_Map maps emulator memory to the target.
Data: Operations on data such as move, search and set. For example, Data_Move moves data from a source to a destination address.
File: Operations on files such as symbol table and user code loads into the emulator or target memory. For example, File_LdCode filename loads the specified user object code into the emulator.
Hlp: Help commands. Displays Help on various subjects from the Seehau Help file.
Src: Program commands. These refer to the user code in the Source window. For example,
Src_SelectModule selects the source module to be displayed in the Source window.
Reg: CPU register commands are used to inform Seehau of the name, size, and address of the CPU registers. These commands are used in operating Seehau and to display registers in the Register window. For example, Reg_Size “16” informs Seehau the previously selected register is 16 bits wide.
Run: Commands used to start the emulation CPU. Commands include Run_Break, Run_Stepover, and Run_GoForever.
Src: Used to access commands regarding the source code.
Trace: Commands that control the hardware trace functions. For example, Trace_TraceBegin is used to start the trace.
View: Commands that control the Inspect, Evaluate and Watch windows. For example,
View_Evaluate passes the expression to Seehau it is to evaluate.
Wnd: Windows commands used to control aspects of the windows including position and size, button definition and show/hide windows.
Quick Saving of the Hardware Configuration
Due to the instability of PCs and operating systems, it is important to take precautions after setting up your hardware and software. Rather than wait until you have finished doing your tests on the target system you may want to save the emulator settings to avoid unnecessary repetition in case of system failure. The quick and easy way to avoid this problem is to follow the procedure below:
1.
To save the emulator configuration, click the
Config
option and select
Environment
.
2.
From the
Environment
menu (Figure 72), check the
Use Startup Dialog
under the
Preferences
tab. This check box will be found under the
Miscellaneous
section.
© ICE Technology
205
Figure 72. Environment Configuration Menu
3.
Select
Apply
or
OK
. The
Environment Configuration
dialog box will close.
4.
Exit from the Seehau software. The
Save Settings
dialog box opens where you can choose the filename for the newly created macro (Figure 71). Enter a filename of your choosing and click
Save
.
The macro is ready to use and will accurately recreate your emulator configuration settings.
Configuration settings are also saved when general Seehau settings are saved.
Creating New Buttons
Buttons can be created and deleted on the icon bar in Seehau’s main window. You can create a button that is attached to a macro. The icons are Windows bitmaps (*.bmp) and created with virtually any graphics program.
To create a new button, do the following:
1.
Open the
Customize Buttons
dialog box (Figure 73) from Seehau’s main window. Right-click the toolbar, then click
Buttons
. Or from the
Config
menu, select
Buttons
.
2.
From the
Customize Buttons
dialog box, open the bitmap browser by selecting the button to the right of the
Bitmap
text field. The
Select Glyph
dialog box appears, displaying the contents of the bitmap directory (Figure 74).
3.
Highlight the file Button W.bmp. Select
Open
and the image appears on the right of the dialog box (Figure 74).
EMUL16/300–PC User Guide
4.
In the
Hint
text field, type in a sentence as shown in the example (Figure 75). Then position the cursor on the W icon. The sentence appears in a yellow box.
5.
Under
Command Type
(Figure 75), select
Macro
. The
Command Type
options specify what action will be associated with the new button.
6.
In the
Cmnd
text field, select the file Startup.bas. Use the down arrow to select the Macro directory or use the browse button to navigate to the file.
7.
Drag the W icon to the Seehau main window right of the Exit icon. Confirm that if you place your cursor on the W icon, the hint you typed appears.
8.
Click the W icon in the Seehau main window and the Startup.bas sequence will execute.
Figure 73. Customize Buttons Dialog Box
Figure 74. Select Glyph Dialog Box
© ICE Technology
207
Figure 75. Button Highlight
Note
To remove a button, drag the button back to the Customize Buttons window.
EMUL16/300–PC User Guide
Appendix A. POD–16Y1
The setup to the Nohau POD–16Y1 differs from most Nohau 68HC16 pods in several ways. This section contains information on these differences and a step-by-step procedure for running the timer example.
You should have the Motorola
MC68HC916Y1 Technical Summary for clarity in case you have problems running these pods. In this guide the “POD–16Y1” section in Chapter 5, “Installing the
Pod Boards” applies to POD–16Y1 and POD–(9)16Y1 except as noted.
These pods are identified as POD–16Y1 in black printing on a small white label on the largest connector, and by POD–16Y1 printed in white at the edge of the printed circuit board.
Note
The hardware details of the 68HC16Y1 and the 68HC(9)16Y1 MCUs are not identical! Read the Motorola documentation carefully!
System Clock
A 68HC(9)16Y1 chip with a 4.194-MHz crystal and a reset value for SYNCR (address $YFFA04) of 3000 hex produces an 8.3-MHz system clock frequency. A reset value of 7000 hex produces a
16.7-MHz system clock frequency. The behavior of the W, X, and Y fields in SYNCR may not be reconcilable with some versions of the Motorola
68HC16Y1/916Y1 User’s Manual. The Clock
Control Multipliers generally do not agree with the Motorola User’s Manual. The manual also indicates that the FASTREF pin must be pulled up (default) to Vcc for a 4.194-MHz crystal and grounded for a 32.768-kHz crystal.
Timer Example
These procedures should work with all the variations of the 16Y family as indicated above.
If you have a full-function emulator at address 200H, you should be able to select that project, load
Time.abs, make the patches, select GO and run the timer example.
1.
Ensure that there is a jumper inserted connecting BNK0 (pin 2, close to outer edge of the board) to /CS0 (pin one (1), away from the outer edge of the board opposite BNK0). Make sure that the 16BIT jumper 5 position is also inserted. (This step is checking that /CSBOOT will select pod memory.)
2.
From the main menu click
Config
,
Emulator
. The
Emulator Configuration
menu should appear with the
Hdw Config
tab already selected (Figure 76).
3.
Click the
Misc Setup
tab at the top of the dialog box (Figure 77).
© ICE Technology
209
4.
Check the
Program Counter
dialog box and enter EC for a value.
5.
Check the
Stack Pointer
dialog box and enter 6000 for a value.
6.
If the
Reset chip after load file
is not already checked do so at this time.
7.
Click the
MCU
tab at the top of the dialog box. The
MCU
dialog box will appear. (Figure 78).
Figure 76. Emulator Hardware Configuration
Figure 77. Miscellaneous Emulator Configuration Dialog Box
EMUL16/300–PC User Guide
Figure 78. Emulator MCU Configuration
If the flash memories are disabled, they will still set the Stack Pointer and Program Counter on reset if they are set to do so. We need to force the values needed by the timer program. This program puts the values it expects in locations 0 through 7. Other 68HC16 family members would use locations as reset vectors. We should be able to just transcribe the proper values into the
Miscellaneous Setup
dialog box, however, the stack wraps around the bottom of memory, so change the stack to 6000. This is in the middle of emulator memory and unlikely to cause problems. (This is a cheat that you should not plan to use in your final system.) We are using the program memory, which should eventually be ROM of some kind, as writeable data memory.
8.
Click the
MCU
tab at the top of the dialog box (Figure 78).
9.
The
MCU
dialog box has two distinct areas: The top area has a graphic that has what appear to be two boards connected by a black ribbon. Move your cursor over the left part labeled
Your
Target – MCU being Emulated
and select it. A colored box will move to the left and a secondary dialog box appears with four option buttons (Figure 79). This area represents the chip that the emulator is pretending to be.
Figure 79. Emulator Target Configuration
© ICE Technology
211
Figure 80. Emulator MCU Values
10.
Select
Fully Expanded
to set up the pod configuration.
11.
Move your cursor over the graphic at the top labeled
Nohau Emulator – MCU
and select it.
The colored box moves back to the right and the initial dialog box reappears (Figure 80 and
Figure 81). Some of the text in this box is bold and some text is faded. The faded text is not selectable. The column labeled
Default Function (Pin Left High)
is initially colored green.
Move your cursor over the last column
Alternate Function (Pin Pulled Low)
and select the following boxes if not already selected (boxes already selected will be green in color).
Get the data lines set to the proper values on reset. Because the pod has a port replacement unit on it, we want to have the full 16-bit memory bus enabled to use pod memory and allow tracing. The flash memories need to be disabled to prevent them from intruding into the emulator memory address space. There is no guarantee what values they will be programmed with.
Figure 81. Emulator MCU Values
EMUL16/300–PC User Guide
The following are alternate function settings for the MCU values:
–
Bit 1 – Expanded Mode - 16 Bit
–
Bit 10 – Pin Usage - /CSE /CSM.
–
Bit 14 – ROM – Disabled (For 68HC16Y1 only)
–
Bit 14 – 48K EEPROM – Disabled (For 68HC(9)16Y1 only)
12.
Move your cursor to the
OK
button and select it. The emulator and trace boards will load.
The next three steps are part of the timer program.
13.
Open a Trace window if you have a trace board.
14.
Select
File
,
Load Code
after the Seehau software is configured and running.
15.
Select the file Time.abs (C://Nohau/Seehau/Examples/Examples/Timer/Time.abs). Either open the file or double-click the file to run it.
Patch the program initialization code to set the clock synthesizer control register (SYNCR) to a value that works for this chip.
16.
Open a program window (found at the top of the Source window as a red A (go to address)), set the address to 100. When the line is found:
a. Right-click the Source_1 window.
b. Select
Edit line
.
c. Change
LDD #$7F01
to
LDD #$7001
.
Patch the program initialization code to put the TPU RAM into low power stop so that it does not interfere with the demo.
17.
Using the down arrow key move down to address (line) 120 and change
LDD #$0000
to
LDD #$8000
.
Patch the program initialization code to avoid putting the TPU RAM into the middle of program memory space. This is not required under normal circumstances, but if there is any confusion about memory operation, the TPU RAM sitting in the middle of memory confuses the debugging process.
18.
Using the down arrow key again move down to address (line) 10A and change
LDX #$FB00
to
JMP 126
.
The rest of the steps are the normal running of the timer demo program.
19.
Open a Shadow Memory window (the data entry area at the bottom of the Data window), input
Status
and press
ENTER
. Right-click the Data window and select
Display as
. Select
ASCII
.
20.
Select
GO
.
© ICE Technology
213
EMUL16/300–PC User Guide
Appendix B. POD–16Y3
The setup to the Nohau POD–16Y3 differs from most Nohau 68HC16 pods in several ways. This section contains information on these differences and a step-by-step procedure for running the timer example.
You should have the Motorola
MC68HC916Y3 Technical Summary for clarity in case you have problems running this pod. In this guide the “POD–16Y3” section in Chapter 5, “Installing the Pod
Boards” applies to POD–16Y3 and POD–(9)16Y3 except as noted.
Note
The hardware details of the 68HC16Y3 and the 68HC(9)16Y3
are not identical!
Read the Motorola documentation carefully.
System Clock
A 68HC(9)16Y3 chip with a 4.194-MHz crystal and a reset value for SYNCR (address $YFFA04) of 3000 hex produces an 8.3-MHz system clock frequency. A reset value of 7000 hex produces a
16.7-MHz system clock frequency. The behavior of the W, X, and Y fields in SYNCR may not be reconcilable with some versions of the Motorola User’s Manual. The manual also says that the
FASTREF pin must be pulled up (default) to Vcc for a 4.194-MHz crystal and grounded for a
32.768-kHz crystal.
Timer Example
If you have a full-function emulator at address 200H, you should be able to select
68HC(9)16Y3/16Y3, load Time.abs, make the patches, click
GO
and run the timer example.
1.
Ensure that there is a jumper inserted connecting BNK0 (pin 2, close to outer edge of the board) to /CS0 (pin one (1), away from the outer edge of the board opposite BNK0). Make sure that the 16BIT jumper 5 position is also in. (This step is checking that /CSBOOT will select pod memory.)
2.
From the main menu click
Config
,
Emulator
. The
Emulator Configuration
menu should appear with the
Hdw Config
tab already selected (Figure 82).
3.
Click the
Misc Setup
tab at the top of the dialog box (Figure 83).
4.
Check the
Program Counter
dialog box and enter the value
EC
.
5.
Check the
Stack Pointer
dialog box and enter the value
6000
.
6.
If the
Reset chip after load file
is not already checked do so at this time.
© ICE Technology
215
Figure 82. Emulator Hardware Configuration
Figure 83. Miscellaneous Emulator Configuration Dialog Box
If the flash memories are disabled, they will still set the Stack Pointer and Program Counter on reset if they are set to do so. We need to force the values needed by the timer program. This program puts the values it expects in locations 0 through 7. Other 68HC16 family members would use locations as reset vectors. We should be able to just transcribe the proper values into the
Miscellaneous Setup
dialog box, however, the stack wraps around the bottom of memory, so change the stack to 6000. This is in the middle of emulator memory and unlikely to cause problems. (This is a cheat that you should not plan to use in your final system.) We are using the program memory, which should eventually be ROM of some kind, as writeable data memory.
EMUL16/300–PC User Guide
Figure 84. Emulator MCU Configuration
7.
Click the
MCU
tab at the top of the dialog box (Figure 84).
8.
The
MCU
dialog box has two distinct areas: The top area has a graphic that has what appear to be two boards connected by a black ribbon. Move your cursor over the left part labeled
Your
Target – MCU being Emulated
and click it. A colored box will move to the left and a secondary dialog box appears with four option buttons (Figure 85). This area represents the chip that the emulator is pretending to be.
9.
Select
Fully Expanded
to set up the pod configuration.
Figure 85. Emulator Target Configuration
© ICE Technology
217
Figure 86. Emulator MCU Values
10.
Move your cursor over the graphic at the top labeled
Nohau Emulator – MCU
and click it.
The colored box moves back to the right and the initial dialog box reappears (Figure 86 and
Figure 87). Some of the text in this box is bold and some faded. The faded text is not selectable. The column labeled
Default Function (Pin Left High)
is initially colored green. Move your cursor over the last column
Alternate Function (Pin Pulled Low)
and select the following boxes if not already selected (boxes already selected will be green in color).
Get the data lines set to the proper values on reset. Because the pod has a port replacement unit on it, we want to have the full 16-bit memory bus enabled to use pod memory and allow tracing. The flash memories need to be disabled to prevent them from intruding into the emulator memory address space. There is no guarantee what values they will be programmed with.
Figure 87. Emulator MCU Values
EMUL16/300–PC User Guide
The following are alternate function settings for the MCU values:
–
Bit 1 – Expanded Mode - 16 Bit
–
Bit 10 – Pin Usage - /CSE /CSM
–
Bit 12 – TPUFLASH – Disabled (68HC(9)16Y3 only)
–
Bit 12 – reserved – reserved (68HC16Y3 only)
–
Bit 14 – FLASH – Disabled (68HC(9)16Y3 only)
–
Bit 14 – ROM – Disabled (68HC16Y3 only)
11.
Move your cursor to the
OK
button and click it. The emulator and trace boards will load.
12.
Open a Trace window if you have a trace board.
13.
Select
File
,
Load Code
after the Seehau software is configured and running.
14.
Select the file Time.abs (C://Nohau/Seehau/Examples/Examples/Timer/Time.abs). Either open the file or double-click the file to run it.
Patch the program initialization code to set the clock synthesizer control register (SYNCR) to a value that works for this chip.
15.
Open a program window (found at the top of the Source window as a red A (go to address)), set the address to 100. When the line is found:
a. Right-click the Source_1 window.
b. Select
Edit line
.
c. Change
LDD #$7F01
to
LDD #$7001
.
Patch the program initialization code to put the TPU RAM into low power stop so that it does not interfere with the demo.
16.
Using the down arrow key move down to address (line) 120 and change
LDD #$0000
to
LDD#$8000
in the same manner as line 100.
The rest of the steps are the normal running of the timer demo program.
17.
Open a Shadow Memory window (the data entry area at the bottom of the Data window), input
Status
and press
ENTER
. Right-click the Data window and select
Display as
. Select
ASCII
.
18.
Select
GO
.
© ICE Technology
219
EMUL16/300–PC User Guide
Appendix C. POD–16X1
The setup to the Nohau POD–16X1 differs from most Nohau 68HC16 pods in several ways. This section contains information on these differences and a step-by-step procedure for running the timer example.
You should have the Motorola
MC68HC916X1 Technical Summary for clarity in case you have problems running this pod. In this guide the “POD–16X1” section in Chapter 5, “Installing the Pod
Boards” applies to POD–16X1 and POD–(9)16X1 except as noted.
Note
The hardware details of the 68HC16X1 and the 68HC(9)16X1
are not identical!
Read the Motorola documentation carefully!
Timer Example
If you have a full-function emulator at address 200H, you should be able to select that project, load
Time.abs, make the patches, click
GO
and run the timer example.
1.
Ensure that there is a jumper inserted connecting BNK0 (pin 2, close to outer edge of the board) to /CS0 (pin one (1), away from the outer edge of the board opposite BNK0). Make sure that the 16BIT jumper 5 position is also inserted.
/CSBOOT is not present on the 68HC(9)16X1 so we need to use another chip select for the emulator memory. Here we use /CS3, but any other available chip select could be used. The chip selects given in this example are for a 16-bit emulator memory. We also need to disable
/CSBOOT and enable /CS3 or an alternative chip select signal, if selected.
2.
From the main menu click
Config
,
Emulator
. The
Emulator Configuration
menu should appear with the
Hdw Config
tab already selected (Figure 88).
Figure 88. Emulator Hardware Configuration
© ICE Technology
221
Figure 89. Miscellaneous Emulator Configuration Dialog Box
3.
Click the
Misc Setup
tab at the top of the dialog box (Figure 89).
4.
Check the
Program Counter
dialog box and enter
EC
for a value.
5.
Check the
Stack Pointer
dialog box and enter
6000
for a value.
6.
If the
Reset chip after load file
is not already checked do so at this time.
If the flash memories are disabled, they will still set the Stack Pointer and Program Counter on reset if they are set to do so. We need to force the values needed by the timer program.
This program puts the values it expects in locations 0 through 7 where other 68HC16 family members would use them as reset vectors. We should be able to transcribe the proper values into the
Miscellaneous Setup
dialog box, however, the stack wraps around the bottom of memory, so change the stack to 6000 which is in the middle of emulator memory and unlikely to cause problems. (This is a cheat that you should not plan to use in your final system.) We are using the program memory, which should eventually be ROM of some kind, as writeable data memory.
7.
Click the
MCU
tab at the top of the dialog box (Figure 90).
8.
The
MCU
dialog box has two distinct areas: The top area has a graphic that has what appear to be two boards connected by a black ribbon. Move your cursor over the left part labeled Your
Target – MCU being Emulated
and click it. A colored box will move to the left and a secondary dialog box appears with four option buttons (Figure 91). This area represents the chip that the emulator is mimicking.
EMUL16/300–PC User Guide
Figure 90. Emulator MCU Configuration
Figure 91. Emulator Target Configuration
9.
Select
Single Chip
to set up pod configuration.
10.
Move your cursor over the graphic at the top labeled
Nohau Emulator – MCU
and click it.
The colored box moves back to the right and the initial dialog box reappears (Figure 90 and
Figure 91). Some of the text in this box is bold and some faded. The faded text is not selectable. The column labeled
Default Function (Pin Left High)
is initially colored green. Move your cursor over the last column
Alternate Function (Pin Pulled Low)
and select the following boxes if not already selected (boxes already selected will be green in color):
© ICE Technology
223
Figure 92. Emulator MCU Values Figure 93. Emulator MCU Values
The following are alternate function settings for the MCU values:
–
Bit 1 – Expanded Mode - 16 Bit
–
Bit 8 – Port E Pins - Port E
–
Bit 10 – /BGACK /BG - Enabled
–
Bit 13 – /CSM – Enabled (68HC16X1 only)
–
Bit 13 – Reserved – Reserved (68HC(9)16X1 only)
–
Bit 14 – ROM – Disabled (68HC16X1 only)
–
Bit 14 – 16k 48k Flash – Disabled (68HC(9)16X1 only)
11.
Move your cursor to the
OK
button and click it. The emulator and trace boards will load.
12.
Open a Trace window if you have a trace board.
The rest of the steps are the normal running of the timer demo program.
13.
Select
File
,
Load Code
after the Seehau software is configured and running.
14.
Select the file Time.abs (C://Nohau/Seehau/Examples/Examples/Timer/Time.abs). Either open the file or double-click the file to run it.
15.
Open a Shadow Memory window (the data entry area at the bottom of the Data window), input
Status
and press
ENTER
. Right-click the Data window and select
Display as
. Select
ASCII
.
16.
Select
GO
.
EMUL16/300–PC User Guide
Appendix D. Troubleshooting Tips
If you encounter a problem when starting or running the emulator and/or Seehau, try the following troubleshooting tips. For detailed troubleshooting instructions, refer to Appendix A, “Troubleshooting” in the
EMUL16/300–PC Windows User Guide, or contact Nohau Technical Support at [email protected]
WARNING
Always turn the power off before you plug in or unplug boards, ribbon cables, or the pod board!
•
Verify the proper pod type is selected, and jumper configurations match the default configuration. Refer to Chapter 4, “Pod Boards” in the EMUL16/300 User Guide for your specific pod type.
•
Determine if the emulator and pod operate together when not connected to the target system.
Remove the pod from the target and attempt to start the system in stand-alone mode. The emulator does not require a target. To troubleshoot in stand-alone mode, make sure the power jumper is selected for internal power and the crystal (clock) jumpers are in the pod position
(Refer to Chapter 4, “Pod Boards” of the EMUL16/300 User Guide).
•
Try another PC.
•
Reload Seehau. To reload, use the Windows Add/Remove Programs option. This ensures all files and registry entries are properly deleted.
•
To access the
Add/Remove Programs Properties
dialog box, go to the
Start
menu and point to
Settings
. Click
Control Panel
. Double-click
Add/Remove Programs
.
•
Verify there is no address conflict with the PC. If you are using the default emulator board address (200H), make sure there is no other device using 200H in your PC. If there is a conflict, refer to Chapter 3, “Installing and Configuring the Emulator Board,” and Chapter 4,
“Installing and Configuring the Trace Board” in this guide.
•
If you have a trace board and you are using the default trace board address (208H), make sure that there is no other device using 208H. If there is a conflict, refer to Chapter 4, “Installing and Configuring the Trace Board” in this guide.
•
If you have trouble printing while the printer is connected to the HSP, make sure that the HSP is powered on for the printer to receive printer port signals.
© ICE Technology
225
Before you start troubleshooting, first check the following items:
•
Are the cables connected properly?
•
Is the pod connected to the emulator board?
•
If you are using an HSP box, is the HSP power turned on?
•
Did you remove any foam that might be present on the bottom pins of the pod?
•
Did you configure Seehau correctly for your MCU and pod?
•
If the pod is not connected to your target, are the power and crystal jumpers/switches in the
INT position?
•
If the pod is connected to your target, is the target power turned on?
HSP Box
Step 1. When you start Seehau, does the HSP card LED flash?
•
Yes. Go to Step 2.
•
No. Make sure the power is on. Make sure the following are connected:
–
HSP box is connected to computer.
–
Power supply is connected to HSP.
–
Pod is connected to emulator board
If the HSP card LED is still not working, refer to the “Debugging the Parallel Port” section.
Figure 94. HSP Card LED
EMUL16/300–PC User Guide
Step 2. If your pod has a reset LED, does it flash when you start Seehau?
•
Yes. Go to Step 4.
•
No. Go to Step 3.
Step 3. Do board I/O addresses match the values in the
Seehau configuration?
If your reset LED does not flash or your pod is not equipped with a reset LED, verify that the board I/O addresses (for emulator and trace boards) match the values in the Seehau Configuration:
•
Yes. The I/O addresses match the values:
1. From the
Start menu, select Programs.
2. Select
SeehauHC16, then click Reconfig. If the board I/O addresses match the values in the Seehau configuration, go to the “Configuring Address Settings with Windows Operating
Systems” section in Chapter 2. Pay specific attention to alternate addressing.
If you still encounter problems, contact Nohau Technical Support.
•
No. The I/O addresses do not match the values:
1. From the
Start menu, select Programs.
2. Select
SeehauHC16 and click Reconfig.
3. Enter the appropriate values.
Now does the reset LED flash?
•
Yes. The reset LED flashes.
Does Seehau start?
–
Yes. Troubleshooting is complete!
–
No. Seehau does not start. Go to
Step 4.
–
No. The reset LED does not flash. Contact Nohau Technical Support.
© ICE Technology
227
Step 4. Will Seehau start if you configure for test mode after reset?
•
Yes. Refer to Chapter 5, “Installing the Pod Boards.”
•
No. Refer to Chapter 2, “Installing and Configuring the Seehau Software.” Review the
“Configuring Address Settings With Windows Operating Systems” section.
Is the problem solved?
–
Yes. Troubleshooting is complete!
–
No. Contact Nohau Technical Support.
EMUL16/300–PC User Guide
Debugging the Parallel Port
Step 1. Disconnect other devices that might be sharing this parallel port (such as printers, zip, or jazz drives, parallel CD ROM drives, or software dongle keys).
Now is it working?
•
Yes. You’re done. You might opt to purchase an additional parallel port card.
•
No. Do the following:
NT Users
Check the Nohauxx driver status by doing the following:
•
To check the status, go to the
Start
menu. Select
Control Panel
. Then double-click
Devices
.
–
If the status shows
Started
, go to
Step 2.
–
If the status shows
Stopped
, check the ParPort driver for
Started
status.
–
If the ParPort driver shows
Stopped
click
Start
.
•
Now re-check the driver status.
–
If the driver shows
Started
, try restarting Seehau.
–
If the ParPort driver still shows
Stopped
, go to NT Diagnostics:
1. From the
Start menu, select Programs.
2. Then select
Administrative Tools, and click Windows NT Diagnostics. The Windows
NT Diagnostics window opens.
3. Click the
Resources tab.
4. Click
I/O Port. Scroll down to address 378 (LPT1) and look for a device at this address.
5. From the Control Panel, double-click
Devices. Disable the device located at 378.
6. Attempt to restart Seehau. If this fails, go to
Step 2.
Windows 9x Users
Check the parallel port mode. Go to
Step 2.
Windows 2000 Users
Verify that the Nohau16 device driver is properly installed. Do the following:
1.
From the
Start
menu, select
Programs
. Select
Accessories
, then click
System Tools
.
2.
Double-click
System Information
. The System Information window opens (Figure 95).
© ICE Technology
229
Figure 95. System Information Window
3.
Click
Software Environment
.
4.
Click
Drivers
to display a list of active drivers. Refer to the
Name
column and scroll down to
Nohau16 (Figure 96).
5.
In the
State
column, verify the driver is running. In the
Status
column, you should see OK.
Figure 96. List of Active Drivers
EMUL16/300–PC User Guide
Figure 97. System Properties Window
If the ParPort driver still shows “Stopped,” do the following:
1.
Right-click the My Computer icon on your desktop, and select
Properties
. The System Properties window opens (Figure 97).
2.
Click the
Hardware
tab. Then click
Device Manager
. The Device Manager window opens
(Figure 98).
Figure 98. Device Manager Window
© ICE Technology
231
Figure 99. Device Manager Window Displaying the System Resources
3.
In the Device Manager window, select the
View
menu. Then click
Resources by Type
. A window appears that shows system resources (Figure 99).
4.
Double-click
Input/Output (I/O)
.
5.
Scroll down to address 378 (LPT1) and look for a device at this address. Go back to the Control Panel and double-click
Devices
. Disable the device located at address 378. Attempt to restart Seehau. If this fails, proceed to
Step 2.
EMUL16/300–PC User Guide
Step 2. Check the parallel port mode.
1.
Reboot and enter BIOS setup. From BIOS setup, check for one of the following parallel port modes:
–
Normal
–
Standard
–
Compatible
–
Output only
–
Bi-directional
2.
Ensure that one of these modes is selected.
3.
Then try selecting another mode.
4.
Save your settings and reboot.
Note
The following modes have been known to cause problems: ECP, EPP, or
ECP + EPP.
© ICE Technology
233
ISA
Step 1. If your pod has a reset LED, does it flash when you start Seehau?
•
Yes. Go to Step 3.
•
No. Go to Step 2.
Step 2. Do board I/O addresses match the values in the
Seehau configuration?
If your reset LED does not flash, verify that board I/O addresses (for emulator and trace boards) match the values in the Seehau Configuration:
•
Yes. The I/O addresses match the values:
1. From the
Start menu, select Programs.
2. Select
SeehauHC16, then click Reconfig. If the board I/O addresses match the values in the Seehau configuration, go to the “Configuring Address Settings with Windows Operating Systems” section in
Chapter 2. Pay specific attention to alternate addressing.
If you still encounter problems, contact Nohau Technical Support.
•
No. The I/O addresses do not match the values:
1. From the
Start menu, select Programs.
2. Select
SeehauHC16 and click Reconfig.
3. Enter the appropriate values.
Now does the reset LED flash?
•
Yes. The reset LED flashes.
Does Seehau start?
–
Yes. Troubleshooting is complete!
–
No. Seehau does not start. Go to
Step 3.
–
No. The reset LED does not flash. Contact Nohau Technical Support.
Step 3. Will Seehau start if you configure for test mode after reset?
•
Yes. Refer to Chapter 5, “Installing the Pod Boards.”
EMUL16/300–PC User Guide
•
No. Refer to Chapter 2, “Installing and Configuring the Seehau Software.” Review the
“Configuring Address Settings With Windows Operating Systems” section.
Is the problem solved?
–
Yes. Troubleshooting is complete!
–
No. Contact Nohau Technical Support.
Known Device Driver Conflicts
We are aware of potential device driver conflicts with certain network cards running on Novell/
Netware networks. Problems have been reported with both 3COM ISA network cards and some
Novell network cards. Most of these problems have been experienced when running Windows NT or Windows 2000 operating systems.
Possible Symptoms
•
When starting Seehau, communication with the network stops. (You will be unable to access resources on the network.)
•
Seehau will not start.
A possible solution might be to change you network card. Nohau Technical Support has not tested all network cards, although some customers have reported that the following network cards have resolved this conflict:
•
Intel Ether Express Pro 10/100 ISA
•
3COM Etherlink III (905B or later) 10/100 PCI
•
Bay Networks NetGear FA310TX 10/100 PCI
If the Emulator Does Not Start When Connected to the
Target System
•
Make sure power is applied to the target system.
•
If the target has an external watchdog timer, make sure you do not select
Connect Reset to
Target
in the
Emulator Configuration
dialog box.
•
Try switching the crystal jumpers/switches to the INT position.
•
Disconnect the target. Make sure you change the crystal and power jumpers/switches to the
INT position. Then try starting Seehau.
•
Check the orientation of the target adapter. Confirm that the adapter is inserted properly.
© ICE Technology
235
•
Check for grounding problems. The emulator and target should have a solid common ground.
Targets that are improperly grounded or designed with a
floating ground might experience improper operation. A closer examination of control signals might reveal excessive over / undershoot or ground noise.
•
If you are able to start the emulator, the problem is with one or more of the following critical target signals:
–
address and data bus
–
R/W signal
•
Check the target for any device that is enabled by address qualification only and does not use
R/W signals.
•
Check the address/data bus loading. If your target design approaches maximum fanout for
CPU drive capability, the emulator might not function correctly. This is caused by additional loads (approximately two TTL loads) from the pod board.
Target Does Not Operate Correctly
Problem:
Cause/
Solution:
Serial port is not operating correctly.
•
Check jumpers/switches on pod board for external crystal selection.
•
Check signal and ground connections between pod and target.
Problem:
Cause/
Solution:
Cannot access target memory or memory mapped I/O.
•
Check the
Memory Map Configuration tab to ensure that the memory address range is mapped to target. (For details, refer to Chapter 2, "Installing and Configuring the Seehau
Software" or the “Starting Seehau” section in Chapter 6, “Starting the Emulator and Seehau
Software.”
•
Check R/W signals on the target.
•
Make sure you have an expanded mode pod.
EMUL16/300–PC User Guide
Appendix E. PAL Equations for RAM
RWN
WRITE
A17A0
+
+
+
=
+
+
=
=
•
•
/RW
•
FRZ * /CSB0 * /RW ; ROM emulation
•
/CSB1 * /RW
•
/CSB2 * /RW
•
/CSB3 * /RW
•
A0* /16BIT * /1MB; A0 in 8-bit mode
•
A17* /16BIT * /1MB; A17 in 16-bit mode
•
A17* 1MB ; A17 with 512K chip
© ICE Technology
237
EMUL16/300–PC User Guide
Appendix F. ISO–160
ISO-160 is a set of four parts that, when used together, may be useful with targets that have an external watchdog timer, or other externally generated signals that interfere with emulation. The
ISO-160 can be used with any pod and with any kind of adapter. Inserting four of these isolators between the pod and the adapter (between the controller and the target) inserts 160 DIP switches, each dedicated to one signal, so any single signal or any combination of signals from the target board can be interrupted before they can reach the controller.
Each isolator is designed with enough switches to support as many as 40 signals. A set of four can disable any combination of 160 signals. This means that there are more pins and sockets on the isolator than on some pod boards and adapters. In this case, install the isolator so that the excess pins all extend to the right of the header and pins on the adapter and the pod. In other words, the pins near the ISO-160 label should be the unused pins.
This adapter is good for isolating chip select lines needed for emulation RAM from the target board. Flip the switch for the offending chip select signal, clip or solder a pull up resistor to the target side of the switch, and the target device will be isolated from the controller with no trace cutting or pad lifting or target hardware modifications.
Note
By interrupting an input signal to the controller, an open switch can create a floating input signal to the controller. If no pull-up or pull down resistor is used to give the input a definite state, the controller may behave unexpectedly.
© ICE Technology
239
EMUL16/300–PC User Guide
Appendix G. Compilers
Intermetrics/Whitesmiths
Check your distribution disk labels to make sure that you have version 3.31 Mod 9 or later. If not, contact Intermetrics to obtain an update.
Assembler Notes
The assembler does not produce the symbols for assembler source lines. This means that assembler source files will not be shown in the Source window. Global and local variables will be added to the object file if the –n switch is used.
Compiler Notes
EMUL16/300/BDM does not support symbolic debugging for programs compiled in the
COMPACT memory model with the Mod 9 compiler. Such programs can still be converted to
S records, loaded into the emulator, and then debugged without symbols. In later Mods of the compiler, the COMPACT memory model may be supported. Call Nohau Technical Support for the latest information.
The Whitesmiths/Cosmic C compiler is a DOS standard mode application. It does not use extended or expanded memory. You will have no difficulty running it in a DOS window under Windows.
Compiler Switches
The Whitesmiths/Cosmic C compiler comes with a powerful compiler driver, C.EXE. It reads a prototype file, usually named C.PRO, which contains an elaborate script, and processes your command line by the rules in the prototype file. Most of the intelligence of the driver lies in this prototype file. Once the prototype file is set up with the desired switches, using the
Whitesmiths/Cosmic C Compiler is quite easy, but getting it set up can be difficult.
Of the switches shown only –dxdebug is required to support source level debugging. All others are optional. The other switches cause the tool chain to produce other, helpful information, such as link map files.
-dxdebug
-v
-dmod_
-dsavlnk
-dmap
-dxref
-dlistcs
Generate the symbol and line number information
Display on the screen the command used to invoke each phase of the compiler
You must specify any memory model other than Compact
Save the linker command file created
Generate a link map file
Generate a cross-reference as a part of the listing file
Generate a listing file
© ICE Technology
241
INTERMET/C682X (for 6833x or 68340)
The –d switch will put both symbols and line number information into the object file. Modules assembled with the –d switch will appear in the Source window, just the C source files.
No other switches affect the emulator, but the following switches can provide information helpful when debugging:
-l
-x
-b
-v
Generate a listing file
Generate cross-reference listing
Generate symbol table listing
Verbose mode: report the status of assembly
At one time, the Itools C682X compiler was sold with a memory manager that conflicted with the one used by Windows. It could not be run in a DOS window under Windows. If they are still shipping that version, a telephone call to Intermetrics will get you an update that will run in a DOS window.
The –d is the only switch that controls the debugging information in the object file. If this switch is included in the compiler command line, the object file produced will contain the information necessary for source level and high level debugging.
Under most circumstances, the –d switch will be the only switch necessary. However, circumstances can arise where actions of the optimizer can cause problems for the debugger. If the debugger displays blatantly incorrect information about variable locations and source code locations, you may wish to add the –do switch to the compiler command line. This switch will turn off the kinds of optimizations likely to cause problems for the debugger.
Other helpful switches are:
-x
-v
-l
-I
Generate a listing file
Generate interleaved source and assembly listing
Generate cross-reference listing
Report the status of the compile
The output from the linker is in a text based format that is unsupported by the EMUL16/300/BDM debugger. To generate a file that the emulator can load, use the formatting utility (called form.exe) with the –f c switch. This will generate a Common Object File Format (COFF) file, which is a standard format supported by EMUL16/300/BDM.
EMUL16/300–PC User Guide
Introl
INTROL/C16–MSDOS–5HD-1 (for 68HC16)
The –l (lower case L) switch will create debugging symbols for all assembler symbols and line numbers. This may not be in the Introl documentation. Use this switch to see assembler source in the Source window.
The file cpu16.s contains macros that, when evaluated, create name macros for most of the
68HC16 configuration registers. The code in start.s sets the switch to just create the name macros that accept 32-bit arguments and load the K register along with the X register, for example. It has not been changed.
The file CONFIG.LIB contains a switch use_nohau that supports EMUL16/300/BDM (standalone), which seems to work fine.
One compiler switch –gg is required for source level debugging. All other switches are optional.
The compiler will leave a trail or history of what it has been doing if you use the other switches shown in the following table to produce listing and other files.
-gg
-k
-l
Turns on debug symbol generation. Required for source debugging
Displays tool name and version number during each compile
Generate compiler listing file
INTROL/C62–MSDOS–5HD–1 (for 6833x or 68340)
The –l (lower case L) switch will create debugging symbols for all assembler symbols and line numbers. This may not be in the documentation. Use this switch to see assembler source in the
Source window.
One compiler switch –gg is required for source level debugging. All other switches are optional.
The compiler will leave a trail of what it has been doing if you use the other switches shown in the following table to product listing and other files.
-gg
-k
-l
Turns on debug symbol generation. Required for source debugging
Displays tool name and version number during each compile
Generate compiler listing file
© ICE Technology
243
Microtec Research MCC68K (for 6833x or 68340)
Assembler Notes
The Microtec Research assembler does not support source level debugging. There are no switches that, when used, will tell the assembler to include the line number information necessary to synchronize the assembler source file with the loaded object file. The Program window will display the disassembled instructions, just as it does with any kind of object file. If you include the –f d switch, the assembler will include assembler symbols (variable and function names) in the object file for use by the emulator software.
Compiler Notes
The file MCC68K.EXE is a driver that looks at the command line and very intelligently figures out what to invoke based upon the switches and file name suffixes. All of the switches described here should be passed to MCC68K.EXE, not any of the individual compiler passes, if invoked separately.
The compiler driver and all compiler passes in our tests have run successfully in a DOS window under Windows. Other, more complex programs may not compile without the –B switch, which uses extended memory, which may conflict with your installation of Windows. If you have trouble running these tools under Windows, contact Microtec Research for assistance.
The MRI compiler driver has possibly the longest list of compiler switches of any compiler running on any host. There are 90 described in the summary section of the manual.
Of those 90 switches, the –g switch turns on debugging information, and the –Kf switch forces the compiler to create a stack frame for every function. These two switches are both necessary for either the Source level or the High level debugger. In addition to the –g and –Kf switches, you may also use –Gf which will add full paths to the source file names, but the emulator will strip off the full path names before it uses the file names. Other switches that turn on debugging information, -
Gl, -Gm, and –Gr, all modify or restrict the kind of debugging information produced, and should not be used with EMUL16/300/BDM.
Other helpful switches that are not strictly required by EMUL16/300/BDM include:
-l
-pcpu32
Produces a listing file
Produces instructions and alignments needed by all CPU32 controllers
It is possible for the optimizer to hoist code and reassign variables to registers in a way that can confuse the emulator. If, while debugging optimized code, you see values that are especially confusing or just plain impossible, try turning off optimizations (use the –nO switch or remove the –O switch) and see if the display then makes better sense.
EMUL16/300–PC User Guide
Sierra Systems C Compiler (for 6833x or 68340)
Assembler Notes
By default, the assembler includes global symbols in the object file. No switch is necessary to get variables and code labels in the object file. (The switch –Sx will exclude these symbols.) Unfortunately, there is no switch to tell the assembler to include line number information in the object file.
Assembly source files cannot be displayed in the Source window without this information. The object code generated from assembly source will be disassembled in the Program window as is normally done.
Compiler Notes
The Sierra C compiler comes with several compiler drivers which intelligently examine the command line, sort the input files by suffix, and then call the various tools (compiler, assembler, linker, etc.) as needed to create a linked executable. When developing 68332 applications, the driver to use is called c332. The compiler driver accepts certain switches and translates them into comparable switches needed for each tool.
Of the many switches available, only the switches –g –Of1 are required for Source and High level debugging. Using the –g switch will tell the compiler (and assembler) to include the symbol information and line numbers that EMUL16/300/BDM needs to display source files and inspect variables. The –Of1 switch forces the compiler to produce a stack frame for every function, even those simple enough to not need one.
There are three other switches that turn on debugging, ‘g1, -q, and –q1. Of these switches, -g1 will produce correctly formatted debugging information, but it allows multiple variables to share a single register, which may confuse the emulator. The other two switches produce debugging information formatted for a different debugger.
As with most sophisticated compilers, certain optimizations are very difficult to display correctly.
In general, using some or all of these switches: -Oc0 –Ox0 –Op0 –O10 will simplify the object file and allow the emulator to display the code and local variables as correctly as possible.
At this time, the compiler produces constructs that are very difficult or impossible for the
EMUL16/300/BDM to correctly display no matter what switches are used. These include unprototyped stack frames, 64-bit floating point numbers, 32-bit fast Motorola floating point numbers, and constants embedded within the code. Call Nohau Technical Support for the latest information about support for any of these features.
© ICE Technology
245
Examples
MAKEFILE (make utility)
CFLAGS=-V 32 –f –J –M disk=yes demo.map: demo.obj makefile
sym –P “%n-30s %s-8s %v4X %r-15s” –o demo.map demo.obj
demo.obj: funcs.o demo.o link.spc d:\sds\lib68332\start.o makefile
linker –f link.spc demo.o funcs.o d:\sds\lib68332\start.o –o demo.obj
func.o: funcs.c funcs.h makefile
d:\sds\cmd\cc68000 $(CFLAGS) funcs.c
demo.o: demo.c funcs.h makefile
d:\sds\cms\cc68000 $(CFLAGS) demo.c
MAKER.BAT (example using spec file and make utility)
d:\sds\cmd\cc68000 -V 32 -f -J -M disk=yes funcs.c -og d:\sds\cmd\cc68000 -V 32 –f -J -M disk=yes demo.c
d:\sds\cmd\linker -f link.spc demo.o funcs.o d:\sds\lib68332\start.o -o demo.obj
sym -P “%n-30s %s-8s %v4X %r-15s” -o demo.map demo.obj
LINK.SPC (specification file)
Example specification file for the 68000 family. This example assumes ROM is at address 0x0000 and RAM is at address 0xC000. Region “data” (which contains initialized RAM variables) must be linked into RAM to give the variables their correct addresses, but will be downloaded into
ROM at location DATA using downloader option “-m data, DATA”. Startup code will copy it from location DATA back into RAM.
partition { overlay {
region {} reset [addr=0];
region {} vects [addr=8];
region {} code;
region {} const;
region {} string;
DATA = $;
} o1; } ROM;
Partition { overlay {
region {} data[roundsize=4];
region {} ram[roundsize=4];
region {} malloc[size=0x1000];
region {} stack[size=0x1000];
STKTOP = $;
} o2; } RAM[addr=0x4000;
/* reset vector */
/* other vectors */
/* executable code */
/* constant strings */
/* where to download region data
*/
/* RAM to be initialized on reset */
/* RAM to be zeroed on reset */
/* RAM available to malloc() */
/* stack of at least 0x1000 bytes */
/* stack pointer reset value */
EMUL16/300–PC User Guide
Appendix H. Target Boards
TRG–16Y1
This target board includes a 68HC16Y1, a 32K by 8-RAM chip, a 32-kHz oscillator, a BERG connector, and two diodes.
The two diodes configure the controller during the /RESET cycle. Diode D3 connects the /RESET line and DB0 so that the controller will come out of /RESET expecting an 8-bit memory device.
If you connect another RAM chip in the wire wrap area to /DB0 through /DB7, be sure to remove the diode shown in D3 below. The other diode connects the /RESET line and DV14 to disable the internal ROM on the 68HC16Y1. This second diode (labeled D2 on the board) runs through header JP2 so that when the jumper is in place, on-chip ROM is disabled. If you wish to use the
ROM on the controller, remove the jumper from header JP2.
Although the target uses 8-bit memory, selecting the 8-bit emulation memory option in the
Hardware Configuration
dialog box will not correctly configure the chip select registers at this time.
Using the
User defined
option, the CSBARBT value should be set to either 0002 or 0003. A value of 0002 supports a 16384-byte device at address 0, which will make 16384 bytes of RAM unusable. A value of 0003 will make the entire chip usable, but because it is active for all addresses below 65535, address wrapping could occur between 32767 and 65535. It is up to you to choose either 2 or 3 and to put that value in the
CSBART
field, or to put some other appropriate value in that field (and possibly other fields) if you have changed RAM chips.
© ICE Technology
247
Figure 100. Target Board TRG–16Y1
EMUL16/300–PC User Guide
Figure 101. TRG–16Y1 Schematic
© ICE Technology
249
TRG–16Z1
This target board includes a 68HC16Z1, a 32K x 8-RAM chip, a 32-kHz oscillator, and a BERG connector. In addition, there is a diode between the /RESET line and /DB0 so that the controller will come out of /RESET expecting an 8-bit device.
Even though the target uses 8-bit memory, selecting the 8-bit emulation memory option in the
Hardware Configuration
dialog box will not correctly configure the chip select registers at this time. Using the
User defined
option, the CSBARBT value should be set to either 0002 or 0003.
A value of 0002 supports a 16384-byte device at address 0, which will make 16384 bytes of
RAM unusable. A value of 0003 will make the entire chip usable, but because it is active for all addresses below 65535, address wrapping could occur between 32767 and 65535. It is up to you to choose either 2 or 3 and to put that value in the
CSBART
field, or to put some other appropriate value in that field (and possibly other fields) if you have changed RAM chips.
If you connect another RAM chip in the wire wrap area to /DB0 through /DB7, be sure to remove the diode shown in D1 below. This diode is used to pull /DB0 low during a /RESET, configuring the controller for 8-bit memory. Removing this diode will allow /DB0 to float, configuring the controller for 16-bit memory. Removing this diode will ensure that the reset vectors are read correctly, and will help ensure that the target will operate correctly when emulating through a
/RESET.
EMUL16/300–PC User Guide
Figure 102. Target Board TRG–16Z1
© ICE Technology
251
Figure 103. TRG–16Z1 Schematic
EMUL16/300–PC User Guide
TRG–331 or TRG–332
This target board includes either a 68331 or a 68332, a 32K by 8-RAM chip, a 32-kHz oscillator, and a BERG connector. It also has a diode between the /RESET line and /DB0 so that the controller will come out of /RESET expecting an 8-bit device. The only difference between the TRG-
331 and the TRG-332 is the controller.
Although the target uses 8-bit memory, selecting the 8-bit emulation memory option in the
Hardware Configuration
dialog box will not correctly configure the chip select registers at this time.
Using the
User defined
option, the CSBARBT value should be set to either 0002 or 0003. A value of 0002 supports a 16384-byte device at address 0, which will make 16384 bytes of RAM unusable. A value of 0003 will make the entire chip usable, but because it is active for all addresses below 65535, address wrapping could occur between 32767 and 65535. It is up to you to choose either 2 or 3 and to put that value in the
CSBART
field, or to put some other appropriate value in that field (and possibly other fields) if you have changed RAM chips.
If you connect another RAM chip in the wire wrap area to /DB0 through /DB7, be sure to remove the diode shown in D1 below. This diode is used to pull /DB0 low during a /RESET, configuring the controller for 8-bit memory. Removing this diode will allow /DB0 to float, configuring the controller for 16-bit memory. Removing this diode will ensure that the reset vectors are read correctly, and will help ensure that the target will operate correctly when emulating through a
/RESET
© ICE Technology
253
Figure 104. Target Board TRG–331/TRG–332
EMUL16/300–PC User Guide
Figure 105. TRG-331/TRG-332 Schematic
© ICE Technology
255
TRG–333
This target board includes a 68F333, a 32K by 8-RAM chip, a 32-kHz oscillator, a BERG connector, and 5 diodes.
Three diodes configure the controller during the /RESET cycle. Diode D5 connects the /RESET line and DB0 so that the controller will come out of /RESET expecting an 8-bit memory device. If you connect another RAM chip in the wire wrap area to /DB0 through /DB7, be sure to remove the diode shown in D3 below.
Two other diodes, D3 and D4, connect the /RESET line to either DB14 or DB15 respectively to disable the internal EEPROMs on the 68F333. Each of these diodes runs through header JP2 so that when the jumper is in place, that on-chip ROM is disabled. With TRG-333 oriented as shown in the following figure, the top jumper controls the 16K EEPROM module and the lower one controls the 48K EEPROM module. If you wish to use EEPROM on the controller, remove one or both of the jumpers from header JP2.
Although the target uses 8-bit memory, selecting the 8-bit emulation memory option in the
Hardware Configuration
dialog box will not correctly configure the chip select registers at this time.
Using the
User defined
option, the CSBARBT value should be set to either 0002 or 0003. A value of 0002 supports a 16384-byte device at address 0, which will make 16384 bytes of RAM unusable. A value of 0003 will make the entire chip usable, but because it is active for all addresses below 65535, address wrapping could occur between 32767 and 65535. It is up to you to choose either 2 or 3 and to put that value in the
CSBART
field, or to put some other appropriate value in that field (and possibly other fields) if you have changed RAM chips.
EMUL16/300–PC User Guide
Figure 106. Target Board TRG–333
© ICE Technology
257
Figure 107. TRG–333 Schematic
EMUL16/300–PC User Guide
TRG–340
This target board includes a 68340 controller, a 32K by 8-RAM chip, a 32-kHz oscillator, a BERG connector, and a header that controls RAM size.
Header JP2 connects the DSACK0 pin with the /CS0/AVEC pin. Thus wired, the controller will be configured for an 8-bit boot memory device (RAM or ROM) controlled by /CS0 every time the controller is reset (and before the EMUL300 software has a chance to update the chip select registers). If you connect another RAM chip in the wire wrap area to DB0 through DB7, be sure to remove the jumper on header JP2. Removing this jumper will allow DSACK0 to float, configuring the controller for 16-bit memory when the controller is /RESET. Removing this jumper will ensure that the reset vectors are read correctly, and will help ensure that the target will operate correctly when emulating through a /RESET.
With the jumper on header JP2, /CS0 will be active for all addresses and all address spaces after every /RESET and until the valid bit is set in the /CS0 base address register. To let the emulator configure /CS0 for the correct RAM size on TRG-340, click on the
User defined
option. Next click on the box next to the
MBAR
field, and set that field to the base address of any free 2000 byte page (ORd with the valid bit). The value FFFFF001 is often used. Next, place a check mark next to the row for /CS0. For the
Base address
, use 000000F1. For the
Address mask
, use the value
00007FF2. These values will configure the controller to assert /CS0 only for addresses below 8000 hex, and for all memory spaces. If you add RAM chips to the wire wrap area or replace the 32K chip for a larger one, be sure to change the chip select registers accordingly.
Note
The algorithm that automatically detects the kind of processor and the size of RAM may report that the CPU not recognized or not supported by this software version. If this happens, open the
Config Emulator Hardware dialog box and manually set the pod type field to
POD-340.
© ICE Technology
259
Figure 108. Target Board TRG–340
EMUL16/300–PC User Guide
Figure 109. TRG–340 Schematic
© ICE Technology
261
EMUL16/300–PC User Guide
Appendix I. Emulator / Trace Address
Examples
Figure 110.Pin Addressing 100 Hex Range
© ICE Technology
263
Figure 111. Pin Addressing 200 Hex Range
EMUL16/300–PC User Guide
Figure 112. Pin Addressing 300 Hex Range
© ICE Technology
265
EMUL16/300–PC User Guide
Glossary
A
ABS file
Many compiler assembler linker systems put information about the source code, such as symbol definitions and line numbers in the ABS file. Absolute load file generated by a linker operation after compiling/assembling the application code. A superset of the 8051 OMF. A file containing absolute (i.e. fixed location) data to load into a computer.
Adapter
The device that serves as an interface between the system unit and the devices attached to it. A device used for making an electrical connection between different package types, such as DIP40 to
PLCC44. A connector or cable adapter, which changes one type of connector to another.
Address
Refers to where a particular piece of data or other information is found. Also can refer to the location of a set of instructions. Normally, but not always the words are 8-bit quantities. Some systems might have a program memory with 12-bit words and a data memory with 8-bit words.
Address Header
The range of memory locations that are addressable by changing jumpers on the emulator and trace boards.
Address Space
In Nohau emulators, there are often several address spaces. Each address space has a defined way of reading and usually writing to a memory. Several address spaces might address the same physical memory in different ways that are convenient for different usage. Some address spaces might address spaces that cannot be accessed by any other address space. Some address spaces, such as Shadow might exist only in the Nohau emulator and not in the target system.
ASCII
An acronym for American Standard Code for Information Interchange. A coding scheme using seven or eight bits that assigns numeric values up to 256 characters.
Assembler
An assembler is a program that converts a symbolic representation of computer instructions into the representation that the computer requires for operation. In Nohau emulators, the assembler window displays the contents of program memory as a numeric quantity, and in a symbolic form that is acceptable to an assembler for the processor being emulated. Information is lost in translation when an assembler processes a program. The symbolic form that the Nohau emulator disassembles might not be exactly the original assembler input that produced the numeric quantity found in memory.
© ICE Technology
267
B
Bank Number Translation
In bank switching design, cross-reference tables between bank number and control byte pattern.
This is necessary if the bit sequence of bank switching control signals is scrambled and not in order with the bit sequence of control byte. This is not recommended.
Bank Switching
A method of expanding the Code Memory Space beyond that of microcontroller address bus limitation by creating additional high order address buses from a microcontroller I/O port or a memory mapped latch. The details vary widely. In general, one or more registers select one of relatively large continuous banks of memory to be accessed by a range of addresses.
See also Memory window, Page, Paging, Page register, and Window.
Banking
See also Bank Switching, Memory window, Page, Paging, Page register, and Window.
Base Register
In the Motorola HCl2, HCl6, and 683xx families a Special Register that sets that starting location of the block of Special Registers that control the processor and the on-chip input/output devices.
Basic CPU Register
The registers that Seehau initially shows in the Register window. Some of these registers, such as the PC and SP might not be accessible in any other way. Others can be Special Registers with a memory address that can be viewed and modified in several different ways in Seehau.
BDM
An acronym for Background Debug Mode. This is a debugging mode available on some families of processors supported by Nohau emulators. The production processors dedicate a small number of pins to the BDM functions. This allows a small cable to connect an emulator and a production system that includes the processor. The emulator can then control the processor for debugging in the production system. BDM emulator features are usually limited by the small size of the cable.
BERG connector
A 10-pin connector used to connect a BDM pod to a target system.
Big Endian
Having the bytes of a multi-byte number ordered with the most significant (biggest) byte first.
Motorola usually uses this order.
See also Endian, and Little Endian.
EMUL16/300–PC User Guide
Binary Data
Refers to the computer numbering system that consists of two numerals 0 and 1 Also called base-2.
BNC connector
An acronym for Bayonet Neil-Councelman, British Naval Connector, Baby N-connector, or Bayonet-Nut-Coupler. A connector for coaxial cables that locks when one connector is inserted onto another and rotated 90 degrees. Trace boards have two additional input/output connectors on the back called BNC connectors for TRIGGER-IN and TRIGGER-OUT recording.
Bondout
Short for bondout chip. A special variation of a processor that brings out (bonds out to additional pins) many extra internal signals. These additional internal signals allow the emulator to display and control internal states and functions that cannot be accessed in the mass production version of the processor.
Bondout Chip
See also Bondout, Bondout Emulation, and Bondout Pod.
Bondout Emulation
The emulation processor on the pod is a special bondout processor, which usually features more pins than a standard production processor. Also they are more expensive due to low production volume.
See also Bondout, Bondout Chip, and Bondout Pod.
Bondout Pod
A pod that has a bondout emulation processor.
See also Bondout, Bondout Chip, and Bondout Emulation.
Boot
To load a program into the computer. The term comes from the phrase pulling a boot on by the bootstrap.
Bootstrap
A technique or device designed to bring itself into a desired state by means of its own action. The term is used to describe the process by which a device such as a PC goes from its initial power-on condition to a running condition without human intervention.
See also Boot.
© ICE Technology
269
Break
To stop the execution of a processor in a way that allows the processor to resume execution as if nothing had happened.
Breakpoint
A debugging feature that breaks the processor at a particular location in a program or when a particular data item is accessed. This may be a software breakpoint or a hardware breakpoint.
See also Breakpoint Replacement.
Breakpoint Replacement
If enabled, the emulator will stop right before the breakpoint, otherwise it will stop right after the breakpoint. This applies only to hardware breakpoints.
See also Breakpoint.
BSW
See Bank Switching.
Buffer
A block of memory used as a holding tank to store data temporarily. A region of memory to hold data that is waiting to be transferred between two locations as between an application's data and an
I/O device.
Byte
A collection of bits that makes up a character or other designation. Generally, a byte is 8 data bits.
When referring to system RAM, an additional parity bit is also stored, making the total 9 bits.
Byte Order
The order of bytes in a word. Some processors (for example Motorola) store the most significant byte first and others (for example Intel) store the least significant byte first. It appears that there is no decisive advantage to either scheme. In machines without hardware support for words (for example the 8051) some compilers use one order and some use the other. One compiler even uses one order for integers and the other for floating point.
See Big Endian and Little Endian.
C
CCR
Acronym for (Emulator) Configuration Control Register. These registers are used to control the configuration of the emulator as contrasted with the registers in the system being emulated.
EMUL16/300–PC User Guide
Chip
An integrated circuit. Used to refer to processor or memory integrated circuits.
Chip Select
A type of signal generated by some processors that is suitable for connecting to a chip select (CS) input of a memory chip. This allows the connection between the processor and the memory to be about as simple as connecting the address lines, the data lines, and the chip select.
Code coverage
A feature of some Nohau emulators that records the fetching (in the 196, 16, and 300) or the execution of instructions. Useful for evaluating the effectiveness of a test suite. If the test has executed an instruction once, this gives assurance that the instruction can be executed without fault in at least one case. If an instruction has not been executed at all, there is a danger that it cannot be executed without causing an error.
COFF
An acronym for Common Object File Format, a format for load files derived from the UNIX culture.
Command Line
The line on the display screen where a command is expected. Generally, the command line is the line that contains the most recently displayed command prompt.
Command Set
A named set of commands. A set of commands used to perform specific operations / tasks with the emulator. A list of instructions recognized by a microcontroller.
Compiler
A program that converts a symbolic description of a computer program into a form the computer can execute. Compilers are distinguished from assemblers in that they accept input that is not directly related to the actual machine instructions. The output from a compiler is called an object program. Most Nohau emulators support C and C++ compilers by reading extra information provided by the compiler. This allows the emulators to display the compiler source code that corresponds to a program location and to display the values of variables in a style appropriate to the way they were defined in the source program.
Core Command
Hardware specific operation command issued by the user interface to perform a specific operation.
A Seehau command that is processed by the core the part of Seehau that deals with the target hardware, file loading, and keeping the symbol table. Contrast a window or GUI (Graphical User
Interface) command that only affects the appearance of a window.
© ICE Technology
271
CPU symbol
Default symbolic reference to the microcontrollers Standard CPU registers. Symbols used in the microcontroller CPU architecture definition, especially for Special Function Registers (SFRs), usually related with a SFR physical address.
CPU
An acronym for Central Processing Unit. The computational and control unit of a computer; the brains. This device interprets and executes instructions.
Crystal
A frequency determining element. A resonating crystal used in a clock circuit for the microcontroller. A piece of silicon that oscillates at a predetermined frequency. An oscillator of some kind drives all microcontrollers. The device on the pod or the target that provides time base for the clock generation circuitry in microcontroller. Usually required to be connected to two crystal pins on the microcontroller. It determines the operation speed for the microcontroller. There is usually a frequency multiplier or divider involved, i.e. 5-MHz crystal *4 (multiplier) = 20-MHz System
Clock.
See also Internal Crystal and External Crystal.
Cycle Type
A named sequence of events. A category of instruction action in a machine cycle usually related with a chip-select or strobe signal issued by the microcontroller. For example, in the 8051 family, there are Opcode Fetch Cycles (/PSEN), XData Write Cycles (IWR), and XData Read Cycles
(/RD). Cycle type refers to the default symbol table that has been defined by Nohau for the microcontrollers internal registers.
D
D connector
See DB-25 connector.
Data Bus Width Override
Determines how much data can be transmitted at one time. For example, a 16-bit bus can transmit
16 bits of data, whereas a 32-bit bus can transmit 32 bits of data.
Data Window
1.
A window in Seehau user interface that displays data stored in memory.
2.
68HCl 2 MCU chip feature that allows a section of the 16-bit address space to address pages of data space. The DPAGE register controls the page visible in the window.
EMUL16/300–PC User Guide
DB-25 connector
A 25-pin D-shell connector primarily used for PC parallel ports. The mechanical interface of a 25wire cable with a male (M) and female (F) DB-25 pin connector attached to either end. A plug with 25 pins or receptacles, each of which is attached to a single wire with a specific function.
Originally called an RS-232 (now EIA-232), the latest which defines not only the type of connectors to be used but also the specific cable and plugs and the functionally of each pin. In Nohau culture also referred to as a D connector.
Debug File
A file generated by C Compilers / Assemblers, which contains both code and symbol crossreference in the source file. The file usually has a special filename extension such as OMF, ABS, or no extension at all. To get symbol information, the debug file should be loaded into the Seehau software. Hex files will not provide symbol information.
Delay
The number of trace frames collected after a trigger event occurs.
Dialog box
A special window displayed by the system or application to solicit a response from the user.
Double
A C floating point type usually represented in 64 bits.
DPRAM
An acronym for Dual-ported RAM. DPRAM is a dual-ported random access memory with separated ports of different bus width for READ and WRITE function. The bus width is 1 bit for
READ and 16 bits for WRITE. The READ and WRITE access can be performed simultaneously or at independent clock rates at frequencies up to 50 MHz.
DRAM
An acronym for Dynamic Random Access Memory. A form of semiconductor random access memory. Temporary storage that must be refreshed over time.
DWARF
An acronym for Debug With Arbitrary Record Format. The debugging information format associated with the ELF load file format. Designed for the better support of C++.
See also ELF.
© ICE Technology
273
E
Edge connector
The part of a circuit board containing a series of printed contact that is inserted into an expansion slot or connector. The part of the expansion board that is inserted into the motherboard.
See also Expansion Board.
EEPROM
An acronym for Electrically Erasable Programmable Read Only Memory. A type of nonvolatile memory chip used to store semipermanent information. An EEPROM can be erased and reprogrammed directly in the host system without special equipment. Read Only Memory (ROM) that can be electrically erased and programmed too repeatedly. Also called flash ROM.
See also Flash Memory.
ELF
An acronym for Executable and Linkable Format. A file format for program and data to be loaded into a processor. Usually associated with the DWARF debugging information format.
See also DWARF.
Emulator
A piece of test apparatus that emulates or imitates the function of a particular chip. This device runs the code in the same way and at the same speed as the real microcontroller. The emulator facilitates debugging by providing more information about internal operations of the microcontroller. The emulator gives better control of operations and faster more flexible loading of programs.
Emulator Board
An ISA card, which is plugged into the PC or an HSP box with emulation memory on board. It is connected to a pod through a special flat cable. In some emulators the functionality of the emulator board is integrated into the pod so, it might not be available separately.
Emulator Memory
Memory internal to the emulator. Some emulator memory may be used for the internal purposes of the emulator that will not normally be visible to the emulator user. Memory provided in the emulator that makes code debugging possible without a target. Overlay memory for the emulator to simulate the memory for On or Off chip memory.
Emulation Mode
The emulation processor on the pod running customer application code to enable it to simulate a real target processor.
EMUL16/300–PC User Guide
Emulation Processor
The processor provided on the pod, which is used to emulate a target processor. It might or might not be the same as the target processor.
Endian
The bytes, which are most significant in a multi-byte word.
See Little Endian and Big Endian.
Environment settings
User interface setups for the debug environment such as load path, source file path(s), file load options, etc.
EPAGE
A register in some Motorola 68HCl 2 family members that controls what page of Extra memory it mapped into the Extra page window. See the Motorola User's Guide for the particular family member for further information.
EPC
An acronym for Emulator Parallel Cable. A Nohau product that attaches an emulator to a laptop computer parallel (printer) port.
EPROM
An acronym for Erasable Programmable Read Only Memory. A type of ROM that can be erased by exposure to ultraviolet light and programming repeatedly.
See also EEPROM.
Evaluate/Modify window
A Seehau user interface window that allows evaluation and modification of existing expressions or
C and C++ variables using the symbols of the currently loaded program.
Expanded Mode
See External Mode.
Expansion Board
Any board that plugs into one of the computer's expansion slot. Expansion boards include controller boards, trace boards, and emulator boards.
Expansion Card
See Expansion Board.
© ICE Technology
275
External Crystal
The crystal on the target is used for the crystal source of emulation processor.
External Mode
The code and or data memory is external to the microcontroller. Some ports on the microcontroller are functioning as data bus and/or address bus.
See also Single-Chip Mode.
External Mode Pod
A pod whose emulation processor works in External mode. The same as a standard production processor.
External Power
The emulation processor on the pod gets power from the target. Recommended for Bondout pods and Low Voltage Emulation. The external power can be used only when the target is connected to the pod.
Extra Window
A 68HC12 MCU chip feature that allows a small section of the 16-bit address space to address pages of extra space. The EPAGE register controls the page visible in the window.
F
Fast Break Write
A feature of some Nohau emulators that allows writing to target memory while the target is running. It causes minimal interruption to the target execution. It does stop (break) the target processor for a short time.
Filter
A set of conditions that determine which frames are allowed into the trace buffer. Filtering selects the type of information in an address range, and the type of data that is recorded in the trace memory. This is a distinct action separate from Filter mode.
Filter Mode
This mode is different from filter.
See Window Filter and Normal Filter.
Flash ROM
Flash ROM, also known as flash. A type of EEPROM that has been optimized for faster (flash) erasing and programming. See also EPROM and EEPROM.
EMUL16/300–PC User Guide
float
A C type for floating point numbers. Often 32 bits in length.
Floating Point
The computer version of Scientific Notation for numbers. A fraction and an exponent represent the number.
Frame
A unit of information in a trace buffer. Usually a record of a target memory reference, but can record other events such as a low power state or the passage of time.
Frame Number
An arbitrary number assigned by the emulator to each frame in a trace buffer. Positive frame numbers occurred after the trigger and negative frame numbers occurred before the trigger. If a trigger did not stop tracing, the last recorded frame number is -1.
Frequency Multiplication
Multiplying external clock input signal's frequency by a factor and feed it to the CPU inside a microcontroller. Often done by a Phase Lock Loop (PLL) circuit inside the microcontroller. Electromagnetic Interference (EMI) is reduced this way. A factor used by a microcontroller to multiply the crystal (oscillator) frequency, i.e. 5-MHz crystal *4(multiplier) = 20-MHz System Clock.
Frequency limit
The maximum or minimum frequency at which an emulator is designed to operate properly.
Full Emulator
An emulator with the ability to add trace capabilities. Full emulators often use the BDM pins on the processor to do some of the emulator functions in addition to providing tracing, shadow memory, and more breakpoints.
G
GPT
An acronym for the General Purpose Timer, a hardware feature found on some Motorola embedded processors.
GUI Command
An acronym for Graphical User Interface. A program interface that allows users to choose commands and functions by pointing to a graphical icon using either a keyboard or pointing device such as a mouse, trackball or touch pad. Seehau is divided into a GUI part that handles the display and control for the user. This part is common to all Nohau emulator families. The Seehau GUI
© ICE Technology
277
sends commands to the core which is specific to a particular family of processors. These commands can be recorded in macros. To allow macros to affect the display, the GUI also sends commands to itself. These are called GUI commands.
H
Hardware Breakpoint
A breakpoint function implemented in hardware, either in a processor chip or in an emulator. The distinguishing feature is the hardware, which does not require any software modification to place the breakpoint. This allows breakpoints to be effective in ROM of all kinds.
See also Breakpoint, and Software Breakpoint.
Hex
Hexadecimal, a number encoded as base-16 instead of base-10. Widely used for display of memory addresses and hardware registers because humans and computers more easily translate it into bits than standard decimal notation.
See also Hexadecimal.
Hex File
An ASCII file consisting of a number of hex records, which represent machine language code and/or constant data with hexadecimal numbers. A load file or absolute file with the data in hexadecimal numbering (base-16). It is usually used to transfer the program and data that would be stored in a ROM or EPROM. No symbol/debug information is included in the hex file. Nohau supports a standard hex file format for each family, Motorola S-Record or S19 for Motorola families, and Intel Hex for Intel families. Other manufacturers adopt one or the other as their hex file format standard.
Hexadecimal
A numbering system used in computers. 16 characters: 0 through 9, and A through F (upper or lower case) to represent the numbers 0 through 15. One hexadecimal digit is equal to 4 bits, and one byte is two hexadecimal digits.
See also Hex.
High Speed Parallel Box
See HSP.
Hooks Emulation Mode
The emulation processor on the pod is a standard production microcontroller, but is put into a special Hooks mode, which makes the emulation possible.
EMUL16/300–PC User Guide
Hooks Mode
A special emulation mode that is built into specific microcontrollers. A special operation mode, in which the microcontroller provides extra internal signals through unused bus cycles, emulator circuitry also controls the microcontroller through these cycles. It is an extra feature built into the microcontroller. An emulation mode peculiar to some 8051 derivatives.
Hooks Mode Pod
A pod whose emulation processor works in Hooks Emulation mode.
HSP
A box with its own power supply, which can hold an emulator board and, or an optional trace board. Manufactured by ICE Technology, the HSP box contains a motherboard with three ISA slots. The HSP box allows the use of the in-circuit emulator and optional trace board when no ISA slots are available in your PC. The HSP connects to the PC printer port, so it can be used with a laptop computer or a standard PC. It is valued for power-up, and power-down emulator convenience.
See also High Speed Parallel box.
HSP card
An ISA board in the HSP that connects to a PC through a cable from the serial interface on the card to the parallel port on the PC or laptop computer.
I
I/O
Input/Output. A circuit path that enables independent communications between the processor and external devices.
I/O Port
Input/Output port. Used to communicate to and from devices, such as a printer or disk.
IC
An acronym for Integrated Circuit. A complete electronic circuit contained on a single chip.
See also Chip.
IEEE-695
A widely supported load file format specified by IEEE (Institute of Electrical and Electronics
Engineers) standard 695.
© ICE Technology
279
Inspect Window
A Seehau user interface window that displays current value of the selected item. The window is updated each time emulation breaks. It can be used for evaluation and modification of some expressions as well as of C and C++ variables using the symbols of the currently loaded program.
int
A C type for integer
Integer
A whole, or ordinal number. A number without a fractional part, for example 1.
Intel absolute object format
Absolute file format defined by Intel. (INTEL OMF) A debug file format defined by Intel Corporation in 1982. A superset of the 8051 OMF.
See also ABS.
Intel Byte Order
Having numbers represented by a sequence of bytes with the first byte holding the least significant
8 bits of the number.
See also Little Endian.
Intel Hex
A load file format. This format is a text file with the addresses and the data to be loaded in hex.
This format makes no provision for communicating symbol values to the emulator software.
Internal Crystal
The factory default crystal on the pod is used for the crystal source of emulation processor.
Internal Power
The emulation processor on the pod gets power from the emulator board. Recommended in all times except for bondout pods and low voltage emulation.
Internal Symbol Table
The default, built in symbols.
See also Symbol Table.
Interrupt Vector Table
A table, which keeps a cross-reference between interrupt source and the starting address of the corresponding interrupt service subroutine.
See also Vector Table.
EMUL16/300–PC User Guide
ISA
An acronym for Industry Standard Architecture. The original IBM PC-AT plug-in card format and bus structure. Some Nohau emulators plug into this bus.
ISA slot
A connection socket for a peripheral designed according to the ISA standard that applies to the bus developed for use in the 80286 motherboard.
Isolator
An adapter that has many small switches in the middle so you can connect or disconnect, signals selectively. Used in target connection trouble shooting.
J
Jargon File
A dictionary widely available on the Internet that defines many obscure informal computer terms, such as Big Endian and Little Endian.
Jumper
A small, plastic-covered metal clip that slips over two pins protruding from a circuit board. Sometimes also called a shunt. When in place, the jumper connects the pins electrically and closes the circuit. By doing so, it connects the two terminals of a switch, turning it on. A group of jumpers are referred to as a jumper block.
L
LED
An acronym for Light Emitting Diode. A semiconductor diode that emits light when a current is passed through it.
Linker
A program that takes relocatable object files produced by compilers and assemblers and combines them with precompiled library programs into a load file that can be loaded into a target processor.
© ICE Technology
281
The linker usually puts the symbols defined in the source programs into the load file in a way the emulator loader can decode.
Little Endian
Having the bytes of a multi-byte number ordered with the least significant littlest byte first. Intel usually uses this order.
See also Big Endian.
Load file
A file that contains a program in binary form to be loaded into the target. Nohau emulators support many formats of load files. Most formats include the final translated values of the symbols used in the original source files.
Locator
A term used for a linker that takes directives for setting the locations in the target processor of the various arts of the program.
long
A C type for integer that is at least as big as int. Usually 32 bits or 64 bits.
Low Voltage Emulation
The target works at a voltage lower than 5V DC, such as 3V DC. External power is required.
LPT Port
Line Printer port, a common system abbreviation for a parallel printer port.
LSB First
An acronym for Least Significant Bit first. Having numbers represented by sequence of bytes with the first byte holding the least significant 8 bits of the number.
See also Little Endian.
M
Macro
A set of keystrokes and instructions recorded and saved under a short key or macro name. Used to save time by replacing an often-used, sometimes lengthy, series of strokes with a shorter version.
Maximum frequency
The frequency limit on the pod.
EMUL16/300–PC User Guide
MCU
An acronym for Micro Controller Unit. Industry jargon for a single chip computer of some kind.
Memory
The storage parts of a computer. Usually organized into addresses, which pick one of many locations that each hold, the same number of bits. Often the contents are bytes of 8 bits.
Memory Dump
The hexadecimal representation of an area of memory. The copying of raw data from one place to another with little or no formatting for readability. Usually, dump refers to copying data from main memory to a display screen or a printer. Dumps are useful for diagnosing bugs.
Memory Image
A copy of one area of memory in another area of memory.
See also Shadow RAM.
Memory Mapping
Controls the operation of selection between emulation memory and the users target memory. Any memory address may be either mapped to emulator memory or target memory. If it is mapped to emulator memory, it will be mapped to RAM on the emulator itself and the memory space on the target will be ignored. If it is mapped to target, whatever device on the target (RAM, ROM, I/O) will be used and the corresponding emulator memory (RAM) will be ignored.
(memory) Page
A section of a memory with a larger address range that is accessed in a smaller window (Q.V.) in an address space with a smaller address range. The page (number) or page register supplies the most significant bits of the larger address, and the address in the smaller window supplies the least significant bits of the address.
Individual families of processors, and individual models within families have unique variations in the details of paged addressing schemes. If you have to understand a particular scheme, read the manufacturer's documentation carefully.
See also banking, bank switching, memory window, page, paging, page register, and window.
Memory Space
A range of memory that is accessible to a microcontroller. Used for different purposes, but can occupy the same addresses in memory. The number of address lines used usually determines the size of this space. The property of physically or logically separate memory blocks, which are accessed by different type of instructions such as code, external data, and internal data.
Menu
A list of options from which a user can select in order to perform a desired action.
© ICE Technology
283
MHz
An abbreviation for megahertz, a unit of measurement indicating the frequency of one million cycles per second.
Micro-clip
A series of wires connected to the DB-25 connector on one end and small clips attached to the wires on the other end. Rather than a ribbon cable there are individual wires emanating from the connector that can be used for input and output data. The ends with the small clips can be attached to the target system.
Mixed mode
A display format for Seehau source and trace windows where the source lines are displayed with the disassembled instructions that were compiled from the source line.
Monitor Mode
The emulator actions are being observed in this mode. The emulation processor is running Emulator Monitor Code. Microcontroller specific code that runs when the emulator is not running the user application code. When there is no program execution going on, but we still have to access memory, registers and set up windows, etc. Monitor mode runs everything
except the target program execution.
Motorola absolute object format
Absolute file format defined by Motorola. (MOTOROLA COFF)
Motorola Byte Order
Having numbers represented by a sequence of bytes with the first byte holding the most significant
8 bits of the number.
See also Big Endian.
Motorola Families
Groups of microcontrollers that are closely related in characteristics that are manufactured by
Motorola.
MSB First
An acronym for Most Significant Bit first. Having numbers represented by a sequence of bytes with the first byte holding the most significant 8 bits of the number.
See also Big Endian.
EMUL16/300–PC User Guide
N
ncore.log
Log file produced by the operation of emulator, contains information of the data passed between the CORE level program and the users interface. The
Log to file
check box in the
Environment
Configuration, Options
tab controls the writing of this log file. The file is written to the directory where Seehau.exe is installed.
New Hacker's Dictionary
A very useful dictionary of computer jargon published by the MIT press.
See also Jargon File.
Normal Filter Mode
In this mode the last enabled trigger can be assigned a repeat counter that causes the trace to look for this last trigger a number of times before a trigger is recognized.
O
OLE automation
An acronym for Object Linking and Embedding. A distributed object system. The ability for an external program, that is or contains a programming language, to control another program.
OMF file
A debug file format, abbreviation of Object Module Format. Object Meta File-industry base standard. A load file format.
Oscillator
A self-contained device which generates a clock signal of a specified frequency without the assistance of external feedback circuitry. Its output usually can be fed directly to the clock-input pin of a microcontroller.
P
P & E
A manufacturer of software. A symbol file format used with Motorola MCU's is named for them.
Page
A fixed-size block of memory whose physical address can be changed through mapping hardware.
© ICE Technology
285
Paging
A method of expanding a computer’s memory beyond the limits of an address size. A technique for implementing virtual memory. The virtual address. The virtual address is divided into a number of fixed-sized blocks called pages, each of which can be mapped onto any of the physical addresses available on the system. One or more registers select one of relatively large continuous pages of memory to be accessed by a range of addresses. Sometimes used as a synonym for bank switching.
Paged Addressing
See also Bank Switching.
PC
Common industry acronym for Program Counter, but also used to mean Personnel Computer.
See also Program Counter.
Pipelined Architecture
A computer architecture that speeds up the instruction execution rate by executing each instruction in stages, and executing different stages of several instructions at the same time. A common set of stages is Instruction fetch, data fetch and data store. In a computer with this type of pipelined architecture a single instruction would progress through these stages in sequence.
At the same time the computer might be doing:
• fetch of instruction 3
• data fetch for instruction 2
• data store of the results of instruction 1
•
At the next cycle the computer would be doing
• fetch of instruction 4
• data fetch for instruction 3
• data store of the results of instruction 2
A confusing side effect of this architecture is that the memory references for instructions and data, may not be in the order one would expect from what instructions the computer is executing. (Notice that in the preceeding example, instruction 3 is read from memory before the results of instruction 2 are stored.)
The trace feature of Nohau emulators for processors with pipelined architecture make an effort to clarify this confusing situation by giving either a hardware view showing the memory references in
EMUL16/300–PC User Guide
the actual order on the memory bus, or a software view showing the memory references as they are logically executed by the computer.
For historical reasons, the terms for the hardware and software views are not uniform among the different computer families supported by Nohau.
PLCC
An acronym for Plastic Leaded-Chip Carrier. A popular chip-carrier package with J-Ieads around the perimeter of the package.
Plug-and-sleeve connector
A connector type that has 9 or more different sizes that look almost the same. It is necessary to get an exact size match to get reliable operation.
Pod
A small module of electronics or a circuit board, which contains an emulation processor and some accessory circuitry that, connects the emulator to the target through an adapter. This can be a small plastic container with a circuit board inside or an open circuit board with exposed pins that connect to the target system.
See also Bondout Pod, Hooks Mode Pod, and External Mode Pod.
Power Selection
To determine whether to use internal power or external power for the emulation processor on the pod. Usually controlled by a jumper on the pod.
Power supply (short and long tail)
An electrical/electronic circuit that supplies all operating voltage and current to the system. There are two power supply units for powering the emulators. Both of these units are 5-volt, 6-amp units, but with one difference; one has a short tail (the length of the power cord from the converter to the plug) and the other a long tail. The long tail is used for powering the BDM pods only, not the HSP box. The short tail power supply unit may be used for powering the BDM pod or the HSP box.
PPA (Program Performance Analyzer)
A statistical tool used to collect information from a currently executing program. Displays the number of clock cycle functions required for accessing data.
PPAGE
A register in some Motorola 68HCl 2 family members that controls what page of program memory it mapped into the Program Page Window. See the Motorola Users’ Guide for the particular family member for further information.
© ICE Technology
287
Program counter
A contraction of the more descriptive Program Location Counter. Often abbreviated to PC. The program counter indicators provide line number information supplied by compiler manufacturers.
The register in a computer that holds the address of the current instruction. Normally it is incremented by the size of each instruction as the instruction is fetched from memory to be executed.
(Jump, Branch and Call instructions can change the PC to a new, out of sequence location.) Interrupts also change the PC.
Program Step
General term for one of four emulator features that allow the user to see the results of program execution in a step by step fashion. They are: Source Step Over, Source Step Into, Assembler Step
Over and Assembler Step Into.
Program Window
A 68HC12 MCU chip feature that allows a section of the 16-bit address space to address pages of program space, usually on chip flash memory. The PPAGE register controls the page visible in the window.
PWM
An acronym for Pulse Width Modulator or Pulse Width Modulation. Embedded computers often have a PWM output unit. This unit generates logic outputs with variable widths and selectable rates. These pulses are frequently averaged to give a variable voltage between logic high and logic low.
R
RAM
An acronym for Random Access Memory. All memory accessible at any instant (randomly) by a microprocessor. Used to refer to the read/write memory of an embedded computer system.
Register
Storage area in memory having a specified storage capacity, such as a bit, a byte, or a computer word, and intended for a special purpose. Something that holds a value. A set of high-speed memory within a microprocessor or other electronic device. A collection of electronic circuits that holds a number. Used in reference to memory locations. In Seehau documentation, we refer to many kinds of registers. Among them are Special Function Registers (SFR), Configuration Control
Register (Emulator (CCR)), Special Register, Base Register, Basic CPU Register and User-
Defined Register.
Reset and Go
A feature of Nohau emulators that applies a reset signal to the target system and then starts it immediately. This simulates the real-world effects of a short power failure. Useful for testing
EMUL16/300–PC User Guide
initialize code, especially on systems that limit the writing of some registers to a small fixed number of cycles after a reset.
Ribbon cables
A flat cable containing up to 1 00 parallel wires for data and control lines. Nohau uses these cables to connect the pod boards to the PC or HSP and the trace board to the emulator board.
ROM
An acronym for Read Only Memory. A type of memory that has values permanently or semipermanently burned in. Often used in imbedded systems for program storage. Older versions might require a special process at the semiconductor facility to program.
See also EPROM, EEPROM, and Flash.
Rotational Cable
A cable adapter that allows connection of a pod to a target with a thin cable that can go out over the target system in the direction of any side of the target processor. Very useful for connecting an emulator to a cased target system
S
S19
A load file format. This format is a text file with the addresses and the data to be loaded in hex.
This format makes no provision for communicating symbol values to the emulator software.
SAX
A subset of Microsoft's Visual Basic. SAX is Nohau’s version of a micro code language that is somewhat compatible with Visual Basic.
Seehau
A high-level language user interface that allows you to perform many useful tasks including the following: Load, run, single-step and stop programs based on C or Assembly code. Set trace triggers and view trace. Modify and view memory contents including Registers. Set breakpoints.
Analyze code with Program Performance Analysis.
Set Breakpoints
A directive to actually place hardware or software breakpoints into the target system.
© ICE Technology
289
SFR
An acronym for Special Function Register. For some microprocessor families, this has a precise meaning spelled out in the microprocessor documentation. For other families, it is used very imprecisely, but always to refer to registers in the system being emulated.
See also Registers and Special Registers.
SFR branch
Some Special Function Registers are BIT addressable, so the base register can be branched to its
BIT level definitions.
SFR symbol
Default symbolic reference to the microcontrollers Special Function Registers.
Shadow RAM
A real time mapping of microcontroller data memory. Updated in full speed emulation. Shadow
RAM is used to duplicate the contents of the target RAM. Every time the CPU generates a WRITE bus cycle, the pod captures the address/data pair and the emulator board writes that data to the same address in Shadow RAM. The Shadow RAM feature allows you to view memory contents in real-time without stealing cycles from the emulation CPU.
short
A C integer type which may be any size from character to integer.
Single Chip Mode
Code and/or data memory is inside the microcontroller. No address/data bus available externally on microcontroller pins. This mode can be emulated only by bondout pods or hooks mode pods.
This mode cannot be emulated with external mode pods.
Software Breakpoint
A breakpoint function implemented by replacing an instruction with another instruction that causes the target system to stop in an orderly fashion (break). The distinguishing feature is that no special purpose hardware is required for placing the breakpoint. This allows a large number of breakpoints. A software breakpoint can not function in ROM.
See also Breakpoint and Hardware Breakpoint.
Solder Down
A socket that is soldered down to a PCB in place of a microcontroller that allows an emulator adapter to be plugged in to the target circuit. Some solder down sockets allow the microcontroller or the emulator adapter to be plugged. This usually consists of a detachable top half and a solderdown base, so that the pod can be easily removed. In contrast with a socketed connection.
See also Solder Down Adapter and Solder Down Base.
EMUL16/300–PC User Guide
Solder Down Adapter
The adapter is soldered down directly on the target surface mount footprint, which replaces the socket.
See also Solder Down and Solder Down Base.
Solder Down Base
The lower half of a solder down adapter assembly. Usually included in a solder down adapter assembly but can be ordered separately.
Source
A window in Seehau user interface that displays the source program.
See also Source Program.
Source Program
An informal name for the program description that the software engineers or programmers write for input to the compiler or assembler. The source of the intermediate files and the final program that can be executed by the computer.
SP
An acronym for Stack Pointer.
See Stack Pointer.
Special Register
In Motorola families, the memory locations in the system being emulated that have side-effects such as controlling input/output devices and processor configuration; as contrasted with ordinary memory (RAM and ROM) locations that just hold data.
Seehau allows you to add registers (Add Register) to define a new special register, (Add Special
Registers) to display a special register defined in a file and File - Load Default CPU Symbols to make the special register definitions available for disassembly and in-line assembly.
SRAM
An acronym for Static Random Access Memory. A type of RAM that will hold its contents without any electronic activity as long as power is applied. See also DRAM (Dynamic Random Access
Memory) which requires periodic electronic refresh cycles to keep its contents.
See also DRAM.
Stack Overflow
A situation where the Stack Pointer exceeds the maximum allowed value or falls short of minimum possible value, and is pointing to some address which, is not a stack. A condition where the size of a stack has exceeded or attempted to exceed the memory allocated to the stack. Usually this
© ICE Technology
291
happens when there is too many nested function calls. Not always recognized automatically, and generally prevents continued correct operation of programs using the stack.
Stack Pointer
A register that contains the current location of the program stack.
startup.bas
A macro file that is used by Seehau to input stored values for starting a previously setup project.
Symbolic Data
Included in many file load formats to give the user the ability to debug their code with specifics to symbol type, module, functions, etc. Symbolic data can be used to refer to files that represent computer code with symbols, that is either assembler or compiler source files. It can also refer to compiler, assembler or linker output files that have preserved some of the original symbolic information for debugging.
Symbolic Format
A format using identifiers rather than numbers. Accessing a component by its symbolic name.
System Clock
The main CPU clock. The operating frequency of the microcontroller.
T
Target
A general name for the embedded system being developed with the help of an emulator. A customer application circuit board, the microcontroller on which is to be replaced by a pod during emulation.
Time.bas
A macro file used to run the timer program to test pods.
Time Stamp
A feature that displays the number of machine cycles that have elapsed since the beginning of program execution.
Trace
A comprehensive tool used to analyze the microprocessor environment. An emulator feature that records detailed information about target memory accesses while the target system is in operation.
Triggering features allow the trace to be stopped on conditions of interest so that the user can look at the trace information and save it to disk without disturbing the operation of the target.
EMUL16/300–PC User Guide
Trigger
An event that stops trace buffer recording.
Tristated
An output, which has a third state of high impedance in addition to the regular high and low state.
When tristated, there is a high impedance seen by the rest of the circuit, there is no current sourcing or sinking.
U
uP clock
The uP Clock is the internal CPU clock of the microprocessor. This setting is used only for the calculation of the trace timestamp.
User-Defined Register
Registers added to the register window by a user using the Registers - Add Special Registers
(SFR) menu item. They are saved when the configuration settings are saved. Also used to refer to some of the symbols defined in a load file.
V
Vcc
In electronic designs the supply for transistor collectors originally, now usually the commonly used positive power supply. The power supply in Bipolar Integrated Circuits (IC) usually wired to the transistor collector in the IC. Normally positive 5 volts.
Vector Table
A table of addresses to jump to when certain actions occur. There is usually a start vector where program execution starts, and an error vector (hardware trap) where the controller jumps too if a problem occurs, and many other vectors.
W
Watch window
A window in Seehau user interface that allows display of C and C++ expressions using the symbols of the currently loaded program. The Watch window is not as flexible as the Inspect window, but offers the advantage of compactly displaying the value of many items.
© ICE Technology
293
Window
A portion of the screen that can contain its own document or message.
1.
A rectangular area of display on you monitor.
2.
Section of target memory that is handled especially for HC12 (Program window, Data window and Extra window).
Window Filter Mode
Restricts the triggering logic, but allows recording only of references to program or data areas of interest. More useful information can be collected in this mode before old information is overwritten in the trace memory.
Windows NT/2000/95/98
Operating Systems (OS) produced by Microsoft Corporation. Windows 98 replaced Windows 95 and Windows 2000 replaced Windows NT 4. These are the dominant opeerating systems for
PCs today.
X
XRAM
Provides access to 2K of on-chip RAM. No external bus cycles are executed for these accesses.
EMUL16/300–PC User Guide
Index
A
About This Guide · 1
Appendix A. POD–16Y1 · 209
System Clock · 209
Timer Example · 209
Appendix B. POD–16Y3 · 215
System Clock · 215
Timer Example · 215
Appendix C. POD–16X1 · 221
Timer Example · 221
Appendix D. Troubleshooting Tips · 225
Debugging the Parallel Port · 229
Windows 2000 Users · 229
Windows 9x Users · 229
HSP Box · 226
If the Emulator Does Not Start When Connected to the Target System · 235
ISA · 234
Known Device Driver Conflicts · 235
Target Does Not Operate Correctly · 236
Appendix E. PAL Equations for RAM · 237
Appendix F. ISO-160 · 239
Appendix G. Compilers · 241
Intermet/C682X (for 6833x or 68340) · 242
Intermetrics/Whitesmiths · 241
Introl · 243
INTROL/C16-MSDOS-5HD-1 (for 68HC16) · 243
INTROL/C62-MSDOS-5HD-1 (for 6833x or 68340) · 243
Microtec Research MCC68K (for 6833x or 6834) · 244
Sierra Systems C Compiler (for 6833x or 68340) · 245
Appendix H. Target Boards · 247
TRG–16Y1 · 247
TRG–16Z1 · 250
TRG–331 or TRG–332 · 253
TRG–333 · 256
TRG–340 · 259
Appendix I. Emulator / Trace Address · 263
Alternative Addressing · 20
Configuring Address Settings With
Windows 95/98 · 12
Alternative Addressing · 12
Configuring Address Settings With Windows NT · 13
Alternative Addressing · 14
Information about Windows NT Installation · 11
Known Device Driver Conflicts · 11
Nohau16/300 Device Driver With Windows 2000 · 20
Nohau16/300 Device Driver With Windows NT · 15 connectors
BERG · 5, 24, 28, 41, 43, 46, 53, 54, 62,63, 69, 70, 76, 77,
86, 92, 93, 98, 103, 108, 113, 121, 125, 130, 135, 140,
144, 145, 150, 151, 156, 157, 161, 167, 171, 178, 184,
185, 186, 187, 247
BNC · 33, 34, 187
DB-9 · 41, 54, 64, 71, 93, 94, 103, 104, 113, 114, 116,
125, 126, 127, 135, 136, 138, 145, 146, 147, 157, 158,
160, 168, 170, 178, 179, 181
DB-25 · 26, 34, 186, 187, 251, 252, 263
D
Downloading EMUL16/300–PC
Product Documentation · 2
E
Emulator Parallel Cable (EPC) · 5
Low Cost-Industry Standard Architecture (LC-ISA) · 5
EPC BDM Pods · 182
8-Pin and 10-Pin BERG Connector Definitions · 182
EPC BDM LED Indicators · 183
EPC BDM Pods · 182
16R1/R3 EPC · 182
Installing the EPC BDM · 183
European CE Requirements · xi
C
CE Requirements, European · xi
Configuring Address Settings With Windows · 11
Configuring Address Settings With Windows 2000 · 16
F
Figures
Figure 1. HSP Box Connected to a Pod Board and Laptop
Computer · 4
Figure 2. BDM Pod With BERG Connector · 5
Figure 3. BERG Connector · 5
© ICE Technology
Index
–
1
Figure 4. Steps for Installing and Configuring the
EMUL16/300–PC and Seehau Software · 6
Figure 5. Steps for Installing the EMUL16/300–PC
Hardware · 7
Figure 6. Emulator Configuration (Communications) Menu
· 10
Figure 7. System I/O Resources · 12
Figure 8. User Manager Dialog Box for
Windows NT · 13
Figure 9. Local Group Properties Dialog Box for
Windows NT · 13
Figure 10. NT Diagnostics Window · 14
Figure 11. Control Panel Devices Window · 15
Figure 12. Users and Passwords Window · 16
Figure 13. Local Users and Groups Window · 16
Figure 14 Local Users and Groups Window with
Groups Folder · 17
Figure 15. Administrator Dialog Box · 17
Figure 16. System Properties Window · 18
Figure 17. Device Manager Window · 18
Figure 18. System Resources · 19
Figure 19. Connecting the Emulator to Your Pod Board
With the Ribbon Cable · 22
Figure 20. Emulator and Trace Pin Addressing · 23
Figure 21. Header JP1 · 24
Figure 22. Emulator Board · 25
Figure 23. ISA Emulator Configuration · 26
Figure 24. HSP Emulator Configuration · 26
Figure 25. EPC Emulator Configuration (BDM) · 27
Figure 26. LC-ISA Emulator Configuration (BDM) · 27
Figure 27. Full Emulator Hardware Configuration · 27
Figure 28. BDM Emulator Hardware Configuration · 27
Figure 29. Confirm Dialog Box · 28
Figure 30. Reset Emulator Dialog Box · 28
Figure 31. Seehau Software Menu · 29
Figure 32. Environment Configuration Menu · 30
Figure 33. Emulator and Trace Pin Addressing · 33
Figure 34. Trace Board With Address 208H · 33
Figure 35. DB-25 Connector Pin Definitions · 34
Figure 36. Trace Configuration Dialog Box · 35
Figure 37. Trace Trigger 1-3 Dialog Box · 36
Figure 38. Trace Filter Configuration Dialog Box · 36
Figure 39. Edit Trigger Qualifier Window · 38
Figure 40. Edit Data Qualifier Window · 38
Figure 41. POD–16S2 · 46
Figure 42. POD–16X1 · 54
Figure 43. POD–16Y1 · 63
Figure 44. POD–16Y3 · 70
Figure 45. POD–16Z1 · 77
Figure 46. POD–CM16Z1 · 87
Figure 47. POD–331 · 93
Figure 48. POD–332 · 103
Figure 49. POD–333 · 113
Figure 50. POD–334 · 124
Figure 51. POD–335 · 134
Figure 52. POD–336 · 144
Figure 53. POD–338 · 150
Figure 54. POD–340 · 156
Figure 55. POD–341 · 165
Figure 56. POD–376 · 175
Figure 57. Seehau for EMUL16/300–PC · 185
Figure 58. Loading Code · 187
Figure 59. Time Program · 188
Figure 60. Data Window · 189
Figure 61. Data Window Menu · 190
Figure 62. Format Dialog Box · 190
Figure 63. Save Settings Dialog Box · 191
Figure 64. Trace Window (Non-compressed) · 194
Figure 65. Trace Window (Compressed) · 195
Figure 66. Local Trace Menu · 198
Figure 67. Trace Options Summary Menu · 198
Figure 68. Trace Display Window · 199
Figure 69. Seehau Macro Editor · 202
Figure 70. Macro Menu · 203
Figure 71. Save Settings Dialog Box · 204
Figure 72. Environment Configuration Menu · 206
Figure 73. Customize Buttons Dialog Box · 207
Figure 74. Select Glyph Dialog Box · 207
Figure 75. Button Highlight · 208
Figure 76. Emulator Hardware Configuration · 210
Figure 77. Miscellaneous Emulator Configuration
Dialog Box · 210
Figure 78. Emulator MCU Configuration · 211
Figure 79. Emulator Target Configuration · 211
Figure 80. Emulator MCU Values · 212
Figure 81. Emulator MCU Values · 212
Figure 82. Emulator Hardware Configuration · 216
Figure 83. Miscellaneous Emulator Configuration
Dialog Box · 216
Figure 84. Emulator MCU Configuration · 217
Figure 85. Emulator Target Configuration · 217
Figure 86. Emulator MCU Values · 218
Figure 87. Emulator MCU Values · 218
Figure 88. Emulator Hardware Configuration · 221
Figure 89. Miscellaneous Emulator Configuration
Dialog Box · 222
Figure 90. Emulator MCU Configuration · 223
Figure 91. Emulator Target Configuration · 223
Figure 92. Emulator MCU Values · 224
Figure 93. Emulator MCU Values · 224
EMUL16/300–PC User Guide
Figure 94. HSP LED Card · 226
Figure 95. System Information Window · 230
Figure 96. List of Active Drivers · 230
Figure 97. System Properties Window · 231
Figure 98. Device Manager Window · 231
Figure 99. Device Manager Window Displaying the
System Resources · 232
Figure 100. Target Board TRG–16Y1 · 248
Figure 101. TRG–16Y1 Schematic · 249
Figure 102. Target Board TRG–16Z1 · 251
Figure 103. TRG–16Z1 Schematic · 252
Figure 104. Target Board TRG–331 / TRG–332 · 254
Figure 105. TRG–331 / TRG–332 Schematic · 255
Figure 106. Target Board TRG–333 · 257
Figure 107. TRG–333 Schematic · 258
Figure 108. Target Board TRG–340 · 260
Figure 109. TRG–340 Schematic · 261
Figure 110.Pin Addressing 100 Hex Range · 263
Figure 111. Pin Addressing 200 Hex Range · 264
Figure 112. Pin Addressing 300 Hex Range · 265
G
Glossary · 245
H
High-Speed Parallel Box (HSP) · 4
I
Information about Windows NT Installation · 11
Installing and Configuring the Emulator Board · 21
Configuring the Emulator · 26
Factory and Alternate Settings · 23
Factory Settings · 24, 33
Installing the Emulator Board · 21
I/O Address · 22, 32
PC I/O Addresses · 23
Quick-Save Hardware Settings · 29
Setting Target Communication Rate Using BDM · 24
Installing and Configuring theSeehau Software · 9
Configuring Seehau Software · 9
Installing the Software · 9
Purchasers of Emulator and Trace Boards · 10
Installing and Configuring theTrace Board · 31
Configuring the Trace Board · 34
Data Qualifier · 39
Data Range · 39
Target Mode · 39
Factory Settings · 33
Installing the Trace Board With a PC · 32
Installing the Trace Board With an HSP Box · 32
I/O Address · 32
Overview · 31
Note to PC-ISA Users · 31
Trace Setup Fields · 37
Active Triggers · 37
Break Emulation · 37
Filter Mode · 37
Miscellaneous Parameters · 38
Trace Type · 37
Trigger Conditions · 38
Trigger Mode · 37
Trigger Output Pulse Mode · 37
Trigger Qualifier · 38
Address Range · 39
Cycle Type · 38
Installing the Pod Boards · 41
Connecting the Pod to the Target Board · 41
Disabling Resources · 44
EPC BDM Pods · 182
Factory Configuration of Pod Boards · 42
Features Common to All Pods · 42
Background Debug Connector (BERG) · 43
Background Debug Mode (BDM) · 42
Using Just the BERG Connector · 43
Indicator Lights · 43
FREEZE · 44
RESET · 44
RUN · 43
Overview · 41
Pod Types · 41
6873XX Pods · 41
68HC(9) 16x Pods · 41
POD–16S2 · 46
POD–16X1 · 54
POD–16Y1 · 63
POD–16Y3 · 70
POD–16Z1 · 77
POD–331 · 93
POD–332 · 103
POD–333 · 113
POD–334 · 124
POD–335 · 134
© ICE Technology
Index
–
3
POD–336 · 144
POD–338 · 150
POD–340 · 156
POD–341 · 165
POD–376 · 175
POD–CM16Z1 · 87
Removing and Installing the Controller · 44
Introduction to Tracing · 193
Accessing the Emulator and Trace Setup Windows · 196
Description of Trace Window Columns · 195
Starting Trace · 193
Trace Triggering and Trace Filtering · 196
Trace Window · 194
Triggers · 194
ISA Card Emulator (PC Plug-In) · 4
M
Macro Examples · 201
Command Examples · 203
Command Format · 203
Command Groups · 204
Creating New Buttons · 206
Description of the Macro Window · 201
Macro Construction · 202
Macro Execution · 202
Quick Saving of the Hardware Configuration · 205
Seehau Commands · 201
Minimum System Requirements · xiii
N
Notes, Software and Hardware · 192
O
Overview of the EMUL16/300–PC · 3
Emulator board · 3
Emulator Parallel Cable (EPC) · 5
Five-foot twisted-pair ribbon cable · 3
High-Speed Parallel Box (HSP) · 4
ISA Card Emulator (PC Plug-In) · 4
Low Cost-Industry Standard Architecture (LC-ISA) · 5
Pod board · 3
Target adapter · 3
Trace board · 3
User Interface · 6
P
POD–16S2 · 46
Configuration Options · 47
Header and Jumper Details · 47
16BIT · 48
1M · 47
BERR / BKPT / RESET · 50
BNK0-3 · 49
CLK · 50
FC1 · 48
P T · 50
PRU · 49
PWR · 49
ROM · 49
SIZx · 48
LED Indicators · 46
Overview · 46
Using the Port Replacement Unit · 51
POD–16X1 · 54
Configuration Options · 55
Header and Jumper Details · 56
16BIT · 56
BERR / BKPT / RST · 56
BNK0-3 · 56
CLK · 58
FC1 · 47
P T · 58
PRU · 58
PWR · 57
ROM · 56
RXD · 57
LED Indicators · 55
Overview · 54
POD–16Y1 · 63
Configuration Options · 64
Header and Jumper Details · 65
16BIT · 65
1M · 65
BERR / BKPT / RST · 66
BNK0-3 · 66
CLK · 66
FC1 · 65
P T · 67
PRU · 66
PWR · 67
ROM · 66
SER · 66
EMUL16/300–PC User Guide
LED Indicators · 64
Overview · 63
POD–16Y3 · 70
Configuration Options · 71
Header and Jumper Details · 72
16BIT · 73
BKPT / BERR / RST · 75
BNK0-3 · 73
CLK · 74
FC1 · 72
P T · 74
PRU · 74
PWR · 72
ROM · 73
SER · 74
LED Indicators · 71
Overview · 70
POD–16Z1 · 77
Configuration Options · 78
Header and Jumper Details · 79
16BIT · 81
1M · 80
BERR / BKPT / DS / RESET · 82
BNK0-3 · 81
CLK · 80
FC1 · 81
P T · 79
PRU · 80
PWR · 80
ROM · 81
RXD · 79
SIZx · 81
LED Indicators · 77
Overview · 77
Port Replacement Unit (PRU) · 82
POD–331 · 93
Configuration Options · 94
Header and Jumper Details · 95
16BIT · 95
1M · 95
AS · 96
BKPT / BERR / RST · 97
BNK0-3 · 95
DS · 96
OSC · 96
PWR · 96
ROM · 95
SER · 96
SIZx · 95
LED Indicators · 94
Overview · 93
Physical Dimensions · 93
POD–332 · 103
Configuration Options · 104
Header and Jumper Details · 105
16BIT · 105
1M · 105
AS · 105
BKPT / BERR / RST · 106
BNK0-3 · 105
DS · 106
OSC · 106
PWR · 106
ROM · 105
SER · 106
SIZx · 105
LED Indicators · 103
Overview · 103
Physical Dimensions · 103
POD–333 · 113
Configuration Options · 114
Header and Jumper Details · 115
16BIT · 115
BKPT / BERR / RST · 117
BNK0-3 · 116
CLK · 116
FCI · 115
P T · 117
PRU · 118
PWR · 116
ROM · 115
SER · 116
LED Indicators · 114
Overview · 113
Physical Dimensions · 113
© ICE Technology
Index
–
5
POD–334 · 124
Configuration Options · 125
Header and Jumper Details · 125
16BIT · 126
1M · 125
AS · 127
BKPT / BERR / RST · 127
BNK0-3 · 126
DS · 127
OSC · 128
PWR · 127
ROM · 126
SER · 126
SIZx · 126
LED Indicators · 124
Overview · 124
Physical Dimensions · 124
POD–335 · 134
Configuration Options · 135
Header and Jumper Details · 135
16BIT · 136
1M · 136
AS · 137
BKPT / BERR / RST · 137
BNK0-3 · 136
DS · 137
OSC · 135
PWR · 137
ROM · 136
SER · 137
SIZx · 136
LED Indicators · 134
Overview · 134
Physical Dimensions · 134
POD–336 · 144
Configuration Options · 145
Header and Jumper Details · 145
16BIT · 146
1M · 145
AS · 147
BKPT / BERR / RST · 147
BNK0-3 · 146
CLK · 147
DS · 147
PWR · 146
ROM · 146
SER · 146
LED Indicators · 144
Overview · 144
Physical Dimensions · 144
POD–338 · 150
Configuration Options · 151
Header and Jumper Details · 151
16BIT · 151
BKPT / BERR / RST · 153
BNK0-3 · 152
CLK · 153
P T · 154
PRU · 152
PWR · 152
ROM · 152
RXD · 153
SIZx · 152
LED Indicators · 150
Overview · 150
POD–340 · 156
Configuration Options · 157
Header and Jumper Details · 157
16BIT · 158
1M · 158
CLK · 159
CS0-3 · 158
CTS · 159
DONE-2 · 158
OSC · 157
PWR · 157
ROM · 158
RXD · 159
LED Indicators · 156
Overview · 156
POD–341 · 165
Configuration Options · 166
Header and Jumper Details · 166
16BIT · 167
1M · 167
BKPT / BERR / RST · 168
BNK0-3 · 167
CLK · 169
CTS · 168
DONE-2 · 167
PWR · 166
ROM · 167
RXDA · 168
SCLK · 168
EMUL16/300–PC User Guide
LED Indicators · 165
Overview · 165
POD–376 · 175
Configuration Options · 176
Header and Jumper Details · 177
16BIT · 177
AS · 178
BKPT / BERR / RST · 179
BNK0-3 · 177
CLK · 178
CS5 / CSE · 179
DS · 178
EXT PWR · 178
PLL · 179
ROM · 177
SER · 178
LED Indicators · 176
Overview · 175
Physical Dimensions · 175
POD–CM16Z1 · 87
Configuration Options · 88
Header and Jumper Details · 89
16BIT · 91
1M · 91
BERR / BKPT / RESET / DSI · 90
BNK0-3 · 90
CLK · 91
FCI · 89
PRU · 89
PWR · 89
ROM · 91
RXD · 89
SIZx · 91
LED Indicators · 87
Overview · 87
Q
Quick Start for Installing the Hardware · 7
Quick Start for Installing Your Emulator System · 6
R
Removing and Installing the Controller · 44
S
Shutting Down Seehau Software · 191
Starting Seehau · 185
Starting the Emulator and Seehau Software · 185
T
Technical Support · 1, 185 [email protected] · 1, 185
Time Program Examples · 187
Saving the Hardware Configuration · 190
Trace Memory Example · 197
W
WARNINGS · xi, 10, 30, 45, 48, 65, 80, 95, 105, 115,
125, 136, 145, 158, 167, 177, 225
Watching Data in Real-Time with Shadow RAM · 188
© ICE Technology
Index
–
7
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement
Table of contents
- 17 Downloading EMUL16/300–PC Product Documentation
- 18 Overview of the EMUL16/300–PC Emulator System
- 19 ISA Card Emulator (PC Plug-In)
- 19 High-Speed Parallel Box (HSP)
- 20 Emulator Parallel Cable (EPC)
- 20 Low Cost-Industry Standard Architecture (LC-ISA)
- 21 User Interface
- 21 Quick Start for Installing Your Emulator System
- 22 Quick Start for Installing the Hardware
- 24 Installing and Configuring the Seehau Software
- 24 Installing the Software
- 24 Configuring Seehau Software
- 25 Purchasers of Emulator and Trace Boards
- 26 Configuring Address Settings for the Emulator and Optional Trace Board
- 26 Information about Windows NT Installation
- 26 Known Device Driver Conflicts
- 27 Configuring Address Settings With Windows
- 27 Alternative Addressing
- 28 Configuring Address Settings With Windows NT
- 29 Alternative Addressing
- 30 Nohau16/300 Device Driver
- 31 Configuring Address Settings With Windows
- 35 Alternative Addressing
- 35 Nohau16/300 Device Driver With Windows
- 36 Installing and Configuring the Emulator Board
- 36 Installing the Emulator Board
- 37 I/O Address
- 38 Typical PC I/O Addresses
- 38 Factory and Alternate Settings
- 39 Setting Target Communication Rate Using BDM
- 39 Factory Settings
- 40 Emulator Board
- 41 Configuring the Emulator
- 44 Quick-Save Hardware Settings
- 46 Installing and Configuring the Trace Board
- 46 Overview
- 46 Installing the Trace Board
- 47 I/O Address
- 47 Installing the Trace Board With an HSP Box
- 47 Installing the Trace Board With a PC
- 48 Factory Settings
- 49 Bank Switch Jumpers
- 49 Configuring the Trace Board
- 52 Trace Setup Fields
- 53 Trigger Qualifier
- 54 Data Qualifier
- 56 Installing the Pod Boards
- 56 Overview
- 56 Pod Types
- 56 Connecting the Pod to the Target Board
- 57 How this Chapter is Organized
- 312 Important Notes About Pod Boards
- 312 Factory Configuration of Pod Boards
- 312 Remove Black Conducting Foam Before Using Your Pod
- 312 Features Common to All Pods
- 312 Background Debug Mode (BDM)
- 313 Background Debug Connector (BERG)
- 313 Using Just the BERG Connector
- 313 Indicator Lights
- 314 Disabling Resources
- 314 Removing and Installing the Controller
- 316 POD–16S
- 316 Overview
- 316 POD–16S2 LED Indicators
- 313 Header and Jumper Details
- 313 Using the Port Replacement Unit