RICE3000 In-Circuit Emulator for PIC

Size: px
Start display at page:

Download "RICE3000 In-Circuit Emulator for PIC"

Transcription

1 RICE3000 In-Circuit Emulator for PIC Data Action L.L.C Midway Road, Suite 128 Dallas, TX Tel: Fax: Web site:

2 RICE3000 Online Help All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the written permission of the publisher. Products that are referred to in this document may be either trademarks and/or registered trademarks of the respective owners. The publisher and the author make no claim to these trademarks. While every precaution has been taken in the preparation of this document, the publisher and the author assume no responsibility for errors or omissions, or for damages resulting from the use of information contained in this document or from the use of programs and source code that may accompany it. In no event shall the publisher and the author be liable for any loss of profit or any other commercial damage caused or alleged to have been caused directly or indirectly by this document. Printed: May 2004 in the United States of America. RICE3000 In-Circuit Emulator for PIC

3 Contents I Table of Contents Foreword Part I Welcome Introducing RICE emulator 3 2 Why RICE3000? How to get help?... 4 Part II RICE3000 Quick Start 6 1 Introduction... 6 Package Checklist... ( and Optional Hardware ) 7 System Requirement... 7 How RICE can help you 8 2 Software Installation... 8 Location of Installed... Files 8 3 Hardware Components RICE3000 Onboard... Jumpers 11 RICE3000 Power... Up Sequence 11 Emulation Probes Installing Probe... Cards 13 Quick Test - RICE system test for the first time 13 Self-Diagnostic... Test Boards 14 4 Trouble-shooting Communications... cannot be established with RICE3000? 15 External Oscillator... does not work? 16 The emulator... will not run continuously? 16 The emulator... does not run on the RC circuit in my application? 16 How can I tell... when the processor goes into SLEEP mode? 16 Cannot see some... opened windows on the desktop? 17 Part III RICE3000 hardware features overview 19 1 Introduction How does the... Emulator differ from an In-Circuit debugger or simulator? 20 2 Real-time and... full-speed emulation 20 3 Emulation voltages Flash-based... firmware for easy product updates 21 5 Fast downloading... and data retrieval 22 6 Emulation memory Real-time trace... memory functions 22 8 External Probe... Cable 22 9 Different Oscillator... Sources 23 Part IV RICE3000 software feature overview 25 I

4 II RICE3000 Online Help 1 Introduction RICE3000 Desktop... Components 25 Using Context... Menus 27 Customizing the... Desktop 29 RICE3000 Environment Using Different... Compilers 31 Source Level... Debugging Basics 31 Editing and Compiling... in the IDE 32 Downloading... Object Codes 34 Using Specific... Compilers 34 3 RICE3000 Debugging... Basics 36 4 File Menu Edit Menu View Menu View Options Useful Windows Run Menu Run Options Single Step Options Debug Menu Using Breakpoints Using Trigger... Points 66 Using Add Watch... Window 67 Data Address... Watches 69 Using Different... Trace Functions 72 9 Tool Menu Compiler Option CODMAPW Using DOS Command Config Menu Device Configuration LPT Configuration Options Download/Verify... Firmware 92 Set Font/Color Window Menu Part V Appendix A. Probe Card Specification 95 1 PB-5XB/12B/505B PB-12F PB-16F PB-F87XA PB-F PB-F PB-F PB-F

5 Contents III 9 PB-F PB-F PB-F Part VI Appendix B: RICE3000 USB Device Driver Installation Procedure Avoid hardware... and software problem steps: Installation... instructions and setting up the USB driver: Running software... and verifying USB driver: Uninstallation... instructions: 107 Index 108 III

6 1 Foreword Foreword REV 2, Released date 05/12/2004

7 Part I

8 3 RICE3000 Online Help 1 Welcome 1.1 Introducing RICE3000 emulator Welcome Thank you for purchasing the RICE3000 PIC In-circuit emulator. It is a cost effective and powerful tool designed to emulate all PICmicro microcontrollers and shorten the development cycle of your PIC applications. The emulation probes use the special bondout chipsets from Microchip Technology to allow full speed and real-time emulation. All the emulation modules that use the latest emulation chipsets are able to access both the PIC processor resources and the data bus paths during execution. Data Action provides on-line support at The web site is used as a means to make product information and files easily available to customers. Users may download files for the latest tools, data sheets, user guides, and so on. This site also gives: Technical Support Frequently Asked Questions Links to other useful web sites related to Data Action products Current product offerings and prices Distributor information Disclaimer of Liability Data Action is not liable for special, incidental, or consequential damages resulting from any breach of warranty, or under any legal theory, including lost profits, downtime, goodwill, damage to or replacement of equipment or property, and any costs of recovering, reprogramming, or reproducing any data stored in or used with Data Action's products. 1.2 Why RICE3000? Save time The RICE3000 emulator helps you debug your PIC application on your own hardware in real time. It does so by using a powerful Real-time Trace, setting break points in your program or stepping through program execution, so that you can examine each state of the program at any given spot. You can also monitor internal file registers, data bus activity and measure timing between events. Unlike a software simulator or In-system debugger, the RICE3000 emulator runs in real time and will not use any hardware resources from your target system so that it can run at full speed and truly emulate the target processors. The RICE3000 emulator will help you debug a mid-ranged embedded project in a matter of days, not weeks. Save money The real time emulator is a key feature of your embedded system development. A professional and well organized tool can speed up project development and decrease engineer time/costs drastically. Concentrate on the important thing

