Help Index

  • General Information
  • Getting Started
  • MU Alpha In-Circuit Emulator
  • MU Beta In-Circuit Emulator
  • IDEA Design Environment
  • IDEA Menus
  • IDEA Windows
  • IDEA Dialogs
  • Tips and Tricks
  • Frequently Asked Questions


General Information

  • Introduction
  • Contact
  • Documentation Conventions
  • System Requirements
  • Legal
  • About...

Go to Help Index


General Information - Introduction

Introduction

In-Circuit emulator is an equipment which offers substantial support while developing of microcontroller applications. Using the emulator brings much benefit - that is why the user who has tried working with such equipment once is hardly willing to work without this any more.

The main advantage of the emulator is substantial shortening of development time, much higher comfort and better results. Even a beginner can immediately use the fact that his application is on view and is able to influence it in the effective way (stop, run, step, watch and change the content of registers, ...). The experienced user can enjoy many sophisticated functions of the emulator.

Program IDEA is intended to control emulator functions via PC computer and to perform interaction between user and emulator hardware. This is a debugger (like Borland Turbo Debugger for example) which can be run even standalone, but it should serve especially as an integrated development environment (IDE) in cooperation with two other external programs - compiler/assembler and source code editor. As a default compiler, free MPASMWIN by Microchip is used. As a source text editor, WE editor was created to provide best performance for Microchip PIC application developers. The user can use any external language tool (e.g. C, Pascal, Basic compiler) which generates ByteCraft standard debugging file (*.COD).

Go to Help Index

Go to General Information


General Information - Contact

Contact

Address | ASIX s.r.o. Staropramenna 4 15000 Prague Czech Republic
E-Mail | sales@asix.net (sales inquiries, ordering) support@asix.net (technical support)
WWW | tools.asix.net (development tools, English) www.asix.net (main site, English) www.asix.cz (Czech site)
Phone | +420-257 312 378
Fax | +420-257 329 116

Go to Help Index

Go to General Information


General Information - Documentation Conventions

Documentation Conventions

  • Using "angle brackets" (chars "<" a ">") means pressing a key. For example, <F> means pressing the F key, <Alt+E> means holding down the Alt key, then pressing the E key.
  • Names of keys correspond to standard US keyboard assignment excepting spacer, that we will sign <Space>.
  • In this manual, "application" means software for microcontroller and "program" means control software for emulator running on PC.

Go to Help Index

Go to General Information


General Information - System Requirements

System Requirements

Your PC must satisfy following requirements:

  • Processor: Pentium 200 MHz or higher, 1 GHz and more recommended
  • Operating system: Windows 95/98/ME/NT/2K/XP/Vista
  • RAM: min. 32 MB, 256 MB and more recommended
  • Standard parallel port or USB.

Note:
DOS users or users with old PCs can still use the DOS version - ARTEMIS. However, this software will not be updated.

Go to Help Index

Go to General Information


General Information - Legal

Legal

© 1991-2008 ASIX s.r.o. All rights reserved.

Information subject to change. The Microchip name, logo, PIC, PICmicro, "The Embedded Control Solutions Company", MPLAB, MPASM, ICEPIC, ICSP, In-Circuit Serial Programming, PICC, PICC Lite and PICC 18 are registered trademarks of Microchip Technology Inc. in the U.S.A. and other countries. All other trademarks mentioned herein are the property of their respective owners. This information is provided in the hope that it will be useful, but without any warranty. We disclaim any liability for the accuracy of this information.

Go to Help Index

Go to General Information


About...

IDEA - Integrated Development Environment by ASIX

For information about IDEA version and ASIXIO.SYS driver version (Windows NT/2K/XP only) select a menu command Tools -> Info.

CONTACT INFORMATION

Special thanks to:

  • Pavel Chromy for asixio.sys driver and valuable help
  • Zbynek Munzar for WE editor
  • Andrei Prygounkov and Roman Tkachev for RALib
  • Borland Inc. for Delphi

© ASIX s.r.o., 1991-2008

Go to Help Index

Go to General Information


Getting Started

  • Quick Start
  • Software Installation
  • Hardware Installation


Getting Started - Quick Start

Quick Start

We strongly recommend all users to read this manual (help file) completely.

Step 1

Install MU Alpha or MU Beta hardware. It may seem to be trivial but if you want to protect your equipment against damage, do read about Hardware Installation.

Step 2

Install the IDEA software. Especially Windows NT/2K/XP/Vista user should read carefully about the Software Installation.

Note:
If you did already install any previous IDEA version, please un-install it before new installation to remove old unnecessary files. Your projects and source files will remain unchanged, only {IDEA directory}\Projects\Examples\Example.* files will be rewritten.

Step 3

If hardware and software are installed and emulator is switched on, run the program IDEA, e.g. by click on its desktop icon. In the very beginning, MPASMWIN assembler will be invoked first to build the project Example. Then you are asked to select action, choose the default "Continue to use an EXAMPLE project" button. Now you see IDEA desktop with Program Memory window and Console window opened.

Step 4

Now it is necessary to setup hardware communication. Select menu Options -> Global, a Global Options dialog will be opened. Then, select the tab with your equipment name (MU Alpha, MU Beta, EMUSB) and set-up the communication parameters.

Step 5

Changing project equipment: Using menu Project -> Edit Project open the Edit Project dialog and set up equipment from default "DEMO" to emulator you have (MU Alpha, Mu Beta or EMUSB for MU Beta). Do not change the part type. Confirm change by pressing OK, then select Yes to next question. Project will be rebuilt using MPASMWIN and then hardware initialization of emulator (FPGA configuration and complete internal set-up) is invoked. You can see that emulator LEDs are now active and indicating hardware status.

Step 6

Now place another window on IDEA desktop - Watches window by menu View -> Watches command. You see the variables HUNDREDS, SECONDS, MINUTES and HOURS in Watches window.

Then, start the application by menu Run -> Run command. You can see the appliation running, and the variables incrementing. This simple application does not access PIC ports and does not require any target application connected.

Now you can "play" with this project - Run, Halt, Step, Edit source, Build, open and close various windows, etc.

To make your beginnings with our tools even easier, we prepared some example projects for you.

Go to Help Index

Go to Getting Started


Getting Started - Software Installation

Software Installation

If you use EMUSB (MU Beta USB Interface) please install its USB drivers first (as described in Hardware Installation).

Download an installation file and run installation program. The installation uses InnoSetup, which creates standard "wizzard" style installator you should be familiar with.

Default destination directory (or folder) is C:\Program Files\ASIX\IDEA. Advanced users can use another base directory than "Program Files". The program icon will be placed on desktop, but you can supress this option.

Now you can run the IDEA.EXE. Note, that if you use Windows NT/2K/XP, you must use the administrator mode because the parallel port driver asixio.sys will be installed (typically to C:\Windows\System32\Drivers directory). Also, you must have write access rights for the directory where IDEA.EXE is installed.

You may find convenient to associate the IDP file extension with program IDEA, because it allows you to start projects using file managers like Windows Commander, ZTreeWin, FAR or even Explorer. Automatic file association is currently not implemented.

Notes:
(1) You must have the write access in directories (folders), where IDEA is installed and in project target directories. There is not possible to run the software from e.g. CD-ROM, the settings cannot be saved in such case and software gives an error message.
(2) Software IDEA requires correct date and time setup on your computer (IDEA compares the date/time information of .ASM source files and .COD debug file and decides if the source files must be compiled before using the information contained in the debug file).

Go to Help Index

Go to Getting Started


Getting Started - Hardware Installation

Hardware Installation

Check your package if it contains all parts (see MU Alpha packing list and MU Beta packing list for details).

The standard emulation headers support devices in DIP packages, DIP to SOIC converters are available as an option. Any header contains the emulation socket and two clips labeled TriggerIn and TriggerOut which function is described later in this document.

  • Connect the communication cable - there are two options:
    • Parallel port
      Use ACABLE for MU Alpha or BTCABLE for MU Beta (Sub-D 25 to 9 pins cable) and connect it to emulator to the connector labeled LPT and to parallel port of computer.
    • USB (using EMUSB)
      Use EMUSB (MU Beta USB Interface) and connect it to the USB port at your computer (or USB hub). Windows then founds a new hardware and will ask you to install drivers. Drivers are available on installation CD-ROM (in \drivers\EMUSB\ directory) or from tools.asix.net website. Please note that drivers are not digitally signed and you will have to click a "Continue anyway" button during installation. After successful driver installation you will find that the green EMUS LED will lite.
  • Connect power adapter (9V / 300 mA, DC, non-stabilized) to emulator via the connector labeled 9V DC and then connect to the mains. Power is indicated by green LED labeled POWER. Emulator has no power switch. Do not let the emulator switched on if you do not use it for the extended period.
  • Connect the protection module PROTAB to emulator (the connector labeled TARGET).
  • Plug the emulation header to PROTAB and to your application to the microcontroller socket. Pin no. 1 is indicated by a red point on the header.

Recommendation:
Use the protection module PROTAB between emulator and emulation header whenever possible. Its purpose is to avoid damaging the emulator output buffer by eventuall short circuit. These I/O pin output buffers are capable to sink/source relatively high current (to be compatible with real PIC MCUs) but the short circuit to the ground or power supply can cause permanent damage. Only applications requiring full output current should be debugged without PROTAB but even for these applications use PROTAB in the beginning.

Please, do not skip reading this important information: Tips -> Emulator Operating Conditions!

Go to Help Index

Go to Getting Started


MU Alpha

MU Alpha is no longed manufactured and sold. Recommended replacement is MU Beta.

MU Alpha is a Real-Time In-Circuit Hardware Emulator for the most popular Microchip PIC® microcontrollers. It offers many professional level features for extremely low price. It is designed to multiply your productivity and comfort of PIC application development.

Supported devices

  • PIC16F84/84A (20 MHz)
  • PIC12C508A (PIC12F508)
  • PIC12C509A (PIC12F509)
  • PIC16C54C (PIC16F54)
  • PIC16C56A
  • PIC16C58B (limited to 1 Kword program memory)

Features

  • Non-compromised background debugging, all device resources are user available
  • Target application power supply from 2 to 5.5V
  • Software selectable oscillator frequency and other flexible clock frequency options
  • Target application independent functionality (hardware simulator mode)
  • Extensive break logic possibilities
  • Flexible reset options
  • True HALT state
  • Trigger In and Trigger Out
  • 32-bit instruction stopwatch
  • Flexible watchdog setting
  • Off-line mode
  • Well-arranged LED mode indication
  • Reconfigurable hardware
  • Trace memory, conditional trace
  • Compact mechanical construction
  • Fast PC interface via parallel port

More information about MU Alpha...

MU Alpha packing list...


MU Alpha - More information

More about MU Alpha

MU Alpha is a Real-Time In-Circuit Hardware Emulator for the most popular 18-pin and 8-pin Microchip PIC® microcontrollers. It offers many professional level features for very low price. It is designed to multiply your productivity and comfort of PIC application development.

The emulator is based on the state-of-the-art programmable gate arrays, which allows for the unique flexibility and functionality in comparison to systems using the emulation chips. The analogue peripherals are designed to have the parameters very close to the original PIC MCUs.

The target device type, clock options and many other parameters are simply software selectable - no confusing jumper settings, no interchangeable oscillator modules are necessary. The user only has to connect the target probe for 18-pin or 8-pin devices.

All device resources are available for user's application. Nothing is blocked by emulator hardware or software. Moreover - MU Alpha offers the excellent device resource accessibility even when running at full application speed. You do not have to stop the real-time run to watch and modify device registers.

Low voltage applications? No problem with MU Alpha. Target application supply voltage can be as low as 2 V and your emulator still works fine. No obvious 5 V only limitations.

Internal clock frequency synthesizer provides the clock in the range from 25 kHz to 20 MHz (full speed of emulated devices). The user can select the crystal mode or RC mode with CLKOUT equal to Fosc/4. The external clock up to 10 MHz and the external RC oscillator are the other clock options.

Target application independent functionality: Emulator can be used with or without target system (which allows to test internal routines independently of application - like a "real-time software simulator").

Extensive break logic possibilities: Unlimited number of breakpoints anywhere in the code memory (activated BEFORE instruction execution). Many other break conditions: file register breaks in data memory, Timer0 overflow, Trace buffer overflow, Watchdog timer overflow, Stack overflow/underflow, Break on external probe (Trigger In).

32-bit instruction cycle counter - stopwatch - with overflow detection accurately counts active cycles both in Run or Step modes. The time is displayed in cycles and in microseconds. The second - differential - counter is available.

Flexibility of emulator circuitry allows software upgrades (e.g. via Internet) of the emulator hardware and even individual modifications with respect to individual user's needs.

Trace memory with 256 instructions depth, tracing is fully user selectable for arbitrary (even discontinuous) locations and areas.

Default device socket is DIP, SMD headers can be ordered as an option.

Go to Help Index

Go to MU Alpha In-Circuit Emulator


MU Alpha - Packing List

  • MU Alpha - base unit
  • MW903GS - power supply, Euro type (PRI: 230VAC, 50Hz, SEC: 9VDC, 300mA, 2.1 mm connector diameter)
    Shipped only to continental Europe countries.
  • ACABLE - PC connection cable: 25-pin parallel port (LPT), 9-pin MU Alpha
  • PROTAB - target connector pin protection device.
  • HA5xx - 8-pin devices emulation header: board
  • HMU10 - 8-pin devices emulation header: target application cable
  • HMU20 - 18-pin devices emulation header: target application cable
  • CD-ROM
  • User's Manual

Go to Help Index

Go to MU Alpha In-Circuit Emulator


MU Beta

MU Beta is a Real-Time In-Circuit Hardware Emulator for the most popular 6-pin to 18-pin Microchip PIC® microcontrollers. It offers many professional level features for very low price. It is designed to multiply your productivity and comfort of PIC application development.

Supported devices

6-pin devices:

  • PIC10F200
  • PIC10F202
  • PIC10F204
  • PIC10F206

8-pin devices:

  • PIC12C508A (PIC12F508)
  • PIC12C509A (PIC12F509)
  • PIC12F629
  • PIC12F675

14-pin devices:

  • PIC16F630
  • PIC16F676 (limited to 4 A/D channels - AN0..3)

18-pin devices:

  • PIC16F84/84A
  • PIC16F627
  • PIC16F628
  • PIC16C54C (PIC16F54)
  • PIC16C56A
  • PIC16C58B
  • PIC16C710
  • PIC16C711
  • PIC16C715
  • PIC16C554
  • PIC16C558
  • PIC16C620A
  • PIC16C621A
  • PIC16C622A

Some other types could be implemented and supported by MU Beta, even with some limitations. Please visit our website or let us know what devices you would like to use. (MU Beta can support PIC microcontrollers with 12-bit and 14-bit program memory up to 2 KiloWords, with four A/D channels with up to 10-bit resolution and positive external reference and one or two analog comparators). Examples: PIC16F505, PIC12C67x, PIC16F818/819 (not all A/D channels), rfPIC509/675, ...

Features

  • Non-compromised background debugging, all device resources are user available
  • Target application power supply from 2.5 to 5.5V
  • Software selectable oscillator frequency and other flexible clock frequency options
  • Target application independent functionality (hardware simulator mode)
  • Extensive break logic possibilities
  • Flexible reset options
  • True HALT state
  • Trigger In and Trigger Out
  • 32-bit instruction stopwatch
  • Flexible watchdog setting
  • Off-line mode
  • Well-arranged LED mode indication
  • Reconfigurable hardware
  • Trace memory, conditional trace
  • Compact mechanical construction
  • Fast PC interface via parallel port
    Optionally USB port (using EMUSB interface)

More information about MU Beta...

MU Beta packing list...


MU Beta - More information

More about MU Beta

MU Beta is a Real-Time In-Circuit Hardware Emulator for the most popular 18-pin and 8-pin Microchip PIC® microcontrollers. It offers many professional level features for very low price. It is designed to multiply your productivity and comfort of PIC application development.

The emulator is based on the state-of-the-art programmable gate arrays, which allows for the unique flexibility and functionality in comparison to systems using the emulation chips. The analogue peripherals are designed to have the parameters very close to the original PIC MCUs.

The target device type, clock options and many other parameters are simply software selectable - no confusing jumper settings, no interchangeable oscillator modules are necessary. The user only has to connect the target probe for 18-pin or 8-pin devices.

All device resources are available for user's application. Nothing is blocked by emulator hardware or software. Moreover - MU Beta offers the excellent device resource accessibility even when running at full application speed. You do not have to stop the real-time run to watch and modify device registers.

Low voltage applications? No problem with MU Beta. Target application supply voltage can be as low as 2 V and your emulator still works fine. No obvious 5 V only limitations.

Internal clock frequency synthesizer provides the clock in the range from 25 kHz to 20 MHz (full speed of emulated devices). The user can select the crystal mode or RC mode with CLKOUT equal to Fosc/4. The external clock up to 10 MHz and the external RC oscillator are the other clock options.

Target application independent functionality: Emulator can be used with or without target system (which allows to test internal routines independently of application - like a "real-time software simulator").

Extensive break logic possibilities: Unlimited number of breakpoints anywhere in the code memory (activated BEFORE instruction execution). Many other break conditions: file register breaks in data memory, Timer0 overflow, Trace buffer overflow, Watchdog timer overflow, Stack overflow/underflow, Break on external probe (Trigger In).

32-bit instruction cycle counter - stopwatch - with overflow detection accurately counts active cycles both in Run or Step modes. The time is displayed in cycles and in microseconds. The second - differential - counter is available.

Flexibility of emulator circuitry allows software upgrades (e.g. via Internet) of the emulator hardware and even individual modifications with respect to individual user's needs.

Trace memory with 256 instructions depth, tracing is fully user selectable for arbitrary (even discontinuous) locations and areas.

Default device socket is DIP, SMD headers can be ordered as an option.

Go to Help Index

Go to MU Beta In-Circuit Emulator


MU Beta - Packing List

  • MU Beta - base unit
  • MW903GS - power supply, Euro type (PRI: 230VAC, 50Hz, SEC: 9VDC, 300mA, 2.1 mm connector diameter)
    Shipped only to continental Europe countries.
  • BT CABLE - PC connection cable: 25-pin parallel port (LPT), 9-pin MU Beta
    Note: EMUSB (MU Beta USB Interface) can be used instead of BT CABLE.
  • PROTAB - target connector pin protection device.
  • HMU10F2xx - PIC10F2xx (6-pin) devices emulation header: board
  • HMUB8 - PIC12C5xx (8-pin devices) emulation header: board
  • HMU12F6xx - PIC12F6xx (8-pin) devices emulation header: board
  • HMU16F6xx - PIC16F6xx (14-pin) devices emulation header: board
  • HMU10 - 8-pin devices emulation header: target application cable
  • HMU16 - 14-pin devices emulation header: target application cable
  • HMU20 - 18-pin devices emulation header: target application cable
  • CD-ROM
  • User's Manual

Go to Help Index

Go to MU Beta In-Circuit Emulator


IDEA Design Environment - Overview

IDEA Design Environment

IDEA development environment is standard Windows application with common graphics user interface. It offers all the standard Windows features allowing window resize, close, etc. User can control the program IDEA using mouse and keyboard (see the note below).

IDEA concept is based on projects. Read more about projects and files... Advanced users might be interested which command line options are available.

Other two important programs are installed with IDEA design environment: WE source code editor and Microchip MPASMWIN™ assembler. Read more about using external compilers...

Basic IDEA components are:

  • Application Title Bar
    Displays the name of the application "IDEA" and full path and name of the current project.
  • Menu Bar
    Alows access to all IDEA functions. Complete description of IDEA menus...
  • Tool Bar
    Alows access to all IDEA functions. Toolbar in detail...
  • Desktop
    Is the largest area, IDEA windows are displayed here.
  • Status bar
    Resides at the bottom of the main IDEA window. Status bar in detail...
  • Dialogs
    These special windows are typically opened by a user request (e.g. menu command) and they are typically used to setup options or input/select values. Dialogs in detail...

Note about keyboard control:
Although today's trends of application development are rather strange for a traditional designer (hardware is designed by writing programs instead of drawing schematics, while software is created by drawing graphics instead of writing programs), we still suppose that most of IDEA user's will develop their microcontroller applications by writing software using keyboard. This, along with a fact that only neglibible number of people are equipped by three hands, led us to decision to make the keyboard control of IDEA environment easy and comfortable. There are many shortcuts available, even the alternate ones for often used functions. Among with common shortcuts (e.g. <Ctrl+O> means Open) we also try to be compatible with popular design environments like Microchip MPLAB or Borland Delphi/Builder - e.g. <F9> invokes command Run. Frequently used commands should always have a single key shortcut (let us know if we forgot any).


IDEA Design Environment - Toolbar

Toolbar

Toolbar is located between main menu and IDEA desktop. It allows user to quickly select mostly used commands by single mouse click to appropriate button. Also, some important system information is displayed here.

Buttons

Reset

This button is equivalent to menu Run -> Reset command.

Run / Halt

This button is equivalent to menu Run -> Run or Run -> Halt (Stop) commands. Caption "Run" appears when emulator is in halted state and caption "Halt" is shown whem emulator is running at full speed.

Step

This button is equivalent to menu Run -> Single Step command.

Step Over

This button is equivalent to menu Run -> Step Over command.

Step Out

This button is equivalent to menu Run -> Step Out command.

Build...

This button is equivalent to menu Project -> Build command.

Editor...

This button is equivalent to menu Edit -> Source Code command.

Exit

This button is equivalent to menu File -> Exit and save environment command.

Note:
Buttons are labeled by text, not by some cryptic and hard to understand images. Authors of IDEA suppose, that users able to write microcontroller code, are also able to read texts - which is not always expected from "typical PC user".

Information

Hardware status

The following messages are displayed to inform user about emulator hardware status:

off-line

No hardware access to emulator. Emulator is either not connected (e.g. in DEMO mode), not powered or some communication problem occured (e.g. invalid LPT address used).

Halted...

Emulation is halted (stopped).

RUNNING

Emulation is running, i.e. application is executing in real time.

RESET!

Application is under reset condition, e.g. application target power supply Vapp is off (and lack of Vapp is enabled to reset device in Equipment Options dialog) using menu Project -> Equipment Options command.

Sleeping...

Device is in SLEEP state which is caused by executing SLEEP instruction and wakeup event did not occured yet. (Microcontrollers sometimes seem to be more intelligent than human, uaaaaahh. Good night, folks!).

BREAK!

Break event occured. It will be either removed automatically (e.g. when invoked by Goto Cursor command) or user confirmation is required.

Equipment

Current project equipment is shown. Available options are:

DEMO MU Alpha MU Beta EMUSB

This project setting can be changed in Edit Project dialog using menu Project -> Edit project command.

Go to Help Index

Go to IDEA Design Environment


IDEA Design Environment - Status Bar

Status Bar

Status bar is located on the bottom edge of IDEA window. The following information is shown:

Part type

Target part type for current project, e.g. PIC16F84A. This project setting can be changed in Edit Project dialog using menu Project -> Edit project command.

Program Counter value

Current value of PC in hexadecimal format, e.g. PC: 0x004.

W Register

Current value of W register in hexadecimal format, e.g. W: 0xA6. W register value can be changed in Edit Value dialog using menu Edit -> W Register command.

Zero and Carry flag

Zero and Carry flags (register STATUS), e.g. Z: 0 Cy: 1.

Page

Page number in program memory (if applicable), e.g. Pg: 1.

Bank

Bank number in data memory (if applicable), e.g. Bnk: 0.

Frequency

Clock frequency of internal frequency synthesizer. This value can be set in Equipment Options dialog using menu Project -> Equipment Options command.

Trace overflow

Trace memory overflow flag. This flag can be reset using menu Debug -> Clear Trace overflow flag command.

Stopwatch