9 Welcome 4 The RICE3000 will help you in debug your project quickly and let you focus on your design logic and reduce frustration. 1.3 How to get help? Warranty Registration Upon receiving the system, complete the enclosed Product Registration Card and fax or mail it promptly back to Data Action. Sending in the Registration card ensures you receive new product updates and any information that may become available. 14-Day Money Back Guarantee If within 14 days of having received your system, you find that it does not suit your needs, you may return it for a refund. Please call for a return authorization number (RMA#) and Data Action will refund the purchase price of the system, excluding shipping and handling costs, upon receipt of the return. This does not apply if the system has been altered or damaged. Returns after 14-days or without proper RMA# will be charged a 20% restocking fee. Technical Support Data Action offers technical assistance to registered customers. Be sure to send in the registration card for this service. To receive information on updates and new products, you can contact us by any of means shown below: Home page support support@data-action.com Snail mail Data Action L.L.C Midway Road, Suite 128 Dallas, TX USA Tel Fax

10 Part II

11 RICE3000 Quick Start 2 RICE3000 Quick Start 2.1 Introduction 6 The RICE3000 is a full-featured in-circuit emulator. It is designed specifically for PIC microcontrollers and supports PIC12/16/18 family devices using different personality modules. We use special emulators and boundout chipsets from Microchip Technology to achieve accurate and full speed emulation. Feature Highlights Real-time and full-speed emulation 2.7 volt to 5 volt emulation range Flash-based firmware for easy product updates Fast downloading and data retrieval during stepping via parallel port or USB port. Standard 64K word installed program memory, expandable to 1M word (2 M Byte) 32K by 64-bit real-time trace memory Built-in frequency synthesizer from 48.8KHz to 50MHz Selectable internal oscillator and external oscillator support 12-clip external probe including an edge-triggered external break input, a break output, a trigger output, ground pin and 8 trace inputs Source level and symbolic debugging in assembly and high level languages Unlimited number of internal breakpoints within program memory addresses Trigger output on any address range within program memory Versatile emulator controls including Go From Reset, Go, To Cursor, Single step, ASM instruction step, Step over Call, Return to Caller and Animation Supports watching floating points and complex variables like structures and arrays on selected compilers 20-bit time stamp function with 4-bit prescaler resolution (250ns ~ 32us) Integrated Development Environment (IDE) runs under Windows 95/98/ME/NT/2000/XP Quick function control via function keys, hot keys and tool buttons Multiple source windows On-line HTML User's Guide The Hardware The RICE3000 emulator base contains all emulation and control logic including: 64K word standard emulation memory, expandable to 1M word (2 M Byte). 12-clip logic probe including 8 trace input lines, an external break input, a trigger output, a break output and a common ground pin. 32K by 64-bit wide real-time trace memory to capture executed instructions in real time Emulation Modules Different emulation probes can be installed inside the RICE3000 to support various Microchip or other future processors. These device specific emulation probes are contained in the actual chips or special bondout devices to provide accurate real-time and full speed emulation. All emulation probes have series of protective resistors that are present on all I/O lines to prevent damage to the emulation chipset. Emulation Voltage The RICE3000 is designed to fully support the emulated processors' capability to run down to the 2.7V level. Users can select from six different voltage settings, between 2.7V and 5V, to run the processor by selecting a corresponding onboard jumper. Different Oscillator Sources The RICE3000 provides several options to supply the oscillator frequency to run the processor: Divided from the internal onboard crystal that provides frequencies at 16 MHz, 8 MHz,..., etc. From the frequency synthesizer which provides frequencies from 48.8KHz to 50MHz. From the external clock source in the target application.

12 RICE3000 Online Help Package Checklist ( and Optional Hardware ) RICE3000 Emulator External Logic Probe with 12 clips Parallel extension cable (connection on all 25 lines) 9VDC 500mA or 1000mA (2.1mm center positive) wall plug-in DC power adapter RICE3000 Software (Compatible with Windows 95/98/ME/NT/2000/XP) This User's Guide Optional Hardware Emulation probe (usually pre-installed inside the emulator) with DIP headers Surface mount emulation headers for corresponding probe cards USB converter (USB2PIO): USB to parallel port module (Not shown) System Requirement The RICE3000 connects to the parallel port or USB port of the host PC and runs under Windows 95/98/ME/NT/2000/XP operating systems. It is recommended that the emulator be installed on a system with the following minimum specification: Pentium and/or compatible PC machine Standard parallel port or USB port 64 MB RAM 20 MB of free hard disk space Microsoft or compatible mouse

13 RICE3000 Quick Start How RICE3000 can help you The RICE3000 emulator helps you debug your PIC application on your own hardware in real time. It does so by using a powerful Real-time Trace and/or stop/break or single step through program execution with the following functions so that you can examine each state of the program at any given spot. You can also monitor the internal file registers, data bus activity and to measure timing between events. Unlike software simulators or In-system debuggers, the emulator will not use any hardware resources from target system and it can run at full speed, thus truly emulating your target processor. Stepping - Executes the program one instruction at a time and allows you to examine the program state after each step. Stepping can be executed at source level or assembly level by pressing the assigned function keys or by clicking the respective button in the Toolbar. Stepping over Calls - Same as regular stepping, but stepping over any subroutine calls. This function speeds up debugging by stepping over subroutines, which your know that routine is error-free. Monitoring Registers - Open special windows to show the state of the program from various perspectives: source file, data memory, variables, data file registers and trace, etc. Breakpoints - Software and hardware breakpoints control where and when the program stops running based on program location, internal data values or external break stimuli. Real-time Trace - Capture external data from the circuit, time stamp and data bus (depends on emulation probes) information in the 32K deep 64-bit wide trace buffer. When working with the breakpoint system, it records all executed instructions prior to the break. Watching - Isolate program variables and keep track of their changing values as the program runs. Complex structures, arrays and floating points can be watched. This capability depends on the debug information available from the respective compilers. You can use these functions to dissect your programs into discrete blocks, confirming that each block works before moving to the next. In this way, you can burrow through the program, without worrying about the size or complexity, until you pinpoint the bug. 2.2 Software Installation Installing the Windows 95/98/ME/NT/2000/XP IDE: 1. Insert RICE3000 setup floppy disk1 or CD into a supported drive. 2. At the Windows Shell, go to the Start menu and select Run At the Open dialog box, enter DRIVE:\SETUP.EXE or click the Browse button to run the setup file in the floppy disk or CD ROM drive. 4. Follow the instructions on the screen and use the default directory. Notes: For USB version of software, please use Appendix B: RICE3000 USB Device Driver installation procedure Location of Installed Files The install program copies the RICE3000 files to the following directories: Directory Path \Rice3000\Program\ \Rice3000\Samples\ \Rice3000\Driver\ \Windows\System\ Files Rice3000.exe, Rice3000.chm Codmapw.exe, Release.txt PB877.ASM, P18F452,ASM, T8720.ASM... etc. FTD2XX.DLL (USB device drivers) Mfc42.dll, Msvcrt.dll, Vatcom.vxd (for Win 95/98/ME only) \Windows\System32\ Mfc42.dll, Msvcrt.dll, Vatcom.vxd (for Win NT/2000/XP only) \Windows\System32\Drivers\ Parice.sys (for Win NT/2000/XP) In Windows 95/98/ME, it is not necessary to restart the computer to run the emulator after installation. But if you are running under Windows NT/2000/XP, make sure to reboot the system to activate the newly

14 9 RICE3000 Online Help installed driver. For Windows NT/2000/XP Users When installing under Windows NT/2000/XP, you must login as "Administrator" or make sure you have write access privileges to the SYSTEM directory and REGISTRY, as well as user right to "Load and unload device drivers". If the NT/2000/XP driver is installed properly, you should observe the followings: The version of the PARICE.SYS driver under Help > About RICE3000. If version for driver is 1.00: This indicates the driver is not found and you will have communication problem with the computer. (The latest PARICE.SYS driver is version 1.06 and up) PARICE.SYS should reside in the \WINDOWS\SYSTEM32\DRIVERS directory. "Parice" under the Control Panel Devices should have "Started" for Status field and "Automatic" for Startup field. If PARICE.SYS driver does not activate correctly, please follow these steps to enable "PARICE.SYS" driver. For Windows NT/2000 users: Go to the Control Panel > System > Hardware > Device Manager At the Device Manager window, select View and enable "Show Hidden Devices" Open the "Non-Plug and Play" folder and check that if Parice is on the list Highlight Parice, click the right mouse button and select Properties Under the "General" tab, make sure Device Usage is "Enabled" Under the "Driver" tab, make sure Current Status is set to "Start" and Startup is "Automatic" For Windows XP users: 1. Go to the Control Panel > Performance and Maintenance > System > Hardware > Device Manager 2. At the Device Manager window, select View and enable "Show Hidden Devices" 3. Open the "Non-Plug and Play" folder and check that if Parice is on the list (if Parice is not shown on the list, select "Non-Plug and Play" then right click the mouse. Select "Scan for hardware changes". It will scan and add new device driver to the list). 4. Highlight Parice, click the right mouse button and select Properties 5. Under the "General" tab, make sure Device Usage is "Enabled" 6. Under the "Driver" tab, make sure Current Status is set to "Start" and Startup is "Automatic"

15 RICE3000 Quick Start Hardware Components RICE3000 Hardware Power Jack - Found on the right hand side of the unit, the power jack provides connection to the power adapter. If you need a replacement power adapter, please contact DATA ACTION or replace one with 9VDC 500mA or 1000mA (non-regulated) output with a 2.1mm center positive barrel. LED - The STATUS LED is on whenever power is provided to the RICE3000. The LED blinks several times when the power is initially supplied to the system and stays steadily lit whenever power is available. It will also blink when the emulator resets itself and stay in standby mode. When STATUS LED blinks (standby mode), it will not accept any commands from the RICE3000 software except "RESET command". You can exit out of RICE3000-IDE and re-enter the program to reset the unit. Or from RICE3000-IDE click the " Help > About RICE3000" to reset the unit. DB-25 Connector - This is for connecting the parallel extension cable (straight connection on all 25 lines) to the parallel port of the PC. DB-15 Connector The DB-15 connector has 12-external clips. These external logic probes include 8-capture inputs; one break input; one trigger output and a ground pin. All the information captured by these external logic probes will be saved to the 32K by 64 bits real-time trace buffer.

16 RICE3000 Online Help RICE3000 Onboard Jumpers Voltage Jumpers Found on the bottom left hand corner of the RICE3000 base, these jumpers allow users to specify the operating voltage for the emulator. To select, shunt the corresponding jumpers next to the voltage value. Default is set at +5V. If none of the jumpers are shunted, the emulator will provide a voltage down to +2.7V. This is the minimum emulation voltage for the RICE3000. None (+2.7V) JP5 (+2.9V) JP4 (+3.2V) JP3 (+3.5V) JP2 (+4.2V) JP1 (+5V default) Full speed emulation is only available when the emulator is operating at 5V. At the lower voltages, the speed will be lower. Please refer to the Microchip data book "VOLTAGE-FREQUENCY GRAPH" for details. For lower voltage emulation, some of special functions may not function correctly. Emulation Probes PB-5XB/PB-12B/PB-505B PB-12F675 PB-16F676 PB-F87XA PB-F648A PB-F819 PB-F88 PB-F1320 PB-F4320 PB-F452 PB-F458 PB-F8720 at 5V 32 MHz 20 MHz 20 MHz 20 MHz 20 MHz 20 MHz 20 MHz 40 MHz 40 MHz 40 MHz 40 MHz 40 MHz at 2.7V 4 MHz 4 MHz 4 MHz 4 MHz 4 MHz 4 MHz 4 MHz 8 MHz 8 MHz 8 MHz 8 MHz 8 MHz *Under development Notes: The real-time trace function may not work below +3.2V RICE3000 Power Up Sequence The VDD voltage from the emulator has been isolated from customer target application. A separate power source is needed for the target system. Please follow this sequences when powering up the hardware and reverse them when powering down Plug emulation cable to target Apply power to RICE3000 unit Connect the communication cable (Parallel extension cable) between the emulator and PC. Apply power to target system It is recommended to power up the emulator first before connecting the system to the PC via the parallel cable. This makes sure the emulator resets properly there is a minor power leakage to the emulator through the parallel port. Notes 1: In some of the newer emulation probes (i.e. PB-F8720), the emulation probe has +VDD OUT jumper. This jumper is only provide for self test purpose. It is recommend to set +VDD OUT to OFF position. Notes 2: In the 18-pin DIP header, the PIN 14 (+VDD) does not connection to this pin. This is isolated from DIP header. If customer need to use +VDD from emulation, you can add connection back with blue wire to 18-pin DIP header.

17 RICE3000 Quick Start Emulation Probes Probe Card Support Summary Probe Card PB-5XB PB-12B PB-505B PB-12F675 PB-16F676 PB-F87XA PB-F648A PB-F819 PB-F88 PB-F1320 PB-F4320 PB-F452 PB-F458 PB-F8720 Supported Devices PIC16C52/54/55/56/57/58 PIC12C508/509 PIC16C505 PIC12F629/675 PIC16F630/676 PIC16F87XA/PIC16F87X PIC16F627A/628A/648A PIC16F818/819 PIC16F87/88 PIC18F1220/1320 PIC18F2220/2320/4220/4320 & PIC18F242/252/442/452 PIC18F242/252/442/452 PIC18F248/258/448/458 PIC18F6520/8520/6620/8620/6720/872 0 Emulator Chip PIC16C01-ME/PQ PIC16C01-ME/PQ PIC16C01-ME/PQ PIC16C04-ME/PQ PIC16C04-ME/PQ PIC16C04-ME/PQ PIC16C04-ME/PQ PIC16C04-ME/PQ PIC16C04-ME/PQ PIC18C02-ME/PT PIC18C02-ME/PT Bondout Chip None None None PIC12F675-ME/PT PIC16F676-ME/PT PIC16F877A-ME/PT PIC16F648A-ME/PT PIC16F819-ME/PT PIC16F89-ME/PT PIC18F1320-ME/PT PIC18F4320-ME/PT PIC18C02-ME/PT PIC18C02-ME/PT PIC18C02-ME/PT PIC18F452-ME/PT PIC18F458-ME/PT PIC18F8720-ME/PT *Under development Notes: Please see Appendix A. Probe Card Specification for more detailed information. When emulation probes with PIC16C04-ME or PIC18C02-ME chips are installed, these chipsets allow access to the internal RAM on the fly thus providing additional features like real-time data capture breaks. For the PIC16C01-ME chip, it does not allow access to internal RAM on the fly. It does not support the real-time data capture function. The RICE3000 software will automatically detect each installed probe to determine the supported features and make them available in the IDE. Functions not available are grayed out in the IDE. Probe Card Components The emulation probes are connected to the RICE3000 emulation base through two 44-pins header. You will also find the following components on or with the probe. Emulation Cable RICE3000 can be operated with or without being connected to a target. If a target is present, the gray emulation cable or colored ribbon cable from each probe card connects the emulator to the target for in-circuit testing. The cable is of varying width depending on the probes. They should be assembled with the proper emulator adapter to mate with the target prototype board. Emulation Adapters Each probe card comes with different emulation adapters with a dual-in-line (DIP) footprint to mate with the target processor in the prototype board. When connecting the adapter to the cable, make sure pin 1 on the emulator adapter aligns with the red line, indicating pin 1 of the emulation cable. It is recommended to plug a DIP machine socket at the end of the plug; this serves to protect on the plug and can be easily replaced in case some pins are broken. Protective Resistors On most of the emulation probe, you will find 100-ohm series protective resistors on the I/O lines of the processor. These resistors should not affect the sink in current. However, if you use the I/O pin to drive an external load, make sure you take these resistors into consideration. To have true emulation of the load current, you can remove the resistor by shorting the two pins. Caution note: The standard warranty does not include emulation chipsets. It is the user's responsibility to prevent shot circuits or overloading the circuit.

18 RICE3000 Online Help Installing Probe Cards The probe card is usually pre-installed inside the emulator base. Users can tell whether the probe has been preinstalled by the presence of a gray ribbon (or colored ribbon) cable coming out from the emulator. The probe card can be easily replaced with another module to emulate other processors as outlined below: Remove top four screws from the side plate. Remove the top cover by pulling out the cover from the base. To remove the installed probe card. carefully disconnect the probe card from the emulator base. If the probe card extends beyond the left side of the side plate, you may need to remove EMU Plug Cable and left side of the plate before removing the probe card. 6. Connect the new probe card to the emulator base through the interconnection header pins and make sure all the pins are pushed fully inside the connectors. (Installation tip: First align "Pilot pins" with "Guide holes", then press connectors) 7. Check the jumpers on the emulation probe (if applicable) and make sure they are set for the processor being emulated. See Jumper settings. 8. When ready, replace the cover of the emulator by sliding it back into the enclosure and replace four screws back into the side plate as desired Quick Test - RICE3000 system test for the first time After installing hardware and software, you may wish to make a preliminary test to check that the system is working correctly. Here are the steps for RICE3000 system test. We will use PB-F87XA as an example. (If your probe card is different from the example, you can follow these steps to verify that the RICE3000 hardware and software are communicating properly) 1.Follow RICE3000 Power Up Sequence to start hardware. (Refer to paragraph 1.3.3) 2.Run RICE3000 software. If you see "Cannot communicate with Emulator" message. Please follow the troubleshooting steps to correct communication problem. (Refer to Paragraph 1.5) 3.From RICE3000 IDE > Help > About. Message should show the latest software version and firmware version. If

19 RICE3000 Quick Start 14 firmware version shows Version 1.0. or earlier. You may have communication problems. Please follow the trouble-shooting steps to resolve the issue. 4.From the RICE3000 IDE > File > Load Debugged file > From Open Dialog Box, "Files of Type" select "COD Files", then select PB877.COD file. 5.The RICE3000 should load PB877.ASM test program and bring up all debug windows, i.e. Source windows; SFR and Data Memory windows. 6.From the RICE3000 IDE > Config > Device Configuration. It should bring up "Device Configuration" Dialog Box. Make sure all the setting are correct. ( For the PB877 test program, it should bring up the default settings for you). 7.If you can single step (F8) and Go from Reset (Shift F7). Both the hardware and software should work fine from now on. Please read next paragraph "Self-Diagnostic Test Boards" for details Self-Diagnostic Test Boards A test board comes with the probes for the bigger processors listed below. The test board is connected to the end of the DIP or PLCC headers or connectors and serves as protection for the emulation plug during shipping. You should remove the tester board when connecting the emulator to the target. PB-F87XA with 40-pin Self-Test Plug PB-F452 with 40-pin Self-Test Plug PB-F458 with 40-pin Self-Test Plug PB-F4320 with 40-pin Self-Test Plug PB-F8720 with dual 44-pin connector Self-Test Plug Use PB-F87XA and PB-F452 as examples, these probe come with a small test board connected to the end of the 40-pin emulation plug. When running the respective test programs, the board automatically tests all the functional blocks of the processor including I/Os, interrupts, A/D, timers, PWM and USART, etc. All the test programs (PB877.ASM, P18F452.ASM, P18F458 and P18F4320 or T8720.ASM...etc) have been assembled and can be loaded directly into the emulator using the File>Load Debugged File command. An INI file has also been created with each program to set up the debugging environment. For example, breakpoints have been set at all test point locations so the processor will halt when encountering problems. For PIC18 parts, external memory addresses have been setup to test external memory access. If the emulator runs through the test without a problem, it should stop within 5-10 seconds at the following location ORG ENDTEST NOP GOTO 700H ; Test PASS with no error ENDTEST If there is any problem with the emulator, the program will halt at the corresponding test locations. For example, the processor will halt at the following if it detects error when accessing port B or port D ERRPBD NOP GOTO ; Detect error in PORTB or PORTD ERRPBD If there is no INI file: If for some reason, the INI file is not loaded or the breakpoints are set at the wrong addresses, the test program will keep running, caught in one of the many test loops of the program. In this case, wait seconds and halt the processor by clicking the Halt Processor ( ) button or F4 function key. See where the program counter is and examine the hardware for the suspected problem or call technical support.

20 RICE3000 Online Help Trouble-shooting This section describes some common problems associated with running the RICE3000 system. The first one is communication problem between the PC and the emulator. The second one is an external oscillator problem Communications cannot be established with RICE3000? This may happen for several different reasons: Emulator is not in the proper reset state. The parallel port setting is not in a compatible mode. The Parice.sys driver is not properly installed (especially in Windows NT/2000/XP). Defective DB-25 M-F communication cable. Note: The computer parallel port default setting is SPP or normal mode. The other settings like EPP and ECP are enhanced port settings and are usually the preferred setting for the RICE3000. To check or change the port mode setting, you will need to access the system BIOS when the computer boots up (usually by pressing the DEL key as instructed on the screen). If you cannot establish communications with the RICE3000, follow these steps: Make sure to follow "RICE3000 Power up sequence", including applying 9VDC/500mA or 1000mA power adapter to the system. Check if emulation header (from emulation probe card) is properly plugged into the target board socket and all header pins are correctly oriented (header pin 1 lines up with pin 1 on target board). Check the connection between the RICE3000 and the host computer via the 25-pin cable is secured. Use the "Calibration" button under Config > LPT Configuration menu to test the communication between the RICE3000 and the host PC. You should get a delay constant of "0" or "1". If you get "failed". Please check the printer port setting in the setup BIOS (you may have to reboot the computer and enter BIOS setup). RICE3000 can work with ECP or EPP mode, but we prefer to use ECP mode.. If the software does not install correctly, the PC and emulator will not communicate properly. For Windows NT/2000/XP users, this is the most common problem is "Parice.sys" driver does not activate correctly. For Windows NT/2000/XP Users When installing under Windows NT/2000/XP, you must login as "Administrator" or make sure you have write access privileges to the SYSTEM directory and REGISTRY, as well as user rights to "Load and unload device drivers". If the NT/2000/XP driver is installed properly, you should observe the followings: For The version of the PARICE.SYS driver under Help > About RICE3000. If version for Parice.sys driver is less then 1.06, this indicates the driver is not found and you will have communication problems with the computer. PARICE.SYS should reside in \WINDOWS\SYSTEM32\DRIVERS directory. "Parice" under the Control Panel Devices should have "Started" for Status field and "Automatic" for Startup field. If PARICE.SYS driver does not activate correctly, please follow these steps to enable the "PARICE.SYS" driver. Windows NT/2000 users: Go to the Control Panel > System > Hardware > Device Manager At the Device Manager window, select View and enable "Show Hidden Devices" Open the "Non-Plug and Play" folder and check that if Parice is on the list Highlight Parice, click the right mouse button and select Properties Under "General" tab, make sure Device Usage is "Enabled" Under "Driver" tab, make sure Current Status is set to "Start" and Startup is "Automatic" For Windows XP users:

21 RICE3000 Quick Start Go to the Control Panel > Performance and Maintenance > System > Hardware > Device Manager At the Device Manager window, select View and enable "Show Hidden Devices" Open the "Non-Plug and Play" folder and see if Parice is on the list (if Parice is not shown on list, select "Non-Plug and Play" then right click mouse. Select "Scan for hardware changes". It will scan and add new device driver to the list). Highlight Parice, click the right mouse button and select Properties Under "General" tab, make sure Device Usage is "Enabled" Under "Driver" tab, make sure Current Status is set to "Start" and Startup is "Automatic" After this, if you still have communication problems, you may have a bad parallel port in your PC or a bad parallel cable. Please try to locate other known good parallel cables to test the RICE3000 system. If this does not work, please try to install software on another PC and test the system again. If all attempts have failed please call technical support. Notes: If you have USB2PIO module, you have to use USB version of software and you must use "Appendix B: RICE3000 USB Device Driver installation procedure" to finish installation. The USB version of software can support parallel port driver also External Oscillator does not work? The RICE3000 provides an internal onboard crystal frequency and internal frequency synthesizer or your external frequency for emulation. It is much easier to use the first two options, because these are built in hardware and software functions. Special caution must be taken into consideration when using the external frequency option, because this involves the RICE3000 and your hardware and wide frequency ranges. If you have the incorrect capacitor values applied to OSC1 and OSC2 pins, your target crystal may not oscillate correctly. Please refer to the Microchip manual for "Oscillator Configurations" section. It provides details of capacitor values for different frequency ranges. Because the emulator-plug at the end of long cable, the cable length may alter the capacitance at OSC1 and OSC2 pins. You may have to adjust or fine tune the capacitor value to get the oscillator working correctly. Please use an oscilloscope to monitor the crystal oscillator frequency with emulator header plugged into your target. If you can do get the correct frequency from your target, you should be able to emulate correctly with the external frequency option The emulator will not run continuously? If your system's printer has a status window that is opened on the desktop, you will need to remove this window. The printer status program periodically polls the printer port for status and this will interrupt emulator operations The emulator does not run on the RC circuit in my application? The RICE3000 does not support RC oscillator circuits. You can use one of the followings clock sources: One of the internal frequencies that is closest to your RC OSC range. The frequency synthesizer to generate the desired frequency to match your RC OSC range How can I tell when the processor goes into SLEEP mode? When the processor goes to sleep mode, the only clock that is turned off is the internal oscillator driver of the emulator chip on the probe card. To check if the SLEEP command has taken effect, set a breakpoint at the SLEEP instruction or manually halt the emulator. Then upload the trace buffer and you should see that the SLEEP command is the last instruction being executed. You can also tell the processor is in sleep mode by monitoring pin 158 of the PIC16C04-ME processor or pin 69 of the PIC18C02-ME processor, which should be high during SLEEP mode. To bring the processor back from SLEEP mode, you will need to reset the processor. Or there is a wake up command from I/O or peripheral interrupts.

22 RICE3000 Online Help Cannot see some opened windows on the desktop? Go to the Window menu inside RICE3000 IDE and check the list of opened windows. If the window is on the list, use the Cascade command to bring all windows to the desktop. Arrange the windows again and issue the File>Save Workspace command to save the new layout to disk. This layout will be reloaded every time you load the file for debugging. If the window is not on the list, go to the View Menu and open the desired window.

23 Part III

24 19 RICE3000 Online Help 3 RICE3000 hardware features overview 3.1 Introduction This chapter is designed to help you understand the RICE3000 hardware features and limitations. If you use this information, it will help you to debug even your most critical real-time embedded system. The RICE3000 is a high performance in-circuit emulator. Not only does it support the 8-bit microcontrollers today, but it is designed to support 16-bit microcontrollers in the feature. The RICE3000 has a built-in frequency synthesizer, a real-time trace memory, the ability to support up to 2MB of emulation memory, and the ability to view hardware resource in real-time. These features are usually only found in expensive development systems, but the RICE3000 is a very cost effective solution providing all the high-end features at a reasonable price. Hardware Feature Highlights Real-time and full-speed emulation 2.7 volt to 5 volt emulation range Flash-based firmware for easy product updates Fast downloading and data retrieval during stepping via parallel port Standard 64K word installed program memory, expandable to 1M word (2 M Byte) 32K by 64-bit real-time trace memory Built-in frequency synthesizer from 48.8KHz to 50MHz Selectable internal oscillator and external oscillator support 12-clip external probe including an edge-triggered external break input, a break output, a trigger output, ground and 8 trace inputs Unlimited number of internal breakpoints within program memory address Trigger output on any address range within program memory 20-bit time stamp function with 4-bit prescaler resolution (250ns ~ 32us)

25 RICE3000 hardware features overview 20 One data capture conditional break with mask value and pass count range setting (0~1023) How does the Emulator differ from an In-Circuit debugger or simulator? You have three debugging tool choices for your embedded application. They are the software based simulator, In-Circuit debugger and emulator. The software based simulator is the most cost effective (even free from manufacturer vendors). The simulator provides basic chip logic function, it does not reflect real-time I/O activities. It is a good learning and evaluation tool. The In-circuit debugger is a very economical development tool, but it has the following limitations: It will use up some of your microcontroller or microprocessor resources: I/O pins (RB6 and RB7); one level of stack and some program memory and registers. It only can support flash base microcontrollers. It has to reprogram the chip when you revise your application code. This is very time consuming. It only can have one or a limited break points. An In-circuit debugger can only offer single step and run to break point capabilities. It does not have the powerful real-time trace functions to debug critical real-time problems. The emulator is more expensive than the simulator and In-Circuit debugger, but it is transparent for the target system and should not use any microcontrollers or microprocessor resources. In order to achieve this goal, the emulator has to implement the following features: Special emulation chipset from the manufacturer to support full speed and true emulation of the target chip. Implement program memory with all the control logic for advance program memory break capabilities: such as unlimited break points, conditional break,... Implement real-time trace memory circuitry for powerful advanced real-time trace functions to monitor real-time data activities in the real-time trace memory window. This is a very important feature for debugging multiprocessors or communication protocol projects. Real-time trace provides the valuable real-time information to debug a critical real-time system...etc. 3.2 Real-time and full-speed emulation Probe Card PB-5XB PB-12B PB-505B PB-12F675 PB-16F676 PB-F87XA PB-F648A PB-F819 PB-F88 PB-F1320 PB-F4320 PB-F452 PB-F458 PB-F8720 Supported Devices PIC16C52/54/55/56/57/58 PIC12C508/509 PIC16C505 PIC12F629/675 PIC16F630/676 PIC16F87XA/PIC16F87X PIC16F627A/628A/648A PIC16F818/819 PIC16F87/88 PIC18F1220/1320 PIC18F2220/2320/4220/4320 & PIC18F242/252/442/452 PIC18F242/252/442/452 PIC18F248/258/448/458 PIC18F6520/8520/6620/8620/6720/8720 Emulator Chip PIC16C01-ME/PQ PIC16C01-ME/PQ PIC16C01-ME/PQ PIC16C04-ME/PQ PIC16C04-ME/PQ PIC16C04-ME/PQ PIC16C04-ME/PQ PIC16C04-ME/PQ PIC16C04-ME/PQ PIC18C02-ME/PT PIC18C02-ME/PT Bondout Chip None None None PIC12F675-ME/PT PIC16F676-ME/PT PIC16F877A-ME/PT PIC16F648A-ME/PT PIC16F819-ME/PT PIC16F89-ME/PT PIC18F1320-ME/PT PIC18F4320-ME/PT PIC18C02-ME/PT PIC18C02-ME/PT PIC18C02-ME/PT PIC18F452-ME/PT PIC18F458-ME/PT PIC18F8720-ME/PT *Under development The RICE3000 emulation probes use the special emulator and/or bondout chip from Microchip Technology to

26 21 RICE3000 Online Help allow full speed and real-time emulation. Microchip currently support emulator chips are PIC16C01-ME for PIC16C5X family core; PIC16C04-ME for all PIC16C(F)XXX family core and PIC18C02-ME for PIC18C(F)XXX family core. Each family has different special peripheral features that are supported using different bondout chips. See above chart for detailed information. When emulation probes using the PIC16C04-ME or PIC18C02-ME chips, these allow access to the internal RAM on the fly, thus providing additional features like real-time data capture break. The PIC16C01-ME chip, does not allow access to internal RAM on the fly. It will not support the real-time data capture function. The RICE3000 software will automatically detect the installed probe to determine the supported features and make them available in the IDE. Functions not available are grayed out in the IDE. 3.3 Emulation voltages Voltage Jumpers Found on the bottom left hand corner of the RICE3000 base, these headers allow users to specify the operating voltage for the emulator. To select, shunt the corresponding jumpers next to the voltage value. Default is set at +5V. If none of the jumpers are shunted, the emulator can provide down to +2.7V. Because of the low +2.7V voltage maintained in the RICE3000, it will continue to maintain your program in RAM, even you have to switch the voltage from +5V to +2.9V. It is a nice feature for testing low voltage operations at different operating speeds. None (+2.7V) JP5 (+2.9V) JP4 (+3.2V) JP3 (+3.5V) JP2 (+4.2V) JP1 (+5V default) Full speed emulation is only available when the emulator is operating at 5V, At the lower voltages, the speed will be lower. Please refer to the Microchip data book "VOLTAGE-FREQUENCY GRAPH" for details. For lower voltage emulation, some of the special functions may not function correctly. Emulation Probes PB-5XB/PB-12B/PB-505B PB-12F675 PB-16F676 PB-F87XA PB-F648A PB-F819 PB-F88 PB-F1320 PB-F4320 PB-F452 PB-F458 PB-F8720 at 5V 32 MHz 20 MHz 20 MHz 20 MHz 20 MHz 20 MHz 20 MHz 40 MHz 40 MHz 40 MHz 40 MHz 40 MHz at 2.7V 4 MHz 4 MHz 4 MHz 4 MHz 4 MHz 4 MHz 4 MHz 8 MHz 8 MHz 8 MHz 8 MHz 8 MHz *Under development Notes: The real-time trace function may not work below +3.2V. 3.4 Flash-based firmware for easy product updates The RICE3000 currently uses a PIC16F877A as the main microcontroller. This allows for easy product updates. When new probe cards or features are available, you can download new firmware code into the unit from the RICE3000 software.

27 RICE3000 hardware features overview Fast downloading and data retrieval The RICE3000 uses a full parallel port with bi-direction mode (ECP and/or EPP mode, default setting) or USB interface (USB2PIO module, optional interface). These provides high speed program downloading and data retrieval from the real-time trace memory. This is very important when you use bigger memory microcontrollers such as PIC18FXXX family. 3.6 Emulation memory The standard RICE3000 comes with 64K words of program memory and 32K X 64-bit of trace memory. This is enough memory to support most of PICmicros. For PIC18FXX20 family, we do provide a 2MB (1M word) memory module for future memory expansion. The RICE3000 has implemented all the necessary hardware logic and working memory into its program memory. This will permit instruction fetching by the emulating processor during the user program execution as well as an unlimited number of internal breakpoints within the program memory address range. For Extended Microcontroller and Microprocessor use, it may be necessary to map the external memory into the RICE3000 program memory to take advantage of this special program memory control logic. 3.7 Real-time trace memory functions The RICE3000 has a 32K X 64-bit trace buffer memory. It records the 20-bit address bus, 16-bit data bus, 20-bit time stamp and 8-bit external logic inputs. All data is sampled in real time for each instruction. It can provide a 32K x 64-bit snap shot at any time. The real-time trace buffer memory is a circular buffer memory. It will continue capturing data in real-time. If data is over 32K, newer data will over-write the oldest data in the trace buffer memory. With the real-time trace memory hardware and software, you can use the following features to debug your critical real-time embedded system: 32K X 64-bit normal background trace (default setting) Single trace program memory address range. It will only capture the trace memory range into real-time trace memory. This is very useful to identify program loop bugs. Multiple trace program memory address ranges. This same as previous function, but it can record multiple trace ranges into the 32K x 64-bit trace buffer. Trace and Trigger function. You can set your trigger point in hardware and record all activities at this event. This function has three choices: Trace before Trigger, Trace about Trigger, and Trace after Trigger. Details of this are shown in the software feature overview section. 20-bit time stamp function with 4-bit prescaler resolution, time base range from 250ns; 500ns; 1us; 2us; 4us; 8us and 16us; 32us. One data capture conditional break with mask value and pass count range setting (0~1023). 3.8 External Probe Cable The external probe cable has twelve logic clips and is connected to the emulator through a 15-pin connector. Clips on the first eight cables, using standard electronic color-coding (brown to gray as for 1 to 8), are for external trace inputs. When connected to the target application, these 8 clips register the real-time logic status of those points during program execution. Captured data is automatically stored in the real-time trace buffer. The functions of the other four logic clips are assigned as follows: BRK - Break Input GND - Common Ground TRG - Trigger Output HALT - Break Output

28 23 RICE3000 Online Help Pin# Pin on DB Name BRK Cable Brown Red Orange Yellow Green Blue Purple Gray White Clip Black Black Black Black Black Black Black Black Black Description Bit 0 of the external trace input. Bit 1 of the external trace input. Bit 2 of the external trace input. Bit 3 of the external trace input. Bit 4 of the external trace input. Bit 5 of the external trace input. Bit 6 of the external trace input. Bit 7 of the external trace input. Break Input - will halt the processor when the qualified external break condition is satisfied. The break condition is set in the Debug>Add Breakpoints Menu - 13 GND Black Black Common Ground - 6 TRG Brown Red Trigger Output - generates a positive pulse at the trigger address. It can be used to trigger oscilloscope or to time measurement HALT Red Red Break Output - halts the processor at break condition and generates a positive pulse from high to low with a duration >50us. If connected to the External Break Input of another RICE3000 hardware, the HALT line can be used to provide simultaneous break for multiple RICE3000 emulation. - The RICE3000 has a 32K X 64-bit trace buffer memory; it records a 20-bit address bus, 16-bit data bus, 20-bit time stamp and 8-bit external logic inputs. All data is sampled in real time for each instruction. You can apply 8-external trace input clips to your target. It will record all data activity into the trace memory. You can analyze data down to each instruction cycle. If you do not apply these external trace input clips to your target, they will read as "1" in the trace memory window. 3.9 Different Oscillator Sources The RICE3000 provides several options to supply the oscillator frequency to run the processor: Divided from the internal onboard crystal that provides frequencies at 16 MHz, 8 MHz,..., etc. From the frequency synthesizer which provides frequencies from 48.8KHz to 50MHz. From external clock source in the target application. Special caution must be taken into consideration for using the external frequency option, because this involves the RICE3000 and your hardware and wide range of frequencies. If incorrect capacitor values for the OSC1 and OSC2 pins are used, your target crystal may not oscillate correctly. Please refer to the Microchip manual for "Oscillator Configurations" section. It provides detailed capacitor values for different frequency ranges. Because the emulator-plug comes from a long cable, the cable length can increase the capacitance to the OSC1 and OSC2 pins. You may have to adjust or fine tune these capacitor values to get the oscillator to work correctly. Please uses an oscilloscope to monitor the crystal oscillator frequency with emulator header attached to your target application. If you get the correct frequency from your target, you should be able to emulate correctly with the external frequency option.

29 Part IV

30 25 RICE3000 Online Help 4 RICE3000 software feature overview 4.1 Introduction This chapter is designed to help you understand the RICE3000 software features. We assume that you are familiar with the operations of Microsoft Windows system: How to open, move, resize or close the windows and use the standard menus and dialog boxes. If you encounter problems working with Windows, please refer to any of the numerous manuals for the Windows operating system RICE3000 Desktop Components When you run the RICE3000 IDE, the graphics user interface you see is the application desktop as shown below but without any opened windows. It offers all the standard Windows features including window size button, task bar button, close button, etc. When not using the RICE3000, you can reduce the desktop to the task bar with the task bar icon. Caution: PIC12/16's use a word mode program counter in source and trace buffer windows, you can set

31 RICE3000 software feature overview 26 break point on ODD or EVEN PC addresses. Because the PIC18 uses a byte mode program counter in source and trace buffer windows, you can only set break point on EVEN PC addresses. Default Desktop The default desktop (the desktop when you first run the application) has only of the followings items showing (from top to bottom): Application title bar - Displays the name of the application "RICE3000 PIC Emulator IDE" Menu bar - Lists the main function menus: File, Edit, View, Run, Debug, Tools, Config, Window and Help. All functions within the RICE3000 IDE are accessible through this. The menus that pull down from the menu bar allow you to access file operations and emulator functions. Underlined characters on the pull down menus are key accelerators that enable the named functions. Tool bars - The RICE3000 desktop contains a convenient toolbar to provide you with shortcuts for performing routine tasks. The toolbar and buttons are displayed below: Status bar - Located at the bottom of the screen, it displays the following information: Item Help Information Display Description This includes context sensitive help information as well as useful emulation hints and status (*Break Status) Line and column Number Ln xx, Col xx (Non-run mode)/ Frequency value (Run mode) Fr:xxx.xx KHz/MHz In non-run mode, this indicates the location of the text cursor in line and column number of the active source window. In run mode, this show synthesized frequency. Processor Status Halt The processor is in halt mode and not executing any codes. Run The processor is in run mode and executing the program in real time. Wait The emulator is executing a series of single steps and the destination program counter has not yet been reached. Current PC 0x0000 Current program counter. Oscillator Source Int. Osc The processor is running on the internal clock provided by the emulator. Ext. Osc The processor is running on an oscillator provided by the target application. Synthesizer The processor is running on a synthesized frequency PIC16F877A Displays the current processor. Current Processor *Notes: During a debug session, the RICE3000 IDE will show "Break Status" on the status bar when it encounter the break conditions. The following are the meanings of each break status: Break Point Break: Application run to the break point. CPU Break: Reset occurred due to the hardware or the RICE3000 issued reset command to the

32 27 RICE3000 Online Help hardware. Press <F4> (Halt processor) function key during Run mode. Trace Buffer Full Break: When you enable Trace Buffer Full Break from Break Point Dialog Box. Data Capture Break: When you enable Data Capture Break from Data Capture Break Dialog Box. External Break: When External Probe Cable encounters a Break Input signal from the Break Input clip. Unknow Break: The RICE3000 is in unknow state, you may have to power down the unit and restart again. Windows You can open different windows on the desktop to aid in debugging. Below we list the windows that users normally open, others are down to your own preferences and are described in the View Menu chapter. Source Window - This will be opened when you open a source file to edit or create a new one from scratch. This window will also be opened automatically when you load a file (COD, D39, Hex or binary object file) to debug, provided a valid MAP file is available to provide the source line-opcode correspondence. Once you have finished compiling your codes and have downloaded it to the RICE3000 emulator, you are ready to start debugging by opening additional windows. These are the common windows that are normally opened for monitoring register contents. Special Function Register Window - This displays the special function registers for the selected processor. The registers are displayed in full as well as organized into different banks. To view registers in different banks, click the file tab at the bottom of the window. Data Memory Window - This window displays the current contents of all the data file registers of the specified processor. The locations that are affected by the last executed instruction will be highlighted for easy reference Using Context Menus Clicking the right mouse button activates context menus. The contents of the menu depend on the position of the mouse when the menu is activated. When the cursor is placed inside an opened window, the context menu provides functions pertaining to the active window as well as basic functions to change font and color. If the cursor is positioned in other parts of the desktop outside any opened windows, the context menus provide shortcuts to popular emulation controls similar to the buttons in the toolbar. The following table summarizes the commands that are available in the different menus.

33 RICE3000 software feature overview Item Description Set Font Select the font used for the current window. Set Color Select the color for the different elements in the current window. To change color, highlight the item to be modified and select a color from the drop list. Change as many items as desired. When finished, click Apply and the changes will be updated in the current window. Text: Basic texts and codes inside the respective windows. Text Background: Background color for the window. Selected Text: Texts selected by the users. Selected Text Background: Color of the reversed bar for the selected text. 28 Active Windows All All Source Margin Background: The margin on the left which displays program counter, next program counter and breakpoint indicator. Reserved Word: Text defined as reserved words. Comments for source codes. String: Strings of text in the source codes. Hide Heading Hide/Un-Hide the column heading for the data in window. FSR, Data, EEPROM and Program Memory Enable Tooltips Enable/Disable tooltip, which displays cell address and content. The tooltip shows the address of the current cell when navigating with the thumb tab on the right side of the window. Clear Memory Clear the data to all one's. Fill Memory Reset the data to valid value. FSR, Data, EEPROM and Program Memory EEPROM Memory EEPROM and Data Memory To Go to a specified address in the current window. Type the new address in the Edit field, for example, 0x10F4, and press [Enter]. Data, EEPROM and Program Memory Find Find a data string in the active window. Type in a value in the opened dialog box and press [Enter]. The search string is case insensitive and need to be entered in hex like 0x0FFF. Find Next Continue to find the specified string in the current window. Data, EEPROM and Program Memory Data, EEPROM and Program Memory Enable Update EEPROM Toggle to update EEPROM memory whenever the locations are being written to. Download EEPROM Download data in the EEPROM Window to the emulator. EEPROM Memory EEPROM Memory Upload EEPROM Upload EEPROM data in the emulator to the buffer in RICE3000 IDE. EEPROM Memory Compile Compile the codes in the active Source Window using the compiler Source

34 RICE3000 Online Help Customizing the Desktop You can customize the following on the desktop: location of the toolbars number, location and size of opened windows Font and color used in each window Once the desktop elements have been finalized, you can issue the File>Save Workspace command to save the settings to disk. This layout will be restored automatically whenever you load the same object file to debug. The general layout, font and color selection will also be saved to the Windows Registry upon exiting the RICE3000 IDE. Moving the Toolbar After setup, the dock able toolbars automatically rest horizontally across the top of the screen. You can move them to the bottom, to either side, or to any part of the desktop. To move the toolbar: Point the mouse cursor to the two vertical bars to the left of each tool bar or to anywhere on the toolbar outside the buttons. Click and hold the left mouse button. When the tool bar is highlighted, drag the bar to any location on the desktop where you want the toolbar to dock. Release the mouse button. Here's how the different dockable toolbars will look on different parts of the desktop. Window Layout When you load a debugged file, the Disassembled Code Window or Source Window will be opened automatically depending on the presence of a valid Map file for source line support. You can open extra windows to display other information via the View Menu. To custom size a window, Place the mouse cursor on any one corner of the opened window. The mouse cursor will be changed to a slanted line with two arrows: one at each end. Click and hold the left mouse button and drag it to a new location to resize.

35 RICE3000 software feature overview Release the mouse button when done. To close, minimize or resize a window, Click the corresponding size button on the top right hand corner of each window. There are four different buttons: Close Window ( ( ) button, Maximize Window ( ) button, Previous Window ( ) button and Minimize Window ) button. Changing Fonts The screen font used in each window can be customized via the Context Menu. The default font for all windows is 9 point Fixedsys font. More details on Changing Fonts. To change font: 1. Position the cursor inside the desired window. 2. Click the right mouse button to activate the context menu. 3. Select Set Font The Font dialog box will pop up. 5. Select the font including style and size and click OK to exit. Notes: Do not use any font size that is not available directly from the Set Font dialog box. Using too small a font size will cause the screen to display incorrectly. Changing Colors Depending on the active window, the Set Color... dialog box allows you to change one or more elements listed in the table. You can always set the color back to the default settings by clicking the Default Colors button. More details on Changing Colors. To change colors: Select the item to be changed in the list box. Click Set Color... Pick a color from the Color dialog box and click OK to exit. Click Apply to activate the change. RICE3000 Environment Every time you exit the RICE3000, the window layout, as well as the LPT port address, communication time delay, processor type, oscillator source, frequency and compiler options, etc, will automatically be saved to the Windows Registry and be restored next time you run the RICE3000. The Environment is different from the Workspace (.INI) file, which saves information specific to the file being debugged. The INI is an ASCII text file which saves settings regarding the debugged file including oscillator setup, breakpoints, watch variables, trigger points, window layout, etc. when the File>Save Workspace command is issued. The workspace will automatically be restored whenever the object file is reloaded for debugging. You can access the RICE3000's information in the Window Registry using the following steps: At the Windows Start Menu, select Run... Type in REGEDIT in the Open field in the Run dialog box. Open the HKEY_CURRENT_USER folder. Open the Software folder and then the folder for Data Action L.L.C. Open the folder for Rice3000 PIC Emulator IDE. Open the individual folders to see the different settings for each of the elements in RICE3000. You can delete the entire Rice3000 IDE folder and allows the RICE3000 program to start with the default settings. The folder will be re-created when you exit the RICE3000 IDE.

36 RICE3000 Online Help Using Different Compilers The RICE3000 is an integrated development environment (IDE), which allows you to edit and compile your program. In order to compile within the IDE, it is necessary to set up the compiler, provide the directory path and all necessary switches so that compiling is just a keystroke away. The RICE3000 supports the following compilers within its IDE: MPASM/MPASMWIN MPC PCM/PCB/PCW/PCWH from CCS PICC/PICC18 from HI-TECH C PBP/PBPW PicBasic Pro C2C CC5X For other compilers not listed within the IDE, or for users who use linkers, open the respective applications to compile the codes or use the DOS command to run the batch files for compilation and linkage. Once the debug file is generated, load that into the RICE3000 for source level debugging. These compilers/linkers includes: IAR C Compiler MPLABC and linker Setting up the Compiler Go to the Tools>Compiler Options menu. Click the Browse button and select the directory path where the compiler resides. Click on the executable file and the program will be added automatically to the Compiler field upon exit. Click the Default Options button to use the default switches for each compiler. Add any switches as desired. Check the following " " if you would like to use the hex file (instead of the binary object file) for debugging. This allows the use of any embedded codes for debugging. For example, the PCM compiler can output the EEPROM data with the... command. By using the hex file, this data will be loaded and displayed in the respective windows for user inspection. Check the option " " if you would like the codes to be automatically downloaded to the emulator upon successful compilation. Adding New Compiler If the compiler you use is not on the list and can be called by running an executable file, you can add that to the list by clicking the Add New Compiler option from the Compiler field and selecting the executable file from the Browse button. Refer to the compiler manual for compiler option setting. You can add compiler options using the Customize button. The input name will be added to the list. It is best to use compilers that generate a COD or COFF output. Otherwise, source level or symbolic debugging might not be available. Note1: You can only add executable file with EXE or COM extension, batch files with BAT extension cannot be executed via this method but only via the Tools>DOS Command menu. Note2: If our compiler has its own IDE, the RICE3000 perfers to work with COD or COFF or UBROF debugging files which have been generated through the compiler's IDE Source Level Debugging Basics The RICE3000 provides source level support for popular PIC assemblers and C compilers. Most assemblers and compilers do not output the MAP and SYM files in the same format used by RICE3000. Instead, they output debugging files such as COD; COFF and UBROF. Using these file formats, the RICE3000 will generate necessary new debug files for source level debugging purpose. The RICE3000 uses the following files:

37 RICE3000 software feature overview 32 Source Files These are text files containing the source code of PIC instructions written in assembly or C and having.asm and.c extensions respectively. They might also include file modules or file headers. If the RICE3000 cannot locate these files, you will see an error message and the object file will be disassembled, providing disassembly codes for debugging only. OBJ file (Binary or Hex) These files contain the actual opcodes generated by the compilers. The RICE3000 supports both 16-bit binary and hex object files. If binary object file is used, its size should be identical to the program memory size of the emulated device. The RICE3000 uses the binary object file by default. It is usually created by the CODMAPW/COFFMAP utility when the user loads a COD/COFF file for debugging. MAP file This is the most important file to provide source level debugging support. The MAP file is a binary file consisting of source line and program counter correspondence. SYM file This plain ASCII file consists entirely of a list of symbols, their values and types. The format is one symbol per line. This symbolic information is used when defining watch variables and for specifying breakpoints and trigger points at address label within the RICE3000. Other Debugging Files COD file This is the most common debug file generated by PIC assemblers and compilers. The COD format is defined by Bytecraft Limited. When a COD file is loaded for debugging, the RICE3000 will run the CODMAPW, a console based utility to extract all the necessary information and convert into the required SYM, MAP and OBJ files. Note: Existing COD file can only support source level debugging information up to 32K word (64K bye). If your source code is over 32K words, you have to use "Disassembled Window" to do Source-level debugging. The "Disassembled Window" is in a split windows format. It will have disassembled code on the left panel of the window and your source code on the right panel of the window. In order to support a PC (program counter) over 32K words, you have to generate Microchip compatible List file. The RICE3000 will extract the PC information from the List file. You can only set break points in the left side of disassembled code window. The disassemble code window (left side) will be synchronized with your source code window (right side) during single stepping or run to break point. COFF file (*Under development) This debug file for memory size over 0X8FFF (32K) from PIC assemblers and compilers. The COFF format is defined by the Microchip COFF file format. When a COFF file is loaded for debugging, the RICE3000 will run the COFFMAP, a console base utility to extract all the necessary information and convert into the required SYM, MAP and OBJ files. UBROF file UBROF is the debug file output from the IAR PIC C compiler. It is a robust format which contains complex information including structure, arrays, etc. Using this format allows users to watch complex variables which are indicated by the " " symbol next to the variable in the Watch Window. Click on the " " to expand the variable. Note: UBROF outputs from some compilers are stripped down version of the original format and might not contain all the necessary information on all variables for watching. Please consult the compiler developer as to what level of UBROF support is available Editing and Compiling in the IDE Editing Source Code You can create a new source file or open an existing file to edit. The Source Window is syntax sensitive for files with.asm,.c,.h and.inc extensions, highlighting instructions and comments in different colors.

38 33 RICE3000 Online Help File>New Source - Use this command to open a blank Source Window to start writing the codes from scratch. In the New Source dialog box, select the directory path and enter a new filename including the extension to hold the new codes. Exit the dialog box by clicking the Open button. A blank Source Window will be opened. File>Open Source - Use this command to open an existing source file. Select the file to use in the dialog box. Use the file filter File of Type to display files with the selected extension. Compiling Source Code Before compiling, setup the assembler or compiler to be used in the Compiler folder under the Tools>Compiler Options menu. Select the compiler from the drop list and enter the directory path where the compiler resides. The paths for the respective compilers will be saved to the Windows Registry; so if you are using multiple compilers, just select the compiler and the directory path where the executable file resides will be restored in the dialog box. Once the option is set, RICE3000 will call the compiler or open a child window to execute any DOS-based compiler whenever the compile command is activated. Example The following example will compile TUTOR.ASM with MPASMWIN assembler. If you do not have MPASM, you can follow the outline with your own PIC assembler/compiler and source code Go to Tools>Compiler Options and click the Browse button to select the directory path for the assembler and the double click " " entry to select. The compiler path and compiler will automatically be added to the dialog box. Go to File>Open Source menu and select the file TUTOR.ASM from the \RICE3000\SAMPLES\ directory. The TUTOR.ASM is a universal sample program running on different PICs. Go to line 35 where it lists the processor type. Change to any device, which is supported by the probe inside your emulator, and comment out or delete the file output option (f=inhx8m). Note also to change the "ScratchPadRam" value on line 43 to 0x10 for 16C5x and to 0x20 for other PIC parts. 5. Insert an error on line 61 by changing the routine name from ReduceA to ReduceAA Compile the codes by clicking the Compile button ( ) or by pressing F12. This command loads and runs the MPASMWIN assembler. When compilation is completed, the status message will read "Error Found" and the Error Window will open.

39 RICE3000 software feature overview To fix the error, double click on the indicated error message and you will be directed to the source line where the error was found. Fix the error and assemble the file again. If there are no compilation errors, the dialog box will show "Assembly Successful". 9. If you have specified download the codes automatically upon successful compilation (under the Tools>Compiler Options menu), you will see a Dialog box window being opened and running the CODMAPW utility. After the MAP, OBJ and SYM are created, the new object codes will be downloaded into the emulator for debugging. 10. The processor will reset itself upon successful completion of the download and you will see the opcodes in the text margin to the left and the next PC symbol ( ) pointing to the next line to be executed Downloading Object Codes The RICE3000 has been set up to automatically download codes into the emulator. If there are no compilation errors, you can change the default setting in the Tools>Compiler Options menu. If you compile the codes outside the RICE3000 IDE and successfully generate a COD or UBROF (.d39) debug file, you can use the following commands to download codes into the emulator for debugging. File>Load Debugged File - Use this command whenever you load a new file for debugging. If the file is a COD file, you will see a window executing CODMAPW to generate MAP, OBJ and SYM files. When the process is done, you will be brought back to the RICE3000 IDE which loads the OBJ to program memory and then uses the information in the MAP file for source level debugging. File>Download Program - This command is the same as the Load Debugged File function, except you will not be prompted for the filename. Use this command to download if you are working on the same file, but have recompiled the codes outside the IDE or if the automatic download is disabled. If the codes have been downloaded to the emulator, you should see the message "Resetting emulator" on the Status Line and the cursor will point to the reset vector in the Source Window. You are now ready to step through your codes Using Specific Compilers This topic covers the following assemblers/compilers: MPASM/MPASMWIN MPC/MPLABC MPLAB-C18 Hi-Tech C IAR Workbench CC5X Note: If our compiler has its own IDE, the RICE3000 prefers to work with COD or COFF or UBROF debugging files which have been generated through the

40 35 RICE3000 Online Help compiler's IDE. Using MPASM/MPASMWIN With these assemblers, the RICE3000 uses their COD output to extract the source level debug information. The COD file is a compact structured binary image of the generated codes. Upon opening the COD file to debug, the RICE3000 will run the CODMAPW utility to generate the OBJ, MAP and SYM files. You can also run the CODMAP utility separately under the Tools>CODMAPW menu. Using MPC/MPLABC When using MPC, make sure to observe the following instruction, otherwise the COD file generated will not contain file number and source line information for source level debugging support. Insert the line "#pragma option v" in your source code to enable the verbose symbol mode. Compile the source file with list file and error file option enabled. The list file is used for source line reference during debugging. You can add the list file output option in the source code or make sure to check the Default Option button with the +l +e switches enabled. The MPC12.LIB or MPC14.LIB must exist in the same directory as the C source files. Using Hi-Tech C Compiler To use the PICC compiler, you need to add the "-G -E filename.err -processor" switches. The -G switch generates the enhanced source level symbol table; the -E switch creates the error file to redirect error messages to the RICE3000 IDE to indicate the source lines that are in errors. When there are compilation errors, you will see a DOS screen displaying the following: HI-TECH C COMPILER (Microchip PIC) V7.83 PL3 Copyright (C) HI-TECH SOFTWARE Serial no: xxxx-xxxxx; Licensed to: xxxx xxxx, xxxxxxxxx Close the DOS window by clicking the button and the following error window will be opened. Double click the error message and you will be redirected to line 47 of the Source Window where the error is found. Correct the error in the source line and recompile the file again. After successful compilation. the RICE3000 will load the COD output, execute CODMAPW to create OBJ, MAP and SYM file and then load the object codes to the emulator for debugging. Note: If the -E switch is absent, the error messages will only dump to the DOS screen and upon closing the DOS window, you will not be able to access the error messages information. Using IAR Workbench It is recommended to use the Workbench to edit and compile your codes. After successfully compiling and linking all files, load the output file (filename.d39) into the RICE3000 IDE for debugging. Please make sure to check the following options under the Workbench's Project>Options... Menu. Category ICCPIC Folder Output Selection Preprocessor XLINK Output Use the Default Output file name (filename.d39) and default (debug) format.

41 RICE3000 software feature overview 36 Using CC5X Compiler If CC5X is not found in the compiler list, you can follow these steps to add the compiler Go to Tools>Compiler Options menu. Click the Browse button and go to the directory where the executable for CC5X compiler is located. Double click on the CC5X.EXE, CC5XFREE.EXE or CC5XDEMO.EXE to exit. The compiler path and executable file will be added to Compiler Path and Compiler respectively. Click OK to exit. The compiler will be added to the list. Once the compiler is set up, open the source file using the File>Open File ( button ( ) to compile the codes. 4.3 ) command and click the compile RICE3000 Debugging Basics Device Configuration Before you load the program to debug, make sure to specify the device type used in the program. Go to Config>Device Configuration or click the chip button ( ) in the toolbar to access the Device Configuration dialog box as shown below.

42 37 RICE3000 Online Help Field Name PIC Processor Description Select the processor to be emulated. If the processor you are using has a different revision number at the end, just select the one with the same basic part number. For example, select 16C74/74A for 16C74B. If you are using a binary object file from COD for debugging, the RICE3000 will check the size of the object file against the current processor. Any discrepancy in file size will lead to this dialog box for users to re-specify the processor. Probe Card A display field which indicates the probe to be used for the selected processor. Emulator Chip A display field to indicate the emulator chip used on the emulation probe. These chips provide emulation of the processor's core functions. They possess part numbers 16C01ME, 16C04-ME or 18C02-ME. Here is a summary of the different chips: 16C01-ME - for 16C5x, 12C5(E)xx and 16C505 16C04-ME/PT - for mid-range 16Cxxx. 18C02-ME/PT - for PIC18C(F)XXX Bondout Chip A display field for the bondout chip used to emulate the selected processor. These chips provide emulation of the peripheral functions for the particular device groups. Installed Program The RICE3000 automatically detect the installed memory size. All current RICE3000 Memory in Emulator comes with a standard 64K program memory and, can be upgraded to a 2M byte memory module for PIC18FXX20 family. Oscillator More oscillator configuration options. HS; RC; EC/4; EC/RA6; HS/PLL; RC/RA6... (With HS/PLL option, it will enable 4X frequency PLL multiplier) Processor Mode Available for PIC18FXXX20 processors only, this field allows users to select the chip's mode of operation: MCU mode uses the chip's internal program memory only; Extended MCU can access both internal and external memory up to 1M words (2MB); Microprocessor MPU mode uses only external memory (up to 1M words) and on-chip program memory is ignored. Off-Chip Memory Size Inputs the size of the off-chip memory used for external memory emulation. This feature is only available for PIC18F8X20 only. Watchdog Timer/ Postscale Bits Select to enable or disable watchdog timer during emulation. In PIC18, it has more Watchdog Timer Postscale options. Enable External Oscillator Check to use the external oscillator source provided by the target application. Enable Internal Oscillator Check to use the internal oscillator source provided by RICE3000. The emulator provides several frequencies divided from the internal 16 MHz crystal. Enable Customized Synthesizer Frequency in KHz/MHz Enter valid frequency for target processors. Synthesize frequency range: 48.8KHz ~ 50Mhz, with 0.1% accuracy. (Example with HS/PLL option: Enable HS/PLL from Oscillator field and enter 10MHz to Synthesized Frequency filed. It will generate 10Mhz x 4 = 40MHZ to target processors.) Stack Overflow Enable Bit Select to enable or disable Stack Full/Underflow Reset Enable bit. CCP2 Mux Bit Select CCP2 input/output with RC1 or RB3 Oscillator Setting The RICE3000 supports all oscillator modes except for the RC mode of the PIC processors. For RC oscillator mode, users should use the internal oscillator provided by the emulator or Customized synthesizer frequency. The internal clock is provided so that users can walk through the codes without the presence of the target application. Internal Oscillator

43 RICE3000 software feature overview 38 The internal frequencies available are 16 MHz and their divided clocks at 8 MHz, 4 MHz, 2 MHz, 1 MHz, 250 KHz, 62.5 KHz and KHz. External Oscillator If you need to run your application with frequencies not available internally, you can use one of the following external sources. a crystal on the target (for HS and XT device type) an external oscillator input connected to the OSC1 pin of the PIC device (for RC and LP device type) Frequency Synthesizer The frequency synthesizer can generate frequencies from 48.8 KHz to 50 MHz with 0.1 % accuracy for your application during debugging secessions. Selecting Oscillator If you are using the internal oscillator. In the Config>Device Configuration menu, check the Enable Internal Oscillator field and select a frequency from the list. Otherwise, do not check this field (When using the external oscillator or customized synthesizer frequency). The selected oscillator source and/or internal frequency used will be saved to the INI file whenever the File>Save Workspace command. This will be the default setting when you load debugging files. Program Memory The current RICE3000 comes as standard 64K program memory; it can be upgraded to a 2MB (1M word) program memory module. The RICE3000 IDE will automatically detect the available program memory inside your emulator and display it in the Device Configuration dialog box. You do not need the entire 2MB memory except when emulating the PIC18 family devices. With the RICE3000, the PIC18 family devices can be configured in one of the three operating modes given below. Microcontroller MCU - memory resides in the PIC device. During emulation, the RICE3000 will provide the entire memory. Extended XMCU - The lower portion of program memory resides in the PIC device while the rest of program memory is fetched from the target application. During emulation, all the lower and upper memory will reside in the emulator Microprocessor MPU - All memory resides off-chip for this mode. During emulation, all off-chip memory will reside in the program memory inside the emulator. Program Execution The RICE3000 uses the emulator and bondout chips from Microchip to provide emulation. Features offered by the RICE3000 are controlled by the capabilities of these emulation chipsets. Emulation Speed Emulation of the 12-bit PIC16C5x, PIC16C505 and PIC12C50x are supported at full speed to 20 MHz with the PIC16C01-ME bondout chip. The PIC16C01-ME was initially designed for the 16C5x and PIC12C5xx processor, it cannot access the internal data bus while the processor is running. For the PIC12C5XX, wake up from pin change functions are not supported. For the mid-range PIC16Cxxx processors with PIC16C04-ME emulator chip. They will all run to the full speed of 20 MHz and can access the internal data bus while the processor is running. All registers and data bus information can be retrieved when the PIC16C04-ME is put into a halt state. For PIC18C(F)xxx processors, the PIC18C02-ME will run to full speed of the 40 MHz (10MHZ X 4 with PLL option). All registers and data bus information can be retrieved when the PIC18C02-ME is put into a halt state. Register Contents When the PIC16C04-ME and PIC18C02-ME are used. These processors allow access to all the registers and external data bus in real-time, thus allowing real-time data bus capture and break functions. Real-time Execution The RICE3000 run at the actual execution speed (real time) of your target application, stopping only at specified

44 39 RICE3000 Online Help breakpoints or upon an interrupt from the user. Real-time emulation occurs when you issue a command such as: [F6] Run from Reset [F7] Run [F3] To Cursor These commands run the processor until a breakpoint is encountered or interruption by the user. Note that when using the [F3] To Cursor command, the instruction at the cursor location will be executed when the processor stops running. Non-real-time Execution Unlike real-time execution where the processor is in Run mode, non-real-time commands force the processor to execute a single opcode and then put it back in the Halt state. This allows you to step through codes, watch program flow and see all register contents. Non-real-time execution occurs with the following commands: [F8] Single Step [F9] Step over Calls [Shift]-[F9] Return to Caller [Alt]-[F8] Animate Often loops are used to generate timing delays, but when using non-real-time execution, e.g. using [F9] to step over a timing loop, it will take a long time to execute and the Processor State will display "Wait" in the Status Bar. In such a case, you can: use other real-time execution functions, like Run to breakpoints or [F3] Run to Cursor commands to execute these loops, decrease these delay loops, or conditionally remove these sections during non-real-time execution, i.e. by commenting out these delay loops. Breakpoints A breakpoint is a condition in which the processor halts program execution when a certain criterion is met. When a breakpoint is set, the emulator will break after the instruction at the break address has been executed. For example, if a breakpoint is set at address 120h, the processor will break after executing the instruction at address 120h. Break Conditions The RICE3000 can be programmed to halt in the following ways: Break on address match - Allows users to halt the processor when the program counter equals certain values. Note that the processor breaks only after the valid instruction has been executed. Real-time Data Capture Break - for new emulation probes using the PIC16C04-ME or PIC18C02-ME bondout chip, users can program the processor to halt upon real-time data contents. Break on trace buffer full - Users can program the emulator to halt whenever the 8K real-time trace buffer is full. Break upon an external break signal - One of the external probes on the RICE3000 is Break Input. It is used to halt the processor when the line sees a rising or falling edge. Break on stack overflow - The processor will halt when the stack overflows. Animation Conditional Break Animation is a method of automatically single stepping the processor. It allows you to view the changing registers when the processor is put in the Halt state after each single step. The Conditional Break during animation allows users to break non-real-time program execution based on the logic conditions of the defined parameters. Real-time Tracing The 32K deep X 64-bit wide bit trace logs program execution in real-time. The trace memory is a circular buffer,

45 RICE3000 software feature overview 40 which continuously captures data and loses the oldest data when it is full. The most recent information is stored at the bottom of the buffer and pointed to whenever you upload the trace buffer. It logs address, opcodes, 20-bit time-stamps, 16/8-bit data, 8-bit external logic inputs (from external clips), and the executed instructions. From "Trace Buffer Option" dialog box, you can either enable "Data Bus Address" or "Time Stamp" to capture this information in the Real-time trace buffer memory. Working together with the breakpoint system, the trace buffer contains valuable information for real-time embedded system debugging. 4.4 File Menu The File menu offers function concerning file operations, workspace, and external memory set up. New Source The New Source ( ) command leads to the New Source dialog box where users can input a filename to hold the new source file. Enter the entire filename together with the extension in the File name edit box. Click Save to exit. A source window with the specified filename will be opened. You can start typing codes in the open window.

46 41 RICE3000 Online Help Open Source The Open Source ( ) command leads to the Open Source dialog box where users can specify the directory path and text file to be opened. Double click on the filename in the list, or highlight the file and click Open to exit. A new Source Window containing the source file will be opened. Load Debugged File The Load Debugged File ( ) command prompts you to load a program from disk to debug. Depending on the file type you are loading, the RICE3000 may perform extra functions before downloading the codes to the emulator for debugging. A common function is to run the CODMAPW utility upon loading a COD file. This utility extracts debugging information from the COD file and creates OBJ (binary), MAP and SYM files for source level support. You can load the following type of file for debugging:

47 RICE3000 software feature overview 42 COD - from most PIC compilers (MPASM, MPC, MPLABC, Hi-Tech C, PCM, CC5X, etc) List File - from SPASM or CVASM16 assemblers Binary 16-bit Object File - from TASM16 assembler or MPASM Intel 8-bit Merged Hex File UBROF File - from IAR PIC C compiler COFF File - from compiler support COFF format Note: Loading only the object files (binary or Intel 8-bit merged) will not provide source level support unless the respective debug file, especially MAP file, is present. Procedures 1. Select the directory path where the debugged files reside. 2. Use the file type filter at the Files of type field to display files with COD, OBJ, or LST extensions. 3. Highlight the file to be used and click the Open button. When COD and LST files are selected, RICE3000 will execute the respective CODMAPW and PMAP utilities to create the relevant debugging files and load them to the emulator for source level debugging. RICE3000 Desktop If no other window is opened or if there is no INI (See Workspace below) file associated with the file being debugged, you will see the Source Window with a yellow triangle ( ) pointing to the reset vector. You are now ready to debug your application. To aid debugging, you can open more windows from the View Menu. It is recommended to open the window whose data will be updated after each instruction step. The addresses of those content have been changed from the last executed instruction will be highlighted for easy reference. Data Memory Special Function Registers Call Stack Save The Save command leads to a submenu through which you can save the contents of the following to disk in an ASCII file in the selected directory:

48 43 RICE3000 Online Help In the Save dialog box, select the directory path and enter a filename with extension in the edit box. Click the Save button to write the data to disk and exit. Note: All open source files will be saved automatically before compiling. Open Workspace This command restores the window layout and setup information from a text file which has the same root name as the debugging program, but with an.ini file extension. The Workspace file (filename.ini) is a text file which contains information on the environment and the debugged project including object file name, file path, breakpoints setting, watches variables, and trigger points. If the workspace has not previously been saved, issuing this command will lead to the message "Cannot open filename.ini file." This command is rarely used because the saved workspace, which shares the same root name as the debugged file, will automatically be loaded whenever the user opens the debugged file. Save Workspace This commands saves the current desktop and debugging file information to the "filename.ini" in the current directory where the filename is the root name of the opened debugged file. The INI file is a ASCII text file (see example PB18.INI) containing the following Information: current processor watchdog setting oscillator source and frequency (if internal OSC) debugged file name window layout tab size for source window break points trigger points watch variables set trace range Notes: If you need to modify your existing code during the session. Before you try to re-compile your code, the IDE will pop up the message box: Do you want to save your "Workspace"? The software IDE will not save Workspace for you automatically, because your changes may affect these setting. If you change dose not alter the setting and wish to record the last change, please click "OK" button to save "Workspace". Download Program The Download Program ( ) command downloads the object codes into the emulation memory inside the RICE3000 emulator hardware for debugging. This function is the same as the Load Debugged File function except that a debugged file must have already been loaded before this function/tool button is available. So you will not be prompted for a file to debug.

49 RICE3000 software feature overview 44 If the debug file you've loaded is in COD format, the RICE3000 will run the CODMAPW utility to output the new OBJ, MAP and SYM files and then download the new codes to the emulator. Similarly, if the debug file is a LST file, the RICE3000 will run the PMAP32 utility to generate the new debug files before downloading the new codes. Upload Program This command reads the object codes residing in the emulation memory of RICE3000 emulator and displays them in the Program Memory Window. Verify Program This command reads the data inside the emulator and compares it against the buffer in the Program Memory Window. You will get a "Verify Program Pass" message if the data from both sources is identical. If verification is negative, you'll see the following dialog: Click Yes to open a source window which displays the addresses where the errors are found and the data read from the device (emulator) and the buffer. You can issue the File>Save>Save Verify Error command and look at the verified results in the ASCII text file. EEPROM This command is active only when the current processor is an 16C8x, 16F8x or 16F87X which have EEPROM data RAM. When active, it leads to a set of commands relating to the device's EEPROM functions. Open EEPROM File - open a data file for the EEPROM of the supported processor Save EEPROM File - save the contents of the EEPROM window to disk Download EEPROM - download the contents of EEPROM window to the emulator Upload EEPROM - upload data from the EEPROM memory of emulator and display it in the EEPROM window Clear EEPROM - clear the contents of the EEPROM window to FFs Note: This command is not available for PIC12CE5XX and PIC12CE6XX. Because the emulation chipset dose not provide embedded EEPROM function. The emulation header use EEPROM chip (i.e. 24LC01B) to simulate EEPROM function. Print Source This command sends the contents of the active Source Window to the printer. Print Setup This command leads you to the printer setup dialog box where you can customize printer, paper size, paper orientation, etc for the source file to be printed with the Print Source command. Recent Files The RICE3000 displays the most recently used files at the end of the File Menu. Whenever you open a file, the

50 45 RICE3000 Online Help RICE3000 will record the filename in the list so that the file that was last opened appears at the top. The list displays up to four files that you have last worked on. You can easily retrieve these files by clicking on the filename. The files can be a source or debugged file with C, ASM, H, INC, COD, LST or other extensions. 4.5 Edit Menu The Edit menu offers functions to allow you to edit codes in the Source Window. Convenient bookmarks are available for quick navigation within the source codes. Undo Use this command to reverse the last edit action, if this is possible. The name of the command changes, depending on what the last action was. The Undo command is grayed out when you cannot reverse your last edit action. Cut Use this command to remove the currently selected data from the document and put it on the clipboard. This command is not available if there is no highlighted data in the Source Window. To select text: 1. Point to the beginning of the text you want to select and click the left mouse button 2. Drag the mouse to the end of the line you like to select. To select a column block of text: 1. Point to the beginning of the text you want to select. 2. Hold down the ALT key and click the left mouse button or the arrow keys. 3. When you release the ALT key, the block of text is selected. Cutting data to the clipboard replaces the contents previously stored there. Copy Use this command to copy selected data onto the clipboard. This command is not available if there is no highlighted data in the Source Window. Copying data to the clipboard replaces the contents previously stored there. Paste Use this command to insert a copy of the clipboard contents at the insertion point. This command is not available if the clipboard is empty.

51 RICE3000 software feature overview 46 Find The Find ( ) command is available in the Source Window only and is used to search for a specific string in the source document. You will find the following parameters in the Find dialog box. Find What - Enter the data string to be searched Match whole word only - Check here to highlight strings with the same character combination, regardless of case. Match Case - Check here to highlight strings with the exact match, including upper and lower case combination. Direction - Specify the direction of the search with respect to the current cursor position. If no option is specified, the RICE3000 will highlight any string which contains the input search elements. With the Find dialog box still active, click Find Next or press [F] to go to the next match. You will hear a beep when there is no match and a message box saying, "Cannot find the string "xxx" ". Replace This command is only available within the Source Window where users can use it to replace a current string with a new string in the source document. This command allows you to specify search and action parameters as outlined below: At the Replace dialog box, enter the search string in the Find what field and a new string in the Replace with box. You can check one or both match options. Check the Match whole word only option to highlight strings with the same character combination, regardless of case. Check Match case to highlight strings with the exact match, including upper and lower case combination. If no match options is specified, the application will highlight any string which contains the input search elements. Search Parameters Find What - Enter the data string to be searched. Replace With - Enter the new string to replace the text string found. Match whole word only - Check to highlight strings with the same character combination, regardless of case. Match Case - Check to highlight strings with the exact match, including upper and lower case combination. Action Parameters Find Next - Click this button or press [F] to skip the matched string and go to the next match. Replace - Click this button or press [R] to replace the matched string with the new string and go to the next match.

52 47 RICE3000 Online Help Replace All - Click this button or press [A] to replace all the matched strings with the new string. Go To This command moves the cursor to the specified location in the currently active window. The data type available with the Go To command depends on the currently active window. To use the command, highlight the window to be searched and press [Ctrl]-[G] to open the Go To dialog box, enter a string at the Go to what field and specify Data Type from the list box by clicking the inverted triangle. Click Go to reach the first location where the match is found. To go to the next match, press [Alt]-[G]. This function can be used to quickly locate all the set breakpoints and trigger points. Window Source Data Type Available Line number, breakpoint, trigger point Disassembled Code Line number, program address, instruction code, breakpoint, trigger point Data Memory Line number, data address, data Special File Register Line number Watch Line number Trace Buffer Line number, program counter, instruction code Line number, instruction code, data address must be a numeric string. Program address can be any numeric string or address label string. Selecting breakpoint allows you to quickly go to the location of the set breakpoint Go Next Moves the cursor to the next matched location in the current window. Toggle Bookmark Use the Toggle Bookmark ( ) command to toggle a bookmark at the current line. If a bookmark is already in place, this command will remove the bookmark from the current line. Bookmarks are indicated by a short blue band over the program address as in the Source Window below.

53 RICE3000 software feature overview 48 Note: Set bookmarks are saved within the debugging session only but not to disk. So when you exit and re-enter the RICE3000, the bookmarks will longer be available. Next Bookmark Use the Next Bookmark ( ) command to move the text cursor to the line with the next bookmark. Previous Bookmark Use the Previous Bookmark ( ) command to move the text cursor to the line with the previous bookmark. Clear Bookmarks Use the Clear Bookmarks ( 4.6 ) command to clear all set bookmarks in the current Source Window. View Menu The View Menu has a number of options for specifying the look of the desktop and opening windows to display different information about the program you are debugging View Options Toolbar The Toolbar, located at the top of the screen, consists of different function toolbars and tool buttons, which enable users to quickly execute routine tasks. Tool tips explaining the function of each button are available by positioning the mouse on the toolbar button for a short interval. The Toolbar command allows you to customize the look of the toolbar on the desktop. The tool icons are grouped under five menus: File, Edit (default not open), Run, Debug and View. Each menu can be placed independently anywhere on the desktop. To move the tool bar, click the two vertical bars on the left, drag and drop the bar to a new location. You can also bring the toolbar (e.g. Run toolbar) on top of the Source Window for debugging as show here.

54 49 RICE3000 Online Help To add or remove any of the functional menus from the toolbar, click to add or remove the check mark next to the menu name in the Toolbars dialog box. Note that the Menu Bar cannot be removed from the desktop. You can customize the look of the tool bar by clicking the Customize button. For example, you can combine the Menu Bar and the most commonly used buttons in one single bar as shown below by following these steps: Click Customize... button. Go to the Commands tab. Select function category and drag the desired buttons to the menu bar. To remove the buttons from the customized menu bar: 1. Activate the View>Toolbar dialog box. 2. Drag the buttons to be removed from the menu bar to anywhere in the desktop.

55 RICE3000 software feature overview Close the Toolbars dialog box. You can also create new tool bar on the desktop by clicking the New button. 1. Enter the name of the new toolbar (e.g. All) in the dialog box and click OK. 2. A blank tool bar will be created in the left hand corner. Select the Commands tab and drag and drop any desired function buttons to the "All" tool bar. Function Buttons There are altogether 38 function buttons in the RICE3000 IDE. They are listed and summarized below. More detailed descriptions of each button can be found in their respective sections. File Menu View Menu Run Menu Debug Menu Open a new document for new source file. Open an existing document. Load a file to debug. The file needs to be one of the debug file formats supported by RICE3000, for example, COD, D39, LST, HEX or OBJ. Open the Device Configuration dialog box to set up processor, external memory and oscillator setting. Compile codes in the current Source Window using the compiler configured under Tools>Compiler Options menu. Downloads the opened debugged file to the emulator. Open the Disassembled code window. Open the Program Memory window. Open the Special Function Register window. Open the Data Memory window. Open the EEPROM Data window. Open the Stack window. Open the Memory window. Open the Watch window. Open the Stopwatch window. Reset the current processor. Run the application from Reset condition. Run the application from the current program address. Single step in assembly, one instruction code at a time. Single step one source line at a time. Step over the current function call. Step out of the current function and return to the instruction after the call. Run the application from the current program address to the one highlighted by the text cursor. Animate the application from the current program counter. Go to the current program counter. Toggle the current program counter as breakpoint. Disable all breakpoints. Open the conditional data capture break dialog box. Open the Add Breakpoint dialog box. Open the Add Trigger Point dialog box. Status Bar Located at the bottom of the screen, the Status Bar displays following information:

56 51 RICE3000 Online Help Item Help Information Display Line and column Number Ln xx, Col xx (Non-run mode)/ Frequency value (Run Fr: xxx.xx mode) KHz/MHz Processor Status Halt Run Wait Current PC Oscillator Source 0x0000 Int. Osc Ext. Osc Current Processor Synthesizer PIC16F877A Description This includes context sensitive help information as well as useful emulation hints and status. In non-run mode:this indicates the location of the text cursor in line and column number of the active source window. In Run mode: This will show synthesized frequency in KHz/MHz The processor is in halt mode and not executing any codes. The processor is in run mode and executing the program in real time. The emulator is executing a series of single steps and the destination program counter has not been reached yet. Current program counter. The processor is running on the internal clock provided by the emulator. The processor is running on an oscillator provided by the target application. The processor is running on synthesized frequency Displays the current processor. Workbook Mode The Workbook command allows you to view the Source Windows as worksheets in a workbook. The workbook view capability provides an alternative, tab-based user interface for managing multiple source windows.

57 RICE3000 software feature overview 52 In Workbook mode, the Source Windows are presented as a collection of worksheets with cascaded tabs for navigation. You can activate a source window by selecting the associated tab. When workbook mode is switched on, the main window is re sized to provide room to draw the tabs. One tab will be drawn for each source Useful Windows Disassembled Code Window The Disassembled Code ( ) command opens a split window showing disassembled codes of the debugged program on the left and the corresponding source lines on the right. You can move the split bar to control the size of the two views of the window.

58 53 RICE3000 Online Help When debugging programs are written in a high level language, this window provides synchronized stepping between the two views. Note that the high level source lines will be duplicated due to multiple correspondences. That is, a single source line might be referred by several lines of assembly code. You can toggle a breakpoint directly in the Disassembled Code Window by clicking the corresponding tool button ( ) or pressing [F2] after highlighting the line of code. The breakpoint indicator will appear in both the Disassembled Code (as a "B") and Source Window (with a red stop sign). The control bar in the Disassembled Code Window displays the current program counter and several buttons, which allow you to: Goto - Redirects the current program counter. To use, enter the new address in the PC field in hex and click the Goto button. The emulator will execute the program, in single steps, from the current address until the new address is reached. If the new address is not within the program flow, the emulator will keep stepping and you'll see "Wait" in the Desktop Status Bar. Set PC - Allows you to change the current program counter without following the program flow. To use, enter the new program counter in the PC field and click the Set PC button. Modify - Allows you to modify the instruction code in the current program counter. To use, enter the new code in the Code field and click Modify. The new code will be displayed in this window and the Program Memory Window, as well as being downloaded to the emulator's program memory. This allows you to quickly test patched instructions instead of editing and recompiling the codes. You can save the contents of the Disassembled Window, including program counter, opcode, and disassembled codes to disk as a text file using the File>Save Disassembled Code command. Note: The current COD file can only support source level debugging information up to 32K words (64K bytes), if your source code is over 32K word, you have to use "Disassembled Window" to do Source-level debugging. The "Disassembled Window" is a split windows format. It will have disassembled code on the left panel of the window and your source code on the right panel of the window. In order to support PC (program counter) over 32K word, you have to generate a Microchip

59 RICE3000 software feature overview 54 compatible List file. The RICE3000 will extract the PC information from the List file. You can only set break points in the left side of disassembled code window. The disassembled code window (left side) will be synchronized with your source code window (right side) during single stepping or run to break point. Program Memory Window The Program Memory ( ) command opens a window which displays the opcodes of the current program. The display can be set in hexadecimal, decimal or binary formats by clicking the corresponding tab at the bottom of the window. You can enable tooltips via the context menu and display the address information when scrolling through the buffer. You can modify the codes in this window. To do so, double click the code to be changed with the left mouse button; the code will be highlighted with a blinking cursor to the right. Type in a new valid code and press [Enter], [Up] or [Down] keys to write the value to the memory location.

60 55 RICE3000 Online Help Data Window The Data Memory ( ) command opens a window which displays the current contents of all the data file registers for the specified processor. Registers that were modified since the previous update are highlighted to provide a clear indication of what the last instruction has accomplished. Values in the Data Memory Window can be set in hexadecimal, decimal or binary formats by clicking the corresponding tabs at the bottom of the window. You can also modify data in the file registers. To do so, double click the code to be changed; the code will appear highlighted with a blinking cursor to the right. Type in a new valid code and press [Enter], [Up] or [Down] keys to write the value to the register. The contents of the Data Memory Window can be saved to disk for reference by using the File>Save Data Memory command. Special Function Register Window The Special Function Register ( ) command opens a window, which displays the current contents of the special function registers for the processor being emulated. The values are displayed in hex, decimal, binary and ASCII formats. You can size the width of each column heading to hide the displays that you don't need. During stepping or when a break occurs during full-speed code execution, registers that are affected by the last instruction will be highlighted.

61 RICE3000 software feature overview 56 For easy reference, the registers are displayed in all (All tab) as well as in different banks (for example, banks 0 to bank 3 for PIC16C74 processor). Click the tab at the bottom of the window to navigate around the different banks. You can edit the hex and decimal displays in the SFR window. To do so, double click the code to be changed, the code will appear highlighted with a blinking cursor to the right. Type in a new valid code and press [Enter]. EEPROM Window Available for the processors with EEPROM data only, e.g. PIC18FXX2 or PIC16F87X, the EEPROM Memory ( ) command opens a window which displays the EEPROM data memory. The contents of the EEPROM Memory Window can be saved to disk in the current directory using the File>EEPROM>Save EEPROM command. You can enter any valid filename with or without any extension (The source_file_name.eep is recommend). If you right click the mouse inside the EEPROM Memory Window, the Pop Up window comes up as shown below: You can use "Enable Update EEPROM" and "Download EEPROM" and "Upload EEPROM" for EEDATA related special functions.

62 57 RICE3000 Online Help Values in the EEPROM Memory Window can be set in hexadecimal, decimal or binary formats by clicking the corresponding tabs at the bottom of the window. You can also modify data in the file registers. To do so, double click the code to be changed; the code will appear highlighted with a blinking cursor to the right. Type in a new valid code and press [Enter], [Up] or [Down] keys to write the value to the register. TIP 1: In order to see EEPROM data update accordingly, you have to enable "Enable Update EEPROM" by checking this option (as shown above). This is only way to have the RICE3000-IDE to read EEPROM data from emulator when it retrieve all resources from the emulator. By doing this, it may increase the work for upload the "EEPROM DATA" in every single step mode or break points update processes. If EEPROM data is not in the program loop, you can disable "Enable Update EEPPROM" by unchecking the option. It will speed up uploading processes. TIP 2: You can use following functions to manipulate EEDATA without any programming. (The RICE3000 can read/write EEDATA in according to EEPROM Memory Window setting). Clear Memory: Clear the data to all one's. Fill Memory: Reset the data to valid value. Download EEPROM: Download the data in the EEPROM Window to the emulator. Upload EEPROM: Upload EEPROM data in the emulator to the EEPROM Window. Stack Window The Call Stack ( ) Window command opens a window that shows the available stacks of the PIC processor. This is a display window only and cannot be edited. In RICE3000, the active stack is highlighted in a different color.

63 RICE3000 software feature overview 58 Trace memory The Trace Memory ( ) command opens a window that displays the contents of the circular 32K real-time trace buffer. Each line consists of a line number, program counter, OPCODE with reference to the instruction being executed and one of the following, depending on what hardware was connected to the DB-15 connector on your RICE3000: logic states of the eight input trace lines Time stamp information Information on the 8-bit data bus address and content The trace buffer is a circular storage memory, which can hold up to lines (32K). The last executed lines will be found at the bottom of the buffer. Data in the trace buffer can be saved to disk for reference using the File>Save Trace Buffer command. The following screen shows trace buffer information with "Data Bus Address" and "Time-stamp" options. Note: "FALSE NOP" is shown in the second instruction of all two cycle instructions. Trace Buffer with "Data Bus Address" option.

64 59 RICE3000 Online Help Trace Buffer with "Time Stamp" option. Column Heading Description Number/Frame Number of instruction or frame captured in the buffer. Click the heading to toggle between number and frame display. Address Opcode Program address Instruction code Data Address / Time-Stamp For Data Bus Address option, emulator can capture data bus activities in real time; this is only applies to the PIC16C04-ME and PIC18C02-ME chipsets. For the Time-Stamp option, the emulator can capture cumulative instruction cycles in us, ms, or seconds used for program execution cycles. Data 8 input trace Instruction Data content in hex format. It is only valid for "Data Bus Address" option. The logic state of the 8 input trace lines connected to the target. ( ) The corresponding instruction in source or disassembled codes Trace Windows Tips: The Real-Time Trace Window is the most powerful tool for debugging your real-time application. Here are some useful tips for the Trace Window: The Real-Time trace memory can only record address information during real-time activities. The source-level instructions are for reference only. You can only access the "Program Counter Addres" in the Trace Buffer Window. If you right click the mouse inside the Trace Buffer Window, the Pop Up window comes up as shown below: You can use "Find Program Counter Address" and "Find Next Program Counter Address" to quickly locate the information you need. Watch Window The Watch ( ) command opens the Watch Window, which displays the values of the selected watch variables. The variables can be set in byte, word, double word, bit levels or as 24-bit or 32-bit floating points. Like other windows, the data is displayed in hex, decimal, binary and ASCII formats. You can size the column heading to

65 RICE3000 software feature overview 60 resize or hide each column. To modify a watch variable, click the data to be changed. Its value will appear in the edit box. Change the value as desired and click the Modify button. The value, if valid, will be updated in the Watch, FSR and Data Memory windows. Notes: You can define watch variables only if there is a valid symbol (SYM) file, an ASCII text file that lists all variables, their type and values. Sample SYM file: DEMO18X.SYM sample file as shown below: Variable Name: Valid symbol name Type: DATA or ADDR type. DATA is global or local variable name. ADDR is Function name address or Label name address. Addr: Address location. Ref: Compilers use these values to decide on the data type. The reference values are different for each compiler.

66 RICE3000 Online Help Run Menu The RICE3000 provides different emulation functions for debugging your PIC applications. This section describes these functions and goes through the different items under the Run Menu.

67 RICE3000 software feature overview Run Options Reset Processor The Reset Processor ( ) command lets you reset the target processor. The reset condition varies for each different PIC processors. Please check your data book for more information. The processor should be reset automatically after the codes have been successfully downloaded into the emulator. Halt Processor The Halt Processor ( ) command halts the processor, stops the emulator running and updates all registers. When enabled, the processor status will display "Halt" in the Status Bar and the HALT LED on the emulator will be lit. The Halt Processor command within the IDE needs to be issued through the menu or by clicking the Halt Processor button on the toolbar. Go From Reset The Go from Reset ( ) command executes your program from the reset condition continuously until either a breakpoint is encountered, or the program is interrupted by a keyboard or mouse entry. Go The Go ( ) command executes your program from the current program counter continuously until either a breakpoint is encountered, or the program is interrupted by a keyboard or mouse entry. From The From command executes your program from the specified address range entered in the From and To field of the Range dialog box as shown below. Click the OK button to run the application within the specified range. Note that the address you specify may never be reached, depending on your program logic. To Cursor The To Cursor ( ) command executes your program in real-time up to AND including the currently highlighted source or instruction line. Note that the address you specify may never be reached, depending on your program

68 63 RICE3000 Online Help logic Single Step Options Single Step The Single Step ( ) command executes a single line of source code and puts the processor back to the halt state. If the source code is in C, the single step will execute one line of C code and thus multiple assembly instructions. Single stepping allows you to examine the current state of all registers after each instruction. Asm Single Step When debugging high level language codes, the Asm Single Step ( ) command executes a single assembly instruction and puts the processor back to the halt state. The current state of the processor will be updated after each instruction. Users can open the Disassembled Code window to see the synchronous stepping of the source and assembly level instructions. When debugging in C, use the single step to walk through most of the C codes and drop into Asm Single Step where the bugs seem to be located in between the details of assembled instruction steps. Step Over Call The Step Over Call ( ) command executes a single instruction of your program and skips over any procedure or function calls. At a call instruction, pressing [F9] will step over the routine being called (but fully executing it) and return to the line directly beneath the CALL instruction. This command is useful if you have stepped through enough of a function to determine that it is working properly, and you wish to execute the rest of it without interruption. Step Over is a step function (which halts the processor) and does not run in real-time. If the call function involves timing loops, set the cursor at the address following the call and use the To Cursor function which executes the call in real-time. You can also set a breakpoint at the address after the call and use the Run command to achieve real-time results. Step Out The Step Out ( ) command is the same as single stepping except when inside a procedure, this command will execute the rest of the procedure and return to the instruction right beneath the CALL instruction, that is, the top of the stack. Again, this is a non-real-time function. Animate The Animate ( ) command is a self-repeating Single Step command. Instructions are executed continuously until a key is pressed. Since each single step puts the processor back to the halt state, the RICE3000 can display changes to reflect the current program state between each trace, allowing you to watch the flow of control in your program. See Animate Speed. 4.8 Debug Menu The Debug Menu consists of functions which assist users when debugging their current applications. These functions can be grouped under the categories shown below. General information will be provided first, followed by the description of each menu item. Breakpoints Stop Watch Trigger Points Watch Variables Trace Buffer

69 RICE3000 software feature overview Using Breakpoints Types of Breakpoints Breakpoint defines a condition in which the processor executes the user's code and halts after a certain condition is met. The RICE3000 supports the following types of breakpoints: Note: The processor halts only after a valid instruction is fetched and executed. So, if a breakpoint is set at address 10h, the processor will break AFTER the instruction at 10h is executed. Break on Address - Users can halt the processor at a specific program address within the program memory. External Break Input Signal - This additional break works when the External Break Input line of the external logic probe is connected to a target circuit. You can then program the RICE3000 to halt the processor when this External Break Input line sees a rising or falling edge. Break when the Trace Buffer is Full the RICE3000 has a 32K circular trace buffer which logs real-time data. When the buffer is full, new data will continuously be logged while the oldest data will be dropped. Users can specify to halt the processor whenever the trace buffer is full, that is, when the trace buffer has captured 32K of data. Break when Stack Overflows - When this condition is enabled, the emulator will stop running when the stack overflows. Animation Conditional Break - This will stop the processor from doing further automated single steps or animation when the break condition between two operands is satisfied. Data Capture Conditional Break - Available only on the PIC16C04-ME or PIC18C02-ME emulation chipsets, this halts the processor on-the-fly when a specific data address matches a break condition. The break condition includes mask value, compare value, and pass counter value. Adding Breakpoints The Add Breakpoint ( ) command leads you to a dialog box which allows you to add, remove, toggle or clear breakpoints. Breakpoints specify where or when to break the program execution. Once program execution stops,

70 65 RICE3000 Online Help you can then examine the state of your program, modify variables, examine the stack, and so on. You can set multiple breakpoints in your program up to the full program memory range. During break, the instruction at the break address will also be executed. So if a breakpoint is set at a CALL,or GOTO instruction, the program counter indicator will not point to those lines but to the next one in the program flow. Breakpoints can be toggled easily inside the Source or Disassembled Code Windows. If multiple source files e.g. for main program, header files or other include file modules are opened, breakpoints can be set in any of these windows by highlighting the line and pressing [F2] or clicking the Toggle Breakpoint button ( ) in the toolbar. To add breakpoints via the dialog box, you may: enter a program counter address at the Break field, e.g. 0x104.., or enter a break points range, e.g. From:0X007800, To:0X00787A. enter an address label in the Break field, e.g. START, or ENDTEST... select an address label directly from the list box, and then click the Add button. All the set breakpoints are indicated by a "+" sign. To remove a breakpoint, highlight the label in the Breakpoints list box and click the Remove button. To temporarily disable a breakpoint, highlight the label in the Breakpoints list box and click the Toggle button. The "+" to the left of the set break will become a "-". To clear all breakpoints, click the Clear All button. Click the Toggle All button to temporarily disable all breakpoints. Break Conditions Three more break conditions can be set in the Add Breakpoint dialog box: External Break Input - Click the inverted triangle to select Falling or Rising Edge to halt the processor when the External Break Input line (white cable with black clip) is connected to the target application. Break when trace buffer full - Check this option if you would like to halt the processor when the trace buffer is full. Break when stack overflow - Check this option if you would like the processor to halt when the stack overflows. This applies only to the PIC18 and PIC16Cxx devices only. Break when watchdog timer overflow - Check against this option if you would like the processor to halt when the watchdog timer overflows. This applies only to the PIC18 (with PIC18C02-ME) and PIC16C(F)xxX (with PIC16C04-ME) devices only. Clear All Breakpoints

71 RICE3000 software feature overview 66 The Clear Breakpoints ( ) command removes all previously defined breakpoints. Use this command when you want to continue debugging your program but no longer want it to stop at any previous set breakpoint locations. Toggle Breakpoint Breakpoints can be set in either the Source or Disassembled Code Window by highlighting the line and pressing [F2] or by clicking the Add Breakpoint button ( ) in the toolbar. The Breakpoint indicator ( ) will appear once the breakpoint is set. Condition Animation Break The Conditional Animation Break prompts you for the condition and values of the two operands at which your program will break during animation. You can use a register value for operand 1, and use either a register value or constant for operand 2. Then specify the break condition in the Condition Animation Break box. Operand 1 - data register to be compared in hex e.g. [0x05] Operand 2 - data register to be compared in hex or a constant Conditions - Supports >, <<, >=, <<=, ==,!=. Click the inverted triangle to list the available conditions. Once the parameters are set, you can click the Animate button to start animation or click OK to exit back to the desktop. Data Capture Conditional Break For the emulation probes, which use the PIC16C04-ME or PIC18C02-ME emulator chip, the RICE3000 supports an on-the-fly data break. Where available, the Data Capture Conditional Break ( ) command allows you to halt the processor when a specified data address reaches a certain value on the fly. This can be used with a bit mask value, or a pass counter value to provide more complexity in the break condition Using Trigger Points Trigger Points The RICE3000 emulator allows users to set up trigger output addresses which when used with the external

72 67 RICE3000 Online Help trigger output clip (on the 12-clip external probe), will generate a positive pulse for different applications. For example, it can be used to: trigger an oscilloscope when the processor executes an instruction at a particular address trigger other logic or instruments to provide cross triggering on multiple emulators when the Trigger Output line is connected to the External Break Input of another RICE3000. In this case, the processor in the second emulator will halt. Add Trigger Point The Add Trigger Point command ( ) allows you to set up the trigger output addresses via the Add Trigger Point dialog box. When an instruction is qualified for trigger output, the Trigger Output line (brown cable with red clip) on the external logic probe of the emulator will generate a positive pulse which can be used to trigger an oscilloscope, or other logic or instruments. To add the trigger address, enter the Start and End addresses in hex and click the Add button. A "+" sign will appear to the left of the range in the list box. You can also click the Remove or Toggle buttons to remove the trigger addresses permanently and temporarily. To remove all trigger addresses, click the Clear All button. Click the Toggle All button to temporarily disable all trigger points. Once added, the trigger point indicators ( ) will appear in both the Source and Disassembled Code Windows. Clear all Trigger Points The Clear All Triggers command removes all previously set trigger points Using Add Watch Window Using Watch Variables The Watch function allows users to isolate specific variables for inspection and is available only with a valid symbol file generated by the CODMAPW utility. The SYM file is an ASCII file providing information on the name of the variable, data type and address. Depending on the compilers used, complicated variables may be supported. The following data types are currently supported by RICE3000. Byte Word Double Word Bit 24-bit floating point 32-bit floating point Sample SYM file: DEMO18X.SYM sample file as shown below: Variable Name: Valid symbol name Type: DATA or ADDR type. DATA is global or local variables name.

73 RICE3000 software feature overview 68 ADDR is Function name address or Label name address. Addr: Address location. Ref: Compilers use these value to decide on the data type. The reference values are different for each compiler. Add Watch The Add Watch command ( ) places the variable on the watch list displayed in the Watch Window and continuously updates its value during stepping. The command prompts you for the variable and data type to inspect. Once you have defined a watch variable, the Watch Window will be opened automatically. You will find the same list of available symbols in the SYM file, which also include local variables.

74 69 RICE3000 Online Help To add a watch variable, highlight the symbol from the Symbols list, select Register Bank, Data Type from byte, word, double word, individual bits and floating point, then click the Add button. The new variable will be added to the Watch Variables list. To remove watch variables, highlight the item in the Watch Variables list box and click the Remove button. Click the Remove All button to remove all set watches. To modify the data type for the watch variable, highlight the item from the Watch Variables list box on the right, select a new data type and click the Modify button. You can specify any watch variables by entering the symbol address directly. For example: Enter 0x21 to watch the data registers at 0x21. Clear All Watches The Clear All Watches command removes all watch variables from your program. The contents of the Watch Window will be cleared once this command is issued Data Address Watches Using Data Address Watch Local Variables Global variables have unique addresses. It is easy to add to the Watch Window and inspection their contents during a Break or Single stepping session. Local variables addresses overlap each other according to the program flow. This is valid when you enter into the block of code during a debug session. These local variables may be invalid when they are out of their pogrom scopes. Because of this reason, you can not add local variable name to Watch Window. The Data Address Watch function allows users to isolate local variables for inspection and is available only by a valid symbol file generated with the CODMAPW utility. The SYM file is an ASCII file providing information on the name of the variable, data type and address. Depending on the compilers used, complicated variables may be supported. The following data types are currently supported by the RICE3000. Byte Word (Low/High) Word (High/Low) Double Word Bit 24-bit floating point 32-bit floating point

75 RICE3000 software feature overview 70 Sample SYM file: DEMO18X.SYM sample file as shown below: Variable Name: Valid symbol name Type: DATA or ADDR type. DATA is global or local variables name. ADDR is Function name address or Label name address. Addr: Address location. Ref: Compilers use these value to decide on the data type. The reference values are different for each compiler. Local variable example in Hi-Tech C compiler: Here is the DEMO18X.C sample file, and we will add "sw1" and "sw2" local variable into Data Watch window. From DEMO18X.SYM file, sw1 and sw2 valid addresses are "0x005A8" and "0x005A9".

76 71 RICE3000 Online Help Add Data Watch From the Data File Register Address field, you must enter the correct address for the variable in according with SYM file. Form Data Type field, you can select the desired data type for the variable to inspect. Once you have defined a watch variable, the Watch Window will be opened automatically. Local variable example in Hi-Tech C compiler: Data Watch window example for "sw1" and "sw2" local variables.

77 RICE3000 software feature overview Using Different Trace Functions The RICE3000 has 32K X 64-bit trace buffer memory, it records the 20-bit address bus, 16-bit data bus, 20-bit time stamp and 8-bit external logic inputs. All data is sampled in real time for each instruction. It can provide 32K x 64-bit snap shot at any time. The real-time trace buffer memory is a circular buffer memory, it will continue capturing data in real-time. If data is over 32K, newer data will over-write the oldest data in the trace buffer memory. With the real-time trace memory hardware and software, you can use the following features to debug your critical real-time embedded system: 32K X 64-bit normal background trace (default setting) Single trace program memory address range. This will only capture the selected memory range into real-time trace memory. This is very useful to identify program loop bugs. Multiple trace program memory address ranges. This is the same as the previous function, but it can record multiple trace ranges into the 32K x 64-bit trace buffer. Trace and Trigger function. You can set a trigger point on your hardware and record all activity at this event. This function has three choices: Trace before trigger, Trace about trigger, and Trace after trigger. The details are in software features overview section. 20-bit time stamp function with 4-bit prescaler resolution, time base range from 125ns; 250ns; 500ns; 1us; 2us; 4us; 8us and 16us. One data capture conditional break with mask value and pass count range setting (0~1023). Trace Buffer The RICE3000 comes with a 32K by 64-bit real-time trace memory to capture different debugging information depending on what hardware is connected to the DB-15 connector on the RICE3000 emulator. The following hardware can be used to capture information in the trace buffer from different sources. 12-clip External Probe - Capture the logic states (1 or 0) of the points of interest in the target application using the eight trace input clips Data Bus Capture - Only available on emulation probes with PIC16C04-ME or PIC18C02-ME chipset. This captures the information on the data bus contents and stores it in the trace buffer. Time Stamp - This provides elapsed time information for all executed instructions and can be used to time both program modules and routines. Upload Trace Memory The Upload Trace Memory ( ) command uploads the data from the trace buffer of the RICE3000 emulator and displays it in the Trace Buffer Window. Each trace line consists of an event number, program counter address (word mode or byte mode), opcode, Data Address or Time-Stamp record, Data bus address content, External Clip logic state, and the source or disassembled code. This depends on the selection under the Debug>Set Trace Options menu and the actual connection of the DB-15 connector on the emulator. The Data Address bus and it's contents is associated with the instruction. After each instruction has been executed, the instruction related information will be loaded into Data bus. With the PIC16C04-ME or PIC18C02-ME emulation chipset, you can get real-time data bus information with the RICE3000 emulator. The RICE3000 can capture this real-time data bus activity and log the information into the real-time trace

78 73 RICE3000 Online Help buffer memory. This gives essential debugging information for critical real-time systems. 8-bit logic data from the 8 trace input on the 12-clip external probe 8-bit elapsed time information from the PIC Time Stamp module incorporated in the RICE3000 base unit. Contents of the data bus from selected emulation probes The circular trace buffer can hold 32K by 64-bits of information. The last executed line is at the bottom of the buffer. Caution: All data bus address contents shown in the "Data" column are "Source File" content. But using the "Data Capture Conditional Break" function, the "Data Capture Address" content is the "Destination File". External 8-bit logic data trace input example: Note1: The data bus address content in any grayed out area is invalid. For example Data Addr in GOTO instruction and all of the two cycle instruction will add "FORCE NOP" into second instruction. The data bus address content associated with these grayed out areas is invalid. Note2: Data bus address content is shown in the "Data" column. From the above example: The event 6,7,8. Move W register's content (DATA:C1) to PORTD and PORTB at data address locations 0x0F83 and 0x08F1. After MOVWF instructions have been executed, the data content has been updated to (DATA:C1) for events 7 and 8. Time-Stamp example: The message box shows the elapsed time between events 1 and 8.

79 RICE3000 software feature overview 74 Clear Trace Memory The Clear Trace Buffer command clears the contents of the Trace Buffer Window and resets the trace pointer. The Trace Buffer will also be cleared whenever the Reset Processor command is issued. Set Trace Range The Set Trace Range command leads to the Trace Range dialog box where you can specify the address range to for the data to be capture in the trace buffer. Enter the Start and End addresses in this field and then select one of the following options: Normal Trace - This default setting enables all executed instructions to be saved automatically to the trace buffer. The Start and End addresses entered in the dialog do not apply to this trace mode. Enable Trace Range - This trace mode captures instruction and data between the Start and End addresses. The RICE3000 achieves this by temporarily setting two breakpoints, one at the start address and one at the end address. Data capture begins at the start address and continues until the end of address, where the processor will halt execution. The two breakpoints are set internally and are transparent to the user. Codes executed in between the two addresses will be logged in the trace buffer. The instruction at the end address will also be executed. The captured instructions might not start right at the start address due to the PIC prefetch architecture. You can set multiple trace program memory address ranges. This is the same as the previous function, but it can record multiple trace range into the 32K x 64-bit trace buffer. Enable Trace Range - This trace option logs the instructions between the two addresses to the trace buffer while keeping the emulator running. This is useful for tracing the same routine or multiple routines within the address range over a period of time. You have to halt the processor to upload and view the trace information.

80 75 RICE3000 Online Help Input the Start and End addresses in the dialog box. Click the radio button to select the desired trace mode. Click OK to exit. Example: Please refer to..\rice3000\samples\p18f452.asm file. In this example, we traced the INTSUB routine and logged into Trace buffer. In the source window, we set the trace range from 0x0008 to 0x00E8. When the hardware detects the 0x0008 Start Address, it logs next event 0x000A to the trace memory; After it detects the 0x000E8 End Address, it stops all log trace activities. Because of the PIC prefetch architecture, you can see the next prefetch instruction address logged in the trace memory. When you set trace range from 0x0008 to 0x000E8, the actual trace range is 0x000A to 0x00EA. The same data range will be logged into the 32K trace memory until the program stop or hit the break point. Below you can see the source window for the P18F452.ASM test program: TEMPRG is the temporary register and the contents of 0~9 are the interrupt-pointer flags. INTPTR has been defined as: INTPTR EQU 025H We will illustrate how to use the contents of the trace memory windows in the next few examples.

81 RICE3000 software feature overview 76 Below we show the Trace memory window for the P18F452.ASM test program: In the Trace buffer window shows the chronological sequence of the program. In the P18F452.ASM example, we use the INTPTR flag to walk through the interrupt service routines. If you have a PB-F452 or PB-F4320 probe, please attach the test plug to the end of 40-pin plug and run the P18F452.ASM program. You should be able to get the same results as shown below. In the P18F452.ASM, we have defined the INTPTR variable location as 0x0025. If the INTPTR flag content is 0, it will enter the "SUBINT0" routine. If the INTPRT flag content is 1, it will enter the "SUBINT1" routine. etc... ( See Source Window). TIP: Inside the trace buffer window, click the right mouse button. The Context Menu will pop up a shown as below:

82 77 RICE3000 Online Help From the Source Window program counter: we know INTPTR content will load to the "Data Bus" after executed instruction at address 0x0000C. The INTPTR content will be available at "Data Bus address 0x0025" after executed instruction at address 0x0000E. (Please refer to below Trace Buffer Window"). This happens because after the "RLCF INTPTR,W" instruction, Data Addr 0x0025 (INTPTR variable location) will load the data bus contents. In the following "Data" column indicated by italic "0" the content is "00", next to "Data Addr" column 0x0025. In the "Data" column indicated by italic "1" the content is "01", next to "Data Addr" column 0x0025. When INTPTR flag is "0", the program will enter "SUBINT0". As shown on the following indicator: "GOTO SUBINT0". When INTPTR flag is "1", the program will enter "SUBINT0". As shown on the following indicator: "GOTO SUBINT1". etc...

83 RICE3000 software feature overview 78 You could use suggested TIP: "Find Program Counter Address". Enter 0x0000E and find the first 0x0000E in the trace buffer memory and use "Find Next Program Counter Address" to locate the next 0x0000E inside the trace buffer memory window. Data Address bus contents examples: From the PIC18F Special Function Register Map: Using the trace buffer memory window, we can decipher the Special Function Register information in real time. For example: Data Addr Data Special Function Register Name 0x0FD8 07 STATUS content in event number 1. At this time its content is "07" 0x0FF9 16 PLC content in the event number 6. At this time its content is "16" 0x0FF2 12 INTCON content in the event number 12. At this time its content is "12" etc...

84 79 RICE3000 Online Help Set Trace Trigger Options The Set Trace Trigger function provides a unique way to take a snap shot of any special routine at the critical address location. You have to enter a critical address location "Trigger Address" as the starting address or in between address or ending address for trace memory reference. Because the real-time trace memory is a circular buffer memory, it will continuously capture real-time data into the 32K buffer memory. When you enable the Trace Trigger function, the RICE3000 hardware will detect the Trigger Point address and Buffer Memory full to hold the program. Once the program has stopped, you can upload the trace memory to evaluate the real-time activities in the Trace Buffer window. Caution: When you finished with the Trace Trigger function, you must disable the "Set Trigger Options", by unchecking the "Enable Trace Trigger" box. If you fail to do so, the program will not run continuously, because it will break once the buffer memory is full. These are steps to follow to setup "Trace Trigger function" : 1. Go to the Menu bar > Debug > Set Trace Range. 2. From the Trace Range dialog box > Trace Range Options: select Normal Background Trace. 3. From the Trace Trigger Options: click the Enable Trace Trigger check box and enter the desired address into the Trigger Point. 4. Select desired radio button: Trace Before Trace Trigger or Trace About Trace Trigger or Trace After Trace Trigger. Trace Before Trace Trigger: You will see the real-time activities in the Trace Buffer window before the Trigger Point address. Trace About Trace Trigger: You will see the real-time activities in the Trace Buffer window and the Trigger Point address will near the middle of the 32K trace range. Trace After Trace Trigger: You will see the 32K real-time activities in the Trace Buffer window starting at the Trigger Point address. Example of the Test program Source Window:

85 RICE3000 software feature overview Example of Trace Before Trigger: Trace memory show before 0X001A2 (ERASE700). Example for About Trace Trigger: Trigger Point "0X001A2" is near the middle of Trace Buffer. 80

86 81 RICE3000 Online Help Example for Trace After Trigger: Trace memory show after 0X001A2 (ERASE700). Set Trace Options Trace Instruction Data - Select either source code or disassembled codes to be captured in the buffer. Trace Data Options - Once selected, the RICE3000 emulator needs to be connected with the corresponding hardware through the DB-15 connector in order to capture the desired external data. Trace Data Options Data Bus Address Data Captured Available on selected emulation probes using PIC16C04-ME and PIC18C02-ME only. This will capture the contents of the data bus Time Stamp Calculates elapsed time between two instructions have been executed or program routine or loops. Time base is a hardware time-marker. Its different ranges are: 250ns; 500ns; 1us; 2us; 4us; 8us; 16us and 32 us,

87 RICE3000 software feature overview 82 You can use "Time base" as a reference to measure the elapsed time between routines or loops. Steps: Select from the available options and click OK to exit. Run the application as desired. Halt the processors using breakpoint or keyboard interrupts. Go to Debug>Upload Trace Buffer or click the button to see the data captured in the trace buffer. Example of Time-Stamp: After you have uploaded the Trace Buffer, select the address location for "Set Begin Point of the Time-Stamp" by clicking the location and the right button to enable Pop-up window option. When you select "Set Begin Point of the Time-Stamp", the start location will be high lighted and status will be reported in the "Time-Stamp" dialog box. After clicking the "OK" button, you have to select the address location for "End Point of Time-Stamp" by double clicking the address location. The elapsed time will be reported in the "Time-Stamp" dialog box.

88 83 RICE3000 Online Help TIPS: 1>You can select different "Time-Stamp" scale in the Trace Buffer window by clicking "Time-Stamp (us)" column. It will let you select between "Time-Stamp (sec)": second or "Time-Stamp (ms)": milli-second or "Time-Stamp (us)": micro-second. 2>The Real-Time Trace Window is the most powerful tool you can use to debug the real-time application. Here are some useful tips about the Trace Window: The Real-Time trace memory can only record address information during real-time activities. The source-level instructions are for reference only. You can only access "Program Counter Address" in the Trace Buffer Window. Right click the mouse inside the Trace Buffer Window, and the Pop Up window will appear as shown below: You can use "Find Program Counter Address" and "Find Next Program Counter Address" to quickly locate the information you need. 4.9 Tool Menu The Tools Menu provides functions, which lets users compile codes, set up the compiler used within the RICE3000 IDE, run file conversion utilities, and add external programs to the IDE.

89 RICE3000 software feature overview 84 For a more detailed discussion on using the different compilers, please go to the chapter about Using Different Compilers with the RICE Compiler Option Compile The Compile command assembles or compiles the source file in the currently active source window using the compiler and options set up under the Tools>Compiler Options menu. You can also initiate the Compile command using the context menu activated by clicking the right button with the cursor placed inside the Source Window. Select Compile with the left mouse button to execute the function. Depending on the Compiler Options set up, the object code can be automatically downloaded to the emulator if there are no compilation errors. Compiler Options The Compiler Options command prompts you to select the compiler and compiling options. Follow these steps to set up the compiler of your choice Click the Browse button and go to the directory path where the executable (.EXE) file of the compiler resides. Double click the compiler executable file in the Browse dialog box. The Browse dialog box will be closed and the directory path, compiler selection and its default switches will be updated in the Compiler Options dialog box as shown above. After selecting your compiler, the default setting will be show in the "Compiler Options (Default)" field. If you need to modify these options, click the Customize button to add/modify extra switches to the options. Click OK to exit. The entries will be saved to the Windows Registry upon exiting the RICE3000 IDE. Compiler Path The compiler path allows you to specify the path where the compiler resides. If the Compiler Path is empty, the program will search for the executable file in the following order The current directory The \Windows\system\ directory The \Windows\ directory

90 85 RICE3000 Online Help 4. The directories listed in the PATH environment variable in the AUTOEXEC.BAT file RICE3000 will not search other directories if you input a path, so make sure that the complete path is correct and contains the executable file. Compiler Select only the filename with the.exe extension. Filenames with.bat extension will not be executed here. In this cases, you will need to use the Tools>DOS command instead. Compiler Options The default switches under Compiler Options are set to ensure optimal performance between the applications. You can edit or add new switches or strings if desired. The new option will be saved to the Windows Registry. Click the Default Option button to reset these options if changed. Load Intel 8-bit Merged Hex file Check this option to instruct RICE3000 to load the hex output instead of the binary object file generated by CODMAPW. The two object files are basically the same but the hex version might contain additional information supported by the compiler. For example. The #ROM command of the CCS compiler allows insertion of data into the HEX output so that it can be programmed to the data EEPROM of the PICmicro with EEPROM memory. Since the data is written directly to the hex object code, but not the COD file; using the binary object file will lose this data upon opening the EEPROM Window in the RICE3000 IDE. Automatic download if no errors on Compile Check this option to enable the object file to be downloaded automatically into the emulator for debugging if there is no compilation error. Only compilers outputting COD, UBROF files will be supported with this automatic download function. Use Microchip's generate List File for Source-Level Debugging Check this option to enable the Microchip List File as your main "Source debugger file", the LST file shows on Source window.some compilers do not provide file path pointer for multiple source files. The only way to do source level debugging is by using the Microchip's generate List File. Microchip's List File format is merged "High level language source codes" with "Disassemble codes". This is a little cumbersome when performing the high-level language source code debugging. Adding New Compiler If the compiler you use is not on the list and can be called by running an executable file, you can add it to the list by clicking the Add New Compiler option from the Compiler field and select the executable file from the Browse button. Refer to the compiler manual for compiler option settings. You can add compiler options using the Customize button. Please note that source level debugging might not be available with the new compiler unless a standard COD file complying with Bytecraft's definition is generated. Note: If your compiler has its own IDE, the RICE3000 prefers to work with COD or COFF or UBROF debugging files was generated within the compiler's IDE CODMAPW CODMAPW Note: This command should not be used anymore because you can load the COD file directly for debugging inside the IDE and the CODMAPW utility will be run automatically. You may use this command (if you prefer) if you compile your codes outside the IDE. Upon returning, execute this command to generate the new binary object file, symbol file and map file for use with RICE3000. This command will display the Convert File dialog box with COD as the file filter. Change the path as needed and select a COD file to open. When you click the Open button, RICE3000 will open the file and run the CODMAPW utility.

91 RICE3000 software feature overview 86 You still have to use the Load Debugged File command to download the new codes into the emulator for debugging Using DOS Command DOS Command allows you to run independent DOS command. In the sample dialog box, the batch file DEMO18.BAT will run. Of course you will need to create the batch file ahead of time. This will look something like this example. mcc18 DEMO18.C -i..\..\h OFF IF ERRORLEVEL 1 GOTO Error1 REM -l specifies the path for the library and object files REM -k specifies the path for the linker script ON PAUSE mplink demo18.o -o demo18.out -m demo18.map -l..\..\lib c0s18.o idata18.o p18f452i.o -K :Error1 mp2cod demo18.out 4.10 Config Menu The Config Menu provides functions which allow users to set device configurations (including oscillator source, frequency of the internal clock, etc.), test LPT port for communication, set options for Source Window, and animate speed, set font and color for all windows, and download and verify codes for the flash-based firmware (if applicable) Device Configuration Before you load the program to debug, make sure to specify the device type used in the program. Go to Config>Device Configuration or click the function button ( ) in the toolbar to access the Device Configuration dialog box as shown below.

92 87 RICE3000 Online Help

93 RICE3000 software feature overview Field Name PIC Processor 88 Description Select the processor to be emulated. If the processor you are using has a different revision number at the end, just select the one with the same basic part number. For example, select 16C74/74A for 16C74B. If you are using binary object file or COD file for debugging, RICE3000 will check the size of the object file against the current processor. Any discrepancy in file size will lead to this dialog box for users to re-specify the processor. Note: RICE3000 will not check for object file size for PIC18 processor which can run on external memory. Probe Card A display field which indicates the probe to be used for the selected processor. RICE3000 will read an ID from the emulation probes and gray out any functions that are not supported by the installed probe. Emulator Chip A display field to indicate the emulator chip used on the emulation probe. These chips provide emulation of the processor's core functions. They possess part numbers like 16C0x-ME or 18C0xME. Here is a summary of the different chips: 16C01-ME - for 12-bit 16C5x, 12C5(E)xx and 16C505 16C04-ME/PT - for mid-range 16C(F)xxx. 18C02-ME/PT for PIC18C(F)XXX Bondout Chip A display field for the bondout chip used to emulate the selected processor. These chips provide emulation of the peripheral functions for the particular device groups. Installed Program Memory in Emulator Allows users to specify size of the installed memory. All current RICE3000 come as standard with 64K of program memory. The RICE3000 IDE will detect memory size during initialization Processor Mode Available for PIC18 processors only, this field allows users to select the chip's mode of operation: MCU mode uses the chip's internal program memory only; Extended MCU can access both internal and external memory up to 64K words; Microprocessor MPU mode uses only external memory (to 64K words) and on-chip program memory is ignored. Off-Chip Memory Size Inputs the size of off-chip memory used by emulator. Watchdog Timer Select to enable or disable watchdog timer during emulation. Enable Internal Oscillator Check to use the internal oscillator source provided by RICE3000. The emulator provides several frequencies divided from the internal 16 MHz crystal. Internal Osc Frequency in KHz Select from one of the available frequencies provided internally, from KHz to 16 MHz. Oscillator Source RICE3000 supports all but the RC oscillator modes of the PIC processors. For the RC oscillator mode, users should use the internal oscillator provided by the emulator. The internal clock is provided so that users can walk through the codes without the presence of the target application. Internal Oscillators The internal frequencies available are 16 MHz and its subdivisions at 8 MHz, 4 MHz, 2 MHz, 1 MHz, 250 KHz, 62.5 KHz and KHz. External Oscillators If you need to run applications on frequencies not available internally, you can use one of the following external sources.

94 89 RICE3000 Online Help Note: Make sure to uncheck the Enable Internal Oscillator option in the Configuration dialog box. a crystal on the target (for HS and XT device type) an external oscillator input connected to the OSC1 pin of the PIC device (for RC and LP device type) from a crystal plugged inside the EXT XTL1 socket on the emulation probe card Selecting Oscillator In the Config>Device Configuration menu, check the Enable Internal Oscillator field and select a frequency from the list if you are using the internal oscillator. Otherwise, do not check this field to use external oscillator. The selected oscillator source and internal frequency used will be saved to the INI file whenever the user issues the File>Save Workspace command LPT Configuration The LPT Configuration command lets you test and configure the setting on the parallel port address and delay constant used by the RICE3000 emulator. You can select among addressed of 0x378, 0x278, and 0x3BC. To select a new address, click the down arrow to display the drop list and select a new address. Calibrate You can use the Calibration button in the dialog box to test the available LPT ports on your PC when using the emulator. By doing so, the program will test all available LPT ports on your PC and try different delay constants, if necessary. If calibration is successful, the correct address and delay (normally 1 or 0) used will be displayed in the second line of the dialog box. If communications fail on all available addresses, the Delay Constant field will display "Failed". Failed calibration can be caused by any of the following: Power not provided to the emulator The RICE3000 does not connected to PC Incompatible parallel port RICE3000 uses the Standard Parallel Port (SPP or Normal) mode. The other enhanced modes like ECP and EPP can be used also. The ECP mode is the prefer mode to use. Driver not installed properly (indicated by the Firmware version:0.99, Verify by using Help>About RICE3000)

95 RICE3000 software feature overview 90 If you keep having time-out or calibration failures but all connections and components are checked out okay, the emulator might just be in an unknown state caused by an incorrect power up sequence. In such a case, follow these steps: Exit the RICE3000 IDE Remove both power and DB25 from the emulator Disconnect the emulator from the target Provide power to the RICE3000 emulator Plug the DB25 connector to the emulator Connect the debugger cable to the target Power up the target Execute the RICE3000 IDE Delay Constant Sometimes, you might run into time-out problems even though the emulator is properly set up and connected to a valid LPT port. In such a case, use the Delay Constant to adjust the communication timing between the emulator and the PC host. To use the delay constant, enter a value of 50 and try the emulator. Increase the constant in increments of 50 until you can successfully communicate with the emulator. When you get a successful delay constant, try to decrease that value in decrements of 10 to determine the optimal delay. Upon exiting the LPT Configuration dialog box, the settings will be saved to the Environment setting in the Windows Registry Options Source Options This menu leads to two folders where users can specify options regarding tab size in source file, Source Window display and animation speed.

96 91 RICE3000 Online Help Source Tab Size Enter a numeric value to use as the tab size for all source files. Show Child Process Click to show the Child Process when running a DOS application. A Child Process is a DOS box showing the status of the DOS application like CODMAPW, MPC, MPASM, PCM, etc. It is recommended to keep this process enabled. Show Program Address Click to select whether or not Program Counter will be displayed on the left margin of the Source Window. This option can also be toggled using the context menu. The program addresses will only be available if the object codes have been successfully downloaded to the emulator. Animate Speed This command specifies the rate of delay at which each step of instructions is given during the animation mode. Click the corresponding radio button for the speed desired or select user-defined speed. For user-defined speed, enter speed of "0" if no delay is desired between each step or input the number from 0.1 to The relative speed of the different animate speeds is shown as follows. Slow Medium Fast User-defined ~ 1.5 seconds ~ 0.5 seconds ~ 0.1 seconds ~ seconds

97 RICE3000 software feature overview Download/Verify Firmware Firmware Updates The latest RICE3000 emulator comes with a flash-based microcontroller to carry the firmware codes. This allows reprogramming of the chip and provides for easy upgrades of the emulator firmware. Download Firmware The current of RICE3000 is installed with a flash-based (PIC16F877A) firmware chip, this function will be made available to download the latest controller codes for updates. Before downloading the codes, it is recommended to execute the Verify Firmware command to check the residing firmware version versus the one on your PC. You can download the latest RICE3000 firmware codes from our web site at Verify Firmware When available, this function compares the firmware version inside the RICE3000 emulator against the one in the PC in the \RICE3000\PROGRAM\ directory Set Font/Color Set All Font This function allows you to select the font used for all windows on the RICE3000 desktop. For font Size, it is recommended to use only the available options in the dialog. Selecting a size too small, for example, size 6, will lead to error in displaying texts in the Source Window. To change the font used in each individual window, use the Set Font command within each window's context menu, activated by clicking the right mouse button when placing the cursor inside the window. Set All Color This function allows you to select the color used for different elements inside the windows of the RICE3000 IDE. It is recommended to select only solid colors to provide optimal display of each element.

98 93 RICE3000 Online Help To set colors, Highlight the item to be changed in the list box. Click the drop list of the color bar to display the available colors. Click the Other... button for custom colors. Click the color desired. When the selected color appears in the color bar, click the Apply button. Window Menu The Window Menu provides the standard window function for cascading, tiling and arranging icons. A list of all opened windows will also be displayed here. The currently active window is highlighted by a check mark. Cascade Arranges opened windows in an overlapped fashion. Tile Arranges opened windows in non-overlapped tiles. The windows are tiled horizontally if there are three or less windows on the desktop. Arrange Icons Arranges icons of closed windows across the bottom of the desktop. Restore Windows Restore all windows with default layout, font and colors as defined in the Environment settings in the Windows 95/NT Registry. The settings of the environment are saved in the Windows System Registry under the following folders. You can access the registry by typing regedit under the Window's Start>Run menu. My Computer HKEY_CURRENT_USER folder Software folder Data Action L.L.C. folder RICE3000 IDE PIC Emulator folder Close All Close all windows and the active document. Opened Windows The bottom of the Window Menu lists all the opened windows and there is a mark against the currently active window. This is a good way to check if a particular window has been opened. Some window might disappear from the desktop if its saved location is outside of the grid of the current screen.

99 Part V

100 95 5 RICE3000 Online Help Appendix A. Probe Card Specification In this appendix, we will outline each probe card specification and limitations during our in house testing. We will have on-going revisions to each probe card which will be released on our web site for customer's reference. Because we use emulation and bondout chipsets from Microchip, we will outline some of the emulation chipset limitations and/or work around here. In general, the interrupt service routine will work in run mode or single step mode. Using the PIC18F, the flash memory erase/write works at full speed. 5.1 PB-5XB/12B/505B The PB-5XB comes with a 26-conductor ribbon cable and two emulation plugs or option emulation plugs for PIC16C505 or PIC12C(E)508/509/518/ pin header is for PIC16C55/ pin header is for PIC16C52/54/56/ pin header is for PIC16C505, with PLUG-EM505. (option item). 8-pin header is for PIC12C(E)508/509/518/519, with PLUG-EM12A (option item). When connecting the plug to the cable, please lineup pin1 of the cable with pin 1 of the header. In the current version of PIC16C01-ME emulation chip, PB-5XB maximum speed is 32 MHz. PIC16C01-ME does not provide data bus information to the emulator. The RICE3000 cannot provide data bus content to trace buffer memory. Watchdog timer and TIMER0 will work in run mode (but not single step mode) PB-12B Probe Card Specifications and Limitations: In this appendix, we will outline the specifications and limitations of the PB-12B probe card found during our inhouse testing.

101 Appendix A. Probe Card Specification 96 Emulation on PIC12C(E)5xx will be supported by PB-5XB with the PLUG-EM12A adapter plug. The adapter plug provides special emulation functions for the PIC12C(E)5xx devices that are not available on the PIC16C01-ME emulation chip. The emulation plug is connected to the end of emulation cable from PB-5XB. To connect, make sure the red mark of the ribbon cable aligns with the "1" mark on the 18-pin header. ON the underside of the adapter is a 8pin header which plugs into the target socket for the PIC12C(E)5xx. PB-12B does not fully emulate EEPROM function for PIC12CE518/CE519 because PIC16C01-ME emulation chip does not provide on-chip Data EEPROM function. The PLUG-EM12A includes 24LC01B serial EEPROM to simulate PIC12CE518/CE519 EEDATA function.. SW ON Configure GP5 Configure GP4 (SW1.3 off) OSC2 (SW1.2 off) Configure GP3 Enable GP0 weak pull-up Enable GP1 weak pull-up Enable GP3 weak pull-up Disable external OSC on the PLUGEM12A adapter board this means you run the target using the internal frequency provided by the emulator or using the clock from the target application OFF (OPEN) Enable OSC1 Disable OSC2 Disable OSC2 MCLR mode Disable GP0 weak pull-up Disable GP1 weak pull-up Disable GP3 weak pull-up Enable the external OSC circuit (Y1) on the PLUG-EM12A adapter board when this is enabled, make sure to specify OSC as external in the Device Configuration Menu. External Oscillator Input The 8-pin socket on the adapter board allows users to provide an exact clock to run the target application. PB-505B Probe Card Specifications and Limitations: In this appendix, we will outline the specifications and limitations of the PB-505B probe card found during our inhouse testing. Similar to PIC12C(E)5xx, emulation on PIC16C505 is also provided by the PB-5XB probe. The use of the 9position DIP Switch (SW1) is given below:

102 97 RICE3000 Online Help SW ON Configure RB5 Configure RB4 (SW1.3 off) OSC2 (SW1.2 off) Enable RB4, weak pull-up Enable RB0, weak pull-up Enable RB1, weak pull-up Enable RB3, weak pull-up Configure RB3 Disable external OSC on the PLUGEM505 adapter board this means you run the target using the internal frequency provided by the emulator or using the clock from the target application OFF (OPEN) Enable OSC1 Disable OSC2 Disable OSC2 Disable RB4, weak pull-up Disable RB0, weak pull-up Disable RB1, weak pull-up Disable RB3, weak pull-up MCLR mode Enable the external OSC circuit (Y1) on the PLUG-EM505 adapter board when this is enabled, make sure to specify OSC as external in the Device Configuration PB-12F675 The PB-12F675 comes with a 10-conductor ribbon cable and 8-pin DIP header to support PIC12F629/675. When connecting the plug to the cable, please lineup pin1 of the cable with pin 1 of the header. In the current version of PIC16C04-ME/PIC12F675-ME emulation chips, PB-12F675 maximum speed is 20 MHz. Reading and Writing program/data memory only work in run mode. It does not work in single stepping mode. Jumper Setting: JP1: PIC16C04-ME emulation chip halt condition: Default setting of JP1: 1 & 2. JP2 and JP3: OSC2 OUT condition: When JP2 (RC mode) is on, OSC2 output will be Fosc/4. JP4: +VDD OUT: Default setting is OFF. (For testing only). Caution: It is recommended to set +VDD OUT to OFF position. If the high voltage is accidentally applied to the customer target board, this may damage the RICE3000 emulator. Manufacture will not warranty any damages to the emulation chipsets.

103 Appendix A. Probe Card Specification PB-16F676 The PB-16F676 comes with a 20-conductor ribbon cable and 14-pin DIP header to support PIC16F630/676. When connecting the plug to the cable, please lineup pin1 of the cable with pin 1 of the header. In the current version of PIC16C04-ME/PIC16F676-ME emulation chips, PB-16F676 maximum speed is 20 MHz. Reading and Writing program/data memory only work in run mode. It does not work in single step mode. Jumper Setting: JP1: PIC16C04-ME emulation chip halt condition: Default setting of JP1: 1 & 2. JP2 and JP3: OSC2 OUT condition: When JP2 (RC mode) is on, OSC2 output will be Fosc/4. JP4: +VDD OUT: Default setting is OFF. (For testing only). Caution: It is recommended to set +VDD OUT to OFF position. If the high voltage is accidentally applied to the customer target board, this may damage the RICE3000 emulator. Manufacture will not warranty any damages to the emulation chipsets. 5.4 PB-F87XA The PB-F87XA supports PIC16F87X (PIC16F873/874/876/877) and PIC16F87XA (PIC16F873A/874A/876A/877A) devices. It comes with a 40-pin DIP plug and a 40-pin to 28-pin SDIP header for the 28-pin devices. When connecting the plug to the cable, please lineup pin1 of the cable with pin 1 of the header. In the current version of PIC16C04-ME/PIC16F877A-ME emulation chips, PB-F87XA maximum speed is 20 MHz. Reading and Writing program/data memory only work in run mode. It does not work in single step mode. The Flash write to program memory only in one word block. This will be different from real chip in four word block. Note: For PIC16F87X emulation: Because PIC16F877A-ME is superset of PIC16F877-ME, it will support most of PIC16F87X function, except the chip difference. For example: Analog Comparator; Write to Flash memory... (Please refer to Microchip DOC:39591A: PIC16F87X TO PIC16F87XA Migration notes). Jumper Setting: JP1: PIC16C04-ME emulation chip halt condition: Default setting of JP1: 1 & 2. JP2 and JP3: OSC2 OUT condition: When JP2 (RC mode) is on, OSC2 output will be Fosc/ PB-F819 The PB-F819 supports PIC16F818/819 devices. It comes with a 18-pin DIP plug. When connecting the plug to the cable, please lineup pin1 of the cable with pin 1 of the header. In the current version of PIC16C04-ME/PIC16F819-ME emulation chips, PB-F819 maximum speed is 20 MHz. Reading and Writing program/data memory only work in run mode. It does not work in single step mode. The Flash write to program memory only in one word block. This will be different from real chip in four word block.

104 99 RICE3000 Online Help Jumper Setting: JP1: PIC16C04-ME emulation chip halt condition: Default setting of JP1: 1 & 2. JP2 (FCMEM) and JP3 (IESO) : These two jumper setting does not apply to PB-F819. (These jumpers does not install in the PB-F819). JP4 (+VDD OUT): Default setting is on for testing purpose. The +VDD signal will not go out, because PIN-14 in the18-pin DIP plug was disconnected. If you need +VDD out to your target board, you can connect PIN-14 of the 18-pin DIP plug by adding blue wire between 20-pin header and 18-pin DIP plug Caution: It is recommended to let the PIN-14 in the 18-pin DIP plug disconnected. If the high voltage is accidentally applied to the customer target board, this may damage the RICE3000 emulator. Manufacture will not warranty any damages to the emulation chipsets. 5.6 PB-F88 The PB-F88 supports PIC16F87/88 devices. It comes with a 18-pin DIP plug. When connecting the plug to the cable, please lineup pin1 of the cable with pin 1 of the header. In the current version of PIC16C04-ME/PIC16F88-ME emulation chips, PB-F88 maximum speed is 20 MHz. Reading and Writing program/data memory only work in run mode. It does not work in single step mode. The Flash write to program memory only in one word block. This will be different from real chip in four word block. Jumper Setting: JP1: PIC16C04-ME emulation chip halt condition: Default setting of JP1: 1 & 2. For Fail-Safe Clock Monitor Enable bit emulation: JP2 (FCMEM): ON (Default setting), Fail-Sale Clock Monitor disabled. OFF, Fail-Sale Clock Monitor enabled. For Internal External Switch Over bit emulation: JP3 (IESO) : ON (Default setting), Internal External Switch Over mode disabled. OFF, Internal External Switch Over mode enabled JP4 (+VDD OUT): Default setting is on for testing purpose. The +VDD signal will not go out, because PIN-14 in the18-pin DIP plug was disconnected. If you need +VDD out to your target board, you can connect PIN-14 of the 18-pin DIP plug by adding blue wire between 20-pin header and 18-pin DIP plug Caution: It is recommended to let the PIN-14 in the 18-pin DIP plug disconnected. If the high voltage is accidentally applied to the customer target board, this may damage the RICE3000 emulator. Manufacture will not warranty any damages to the emulation chipsets. 5.7 PB-F1320 The PB-F1320 supports PIC18F1220/1320 devices. It comes with a 18-pin DIP plug.. When connecting the plug to the cable, please lineup pin1 of the cable with pin 1 of the header. In the current version of PIC18C02-ME/PIC18F1320-ME emulation chips, PB-F1320 maximum speed is 40 MHz. Reading and Writing program/data memory only work in run mode, It does not work in single step mode. PIC18F family cannot break on odd addresses. Jumper Setting: Special I/O PIN emulation selection: JP1: OSC2 or RA6 I/O pin selection. JP2: OSC1 or RA7 I/O pin selection.

105 Appendix A. Probe Card Specification 100 JP3: MCLR or RA5 I/O pin selection. JP4: +VDD OUT: Default setting is OFF. (For testing only). The +VDD signal will not go out, because PIN-14 in the18-pin DIP plug was disconnected. If you need +VDD out to your target board, you can connect PIN-14 of the 18-pin DIP plug by adding blue wire between 20-pin header and 18-pin DIP plug Caution: It is recommended to set +VDD OUT to OFF position. If the high voltage is accidentally applied to the customer target board, this may damage the RICE3000 emulator. Manufacture will not warranty any damages to the emulation chipsets. 5.8 PB-F4320 The PB-F4320 supports PIC18F2220/2320/4220/4320 and PIC18F2X2/4X2 devices. It comes with a 40-pin DIP plug and a 40-pin to 28-pin SDIP header for the 28-pin devices. When connecting the plug to the cable, please lineup pin1 of the cable with pin 1 of the header. In the current version of PIC18C02-ME/PIC18F4320-ME emulation chips, PB-F4320 maximum speed is 40 MHz. Reading and Writing program/data memory only work in run mode. It does not work in single step mode. PIC18F family cannot break on odd addresses. Jumper Setting: Special emulation I/O PIN selection: JP1: OSC2 or RA6 I/O pin selection. JP2: OSC1 or RA7 I/O pin selection. JP3: MCLR or RE3 I/O pin selection. Note: If you use PB-F4320 probe to emulate PIC18F242/252/442/452, you have to reset "Special emulation I/O PIN" to corresponding I/O pins (PIC18F4X2 does not have RE3 pin). 5.9 PB-F452 The PB-F452 supports PIC18FXX2 (PIC18F242/252/442/452) devices. It comes with a 40-pin DIP plug and a 40-pin to 28-pin SDIP header for the 28-pin devices. When connecting the plug to the cable, please lineup pin1 of the cable with pin 1 of the header. In the current version of PIC18C02-ME/PIC18F452-ME emulation chips, PB-F452 maximum speed is 40 MHz. Reading and Writing program/data memory only work in run mode. It does not work in single step mode. PIC18F family cannot break on odd addresses. Note: If you use PB-F4320 probe to the emulate PIC18F242/252/442/452, you have to reset "Special emulation I/O PIN" to corresponding I/O pins (PIC18F4X2 does not have RE3 pin) PB-F458 The PB-F458 supports PIC18FXX8 (PIC18F248/258/448/458) devices. It comes with a 40-pin DIP plug and a 40-pin to 28-pin SDIP header for the 28-pin devices. When connecting the plug to the cable, please lineup pin1 of the cable with pin 1 of the header. In the current version of PIC18C02-ME/PIC18F458-ME emulation chips, PB-F458 maximum speed is 40 MHz.

106 101 RICE3000 Online Help Reading and Writing program/data memory only work in run mode. It does not work in single step mode. PIC18F family cannot break on odd addresses PB-F8720 The PB-F8720 supports PIC18F6520/8520/6620/8620/6720/8720 devices. The PB-F8720 will support MC (Microcontroller Mode) and EM (Extended Microcontroller Mode) and EM/C (EM / Code Development Mode). The PB-F8720 only comes with two 44-pin connector (2mm, 2 x 22) and a Self-Diagnostic test board. (T8720.ASM self-test program is located under..\rice3000\samples folder). Emulation plugs (64-pins, EM-PLUG-TQ64) or (80-pins, EM-PLUG-TQ80) apply to PIC18F6X20 or PIC18F8X20 family respectfully. These TQFP emulation plugs are sold separately. These 64/80-pin TQFP accessories are optional items for PB-F8720 probe: EM-BASE-TQ64: 64-pin solder-able SM base for PB-F8720. EM-BASE-TQ80: 80-pin solder-able SM base for PB-F8720. EM-SKT-TQ64: PB-F8720 to 64-pin TQFP transition socket. EM-SKT-TQ80: PB-F8720 to 80-pin TQFP transition socket. PB-F8720 interrupt service routine will work in running mode or single stepping mode. PIC18F flash memory erase/write will work at full speed. PLL operation will work properly during run mode. The maximum emulation speed is 40 MHz (with PLL enable, 10 X 4 MHz). Reading and writing program/data memory only work in run mode. It does not work in single step mode. PIC18F family cannot break on odd addresses. When starting the PB-F8720 probe, please attach the self-test board to two 44-pin connectors and run T8720.ASM Self-Diagnostic test program to test each I/O pin, Timers, A/D functions etc. If you reach the ENDTEST break point, your unit is working OK. If the unit has problems, it will STOP at ERRxxx and the error message will explain what kind of error has occurred. Please check your hardware setting and run the program again. If the problem persists, please report to DATA ACTION for technical support. Jumper setting: JP1: 16-bit/8-bit User System Bus Program Memory Selection: Default setting is ON, 16-bit. JP2: +VDD OUT: Default setting is OFF. When you run Self-Diagnostic test program, you need to set JP2 to ON position. T8720.ASM will test A/D function. During self-test, A/D module requires +VDD voltage to Self-Diagnostic test board. Caution: It is recommended to set +VDD OUT to OFF position. If the high voltage is accidentally applied to the customer target board, this may damage the RICE3000 emulator. Manufacture will not warranty any damages to the emulation chipsets.

107 Part VI

108 103 6 RICE3000 Online Help Appendix B: RICE3000 USB Device Driver Installation Procedure The RICE3000 uses the bi-directional parallel port as default PC communication interface and the software for the parallel port version is "RICE3000 PIC Emulator IDE". In this appendix, we will describe the USB driver installation procedures for optional hardware (USB2PIO) and software (RICE3000 PIC Emulator IDE-USB). The RICE3000 can use USB2PIO module (USB to Parallel port) to provide USB interface with the PC. The USB2PIO module is compatible with USB 1.1 and USB 2.0 spec. Note: The "RICE3000 PIC Emulator IDE" software can only work with parallel port interface. The "RICE3000 PIC Emulator IDE-USB" software can detect communication interface automatically. It will work with parallel port or USB port interface. The users need to attach USB2PIO module to the RICE3000's 25-pins D-type connector and connect USB cable between the PC USB port (or USB Hub) and USB2PIO module. The USB2PIO was designed for special USB to Parallel port interface, it will not work with generic USB driver provided by the Microsoft Windows system. The software driver files (FTD2XX.DLL; FTD2XX.INF; FTD2XX.SYS) have to be installed before connecting USB2PIO module to USB port (through USB cable). Caution: Because of Windows Plug and Play feature, it will detect the USB hardware and try to select USB driver for your hardware. If you let Windows automatically installed the driver for you, it will not work. You have to go through un-installation procedure to remove software and start-over again. Here are steps and instructions for the RICE3000 USB device Driver Installation Procedure: Power on the computer and make sure the USB port is enabled and working properly before you run "R3KUSBInstall" Installation program Avoid hardware and software problem steps: Avoid hardware and software problem steps: Installation instructions and setting up the USB software drivers Running software and verifying USB driver Do not connect the USB cable to USB2PIO module before you run "R3KUSBInstall" installation program! The software driver files do not exist yet. Do not run the "RICE3000 PIC Emulator IDE-USB" program before you install the USB driver! Windows need to detect USB hardware and install USB driver for the system. Do not allow Widows OS to pick a USB driver for you! The USB2PIO module can only work with FTD2XX.DLL driver. Installation instructions and setting up the USB driver: Locating "R3KUSBInstall" installation program from software CD or download from the web site. Run "R3KUSBInstall" installation program and reboot the computer. Applying power to the RICE3000 and connecting USB2PIO module to 25-pin D-type connector, then plugging USB cable to USB port and USB2PIO module. The first time a new USB device is plugged into Windows system, a small dialog box will indicating the system has found a new hardware device and showing "Find New Hardware: USB2PIO" and "Find New Hardware: FTDI DX2XX Recovery PID for XP" messages. After these dialogs appear, the "Found New Hardware Wizard" dialog box (shown at the bottom) is displayed. Enable "Install from a list or specific location" and Click "Next" to continue the installation.

109 Appendix B: RICE3000 USB Device Driver Installation Procedure Make sure that "Search for the best driver in these locations" is selected and "Include this location in the search:" is checked. Using "Browse" button to locate the USB driver. The USB software driver files are located under: "Drive X:\Program Files\Data Action\Rice3000\Driver" path (shown at the bottom). Click "Next" to continue the installation.

110 105 RICE3000 Online Help 7. The Wizard will show "Install software" dialog box (shown at the bottom). If the warning message "Software has not passed windows logo testing" appears, select "Continue Anyway" to finish the software installation.

111 Appendix B: RICE3000 USB Device Driver Installation Procedure Running software and verifying USB driver: After finishing the software installation, you should run "RICE3000 PIC Emulator IDE-USB" from Start Button > All Program > RICE3000 selection. If USB driver does not install correctly, the RICE3000 software will complain and show "FTD2XX.DLL is not installed properly" message. If USB driver is installed correctly, you could go to RICE3000 IDE and Help > About. It should show About Box message similar as shown at the bottom. The About Rice3000 message box show the current software version and the latest firmware version. The firmware version should be higher than Version When the RICE3000 software can not communicate with the RICE3000 hardware, the about box will show Firmware Version If About Box display Firmware Version: 0.99, you may have problem with connection or USB cable, USB port ( or USB Hub) or RICE3000 hardware or USB driver. Please make sure you have good connection in between with hardware and PC, then try it again.

112 RICE3000 Online Help Uninstallation instructions: Before running the uninstallation program from Window Control Panel/Add/Remove Programs option, it is advised to shut down and save any applications or files being used as the system must restart to complete uninstallation. Here are steps to remove "RICE3000 PIC Emulator IDE-USB" and "FTD2XX USB Drivers" software from Windows system: From Windows Start menu: Choose Control Panel. From Control Panel window: Launch Add/Remove Programs. From Add/Remove Program: Remove "RICE3000 PIC Emulator IDE-USB" and/or "FTD2XX USB Drivers" software from Windows system.

EMULATOR SETUP MB BIT COMPACT-ICE

EMULATOR SETUP MB BIT COMPACT-ICE Fujitsu Microelectronics Europe Application Note MCU-AN-390077-E-V11 F²MC-16L/LX FAMILY 16-BIT MICROCONTROLLER MB903XX/4XX/5XX/6XX EMULATOR SETUP MB2147-05 16BIT COMPACT-ICE APPLICATION NOTE Revision History

More information

EMULATOR SYSTEM MB

EMULATOR SYSTEM MB Fujitsu Microelectronics Europe Application Note MCU-AN-391026-E-V12 FR FAMILY SUPPORT TOOL EMULATOR SYSTEM MB2198-01 INSTALLATION GUIDE MB2198-01 APPLICATION NOTE Revision History Revision History Date

More information

F²MC-8FX FAMILY MB95100 SERIES EMULATOR HW SETUP 8-BIT MICROCONTROLLER APPLICATION NOTE. Fujitsu Microelectronics Europe Application Note

F²MC-8FX FAMILY MB95100 SERIES EMULATOR HW SETUP 8-BIT MICROCONTROLLER APPLICATION NOTE. Fujitsu Microelectronics Europe Application Note Fujitsu Microelectronics Europe Application Note MCU-AN-395002-E-V10 F²MC-8FX FAMILY 8-BIT MICROCONTROLLER MB95100 SERIES EMULATOR HW SETUP APPLICATION NOTE Revision History Revision History Date 2004-10-12

More information

ICD Module (P/N ) Instruction Manual

ICD Module (P/N ) Instruction Manual ICD Module (P/N 905501) Instruction Manual 283 Indian River Road Orange, CT 06477 USA Tel 203-799-7875 Fax 203-799-7892 www.diversifiedengineering.net Table of Contents Section Description Page 1 Overview

More information

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter C8051F38X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F38x Development Kit contains the following items: C8051F380 Target Board C8051Fxxx Development Kit Quick-start Guide Silicon Laboratories

More information

LPT-to-I2C SE. Hardware Reference Guide.

LPT-to-I2C SE. Hardware Reference Guide. LPT-to-I2C SE Hardware Reference Guide http://www.i2ctools.com/ November 1, 2008 Information provided in this document is solely for use with the LPT-to-I2C SE product from SB Solutions, Inc. SB Solutions,

More information

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick TOOLSTICK C8051F330 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent

More information

AC/DC. Adapter. Ribbon. Cable Serial. Serial. Adapter. Figure 1. Hardware Setup using an EC2 Serial Adapter

AC/DC. Adapter. Ribbon. Cable Serial. Serial. Adapter. Figure 1. Hardware Setup using an EC2 Serial Adapter C8051F32X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F32x Development Kit contains the following items: C8051F320 Target Board C8051Fxxx Development Kit Quick-Start Guide C8051F32x Development

More information

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter C8051F2XX DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F2xx Development Kits contain the following items: C8051F206 or C8051F226 Target Board C8051Fxxx Development Kit Quick-Start Guide Silicon

More information

EB-51 Low-Cost Emulator

EB-51 Low-Cost Emulator EB-51 Low-Cost Emulator Development Tool for 80C51 Microcontrollers FEATURES Emulates 80C51 Microcontrollers and Derivatives Real-Time Operation up to 40 MHz 3.3V or 5V Voltage Operation Source-Level Debugger

More information

AKKON USB CONTROLLER BOARD

AKKON USB CONTROLLER BOARD TN002 AKKON USB CONTROLLER BOARD USB Microcontroller board with the PIC18F4550 * Datasheet Authors: Gerhard Burger Version: 1.0 Last update: 20.01.2006 File: Attachments: no attachments Table of versions

More information

F2MC MB90385 series Evaluation Board Documentation. Revision Date Comment V New document

F2MC MB90385 series Evaluation Board Documentation. Revision Date Comment V New document F2MC MB90385 series Evaluation Board Documentation Revision Date Comment V1.0 08.25.02 New document 1 Warranty and Disclaimer To the maximum extent permitted by applicable law, Fujitsu Microelectronics

More information

CEIBO FE-5111 Development System

CEIBO FE-5111 Development System CEIBO FE-5111 Development System Development System for Atmel W&M T89C5111 Microcontrollers FEATURES Emulates Atmel W&M T89C5111 4K Code Memory Real-Time Emulation and Trace Frequency up to 33MHz/5V ISP

More information

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick TOOLSTICK C8051F560 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent

More information

AC/DC. Adapter. Serial. Adapter. Figure 1. Hardware Setup

AC/DC. Adapter. Serial. Adapter. Figure 1. Hardware Setup C8051F35X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F35x Development Kit contains the following items: C8051F350 Target Board Serial Adapter (RS232 to Target Board Debug Interface Protocol

More information

USB-to-I2C. Professional Hardware User s Manual.

USB-to-I2C. Professional Hardware User s Manual. USB-to-I2C Professional Hardware User s Manual https://www.i2ctools.com/ Information provided in this document is solely for use with the USB-to-I2C Professional product from SB Solutions, Inc. SB Solutions,

More information

ToolStick-EK TOOLSTICK USER S GUIDE. 1. Kit Contents. 2. ToolStick Overview. Green and Red LEDs. C8051F321 provides USB debug interface.

ToolStick-EK TOOLSTICK USER S GUIDE. 1. Kit Contents. 2. ToolStick Overview. Green and Red LEDs. C8051F321 provides USB debug interface. TOOLSTICK USER S GUIDE 1. Kit Contents The ToolStick kit contains the following items: ToolStick Silicon Laboratories Evaluation Kit IDE and Product Information CD-ROM. CD content includes: Silicon Laboratories

More information

EMUL-AVR-PC. User Guide

EMUL-AVR-PC. User Guide EMUL-AVR-PC User Guide Nohau Corporation 51 E. Campbell Ave. Campbell, CA 95008 PH: (408) 866-1820 Fax: (408) 378-7869 E-mail: support@nohau.com www.nohau.com EMUL AVR PC User Guide Edition 1, July 24,

More information

CEIBO FE-51RD2 Development System

CEIBO FE-51RD2 Development System CEIBO FE-51RD2 Development System Development System for Atmel AT89C51RD2 Microcontrollers FEATURES Emulates Atmel AT89C51RD2 60K Code Memory Real-Time Emulation Frequency up to 40MHz / 3V, 5V ISP and

More information

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick TOOLSTICK UNIVERSITY DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent

More information

Section 1 Introduction

Section 1 Introduction Section 1 Introduction The AT90ICEPRO is a real time In-Circuit Emulator (ICE) for all AT90S1200, -S2313, -S2323, -S2333, -S2343, -S4414, -S4433, -S4434, -S8515 and -S8535 devices. It can be upgraded to

More information

_ V Intel 8085 Family In-Circuit Emulation. Contents. Technical Notes

_ V Intel 8085 Family In-Circuit Emulation. Contents. Technical Notes _ V9.12. 225 Technical Notes Intel 8085 Family In-Circuit Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document assumes knowledge

More information

AC/DC Adapter. Figure 1. Hardware Setup

AC/DC Adapter. Figure 1. Hardware Setup C8051F12X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F12x Development Kit contains the following items: C8051F120 Target Board Serial Adapter (RS232 to Target Board Debug Interface Protocol

More information

MegaAVR-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX

MegaAVR-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX MegaAVR-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN 46268 (317) 471-1577 (317) 471-1580 FAX http://www.prllc.com GENERAL The MegaAVR-Development board is designed for

More information

EVB9S08DZ60. Demonstration Board for Freescale MC9S08DZ60. User s Manual

EVB9S08DZ60. Demonstration Board for Freescale MC9S08DZ60. User s Manual EVB9S08DZ60 Demonstration Board for Freescale MC9S08DZ60 User s Manual EVB9S08DZ60 Evaluation Board for Freescale MC9S08DZ60 (64-Pin LQFP) User s Manual Revision 1.0 Copyright 2006 SofTec Microsystems

More information

MPLAB SIM. MPLAB IDE Software Simulation Engine Microchip Technology Incorporated MPLAB SIM Software Simulation Engine

MPLAB SIM. MPLAB IDE Software Simulation Engine Microchip Technology Incorporated MPLAB SIM Software Simulation Engine MPLAB SIM MPLAB IDE Software Simulation Engine 2004 Microchip Technology Incorporated MPLAB SIM Software Simulation Engine Slide 1 Welcome to this web seminar on MPLAB SIM, the software simulator that

More information

CEIBO FE-W7 Development System

CEIBO FE-W7 Development System CEIBO FE-W7 Development System Development System for Winbond W7xxxx Microcontrollers FEATURES Emulates Winbond W77xxx or W78xxx Microcontrollers 125K Code Memory Real-Time Emulation Frequency up to fmax

More information

ADSP-218x Family EZ-ICE Hardware Installation Guide

ADSP-218x Family EZ-ICE Hardware Installation Guide ADSP-218x Family EZ-ICE Hardware Installation Guide 2000 Analog Devices, Inc. ADSP-218x Family EZ-ICE Hardware Installation Guide a Notice Analog Devices, Inc. reserves the right to make changes to or

More information

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick TOOLSTICK LIN DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent damage

More information

Win-I2CUSB Hardware User s Manual

Win-I2CUSB Hardware User s Manual Win-I2CUSB Hardware User s Manual http://www.demoboard.com Information provided in this document is solely for use with the Win-I2CUSB product from The Boardshop. The Boardshop and SB Solutions, Inc. reserve

More information

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick TOOLSTICK C8051F931 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent

More information

CodeWarrior Development Studio for Freescale 68HC12/HCS12/HCS12X/XGATE Microcontrollers Quick Start SYSTEM REQUIREMENTS Hardware Operating System 200

CodeWarrior Development Studio for Freescale 68HC12/HCS12/HCS12X/XGATE Microcontrollers Quick Start SYSTEM REQUIREMENTS Hardware Operating System 200 CodeWarrior Development Studio for Freescale 68HC12/HCS12/HCS12X/XGATE Microcontrollers Quick Start SYSTEM REQUIREMENTS Hardware Operating System 200 MHz Pentium II processor or AMD-K6 class processor,

More information

PICmicro Microcontroller Lite programmer datasheet

PICmicro Microcontroller Lite programmer datasheet PICmicro Microcontroller Lite programmer datasheet Contents 1. About this document 2. General information 3. Board overview 4. Getting Started 5. Block schematic and description Appendix A. Circuit diagram

More information

NEW CEIBO DEBUGGER. Menus and Commands

NEW CEIBO DEBUGGER. Menus and Commands NEW CEIBO DEBUGGER Menus and Commands Ceibo Debugger Menus and Commands D.1. Introduction CEIBO DEBUGGER is the latest software available from Ceibo and can be used with most of Ceibo emulators. You will

More information

indart -HCS08 In-Circuit Debugger/Programmer for Freescale HCS08 Family FLASH Devices User s Manual Rev. 2.0

indart -HCS08 In-Circuit Debugger/Programmer for Freescale HCS08 Family FLASH Devices User s Manual Rev. 2.0 indart -HCS08 In-Circuit Debugger/Programmer for Freescale HCS08 Family FLASH Devices User s Manual Rev. 2.0 Copyright 2006 SofTec Microsystems DC01028 We want your feedback! SofTec Microsystems is always

More information

Mega128-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX

Mega128-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX Mega128-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN 46268 (317) 471-1577 (317) 471-1580 FAX http://www.prllc.com GENERAL The Mega128-Development board is designed for

More information

C8051F700-DK C8051F700 DEVELOPMENT KIT USER S GUIDE. 1. Relevant Devices. 2. Kit Contents. 3. Hardware Setup

C8051F700-DK C8051F700 DEVELOPMENT KIT USER S GUIDE. 1. Relevant Devices. 2. Kit Contents. 3. Hardware Setup C8051F700 DEVELOPMENT KIT USER S GUIDE 1. Relevant Devices The C8051F700 Development Kit is intended as a development platform for the microcontrollers in the C8051F70x/71x MCU family. The members of this

More information

VINCULUM-BASED TEMPERATURE / HUMIDITY / VOLTAGE DATA LOGGER FEATURES:

VINCULUM-BASED TEMPERATURE / HUMIDITY / VOLTAGE DATA LOGGER FEATURES: DLP-VLOG *LEAD-FREE* VINCULUM-BASED TEMPERATURE / HUMIDITY / VOLTAGE DATA LOGGER FEATURES: Virtually Unlimited Data Storage Utilizing FTDI s New Vinculum USB Host IC Data Logged to USB Flash Drive Low-Power

More information

Apex-ICE Universal Emulator Hardware and Software Installation Guide

Apex-ICE Universal Emulator Hardware and Software Installation Guide Apex-ICE Universal Emulator Hardware and Software Installation Guide a Notice Analog Devices, Inc. reserves the right to make changes to or to discontinue any product or service identified in this publication

More information

Section 30. In-Circuit Serial Programming (ICSP )

Section 30. In-Circuit Serial Programming (ICSP ) Section 30. In-Circuit Serial Programming (ICSP ) HIGHLIGHTS This section of the manual contains the following major topics: 30. Introduction... 30-2 30.2 Entering In-Circuit Serial Programming Mode...

More information

EMUL51XA PC. User Guide. Edition 1. ICE Technology - All rights reserved worldwide.

EMUL51XA PC. User Guide. Edition 1. ICE Technology - All rights reserved worldwide. EMUL51XA PC User Guide Edition 1 ICE Technology - All rights reserved worldwide. EMUL51XA PC User Guide Contents About this Guide vii Downloading EMUL51XA PC Product Documentation vii Overview of the EMUL51XA

More information

indart -ST7C In-Circuit Debugger for STMicroelectronics ST72CXXX FLASH Devices User s Manual Copyright 2001 SofTec Microsystems DC00326

indart -ST7C In-Circuit Debugger for STMicroelectronics ST72CXXX FLASH Devices User s Manual Copyright 2001 SofTec Microsystems DC00326 indart -ST7C In-Circuit Debugger for STMicroelectronics ST72CXXX FLASH Devices User s Manual Copyright 2001 SofTec Microsystems DC00326 SofTec Microsystems E-mail (general information): info@softecmicro.com

More information

Z8ICE001ZEM Z8PLUS EMULATOR PRODUCT SPECIFICATION KIT CONTENTS OPTIONAL ITEMS NOT SUPPLIED

Z8ICE001ZEM Z8PLUS EMULATOR PRODUCT SPECIFICATION KIT CONTENTS OPTIONAL ITEMS NOT SUPPLIED PRODUCT SPECIFICATION Z8PLUS EMULATOR KIT CONTENTS Circuit Board Z8M001 Emulation Board (99C0603-001) Cables 18-Pin Emulation Pod Cable 9-Pin M F Serial Cable (6 ft.) Host Software Developer Studio (ZDS)

More information

EasyPIC5 Development System

EasyPIC5 Development System EasyPIC5 Development System Part No.: MPMICRO-PIC-Devel- EasyPIC5 Overview EasyPIC5 is a development system that supports over 120 8-, 14-, 18-, 20-, 28- and 40-pin PIC MCUs. EasyPIC5 allows PIC microcontrollers

More information

P&E Microcomputer Systems, Inc. P.O. Box 2044, Woburn, MA 01888, USA

P&E Microcomputer Systems, Inc. P.O. Box 2044, Woburn, MA 01888, USA P&E Microcomputer Systems, Inc. P.O. Box 2044, Woburn, MA 01888, USA TEL: (617) 353-9206 FAX: (617) 353-9205 http://www.pemicro.com USB-ML-MON08 Rev D Technical Summary Document # PE3357, Version 1.01

More information

DataPort 350 & 525 USB 2.0 and FireWire Enclosure User s Guide (800)

DataPort 350 & 525 USB 2.0 and FireWire Enclosure User s Guide  (800) DataPort 350 & 525 USB 2.0 and FireWire Enclosure User s Guide WWW.CRUINC.COM (800) 260-9800 TABLE OF CONTENTS PAGE Package Contents 1 Features and Requirements 2 Installation 6 Trouble Shooting 16 Technical

More information

Rapid40i PIC Prototyping PCB User Manual

Rapid40i PIC Prototyping PCB User Manual Description This is a PCB designed to facilitate the rapid prototyping of a device based on a 40 pin Microchip PIC microcontroller. To allow users to focus on their application, we take care of key housekeeping

More information

IAR C-SPY Hardware Debugger Systems User Guide

IAR C-SPY Hardware Debugger Systems User Guide IAR C-SPY Hardware Debugger Systems User Guide for the Renesas SH Microcomputer Family CSSHHW-1 COPYRIGHT NOTICE Copyright 2010 IAR Systems AB. No part of this document may be reproduced without the prior

More information

USB-to-I2C. Ultra Hardware User s Manual.

USB-to-I2C. Ultra Hardware User s Manual. USB-to-I2C Ultra Hardware User s Manual https://www.i2ctools.com/ Information provided in this document is solely for use with the USB-to-I2C Ultra product from SB Solutions, Inc. SB Solutions, Inc. reserves

More information

PICMASTER EMULATOR User s Guide

PICMASTER EMULATOR User s Guide PICMASTER EMULATOR User s Guide Information contained in this publication regarding device applications and the like is intended through suggestion only and may be superseded by updates. No representation

More information

OPERATIONS MANUAL PCM-I/O48

OPERATIONS MANUAL PCM-I/O48 OPERATIONS MANUAL PCM-I/O48 NOTE: This manual has been designed and created for use as part of the WinSystems Technical Manuals CD and/or the WinSystems website. If this manual or any portion of the manual

More information

Rapid40iXL PIC Prototyping PCB User Manual

Rapid40iXL PIC Prototyping PCB User Manual Description This is a PCB designed to facilitate the rapid prototyping of a device based on a 40 pin Microchip PIC microcontroller. To allow users to focus on their application, we take care of key housekeeping

More information

C8051F530A-DK C8051F530A DEVELOPMENT KIT USER S GUIDE. 1. Relevant Devices. 2. Kit Contents

C8051F530A-DK C8051F530A DEVELOPMENT KIT USER S GUIDE. 1. Relevant Devices. 2. Kit Contents C8051F530A DEVELOPMENT KIT USER S GUIDE 1. Relevant Devices The C8051F530A Development Kit is intended as a development platform for the microcontrollers in the C8051F52xA-53xA MCU family. The members

More information

PIC16F87X. 28/40-pin 8-Bit CMOS FLASH Microcontrollers. Devices Included in this Data Sheet: Pin Diagram PDIP. Microcontroller Core Features:

PIC16F87X. 28/40-pin 8-Bit CMOS FLASH Microcontrollers. Devices Included in this Data Sheet: Pin Diagram PDIP. Microcontroller Core Features: PIC16F7X 2/40-pin -Bit CMOS FLASH Microcontrollers Devices Included in this Data Sheet: PIC16F7 PIC16F74 PIC16F76 PIC16F77 Microcontroller Core Features: High-performance RISC CPU Only 5 single word instructions

More information

RTE-V850E/GP1-IE USER'S MANUAL (REV.1.01) RealTimeEvaluator

RTE-V850E/GP1-IE USER'S MANUAL (REV.1.01) RealTimeEvaluator RTE-V850E/GP1-IE USER'S MANUAL (REV.1.01) RealTimeEvaluator REVISION HISTORY Rev. 1.00 June 20, 2002 Rev. 1.01 November 15, 2002 First edition Revising following chapters * "Measured value of execution

More information

BSCB-2 BASIC STAMP CARRIER BOARD

BSCB-2 BASIC STAMP CARRIER BOARD BSCB-2 BASIC STAMP CARRIER BOARD Technical Manual Document Revision: 1.04 Date: 06 August 2003 BiPOM Electronics, Inc. 16301 Blue Ridge Road, Missouri City, Texas 77489 Telephone: 1-713-283-9970 Fax: 1-281-416-2806

More information

SH69P55A EVB. Application Note for SH69P55A EVB SH69P55A EVB SH69V55A

SH69P55A EVB. Application Note for SH69P55A EVB SH69P55A EVB SH69V55A Application Note for SH69P55A EVB SH69P55A EVB The SH69P55A EVB is used to evaluate the SH69P55A chip's function for the development of application program. It contains of a SH69V55A chip to evaluate the

More information

EMUL-PPC-PC. Getting Started Guide. Version 1.0

EMUL-PPC-PC. Getting Started Guide. Version 1.0 EMUL-PPC-PC Getting Started Guide Version 1.0 EMUL PowerPC Getting Started Guide Edition1 ICE Technology. All rights reserved worldwide. Contents Warranty Information European CE Requirements User Responsibility

More information

SH69P48A EVB. Application Notes for SH69P48A EVB SH69V48A JP2 J4(ICE_J4) S1 IDD TEST JP1 74HC273 JP4 JP3 74HC273 JP6 STKOVE JP7 SW1 J5(ICE_J5)

SH69P48A EVB. Application Notes for SH69P48A EVB SH69V48A JP2 J4(ICE_J4) S1 IDD TEST JP1 74HC273 JP4 JP3 74HC273 JP6 STKOVE JP7 SW1 J5(ICE_J5) SH69P48A EVB Application Notes for SH69P48A EVB The SH69P48A EVB is used to evaluate the SH69P48A chip's function for the development of application program. It contains of a SH69V48A chip to evaluate

More information

BV511 Hardware Guide ByVac ByVac Revision 1.0

BV511 Hardware Guide ByVac ByVac Revision 1.0 BV511 Hardware Guide ByVac ByVac 2007 www.byvac.co.uk Revision 1.0 ByVac 1 Copyright in this work is vested in ByVac and the document is issued in confidence for the purpose only for which it is supplied.

More information

Rapid28iXL PIC Prototyping PCB User Manual

Rapid28iXL PIC Prototyping PCB User Manual Description Features This is a PCB designed to facilitate the rapid prototyping of a device based on a 28 pin Microchip PIC microcontroller. To allow users to focus on their application, we take care of

More information

Universal Keying Adapter 3+

Universal Keying Adapter 3+ Universal Keying Adapter 3+ The Universal Keying Adapter Version 3+ kit will allow you to key nearly any transmitter or transceiver with a straight key, electronic keyer, computer serial or parallel port

More information

Olimex PIC-KIT3 In-circuit programmer/debugger

Olimex PIC-KIT3 In-circuit programmer/debugger Olimex PIC-KIT3 In-circuit programmer/debugger USER S MANUAL Revision B, October 2013 All boards produced by Olimex LTD are ROHS compliant DISCLAIMER 2013 Olimex Ltd. Olimex, logo and combinations thereof,

More information

Model JI-300 I2C Host Adapter

Model JI-300 I2C Host Adapter Model JI-300 I2C Host Adapter User s Manual Jupiter Instruments Version 1.1 10/25/2007 Edition JI-300 1 4/5/07 TABLE OF CONTENTS 1. INTRODUCTION 4 1.1 Front Panel Description 5 1.2 Rear Panel Description

More information

CodeWarrior Development Studio for etpu v10.x Quick Start SYSTEM REQUIREMENTS

CodeWarrior Development Studio for etpu v10.x Quick Start SYSTEM REQUIREMENTS CodeWarrior Development Studio for etpu v10.x Quick Start SYSTEM REQUIREMENTS Hardware Operating System Software Disk Space Intel Pentium 4 processor, 2 GHz or faster, Intel Xeon, Intel Core, AMD Athlon

More information

Mega128-Net Mega128-Net Mega128 AVR Boot Loader Mega128-Net

Mega128-Net Mega128-Net Mega128 AVR Boot Loader Mega128-Net Mega128-Net Development Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN 46268 (317) 471-1577 (317) 471-1580 FAX http://www.prllc.com GENERAL The Mega128-Net development board is designed

More information

Controller Continuum. for Microcontrollers V6.3. Quick Start

Controller Continuum. for Microcontrollers V6.3. Quick Start Controller Continuum for Microcontrollers V6.3 Quick Start CodeWarrior Development Studio for Microcontrollers V6.x Quick Start SYSTEM REQUIREMENTS Hardware Operating System Disk Space PC with 1 GHz Intel

More information

DS-251 In-Circuit Emulator

DS-251 In-Circuit Emulator DS-251 In-Circuit Emulator In-Circuit Emulator for 251 Microcontrollers FEATURES Real-Time and Transparent In-Circuit Emulator for 251s Standard 256K Emulation Memory Real-Time Trace up to 128K Frames

More information

RFID: Read and Display V2010. Version 1.1. Sept Cytron Technologies Sdn. Bhd.

RFID: Read and Display V2010. Version 1.1. Sept Cytron Technologies Sdn. Bhd. PR8-B RFID: Read and Display V2010 Version 1.1 Sept 2010 Cytron Technologies Sdn. Bhd. Information contained in this publication regarding device applications and the like is intended through suggestion

More information

CMS-8GP32. A Motorola MC68HC908GP32 Microcontroller Board. xiom anufacturing

CMS-8GP32. A Motorola MC68HC908GP32 Microcontroller Board. xiom anufacturing CMS-8GP32 A Motorola MC68HC908GP32 Microcontroller Board xiom anufacturing 2000 717 Lingco Dr., Suite 209 Richardson, TX 75081 (972) 994-9676 FAX (972) 994-9170 email: Gary@axman.com web: http://www.axman.com

More information

PIC Microcontroller Introduction

PIC Microcontroller Introduction PIC Microcontroller Introduction The real name of this microcontroller is PICmicro (Peripheral Interface Controller), but it is better known as PIC. Its first ancestor was designed in 1975 by General Instruments.

More information

Getting Started with STK200 Dragon

Getting Started with STK200 Dragon Getting Started with STK200 Dragon Introduction This guide is designed to get you up and running with main software and hardware. As you work through it, there could be lots of details you do not understand,

More information

Display Real Time Clock (RTC) On LCD. Version 1.2. Aug Cytron Technologies Sdn. Bhd.

Display Real Time Clock (RTC) On LCD. Version 1.2. Aug Cytron Technologies Sdn. Bhd. Display Real Time Clock (RTC) On LCD PR12 Version 1.2 Aug 2008 Cytron Technologies Sdn. Bhd. Information contained in this publication regarding device applications and the like is intended through suggestion

More information

Locktronics PICmicro getting started guide

Locktronics PICmicro getting started guide Page 2 getting started guide What you need to follow this course 2 Using the built-in programs 3 Create your own programs 4 Using Flowcode - your first program 5 A second program 7 A third program 8 Other

More information

Emulator Setup Instructions for MB91360

Emulator Setup Instructions for MB91360 Emulator Setup Instructions for MB91360 Page 1 Application Note Emulator Setup Instructions for MB91360 Fujitsu Microelectronics Europe GmbH, Microcontroller Application Group History 13 th Oct. 99 MM

More information

DCM Digital Control Modules

DCM Digital Control Modules DCM Digital Control Modules TECHNICAL MANUAL Version 1.2 November 2011 Safety Precautions Caution Read Instructions: Read and understand all safety and operating instructions before using the equipment.

More information

Atmel AVR datasheet. Matrix Multimedia Atmel AVR Board EB Contents

Atmel AVR datasheet. Matrix Multimedia Atmel AVR Board EB Contents Atmel AVR datasheet Contents 1. About this document 2. General information 3. Board overview 4. Getting Started 5. Block schematic and description Appendix A. Circuit diagram B. Compatible AVR device C.

More information

Bolt 18F2550 System Hardware Manual

Bolt 18F2550 System Hardware Manual 1 Bolt 18F2550 System Hardware Manual Index : 1. Overview 2. Technical specifications 3. Definition of pins in 18F2550 4. Block diagram 5. FLASH memory Bootloader programmer 6. Digital ports 6.1 Leds and

More information

CPU369-Module Documentation. Fujitsu Microelectronics Europe GmbH Am Siebenstein Dreieich-Buchschlag, Germany

CPU369-Module Documentation. Fujitsu Microelectronics Europe GmbH Am Siebenstein Dreieich-Buchschlag, Germany CPU369-Module Documentation Fujitsu Microelectronics Europe GmbH Am Siebenstein 6-10 63303 Dreieich-Buchschlag, Germany History Revision Date Comment V1.0 08.03.01 New Document V1.1 17.10.03 Modifications

More information

EMUL IP2K PC. User Guide. Edition 1, July 13, Nohau Corporation. All rights reserved worldwide.

EMUL IP2K PC. User Guide. Edition 1, July 13, Nohau Corporation. All rights reserved worldwide. EMUL IP2K PC User Guide Edition 1, July 13, 2001 2001 Nohau Corporation. All rights reserved worldwide. EMUL IP2K PC User Guide Contents About This Guide vi Overview of the EMUL IP2K PC Emulator System

More information

MCP2120/MCP2150 DEVELOPER S KIT USER S GUIDE

MCP2120/MCP2150 DEVELOPER S KIT USER S GUIDE MCP2120/MCP2150 DEVELOPER S KIT USER S GUIDE Information contained in this publication regarding device applications and the like is intended by way of suggestion only. No representation or warranty is

More information

POD 51EH C541U 12 EA ALE PSEN XH0 XH1 XH2 XH3 XH4 XH5 XH6 XH7 XL7 XL6 XL5 XL4 XL3 XL2 XL1 XL0. Figure 1. POD 51EH C541U 12

POD 51EH C541U 12 EA ALE PSEN XH0 XH1 XH2 XH3 XH4 XH5 XH6 XH7 XL7 XL6 XL5 XL4 XL3 XL2 XL1 XL0. Figure 1. POD 51EH C541U 12 6 7.. P P POD 5EH C54U RST R PWD Y IDL Y EML G MON Y MERR R JP JP T JP7 ANB FLF EMUL XH0 XH XH XH XH4 XH5 XH6 XH7 EA ALE PSEN T XS MCU XS T 7 6 5 4 0 D P P P D M JP0 XL7 XL6 XL5 XL4 XL XL XL XL0 FULL USL

More information

AXE Stack 18. BASIC-Programmable Microcontroller Kit. An inexpensive introduction to microcontroller technology for all ability levels

AXE Stack 18. BASIC-Programmable Microcontroller Kit. An inexpensive introduction to microcontroller technology for all ability levels Ltd AXE Stack 18 BASIC-Programmable Microcontroller Kit a division of An inexpensive introduction to microcontroller technology for all ability levels Free Windows interface software Programmable in BASIC

More information

SBAT90USB162 Atmel. SBAT90USB162 Development Board User s Manual

SBAT90USB162 Atmel. SBAT90USB162 Development Board User s Manual SBAT90USB162 Atmel AT90USB162 Development Board User s manual 1 1. INTRODUCTION Thank you for choosing the SBAT90USB162 Atmel AT90USB162 development board. This board is designed to give a quick and cost-effective

More information

Sensoray Model 627 CompactPCI to PCI Adapter

Sensoray Model 627 CompactPCI to PCI Adapter Sensoray Model 627 CompactPCI to PCI Adapter Revised December 19, 2003 TABLE OF CONTENTS LIMITED WARRANTY... 4 SPECIAL HANDLING INSTRUCTIONS... 4 1. INTRODUCTION... 5 2. SYSTEM REQUIREMENTS... 5 3. SPECIFICATIONS...

More information

DEV-1 HamStack Development Board

DEV-1 HamStack Development Board Sierra Radio Systems DEV-1 HamStack Development Board Reference Manual Version 1.0 Contents Introduction Hardware Compiler overview Program structure Code examples Sample projects For more information,

More information

PSIM Tutorial. How to Use SCI for Real-Time Monitoring in F2833x Target. February Powersim Inc.

PSIM Tutorial. How to Use SCI for Real-Time Monitoring in F2833x Target. February Powersim Inc. PSIM Tutorial How to Use SCI for Real-Time Monitoring in F2833x Target February 2013-1 - With the SimCoder Module and the F2833x Hardware Target, PSIM can generate ready-to-run codes for DSP boards that

More information

8051 Intermidiate Development Board. Product Manual. Contents. 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help

8051 Intermidiate Development Board. Product Manual. Contents. 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help 8051 Intermidiate Development Board Product Manual Contents 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help 1. Overview 2. Features The board is built on a high quality FR-4(1.6

More information

Revision: 0.30 June Intel Server Board S2600CP4 UEFI Development Kit Firmware Installation Guide

Revision: 0.30 June Intel Server Board S2600CP4 UEFI Development Kit Firmware Installation Guide Revision: 0.30 June 2013 Intel Server Board S2600CP4 UEFI 2.3.1 Development Kit Intel Server Board S2600CP4 UEFI 2.3.1 Development Kit INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL

More information

BRG17088HR User's Manual PCI to ISA Bridge PC/104-Plus Module

BRG17088HR User's Manual PCI to ISA Bridge PC/104-Plus Module BRG17088HR User's Manual PCI to ISA Bridge PC/104-Plus Module ISO9001 and AS9100 Certified BDM-610020053 Rev D BRG17088HR User's Manual RTD EMBEDDED TECHNOLOGIES, INC. 103 Innovation Blvd State College,

More information

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup Using a USB Debug Adapter

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup Using a USB Debug Adapter C8051F32X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F32x Development Kit contains the following items: C8051F320 Target Board C8051Fxxx Development Kit Quick-Start Guide AC to DC Power Adapter

More information

AN4311 Application note

AN4311 Application note Application note Assessing STM32L1 Series current consumption Introduction The STMicroelectronics ARM Cortex -M3 based STM32L1 series uses ST s proprietary ultra-low-leakage process technology with an

More information

All information, including contact information, is available on our web site Feel free also to explore our alternative products.

All information, including contact information, is available on our web site   Feel free also to explore our alternative products. _ V1.1 POD Hardware Reference Intel 80186 EA POD POD rev. D Ordering code IC20011-1 Thank you for purchasing this product from isystem. This product has been carefully crafted to satisfy your needs. Should

More information

eip-10 Embedded TCP/IP 10-BaseT Network Module Features Description Applications

eip-10 Embedded TCP/IP 10-BaseT Network Module Features Description Applications Embedded TCP/IP 10-BaseT Network Module Features 8-bit reprogrammable Microcontroller with Enhanced Flash program memory, EEPROM and Static RAM data memory On board 10Mbps Ethernet controller, and RJ45

More information

AVR- M16 development board Users Manual

AVR- M16 development board Users Manual AVR- M16 development board Users Manual All boards produced by Olimex are ROHS compliant Rev. C, January 2005 Copyright(c) 2009, OLIMEX Ltd, All rights reserved Page1 INTRODUCTION AVR-M16 is header board

More information

Quick Setup & Getting Started

Quick Setup & Getting Started Quick Setup & Getting Started HP Compaq Business PC Copyright 2007 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Microsoft, Windows, and

More information

READ ME FIRST Windows 98/ME/2000

READ ME FIRST Windows 98/ME/2000 READ ME FIRST Windows 98/ME/2000 *DSL Equipment Installation Guide: Alcatel Speed Touch PC *Digital Subscriber Line Part Number: AlcatelPC9x02A Version 1.2-A Table of Contents Follow Steps 1 through 7

More information

M68EM05X4 EMULATOR MODULE USER'S MANUAL

M68EM05X4 EMULATOR MODULE USER'S MANUAL M68EM05X4/D Rev. 2 January 1996 M68EM05X4 EMULATOR MODULE USER'S MANUAL Third Edition MOTOROLA Ltd., 1993, 1995, 1996; All Rights Reserved Motorola reserves the right to make changes without further notice

More information

MU Beta. Real-Time In-Circuit Emulator for the Microchip PIC microcontrollers. User's Manual

MU Beta. Real-Time In-Circuit Emulator for the Microchip PIC microcontrollers. User's Manual MU Beta Real-Time In-Circuit Emulator for the Microchip PIC microcontrollers User's Manual CONTENTS: 1. MU Beta 3 1.1 Technical specification 3 1.2 Packing list 3 2. Hardware installation 4 3. Hardware

More information

KE-USBMX20. Matrix Keypad Interface User Manual

KE-USBMX20. Matrix Keypad Interface User Manual KE-USBMX20 Matrix Keypad Interface User Manual Table of Contents Introduction to the KE-USBMX20 1 Computer Connection 2 Interfacing to the KE-USBMX20 Header 3 Status Feedback LED 4 The KE-USBMX20.EXE Program

More information