Hardware stopwatch - stopwatch #1 value in cycles is displayed. More about Stopwatch...

Go to Help Index

Go to IDEA Design Environment


IDEA Design Environment - Keyboard Shortcuts

Keyboard Shortcuts

Most of available shortcuts are described in main menu section.

Go to Help Index

Go to IDEA Design Environment


IDEA Design Environment - Projects and Files

Projects and Files

Projects are used to store information required for developed application. Using projects is a great advantage for user and allows to work simultaneously with more than one application.

Every project must have its own name exclusive in its current directory. Thus, in different directories projects with the same names are allowed. Requirements for project name are the same as for Windows long file names. However, it is strongly recommended to use only English alphabetical characters (A..Z, a..z), numbers and underscore ('_') or minus ('-') characters in project names. Especially using the Space (' ') character should be avoided.

Project related files

<ProjectName>.ASM
Basic source file of MPASMWIN Assembler based project. In addition to this, other included files may exist (using the #include directive, mostly have INC or ASM extensions). They can be even shared with different projects and can be located in different directories. But basic source ASM file is the main one.
<ProjectName>.IDP
This file is created and modified by the program IDEA. It contains all settings of the hardware emulator and the PC host program selected by the user for the application. It is saved when the program is exited or switched to another project.
<ProjectName>.IWE
This file is created and modified by the text editor WE. It contains all settings of the editor environment for current project.

Other files are generated after project build by assembler or compiler.

Common files

IDEA.EXE
Integrated Development Environment main executable file
IDEA.INI
IDEA global settings file
asixio.sys
Driver for Windows NT/2K/XP parallel port hardware access
asioinst.exe
Auxiliary program for asixio.sys driver independent installation/un-installation
WE.EXE
WE source code editor main executable file
WE.INI
WE main configuration file
WE.RTF
WE help file
unins*.*
InnoSetup un-installer files
Asm\MPASMWIN.EXE
Microchip assembler, part of free MPLAB™ design environment
Asm\P*.INC
Definition files for supported microcontrollers, part of free MPLAB™ design environment
Info\*.*
Help and other informational files
Hardware\*.HWX
Hardware configuration files (e.g. MU Alpha FPGA configuration files)
Projects\Examples\EXAMPLE.*
Example project, it is loaded when you run IDEA first time
Template\T*.ASM
Template file used for new assembler project creation

ASIX CD-ROM also contains USB drivers for EMUSB (MU Beta USB Interface) in <cdrom:>\\drivers\EMUSB directory.

Go to Help Index

Go to IDEA Design Environment


IDEA Design Environment - Command Line Options

Command Line Options

Program IDEA can be launched from command line and it recognizes the following parameters:

/DEMO
Program will work in demo mode, namely it will access no parallel port of the computer (even if a port is selected in menu Global Options).
[<ProjectPath>]<ProjectName>[.IDP]
If ProjectPath is not specified, current directory is used. An extension IDP is not required.

If no parameters are specified, last opened project will be open.

Go to Help Index

Go to IDEA Design Environment


IDEA Design Environment - WE Source Code Editor

WE Source Code Editor

WE is a plain text editor by ASIX built especially for source code editing. It offers many features and great flexibility while remaining easy and intuitive.

  • Color syntax hilite for PIC assembler, C, Pascal, etc.
  • Convenient keyboard and mouse control
  • Well made bookmark (global in all open files)
  • Handy file list and file navigation.
  • Environment, font and color setup
  • External applications can be launched from WE
  • Uppercase/lowercase conversion
  • Powerful command line (or even parameter file) options
  • Windows message "remote control" available and used for direct control by IDEA

Press <F1> key in WE to display a list of keyboard shortcuts and command line parameters.

Go to Help Index

Go to IDEA Design Environment


IDEA Design Environment - MPASMWIN Assembler

MPASMWIN™ Assembler

This is only basic information about the MPASMWIN™ Assembler. Complete information can be found at Microchip website, where you can also find the PIC instruction reference.

The MPASMWIN.EXE assembler is a part of free MPLAB™ development environment. MPASMWIN is used for source code compilation from assembler source files. It is invoked either automatically (e.g. when user returns from WE editor to IDEA using <F12> key) or under user command Project -> Build.

The 32-bit version with long file names support (shipped with MPLAB 6.x) is used with IDEA. The only limitation is that the complete filename with full path must not exceed 62 characters. A good idea is to avoid spaces (or other special characters) in path names - paths like C:\Documents and Settings\Bill Gates\My Documents\My Projects\Windows XXL for PIC\ are not recommended.

The following files are created after compilation (assembling) of application with the MPASMWIN the following files are created:

<ProjectName>.LST
Listing, e.g. complex list of information about compilation
<ProjectName>.ERR
List of errors found during compilation. There are three types of errors grouped by severity:
ERROR - Fatal error. The application can not be compiled.
WARNING - Attention to possible problem
MESSAGE - Information message
<ProjectName>.XRF
Cross reference, e.g. references to symbols used in source text. This file is created only on user's demand.
<ProjectName>.COD
File with important information for debugging. This provides data concerning source files, symbol names, assignment of source code lines to addresses in program memory etc.
<ProjectName>.HEX
Content of the program/data EEPROM memory in hexadecimal and Fuses (configuration word). Program IDEA does not utilize it directly, but it serves for programming the device with a programmer.

Go to Help Index

Go to IDEA Design Environment


IDEA Design Environment - Compilers

Compilers

High level compilers (e.g. C, Pascal or Basic) can be used for IDEA projects supposing that they are able to create ByteCraft standard *.COD debugging file (e.g. free HI-TECH PICC Lite) or if they produce assembly code compatible with Microchip MPASMWIN. Such compiler "translates" a source code (C, Pascal, BASIC, etc.) to assembler output which is used as main project source file for IDEA. Examples of such compilers are C2C++, C2C and P2C (low cost C++, C and Pascal compilers for PIC and SX MCUs) which can be ordered as an option to MU Alpha and MU Beta.

Another possibility is using an Import HEX File function. *.HEX files are used for programming the devices and are always available as output files from practically any development tool. This function also helps to debug applications where source code is not available (e.g. some hobbyist constructions in magazines).

Support of COD files also allows the user work with object module code files where the source files are processed by a linker (MPLINK).

Go to Help Index

Go to IDEA Design Environment


IDEA Menu Overview

Menu Overview

Menu is a common part of almost all Windows applications. It allows user to control application functions. Menu commands can be accessed either by mouse clicking on the appropriate menu item or with keyboard using <Alt> key plus the underlined key (e.g. <Alt+F> for menu File).

The IDEA Menus allow you to access all IDEA functions. The following menu groups are available:

  • File
  • Project
  • Edit
  • Search
  • View
  • Run
  • Debug
  • Tools
  • Options
  • Windows
  • Help


IDEA Menu File

Menu File

Menu File contains following items:

  • Open Project
  • Open Text File in External Editor
  • Import HEX File
  • Quit without saving
  • Exit and save environment

Open Project

Opens an existing project using standard Windows file open dialog. IDEA project definition files have an extension .IDP. This command is equivalent to the Project -> Open Project command.

Keyboard shortcut: <Ctrl+O>

Open Text File in External Editor

User is prompted to select the file using standard Windows file open dialog. The selected file is then opened in built-in external editor WE (WE.EXE).

Keyboard shortcut: <Ctrl+Shift+O>

Import HEX File

Opens an Import HEX File dialog for translating hard-to-read HEX file to better readable ASM format.

Quit without saving

IDEA (and eventually WE) are closed. No project parameters are saved.

Keyboard shortcut: <Shift+Q>

Exit and save environment

IDEA (and eventually WE) are closed. All current project parameters are saved.

Keyboard shortcuts: <Q>, <Alt+X>, <Alt+Q>, <Ctrl+Q> and <Alt+F4>.

Go to Help Index

Go to IDEA Menus


IDEA Menu Project

Menu Project

Menu Project contains following items:

  • Open Project
  • Reopen Project
  • New Project
  • Manage Projects
  • Edit Project
  • Equipment Options
  • Environment Options
  • Build Options
  • Build

Open Project

Opens an existing project using standard Windows file open dialog. IDEA project definition files have an extension .IDP. This command is equivalent to the File -> Open Project command.

Keyboard shortcut: <Ctrl+O>

Reopen Project

NOT YET IMPLEMENTED!

You can quickly open one of ten last projects you worked with.

Keyboard shortcut: <Ctrl+Shift+R>

New Project

Opens a new project creation dialog.

Keyboard shortcut: <Ctrl+N>

Manage Projects

Invokes submenu with the following items:

Copy

NOT YET IMPLEMENTED!

Delete

Allows the user to select and delete IDEA project.

Note: Project source files are NOT deleted and project and editor parameter files are made undeletable.

Undelete

NOT YET IMPLEMENTED!

Edit Project

Opens an Edit Project dialog which allows the user to change important project parameters such as Equipment type (e.g. MU Beta) and Target device (e.g. PIC16F627).

Keyboard shortcut: <Shift+F3>

Equipment Options

Opens an Equipment Options dialog which allows the user to change parameters related to emulator hardware and target device (oscillator, reset, watchdog, stopwatch, etc.).

Keyboard shortcut: <Shift+F4>

Environment Options

Opens an Environment Options dialog which allows the user to change parameters related to IDEA software environment.

Keyboard shortcut: <Shift+F5>

Build Options

Opens a Build Options dialog which allows the user to change parameters used during project build (assemble, compile).

Keyboard shortcut: <Shift+F10>

Build

Immediately builds current project or reloads externally generated COD debugging file.

Keyboard shortcut: <F10>

Go to Help Index

Go to IDEA Menus


IDEA Menu Edit

Menu Edit

Menu Edit contains following items:

  • Data Byte
  • Special Function Register
  • W Register
  • EEPROM Memory
  • Prescaler
  • Source Code
  • Goto Current Source Location
  • Close External Editor

Data Byte

Opens Edit Value dialog which allows the user change value of data memory location at address currently selected in Data Memory Window. The value is shown in decimal, hexadecimal and binary format and can be edited (modified) in any of these formats. If emulator is connected and operational, the value is immediately written into appropriate register (even when emulation runs at full speed) after clicking OK button.

Special Function Register

Opens Edit Value dialog which allows the user change value of Special Function Register (SFR) currently selected in Special Function Register Window. The value is shown in decimal, hexadecimal and binary format and can be edited (modified) in any of these formats. If emulator is connected and operational, the value is immediately written into appropriate SFR (even when emulation runs at full speed) after clicking OK button.

W Register

Opens Edit Value dialog which allows the user change value of W register (accumulator). The value is shown in decimal, hexadecimal and binary format and can be edited (modified) in any of these formats. If emulator is connected and operational, the value is immediately written into W register (even when emulation runs at full speed) after clicking OK button.

EEPROM Memory

Opens Edit Value dialog which allows the user change value of EEPROM memory location at address currently selected in Data Memory Window. The value is shown in decimal, hexadecimal and binary format and can be edited (modified) in any of these formats. If emulator is connected and operational, the value is immediately written into appropriate EEPROM cell (even when emulation runs at full speed) after clicking OK button.

Note: Not all microcontrollers have implemented EEPROM memory, e.g. PIC16C54 or PIC12C508 does not have any EEPROM.

Prescaler

Opens Edit Value dialog which allows the user change value of Timer0 (TMR0) prescaler. The value is shown in decimal, hexadecimal and binary format and can be edited (modified) in any of these formats.

Notes:

  1. Although TMR0 prescaler value can be changed while emulator runs at full speed, it is not practical to do it in most cases because it causes loss of synchronization or even missing TMR0 interrupts.
  2. Prescaler value is always shown as full byte but the actual prescaler length may be not all 8 bits (depending on Option register setup).

Source Code

If source code editor is not yet started, this command starts it and all source code files are opened.

If source code editor was already started within IDEA environment (not independently, e.g. by some file manager software!), it is switched to front to last edited location (file selection and cursor position is not changed). This can be done alternatively by standard Windows <Alt+Tab> keyboard shortcut.

Note:

Source code editor must enabled in Global Options Dialog.

Keyboard shortcut: <F12>

Goto Current Source Location

If source code editor is not yet started, this command starts it and all source code files are opened. Then the file hilited in Source Code Window is selected and cursor is moved to the current line.

If source code editor was already started within IDEA environment (not independently, e.g. by some file manager software!), it is switched to front to last edited location and then the editor cursor is moved to file and line hilited in Source Code Window. If selected file is not yet opened in editor, it is first opened.

Note:

Source code editor must enabled in Global Options Dialog.

Keyboard shortcut: <F11>

Close External Editor

All modified files which are opened in external editor are saved and then the external editor is closed.

Note:

When user closes IDEA, the built-in WE editor is closed automatically (also with autosave of modified files).

Keyboard shortcut: <Ctrl+F12>

Go to Help Index

Go to IDEA Menus


IDEA Menu Search

Menu Search

Menu Search contains following items:

  • Find
  • Find Next
  • Find Label
  • Find Symbol

Find

NOT YET IMPLEMENTED!

Keyboard shortcut: <Ctrl+F>

Find Next

NOT YET IMPLEMENTED!

Keyboard shortcut: <F3>

Find Label

NOT YET IMPLEMENTED!

Find Symbol

NOT YET IMPLEMENTED!

Go to Help Index

Go to IDEA Menus


IDEA Menu View

Menu View

Menu View contains following items:

  • Source Code
  • Program Memory
  • Data Memory
  • EEPROM
  • Special Function Registers
  • Chip
  • Stack
  • Watches
  • Stopwatch
  • Console
  • Trace Memory
  • Build Results
  • Listing
  • Errors
  • Crossreference
  • Local Variables

Source Code

Handles Source Code Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <1>

Program Memory

Handles Program Memory Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <2>

Data Memory

Handles Data Memory Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <3>

EEPROM

Handles EEPROM Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <4>

Special Function Registers

Handles Special Function Registers Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <5>

Chip

Handles Chip Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <6>

Stack

Handles Stack Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <7>

Watches

Handles Watches Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <8>

Stopwatch

Handles Stopwatch Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <9>

Console

Handles Console Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <C>

Trace Memory

Handles Trace Memory Window: opens it (if closed) or sets focus to it (if already opened).

Keyboard shortcut: <K>

Build Results

Handles Build Results Window: opens it (if closed) or sets focus to it (if already opened). If the window is opened first during current IDEA session, the Errors page is selected, otherwise the last selected section is displayed.

Keyboard shortcut: <U>

Listing

Handles Build Results Window: opens it (if closed) or sets focus to it (if already opened). The Listing page is selected.

Errors

Handles Build Results Window: opens it (if closed) or sets focus to it (if already opened). The Errors page is selected.

Crossreference

Handles Build Results Window: opens it (if closed) or sets focus to it (if already opened). The Crossreference page is selected.

Local Variables

Handles Build Results Window: opens it (if closed) or sets focus to it (if already opened). The Local Variables page is selected.

Go to Help Index

Go to IDEA Menus


IDEA Menu Run

Menu Run

Menu Run contains following items:

  • Run
  • Go from Reset
  • Goto Cursor
  • Halt (Stop)
  • Reset
  • Single Step
  • Single ASM Step
  • Step Over
  • Step Out
  • Machine Cycle Number Step
  • Number of Steps
  • Animate

Run

Application is executed in real time.

Keyboard shortcuts: <F9>, <X>, <.>, <,> and <Ctrl+R>

Go from Reset

Resets the emulator and starts executing the application in real time.

Keyboard shortcut: <G>

Goto Cursor

The program executes in full speed until the position of the cursor in Source Code Window or Program Memory Window is reached or until an execution is halted by a user command or break.

Keyboard shortcut: <F4>

Halt (Stop)

Running an application is halted (stopped).

Keyboard shortcuts: <F5>, <Num0>, <Ctrl+H> and in some windows also <Space>.

Reset

Emulator reset is asserted for a short time. Run/halt state is not changed.

Keyboard shortcut: <F6>, <Z>, <Y> and <*>.

Single Step

One instruction of application is executed. If project type is COD type and active window is not Program Memory window, high level step (e.g. one C language instruction) is executed.

Keyboard shortcut: <F7> and in some windows also <Enter>

Single ASM Step

One assembler (low level) instruction of application is executed.

Keyboard shortcut: <Alt+F7>

Step Over

If current instruction is not a CALL, single instruction of application is executed. If current instruction is CALL, the emulation is executed in real-time until the instruction following this CALL in the program memory is reached.

Keyboard shortcut: <F8>

Step Out

If current instruction is a RETURN type (i.e. RETURN, RETLW and RETFIE), single instruction of application is executed. If current instruction is not RETURN type, the application is automatically stepped until RETURN type instruction is reached at the same stack level as it was when this command would be invoked. When done, an information about total number of steps issues, e. g. "Steps done: 7"). Number of steps is displayed during execution in multiplies of 1000 and the stepping can be halted by pressing and <Esc> key.

Keyboard shortcut: <Alt+F8>

Machine Cycle Number Step

The automatic stepping is executed until the stopwatch (number of cycles) reaches the value specified by the user. Because of the fact that some instructions are two-cycle, the desired number may be exceeded by one cycle.

Number of Steps

The automatic stepping is executed until the specified number of steps is reached.

Animate

An automatic stepping with the period about 0.5s is executed until halted by a user command.

Go to Help Index

Go to IDEA Menus


IDEA Menu Debug

Menu Debug

Menu Debug contains following items:

  • Toggle current address Break
  • Code Breaks
  • Clear All Code Break Requests
  • Event Break Setup
  • Toggle Current Address Trace
  • Clear All Trace Requests
  • Set All Trace Requests
  • Add Watch / Setup Watch
  • New PC - Place to Cursor Position
  • Move Cursor to PC Position
  • Clear Reset Flag
  • Clear Trace overflow Flag
  • WakeUp from SLEEP

Toggle current address Break

Toggles state of code break request at current location in program memory.

Keyboard shortcut: <B>

Code Breaks

NOT YET IMPLEMENTED!

Keyboard shortcut: <Alt+B>

Clear All Code Break Requests

All code break requests are cleared.

Keyboard shortcut: <Ctrl+B>

Event Break Setup

Opens Event Breaks Setup dialog which allows user to modify setting of non-code breaks (e.g. data memory breaks, external break, etc.).

Keyboard shortcut: <Shift+B>

Toggle Current Address Trace

Toggles state of trace request at current location in program memory.

Keyboard shortcut: <L>

Clear All Trace Requests

All trace requests are cleared, no instruction will be traced. This command is typically followed by setting the limited number of instructions to be traced.

Keyboard shortcut: <Ctrl+L>

Set All Trace Requests

All trace requests will be set, all instructions will be traced.

Keyboard shortcut: <Shift+L>

Add Watch / Setup Watch

Opens Watch Setup dialog which allows user to define/modify properties of currently selected watch in Watches window.

Keyboard shortcut: <>

New PC - Place to Cursor Position

Sets microcontroller program counter (PC) value according to current location in program memory.

Keyboard shortcut: <Ctrl+F7>

Move Cursor to PC Position

Moves cursor in Source Code window and Program Memory window to current program counter (PC) value.

Keyboard shortcut: <Alt+Home>

Clear Reset Flag

Clears (to log.0) Reset flag which is hardware set to log.1 when any reset occurs. Reset flag status is shown in Chip window status bar, value "RstFlg".

Clear Trace overflow Flag

Clears (to log.0) Trace overflow which is hardware set to log.1 when trace memory oveflows (typically when more than 256 instructions are traced). Trace overflow flag status is shown in IDEA Status Bar, value "TrcOfl".

WakeUp from SLEEP

If device enters SLEEP state as a result of SLEEP instruction (which is indicated with the message SLEEPING), it can be waked up manually by this command before the proper exiting this mode e.g. by the Watchdog Timer overflow or external reset on -MCLR pin.

Go to Help Index

Go to IDEA Menus


IDEA Menu Tools

Menu Tools

Menu Tools contains following items:

  • Clear Stopwatch (#1 & #2)
  • Clear Stopwatch (#2 only)
  • Randomize RAM
  • Initialize Equipment
  • Info
  • Program PIC16F84A

Clear Stopwatch (#1 & #2)

Clears both Stopwatch1 (real-time hardware counter) and Stopwatch2 (software differential counter), i.e. values Time1, Time2, Cyc1 and Cyc2 in Stopwatch window.

Keyboard shortcut: <Ctrl+Shift+S>

Clear Stopwatch (#2 only)

Clears Stopwatch2 (software differential counter), i.e. values Time2 and Cyc2 in Stopwatch window.

Keyboard shortcut: <Shift+S>

Randomize RAM

Fills data memory locations with pseudorandom values.

Initialize Equipment

Restarts emulator hardware - launches FPGA reconfiguration and re-filling of all parameters. Software settings of current project are unchanged and saved immediately before re-initializing hardware.

Info

Information about IDEA version, driver version (required for Windows NT/2K/XP only), full project path and name and target device type.

Program PIC16F84A

This command is enabled only if target device is PIC16F84A and EduKit84 or ProtoKit84 boards are connected and set-up in Global Options dialog. Selecting this command opens Program Device dialog.

Keyboard shortcut: <Ctrl+Shift+P>

Go to Help Index

Go to IDEA Menus


IDEA Menu Options

Menu Options

Menu Options contains following items:

  • Global
  • Display

Global Options

Allows user to set all basic parameters, common to all projects, e.g. MU Alpha and MU Beta LPT port or MU Beta USB port (using EMUSB). Opens Global Options dialog.

Keyboard shortcut: <Shift+F8>

Display Options

Allows user to set fonts and colors for windows. Opens Display Options dialog.

Keyboard shortcut: <Shift+D>

Go to Help Index

Go to IDEA Menus


IDEA Menu Windows

Menu Windows

Menu Windows contains following items:

  • Tile Vertically
  • Tile Horizontally
  • Cascade
  • Arrange
  • Close All Windows
  • List of open windows

Tile Vertically

Standard system function for automatic positioning and sizing all open windows.

Tile Horizontally

Standard system function for automatic positioning and sizing all open windows.

Cascade

Standard system function for automatic positioning and sizing all open windows.

Arrange

Arrange most important IDEA windows.

Close All Windows

Closes all open windows.

Keyboard shortcut: <Ctrl+Shift+W>

List of open windows

Automatically generated list of all open windows.

Go to Help Index

Go to IDEA Menus


IDEA Menu Help

Menu Help

Menu Help contains following items:

  • Help
  • Keyboard Shortcuts
  • About

Help

Opens main help. Microsoft HTML Help is used (file with CHM extension).

Keyboard shortcut: <F1>

Keyboard Shortcuts

Displays a list of all available keyboard shortcuts. All important and many other functions have their direct keyboard shortcut to enable user for quick and comfortable access to all emulator and software functions.

Keyboard shortcut: <Ctrl+K>

About

Shows important product information.

Go to Help Index

Go to IDEA Menus


IDEA Windows - Overview

Windows

Most of information about debugged application is located in windows located within the IDEA desktop. These windows are so-called MDI windows (Multiple Document Interface). The user can arbitrary open, close, move, resize and sometimes also maximize/restore these windows to customize the desktop layout to suit best the application developed.

Visibility, state, size and position of these windows is stored in parameter file of each project and they are saved automatically when user opens a new project of closes IDEA (except by closing using File -> Quit without saving command).

IDEA windows can be opened and hilited by using menu View and closed and maximized/restored by clicking to the standard Windows system menu located in the top right corner of each IDEA window.

Individual Windows can be closed also by keyboard <Ctrl+F4> or <Ctrl+W>, some windows (Trace Memory and Build Results) can be closed by pressing <Esc>. All Windows can be closed at one time by using menu Windows -> Close All Windows command.

The following windows are available:

  • Source Code
  • Program Memory
  • Data Memory
  • EEPROM
  • Special Function Registers
  • Chip
  • Stack
  • Watches
  • Stopwatch
  • Console
  • Trace Memory
  • Build Results


IDEA Windows - Source Code

Source Code

This window is shown/activated when selected menu View -> Source Code command. Some properties of this window can be modified by Project -> Environment Options dialog.

Source Code window displays all project source files. For ASM type project it is the main source file (projectname.ASM) and all other files which are included in main source file using the #include directive. For COD type project are shown the files following the COD debug file contents, it is up to the language tool (compiler) what files are listed in the COD file.

Title bar displays 'Source Code:' and full path and file name of current file.

Two or more tabs show the main source file name, other source file names if exist and optionally '?'.

Tab '?' is used when program counter points to program memory area which is not defined by any instruction in source code. In such case warning message is displayed and dissasembled instruction is shown. This can be supressed in Project -> Environment Options dialog.

Optionally, the gutter can be enabled which marks source lines with executable code and code breaks.

If current source line corresponds to program counter status, the source text is shown in red color.

Note that this window is read only (non editable). Use, for example, Edit -> Source Code command to modify source file(s) contents.

Double click at the source line opens WE editor or causes to switch to the WE editor and jumps to the appropriate source file and source line.

Go to Help Index

Go to IDEA Windows


IDEA Windows - Program Memory

Program Memory

This window is shown/activated when selected menu View -> Program Memory command. Some properties of this window can be modified by Project -> Environment Options dialog.

Program Memory window displays microcontroller program memory contents in convenient format. The user can modify this window to show disassembled instructions only or to insert source code lines where the source line has an executable contents.

Title bar displays 'Program Memory'.

Status bar located below title bar displays value of program counter, current location in disassembly format, and line number and file name of source file related to current location (if applicable).

The following data is shown for each program memory location:

  • Program memory address
    In hexadecimal format follwed by ':' (colon) character.
  • Break request
    If break is set then 'B' is shown otherwise the position is blank.
  • Trace request
    If trace is required then 'T' is shown otherwise the position is blank.
  • Program Counter
    If device program counter point to current location then '=>' is shown (and line is hilited) otherwise the position is blank.
  • Source Code
    Corresponding source code line, if exists. Otherwise, disassembled instruction is shown.

Go to Help Index

Go to IDEA Windows


IDEA Windows - Data Memory

Data Memory

This window is shown/activated when selected menu View -> Data Memory command.

Data Memory window displays microcontroller data memory contents in grid format with hexadecimal values. You can use also more flexible and convenient manner to evaluate and modify this locations - Watches.

Title bar displays 'Data Memory'.

Status bar located below title bar displays currently selected address in hexadecimal format and the corresponding data memory cell value in hexadecimal, decimal, binary and character format.

The memory cell can be selected either using keyboard (arrow keys) or by mouse click.

Double-clicking on the memory cell or pressing <Enter> will invoke the Edit Value dialog which can be used to modify the value.

Selected memory cell can be also edited using menu Edit -> Data Byte command.

The position in data memory is stored as one of project parameters and is not lost when user closes program IDEA.

Note that some memory locations are not implemented in some microcontrollers. Please, refer to microcontroller datasheet for detais.

Go to Help Index

Go to IDEA Windows


IDEA Windows - EEPROM

EEPROM

This window is shown/activated when selected menu View -> EEPROM command.

EEPROM window displays microcontroller EEPROM contents in grid format with hexadecimal values. You can use also more flexible and convenient manner to evaluate and modify this locations - Watches.

Note, that not all microcontrollers contain on-chip or on-board EEPROM memory (e.g. PIC12C508A has no EEPROM at all).

Title bar displays 'EEPROM'.

Status bar located below title bar displays currently selected address in hexadecimal format and the corresponding EEPROM cell value in hexadecimal, decimal, binary and character format.

The memory cell can be selected either using keyboard (arrow keys) or by mouse click.

Double-clicking on the memory cell or pressing <Enter> will invoke the Edit Value dialog which can be used to modify the value.

Selected memory cell can be also edited using menu Edit -> EEPROM Memory command.

The position in EEPROM memory is stored as one of project parameters and is not lost when user closes program IDEA.

Go to Help Index

Go to IDEA Windows


IDEA Windows - Special Function Registers

Special Function Registers

This window is shown/activated when selected menu View -> Special Function Registers command.

Special Function Registers (SFR) window displays all SFRs available in given processor type.

Title bar displays 'Special Function Regs'.

Address (hexadecimal), SFR name and SFR value (hexadecimal, decimal and binary) is shown.

SFRs are sorted in convenient order - not mechanically (by address or alphabetically) but in logical groups.

The SFR can be selected either using keyboard (arrow keys) or by mouse click.

Double-clicking on the SFR cell or pressing <Enter> will invoke the Edit Value dialog which can be used to modify the value.

Selected SFR can be also edited using menu Edit -> Special Function Register command.

Go to Help Index

Go to IDEA Windows


IDEA Windows - Chip

Chip

This window is shown/activated when selected menu View -> Chip command.

Chip window displays picture of chip (top view, in typical black color, soldered on green PCB) board with verbose I/O information.

Title bar displays 'Chip' and a target device type (e.g. PIC16F84A).

Status bar below title bar informs about status of:

  • -MClr
    This is status of internal -MCLR signal (minus means that signal is active low, i.e. log.0 means reset asserted, log.1 means that reset is not active). Note, that some devices allow reset pin to be used as input, the -MCLR pin functionality can be supressed. More about -MCLR setup is in Equipment Options dialog.
  • BrwOut
    This is status of Brown-out detect signal. Note that not all devices have Brown-Out function implemented. More about Brown-out setup is in Equipment Options dialog.
  • RstFlg
    Reset flag is hardware set to log.1 when any reset occurs. It can be reset by menu Clear Reset Flag command.
  • TrgIn
    Status of external TriggerIn signal (black hook on emulation header).

The following items are displayed (ordered in from inside to chip outside direction):

  • Pin Name
    Standard pins have their standard names (e.g. RB4, Osc1, GND, VDD), if some pins have alternate functions enabled, the proper name is displayed (e.g. AN0 - analog input channel #0 instead of RA0 if A/D converter is enabled).
  • Latch status
    LATCH bit is an output of internal register which is not directly accessible by microcontroller. In conjuction with TRIS bit register controls status of each I/O pin.
  • Direction/Power
    I/O pin direction is controlled by TRIS bit. Special pins have its direction depending on hardware or special settings (e.g. oscillator mode).

    Signal pin direction is shown by an arrow. Its color shows the signal character:

    • Grey - inactive (power-off or DEMO mode)
    • White - standard digital pin
    • Yellow - analog input (analog comparator or A/D converter enabled)
    • Red - A/D converter enable, channel active

    Power pins: ground has the ground symbol, VDD has a symbol of switch in either ON of OFF state.

  • Logic level at device I/O pin
    • Log.0 or log.1 is shown for standard pins. Power pins: ground is blank, VDD has '+' character.

Go to Help Index

Go to IDEA Windows


IDEA Windows - Stack

Stack

This window is shown/activated when selected menu View -> Stack command.

Stack window displays information about stack contents.

Title bar displays 'Stack'.

Value of stack pointer (which points to stack location which will be used by next CALL instruction or Interrupt Service Routine = ISR) is indicated by and arrow symbol (->).

Then the stack level number is displayed follwed by a colon character (':').

Next two fields contains hexadecimal address of instruction from which was the CALL (or ISR) started and the appropriate source code line (if exists).

Full locations (which would be used when returning from CALL or ISR) are hilited, values which remained in stack and would not be further used are shown as unhilited.

Go to Help Index

Go to IDEA Windows


IDEA Windows - Watches

Watches

This window is shown/activated when selected menu View -> Watches command.

Watches window allows to watch and modify user definable watches. Individual watch properties can be set in Watch Setup dialog and watch variable value can be modified in Watch Edit dialog.

Title bar displays 'Watches'.

There are 10 watch groups available. You can switch the watch group and by mouse click on the appropriate tab displayed on the top of watches area or by keboard command <Shift+{WatchGroupNumber}>, e.g. <Shift+0>. Selected watch group and cursor position within the selected watch group is saved to the IDEA project parameter file for best user's convenience.

Address (hexadecimal), watch name and value is shown.

The SFR can be selected either using keyboard (arrow keys) or by mouse click.

Double-clicking on the watch cell or pressing <Enter> will invoke the Watch Edit dialog which can be used to modify the value.

Go to Help Index

Go to IDEA Windows


IDEA Windows - Stopwatch

Stopwatch

This window is shown/activated when selected menu View -> Stopwatch command.

MU Alpha and MU Beta have internal 32-bit hardware cycle counter (stopwatch) implemented. Maximum value is 4 294 967 295 = 232-1). Instruction duration is either 1 or 2 cycles. Stopwatch increments during real-time execution as well as during application stepping. This hardware counter is reset either by the user via the Tools -> Clear Stopwatch (#1 & #2) menu command or with the or hardware (reset or Trigger Out) according to settings in Options -> Equipment Options menu.

Title bar displays 'Stopwatch'.

Hardware cycle counter value is displayed in items Time1 and Cycle1. If the hardware cycle counter overflows the message OFL! is displayed in the Cycle1 item but the value continues to increment although it is truncated to 32 bits.

As a further improvement of user's comfort there is implemented another feature - software differential counter. It's value is displayed in Time2 and Cycle2 items. This counter is reset by menu Tools -> Clear Stopwatch (#2 only) command.

The cycle counter value is displayed in two ways:

  • Number of instruction cycles (Cyc1, Cyc2)
  • Elapsed time in microseconds (Time1, Time2)

The instruction cycle value is always accurate. The time value depends on microcontroller clock frequency. The time value displayed is correct only if built-in frequency synthesizer is used.

Go to Help Index

Go to IDEA Windows


 IDEA Windows - Console

Console

This window is shown/activated when selected menu View -> Console command.

Console shows command history and informs user about other useful information. Its advantage is that it does not ask user to confirm every message by mouse or keyboard.

Title bar displays 'Console'.

Console window is read only but you can return back to older messages using keyboard navigation keys (e.g. arrows, <PageUp>, <Ctrl+Home>) and even mark a block and copy it to the standard Windows clipboard - this can be useful during troubleshooting - you can paste console contents to e-mail and send it to the technical support. Number of console lines is limited (currently to 64).

Go to Help Index

Go to IDEA Windows


IDEA Windows - Trace Memory

Trace Memory

This window is shown/activated when selected menu View -> Trace Memory command.

Trace Memory window displays content of trace memory. It is a special emulator memory which results of individual instructions are stored in according to user requirements. This is active either in run or in step modes.

The user can control tracing using several menu Debug commands (Debug -> Toggle Current Address Trace, Debug -> Clear All Trace Requests and Debug -> Set All Trace Requests ) of using special pseudolabels in source code (TRACEON* and TRACEOFF*).

Title bar displays 'Trace Memory'.

Traced elements

Trace memory window contains the following information:

Line

Line number, currently 1 to 256.

Cycle

Stopwatch value (hardware instruction cycle counter) before execution the instruction. In case of overflow, the value is preceded by the asterisk '*'.

I

ALU input value (before the instruction) - hexadecimal.

O

ALU output value - result of operation (hexadecimal). E. g. if the value in column I (mentioned above) is 03, there will be 04 for the INCF instruction in this column.

B

Number of bank in data memory (e.g. the STATUS, RP0 bit).

T

Value of the TriggerIn input (cable with black hook on the emulation header).

C

Information about tracing continuity: if previous instruction (from the timing point of view) is traced continuing is showed with the '|' character. Discontinuity in tracing (as a result of device reset or due to user demand) is showed by the '×' character.

PC

Hexadecimal value of the program counter.

Source code

Corresponding line in source code, if exists, otherwise disassembled instruction of appropriate value of the program counter with additional message that the source code is not available ("no src code ref").

Buttons

Step

Performs single step with subsequent window refresh. This function can be also invoked with <Enter> key.

Refresh

Clicking to this button or pressing <R>, <Alr+R> or <K> key will refresh the trace memory window contents.

Go to Help Index

Go to IDEA Windows


IDEA Windows - Build Results

Build Results

This window is shown/activated when selected menu View -> Build Results command.

Build Results window displays assembler or language tool output files:

  • Listing
    If exist, loads the <ProjectPath><ProjectName>.LST file.
  • Errors
    If exist, loads the <ProjectPath><ProjectName>.ERR file.
  • Crossreference
    If exist, loads the <ProjectPath><ProjectName>.XRF file.
  • Local variables
    If exist, loads the <ProjectPath><ProjectName>.SYL file. This file is generated automatically by IDEA when reading information from COD debug file.

Title bar displays 'Build Results'.

Tabs below title bar allows to select which file will be selected. You can bring to front any of these files directly by menu commands View -> Listing, View -> Errors, View -> Crossreference and View -> Local Variables.

Among standard Windows selections you can switch between these files using convenient <Alt+Left> and <Alt+Right> keys.

Build Results window with Errors file in front is automatically opened or focused after Project -> Build fails. The user should then correct source code errors and re-build the project.

Go to Help Index

Go to IDEA Windows


IDEA Dialogs

Dialogs

Dialogs are special windows which are typically used to set-up one or more values (e.g. file name, oscillator type, etc.) by user. These dialog windows lay on the top of IDEA application desktop and the user must close the dialog to continue normal operation.

Typically, three buttons are available:

  • OK
    User confirms the selections made by clicking this button (often also by pressing <Enter> key).
  • Cancel
    The selections are ignored, new values are not applied after clicking this button (often also by pressing <Esc> key).
  • Help
    Context sensitive help is invoked with detailed explanation of the current dialog window options.

The following Dialogs are available:

  • File Open
  • Import HEX File
  • New Project
  • Edit Project
  • Equipment Options
  • Environment Options
  • Build Options
  • Edit Value
  • Event Breaks Setup
  • Watch Setup
  • Watch Edit
  • Program Device
  • Global Options
  • Display Options


IDEA Dialogs - File Open

File Open

This is standard Windows file open dialog. Please, refer to your OS documentation to learn about its properties and features.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Import HEX File

Import HEX File

This dialog window is shown when selected menu File -> Import HEX File command or when the user clicks the Import HEX File button in New Project dialog. Import HEX File dialog allows user to create a new ASM file by disassembling a source HEX file. Normally, the user has access to source files which include detailed project informations such as symbol names, labels, comments. However, sometimes is available only the HEX file which is dedicated to be programmed directly into devices and contains only an information about binary contents of microcontroller program memory, EEPROM and fuses. Import HEX File feature is implemented to translate "cryptic" HEX format to better, human-readable ASM source.

Part Type

The user can select a target device from a list of all parts supported by IDEA, regardless the equipment selected. (For example, even if you use MU Alpha, you can import HEX file for the PIC12F675 microcontroller).

Source file - HEX

Here you can write a source HEX file name or select it by clicking the Select Source button.

Destination file - ASM

Here you can write a destination ASM file name or select it by clicking the Select Destination button.

Disassembly progress and results are shown in the area below the input controls.

Buttons

Translate HEX to ASM button launches disassembler but does not close the dialog to allow user watch the disassembly results of errors. Close closes the dialog. Help shows this help.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - New Project

New Project

This dialog window is shown when selected menu Project -> New Project command. New Project dialog allows user to set up new project properties and then create new project.

Project Type

Two options are available:

  • ASM - Absolute code generated by built-in MPASM assembler from source *.ASM file
  • COD - Debug file generated by external language tool (e.g. C compiler or MPLINK)

ASM type

This project type is based on one main source file written in absolute assembler. Such file can contain other assembler source files. This project type is built (assembled) by Microchip MPASMWIN assembler, which is a part of IDEA installation.

COD type

This project type allows to use more sophisticated language tools like C, Pascal or Basic compilers or object assembler (built with MPLINK).

The user can set-up the assembler/compiler in Project -> Build Options dialog.

ASM Type Project Creation Method

This selection is used for ASM project type. Two options are available:

  • Use template ASM file
  • Use existing ASM source file

Use template ASM file

Use this option if you want to create new ASM type project 'from the scratch'. The template file for selected part type is used. Template files are a part of IDEA installation and they are located in {IDEA_app_dir}\Template directory. File names of template files are T{processor_type}.ASM, e.g. T16F84A.ASM. You can replace supplied template files with your own ones but do not forget that they are replaced during any IDEA installation or update re-installation. So, keep your templates at safe place and re-install them after any IDEA installation or update.

Use existing ASM source file

This option allows you to use previously written ASM files for IDEA project.

Import HEX File button

This button opens an Import HEX File dialog for translating hard-to-read HEX file to better readable ASM format.

Equipment Selection

Selects required equipment for the new project. Currently available options:

  • DEMO mode (no hardware access)
  • MU Alpha
  • MU Beta
  • EMUSB (MU Beta USB Interface)

Tip:
You can set up the Primary Equipment in Global Options dialog. The primary equipment selection will be used always when creating new project as a first choice.

Part Type

Target device type setup. Only part types available for selected equipment are displayed.

New Project Name and Path

Path can be selected using Browse button. The current project path is used as default. New directories can be created within the File Open dialog.

File name of new project can be specified either directly or using Browse button. Do not use any file extensions for project name, the default IDEA project file extension IDP will be added automatically.

Buttons

Along with standard OK, Cancel and Help buttons is in this dialog also another button - Quit IDEA which allows you to exit the program IDEA immediately.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Edit Project

Edit Project

This dialog window is shown when selected menu Project -> Edit Project command. Edit Project dialog allows user to set up the most important properties of currently opened project.

Project Information

For user's convenience, the important project parameters are shown:

  • Project Name
  • Project Path
  • Project Type (ASM or COD)
  • Equipment (DEMO, MU Alpha, MU Beta, EMUSB)
  • Target Part Type (e.g. 16F84A)

Project Type

This selection allow to change the current project type. Project type can be either ASM (absolute assembler) or COD (generated by a complex language tool like C compiler). See also information in Project -> New dialog.

Equipment Selection

Selects required equipment for the new project. Currently available options:

  • DEMO mode (no hardware access)
  • MU Alpha
  • MU Beta
  • EMUSB (MU Beta USB Interface)

Currently selected project equipment is shown as default.

Part Type

Target device type setup. Only part types available for selected equipment are displayed.

Currently selected target device type is shown as default.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Equipment Options

Equipment Options

This dialog window is shown when selected menu Project -> Equipment Options command. Equipment Options dialog allows user to set up the hardware properties of emulator and emulated target device.

Processor Selection

Currently selected part type is shown in read-only mode. This important parameter can be changed in Project -> Edit Project dialog.

Oscillator

Clock Source options can be selected according to selected processor type and emulator abilities. MU Alpha and MU Beta should be running from internal frequency synthesizer wherever possible. External RC oscillator is also supported but the capacity of connection wires can change the resulting oscillator frequency. External crystal oscillators are not supported.

If internal frequency synthesizer is used (highly recommended!), you can specify its frequency. Allowed range is 25 kHz to 20 MHz. The value must be written as decimal integer number (in Hertz). The frequency synthesizer resolution is about 40 Hz and the frequency closest the required value is used.

Reset

These options allow for very flexible setting of reset conditions. Some of them are unique in comparison to emulators based on emulation (bond-out) chips.

Application Vdd Reset

If checked, emulator goes in power-on reset state if target application power is off. If left unchecked, emulator ignore status of application power supply - you can use your emulator as "real-time hardware simulator", even with no target application is connected.

-MCLR Reset

If enabled, log.0 on -MCLR pin assert reset, otherwise is -MCLR pin status ignored.

-MCLR Is I/O Pin

For some devices, -MCLR pin can be used as input pin, reset is then generated intenally.

Power Up Timer

You can enable/disable this reset timer which delays instruction execution when processor start work from power off state. Typical value is 72 ms, it is implemented in 14-bit architecture devices.

Device Reset Timer

You can enable/disable this reset timer which delays instruction execution when processor start work from power off state. Typical value is 18 ms, it is implemented in 12-bit architecture devices.

Oscillator Start Up Timer

Some devices have this 1024 cycle timer, which is used to supress instruction execution until crystal oscillator becomes stable after reset (power-up, wakeup from SLEEP, etc.). You can enable/disable this function.

RAM = 73 B (16C58 size)

Special option for MU Alpha. More information...

Brown-out Reset

Some devices have this reset to detect short lack of application power supply. Typical value of Brown-out voltage is 4 V. You can enable/disable this function.

Watchdog

You can not only enable/disable watchdog timer, but also set up the watchdog overflow time from 3 to 45 ms, step 3 ms. This unique feature allows emulate watchdog oveflow time variation caused by semicinductor process differences, temperature and Vdd variations, etc.

Note:
Watchdog timer in MU Alpha and MU Beta is correctly emulated even in halt state - another unique feature.

Trigger Out

Trigger Out function can be enabled/disabled and assigned to any hexadecimal address within program memory address range.

Trigger Out function is used for generation a short pulse on the TriggerOut output (cable with red hook on the emulation header - do not mistake it for target power!) which is intended especially for synchronization of an external measurement equipment (e. g. oscilloscope or logic analyser). As an option, the emulator stopwatch can be automatically cleared when TriggerOut is active, see paragraph Stopwatch.

Note:
External TriggerOut output is disabled if special target connector mode is selected to support EduKit84 and ProtoKit84 boards with programmer.

Stopwatch

Clear Stopwatch by RESET selects whether the stopwatch is cleared by the emulator reset.

Clear Stopwatch by Trigger Out selects whether the stopwatch is cleared by the TriggerOut function, that is when emulator executes instruction on specified address.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Environment Options

Environment Options

This dialog allows to select individual environment properties for current project. This enables user to customize the working environment according to project type and individual preferences.

Source Code Window

Show Gutter in Source Code Window

Gutter contains information about lines with executable source code (marked by '©') and displays active code breaks. Useful especially for higher languages like 'C'.

Center Active Line in Source Code Window

If checked, active source line is placed in manner allowing user to watch lines abouve and below this active line.

Show Non-Source Assembler Instructions in Source Code Window

If checked, new tab is created in source code window marked by a '?' character and if program runs to the area which does not correspond to any valid source code line, current assembler instruction is shown here. This can be useful if you prefer not to open a Program memory window with detailed assembler instructions listing.

Program Memory Window

Show Source Lines in Program Memory Window

If checked, the source line corresponding to current program memory location is show in program memory window. This option should typically enabled for ASM type projects and disabled for COD type projects.

Other Options

Run Build automatically when returning to IDEA from WE

Time is money, so IDEA can save your time spent by clicking the Build button if you change the source code in WE editor and return to IDEA environment. The date and time check is performed and if IDEA recognizes that source codes are newer than the debug COD file, Build can be launched immediately. It is recommended to have this option enabled for typical work because it allows IDEA to have always the correct debug data and display the debugging information correctly.

Check Source vs. Debug file date and time

Similar to previous setting, difference is that the date and time check is performed always when reading the debugging information, especially during IDEA start-up, new project opening and after build.

Execute Start-Up Code after reset and Emulator Program Memory Upload

This option is useful when working with high level language tools like C compiler. Compilers typically create some start-up codes for firmware initialization, which must be executed before first valid source code instruction (e.g. first executable line in 'main' function for the C program). After reset is thus no valid source code available. If this option is enabled, IDEA perform ASM steps after reset until it reaches line in source code which should be executed first.

Show Break Window After Code Break

This options allows to show or hide a window which informs user about current break type. If not enabled, this window is not shown if the code break is detected and thus the user must not to hide this window by pressing a key or clicking a mouse.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Build Options

Build Options

This dialog allows user to set-up preferences for a tool which is used to build (assemble, compile) current project. If ASM type project is selected, built-in Microchip assembler MPASMWIN™ is used and MPASMWIN Options are applicable. If COD type project is selected, the External Language Tool Options are used to select and control the language tool (C, Pascal, Basic compiler or MPLINK) execution.

MPASMWIN Options

Radix

Specifies radix used when assembler interprets numbers in source code.

Tip:
One of typical problems is that user writes number, e.g. '10' and then expects that this value means 'ten' but due to radix set to Hexadecimal assembler interprets this value as 'sixteen' or 'two'. You can avoid this by using e.g. 0x0A notation for hex numbers or d'10' / b'1010' notation for decimal / binary numbers.

Warning level

Specifies level of warnings to appear in listing.

Hex Output

Specifies type format of absolute hex file generated by assembler. You should keep this setting always on Default and proper format will be generated by MPASM.

Generated Files

Specifies which files wil be generated by assembler. At this time, error file and listing are required and object file is not allowed. User can enable/disable crossreference file generation.

Macro Expansion

Enables/disables macro expansion.

Other MPASM Options

Case sensitive: Enables or disables case sensitivity to symbols.

Tip:
If you encounter tons of errors of 'unknown symbol' type, it is probably caused by setting case sensitivity ON. Many users write register names like 'status' or 'Status' but Microchip definition file (e.g. P16F84A) which is supplied with MPASMWIN uses uppercase - 'STATUS'.

Use Project Selected Processor Type: Forces assembler to use processor type specified in IDEA project (override source code processor definition).

Quiet mode: If enabled, MPASMWIN closes itself automatically after compiling source code, regardless the result. IDEA checks assembler error files and if encounters any error automatically opens (or sets focus to) Build Results window.

Tabelator size: specifies how many space character will be used in listing to expand tabelator character, default (and recommended) value is 8.

Extra Options: Here you can specify additional options which are parsed to MPASMWIN command line during assembly.

"Default" button

Sets all settings to default values (after user's confirmation).

External Language Tool Options

Run Language Tool within IDEA

This allows to select one of the options:

  • Project -> Build runs the Language Tool
    Click to Build button results in launching the language tool. This is useful if the language tool has the command line interface (e.g. HI-TECH PICC Lite) and the user prefers to use IDEA and WE as a complete design environment.
  • Project -> Build reloads COD file only
    Click to Build button does not launch the language tool, only the COD file built by the external language tool is reloaded. This is useful if the language tool does not have the command line interface and the user uses IDEA as debugging environment only.

Set default options for typical language tools

The user can easily set-up default (and recommended for IDEA) options for typical language tools by clicking a Set Defaults button.

  • HI-TECH PICC Lite
    Set default compiler path and command line required for IDEA. Current project name is used when necessary. Inproper settings may cause strange IDEA behavior.
  • HI-TECH PICC
    Set default compiler path and command line required for IDEA. Current project name is used when necessary. Inproper settings may cause strange IDEA behavior.
  • Object assembler (MPASM + MPLINK)
    Defines and creates a batch file (<ProjectName>_build.BAT) which must be further edited by a user to complete the object assembler compilation. The MPASM(MPASMWIN) and MPLINK path must be either written to the batch file or to be defined in the PATH environment variable.

If the default settings are not suitable and you want to change it or even define all parameters manually, you can use the following parameters:

Language Tool Executable

Click to the ... button to open file select dialog which enables you to select the language tool executable file.

Language Tool Command Line

Here you can enter or edit the command line which will be used with the language tool selected.

Use Control File

Here you can inform IDEA whether you want to create the "control file" which will be created and saved before the language tool executable is launched. Some compilers can have many options and is it more practical to have them in separate file (e.g. "MAKE file"). Or you can define a complete batch file here.

Control File

Click to the ... button to open file select dialog which enables to select the control file name.

IMPORTANT NOTE:
This function selects control file name only, it does not reload an existing file from disk. Creating of such file can require much effort and non-intended reload of it can cause in lost of a lot of work. If you can use any existing file, use standard Windows copy & paste to do that.

Area below conrtol file name can be used to enter or edit the control file contents. Standard Notepad-like keyboard and mouse control is to be used here.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Edit Value

Edit Value

Edit value dialog is used to evaluate and modify value.

Edited number is shown and can be entered in three formats - hexadecimal, decimal and binary. The user can switch the editing field (and thus the input format) using mouse or keyboard:

<Tab> - move to next
<Shift+Tab> - move to previous
<Alt+H> - move to hex
<Alt+D> - move to dec
<Alt+B> - move to bin

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Event Breaks Setup

Event Breaks Setup

This dialog window is shown when selected menu Debug -> Event Break Setup command. Setting of special - event break requests (for stopping the application).

REGISTER BREAKS

Register READ Break

This break is activated while the specified register is read. Address of the register is set in the Register Address Setup field.

Register Write Break

This break is activated while the specified register is written. Address of the register is set in the Register Address Setup field.

Register WRITE VALUE Break

This break is activated while the specified value is written to the specified register with the specified mask. Address of the register is set in the Register Address Setup field, the value and the mask can be changed by clicking the Change button. Both value and mask are shown as hexadecimal, binary and decimal format. Mask=0 means that the corresponding bit of the Value is ignored for the break evaluation.

Register Break Address

Hexadecimal address of the register selected for Register Read / Register Write / Register Write Value Break. These breaks can be activated/disactivated independently, but they share the same single address.

EXTERNAL BREAK

External Break (or Trigger In) is activated when the TriggerIn input (cable with black hook on the emulation header) changes state.

Active Edge: Setting of edge for external break activating. Rising or falling one is available.

OTHER BREAKS

TMR0 Break

TMR0 overflow break occurs when TMR0 rolls over from 0xFF to 0.

Stack Overflow / Underflow Break

Stack overflow break occurs when stack is full but microcontroller attempts to add another value into it, either by executing CALL instruction or by entering interrupt servie routine.

Stack underflow break occurs when stack is empty but microcontroller attempts get a value from it by executing RETURN type instruction (RETURN, RETLW, RETFIE).

This break is very useful for debugging because PIC MCUs have not built-in mechanism to detect stack errors and especially stack overfow causes often strange and hard-to-find microcontroller behavior.

Watchdog Overflow Break

This break occurs when watchdog timer overflows. This function is independent on Watchdog enable setting (see Equipment Options dilaog).

Trace Overflow Break

Trace memory overflow break occurs when capacity of trace memory is exhauseted - typically after tracing of 256 instructions.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Watch Setup

Watch Setup

This dialog window is shown when selected menu Debug -> Add Watch / Setup Watch command or clicks on Setup button in Watch Edit dialog. This dialog is used to set up watch properties.

Watch Source

Source

  • Symbol
    Uses symbolic names available after project build. When symbol changes its value (address in data memory), new address it is automatically used. If symbol does not exists (e.g. if register name was removed), address is invalidated and watch data field in Watches window shows only question mark (?) character.
  • SFR (= Special Function Registers)
    Special locations in microcontroller data memory used for hardware control of device.
  • Extra
    Even more special registers than SFRs - these are not directly accessible in data memory area, but for user's convenience can be watched and modified by emulator hardware.
  • User Defined Constant
    User can define any name and any address in microcontroller data memory to be used as watch. The value remains unchanged after source code re-build.

Watch Name

If Symbol, SFR or Extra selected, the user can choose from list of names. If User Defined Constant is selected, the user has to enter a valid address in data memory.

Address (hex)

If Symbol, SFR or Extra selected, the address is displayed automatically. If User Defined Constant is selected, the user has to enter a valid address in data memory (currently from 0 to 0x3FF). Value is in hexadecimal format and can be written as hexadecimal number (e.g. 3E), in C-style (e.g. 0x3E) or with 'h' suffix (3Eh or 3EH).

Watch Type

Following options are available:

  • Integer
  • Single Bit
  • Masked Bit Array
  • Bit Array

Depending on user selection, the detail options in bottom part of the dialog are changed. These will be described below.

Integer Setup

Size [Byte]

Specifies watch variable size in bytes.

Byte Order

Specifies byte order of multi-byte variables. LSB first means than lower byte will be stored at lower address.

Example:
Two byte variable with value 0x1234 is located at address 0x30. If LSB first option selected, the location 0x30 contains vaue 0x34 and the location 0x31 contains 0x12.

Format

Variables can be displayed (and entered) in any of these formats: hexadecimal, binary, decimal signed and unsigned.

Note:

Decimal unsigned values have range from 0 to 2^(Variable_Size_In-Bits)-1, e.g. single byte can have value from 0 to +255.

Decimal signed values have range from -2^(Variable_Size_In-Bits-1) to 2^(Variable_Size_In-Bits-1)-1, e.g. single byte can have value from -128 to +127. Example of some values: -128=0x80, ..., -2=0xFE, -1=0xFF, 0=0x00, +1=0x01, ..., 127=0x7F.

Single Bit Setup

User must select which bit will be selected.

Masked Bit Array Setup

For explanation of Size and Byte Order setting see Integer Setup paragraph.

Set Visible bits

If checked, the appropriate bit is made visible in Watches window othervise it is replaced by '.' (dot) character. Buttons Set All and Clear All can be used to change setting of all bits together.

Bit Array Setup

For explanation of Size, Byte Order and Format setting see Integer Setup paragraph. Decimal numbers can be interpreted as unsigned only.

Lowest Significant Bit

Use this setting to specify LSB bit of your bit array.

Number of Bits in Array

Use this setting to specify your bit array size.

Example:

You want to watch the selected channel of A/D converter in PIC16C711. Channel selection bits are located at positions 3 and 4. So, simply set Lowest Significant Bit to 3 and Number of Bits in Array to 2.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Watch Edit

Watch Edit

This dialog window is shown with activated Watches window by double clicking to the watch or hiliting it using arrow keys and then pressing the <Enter> key. This window alows for editing (modification) of selected watch value.

Watch Parameters

This panel informs user about watch properties which can be changed in Watch Setup dialog. This dialog can be accessed by pressing the Setup button.

Watch Value

This field contains the original value which watch had when this dialog window was opened. The value is formatted according to parameters preset.

Enter New Value

This field can be used to enter new value. The specified format must be used and the variable range must be correct to be accepted after clicking the OK button. Note, that some formats may not be supported for input.

Clicking the OK button causes (if new value is accepted) that new values is immediately written into emulator and the appropriate register(s) value is changed.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Program Device

Program Device

This dialog window is shown when by menu Tools -> Program PIC16F84A command. This command is enabled only if target device is PIC16F84A and EduKit84 or ProtoKit84 boards are connected and set-up in Global Options dialog.

This dialog is a simple device programmer interface.

Fuses: 0x????

Fuses (microcontroller configuration word) is set up according to values specified in Equipment Options dialog.

Oscillator type is either RC or XT/LP/HS type, the XT/LP/HS selection is made according to frequency parameter (<=200 kHz for LP, >200 kHz ... 4 MHz for XT, >4 MHz for HS).

Watchdog and PowerUp Timer settings are taken directly from Equipment Options setup.

Code Protection is default OFF.

All of above parameters can be changed according to user's requirements. The resulting hexadecimal value of Fuses is displayed in panel title. Selected part type (PIC16F84A) is shown, too.

Program button

Clicking Program button activates the programming procedure. Programming can be stopped by clicking the Cancel button. The device will be not programmed properly, if user cancel programming too early.

Current programming action (bulk erase, blank check, program memory programming, etc.) and its progress is displayed for user's convenience.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Global Options

Global Options

This dialog window is shown when by menu Options -> Global Options command. This dialog allows user to set all basic parameters, common to all projects, e.g. MU Alpha and MU Beta LPT port.

MU Alpha

Communication Port Setup

Selection of PC parallel port which the emulator is connected to:

  • DEMO Mode (no hardware access)
    It is intended for demonstration of the program without the emulator. It is automatically selected if the emulator is not found on specified parallel port while the program starts.
  • LPT1 ... 4
    Ports found during computer boot by BIOS or operating system. Often only single LPT1 is available.
  • LPTx
    PC I/O port with arbitrary address with a register structure the same as for common parallel port.

Physical LPT Base Address

Shows hexadecimal base address of selected port. For Demo mode and unused selections (e. g. LPT4) the address is zero (message: "0x0000 - NO HARDWARE ACCESS!"), for existing ports LPT1, ... the value found in dedicated PC memory area is displayed (e. g. LPT1 is typically on address 378h). This address is user selected for LPTx (from 100h to FFFCh and must be dividable by 4).

Target Connector Usage

There are two options available:

  • Standard: TriggerIn & TriggerOut Available
    Normal operating mode, target probe connected to emulator TARGET connector. Signal TriggerIn (black hook) serves as External Trigger input, signal TriggerOut (red hook) can be used for Trigger Out function.
  • EduKit84 or ProtoKit84 Connected
    If these boards are connected to emulator, signals TriggerIn and TriggerOut are used to control built-in programmer. External trigger function is not available, trigger out function can be used for resetting stopwatch only.

MU Beta

All settings are the same as for MU Alpha.

EMUSB + MU Beta

EMUSB Serial Number

There are two possible methods how to set this parameter:

  • If only single EMUSB is used (default)
    This is a typical situation - the user has only a single EMUSB unit connected to the PC. In such case the number 0 (zero) should be used. The IDEA software looks for EMUSB units when initializing the hardware and the connected EMUSB is used regardless its serial number. Please note that the USB driver (available from the installation CD-ROM or from the www.ASIX.net website) must be installed properly.
  • If multiple EMUSB units are used simultaneously
    This is for user which works with multiple emulators (and thus multiple instances of the IDEA software and multiple EMUSB units) simultaneously. The 4-digit EMUSB serial number is printed on the EMUSB label (e.g. 0007). The serial number is also visible in Device Manager (in Windows XP) but it is in longer format A601xxxx (e.g. A6010007) - only last 4 digits must be used.

Target Connector Usage

This setting is the same as for MU Alpha and MU Beta.

Editor

Enables/disables the built-in editor WE. Default ON (recommended).

Other Options

Select Equipment for New Project allows user to select the primary equipment which is always offered as default when creating New Project.

Go to Help Index

Go to IDEA Dialogs


IDEA Dialogs - Display Options

Display Options

This dialog window is shown when by menu Options -> Display command. This dialog allows user to set the manner, how the windows will be displayed - fonts, colors, etc.

Not yet completely implemented!

Go to Help Index

Go to IDEA Dialogs


Tips and tricks

These Tips and tricks are available:

  • Example Projects Supplied with IDEA
  • Customizing a New Project
  • Source Files
  • Break and Tracing Requests in Source Code
  • Extended PIC16C5x Data Memory
  • Arrangements of Projects
  • Target Power
  • Emulator Operating Conditions


Tips and tricks - Example Projects Supplied with IDEA

Example Projects Supplied with IDEA

{IDEA_Directory}\Projects\Examples\Example.*

Basic introductory example for first contact with your emulator and IDEA.

{IDEA_Directory}\Projects\EduKit84\*.*

Assembler examples which can be to learn PIC programming from the very beginning. Application names are Wire, Blink, Blinking, Display and Counter.

{IDEA_Directory}\Projects\PicCLite\*.*

Example of simple C language application written in free HI-TECH PICC Lite compiler. Message "HELLO!" is rolled on the EduKit84 display.

Go to Help Index

Go to Tips and tricks


Tips and tricks - Customizing a New Project

Customizing a New Project

There are the template files (T{ProcessorType}.ASM) in Template subdirectory which can be used for creation of the main source file of a new project. These files can be modified according to user's needs (but it must be neither deleted nor renamed!).

Warning:
If you reinstall the emulator software (e. g. during upgrade), the template files are also updated. Thus, if you wish to leave these files unchanged, you have to archived them before the reinstallation and then place it back to the installation directory.

Go to Help Index

Go to Tips and tricks


Tips and tricks - Source Files

Source Files

For simple projects it may be convenient to have all the source text in a single file. In case of more complex projects it is better to have a source text separated to more files to increase the lucidity of individual parts which can be managed independently.

Thus, file arrangement can be e. g. as follows:

P.ASM | Main source code. It includes the following files (using the #include directive)
DEF.INC | Definitions (fuses, registers, bits, constants, macros).
SUB.INC | Subroutines (invoked by the CALL instruction)
INT.INC | Interrupt handling
TAB.INC | Tables (e. g. BCD and 7-segment display codes)

Note:
In case of such arrangements, it is convenient to copy all desired files into the work directory beforehand. Standard procedure (using the template files) is not sufficient in this case.

Go to Help Index

Go to Tips and tricks


Tips and tricks - Break and Tracing Requests in Source Code

Break and Tracing Requests in Source Code

The user can control break and trace requests using several menu Debug commands. However, break and trace requests are initialized after project is open of re-build. Fortunately, this is another convenient way, how to set these - using special labels:

BREAKON | beginning of program memory area with break requested
BREAKOFF | end of program memory area with break requested
BREAKHERE | break will be placed to the instruction following this label
TRACEON | beginning of program memory area with tracing requested
TRACEOFF | end of program memory area with tracing requested

These pseudolabels are case insensitive, you can freely write BREAKHERE, BreakHere, breakhere, etc.

If you want to use these special labels on more than one places in source code, you must give them different names (assembler/compiler does not allow duplicate label name). The way how to do it is to extend the required name by additional characters, for example TraceOff_Delay, TraceOn_DlyLoop, breakhere000, ...).

These special labels are not included in label list used e.g. for Search -> Find Label command.

An advantage of this feature is also the fact, that after source code change (e.g. adding an instruction) are the appropriate areas moved - these are not bound to constant area in program memory.

Example:
        ...
        movlw   DELAY_VAL  ; suppose that tracing is ON here...
        movwf   count      ; ... and break requests are not asserted
TRACEOFF_InDelayLoop       ; switch OFF tracing during delay loop
loop    decfsz  count,f    ; no tracing is performed here
        goto    loop       ; and here, too
TRACEON_LetsTraceAgain     ; start tracing from this point
        movf    portb,w
BREAKHERE_StopAfterPortBRead
        movwf   temp       ; break will be inserted here
        ...

Go to Help Index

Go to Tips and tricks


Tips and tricks - Extended PIC16C5x Data Memory

Extended PIC16C5x Data Memory

MU Alpha supports devices with up to 1 Kword of program memory. Thus, maximum available type in PIC16C5x is PIC16C56A. PIC16C58 is not directly supported by MU Alpha - its program memory size is 2 Kword.

However, some application require more RAM than 25 bytes available in PIC16C54 and PIC16C56, but 1 Kword of program memory is enough. Suitable type for such applications is PIC16C58 with 73 bytes of RAM, supposing that the higher half of program memory stays unused. It is possible with MU Alpha using special setup option in Project -> Equipment Options.

Go to Help Index

Go to Tips and tricks


Tips and tricks - Arrangements of Projects

Arrangements of Projects

If you manage a few small projects, only single work directory (e. g. C:\PROJECTS\PIC) for all these projects is sufficient. If projects are more complex, it is better to have individual work directories for individual projects.

For example:

C:\
|
+-- PROJECTS         - all projects are located here
|   |
|   +-- CLOCK        - subdirectory dedicated to the CLOCK project
|   |   |
|   |   +-- DOCS     - project documentation (manuals, notes)
|   |   |
|   |   +-- PCB      - subdirectory for PCB design
|   |   |
|   |   +-- PIC      - subdirectory for PIC application
|   |   |   |
|   |   |   +-- 1.0  - version 1.0
|   |   |   |
|   |   |   +-- 1.1  - version 1.1
|   |   |
|   |   +-- SW       - PC software for the "CLOCK" project
|   |

Go to Help Index

Go to Tips and tricks


Tips and tricks - Target Power

Target Power

Application power supply is not limited to standard 5 V only, but the range is 2 V to 5.5 V. In addition to this, both power supplies (emulator as well as target) are allowed to be switched on/off independently. MU Alpha and MU Beta require no special power sequencing procedures which some other emulators do.

Go to Help Index

Go to Tips and tricks


Tips and tricks - Emulator Operating Conditions

Emulator Operating Conditions

PLEASE, READ THIS INFORMATION CAREFULLY!

The emulator is intended for operation on common conditions. Avoid increased humidity, dust, impurity and explosive atmosphere. Do not operate this product in ambient temperature exceeding the range 10° to 40°C. Storage temperature range is -10° to +60°C. Removing covers is not allowed.

Emulators are not intended to be connected directly into mains. Use only the proper power adapter (shipped with the product). This must be in good condition.

Use only the communication cable shipped with the product. Use only PC parallel port (or USB when using EMUSB interface for MU Beta), do not attempt to connect emulator to PC via other port types.

Only 0 to 5.5 V voltage is allowed to be connected to the emulation header. If a pin is configured as an output, it must not be driven from the target application (short circuit to GND or Vdd). Exceeding these conditions can result in substantial damage of the equipment.

Use PROTAB I/O protection device whenever possible! Insert PROTAB between emulator and emulation header. The only reason for removing PROTAB is that you need to exploit full device I/O output current, which shloud be rare case.

The Trigger Out signal (the wire with red hook) is an output. It must not be overload (e. g. by grounding or connecting to target power).

Emulation header must be protected from damage. To improve the lifetime of this, it is recommended to operate the emulator with another (non-precise) DIP socket inserted into this all the time. In case of damage the socket can be easily replaced. The header is shipped with this socket.

Go to Help Index

Go to Tips and tricks


Frequently Asked Questions

1. Why emulator does not respond to my commands?

2. Why Build behaves strange and new results are not loaded to equipment?

3. I love my PIC C/Pascal/BASIC/??? compiler, can I use it with IDEA?

999. I did not find a question here which I would like to ask you. What now?

... And The Answers

1. Why emulator does not respond to my commands?

  • Is power on? POWER LED should lite.
  • Is communication cable connected to proper LPT port? Especially if you have a double LPT add-on card it is sometimes problem to recognize LPT2 and LPT3.
  • Is LPT base address OK? Look at its value in Global Options dialog. First, you have to make setup in proper section (e.g. MU Beta and NOT MU Alpha, if you have MU Beta connected), then check the value of Physical LPT Base address - it must be non zero. LPT port must be compatible with Standard Mode. Some LPT add-on cards are not recognized as LPT port by Windows and it is necessary to find its base address and set-up it manually - set Communication Port Setup to LPTx value and enter address to Physical LPT Base Address field. If LPT port setup is correct, run menu Tools -> Initialize Equipment command.
  • Are you using Windows NT/2K/XP? There must a special hardware access driver asixio.sys installed. It is done automatically by IDEA but in some cases (e.g. you are not in administator mode when first running IDEA after instalation or upgrade), driver installation can fail. You can install and remove the driver manually using asioinst.exe which is installed with IDEA. Quit IDEA, log-in as administrator and run asioinst.exe /u from command line (driver uninstallation) and then asioinst.exe - without any parameter (installation). Informational messages are displayed to help you identify driver status. Within IDEA you can run menu Tools -> Info command to get information about driver version and status.
    Also note, that under Windows XP must be the Windows 95/98/ME compatibility mode turned OFF!
  • Is an equipment for current project set properly? Look at Toolbar, if you are not running project e.g. in DEMO mode or with MU Alpha if you have MU Beta. If so, change the project properties using menu Project -> Edit command.

2. Why Build behaves strange and new results are not loaded to equipment?

This may be caused by bad PC date and time setting. Why? An explanation is easy - to help most of users (which have date and time OK ;-) a file date&time checking is performed by interpreter of COD file with debugging information. Normally, if IDEA recognizes that source files are "younger" than (typically when returning from WE editor using <F12> key after some code change) it launches automatically MPASMWIN assembler to reflect the changes. But if the date and time of result are OLDER than date and time of source, IDEA may get a bit surprized by such causality violation.

3. I love my PIC C/Pascal/BASIC/??? compiler, can I use it with IDEA?

If your compiler is capable to create either ByteCraft standard COD debugging file or ASM file compatible with Microchip MPASMWIN Assembler, you can use it.

999. I did not find a question here which I would like to ask you. What now?

We do not leave you alone. Contact us! We prefer e-mail (e.g. support@asix.net).