FUJITSU MICROELECTRONICS
CONTROLLER MANUAL
CM71-00329-6E
FR FAMILY
SOFTUNETM WORKBENCH
USER’S MANUAL
for V6
FR FAMILY
SOFTUNETM WORKBENCH
USER’S MANUAL
for V6
FUJITSU MICROELECTRONICS LIMITED
Preface
■ What is the SOFTUNE Workbench?
SOFTUNE Workbench is support software for developing programs for the FR families of
microprocessors / microcontrollers.
It is a combination of a development manager, simulator debugger, emulator debugger, monitor debugger,
and an integrated development environment for efficient development.
■ Purpose of this manual and target readers
This manual explains the functions of SOFTUNE Workbench. This manual is intended for engineers
developing various types of products using SOFTUNE Workbench. Be sure to read this manual
completely.
■ Trademarks
REALOS, SOFTUNE are trademark of Fujitsu Microelectronics Limited, Japan.
The company names and brand names herein are the trademarks or registered trademarks of their respective
owners.
■ Organization of Manual
This manual consists of two chapters.
CHAPTER 1 "Basic Functions"
This chapter describes the basic functions on the SOFTUNE Workbench.
CHAPTER 2 "Dependence Functions"
This chapter describes the functions on each debugger.
i
•
•
•
•
•
•
•
The contents of this document are subject to change without notice.
Customers are advised to consult with sales representatives before ordering.
The information, such as descriptions of function and application circuit examples, in this document are presented solely for the
purpose of reference to show examples of operations and uses of FUJITSU MICROELECTRONICS device; FUJITSU
MICROELECTRONICS does not warrant proper operation of the device with respect to use based on such information. When
you develop equipment incorporating the device based on such information, you must assume any responsibility arising out of
such use of the information. FUJITSU MICROELECTRONICS assumes no liability for any damages whatsoever arising out of
the use of the information.
Any information in this document, including descriptions of function and schematic diagrams, shall not be construed as license
of the use or exercise of any intellectual property right, such as patent right or copyright, or any other right of FUJITSU
MICROELECTRONICS or any third party or does FUJITSU MICROELECTRONICS warrant non-infringement of any thirdparty's intellectual property right or other right by using such information. FUJITSU MICROELECTRONICS assumes no
liability for any infringement of the intellectual property rights or other rights of third parties which would result from the use of
information contained herein.
The products described in this document are designed, developed and manufactured as contemplated for general use, including
without limitation, ordinary industrial use, general office use, personal use, and household use, but are not designed, developed
and manufactured as contemplated (1) for use accompanying fatal risks or dangers that, unless extremely high safety is secured,
could have a serious effect to the public, and could lead directly to death, personal injury, severe physical damage or other loss
(i.e., nuclear reaction control in nuclear facility, aircraft flight control, air traffic control, mass transport control, medical life
support system, missile launch control in weapon system), or (2) for use requiring extremely high reliability (i.e., submersible
repeater and artificial satellite).
Please note that FUJITSU MICROELECTRONICS will not be liable against you and/or any third party for any claims or
damages arising in connection with above-mentioned uses of the products.
Any semiconductor devices have an inherent chance of failure. You must protect against injury, damage or loss from such
failures by incorporating safety design measures into your facility and equipment such as redundancy, fire protection, and
prevention of over-current levels and other abnormal operating conditions.
Exportation/release of any products described in this document may require necessary procedures in accordance with the
regulations of the Foreign Exchange and Foreign Trade Control Law of Japan and/or US export control laws.
The company names and brand names herein are the trademarks or registered trademarks of their respective owners.
Copyright ©2002-2009 FUJITSU MICROELECTRONICS LIMITED All rights reserved.
ii
CONTENTS
CHAPTER1
Basic Functions .......................................................................................... 1
1.1
Workspace Management Function ..................................................................................................... 2
1.2
Project Management Function ............................................................................................................ 3
1.3
Project Dependence ........................................................................................................................... 5
1.4
Make/Build Function ........................................................................................................................... 6
1.4.1
Customize Build Function .............................................................................................................. 7
1.5
Include Dependencies Analysis Function ........................................................................................... 9
1.6
Functions of Setting Tool Options ..................................................................................................... 10
1.7
Error Jump Function ......................................................................................................................... 11
1.8
Editor Functions ................................................................................................................................ 13
1.9
Storing External Editors .................................................................................................................... 15
1.10 Storing External Tools ...................................................................................................................... 17
1.11 Macro Descriptions Usable in Manager ............................................................................................ 18
1.12 Setting Operating Environment ......................................................................................................... 22
1.13 Debugger Types ............................................................................................................................... 23
1.14 Memory Operation Functions ........................................................................................................... 24
1.15 Register Operations .......................................................................................................................... 25
1.16 Line Assembly and Disassembly ...................................................................................................... 26
1.17 Symbolic Debugging ......................................................................................................................... 27
1.17.1 Referring to Local Symbols ......................................................................................................... 29
1.17.2 Referring to C/C++ Variables ...................................................................................................... 30
CHAPTER2
Dependence Functions ............................................................................ 33
2.1
Simulator Debugger ..........................................................................................................................
2.1.1
Instruction Simulation ..................................................................................................................
2.1.2
Memory Simulation ......................................................................................................................
2.1.3
I/O Port Simulation ......................................................................................................................
2.1.4
Interrupt Simulation .....................................................................................................................
2.1.5
Reset Simulation .........................................................................................................................
2.1.6
Power-Save Consumption Mode Simulation ...............................................................................
2.1.7
STUB Function ............................................................................................................................
2.1.8
Break ...........................................................................................................................................
2.1.8.1 Code Break ...............................................................................................................................
2.1.8.2 Data Break ................................................................................................................................
2.1.8.3 Trace Buffer-full Break ..............................................................................................................
2.1.8.4 Guarded Access Break .............................................................................................................
2.1.8.5 Forced Break ............................................................................................................................
2.1.9
Measuring Execution Cycle Count ..............................................................................................
2.1.10 Trace ...........................................................................................................................................
2.1.10.1 Trace Sampling ........................................................................................................................
2.1.10.2 Setting Trace ............................................................................................................................
2.1.10.3 Displaying Trace Data ..............................................................................................................
2.1.10.4 Display Format of Trace Data ...................................................................................................
iii
34
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
2.1.10.5 Searching Trace Data ............................................................................................................... 55
2.1.10.6 Saving Trace Data .................................................................................................................... 56
2.1.10.7 Clearing Trace Data ................................................................................................................. 57
2.1.11 Measuring Coverage ................................................................................................................... 58
2.1.11.1 Coverage Measurement Procedures ........................................................................................ 59
2.1.12 Checking Debugger Status .......................................................................................................... 62
2.2
Emulator Debugger (MB2197) .......................................................................................................... 65
2.2.1
Setting Operating Environment ................................................................................................... 66
2.2.1.1 MCU Operation Mode ............................................................................................................... 67
2.2.1.2 DRAM Refresh Control ............................................................................................................. 68
2.2.1.3 Cache Flush Control ................................................................................................................. 69
2.2.1.4 Operating Frequency ................................................................................................................ 70
2.2.2
Notes on Executing Program ....................................................................................................... 71
2.2.3
Commands Available during Execution of User Program ........................................................... 72
2.2.4
Break ........................................................................................................................................... 73
2.2.4.1 Code Break ............................................................................................................................... 74
2.2.4.2 Code Event Break .................................................................................................................... 76
2.2.4.3 Data Event Break ..................................................................................................................... 77
2.2.4.4 Trace Buffer-full Break .............................................................................................................. 78
2.2.4.5 Alignment Error Break .............................................................................................................. 79
2.2.4.6 External Trigger Break .............................................................................................................. 80
2.2.4.7 Forced Break ............................................................................................................................ 81
2.2.5
Measuring Execution Cycle Count .............................................................................................. 82
2.2.6
Trace ........................................................................................................................................... 83
2.2.6.1 Trace Data ................................................................................................................................ 84
2.2.6.2 Trace Sampling ........................................................................................................................ 85
2.2.6.3 Setting Trace ............................................................................................................................ 86
2.2.6.4 Displaying Trace Data .............................................................................................................. 87
2.2.6.5 Display Format of Trace Data ................................................................................................... 88
2.2.6.6 Searching Trace Data ............................................................................................................... 89
2.2.6.7 Saving Trace Data .................................................................................................................... 90
2.2.6.8 Clearing Trace Data ................................................................................................................. 91
2.2.6.9 Notes on Use of Tracing Function ............................................................................................ 92
2.2.7
Inaccessible Area ........................................................................................................................ 94
2.2.8
Checking Debugger Status .......................................................................................................... 95
2.3
Emulator Debugger (MB2198) .......................................................................................................... 98
2.3.1
Setting Operating Environment ................................................................................................. 100
2.3.1.1 Monitoring Program Automatic Loading ................................................................................. 101
2.3.1.2 MCU Operation Mode ............................................................................................................. 102
2.3.1.3 Cache Flush Control ............................................................................................................... 103
2.3.1.4 Operating Frequency .............................................................................................................. 104
2.3.1.5 External Memory Emulation ................................................................................................... 105
2.3.1.6 Debug mode ........................................................................................................................... 106
2.3.2
Notes on Executing Program ..................................................................................................... 107
2.3.3
Commands Available during Execution of User Program ......................................................... 108
2.3.4
Break ......................................................................................................................................... 110
2.3.4.1 Code Break ............................................................................................................................. 111
iv
2.3.4.2 Data Break ..............................................................................................................................
2.3.4.3 Code Event Break ..................................................................................................................
2.3.4.4 Data Event Break ...................................................................................................................
2.3.4.5 Trace Buffer-full Break ............................................................................................................
2.3.4.6 Alignment Error Break ............................................................................................................
2.3.4.7 External Trigger Break ............................................................................................................
2.3.4.8 Forced Break ..........................................................................................................................
2.3.4.9 Data Watch Break ..................................................................................................................
2.3.5
Control by Sequencer ................................................................................................................
2.3.6
Measuring Execution Cycle Count ............................................................................................
2.3.7
Trace .........................................................................................................................................
2.3.7.1 Display Format of Trace Data .................................................................................................
2.3.7.2 Saving Trace Data ..................................................................................................................
2.3.7.3 Notes on Use of Tracing Function ..........................................................................................
2.3.8
Measuring Performance ............................................................................................................
2.3.8.1 Performance Measurement Procedures .................................................................................
2.3.8.2 Displaying Performance Measurement Data ..........................................................................
2.3.9
Real-time Monitoring .................................................................................................................
2.3.10 Power-on Debugging .................................................................................................................
2.3.11 Inaccessible Area ......................................................................................................................
2.3.12 RAM Checker ............................................................................................................................
2.3.13 Checking Debugger Status ........................................................................................................
2.4
Emulator Debugger (MB2100-01) ...................................................................................................
2.4.1
Starting debugging ....................................................................................................................
2.4.1.1 DEBUG I/F ..............................................................................................................................
2.4.1.2 Operating Environments of the Target ...................................................................................
2.4.1.3 Security ...................................................................................................................................
2.4.2
Ending debugging ......................................................................................................................
2.4.3
Efficiently Executing Debugging ................................................................................................
2.4.3.1 Increasing Communication Speed during Debugging ............................................................
2.4.3.2 Switching Debug Function ......................................................................................................
2.4.4
Executing Program ....................................................................................................................
2.4.4.1 Setting/Release of Debug Functions ......................................................................................
2.4.4.2 Monitoring ...............................................................................................................................
2.4.4.3 Power-on Debug .....................................................................................................................
2.4.5
To Access the Flash Memory ....................................................................................................
2.4.6
To Interrupt the Program Execution [Break] ..............................................................................
2.4.6.1 Code Break (Hardware) ..........................................................................................................
2.4.6.2 Code Break (Software) ...........................................................................................................
2.4.6.3 Data Break ..............................................................................................................................
2.4.6.4 Trace Trigger Break ................................................................................................................
2.4.6.5 Forced Break ..........................................................................................................................
2.4.6.6 Data Watch Break ..................................................................................................................
2.4.6.7 Sequencer ..............................................................................................................................
2.4.6.8 Guarded Access Break ...........................................................................................................
2.4.7
Measuring the Program Execution Cycle Count ........................................................................
2.4.8
Measuring Event-to-Event Execution Cycle Count [Performance Measurement] .....................
v
113
114
116
118
119
120
121
122
124
127
128
132
133
134
136
137
139
140
141
142
143
147
150
151
152
153
155
156
157
158
159
160
161
163
164
166
170
171
173
175
176
177
178
180
182
183
184
2.4.8.1 Measuring Performance .........................................................................................................
2.4.9
Viewing Program Execution History [Trace] ..............................................................................
2.4.9.1 Displaying Trace Data ............................................................................................................
2.4.9.2 Trace Data Display Examples (RAW Data) ............................................................................
2.4.9.3 Trace Data Display Example (Instruction) ..............................................................................
2.4.9.4 Trace Data Display Example (Source) ...................................................................................
2.4.9.5 Saving Trace Data ..................................................................................................................
2.4.9.6 Searching for Trace Data .......................................................................................................
2.4.9.7 Obtaining Only Trace Data with Specified Attributes ..............................................................
2.4.9.8 Ending Trace Acquisition in Specified Conditions ..................................................................
2.4.10 Disabling Memory Access to Specified Area .............................................................................
2.4.11 Checking Debugger Status ........................................................................................................
2.5
Monitor Debugger ...........................................................................................................................
2.5.1
Resources Used by Monitor Program .......................................................................................
2.5.2
Break .........................................................................................................................................
2.5.2.1 Software Break .......................................................................................................................
2.5.2.2 Forced Break ..........................................................................................................................
2.5.3
Measuring Execution Time ........................................................................................................
2.5.4
Inaccessible Area ......................................................................................................................
186
188
190
192
195
196
197
198
199
200
201
202
205
206
207
208
209
210
211
INDEX................................................................................................................................... 213
vi
CHAPTER1
Basic Functions
This chapter describes the basic functions on the
SOFTUNE Workbench.
1.1 Workspace Management Function
1.2 Project Management Function
1.3 Project Dependence
1.4 Make/Build Function
1.5 Include Dependencies Analysis Function
1.6 Functions of Setting Tool Options
1.7 Error Jump Function
1.8 Editor Functions
1.9 Storing External Editors
1.10 Storing External Tools
1.11 Macro Descriptions Usable in Manager
1.12 Setting Operating Environment
1.13 Debugger Types
1.14 Memory Operation Functions
1.15 Register Operations
1.16 Line Assembly and Disassembly
1.17 Symbolic Debugging
1
CHAPTER1 Basic Functions
1.1
Workspace Management Function
This section explains the workspace management function of SOFTUNE Workbench.
■ Workspace
SOFTUNE Workbench uses workspace as a container to manage two or more projects including
subprojects.
For example, a project that creates a library and a project that creates a target file using the project can be
stored in one workspace.
■ Workspace Management Function
To manage two or more projects, workspace manages the following information:
• Project
• Active project
• Subproject
■ Project
The operation performed in SOFTUNE Workbench is based on the project. The project is a set of files and
procedures necessary for creation of a target file. The project file contains all data managed by the project.
■ Active Project
The active project is basic to workspace and undergoes [Make], [Build], [Compile/Assemble], [Start Debug],
and [Include Dependencies] in the menu. [Make], [Build], [Compile/Assemble], and [Include Dependencies]
affect the subprojects within the active project.
If workspace contains some project, it always has one active project.
■ Subproject
The subproject is a project on which other projects depend. The subproject target files are linked together
when creating parent project target files that have dependent relationships. When making/building a parent
project, the subproject which has a dependent relationships is make/build first before executing the make/
build for the parent project. If making and building of the subproject is unsuccessful, the parent project of
the subproject will not be made and built.
The target file in the subproject is however not linked with the parent project when:
• An absolute (ABS)-type project is specified as a subproject.
• A library (LIB)-type project is specified as a subproject.
■ Restrictions on Storage of Two or More Projects
Only one REALOS-type project can be stored in one workspace.
2
CHAPTER1 Basic Functions
1.2
Project Management Function
This section explains the project management function of SOFTUNE Workbench.
■ Project Management Function
The project manages all information necessary for development of a microcontroller system.
- Project configuration
- Active project configuration
- Information on source files, include files, other object files, library files
- Information on tools executed before and after executing language tools (customize build function)
■ Project format
The project file supports two formats: a 'workspace project format,' and an 'old project format.'
The differences between the two formats are as follows:
● Workspace project format
- Supports management of two or more project configurations
- Supports use of all macros usable in manager
- Does not support early Workbench versions *
● Old project format
- Supports management of just one project configuration
- Limited number of macros usable in manager
For details, see Section "1.11 Macro Descriptions Usable in Manager".
- Supports early Workbench versions *
When a new project is made, the workspace project format is used.
When using an existing project, the corresponding project format is used.
If a project made by an early Workbench version* is used, dialog asking whether to convert the file to the
workspace project format is opened. For details, refer to Section "2.13 Reading SOFTUNE Project Files of
Old Versions" in "SOFTUNE Workbench Operation Manual".
To open a project file in the workspace project format with an early Workbench version*, it is necessary to
convert the file to the old project format. For saving the file in other project formats, refer to Section "4.2.7
Save As" in "SOFTUNE Workbench Operation Manual".
*: FR V5: V50L03 or earlier
FR V3: V30L26 or earlier.
3
CHAPTER1 Basic Functions
■ Project Configuration
The project configuration is a series of settings for specifying the characteristics of a target file, and
making, building, compiling and assembling is performed in project configurations.
Two or more project configurations can be created in a project. The default project configuration name is
Debug. A new project configuration is created on the setting of the selected existing project configuration.
In the new project configuration, the same files as those in the original project configuration are always
used.
By using the project configuration, the settings of programs of different versions, such as the optimization
level of a compiler and MCU setting, can be created within one project.
In the project configuration, the following information is managed:
• Name and directory of target file
• Information on options of language tools to create target file by compiling, assembling and linking
source files
• Information on whether to build file or not
• Information on setting of debugger to debug target file
■ Active Project Configuration
The active project configuration at default undergoes [Make], [Build], [Compile/Assemble], [Start Debug],
and [Include Dependencies].
The setting of the active project configuration is used for the file state displayed in the SRC tab of project
window and includes files detected in the [Dependencies] folder.
Note:
If a macro function newly added is used in old project format, the macro description is expanded at
the time of saving in old project format. For the macro description newly added, refer to Section
"1.11 Macro Descriptions Usable in Manager".
4
CHAPTER1 Basic Functions
1.3
Project Dependence
This section explains the project dependence of SOFTUNE Workbench.
■ Project Dependence
If target files output by other projects must be linked, a subproject is defined in the project required in the
[Project] - [Project Dependence] command. The subproject is a project on which other projects depend.
By defining project dependence, a subproject can be made and built to link its target file before making and
building the parent project.
The use of project dependence enables simultaneous making and building of two or more projects
developed in one workspace.
A project configuration in making and building a subproject in the [Project] - [Configuration] - [Set Build
Configuration] command can be specified.
5
CHAPTER1 Basic Functions
1.4
Make/Build Function
This section explains the make/build function of SOFTUNE Workbench.
■ Make Function
Make function generates a target file by compiling/assembling only updated source files from all source
files registered in a project, and then joining all required object files.
This function allows compiling/assembling only the minimum of required files. The time required for
generating a target file can be sharply reduced, especially, when debugging.
For this function to work fully, the dependence between source files and include files should be accurately
grasped. To do this, SOFTUNE Workbench has a function for analyzing include dependence. To perform
this function, it is necessary to understand the dependence of a source file and include file. SOFTUNE
Workbench has the function of analyzing include dependence. For details, see Section "1.5 Include
Dependencies Analysis Function".
■ Build Function
Build function generates a target file by compiling/assembling all source files registered with a project,
regardless of whether they have been updated or not, and then by joining all required object files. Using
this function causes all files to be compiled/assembled, resulting in the time required for generating the
target file longer. Although the correct target file can be generated from the current source files.
The execution of Build function is recommended after completing debugging at the final stage of program
development.
Note:
When executing the Make function using a source file restored from backup, the integrity between an
object file and a source file may be lost. If this happens, executing the Build function again.
6
CHAPTER1 Basic Functions
1.4.1
Customize Build Function
This section describes the SOFTUNE Workbench function to set the Customize Build
function.
■ Customize Build Function
In SOFTUNE Workbench, different tools can be operated automatically before and after executing the
Assembler, Compiler, Linker, Librarian, Converter, or Configurator started at Compile, Assemble, Make,
or Build.
The following operations can be performed automatically during Make or Build using this function:
• Starting the syntax check before executing the Compiler.
• After executing the Converter, starting the S-format binary Converter (m2bs.exe) and converting
Motorola S-format files to binary format files.
■ Setting Options
An option follows the tool name to start a tool from SOFTUNE Workbench. The options include any file
name and tool-specific options. SOFTUNE Workbench has the macros indicating that any file name and
tool-specific options are specified as options.
If any character string other than parameters is specified, it is passed directly to the tool. For details about
the parameters, see Section "1.11 Macro Descriptions Usable in Manager".
■ Macro List
The Setup Customize Build dialog provides a macro list for macro input. The build file, load module file,
project file submenus indicate their sub-parameters specified.
The environment variable brackets must have any item; otherwise, resulting in an error.
Table 1.4-1 Macro List
Macro List
Macro Name
Build file
%(FILE)
Load module file
%(LOADMODULEFILE)
Project file
%(PRJFILE)
Workspace file
%(WSPFILE)
Project directory
%(PRJPATH)
Target file directory
%(ABSPATH)
Object file directory
%(OBJPATH)
List file directory
%(LSTPATH)
Project construction name
%(PRJCONFIG)
Environment variable
%(ENV[])
Temporary file
%(TEMPFILE)
7
CHAPTER1 Basic Functions
Note:
When checking [Use the Output window], note the following:
1. Once a tool is activated, Make/Build activated until the tool is terminated.
2. The Output window must not be used with a tool using a wait state for user input while the tool is
executing. The user can not perform input while the Output window is in use, so the tool cannot
be terminated. To forcibly terminate the tool, select the tool on the Task bar and input Control - C,
or Control - Z.
8
CHAPTER1 Basic Functions
1.5
Include Dependencies Analysis Function
This section describes the function of the Include Dependencies Analysis of SOFTUNE
Workbench.
■ Analyzing Include Dependencies
A source file usually includes some include files. When only an include file has been modified leaving a
source file unchanged, SOFTUNE Workbench cannot execute the Make function unless it has accurate and
updated information about which source file includes which include files.
For this reason, SOFTUNE Workbench has a built-in Include Dependencies Analysis function. This
function can be activated by selecting the [Project] -[Include Dependencies] command. By using this
function, uses can know the exact dependencies, even if an include file includes another include file.
SOFTUNE Workbench automatically updates the dependencies of the compiled/assembled files.
Note:
When executing the [Project] - [Include Dependencies] command, the Output window is redrawn and
replaced by the dependencies analysis result.
If the contents of the current screen are important (error message, etc.), save the contents to a file
and then execute the Include Dependencies command.
9
CHAPTER1 Basic Functions
1.6
Functions of Setting Tool Options
This section describes the functions to set options for the language tools activated
from SOFTUNE Workbench.
■ Function of Setting Tool Options
To create a desired target file, it is necessary to specify options for the language tools such as a compiler,
assembler, and linker. SOFTUNE Workbench stores and manages the options specified for each tool in
project configurations.
Tool options include the options effective for all source files (common options) and the options effective
for specific source files (individual options). For details about the option setting, refer to Section "4.5.5
Setup Project" in "SOFTUNE Workbench Operation Manual".
● Common options
These options are effective for all source files (excluding those for which individual options are specified)
stored in the project.
● Individual options
These options are compile/assemble options effective for specific source files. The common options
specified for source files for which individual options are specified become invalid.
■ Tool Options
In SOFTUNE Workbench, the macros indicating that any file name and directory name are specified as
options.
If any character string other than parameters is specified, it is passed directly to the tool. For details about
the parameters, see Section "1.11 Macro Descriptions Usable in Manager". For details about the tool
options for each tool, see the manual of each tool.
10
CHAPTER1 Basic Functions
1.7
Error Jump Function
This section describes the error jump function in SOFTUNE Workbench.
■ Error Jump Function
When an error, such as a compile error occurs, double-clicking the error message displayed in the Output
window, opens the source file where the error occurred, and automatically moves the cursor to the error
line. This function permits efficient removal of compile errors, etc.
The SOFTUNE Workbench Error Jump function analyzes the source file names and line number
information embedded in the error message displayed in the Output window, opens the matching file, and
jumps automatically to the line.
The location where a source file name and line number information are embedded in an error message,
varies with the tool outputting the error.
An error message format can be added to an existing one or modified into a new one. However, the modify
error message formats for pre-installed Fujitsu language tools are defined as part of the system, these can
not be modified.
A new error message format should be added when working the Error Jump function with user registered
tool. To set Error Jump, execute the [Setup] - [Error] command.
■ Syntax
An error message format can be described in Syntax. SOFTUNE Workbench uses macro descriptions as
shown in the Table 1.7-1 to define such formats.
To analyze up to where %f, %h, and %* continue, SOFTUNE Workbench uses the character immediately
after the above characters as a delimiter. Therefore, in Syntax, the description until a character that is used
as a delimiter re-appears, is interpreted as a file name or a keyword for help, or is skipped over. To use %
as a delimiter, describe as %%. The %[char] macro skips over as long as the specified character continues
in parentheses. To specify "]" as a skipped character describes it as "\]". Blank characters in succession can
be specified with a single blank character.
Table 1.7-1 Special Characters for Analyzing Error Messages
Characters
Semantics
%f
Interpret as source file name and inform editor.
%1
Interpret as line number and inform editor.
%h
Become keyword when searching help file.
%*
Skip any desired character.
%[char]
Skip as long as characters in [ ] continues.
11
CHAPTER1 Basic Functions
[Example]
*** %f(%l) %h: or, %[*] %f(%l) %h:
The first four characters are "*** ", followed by the file name and parenthesized line number, and then the
keyword for help continues after one blank character.
This represents the following message:
*** C:\Sample\sample.c(100) E4062C: Syntax Error: near /int.
12
CHAPTER1 Basic Functions
1.8
Editor Functions
This section describes the functions of the SOFTUNE Workbench built-in standard
editor.
■ Standard Editor
SOFTUNE Workbench has a built-in editor called the standard editor. The standard editor is activated as
the Edit window in SOFTUNE Workbench. As many Edit windows as are required can be opened at one
time.
The standard editor has the following functions in addition to regular editing functions.
● Keyword marking function in C/C++/assembler source file
Displays reserved words, such as if and for, in different color.
● Error line marking function
The error line can be viewed in a different color, when executing Error Jump.
● Bookmark setup function
A bookmark can be set on any line, and instantaneously jumps to the line. Once a bookmark is set, the line
is displayed in a different color.
● Ruler, line number display function
The Ruler is a measure to find the position on a line; it is displayed at the top of the Edit window. A line
number is displayed at the left side of the Edit window.
● Automatic indent function
When a line is inserted using the Enter key, the same indent (indentation) as the preceding line is set
automatically at the inserted line. If the space or tab key is used on the preceding line, the same use is set at
the inserted line as well.
● Function to display Blank, Line Feed code, and Tab code
When a file includes a Blank, a Line Feed code, and Tab code, these codes are displayed with special
symbols.
● Undo function
This function cancels the preceding editing action to restore the previous state. When more than one
character or line is edited, the whole portion is restored.
● Tab size setup function
Tab stops can be specified by defining how many digits to skip when Tab codes are inserted. The default is
8.
13
CHAPTER1 Basic Functions
● Font changing function
The font size for character string displayed in the Edit window can be selected.
14
CHAPTER1 Basic Functions
1.9
Storing External Editors
This section describes the function to set an external editor to SOFTUNE Workbench.
■ External Editor
SOFTUNE Workbench has a built-in standard editor, and use of this standard editor is recommended.
However, another accustomed editor can be used, with setting it, instead of an edit window. There is no
particular limit on which editor can be set, but some precautions (below) may be necessary. Use the
[Setup] - [Editor] command to set an external editor.
■ Precautions
● Error jump function
The Error Jump cannot move the cursor to an error line if the external editor does not have a function to
specify the cursor location when activated.
● File save at compiling/assembling
SOFTUNE Workbench cannot control an external editor. Always save the file you are editing before
compiling/assembling.
■ Setting Options
When activating an external editor from SOFTUNE Workbench, options must be added immediately after
the editor name. The names of file to be opened by the editor and the initial location of the cursor (the line
number) can be specified. SOFTUNE Workbench has a set of special parameters for specifying any file
name and line number, as shown in the Table 1.9-1 . If any other character string are described by these
parameters, such character string are passed as is to the editor.
%f (File name) is determined as follows:
1.If the focus is on the SRC tab of Project window, and if a valid file name is selected, the selected file
name becomes the file name.
2.When a valid file name cannot be acquired by the above procedure, the file name with a focus in the
built-in editor becomes the file name.
%x (project path) is determined as follows:
1.If a focus is on the SRC tab of project window and a valid file name is selected, the project path is a
path to the project in which the file is stored.
2.If no path is obtained, the project path is a path to the active project.
The specification method of the file name containing a space is different by editors. For details, refer to the
Editor Manual.
Ex.)
MIFES
"%f + %l"
WZ Editor "%f" /j%l
15
CHAPTER1 Basic Functions
Table 1.9-1 List of Special Characters for Analyzing Error Message
Parameter
Semantics
%%
Means specifying % itself
%f
Means specifying file name
%l
Means specifying line number
%x
Means specifying project path
■ Example of Optional Settings
Table 1.9-2 Example of Optional Settings (For External Editors)
Editor name
Argument
WZ Editor V4.0
%f /j%l
MIFES V1.0
%f + %l
UltraEdit32
%f/%l/1
TextPad32
%f(%l)
PowerEDITOR
%f -g%l
Codewright32
%f -g%l
Hidemaru for Win3.1/95
/j%l:1 %f
ViVi
/line=%l %f
Note:
• Regarding execution of error jump in Hidemaru:
To execute error jump in Hidemaru used as an external editor, use the [Others] - [Operating
Environment] - [Exclusive Control] menu, and then set "When opening the same file in Hidemaru"
and "Opening two identical files is inhibited".
16
CHAPTER1 Basic Functions
1.10
Storing External Tools
This section describes the SOFTUNE Workbench function to set an external tool.
■ External Tools
A non-standard tool not attached to SOFTUNE Workbench can be used by setting it as an external tool and
by calling it from SOFTUNE Workbench. Use this function to coordinate with a source file version
management tool.
If a tool set as an external tool is designed to output the execution result to the standard output and the
standard error output through the console application, the result can be specified to the SOFTUNE
Workbench Output window. In addition, the allow description of additional parameters each time the tool
is activated.
To set an external tool, use the [Setup] - [Tool] command.
To select the title of a set tool, use the [Setup] - [Tool execution] command.
■ Setting Options
When activating an external tool from SOFTUNE Workbench, options must be added immediately after the
tool name. Specify the file names, and unique options, etc.
SOFTUNE Workbench has a set of special parameters for specifying any file name and unique tool
options.
If any characters described other than these parameters, such characters are passed as it is to the external
tool.
For details about the parameters, see Section "1.11 Macro Descriptions Usable in Manager".
Note:
When checking [Use the Output window], note the following:
1. Once a tool is activated, neither other tools nor the compiler/assembler can be activated until the
tool is terminated.
2. The Output window must not be used with a tool using a wait state for user input while the tool is
executing. The user can not perform input while the Output window is in use, so the tool cannot
be terminated. To forcibly terminate the tool, select the tool on the Task bar and input Control - C,
or Control - Z.
17
CHAPTER1 Basic Functions
1.11
Macro Descriptions Usable in Manager
This section explains the macro descriptions that can be used in the manager of
SOFTUNE Workbench.
■ Macros
SOFTUNE Workbench has special parameters indicating that any file name and tool-specific options are
specified as options.
The use of these parameters as tool options eliminates the need for options specified each time each tool is
started.
The type of macro that can be specified and macro expansion slightly vary depending on where to describe
macros. The macros usable for each function are detailed below. For the macros that can be specified for
"Error Jump" and "External Editors", see Sections "1.7 Error Jump Function" and "1.9 Storing External
Editors".
■ Macro List
The following is a list of macros that can be specified in SOFTUNE Workbench.
The macros usable for each function are listed below.
• External tools
: Table 1.11-1 and Table 1.11-2
• Customize build : Table 1.11-1 and Table 1.11-2
• Tool options
: Table 1.11-2
The directory symbol \ is added to the option directories in Table 1.11-1 but not to the macro directories in
Table 1.11-2 .
The sub-parameters in Table 1.11-3 can be specified in %(FILE), %(LOADMODULEFILE), %(PRJFILE)
and %(WSPFILE).
The sub-parameter is specified in the form of %(PRJFILE[PATH]).
If the current directory is on the same drive, the relative path is used. The current directory is the
workspace directory for %(PRJFILE), and %(WSPFILE), and the project directory for other than them.
18
CHAPTER1 Basic Functions
Table 1.11-1 List of macros that can be specified 1
Parameter
Meaning
%f
Passed as full-path name of file. (*1)
%F
Passed as main file name of file. (*1)
%d
Passed as directory of file. (*1)
%e
Passed as extension of file. (*1)
%a
Passed as full-path name of load module file.
%A
Passed as main file name of load module file. (*2)
%D
Passed as directory of load module file. (*2)
%E
Passed as extension of load module file. (*2)
%x
Passed as directory of project file. (*2)
%X
Passed as main file name of project file. (*2)
%%
Passed as %.
Table 1.11-2 List of macros that can be specified 2
Parameter
Meaning
%(FILE)
Passed as full-path name of file. (*1)
%(LOADMODULEFILE)
Passed as full-path name of load module file. (*2)
%(PRJFILE)
Passed as full-path name of project file. (*2)
%(WSPFILE)
Passed as full-path name of workspace file.(*3)
%(PRJPATH)
Passed as directory of project file. (*2)
%(ABSPATH)
Passed as directory of target file. (*2)
%(OBJPATH)
Passed as directory of object file. (*2)
%(LSTPATH)
Passed as directory of list file. (*2)
%(PRJCONFIG)
Passed as project configuration name. (*2)(*3)
%(ENV[Environment variable])
Environment variable specified in environment variable
brackets is passed.
%(TEMPFILE)
Temporary file is created and its full-path name is
passed. (*4)
*1: The macros are determined as follows:
• Customize build
1. Source file before and after executing compiler and assembler
2. Target file before and after executing linker, librarian and converter
3. Configuration file before and after executing configuration
19
CHAPTER1 Basic Functions
• Tool options
1. Null character
• Others
1. File as focus is on the SRC tab of project window and valid file name is selected
2. File on which focus is in internal editor as no valid file name can be obtained in 1
3. Null character if no valid file name can be obtained
*2: The macros are determined as follows:
• Customize build and tool options
1. Information on configuration of project under building, making, compiling and assembling
• Others
1. Information on configuration of active project in which file is stored as focus is on the SRC tab of
project window and valid file name is selected
2. Information on configuration of active project if no valid file name can be obtained in 1
*3: Only project files in the workspace project format can be used for macros indicated.
*4: Data in the temporary file can be specified only for customize build.
Table 1.11-3 Lists of Sub parameters 1
Sub parameter
Meaning
[PATH]
Directory of file
[RELPATH]
Directory of file
[NAME]
Main file name of file
[EXT]
Extension of file
[SHORTFULLNAME]
Full path name of short file
[SHORTPATH]
Directory of short file
[SHORTNAME]
Main file name of short file
[FOLDER]
Name of folder in which files are stored in the SRC tab of project
window (Can be specified only in %(FILE).) (*)
*: The macro can be used only in workspace-compatible Workbench. It is not expanded in workspaceincompatible Workbench.
20
CHAPTER1 Basic Functions
■ Examples of Macro Expansion
If the following workspace is opened, macro expansion is performed as follows:
Workspace :
Active project :
Active project configuration
Object directory :
C:\Wsp\Wsp.wsp
C:\Wsp\Sample\Sample.prj
- Debug
C:\Wsp\Sample\Debug\Obj\
Subproject :
C:\Subprj\Subprj.prj
Active project configuration - Release
Object directory :
C:\Subprj\Release\Obj\
Target file :
C:\Subprj\Release\Abs\Subprj.abs
[Example] Macro expansion in external tools
Focus is on Subprj project in the SRC tab of project window.
%a
%A
%D
%E
%(FILE[FOLDER])
%(PRJFILE)
:
:
:
:
:
:
C:\Subprj\Release\Abs\Subprj.abs
SUBPRJ.abs
C:\Subprj\Release\Abs\
.abs
Source Files\Common
C:Subprj\Subprj.prj
Focus is not in the SRC tab of project window.
%a
%A
%D
%(PRJFILE)
:
:
:
:
C:\Wsp\Sample\Debug\Abs\Sample.abs
Sample.abs
C:\Wsp\Sample\Debug\Abs\
C:\Wsp\Sample\Sample.prj
[Example] Macro expansion in customize build
Release configuration of Subprj project is built.
%(FILE)
%(FILE[PATH])
%(FILE[RELPATH])
%(FILE[NAME])
%(FILE[EXT])
%(FILE[SHORTFULLNAME])
%(FILE[SHORTPATH])
%(FILE[SHORTNAME])
%(PRJFILE[RELPATH])
%(PRJPATH)
%(OBJPATH)
%(PRJCONFIG)
%(ENV[FETOOL])
%(TEMPFILE)
:
:
:
:
:
:
:
:
:
:
:
:
:
:
C:\Subprj\LongNameFile.c
C:\Subprj
.
LongNameFile
.c
C:\Subprj\LongFi~1.
C:\Subprj
LongFi~1
..\Subprj
C:\Subprj
C:\Subprj\Release\Obj
Relase
C:\Softune
C:\Subprj\Relase\Opt\_fs1056.TMP
[Example] Macro expansion in tool options
Release configuration of Subprj project is build.
%(FILE)
%(PRJFILE[RELPATH])
%(PRJPATH)
%(OBJPATH)
%(PRJCONFIG)
%(ENV[FETOOL])
:
:
:
:
:
:
..\Subprj
C:\Subprj
C:\Subprj\Release\Obj
Relase
C:\Softune
21
CHAPTER1 Basic Functions
1.12
Setting Operating Environment
This section describes the functions for setting the SOFTUNE Workbench operating
environment.
■ Operating Environment
Set the environment variables for SOFTUNE Workbench and some basic items for the workspace.
To set the operating environment, use the [Setup]-[Development] command.
● Environment Variables
Environment variables are variables that are referred to mainly using the language tools activated from
SOFTUNE Workbench. The semantics of an environment variable are displayed in the lower part of the
Setup dialog. However, the semantics are not displayed for environment variables used by tools added
later to SOFTUNE Workbench.
When SOFTUNE Workbench and the language tools are installed in a same directory, it is not especially
necessary to change the environment variable setups.
● Basic setups for workspace
The following setups are possible.
• Open the previous workspace at start up
- When starting SOFTUNE Workbench, it automatically opens the last opened workspace.
• Display options while compiling/assembling
- Compile options or assemble options can be viewed in the Output window.
• Save dialog before closing workspace
- Before closing the workspace, a dialog asking for confirmation of whether or not to save the
workspace to the file is displayed. If this setting is not made, SOFTUNE Workbench automatically
saves the Project without any confirmation message.
• Save dialog before compiling/assembling
- Before compiling/assembling, a dialog asking for confirmation of whether or not to save a source file
that has not been saved is displayed. If this setting is not made, the file is saved automatically before
compile/assemble/make/build.
• Termination message is highlighted at Make/Build
- At Compile, Assemble, Make, or Build, the display color of termination messages (Abort, No Error,
Warning, Error, Fatal error, or Failing During start) can be changed freely by the user.
Note:
Because the environment variables set here are language tools for the SOFTUNE Workbench, the
environment variables set on previous versions of SOFTUNE cannot be used. In particular, add the
set values of [User Include Directory] and [Library Search Directory] to [Tool Options Settings].
22
CHAPTER1 Basic Functions
1.13
Debugger Types
This section describes the types of SOFTUNE Workbench debuggers.
■ Type of debugger
SOFTUNE Workbench integrates three types of debugger: a simulator debugger, emulator debugger, and
monitor debugger. Any one can be selected depending on the requirement.
■ Simulator Debugger
The simulator debugger simulates the MCU operations (executing instructions, memory space, I/O ports,
interrupts, reset, etc.) with software to evaluate a program.
It is used for evaluating an uncompleted system and operation of individual units, etc.
■ Emulator Debugger
The emulator debugger is software to evaluate a program by controlling an Emulator from a host through a
communications line (RS-232C, LAN, USB).
Before using this debugger, the emulator must be initialized.
■ Monitor Debugger
The monitor debugger evaluates a program by putting it into an evaluation system and by communicating
with a host. An RS-232C interface and an area for the debug program are required within the evaluation
system.
23
CHAPTER1 Basic Functions
1.14
Memory Operation Functions
This section describes the memory operation functions.
■ Functions for Memory Operations
• Display/Modify memory data
Memory data can be display in the Memory window and modified.
• Fill
The specified memory area can be filled with the specified data.
• Copy
The data in the specified memory area can be copied to another area.
• Compare
The data in the specified source area can be compared with data in the destination area.
• Search
Data in the specified memory area can be searched.
For further details of the above functions, refer to "3.11 Memory Window" in "SOFTUNE Workbench
Operation Manual".
• Display/Modify C/C++ variables
The names of variables in a C/C++ source file can be displayed in the Watch window and modified.
• Setting Watch point
By setting a watch point at a specific address, its data can be displayed in the Watch window.
For further details of the above functions, refer to "3.13 Watch Window" in "SOFTUNE Workbench
Operation Manual".
24
CHAPTER1 Basic Functions
1.15
Register Operations
This section describes the register operations.
■ Register Operations
The Register window is opened when the [View] - [Register] menu is selected. The register and flag values
can be displayed in the Register window.
For further details about modifying the register value and the flag value, refer to "4.4.4 Register" in
"SOFTUNE Workbench Operation Manual".
The name of the register and flag displayed in the register window varies depending on each MCU in use.
For the list of register names and flag names for the MCU in use, refer to "Appendix A Register Names" in
"SOFTUNE Workbench Operation Manual".
25
CHAPTER1 Basic Functions
1.16
Line Assembly and Disassembly
This section describes line assembly and disassembly.
■ Line Assembly
To perform line-by-line assembly (line assembly), right-click anywhere in the Disassembly window to
display the short-cut menu, and select [Inline Assembly]. For further details about assembly operation,
refer to "4.4.3 Assembly" in "SOFTUNE Workbench Operation Manual".
■ Disassembly
To display disassembly, use the [View] - [Assembly] command. By default, disassembly can be viewed
starting from the address pointed by the current program counter (PC). However, the address can be
changed to any desired address at start-up.
Disassembly for an address outside the memory map range cannot be displayed. If this is attempted, "???"
is displayed as the mnemonic.
26
CHAPTER1 Basic Functions
1.17
Symbolic Debugging
The symbols defined in a source program can be used for command parameters
(address). There are three types of symbols as follows:
• Global Symbol
• Static Symbol within Module (Local Symbol within Module)
• Local Symbol within Function
■ Types of Symbols
A symbol means the symbol defined while a program is created, and it usually has a type. Symbols
become usable by loading the debug information file.
There are three types of symbols as follows:
● Global symbol
A global symbol can be referred to from anywhere within a program. In C/C++, variables and functions
defined outside a function without a static declaration are in this category. In assembler, symbols with a
PUBLIC declaration are in this category.
● Static symbol within module (Local symbol within module)
A static symbol can be referred to only within the module where the symbol is defined.
In C/C++, variables and functions defined outside a function with a static declaration are in this category.
In assembler, symbols without a PUBLIC declaration are in this category.
● Local symbol within function
A local symbol within a function exists only in C/C++. A static symbol within a function and an automatic
variable are in this category.
• Static symbol within function
- Out of the variables defined in function, those with static declaration.
• Automatic variable
- Out of the variables defined in function, those without static declaration and parameters for the
function.
■ Setting Symbol Information
Symbol information in the file is set with the symbol information table by loading a debug information file.
This symbol information is created for each module.
The module is constructed for each source file to be compiled in C/C++, in assembler for each source file
to be assembled.
The debugger automatically selects the symbol information for the module to which the PC belongs to at
abortion of execution (Called "the current module"). A program in C/C++ also has information about
which function the PC belongs to.
27
CHAPTER1 Basic Functions
■ Line Number Information
Line number information is set with the line number information table in SOFTUNE Workbench when a
debug information file is loaded. Once registered, such information can be used at anytime thereafter.
Line number is defined as follows:
[Source File Name] $Line Number
28
CHAPTER1 Basic Functions
1.17.1
Referring to Local Symbols
This section describes referring to local symbols and Scope.
■ Scope
When a local symbol is referred to, Scope is used to indicate the module and function to which the local
symbol to be referred belongs.
SOFTUNE Workbench automatically scopes the current module and function to refer to local symbols in
the current module with preference. This is called the Auto-scope function, and the module and function
currently being scoped are called the Current Scope.
When specifying a local variable outside the Current Scope, the variable name should be preceded by the
module and function to which the variable belongs. This method of specifying a variable is called a symbol
path name or a Search Scope.
■ Moving Scope
As explained earlier, there are two ways to specify the reference to a variable: by adding a Search Scope
when specifying the variable name, and by moving the Current Scope to the function with the symbol to be
referred to. The Current Scope can be changed by displaying the Call Stack dialog and selecting the parent
function. For further details of this operation, refer to "4.6.7 Stack" in "SOFTUNE Workbench Operation
Manual". Changing the Current Scope as described above does not affect the value of the PC.
By moving the current scope in this way, you can search a local symbol in parent function with precedence.
■ Specifying Symbol and Search Procedure
A symbol is specified as follows:
[ [Module Name] [\Function Name] \] Symbol Name
C++ symbol can be specified as follows with the scope operator:
[ [Class Name::] [Function Name] \] Symbol Name
When a symbol is specified using the module and function names, the symbol is searched. However, when
only the symbol name is specified, the search is made as follows:
1.Local symbols in function in Current Scope
2.The class member which can access with the this pointer (when C++)
3.Static symbols within module in Current Scope
4.Global symbols
If a global symbol has the same name as a local symbol in the Current Scope, specify "\" or "::" at the start
of global symbol. By doing so, you can explicitly show that is a global symbol.
An automatic variable can be referred to only when the variable is in memory. Otherwise, specifying an
automatic variable causes an error.
29
CHAPTER1 Basic Functions
1.17.2
Referring to C/C++ Variables
C/C++ variables can be specified using the same descriptions as in the source program
written in C/C++.
■ Specifying C/C++ Variables
C/C++ variables can be specified using the same descriptions as in the source program. The address of C/
C++ variables should be preceded by the ampersand symbol "&". Some examples are shown in the Table
1.17-1 .
Table 1.17-1 Examples of Specifying Variables
Example of Variables
Regular
Variable
int
Pointer
char
Array
Structure
Union
data
*p;
*p
Semantics
Value of data
Value pointed to by p
char a[5];
a[1]
Value of second element of a
struct stag{
char c;
int ;
struct stag st;
struct stag *stp;
st, c
stp->
Value of member c of st
Value of member c of the
structure to which stp points
union utag{
char c;
int i;
}uni;
uni.i
Value of member i of uni
int
Reference
type
inti i;
int &ri = i;
Member
pointer
class
30
data;
Address of
variable
Class
Example of
Specifying
Variables
data;
class X{
static int i;
}cls;
int X::i;
class X{
short cs;
}clo;
short X::* ps=&X::cs;
X*clp=&clo;
&data
ri
cls.i
X::i
clo.*ps
clp->*ps
Address of data
Same as i
Value of member i of class X
Same as cls.i
Same as clo.cs
Same as clp->cs
CHAPTER1 Basic Functions
■ Notes on C/C++ Symbols
The C/C++ compiler outputs symbol information with "_" prefixed to global symbols. For example, the
symbol main outputs symbol information _main. However, SOFTUNE Workbench permits access using
the symbol name described in the source to make program debugging described in C/C++ easier.
Consequently, a symbol name described in C/C++ and a symbol name described in assembler, which
should both be unique, may be identical.
In such a case, the symbol name in the Current Scope normally is preferred. To refer to a symbol name
outside the Current Scope, specify the symbol with the module name.
If there are duplicated symbols outside the Current Scope, the symbol name searched first becomes valid.
To refer to another one, specify the symbol with the module name.
31
CHAPTER1 Basic Functions
32
CHAPTER2
Dependence Functions
This chapter describes the functions dependent on each
Debugger
2.1 Simulator Debugger
2.2 Emulator Debugger (MB2197)
2.3 Emulator Debugger (MB2198)
2.4 Emulator Debugger (MB2100-01)
2.5 Monitor Debugger
33
CHAPTER2 Dependence Functions
2.1
Simulator Debugger
This section describes the functions of the simulator debugger.
■ Simulator Debugger
The simulator debugger simulates the MCU operations (executing instructions, memory space, I/O ports,
interrupts, reset, etc.) with software to evaluate a program.
It is used to evaluate an uncompleted system, the operation of single units, etc.
There are 2 types of simulator debuggers.
• Normal simulator debugger (normal)
• High-speed simulator debugger (fast)
This high-speed simulator provides substantial reductions in simulation time due to a dramatic review of
normal simulator’s processing methods.
This can be instruction processing performance for 10MIPS when it is operated by PC equipped with
Pentium4 2.0GHz.
External I/F for simulator are equipped to high-speed simulator debugger to create peripheral simulation
modules.
Please refer to an "Appendix G External I/F for Simulator" in "SOFTUNE Workbench Operation Manual".
■ Operating Conditions
The high-speed simulator debugger requires much more RAM space on the host PC than that of normal
simulator debugger.
The required RAM size depends largely on your program size.
For the required available RAM space, see the table below:
Basic use
Fs911s.exe (FR Family)
20MB
CODE size of target program
per 64 KB
6MB
DATA size of target program
per 64 KB
1.5MB
Insufficient RAM space will lead to an extreme decrease in simulation speed.
34
CHAPTER2 Dependence Functions
Target program size
CODE
XX(KB)
DATA
YY(KB)
Required RAM space (MB) = 20 + (XX / 64) × 6 + (YY / 64) × 1.5
However, RAM space larger than the above may be needed depending on program allocation. Allocate
memory space consecutive areas should be reserved as much as possible.
Example: Program with 1 MB of CODE and DATA sizes
Required RAM space (MB) = 20 + (1024 / 64) × 6 + (1024 / 64) × 1 / 5 = 140MB
■ Simulation Range
The simulator debugger simulates the MCU operations (instruction operations, memory space, interrupts,
reset, low power-save mode, etc.) Peripheral I/Os, such as a timer, DMAC and serial I/O, other than the
CPU core of the actual chip are not supported as peripheral resources. I/O space to which peripheral I/Os
are connected is treated as memory space. There is a method for simulating interrupts like timer interrupts,
and data input to memory like I/O ports. For details, see the sections concerning I/O port simulation and
interrupt simulation.
• Instruction simulation
• Memory simulation
• I/O port simulation (Input port)
• I/O port simulation (Output port)
• Interrupt simulation
• Reset simulation
• Power-Save consumption mode simulation
35
CHAPTER2 Dependence Functions
2.1.1
Instruction Simulation
This section describes the instruction simulation executed.
■ Instruction Simulation
This simulates the operations of all instructions supported by the FR Family. It also simulates the changes
in memory and register values due to such instructions.
36
CHAPTER2 Dependence Functions
2.1.2
Memory Simulation
This section describes the memory simulation executed.
■ Memory Simulation
The simulator debugger must first secure memory space to simulate instructions because it simulates the
memory space secured in the host PC memory.
• To secure the memory area, either use the [Setup] - [Memory Map] menu, or the SET MAP command in
the Command window.
• Load the file output by the Linkage Editor (Load Module File) using either the [Debug] - [Load target
file] menu, or the LOAD/OBJECT command in the Command window.
■ Simulation Memory Space
Memory space access attributes can be specified byte-by-byte using the [Setup] - [Memory Map] menu.
The access attribute of unspecified memory space is Undefined.
■ Memory Area Access Attributes
Access attributes for memory area can be specified as shown in Table 2.1-1 . A guarded access break
occurs if access is attempted against such access attribute while executing a program. When access is
made by a program command, such access is allowed regardless of the attribute, CODE, READ or WRITE.
However, access to memory in an undefined area causes an error.
Table 2.1-1 Types of Access Attributes
Attribute
Semantics
CODE
Instruction operation enabled
READ
Data read enabled
WRITE
Data write enabled
undefined
Attribute undefined (access prohibited)
37
CHAPTER2 Dependence Functions
2.1.3
I/O Port Simulation
This section describes I/O port simulation executed.
■ I/O Port Simulation (Input Port)
There are two types of simulations in I/O port simulation:
simulation. Input port simulation has the following types:
input port simulation, and output port
• Whenever a program reads the specified port, data is input from the pre-defined data input source.
• Whenever the instruction execution cycle count exceeds the specified cycle count, data is input to the
port.
To set an input port, use the [Setup] - [Debug Environment] - [I/O Port] menu, or the SET INPORT
command in the Command window.
Up to 4096 port addresses can be specified for the input port. The data input source can be a file or a
terminal. After reading the last data from the file, the data is read again from the beginning of the file. If a
terminal is specified, the input terminal is displayed at read access to the set port.
A text file created by an ordinary text editor, or a binary file containing direct code can be used as the data
input file. When using a text file, input the input data inside commas (,). When using a binary file, select
the binary button in the input port dialog.
■ I/O Port Simulation (Output Port)
At output port simulation, whenever a program writes data to the specified port, writing is executed to the
data output destination.
To set an output port, either use the [Setup] - [Debug Environment] - [I/O Port] menu, or the SET
OUTPORT command in the Command window.
Up to 4096 port addresses can be set as output ports. Select either a file or terminal (Output Terminal
window) as the data output destination.
A destination file must be either a text file that can be referred to by regular editors, or a binary file. To
output a binary file, select the Binary radio button in the Output Port dialog.
Note:
The following method is not supported by high-speed simulator debugger.
• Whenever the instruction execution cycle count exceeds the specified cycle count, data is input to
the port.
Furthermore the setting of memory map is necessary to set I/O port. When deleting memory map,
I/O port is also deleted.
38
CHAPTER2 Dependence Functions
2.1.4
Interrupt Simulation
This section describes interrupt simulation executed.
■ Interrupt Simulation
This simulates the MCU operation for an interrupt request. The following types can be used to allow an
interrupt to occur.
• When the instruction is executed as many cycles as the specified cycle count while executing a program
(executing execution commands), generate an interrupt corresponding to the specified interrupt number
to reset the interrupt generating condition.
• Whenever the instruction executing cycle count exceeds the specified cycle, an interrupt continues to be
generated.
The type of interrupt can be set using either the [Setup] - [Debug Environment] - [Interrupt] menu, or the
SET INTERRUPT command in the Command window. If an interrupt is masked by an interrupt-enabled
flag when the interrupt generating condition is met, the interrupt is generated after resetting the mask.
When an interrupt is generated while executing a program, an interrupt cause number is displayed on the
Status Bar.
Furthermore, the simulator supports the MCU operation for interrupt requests for the following exception
processing.
• Executing undefined instruction
39
CHAPTER2 Dependence Functions
2.1.5
Reset Simulation
This section describes the reset simulation executed.
■ Reset Simulation
The simulator simulates the operation when a reset signal is input to the MCU using the [Debug]-[Run][Reset MCU] menu or RESET command, and initializes the registers.
The function for performing reset processing by operation of MCU instructions (writing to RST bit in
standby control register) is also supported.
The register with the RST bit is different according to the FR family as follows.
40
FR
:Standby mode Control Register
FR80
:Reset Control Register
CHAPTER2 Dependence Functions
2.1.6
Power-Save Consumption Mode Simulation
This section describes the low power-save mode simulation executed.
■ Power-Save Consumption Mode Simulation
The MCU enters the power-save consumption mode in accordance with the MCU instruction operation
(Write to SLEEP bit or STOP bit of standby control register). Once in the sleep mode or stop mode, a
message ("sleep" for sleep mode, "stop" for stop mode) is displayed on the Status Bar. The loop keeps
running until either an interrupt request is generated, or the [Debug] - [Abort] menu is executed. Each
cycle of the loop increments the count by 1. During this period, I/O port processing can be operated.
Writing to the standby control register using a command is not prohibited.
41
CHAPTER2 Dependence Functions
2.1.7
STUB Function
This section describes the STUB function which executes commands automatically
when the breakpoint hit occurs.
■ Outline of STUB Function
The STUB function is supported so that a series of commands in the command list can automatically be
executed when a specified breakpoint is hit. The use of this function enables spot processing, such as
simple I/O simulation, external interrupt generation, and memory reprogramming, without changing the
main program. This function is effective only when the simulator debugger is used.
execution starts
Program execution
Break (STUB) processing
Breakpoint is hit
Is there a breakpoint
command list?
Execution
restarts
YES
Process a breakpoint command lit
(execute commands).
YES
Re-execute (is no-break
specified)?
Execution stops
execution ends
■ How to set
The STUB function can be set by the following commands.
-
Dialog
1. Breakpoint Set Dialog - [Code] tab
2. Breakpoint Set Dialog - [Data] tab
- Command
1.SET BREAK
2.SET DATABREAK
42
NO
NO
CHAPTER2 Dependence Functions
2.1.8
Break
This Simulator Debugger provides five types of break functions. When by each break
function aborts program execution, the address where a break occurred and the break
factor are displayed.
■ Break Functions
This Simulator Debugger provided the following five types of break functions;
- Code break
- Data break
- Trace buffer-full break
- Guarded access break
- Forced break
43
CHAPTER2 Dependence Functions
2.1.8.1
Code Break
This function causes a break by monitoring a specified address by software.
A break occurs before executing an instruction at the specified address.
■ Code Break
When the program reaches a break point (immediately before executing the instruction at the memory
location), the simulator debugger executes the following processes:
1. Suspend program execution (before executing instruction).
2. Checks count of arrival time. If the count of arrival time at the specified break point has not yet been
reached, the simulator resumes the program execution. If the count of arrival time has been reached, the
simulator proceeds to step 3.
3. Displays memory location where execution suspended on Status Bar.
Up to 65535 break points can be set.
When the code break occurs, the following message appears at the status bar.
Break at address by breakpoint
■ How to set
Set code break as follows.
• Command
- SET BREAK
Refer to "3.1 SET BREAK (type 1)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Code" tab in breakpoint setting dialog
Refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
• Window
Source window/disassemble window
Refer to "3.7 Source Window" or "3.9 Disassemble Window" in "SOFTUNE Workbench Operation
Manual".
Note:
In order to set breakpoints, it is required to set memory map to high-speed simulator debugger.
When the memory map defined area is changed to an undefined attribute, the breakpoints are
cancelled.
44
CHAPTER2 Dependence Functions
2.1.8.2
Data Break
This function aborts the program execution when a data access (read/write) is made to
a specified address.
■ Data Break
When data is written or read to a data break point, the simulator debugger executes the following processes:
1. Suspend program execution after completing instruction execution
2. Checks access count. If the access count has not yet been reached the count for the specified data break
point, the simulator resumes the program execution. If the count has been reached, the simulator
proceeds to step 3.
3. If program execution is suspended by reaching access count, on Status Bar, displays memory location of
data break point and of instruction writing to it.
4. Displays memory location executed next.
Up to 65535 data break points can be set.
When the data break occurs, the following message appears at the status bar.
Break at address by databreak at access address
■ How to set
Set the data break as follows.
• Command
- SET DATABREAK
Refer to "3.8 SET DATABREAK (type 1)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
Data tab in breakpoint setting dialog
Refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
Notes:
• If an automatic variable within a C/C++ function is specified, a data break is set at the address
where the automatic variable is held. Therefore, the data break remains valid even after the
specified automatic variable becomes invalid (after exiting function), causing a break due to
unexpected access.
• To allow access to a variable in C/C++ to cause a break, specify the variable address by putting
an ampersand symbol "&" immediately before the variable symbol.
• It is required to set memory map in order to set breakpoint for high-speed simulator debugger.
Once memory map is deleted, setup of breakpoint will also be deleted.
45
CHAPTER2 Dependence Functions
2.1.8.3
Trace Buffer-full Break
This function aborts the program execution when the trace buffer becomes full.
■ Trace Buffer-full Break
This function aborts the program execution when the trace buffer becomes full.
When the trace buffer-full break occurs, the following message appears at the status bar.
Break at address by trace buffer full
■ How to set
Set the trace buffer-full break as follows.
• Command
- SET TRACE/BREAK
Refer to "4.12 SET TRACE(type 2)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
Trace setting dialog
Refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
46
CHAPTER2 Dependence Functions
2.1.8.4
Guarded Access Break
A guarded access break suspends a executing program when accessing in violation of
the access attribute set by using the [Setup]-[Memory Map] command, and accessing a
guarded area (access-disabled area in undefined area).
■ Guarded Access Breaks
A guarded access break suspends a executing program when accessing in violation of the access attribute
set by using the [Setup]-[Memory Map] command, and accessing a guarded area (access-disabled area in
undefined area).
Guarded access breaks are as follows:
• Code Guarded
An instruction has been executed for an area having no code attribute.
• Read Guarded
A read has been attempted from the area having no read attribute.
• Write Guarded
A write has been attempted to an area having no write attribute.
If a guarded access occurs while executing a program, the following message is displayed on the Status Bar
and the program execution suspended.
Break at Address by guarded access {code/read/write} at Access Address
47
CHAPTER2 Dependence Functions
2.1.8.5
Forced Break
This function forcibly aborts the program execution to generate a break.
■ Forced Break
This function forcibly aborts the program execution to generate a break.
When the forced break occurred, the following message appears at the status bar.
Break at address by command abort request
■ How to Generate
A forced break is generated in the following methods:
• Menu
[Debug] - [Abort] menu
Refer to "4.6.2 Abort" in "SOFTUNE Workbench Operation Manual".
• Command
- ABORT
Refer to "2.2 ABORT" in "SOFTUNE Workbench Command Reference Manual".
Note:
The forced break cannot be generated when the MCU in the low power consumption mode or in the
hold state. If the MCU is in the low power consumption mode or in the hold state when the strong
break is requested by the [Debug]-[Abort] menu during the program execution, the [Debug] - [Abort]
menu is ignored. To generate a break forcibly, use the [Debug] - [Abort] menu to remove a factor by
the user system or use the [Debug]-[Reset of MCU] menu to remove it. If the MCU enters the low
power consumption mode or the hold state during the program execution, the condition is displayed
at the status bar.
48
CHAPTER2 Dependence Functions
2.1.9
Measuring Execution Cycle Count
This function measures the program execution cycle count and step count.
■ The measuring item
Measures program execution cycle count and step counts.
● Execution Cycle Count
This is calculated based on the basic cycle count of each instruction described in the Programming Manual.
Because no simulation was done on pipeline process or cache operation inside the chip, it may differ from
an actual chip for normal simulator debugger and/or high-speed simulator debugger. A compensation value
(a, b, c, d), which is described in the list of an instruction in Programming Manual, is calculated as 1.
The maximum measurable value varies, as shown below, whether the normal or the high-speed simulator
debugger is used.
Normal debugger:
Max. (2 to the power of 32 - 1) = 4,294,967,295 cycles
High-speed debugger: Max. (2 to the power of 64 - 1) = 18,446,744,073,709,551,615 cycles
● Execution Step Count
Measures program execution step counts.
For both the normal simulator debugger and the high-speed simulator debugger, the maximum measurable
count is "2 to the power of 32 - 1", in other words, up to 4,294,967,295 steps.
The measurement is performed whenever a program is executed, and the measurement result displays the
following two values:
• Number of cycles spent on the previous program execution
• Total number of cycles executed since the previous clearing
■ Displaying Measurement Results
Either of the following methods can be used to display the measurement results.
1. Display by dialog
The results appear in the time measurement dialog, which can be displayed by selecting [Debug] –
[Time Measurement] menu.
2. Display by command
Enter the SHOW TIMER command in the command window.
■ Clearing Measurement Results
Either of the following methods can be used to clear the measurement results.
1. Operation by dialog
Click the [Clear] button in the time measurement dialog, which can be displayed by selecting [Debug] –
[Time Measurement] menu.
2. Clearing by command
Enter the CLEAR TIMER command in the command window.
49
CHAPTER2 Dependence Functions
2.1.10
Trace
The address and status information can be sampled during program execution to record
it in a trace buffer. This function is called a trace.
■ Trace
Data recorded with the trace function can be used to make a detailed analysis of a program execution
history.
The trace buffer is in the form of a ring. When it becomes full, it records the next data by automatically
overwriting the buffered data at the beginning.
• Trace Sampling
• Setting trace
• Displaying trace data
• Display format of trace data
• Searching trace data
• Saving trace data
• Clearing trace data
■ Trace Data
The simulator debugger can sample 1000 frames of trace data. Trace data sampling occurs at the address of
the executed instruction.
50
CHAPTER2 Dependence Functions
2.1.10.1
Trace Sampling
Trace measurements are made of a program execution status during the interval
between the start and stop of program execution.
■ Trace Sampling
While the trace function is enabled, data is always sampled and recorded in the trace buffer during
execution of an execution command.
The program execution aborts due to a break factor such as a breakpoint, terminating the trace.
Furthermore, when the trace buffer becomes full, a program break can be invoked. This break is called a
trace buffer full break.
■ Frame Number
A number is assigned to each frame of sampled trace data. This number is called a frame number.
The frame number is used to specify the display start position of the trace buffer.
The number 0 is assigned to the last-sampled trace data. Negative values are assigned to trace data that
have been sampled before the arrival at the triggering position.
51
CHAPTER2 Dependence Functions
2.1.10.2
Setting Trace
You must set the following two items to perform a trace. After that, trace data will be
sampled with the execution of the program. You can set this from the command
window.
■ Setting Trace
1. Enable the trace function
- This is done by [Setup] - [Trace] in the trace window shortcut menu. This program will startup and
will be enabled.
2. Set the trace buffer full break
- When the trace buffer is full, you can make a break. This is done using the setting dialogs of the
trace window shortcut menu [Setup] - [Trace].
- When starting up this program, it is setup for no breaks.
52
CHAPTER2 Dependence Functions
2.1.10.3
Displaying Trace Data
Data recorded in the trace buffer can be displayed.
■ Displaying Trace Data
The trace window displays how much trace data is stored in the trace buffer. Also, you can use the SHOW
TRACE command from the command window.
53
CHAPTER2 Dependence Functions
2.1.10.4
Display Format of Trace Data
There are two display formats for displaying the data stored in the trace buffer.
■ Display Format of Trace Data
• Display Only Instruction Operation: (Specify Instruction)
• Display by Unit of Source Lines: (Specify Source)
■ Display Only Instruction Operation
In this mode, the instruction operation is displayed in disassembly units.
■ Display by Unit of Source Lines
This mode only displays source lines.
54
CHAPTER2 Dependence Functions
2.1.10.5
Searching Trace Data
The trace buffer can be searched to locate target data.
■ Searching Trace Data
Specify the address information for the search purpose. This search function can be run by clicking the
Search button in the trace window.
55
CHAPTER2 Dependence Functions
2.1.10.6
Saving Trace Data
The debugger has function of saving trace data.
■ Saving Trace Data
Save the trace data to the specified file.
For details on operations, refer to Sections "3.14 Trace Window", and "4.4.8 Trace" in "SOFTUNE
Workbench Operation Manual"; and Section "4.9 Show Trace" in "SOFTUNE Workbench Command
Reference Manual".
56
CHAPTER2 Dependence Functions
2.1.10.7
Clearing Trace Data
To clear trace data, use the following command.
■ Clearing Trace Data
When clearing trace data, the [Clear] command is executed from the short-cut menu in the trace window.
57
CHAPTER2 Dependence Functions
2.1.11
Measuring Coverage
In the high-speed version simulator debugger, the C0 coverage measurement function
is provided. Use this function to find what percentage of an entire program has been
executed.
■ Coverage Measurement Function
When testing a program, the program is executed with various test data input and the results are checked
for correctness. When the test is finished, every part of the entire program should have been executed. If
any part has not been executed, there is a possibility that the test is insufficient.
It can know what percentage of the entire program executed when the coverage function for the high-speed
version simulator debugger to have is used.
In addition, details such as which addresses were not accessed can be checked.
In this debugger, the range to measure coverage can be set.
Please set the time base range only to the code area when you do the C0 coverage.
Moreover, the access of the variable can be examined as the variable not used is searched out by setting the
time base range to the data area.
■ Coverage Measurement Procedures
The procedure for coverage measurement is as follows:
- Set range for coverage measurement:
SET COVERAGE
- Measuring coverage:
GO, STEP, CALL
- Displaying measurement result:
SHOW COVERAGE
■ Coverage Measurement Operation
The following operation can be made in coverage measurement:
58
- Load/Save of coverage data:
LOAD/COVERAGE. SAVE/COVERAGE
- Clearing coverage data:
CLEAR COVERAGE
- Canceling coverage measurement range:
CANCEL COVERAGE
CHAPTER2 Dependence Functions
2.1.11.1
Coverage Measurement Procedures
The procedure for coverage measurement is as follows:
- Set range for coverage measurement
: SET COVERAGE
- Measure coverage
: GO, STEP, CALL
- Display measurement result
: SHOW COVERAGE
■ Setting Range for Coverage Measurement
Use the SET COVERAGE command to set the measurement range. The measurement range can be set
only within the area defined as the debug area. Up to 32 ranges can be specified.
By specifying /AUTOMATIC for the command qualifier, the code area for the loaded module is set
automatically. However, the library code area is not set when the C/C++ compiler library is linked.
[Example]
>SET COVERAGE FF000000 .. FFFFFFFF
■ Measuring Coverage
When preparing for coverage measurement, execute the program.
Measurement starts when the program is executed by using the GO, STEP, or CALL command.
■ Displaying Coverage Measurement Result
To display the measurement result, use the SHOW COVERAGE command. The following can be
displayed:
• Coverage rate of total measurement area
• Displaying coverage rate of load module
• Summary of 16 addresses as one block
• Details indicating access status of each address
• Displaying coverage measurement result per source line
• Displaying coverage measurement result per machine instruction
- Display Coverage Rate of Total Measurement Area (Specify /TOTAL for command qualifier.)
>SHOW COVERAGE/TOTAL
total coverage : 82.3%
59
CHAPTER2 Dependence Functions
- Displaying coverage rate of load module (Specify /MODULE for the command qualifier)
>SHOW COVERAGE/MODULE
sample.abs ........................ (84.03%)
+- startup.asm .................... (90.43%)
+- sample.c ...................... (95.17%)
+- samp.c ....................... (100.00%)
Displays the load modules and the coverage rate of each module.
- Summary (Specify /GENERAL for command qualifier.)
>SHOW COVERAGE/GENERAL
(HEX)0X0
+1X0
+2X0
+---------------+---------------+-----address 0123456789ABCDEF0123456789ABCDEF0123456
FF000000 **3*E*.......
-----... ABCDEF
C0(%)
32.0
Display the access status of every 16 addresses
. : No access
1 to F : Display the number accessed in 16 addresses by the hexadecimal number.
* : Access all of the 16 addresses.
- Details (Specify /DETAIL for command qualifier.)
Display one line of a
coverage rate
>SHOW COVERAGE/DETAIL FF000000
address
FF000000
FF000010
FF000020
FF000030
FF000040
FF000050
FF000060
FF000070
FF000080
+0
.
.
.
.
+1
.
.
.
.
.
+2
.
.
.
.
+3
.
.
.
.
+4
.
.
.
+5
.
.
.
+6
.
.
.
+7
.
.
.
.
+8
.
.
.
.
+9
.
.
.
.
+A
.
.
.
.
+B
.
.
.
.
+C
.
.
.
.
Display the access status of every 1 address
. : No access
- : Access
60
+D
.
.
.
.
+E
.
.
.
.
+F
.
.
.
.
C0(%)
100.0
100.0
18.6
100.0
93.7
100.0
0.0
0.0
0.0
CHAPTER2 Dependence Functions
- Displays per source line (Specify /SOURCE for the command qualifier)
>SHOW COVERAGE/SOURCE
sample.c
*
66: void
*
67: {
68:
69:
70:
*
71:
.
72:
73:
.
74:
.
75: }
main
main()
int
i;
struct table *value[16];
for (i=0; i<16; i++)
value[i] = &target[i];
sort_val(value, 16L);
The execution situation of each source line is displayed.
.:
No execution
*:
Execution
Blank : Line which the code had not been generated or
is outside the scope of the coverage measurement
- Displays per machine instruction (Specify /INSTRUCTION for the command qualifier)
>SHOW COVERAGE/INSTRUCTION 000803EE
sample.c$66 void
main()
* 000803EE
\main:
* 000803EE 1781
ST
RP,@-R15
* 000803F0 0F12
ENTER #048
sample.c$71
for (i=0; i<16; i++)
. 000803F2 C00C
LDI:8 #00,R12
. 000803F4 3FFC
ST
R12,@(R14,-4)
. 000803F6 2FF0
LD
@(R14,-4),R0
. 000803F8 C10C
LDI:8 #10,R12
. 000803FA AAC0
CMP
R12,R0
. 000803FC EB15
BGE
00080428
. 000803FE 9F820003C1E8
LDI:32 #0003C1E8,R2
sample.c$72
value[i] = &target[i];
. 00080404 2FF0
LD
@(R14,-4),R0
. 00080406 B420
LSL
#2,R0
. 00080408 2FF1
LD
@(R14,-4),R1
. 0008040A C14C
LDI:8 #14,R12
. 0008040C AFC1
MUL
R12,R1
. 0008040E B75C
MOV
MDL,R12
The execution situation at each chance instruction is displayed.
.:
No execution
*:
Execution
Blank : Instruction outside the scope of the coverage measurement
61
CHAPTER2 Dependence Functions
2.1.12
Checking Debugger Status
This section explains how to check information about the simulator debugger.
■ Debugger Information
This simulator debugger enables you to check the following information at startup.
• SOFTUNE Workbench file information
• Hardware information
If any errors have been discovered during SOFTUNE Workbench operations, check this information and
contact our sales department or support department.
■ How to Check
Use one of the following methods to check debugger information.
• Command
- SHOW SYSTEM
Refer to Section "1.12 SHOW SYSTEM" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
- Version information dialog
elect [Help] - [Version Information] menu.
For details, refer to Section "4.9.3 Version Information" in "SOFTUNE Workbench Operation
Manual".
■ Displayed Contents
FR Family SOFTUNE Workbench VxxLxx
ALL RIGHTS RESERVED,
COPYRIGHT(C) FUJITSU MICROELECTRONICS LIMITED 1997
LICENCED MATERIAL PROGRAM PROPERTY OF FUJITSU MICROELECTRONICS LIMITED
=======================================================
Cpu information file path: CPU information file path
Cpu information file version: CPU information file version
=======================================================
Add in DLLs
------------------------------------------------------SiCmn
Product name: SOFTUNE Workbench
File Path: SiC911.dll path
Version: SiC911.dll version
---------------------------SiiEd
File Path: SiiEd3.ocx path
62
CHAPTER2 Dependence Functions
Version: SiiEd3.ocx version
------------------------------------------------------SiM911
Product name: SOFTUNE Workbench
File Path: SiM911.dll path
Version: SiM911.dll version
---------------------------Language Tools
- FR Family SOFTUNE C/C++ Compiler version
File Path: fcc911s.exe path
- FR Family SOFTUNE Assembler version
File Path: fasm911s.exe path
- FR Family SOFTUNE Linker version
File Path: flnk911s.exe path
- FR Family SOFTUNE Librarian version
File Path: flib911s.exe path
- SOFTUNE FJ-OMF to S-FORMAT Converter version
File Path: f2ms.exe path
- SOFTUNE FJ-OMF to INTEL-HEX Converter version
File Path: f2is.exe path
- SOFTUNE FJ-OMF to INTEL-EXT-HEX Converter version
File Path: f2es.exe path
- SOFTUNE FJ-OMF to HEX Converter version
File Path: f2hs.exe path
------------------------------------------------------SiOsM
Product name: Softune Workbench
File Path: SiOsM911.dll path
Version: SiOsM911.dll version
------------------------------------------------------FR Series Debugger DLL
Product name: SOFTUNE Workbench
File Path: SiD911.dll path
Version: SiD911.dll version
---------------------------Debugger type: Current debbuger type
MCU type: Currently selected target MCU
VCpu dll name: Path and name of the currently used VCpu dll
VCpu dll version: Version of the currently used virtual debugger DLL
63
CHAPTER2 Dependence Functions
REALOS version: REALOS version
------------------------------------------------------SiIODef
Product name: Softune Workbench
File Path: SiIODef.dll path
Version: SiIODef.dll version
=======================================================
Current path: Path of the currently used project
Language: Currently used language
Help file path: Help file path
64
CHAPTER2 Dependence Functions
2.2
Emulator Debugger (MB2197)
This section describes the emulator debugger functions that are available when the
MB2197 is specified.
■ Emulator Debugger
When choosing the emulator debugger from the setup wizard, select one of the following emulators.
The following description explains the case when MB2197 has been selected.
• MB2197
• MB2198
The emulator debugger for the MB2197 is software that controls an emulator from a host computer via a
communications line (RS-232C or LAN) to evaluate programs.
• DSU1
• DSU2
• DSU3
Before using the emulator debugger, it is necessary to initialize the emulator. For details, refer to
"Appendix B Monitoring Program Download", and "Appendix C LAN Interface Setup", in "SOFTUNE
Workbench Operation Manual".
65
CHAPTER2 Dependence Functions
2.2.1
Setting Operating Environment
This section explains the operating environment setup.
■ Setting Operating Environment
For this emulator debugger, the following items must be set according to the operating environment. Each
setting item has a default value at startup. Therefore, if the default value is used as it is, there is no need to
change this setting. Adjusted settings can be used as new default settings from the next time.
• MCU operation mode
• DRAM refresh control
• Cache flush control
• Operating Frequency
66
CHAPTER2 Dependence Functions
2.2.1.1
MCU Operation Mode
The following four modes are in the MCU Operation Mode. The Internal Trace Mode and
External Trace Mode are enabled only with products using the DSU3 chips. The Full
Trace Mode and Real-time Mode are not enabled with products using the DSU3 chips.
• Full Trace Mode
• Real Time Mode
• Internal Trace Mode
• External Trace Mode
■ Setting MCU Operation Mode
Set the MCU operation mode. There are two modes: full trace, and real-time. To set the operation mode,
use either the [Setup] - [Debug Environment] - [Debug Environment] menu, or the SET RUNMODE
command in the Command window.
● Full Trace Mode
In the full trace mode, all instruction executions can be traced without omission. However, if branching
occurs more than three times within 11 cycles, operations may not be real-time due to the wait entered to
MCU as acquiring the trace data is preceded. This mode cannot be specified with DSU3 chips.
● Real-time Mode
In the real-time mode, a program runs in real-time. However, if branching occurs more than three times
within 11 cycles, some trace data may be omitted.
This mode cannot be specified with DSU3 chips.
● Internal Trace Mode
Trace data is stored in the specialized trace memory built-in to the chip. The program is executed at real
time, but this is possible only with DSU3 chips which include that function.
● External Trace Mode
Trace data is stored in the specialized trace memory mounted on the adapter board. The program is
executed at real time.
This mode may not be specified depending on the specification of the adapter board. Check your adapter
board specification.
67
CHAPTER2 Dependence Functions
2.2.1.2
DRAM Refresh Control
This section explains DRAM refresh setup.
■ DRAM Refresh Control
The operating frequency of some DSU chips is automatically divided at a break (in emulation mode).
When this happens, the register (RFCR) must be reset if the built-in DRAM refresh function is used on the
user target.
The RFCR register values for On Execution (in user mode) and On Break (in emulation mode) can be set
by [RFCR] tab in debug environment setting dialog. When the mode is switched, the values set here are
used to set to the RFCR register.
Note:
When using chips with an operating frequency that is not divided automatically at a break (in
emulation mode), or when the built-in DRAM refresh function at the user target is not in use, this
function causes a slowdown in debugger operation due to writing to the RFCR register.
68
CHAPTER2 Dependence Functions
2.2.1.3
Cache Flush Control
This section explains cache flush setup.
■ Cache Flush Control
When using a chip with cache memory, rewriting the memory and software break point setup using
commands is not reflected in the cache.
Therefore, cache flushing must be performed when such
commands are executed. The debugger has a function to flush the cache automatically, monitor memory
rewriting, and set software break points, etc.
This function is controlled using the [Emulation] tab in debug environment setting dialog.
Note:
When the automatic cache flushing option is enabled, it may negatively affect the program speed.
69
CHAPTER2 Dependence Functions
2.2.1.4
Operating Frequency
This section explains the setting of operating frequencies.
■ Operating frequencies
Set the operating frequencies of the MCU. Enable only DSU3. DSU3 ranges from 1 to 200 MHz. This
setting provides the optimum communication speed between the MCU and emulator.
This function can be controlled by the [Frequency] tab in debug environment setting dialog.
Notes:
• This setting is used to set maximum operating frequencies. Actual operating frequencies will not
be changed.
• Actual operating frequencies exceeding these settings will cause improper communication with
the emulator.
70
CHAPTER2 Dependence Functions
2.2.2
Notes on Executing Program
There are some precautions to observe when using program execution commands.
■ Real-time Functionality in Running Program
When the MCU is in the full trace mode, there are some cases when a program cannot execute in real-time.
The MCU operation mode can be set up by using either the [Emulation] tab in debug environment setting
dialog, or the SET RUNMODE command in the Command window.
■ Precaution on executing the delay branch instruction
If the delay branch instruction is executed in one of the following procedures, the instruction (just after the
delay branch instruction) placed in the delay slot is executed, and a break is set just after the delay branch
instruction was executed.
• [Debug] - [Run] - [Step In] menu
• [Debug] - [Run] - [Step Over] menu
■ Restrictions when Suspended by Software Break
When there is a software break at the current PC location, if either the [Debug] - [Run] - [Go] menu or the
Go command is executed, the emulator debugger performs one execution step internally, and then executes
the program in batch processing. In addition, when a software break is set for the instruction to clear the Tflag, and when either the [Debug] - [Run] - [Go] menu or the Go command is executed from that address,
all software breaks are disregarded. When this happens, any interrupt is masked too.
■ Value of TBR Register
Note a program null-function may occur if you specify such value for the TBR register as the vector table
overlaps to the I/O area.
■ Precautions on executing the instruction for clearing flag T
If one of the following procedures is executed, the instruction for clearing flag T is executed continuously.
All software breaks are then ignored.
• [Debug] - [Run] - [Step In] menu
• [Debug] - [Run] - [Step Over] menu
71
CHAPTER2 Dependence Functions
2.2.3
Commands Available during Execution of User Program
This section explains the commands available during the execution of a user program.
■ Commands Available during Execution of User Program
This emulator debugger allows you to use certain commands during the execution of a user program.
For more details, see "■ Supported Debuggers" in "SOFTUNE Workbench Command Reference Manual".
The double circle indicates that it is available during the execution of a user program.
Table 2.2-1 shows the commands available during the execution of a user program.
Table 2.2-1 Commands Available during Execution of User Program
Function
MCU reset
Limitations and
Restrictions
-
1.3
RESET
-
5.1
5.2
5.3
5.4
5.5
5.8
5.9
5.10
5.11
EXAMINE
ENTER
SET MEMORY
SHOW MEMORY
SEARCH MEMORY
COMPARE
FILL
MOVE
DUMP
-
6.1
6.2
ASSEMBLE
DISASSEMBLE
Memory operation (Read/Write)
Line assembly, Disassembly
Major Commands
Notes:
• The conditions which allow you to use the commands in Table 2.2-1 are limited to the following
cases when a user program is executed.
- [Debug] - [Run] - [Go] menu
- [Go] button on the debug toolbar
The commands in Table 2.2-1 cannot be used when the GO command is entered in the command
window.
• An error message appears if you enter a command that cannot be used during the execution of a
user program.
"E4404S Command error (MCU is busy)."
72
CHAPTER2 Dependence Functions
2.2.4
Break
This Emulator Debugger provides seven types of break functions. When by each break
function aborts program execution, the address where a break occurred and the break
factor are displayed.
■ Break Functions
This Emulator debugger provides the following seven types of break functions;
• Code break
• Code event break
• Date event break
• Trace buffer-full break
• Alignment error break
• External trigger break
• Forced break
73
CHAPTER2 Dependence Functions
2.2.4.1
Code Break
This function aborts the program execution by monitoring a specified address by
hardware or software.
A break occurs before executing an instruction at the specified address.
■ Code Break
This function aborts the program execution by monitoring a specified address by hardware or software.
A break occurs before executing an instruction at the specified address.
The maximum number of points that can be set is as follow:
Hardware:
5 points
Software:
4096 points
When the code break occurs, the following message appears at the status bar.
- Hardware
Break an address by hardware breakpoint
- Software
Break at address by breakpoint
■ How to set
Set the break as follows.
• Command
- SET BREAK/HARD (hardware)
- SET BREAK/SOFT (software)
Refer to "3.1 SET BREAK (type 1)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Code" tab in breakpoint setting dialog
Refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
• Window
Source window/disassemble window
Refer to "3.7 Source Window" or "3.9 Disassemble Window" in "SOFTUNE Workbench Operation
Manual".
74
CHAPTER2 Dependence Functions
Notes:
Hardware
The hardware break requires the following cautions:
- Do not set any hardware break in instruction placed in a delay slot. When the hardware break
is set in the instruction, a branch does not occur even if the program is reexecuted after break.
- Be sure to set a breakpoint at the starting address of the instruction. A break may not occur if
an address other than the starting address is specified.
- When the program is executed from the address at which a hardware break is set, a break
occurs without executing the instruction if the immediately preceding program execution is
stopped by a factor other than the instruction break. To execute the instruction, reexecute the
program.
Software
The software break requires the following cautions:
- A breakpoint cannot be set in any area, such as ROM, where data cannot be written properly.
In this case, a verify error occurs when program execution is started (continuous execution or
stepwise execution is started).
- Be sure to set a breakpoint at the starting address of the instruction. If breakpoint is set during
instruction execution, the program may malfunction.
75
CHAPTER2 Dependence Functions
2.2.4.2
Code Event Break
This function used breakpoints contained in the evaluation chip. The address mask,
pass count, and sequential mode can be set.
■ Code Event Break
This function uses breakpoints contained in an evaluation chip. The address mask and pass count can be
set. Up to two breakpoints can be set and used in two modes.
1. OR mode (if a hit is found in either code event 1 or 2, a break occurs)
2. Sequential mode (if a hit is found in code events 1 and 2 in the order, a break occurs)
When the code event break occurs, the following message appears at the status bar.
1. OR mode
Break at address by code event break (No.: Code event number)
2. Sequential mode
Break at address by code event break (sequential)
■ How to set
Set the code event break as follows.
• Command
- SET CODEEVENT
- SET SEQUENCE/ON (only in sequential mode)
Refer to "3.19 SET CODEEVENT" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Code" tab in event setting dialog
Refer to "4.6.5 Event" in "SOFTUNE Workbench Operation Manual".
Note:
In the DSU3 chip, the code event can be used as a break factor and a trace measurement start
factor. This mode is called a trace sampling mode. There are two trace sampling modes.
a. Full mode: The code event is used as a break factor.
b. Trigger mode: The code event is used as a trace measurement start factor.
To use the code event as a break factor, set the full mode.
Set as follows:
Command
- SET TRACE/FULL
Refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command Reference Manual".
Dialog
- Trace setting dialog
Refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
76
CHAPTER2 Dependence Functions
2.2.4.3
Data Event Break
This function uses breakpoints contained in the evaluation chip. The address mask,
data size, access type, and sequential mode can be set.
■ Data Event Break
This function uses breakpoints contained in the evaluation chip. The address mask, data size (byte/half
word/word), and access attributes (read/write) can be set.
Up to two breakpoints can be set and used in two modes.
1. OR mode (if a hit is found in either data event 1 or 2, break occurs)
2. Sequential mode (if a hit is found in data events 1 and 2 in this order, a break occurs)
When the data event break occurs, the following message appears at the status bar.
1. OR mode
Break at address by data event break (No: Data event number)
2. Sequential mode
Break a address by data event break (sequential)
■ How to set
Set the data event break as follows.
• Command
- SET DATAEVENT
- SET SEQUENCE/ON (only in sequential mode)
Refer to "3.24 SET DATAEVENT" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Data" tab in event setting dialog
Refer to "4.6.5 Event" in "SOFTUNE Workbench Operation Manual".
Note:
In the DSU3 chip, the data event can be used as a break factor and a trace measurement start
factor. This mode is called a trace sampling mode. There are two trace sampling modes.
a. Full mode: The data event is used as a break factor.
b. Trigger mode: The data event is used as a trace measurement start factor.
To use the data event as a break factor, set the full mode.
Set as follows:
Command
- SET TRACE/FULL
Refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command Reference Manual".
Dialog
- Trace setting dialog
Refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
77
CHAPTER2 Dependence Functions
2.2.4.4
Trace Buffer-full Break
This function aborts the program execution when the trace buffer becomes full.
■ Trace Buffer-full Break
This function aborts the program execution when the trace buffer becomes full.
When the trace buffer-full break occurs, the following message appears at the status bar.
Break at address by trace buffer full
■ How to set
Set the trace buffer-full break as follows.
• Command
- SET TRACE/BREAK
Refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
Trace setting dialog
Refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
78
CHAPTER2 Dependence Functions
2.2.4.5
Alignment Error Break
This function aborts the program execution when an instruction access or a word/half
word access beyond the boundary is made to the odd address.
■ Alignment Error Break
This function aborts the program execution when an instruction access or a word/half word access beyond
the boundary is made to the odd address. Whether to enable or disable the alignment error break can be set
for both instruction access and data access.
When the alignment error break occurs, the following message appears at the status bar.
• Instruction access
Break at address by alignment error break (code)
• Data access
Break at address by alignment error break (data)
■ How to set
Set the alignment error break as follows.
• Command
- ENABLE ALIGNMENTBREAK
- DISABLE ALIGNMENTBREAK
Refer to "3.37 ENABLE ALIGNMENTBREAK" in "SOFTUNE Workbench Command Reference
Manual".
• Dialog
"Emulation" tab in debug environment setting dialog
Refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
79
CHAPTER2 Dependence Functions
2.2.4.6
External Trigger Break
This function aborts the program execution when an external signal is input from the
TRIG of the Emulator.
■ External Trigger Break
This function aborts the program execution when an external signal is input from the TRIG of the
Emulator.
When the external trigger break occurs, the following message appears at the status bar.
Break at address by external trigger break
■ How to set
Set the external trigger break as follows.
• Command
- SET TRIGGER
Refer to "3.35 SET TRIGGER" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Emulation" tab in debug environment setting dialog
Refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
80
CHAPTER2 Dependence Functions
2.2.4.7
Forced Break
This function forcibly aborts the program execution to generate a break.
■ Forced Break
This function forcibly aborts the program execution to generate a break.
When the forced break occurred, the following message appears at the status bar.
Break at address by command abort request
■ How to Generate
A forced break is generated in the following methods:
• Menu
[Debug] - [Abort] menu
Refer to "4.6.2 Abort" in "SOFTUNE Workbench Operation Manual".
• Command
- ABORT
Refer to "2.2 ABORT" in "SOFTUNE Workbench Command Reference Manual".
Note:
The forced break cannot be generated when the MCU is in the low power consumption mode or in
the hold state. If the MCU is in the low power consumption mode or in the hold state when the forced
break is requested by the [Debug]-[Abort] menu during the program execution, the [Debug]-[Abort]
menu is ignored. To generate a break forcibly, use the [Debug]-[Abort] menu to remove a factor by
the user system or use the [Debug]-[Reset of MCU] menu to remove it. If the MCU enters the low
power consumption mode or the hold state during the program execution, the condition is displayed
at the status bar.
81
CHAPTER2 Dependence Functions
2.2.5
Measuring Execution Cycle Count
This function measures the program execution cycle count.
■ The measuring item
Measures program execution cycle counts.
The maximum measurable count is "2 to the power of 48 - 1", in other words, up to 281,474,976,710,655
cycles.
The measurement is performed whenever a program is executed, and the measurement result displays the
following two values:
• Number of cycles spent on the previous program execution
• Total number of cycles executed since the previous clearing
■ Displaying Measurement Results
Either of the following methods can be used to display the measurement results.
1. Display by dialog
The results appear in the time measurement dialog, which can be displayed by selecting [Debug] –
[Time Measurement] menu.
2. Display by command
Enter the SHOW TIMER command in the command window.
■ Clearing Measurement Results
Either of the following methods can be used to clear the measurement results.
1. Operation by dialog
Click the [Clear] button in the time measurement dialog, which can be displayed by selecting [Debug] –
[Time Measurement] menu.
2. Clearing by command
Enter the CLEAR TIMER command in the command window.
■ error
The number of measurement cycles includes an error of about 20 cycles. In the Real-time mode or Full
Trace mode, it has additionally an error of about at most (*1) cycles. For time measurement, use the
Internal Trace mode or External Trace mode, which has less error.
*1: Autowait 1 : +1250
Autowait 3 : +2500
Autowait 7 : +5000
Autowait 15 : +10000
Note:
Execution cycle counts are measured in several tens of cycles at one execution. When measuring
execution cycles, set for consecutive executions of many instructions to decrease the efficacy of
errors.
82
CHAPTER2 Dependence Functions
2.2.6
Trace
The address and status information can be sampled during program execution to record
it in a trace buffer. This function is called a trace.
■ Trace
Data recorded with the trace function can be used to make a detailed analysis of a program execution
history.
The trace buffer is in the form of a ring. When it becomes full, it records the next data by automatically
overwriting the buffered data at the beginning.
• Trace data
• Trace sampling
• Setting trace
• Displaying trace data
• Display format of trace data
• Searching trace data
• Saving Trace dada
• Clearing trace data
• Notes on Use of Tracing Function
83
CHAPTER2 Dependence Functions
2.2.6.1
Trace Data
Data sampled and recorded by tracing is called trace data.
■ Trace Data
You can sample the following sizes using the emulation debugger.
• Full Trace Mode:
65536 bytes
• Real Time Trace Mode: 65536 bytes
• Internal Trace Mode:
128 frames or 64 frames
(The number of frame is different by an evaluation chip.)
• External Trace Mode: 65536 frames
The following data is sampled.
• Address (32 bits)
• Data (32 bits)
• Status Information
- Access Data Size: Word/Halfword/Byte
- Data Types:
Data Access/Instruction Execution
Note:
Trace data requires a few bytes for each frame.
84
CHAPTER2 Dependence Functions
2.2.6.2
Trace Sampling
Trace measurements of the program execution status are made during the interval
between the program start and stop. The DSU3 chip emulator debugger performs trace
measurements until the program execution stops, using the first or second code event
or first data event as a trigger for starting trace measurement.
■ Trace Sampling
When the trace function is enabled, data is always sampled and recorded in the trace buffer during the
execution of an execution command.
In addition to the above function, the DSU3 chip emulator debugger has functions for starting trace
measurement during the next program execution and making trace measurements of data access with a
specified region.
• When mode switching is effected from the trace sampling mode to the trigger mode, trace
measurements start at the first or second code event hit or the first data event hit.
• When the internal trace mode or external trace mode is selected as the MCU operation mode, data
sampling is conducted only for data accesses to a specified data trace measurement region.
The program execution aborts due to a break factor such as a breakpoint, terminating the trace.
Furthermore, when the trace buffer becomes full, a program break can be invoked. This break is called a
trace buffer full break.
■ Frame Number
A number is assigned to each frame of sampled trace data. This number is called a frame number.
The frame number is used to specify the display start position of the trace buffer.
The value 0 is assigned to the last-sampled trace data. Negative values are assigned to trace data sampled
before the arrival at the triggering position.
85
CHAPTER2 Dependence Functions
2.2.6.3
Setting Trace
To perform a trace, complete steps 1 through 3 below. When a program is executed
after completion of the following steps, trace data is sampled. Trace setup can also be
performed from the command window. The DSU3 chip allows the trace measurement
region for data access to be specified.
■ Setting Trace
1. Enable the trace function
- This is done by [Setup] - [Trace] in the trace window shortcut menu. This program will startup and
will be enabled.
2. Set the MCU operation mode
- This is done by the debug environment setting dialog.
- Real time mode operates while executing, but there is a great possibility of losing trace data. Full
trace mode does not operate while executing, but there is a very low possibility of losing trace data.
If there are many divisional instructions, we recommend that you use the full trace mode.
- With the DSU3 chip, you can specify internal trace mode or external trace mode. Using these two
modes, you can measure while operating during execution without losing trace data.
3. Set the trace buffer full break
- When the trace buffer is full, you can make a break. This is done using the setting dialogs of the
trace window shortcut menu [Setup] - [Trace].
- When starting up this program, it is setup for no breaks.
- Also, on emulator debuggers using DSU3 chips, you can specify the data access area for performing
the trace measurements.
86
CHAPTER2 Dependence Functions
2.2.6.4
Displaying Trace Data
Data recorded in the trace buffer can be Displayed.
■ Displaying Trace Data
The trace window displays how much trace data is stored in the trace buffer. Also, you can use the SHOW
TRACE command from the command window.
When the emulator debugger uses the DSU3 chip, it displays branch information and data access
information as trace data. To display instructions executed between branch instructions, it is necessary to
open the trace details dialog. The same purpose can also be achieved by executing the SHOW
DETAILTRACE command from the command window.
87
CHAPTER2 Dependence Functions
2.2.6.5
Display Format of Trace Data
There is a format for displaying trace buffer data.
■ Display Format of Trace Data
• Display Only Instruction Operation: (Specify Instruction)
■ Display Only Instruction Operation
In this mode, the instruction operation is displayed in disassembly units.
88
CHAPTER2 Dependence Functions
2.2.6.6
Searching Trace Data
The trace buffer can be searched to locate target data.
■ Searching Trace Data
Specify the address, data, and access information for searching. The address and data can be masked. This
search function can be run by clicking the Search button in the trace window.
89
CHAPTER2 Dependence Functions
2.2.6.7
Saving Trace Data
The debugger has function of saving trace data.
■ Saving Trace Data
Save the trace data to the specified file.
For details on operations, refer to Sections "3.14 Trace Window", and "4.4.8 Trace" in "SOFTUNE
Workbench Operation Manual" and Section "4.9 Show Trace" in "SOFTUNE Workbench Command
Reference Manual".
90
CHAPTER2 Dependence Functions
2.2.6.8
Clearing Trace Data
To clear trace data, use the following command.
■ Clearing Trace Data
When clearing trace data, the [Clear] command is executed from short-cut menu in the trace window.
91
CHAPTER2 Dependence Functions
2.2.6.9
Notes on Use of Tracing Function
This section describes the precautions to observe when displaying or searching for
trace data.
■ Notes on Trace Function
When the emulator debugger is in use, tracing is enabled by the following:
• Output address information at fetching branch instruction
For these reasons, note the following points when displaying and searching trace data
• Since address information is not output immediately after executing a program until the branch
instruction being executed, trace data may not be established on the program executing side.
• When displaying disassembly, data is read from memory and processed. Therefore, the displayed data
may not be correct if the instruction is rewritten after code fetching.
• When specifying a starting frame number for searching data, an instruction longer than 2 bytes (LDI:
32, LDI: 20 instructions) may not be displayed correctly when the instruction starting address is not
specified.
• In the real-time mode, partial omission of trace data may occur under the following conditions (Output
trace omission information instead) because of the real-time operation.
- When branching occurs more than three times within 11 cycles.
- When data tracing occurs more than three times in succession.
• The address is not displayed until the first branching information is found, because the trace data
immediately before starting execution has been overwritten.
• If a break occurs under conditions such as the following combination of break points has been set up in
sequence at continuous addresses (code addresses of factors in case of data event), the trace data
immediately before the break is not displayed correctly.
- When break points set in sequence from software break to either one of I-group breaks at continuous
addresses.
- When break points set in sequence from either one of I-group breaks to either one of I-group breaks
at continuous addresses.
Reference:
The I-group breaks here means the following breaks:
• Hardware break
• Code event break
• Data event break
This occurs because the address next to the actual break factor address is detected as a break
cause simply by such next address being pre-fetched.
92
CHAPTER2 Dependence Functions
• When displaying valid pass cycles or instruction, the omitted trace data frame is displayed as follows:
*** Address Lost Error ***
Frame where address at code fetching could not be sampled.
• At step execution by a single instruction, trace data may not be sampled correctly for each single
instruction execution. If this happens, *** Address Lost Error *** is displayed.
93
CHAPTER2 Dependence Functions
2.2.7
Inaccessible Area
This section explains inaccessible area.
■ Inaccessible area
The inaccessible area is a function that suppresses access to memory when the debugger accesses a
specified memory area (using commands, windows, etc. (*1)).
However, access to memory is not suppressed using program.
The following commands are used to set an inaccessible area.
SET MAP/INACCESSIBLE: Sets an inaccessible region.
SHOW MAP/INACCESSIBLE: Displays an inaccessible region.
CANCEL MAP/INACCESSIBLE: Deletes a specified inaccessible region.
ENABLE MAP/INACCESSIBLE: Enables a specified inaccessible region.
DISABLE MAP/INACCESSIBLE: Disables a specified inaccessible region.
(*1)
- Memory operation command
- Assemble/disassemble command
- Load/save command
- Built-in Variables and Functions (%BIT, %B, %H, %W, %L, %S, %D)
- Formula
- Trace
- Vector
- Memory window
- Source window
- Assemble window
- Watch window
- Local window
- Symbol window
■ Access to memory area including inaccessible area
When there are inaccessible regions within those that are accessed, up to memory of inaccessible region is
accessed, an error is output when the inaccessible region is reached, and access to the memory is
suspended.
94
CHAPTER2 Dependence Functions
2.2.8
Checking Debugger Status
This section explains how to check information about the MB2197 emulator debugger.
■ Debugger Information
This emulator debugger enables you to check the following information at startup.
• SOFTUNE Workbench file information
• Hardware information
If any errors have been discovered during SOFTUNE Workbench operations, check this information and
contact our sales department or support department.
■ How to Check
Use one of the following methods to check debugger information.
• Command
- SHOW SYSTEM
Refer to Section "1.12 SHOW SYSTEM" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
- Version information dialog
Select [Help] - [Version Information] menu.
For details, refer to Section "4.9.3 Version Information" in "SOFTUNE Workbench Operation
Manual".
■ Displayed Contents
FR Family SOFTUNE Workbench VxxLxx
ALL RIGHTS RESERVED,
COPYRIGHT(C) FUJITSU MICROELECTRONICS LIMITED 1997
LICENCED MATERIAL PROGRAM PROPERTY OF FUJITSU MICROELECTRONICS LIMITED
=======================================================
Cpu information file path: CPU information file path
Cpu information file version: CPU information file version
=======================================================
Add in DLLs
------------------------------------------------------SiCmn
Product name: SOFTUNE Workbench
File Path: SiC911.dll path
Version: SiC911.dll version
---------------------------SiiEd
File Path: SiiEd3.ocx path
95
CHAPTER2 Dependence Functions
Version: SiiEd3.ocx version
------------------------------------------------------SiM911
Product name: SOFTUNE Workbench
File Path: SiM911.dll path
Version: SiM911.dll version
---------------------------Language Tools
- FR Family SOFTUNE C/C++ Compiler version
File Path: fcc911s.exe path
- FR Family SOFTUNE Assembler version
File Path: fasm911s.exe path
- FR Family SOFTUNE Linker version
File Path: flnk911s.exe path
- FR Family SOFTUNE Librarian version
File Path: flib911s.exe path
- SOFTUNE FJ-OMF to S-FORMAT Converter version
File Path: f2ms.exe path
- SOFTUNE FJ-OMF to INTEL-HEX Converter version
File Path: f2is.exe path
- SOFTUNE FJ-OMF to INTEL-EXT-HEX Converter version
File Path: f2es.exe path
- SOFTUNE FJ-OMF to HEX Converter version
File Path: f2hs.exe path
------------------------------------------------------SiOsM
Product name: Softune Workbench
File Path: SiOsM911.dll path
Version: SiOsM911.dll version
------------------------------------------------------FR Series Debugger DLL
Product name: SOFTUNE Workbench
File Path: SiD911.dll path
Version: SiD911.dll version
----------------------------
96
Debugger type
: Current debugger type
MCU type
: Currently selected target MCU
VCpu dll name
: Path and name of the currently used VCpu dll
VCpu dll version
: Version of the currently used virtual debugger DLL
CHAPTER2 Dependence Functions
DSU type
: Currently used DSU type
Monitor version
: Version of monitor (dependent)
Communication device : Device type
Baud rate
: Baud rate
Host name
: LAN host name
REALOS version
: REALOS version
------------------------------------------------------SiIODef
Product name: Softune Workbench
File Path: SiIODef.dll path
Version: SiIODef.dll version
=======================================================
Current path: Path of the currently used project
Language: Currently used language
Help file path: Help file path
97
CHAPTER2 Dependence Functions
2.3
Emulator Debugger (MB2198)
This section describes the emulator debugger functions that are available when the
MB2198 is specified.
■ Emulator Debugger
When choosing the emulator debugger from the setup wizard, select one of the following emulators.
The following description explains the case when MB2197 has been selected.
• MB2197
• MB2198
The emulator debugger for the MB2198 is software that controls an emulator from a host computer via a
communications line (RS-232C or LAN or USB) to evaluate programs.
Products targeted for debugging must have the following DSUs (debug support units):
• DSU3
• DSU4
Before using the emulator debugger, initialize the emulator. For details, refer to "Appendix B Monitoring
Program Download", and "Appendix C LAN Interface Setup", in "SOFTUNE Workbench Operation
Manual".
■ Debug Functions with FR80S
When FR80S is used in an environment with the external trace function, the following debug functions
which are equal to those of FR60Lite are available. For details of each function, see its descriptions in this
manual.
Table 2.3-1 Debug Functions of FR80S
FR80S (external trace function available)
FR60Lite
Code break *
❍
❍
Data break
❍
❍
Datawatch break
✕
❍
Sequencer
❍ (write access only)
❍
Trace trigger
❍ (write access only)
❍
Performance
❍ (write access only)
❍
Real-time memory
❍
❍
Power-on Debugging
✕
❍
RAM checker
❍(write access only)
❍
* Includes the following three types:
• Hardware
• Hardware / Count
• Software
98
CHAPTER2 Dependence Functions
Notes:
When FR80S is used, there are some restrictions on the debug functions as follows:
• The debug functions shown in Table 2.3-1 are valid only when set in the internal RAM space.
However, the code break and the data break are excluded.
• The trace buffer stores only the trace data on which a write access is performed to the internal
RAM when the MCU operation mode is set to "external trace mode".
99
CHAPTER2 Dependence Functions
2.3.1
Setting Operating Environment
This section explains the operating environment setup.
■ Setting Operating Environment
For this emulator debugger, the following items must be set according to the operating environment. Each
setting item has a default value at startup. Therefore, if the default value is used as it is, there is no need to
change this setting. Adjusted settings can be used as the new default settings from the next time.
• Monitoring program automatic loading
• MCU operation mode
• Cache flush control
• Operating Frequency
• External memory emulation
• Debug mode
100
CHAPTER2 Dependence Functions
2.3.1.1
Monitoring Program Automatic Loading
The emulators that are compatible with the MB2198 can update the monitoring program
automatically at emulator startup.
■ Monitoring Program Automatic Loading
When the MB2198 is specified, data in the emulator can be checked at the beginning of debugging to
automatically load the appropriate monitoring program and configuration binary data into the emulator.
The monitoring program to be compared for update and configuration binary data are in Lid\911 under the
directory that installed Workbench.
To specify whether or not to load the monitoring program automatically, choose [Setup] - [Debug
Environment] - [Setup Wizard].
101
CHAPTER2 Dependence Functions
2.3.1.2
MCU Operation Mode
The following four modes are in the MCU Operation Mode. The Full Trace Mode and
Real-time Mode are not enabled with products using the DSU3 chips.
• Full Trace Mode
• Real Time Mode
• Internal Trace Mode
• External Trace Mode
■ Setting MCU Operation Mode
Set the MCU operation mode. There are two modes: full trace, and real-time. To set the operation mode,
use either the done by the debug environment setting dialog, or the SET RUNMODE command in the
Command window.
● Full Trace Mode
In the full trace mode, all instruction executions can be traced without omission. However, if branching
occurs more than three times within 11 cycles, operations may not be real-time due to the wait entered to
MCU as acquiring the trace data is preceded. This mode cannot be specified with DSU3 chips.
● Real-time Mode
In the real-time mode, a program runs in real-time. However, if branching occurs more than three times
within 11 cycles, some trace data may be omitted.
This mode cannot be specified with DSU3 chips.
Chips may cause an error at cycle count measurement. When measuring the cycle count, use the internal or
external trace mode.
● Internal Trace Mode
Trace data is stored in the specialized trace memory built-in to the chip. The program is executed at real
time, but this is possible only with DSU3 chips which include that function.
● External Trace Mode
Trace data is stored in the specialized trace memory mounted on the adapter board. The program is
executed at real time.
This mode may not be specified depending on the specification of the adapter board.
Check your adapter board specification.
102
CHAPTER2 Dependence Functions
2.3.1.3
Cache Flush Control
This section explains cache flush setup.
■ Cache Flush Control
When using a chip with cache memory, rewriting the memory and software break point setup using
commands is not reflected in the cache.
Therefore, cache flushing must be performed when such
commands are executed. The debugger has a function to flush the cache automatically, monitor memory
rewriting, and set software break points, etc.
This function is controlled using the [Emulation] tab in debug environment setting dialog.
Note:
When the automatic cache flushing option is enabled, it may negatively affect the program speed.
103
CHAPTER2 Dependence Functions
2.3.1.4
Operating Frequency
This section explains the setting of operating frequencies.
■ Operating frequencies
Set the operating frequencies of the MCU. The most suitable operating frequencies vary depending on the
type of DSU. DSU3 ranges from 1 to 200 MHz and DSU4 from 1 to 266 MHz. This setting provides the
optimum communication speed between the MCU and emulator.
This function can be controlled by the [Frequency] tab in debug environment setting dialog.
Notes:
• This setting is used to set maximum operating frequencies. Actual operating frequencies will not
be changed.
• Actual operating frequencies exceeding these settings will cause improper communication with
the emulator.
104
CHAPTER2 Dependence Functions
2.3.1.5
External Memory Emulation
This section explains the external memory emulation function.
■ External memory emulation
Some DSU4 chips can use the RAM in the adapter unit in place of the user system memory. This function
is called external memory emulation.
For the FR Family, the ‘chip select’ terminal must be specified to access memory outside the chip.
Therefore, when using the external memory emulation function, specify the chip select number.
This function can be controlled using the [External Memory Emulation] tab in debug environment setting
dialog. Select either ROM or RAM as the emulated memory.
For the detailed specifications and setup procedure, refer to the hardware manual for the appropriate
adapter unit.
105
CHAPTER2 Dependence Functions
2.3.1.6
Debug mode
Debug mode includes the following modes. Selectable debug mode varies with the
emulator or its connection configuration.
• RealTimeMemory mode
• RAM Checker mode
■ Setting of debug mode
This mode sets debug mode. Debug mode includes RealTimeMemory mode and RAM Checker mode, and
selectable debug mode varies with the emulator or its connection configuration.
To set these mode, select [Environment] - [Setup debugging environment] - [Select Debug Function] menu
or by using the SET MODE command on the command window.
■ RealTimeMemory mode
This mode enables the real-time monitor function. This mode enables to display data for a "256 bytes × 2"
area in the real-time memory window without breaking the MCU at all during program execution.
■ RAM Checker mode
This mode enables the RAM Checker function. This mode allows you to record the access history of the
monitoring address in the log file.
Notes:
• In an environment where debug mode cannot be selected, RealTimeMemory mode is used.
• The real-time monitor function can be used only in an environment where the external trace
function can be used. The external trace function may not be used depending on the
specification of the adaptor board. Check the specification of the adaptor board before using it.
• The RAM Checker function can be used only in an environment where the used core is FR60Lite
or FR80S, and the external trace function can be used. The external trace function may not be
used depending on the specification of the adaptor board. Check the specification of the adaptor
board before using it.
106
CHAPTER2 Dependence Functions
2.3.2
Notes on Executing Program
There are some precautions to observe when using program execution commands.
■ Real-time Functionality in Running Program
When the MCU is in the full trace mode, there are some cases when a program cannot execute in real-time.
The MCU operation mode can be set up by using either the [Emulation] tab in debug environment setting
dialog, or the SET RUNMODE command in the Command window.
■ Precaution on executing the delay branch instruction
If the delay branch instruction is executed in one of the following procedures, the instruction (just after the
delay branch instruction) placed in the delay slot is executed, and a break is set just after the delay branch
instruction was executed.
• [Debug] - [Run] - [Step In] menu
•
[Debug] - [Run] - [Step Over] menu
■ Restrictions when Suspended by Software Break
When there is a software break at the current PC location, if either the [Debug] - [Run] - [Go] menu or the
Go command is executed, the emulator debugger performs one execution step internally, and then executes
the program in batch processing. In addition, when a software break is set for the instruction to clear the Tflag, and when either the [Debug] - [Run] - [Go] menu or the Go command is executed from that address,
all software breaks are disregarded. When this happens, any interrupt is masked too.
■ Value of TBR Register
Note a program null-function may occur if you specify such value for the TBR register as the vector table
overlaps to the I/O area.
■ Precautions on executing the instruction for clearing flag T
If one of the following procedures is executed, the instruction for clearing flag T is executed continuously.
All software breaks are then ignored.
• [Debug] - [Run] - [Step In] menu
• [Debug] - [Run] - [Step Over] menu
107
CHAPTER2 Dependence Functions
2.3.3
Commands Available during Execution of User Program
This section explains the commands available during the execution of a user program.
■ Commands Available during Execution of User Program
This emulator debugger allows you to use certain commands during the execution of a user program.
For more details, see "■ Supported Debuggers" in "SOFTUNE Workbench Command Reference Manual".
The double circle indicates that it is available during the execution of a user program.
Table 2.3-2 shows the commands available during the execution of a user program.
Table 2.3-2 Commands Available during Execution of User Program
Function
Restrictions
MCU reset
Memory operation
(Read/Write)
1. Emulation memory only operable Read only
enabled in real-time monitoring area.
2. When Real-time monitor mode, it is not possible
to read/write it excluding a real-time area.
3. Not possible when the DSU3 evaluation chip is used.
Line assembly, Disassembly
1. Emulation memory only enabled Real-time
monitoring area, Disassembly only enabled
Major Commands
1.3 RESET
5.1
5.2
5.3
5.4
5.5
5.8
5.9
5.10
5.11
EXAMINE
ENTER
SET MEMORY
SHOW MEMORY
SEARCH MEMORY
COMPARE
FILL
MOVE
DUMP
6.1 ASSEMBLE
6.2 DISASSEMBLE
2. Not possible when the DSU3 evaluation chip is used.
Break Point Settings
Oprable only when "Breakpoint Settings during
Execution" is enabled in the execution tab of the
debug environment set dialog.( *)
*: For detail, refer to "2.3.4 Break".
108
3.1
3.4
3.6
3.7
3.8
3.10
3.12
3.13
3.14
SET BREAK (type 1)
SET BREAK (type 4)
CANCEL BREAK
ENABLE BREAK
DISABLE BREAK
SET DATABREAK (type 2)
CANCEL DATABREAK
ENABLE DATABREAK
DISABLE DATABREAK
CHAPTER2 Dependence Functions
Notes:
• The conditions which allow you to use the commands in Table 2.3-2 are limited to the following
cases when a user program is executed.
- [Debug] - [Run] - [Go] menu
- [Go] button on the debug toolbar
The commands in Table 2.3-2 cannot be used when the GO command is entered in the command
window.
• An error message appears if you enter a command that cannot be used during the execution of a
user program.
"E4404S Command error (MCU is busy)."
109
CHAPTER2 Dependence Functions
2.3.4
Break
This Emulator Debugger provides nine types of break functions. When by each break
function aborts program execution, the address where a break occurred and the break
factor are displayed.
■ Break Functions
This Emulator debugger provides the following nine types of break functions;
- Code break
- Data break
- Code event break
- Data event break
- Trace buffer-full break
- Alignment error break
- External trigger break
- Forced break
- Data watch break
Available break functions depend on the DSU, adapter board, and chip.
Table 2.3-3 Available Break Functions
Code break (software)
Code break (hardware)
Code break (hardware/count)
Data break
Code event break
Data event break
Trace buffer-full break
Alignment error break
External trigger break
Forced break
Datawatch break (hardware)
Datawatch break (software)
DSU
Adapter
FR60Lite
FR80S
❍
❍
✕
✕
❍
❍
❍
❍
❍
❍
✕
❍
❍
❍
✕
✕
❍
❍
❍
❍
❍
❍
✕
❍
❍
❍
❍
❍
✕*
✕*
❍
❍
❍
❍
❍
❍
❍
❍
❍
❍
✕
✕
❍
❍
❍
❍
✕
❍
*: FR60Lite does not support these functions because they are enhanced by "Code Break (Hardware/
count)", "Sequencer (31evels+restart)", and "Trace Trigger".
110
CHAPTER2 Dependence Functions
2.3.4.1
Code Break
This function aborts the program execution by monitoring a specified address by
hardware or software.
A break occurs before executing an instruction at the specified address.
■ Code Break
This function aborts the program execution by monitoring a specified address by hardware or software.
A break occurs before executing an instruction at the specified address.
Hardware has the hardware/count for which a path count can be set.
The maximum number of points that can be set is as follows:
Hardware:
5 points
Hardware/count:
2 points
Software:
4096 points
When the code break occurs, the following message appears at the status bar.
- Hardware, hardware/count
Break at address by hardware breakpoint
- Software
Break at address by breakpoint
■ How to set
Set the code break as follows.
• Command
- SET BREAK/HARD (hardware)
- SET BREAK/SOFT (software)
- SET BREAK/COUNT (hardware/count)
Refer to "3.1 SET BREAK (type 1)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Code" tab in breakpoint setting dialog
Refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
• Window
Source window/disassemble window
Refer to "3.7 Source Window" or "3.9 Disassemble Window" in "SOFTUNE Workbench Operation
Manual".
If the user sets data monitoring conditions, the hardware and hardware/count can be used as data watch
break.
For the data monitoring conditions, see "2.3.4.9 Data Watch Break".
111
CHAPTER2 Dependence Functions
Notes:
Hardware
The hardware break requires the following cautions:
• Do not set any hardware break in a instruction placed in a delay slot. When the hardware break
is set in the instruction, a branch does not occur even if the program is reexecuted after break.
• Be sure to set a breakpoint at the starting address of the instruction. A break may not occur if an
address other than the starting address is specified.
• When the program is executed from the address at which a hardware break is set, a break occurs
without executing the instruction if the immediately preceding program execution is stopped by a
factor other than the instruction break. To execute the instruction, reexecute the program.
Software
The software break requires the following cautions:
• A breakpoint cannot be set in any area, such as ROM, where data cannot be written properly.
In this case, a verify error occurs when program execution is started (continuous execution or
stepwise execution is started).
• Be sure to set a breakpoint at the starting address of the instruction. If a breakpoint is set during
instruction execution, the program may malfunction.
Hardware/count
The hardware/count break requires the following caution:
• The hardware/count break can be used only when the FR60Lite or FR80S is used. For details,
see "2.3.4 Break".
• The pass count increases just by fetching an instruction of a break address.
112
CHAPTER2 Dependence Functions
2.3.4.2
Data Break
This function aborts the program execution when a data access (read/write) is made to
a specified address.
■ Data Break
This function aborts program execution when a data access (read/write) is made to a specified address. Up
to two breakpoints can be set.
When the data break occurs, the following message appears at the status bar.
Break at address by data break at access address
■ How to set
Set the data break follows:
• Command
- SET DATABREAK
Refer to "3.9 SET DATABREAK (type 2)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Data" tab in breakpoint setting dialog
Refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
If the user sets a data monitoring condition, the data break can be used as a data watch break.
For the data monitoring condition, see "2.3.4.9 Data Watch Break".
Note:
The data break requires the following caution:
The data break can be used only when the FR60Lite or FR80S is used. For details, see "2.3.4
Break".
113
CHAPTER2 Dependence Functions
2.3.4.3
Code Event Break
This function uses breakpoints contained in the evaluation chip. The address mask,
pass count, and sequential mode can be set.
■ Code Event Break
This function uses breakpoints contained in an evaluation chip. The address mask and pass count can be
set. Up to two breakpoints can be set and used in two modes.
1. OR mode (if a hit is found in either code event 1 or 2, a break occurs)
2. Sequential mode (if a hit is found in code events 1 and 2 in this order, a break occurs)
When the code event break occurs, the following message appears at the status bar.
1. OR mode
Break at address by code event break (No.: Code event number)
2. Sequential mode
Break at address by code event break (sequential)
■ How to set
Set the code event break as follows.
• Command
- SET CODEEVENT
- SET SEQUENCE/ON (only in sequential mode)
Refer to "3.19 SET CODEEVENT" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Code" tab in event setting dialog
Refer to "4.6.5 Event" in "SOFTUNE Workbench Operation Manual".
Only in the OR mode, if the user sets a data monitoring condition, the code event break can be used as a
data watch break.
For the data monitoring condition, see "2.3.4.9 Data Watch Break".
114
CHAPTER2 Dependence Functions
Notes:
• In the DSU3 chip, the code event can be used as a break factor and a trace measurement start
factor. This mode is called a trace sampling mode. There are two trace sampling modes.
- Full mode: The code event is used as a break factor.
- Trigger mode: The code event is used as a trace measurement start factor.
To use the code event as a break factor, set the full mode.
Set as follows:
Command
- SET TRACE/FULL
Refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command Reference Manual".
Dialog
- Trace setting dialog
Refer to “4.4.8 Trace” in "SOFTUNE Workbench Operation Manual".
• This function cannot be used when the FR60Lite is used. For details, see "2.3.4 Break".
115
CHAPTER2 Dependence Functions
2.3.4.4
Data Event Break
This function uses breakpoints contained in the evaluation chip. The address mask,
data size, access type, and sequential mode can be set.
■ Data Event Break
This function uses breakpoints contained in the evaluation chip. The address mask, data size (byte/half
word/word), and access attributes (read/write) can be set.
Up to two breakpoints can be set and used in two modes.
• OR mode (if a hit is found in either data event 1 or 2, a break occurs)
• Sequential mode (if a hit is found in data events 1 and 2 in this order, a break occurs)
When the data event break occurs, the following message appears at the status bar.
• OR mode
Break at address by data event break (No.: Data event number)
• Sequential mode
Break at address by data event break (sequential)
■ How to set
Set the data event break as follows.
• Command
- SET DATAEVENT
- SET SEQUENCE/ON (only in sequential mode)
Refer to "3.24 SET DATAEVENT" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Data" tab in event setting dialog
Refer to "4.6.5 Event" in "SOFTUNE Workbench Operation Manual".
Only in the OR mode, if the user sets a data monitoring condition, the data event break can be used as a
data watch break.
For the data monitoring condition, see "2.3.4.9 Data Watch Break".
116
CHAPTER2 Dependence Functions
Notes:
• In the DSU3 chip, the data event can be used as a break factor and a trace measurement start
factor. This mode is called a trace sampling mode. There are two trace sampling modes.
- Full mode: The data event is used as a break factor.
- Trigger mode: The data event is used as a trace measurement start factor.
To use the data event as a break factor, set the full mode.
Set as follows:
Command
- SET TRACE/FULL
Refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command Reference Manual".
Dialog
- Trace setting dialog
Refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
• This function cannot be used when the FR60Lite is used. For details, see “2.3.4 Break”.
117
CHAPTER2 Dependence Functions
2.3.4.5
Trace Buffer-full Break
This function aborts the program execution when the trace buffer becomes full.
■ Trace Buffer-full Break
This function aborts the program execution when the trace buffer becomes full.
When the trace buffer-full break occurs, the following message appears at the status bar.
Break at address by trace buffer full
■ How to set
Set the trace buffer-full break as follows.
• Command
- SET TRACE/BREAK
Refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
- Trace setting dialog
Refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
118
CHAPTER2 Dependence Functions
2.3.4.6
Alignment Error Break
This function aborts the program execution when an instruction access or a word/half
word access beyond the boundary is made to the odd address.
■ Alignment Error Break
This function aborts the program execution when an instruction access or a word/half word access beyond
the boundary is made to the odd address. Whether to enable or disable the alignment error break can be set
for both instruction access and data access.
When the alignment error break occurs, the following message appears at the status bar.
• Instruction access
Break at address by alignment error break (code)
• Data access
Break at address by alignment error break (data).
■ How to set
Set the alignment error break as follows.
• Command
- ENABLE ALIGNMENTBREAK
- DISABLE ALIGNMENTBREAK
Refer to "3.37 ENABLE ALIGNMENTBREAK" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Emulation" tab in debug environment setting dialog
Refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
119
CHAPTER2 Dependence Functions
2.3.4.7
External Trigger Break
This function aborts the program execution when an external signal is input from the
TRIG of the Emulator.
■ External Trigger Break
This function aborts the program execution when an external signal is input from the TRIG of the
Emulator.
When the external trigger break occurs, the following message appears at the status bar.
Break at address by external trigger break
■ How to set
Set the external trigger break as follows.
• Command
- SET TRIGGER
Refer to "3.35 SET TRIGGER" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Emulation" tab in debug environment setting dialog
Refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
120
CHAPTER2 Dependence Functions
2.3.4.8
Forced Break
This function forcibly aborts the program execution to generate a break.
■ Forced Break
This function forcibly aborts the program execution to generate a break.
When the forced break occurred, the following message appears at the status bar.
Break at address by command aborts request
■ How to Generate
A forced break is generated in the following methods:
• Menu
[Debug] - [Abort] menu
See "4.6.2 Abort" in "SOFTUNE Workbench Operation Manual".
• Command
- ABORT
See "2.2 ABORT" in "SOFTUNE Workbench Command Reference Manual".
Note:
The forced break cannot be generated when the MCU is the low power consumption mode or in the
hold state. If the MCU is in low power consumption mode or in the hold state when the strong break
is requested by the [Debug]-[Abort] menu during the program execution, the [Debug]-[Abort] menu is
ignored. To generate a break forcibly, used the [Debug]-[Abort] menu to remove a factor by the user
system or use the [Debug]-[Reset of MCU] menu to remove it. If the MCU enters the low power
consumption mode or the hold state during the program execution, the condition is displayed at the
status bar.
121
CHAPTER2 Dependence Functions
2.3.4.9
Data Watch Break
This special break function suspends program execution when the program reaches a
specified address where specified data matches. Use conditions vary depending on the
connection state of the Emulator.
■ Data Watch Break
This special break function suspends program execution when the program reaches a specified address
where specified data matches. There are two patterns of software and hardware.
The figure below shows the conditions of data watch break.
Data Area
Program flow
Specified
instruction
address
When data does not match,
no break occurs.
Specified
instruction
address
Data match
When data matches,
a break occurs.
■ Setting Number
The maximum number of data watch breaks to be set is calculated as follows. The number of breaks set
and the break conditions differ between hardware and software.
• Data watch break (hardware)
The break conditions are set by the address and data. Up to four breakpoints can be set. The number of
break to be set fluctuates because they are used with "Sequencer" and/or "Trace Trigger".
• Data watch break (software)
The break conditions can be specified by the address register and offset. These are additional conditions
to "Hardware Break", "Code Event Break", and "Data Event Break". All "Data Monitoring Conditions"
to be specified become the same.
122
CHAPTER2 Dependence Functions
■ How to set
Set the data watch break as follows.
• Data watch break (hardware)
• Command
- SET BREAK/DATAWATCH
• Dialog
"Code" tab in breakpoint setting dialog
• Data watch break (software)
• Command
- SET BREAKCONDITION
- SET BREAK/BREAKCONDITION
• Dialog
"Data Watch Conditions" in breakpoint detail setting dialog
Notes:
Data watch break (hardware)
• This function can be used only when the FR60Lite is used. For details, see "2.3.4 Break".
• This function cannot be used when the performance mode is set as the event mode. For details,
refer to "1.6 SET MODE" in "SOFTUNE Workbench Command Reference Manual".
Data watch break (software)
• When setting data watch break (software), the monitoring function cannot be used.
123
CHAPTER2 Dependence Functions
2.3.5
Control by Sequencer
The emulator debugger for the MB2198 have a sequencer that controls events. By
using this sequencer it is possible to exercise break control while focusing on a certain
program flow (sequence). The break generated by this function is called a sequential
break.
■ Control by Sequencer
The emulator debugger can have two types of sequencers depending on whether the external trace bus
interface is provided for evaluation chips. The specifications for the two types of sequencers are
summarized in Table 2.3-4 and Table 2.3-5 .
Table 2.3-5 shows the basic sequencer that is incorporated in all the DSU3/DSU4 evaluation chips. This
type of sequencer is subdivided into a code event sequencer and data event sequencer. This function
cannot be used only when the FR60Lite is used.
Table 2.3-4 shows a 3-level sequencer based on the real-time monitoring bus interface. Level changes
occur sequentially from Level 1 through Level 2 to Level 3. One event can be specified as a sequencer
restart condition.
This function can be used only when the FR60Lite or FR80S is used.
Table 2.3-4 Sequencer Specifications (common)
Function
Specifications
Number of levels
2 levels
One-level conditions
Event-1 conditions (A pass count setting of 1 to 255
can be specified for each condition.)
Restart conditions
None
Operation performed when conditions established
Branching to next level or terminating sequencer
Other function
The OR conditions can be specified separately for
code events and data events.
Table 2.3-5 Sequencer Specifications (Real-time Monitoring Bus Interface Only)
Function
124
Specifications
Number of levels
3 levels + restart conditions
One-level conditions
Event -1 conditions (A pass count setting of 1 to
16,777,215 can be specified for each condition.)
Restart conditions
Event -1 conditions (A pass count setting of 1 to
16,777,215 can be specified.)
Operation performed when conditions established
Branching to any level or terminating sequencer
CHAPTER2 Dependence Functions
The sequencer operates as shown below when it uses the real-time monitoring bus interface:
[Setup Example]
>SET SEQUENCE 1.3.2, r=4
Events 1, 3, and 2 are specified respectively for Levels 1, 2, and 3. Event 4 is specified as a restart
condition.
Start
Level 1
Event 1
NO
YES
YES
Event 4
NO
Level 2
Event 3
NO
YES
YES
Event 4
NO
Level 3
Event 2
NO
YES
Break
■ Setting Sequencer
The sequencer can be set by the dialog or the command.
● Setting by dialog
Select [Debug] - [Sequence] menu.
For details, refer to "4.6.6 Sequence" in "SOFTUNE Workbench Operation Manual".
● Setting by Command
1. The event is set according to the SET EVENT command.
2. The event set by the SET SEQUENCE command is set as a sequence.
For details, refer to "3.15 SET EVENT" or "3.31 SET SEQUENCE (type2)" in "SOFTUNE Workbench
Command Reference Manual".
125
CHAPTER2 Dependence Functions
Note:
Sequencer (Only Real-time Monitoring Bus Interface)
1. This function can be used only when the evaluation chip is the FR60Lite or FR80S.
When FR80S is used, however, this function is valid only if the internal RAM space is allowed for
write access.
2. There are cases when the actual code execution order and the data hit information order are
switched, depending on the output timing of the external trace data.
For that reason, if a code event and data event are closed, there are cases in which normal
transition is impossible.
3. This function cannot be used when the performance mode is set as the event mode.
For details, refer to "1.6 SET MODE" in "SOFTUNE Workbench Command Reference Manual".
126
CHAPTER2 Dependence Functions
2.3.6
Measuring Execution Cycle Count
This function measures the program execution time.
■ The measuring item
Measures program execution time and cycle count.
The resolution of the execution time is 25ns, and up to "(2 to the power of 64 - 1) x 25ns" can be measured.
Also, the maximum number of cycles that can be measured is "2 to the power of 64 - 1", in other words, up
to 18,446,744,073,709,551,615 cycles.
The measurement is performed whenever a program is executed, and the measurement result displays the
following two values:
• Number of cycles spent on the previous program execution
• Total number of cycles executed since the previous clearing
■ Displaying Measurement Results
Either of the following methods can be used to display the measurement results.
1. Display by dialog
The results appear in the time measurement dialog, which can be displayed by selecting [Debug] –
[Time Measurement] menu.
2. Display by command
Enter the SHOW TIMER command in the command window.
■ Clearing Measurement Results
Either of the following methods can be used to clear the measurement results.
1. Operation by dialog
Click the [Clear] button in the time measurement dialog, which can be displayed by selecting [Debug] –
[Time Measurement] menu.
2. Clearing by command
Enter the CLEAR TIMER command in the command window.
■ Error
The number of measurement cycles includes an error of about 20 cycles. In the Real-time mode or Full
Trace mode, it has additionally an error of about at most (*1) cycles. For time measurement, use the
Internal Trace mode or External Trace mode, which has less error.
*1: Autowait 1 : +1250
Autowait 3 : +2500
Autowait 7 : +5000
Autowait 15 : +10000
Note:
Execution cycle counts are measured in several tens of cycles at one execution. When measuring
execution cycles, set for consecutive executions of many instructions to decrease the efficacy of
errors.
Execution time as well as execution cycle are measured in several tens of cycles.
127
CHAPTER2 Dependence Functions
2.3.7
Trace
This section explains the trace function.
■ Trace Buffer
One data unit stored in the trace buffer is called a frame.
The trace buffer capacity varies with the operation mode as shown below:
Table 2.3-6 Number of frames in MB2198 trace buffer
MCU operation mode
DSU3
DSU4
Full trace
64Kbyte
256Kbyte
Real time
64Kbyte
256Kbyte
Internal trace
64 to 512 frames
64 to 512 frames
External trace
65536 frames
65536 frames
Remarks
Varies depending on the
evaluation chip used.
The trace buffer is in the form of a ring. When it becomes full, it records the next data by automatically
overwriting the oldest buffered data.
■ Trace Data
Data sampled by the trace function is called trace data.
The following data are sampled:
• Address (32 bits)
• Data (32-bit; during data access only)
• Status Information
- Data type: Instruction execution/read/write
- Access data size (during data access only): Word/halfword/byte
• Access status Size: Read/write/code
• Execution time difference from next frame (in 25 ns increments)
- This data is available only when an evaluation chip with the external trace bus interface is used with
the external trace mode.
However, actually, the trace buffer stores the following data items:
- Code execution: Only address information for time before and after branching
- Data access:
128
Only information for access to address range specified by trace filter function
CHAPTER2 Dependence Functions
Notes:
1. The execution time display function is available only when a DSU4 evaluation chip with the
external trace bus interface is used. Furthermore, since the execution time is stored in the trace
memory on the adapter unit, measurements cannot be made in the external trace mode in which
the memory is used for trace data storage.
2. This function cannot be used when the performance mode in set as the event mode.
Refer to "1.6 SET MODE" in "SOFTUNE Workbench command Reference Manual".
3. When the MCU operation mode is set to "external trace mode" in FR80S, only the data writeaccessed in the built-in RAM area is stored in the trace buffer.
■ Frame Number
A number is assigned to each frame of sampled trace data. This number is called a frame number.
The frame number is used to specify the display start position of the trace buffer. The value 0 is assigned
to trace data at the triggering position for sequencer termination. Negative values are assigned to trace data
sampled before the arrival at the triggering position (Figure 2.3-1 ).
If there is no triggering position for sequencer termination, the value 0 is assigned to the last-sampled trace
data.
Figure 2.3-1 Frame Numbering at Tracing
.
.
.
.
-3
-2
-1
0 (Triggering position)
■ Trace Filter
To make effective use of the limited trace buffer capacity, in addition to the code fetch function, a trace
filter function is incorporated to provide a means of acquiring information about data accesses to a specific
region.
The data trace filter function allows the following values to be specified for data access area.
In DSU4, code can be specified as an access attribute.
- Address
- Address mask
- Access attribute (read/write/code)
129
CHAPTER2 Dependence Functions
■ Setting Trace Trigger
When preselected conditions are met while monitoring the MCU bus operation, a trigger to start a trace can
be generated. This function is called a trace trigger.
To use the trace trigger function, specify the code (/CODE) and data access (/READ/WRITE).
Up to 4 trace triggers can be preset each for code attribute and data access attribute. However, actually, the
maximum number of trace triggers is determined as indicated below because common hardware is shared
with events.
Current trace trigger maximum count setting = 4 –
(current event count setting + current data watch break count setting)
Table 2.3-7 shows the trace trigger setup conditions that can be defined:
Table 2.3-7 Trace Trigger Setup Conditions
Condition
Description
Address
Memory location (Address bits can be masked.)
Data
32-bit data (Data bits can be masked.) Not applicable to codes
Access size
Byte, halfword, or word
Status
Code/data read or data write (selectable)
For trace trigger setup, use the following commands:
• SET TRACETRIGGER : Trace trigger setup
• CANCEL TRACETRIGGER : Trace trigger deletion
• SHOW TRACE/STATUS : Trace setup display
Figure 2.3-2 Trace Sampling Control (Trace Trigger)
Start
Suspend
Resume
Suspend
Resume
Suspend
Program flow
Trace buffer
130
CHAPTER2 Dependence Functions
Note:
Trace Trigger
•
This function can be used only when FR60Lite or FR80S is used.
When FR80S is used, however, this function is valid only if the internal RAM space is allowed for
write access.
• If a trace trigger is set, the trace cannot be acquired until the trace starting trigger occurs.
Disassembling and source are displayed in the trace from the jumps destination address of the
branch instruction executed after the trace starting trigger has occurred. Also, the branch
instruction address executed just prior to the trace ending trigger is displayed in the trace.
•
There are cases when the actual code execution order and the data hit information order are
switched, depending on the output timing of the external trace data.
For that reason, if a code event and data event are closed, there are cases in which trace data
can't be got normally.
131
CHAPTER2 Dependence Functions
2.3.7.1
Display Format of Trace Data
There are three formats for displaying trace buffer data.
■ Display Format of Trace Data
• Display Only Instruction Operation
(Specify Instruction)
• Display Bus Cycles
(Specify RAW data)
• Display by Unit of Source Lines
(Specify Source)
■ Display Only Instruction Operation
In this mode, the instruction operation is displayed in disassembly units.
■ Display Bus Cycles
In this mode, detailed information on all sampled instruction fetch cycles and data access cycles is
displayed.
■ Display by Unit of Source Lines
This mode only displays source lines.
132
CHAPTER2 Dependence Functions
2.3.7.2
Saving Trace Data
The debugger has function of saving trace data.
■ Saving Trace Data
Save the trace data to the specified file.
For details on operations, refer to Sections "3.14 Trace Window", and "4.4.8 Trace" in "SOFTUNE
Workbench Operation Manual"; and Section "4.9 Show Trace" in "SOFTUNE Workbench Command
Reference Manual".
133
CHAPTER2 Dependence Functions
2.3.7.3
Notes on Use of Tracing Function
This section describes the precautions to observe when displaying or searching for
trace data.
■ Notes on Trace Function
When the emulator debugger is in use, tracing is enabled by the following:
• Output address information at fetching branch instruction
For these reasons, note the following points when displaying and searching trace data
• Since address information is not output immediately after executing a program until the branch
instruction being executed, trace data may not be established on the program executing side.
• When displaying disassembly, data is read from memory and processed. Therefore, the displayed data
may not be correct if the instruction is rewritten after code fetching.
• When specifying a starting frame number for searching data, an instruction longer than 2 bytes (LDI:
32, LDI: 20 instructions) may not be displayed correctly when the instruction starting address is not
specified.
• In the real-time mode, partial omission of trace data may occur under the following conditions (Output
trace omission information instead) because of the real-time operation.
- When branching occurs more than three times within 11 cycles.
- When data tracing occurs more than three times in succession.
• The address is not displayed until the first branching information is found, because the trace data
immediately before starting execution has been overwritten.
• If a break occurs under conditions such as the following combination of break points has been set up in
sequence at continuous addresses (code addresses of factors in case of data event), the trace data
immediately before the break is not displayed correctly.
- When break points set in sequence from software break to either one of I-group breaks at continuous
addresses.
- When break points set in sequence from either one of I-group breaks to either one of I-group breaks
at continuous addresses.
Reference:
The I-group breaks here means the following breaks:
• Hardware break
• Code event break
• Data event break
This occurs because the address next to the actual break factor address is detected as a break
cause simply by such next address being pre-fetched.
134
CHAPTER2 Dependence Functions
• When displaying valid pass cycles or instruction, the omitted trace data frame is displayed as follows:
*** Address Lost Error ***
Frame where address at code fetching could not be sampled.
• At step execution by a single instruction, trace data may not be sampled correctly for each single
instruction execution. If this happens, *** Address Lost Error *** is displayed.
135
CHAPTER2 Dependence Functions
2.3.8
Measuring Performance
It is possible to measure the time and pass count between two events. Repetitive
measurement can be performed while executing a program in real-time, and when done,
the data can be totaled and displayed.
Using this function enables the performance of a program to be measured. To measure
performance, set the event mode to the performance mode using the SET MODE
command.
■ Performance Measurement Function
The performance measurement function allows the time between two event occurrence to be measured and
the number of event occurrences to be counted. Up to 32767 event occurrences can be measured.
• Measuring Time
Measuring time interval between two events.
Events can be set at 4 points (1 to 4). However, in the performance measurement mode, the intervals,
starting event number and ending event number are combined as follows. Two intervals have the
following fixed event number combination:
Interval
Starting Event Number
Ending Even Number
1
1
2
2
3
4
• Measuring Count
The specified events become performance measurement points automatically, and occurrences of that
particular event are counted.
Notes:
1. This function can be used only when FR60Lite or FR80S is used.
When FR80S is used, however, this function is valid only if the internal RAM space is allowed for
write access.
2. This function cannot be used when the trace mode in set as the event mode.
Refer to “1.6 SET MODE” in "SOFTUNE Workbench Command Reference Manual".
3. There are cases when the actual code execution order and the data hit information order are
switched, depending on the output timing of the external trace data.
For that reason, if a code event and data event are closed, the data on measuring performance
can’t be shown normally.
136
CHAPTER2 Dependence Functions
2.3.8.1
Performance Measurement Procedures
Performance can be measured by the following procedure:
• Set event mode.
• Set minimum measurement unit for timer.
• Specify performance-buffer-full break.
• Set events.
• Execute program.
• Display measurement result.
• Clear measurement result.
■ Setting Event Mode
Select [Setup]-[Debug Environment]-[Debug Environment] - [Event] tab or use the SET MODE command
to set the event mode to the performance mode.
[Example]
>SET MODE/PERFORMANCE
>
■ Setting Minimum Measurement Unit for Timer
Measuring unit of timer to be used for performance measurement is 1ns. Also, resolution of measurement
data is 25ns.
■ Setting Performance-Buffer-Full Break
When the buffer for storing performance measurement data becomes full, a execution program can be
broken. This function is called the performance-buffer-full break. The performance buffer becomes full
when an event occurs 65535 times.
If the performance-buffer-full break is not specified, the performance measurement ends, but the program
does not break.
[Example]
>SET PERFORMANCE/NOBREAK
←
Specifying Not Break
>
137
CHAPTER2 Dependence Functions
■ Setting Events
Set events using the SET EVENT command.
The starting/ending point of time measurement and points to measure pass count are specified by events.
Events at 4 points (1 to 4) can be set. However, in the performance measurement, the intervals, starting
event number and ending event number are fixed in the following combination.
- Measuring Time
Two intervals have the following fixed event number combination.
Interval
Starting Event Number
Ending Even Number
1
1
2
2
3
4
- Measuring Count
The specified events become performance measurement points automatically.
■ Executing Program
Start measuring when executing a program by using the GO or CALL command. If a break occurs during
interval time measurement, the data for this specific interval is discarded.
■ Displaying Performance Measurement Data
Display performance measurement data by using the SHOW PERFORMANCE command.
■ Clearing Performance Measurement Data
Clear performance measurement data by using the CLEAR PERFORMANCE command.
[Example]
>CLEAR PERFORMANC
>
138
CHAPTER2 Dependence Functions
2.3.8.2
Displaying Performance Measurement Data
Display the measured time and measuring count by using the SHOW PERFORMANCE
command.
■ Displaying Measured Time
To display the time measured, specify the starting event number or the ending event number.
Count of measuring within given time interval
Event number
>SHOW PERFORMANCE/TIME
Minimum
execution time
Maximum
execution time
event
min time
max time
avr time
=
=
=
=
1 -> 2
11637.0
17745.0
14538.0
Average
execution time
Total measuring count
1,9000,18999,1000
count
0.0
9000.0
10000.0
11000.0
12000.0
13000.0
14000.0
15000.0
16000.0
17000.0
18000.0
19000.0
8999.0
9999.0
10999.0
11999.0
12999.0
13999.0
14999.0
15999.0
16999.0
17999.0
18999.0
total
0
0
0
2
19
52
283
92
3
1
0
0
452
The lower time limit, upper time limit and display interval can be specified. The specified time v
TIMERSCALE command, and in 100 ns when
the minimum is set to 100 ns.
>SHOW PERFORMANCE/TIME
event
= 1 -> 2
min time = 11637.0
max time = 17745.0
avr time = 14538.0
Lower time limit for display
Upper time limit for display
1,13000,16999,500
count
0.0
13000.0
13500.0
14000.0
14500.0
15000.0
15500.0
16000.0
16500.0
17000.0
total
12499.0
13499.0
13999.0
14499.0
14999.0
15499.0
15999.0
16499.0
16999.0
17499.0
21
13
39
121
162
76
16
2
1
1
452
139
CHAPTER2 Dependence Functions
2.3.9
Real-time Monitoring
This section explains the real-time monitoring function.
■ Command execution during program execution
The real-time monitoring function updates the memory content in real time during program execution and
displays it in a window.
This emulator debugger is provided with a real-time memory window that can display two 256-byte areas
for real-time monitoring. The real-time memory window comes with functions to read and display data
from the actual memory before program execution (a copy function) and display overwritten data in red.
■ How to set
The following method is used to set real-time memory areas
● Command
• SET REALTIMEMEMORYAREA
Refer to "1.47 SET REALTIMEMEMORYAREA" in "SOFTUNE Workbench Command Reference
Manual".
● Dialog
• "Realtime memory area" tab in debug environment setup dialog
Refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
Note:
The real-time monitoring function has the following restrictions:
•
It cannot be used unless the external trace function is available.
The external trace function may not be used depending on the specification of the adapter board.
Check your adapter board specification.
• When FR80S is used, it can only be set for the internal RAM space.
If it is set for any space other than the internal RAM space, the data will not be updated.
140
CHAPTER2 Dependence Functions
2.3.10
Power-on Debugging
This section explains power-on debugging.
■ Power-on debugging
The MB2198 emulator provides power-on debugging function. This emulator can debug the sequence
performed immediately after target system power-on.
The power-on debugging procedure is described below:
1. Set the DIP switch on the adapter board mounted in the upper section of the emulator.
2. Power on the target board and emulator main unit.
3. Launch Workbench to start debugging.
- For debugging, set hardware breaks, etc.
4. To start power-on debugging, choose [Debug]-[Run]-[Power On Debug] menu.
Input the lower volt in the power supply voltage setting dialog.
- The status bar then displays "PON".
5. Run the program.
6. Power the target board off while running and then power on again.
7. Execute debugging.
8. To quit power-on debugging, choose [Debug]-[Run]-[Power On Debug] menu.
Notes:
• The following condition is necessary to turn the target board off for power-on debugging.
- Equal to or less than 25μs while user power supply descends from 0.9VCC to 0.5VCC
- CPU frequency must higher than 1MHz
• This function may not be used depending on the type of evaluation MCU. For details, contact
sales department or support department.
141
CHAPTER2 Dependence Functions
2.3.11
Inaccessible Area
This section explains inaccessible area by the emulator debugger for the MB2198.
■ Inaccessible area
The inaccessible area is a function that suppresses access to memory when the debugger accesses a
specified memory area (using commands, windows, etc. (*1)).
However, access to memory is not suppressed using program.
The following commands are used to set an inaccessible area.
SET MAP/INACCESSIBLE: Sets an inaccessible region.
SHOW MAP/INACCESSIBLE: Displays an inaccessible region.
CANCEL MAP/INACCESSIBLE: Deletes a specified inaccessible region.
ENABLE MAP/INACCESSIBLE: Enables a specified inaccessible region.
DISABLE MAP/INACCESSIBLE: Disables a specified inaccessible region.
(*1)
- Memory operation command
- Assemble/disassemble command
- Load/save command
- Built-in Variables and Functions (%BIT, %B, %H, %W, %L, %S, %D)
- Formula
- Trace
- Vector
- Memory window
- Source window
- Assemble window
- Watch window
- Local window
- Symbol window
■ Access to memory area including inaccessible area
When there are inaccessible regions within those that are accessed, up to memory of inaccessible region is
accessed, an error is output when the inaccessible region is reached, and access to the memory is
suspended.
142
CHAPTER2 Dependence Functions
2.3.12
RAM Checker
This section describes the function of the RAM Checker.
■ Overview
The RAM Checker obtains the access history of the monitoring address log in the SOFTUNE
Workbench, and displays the log file graphically using the attached tool "RAM Checker Viewer".
The SOFTUNE Workbench has the following functions:
- Up to eight points monitoring addressed available
- Logs data access history of monitoring address at 1ms intervals
- Monitors monitoring address at 100ms intervals
■ RAM Checker window
Newly-added debug window "RAM Checker" in the SOFTUNE Workbench allows logging/monitoring of
the monitoring address. For details on how to operate the RAM Checker window, refer to Section "3.18
RAM Checker Window" in "SOFTUNE Workbench Operation Manual".
■ Operation requirements
The RAM Checker operates under the following conditions:
- CPU:
FR60Lite or FR80S
- Emulator:
MB2198
- Adaptor board:
Has the external trace function.
- Communication device:
USB
- Setting of debug mode:
RAM Checker mode
Notes:
• The RAM Checker cannot be used in any of the following conditions:
- When the emulator is MB2197
- When the communications device is RS/LAN
• When FR80S is used, this function is valid only if the internal RAM space is allowed for write
access.
143
CHAPTER2 Dependence Functions
■ Specification list
Table 2.3-8 RAM Checker Specification List
Numbers for monitoring points
8 points
Size
byte/halfword/word
Event function
Max 4 points
Sampling rate
1ms (fixed)
Updating interval
100ms (fixed)
Type of log file
SOFTUNE style or CSV style
- SOFTUNE format
When displaying using the RAM Checker Viewer (SOFTUNE format recommended) Default
extension is ".SRL".
- CSV format
When other than the RAM Checker Viewer. The default extension is ".CSV".
Note:
The CSV format requires about four times the data size required for the SOFTUNE format.
■ Using the RAM Checker
To use the RAM Checker, set the monitoring point, log file, and logging state by GUI or
commands.
- GUI
On shortcut menu [Setting ...] on the RAM Checker window, set the monitoring point.
On shortcut menu [File specification ...] on the RAM Checker window, set the log file.
Check shortcut menu [Logging start ...] on the RAM Checker window, to enable
the logging status of the RAM Checker.
- Commands
Use the SET RAMCHECK command to set the monitoring point.
Use the SET RAMCHECK command to set the log file.
Use the ENABLE RAMCHECK command to enable the logging status of the RAM Checker.
When the program is stopped after executing the program with these items set, a log file is generated.
When the program is executed again, the log file is overwritten.
Note:
When file overwrite control is enabled by file setting on GUI, the log file is saved using "save as"
every time the program is executed instead of being overwritten.
For details on settings of the RAM Checker, refer to Section "3.18 RAM Checker Window" in "SOFTUNE
Workbench Operation Manual" and Sections "4.24 SET RAMCHECK" to "4.28 "DISABLE RAMCHECK"
in "SOFTUNE Workbench Command Reference Manual".
144
CHAPTER2 Dependence Functions
■ Memory access during logging
During program execution, the emulator debugger reads/writes memory after causing MCU break once to
access, and then reexecuting the program. Therefore, when the emulator debugger accesses memory, it
cannot get a log at the time of the memory access correctly.
To prevent this, during logging, do not perform operation involving memory access (such as SET
MEMORY/SHOW MEMORY command operation and memory window operation).
Note:
During logging, MCU running states of the Stop mode and the Sleep mode, etc. cannot be displayed
in the status bar.
■ Log file
The following restriction is placed on the creatable log file size due to the file system to which the log file
is stored:
FAT:
Up to 2GB
FAT32:
Up to 4GB
NTFS:
No restriction
Others:
No restriction
When the file system is FAT or FAT32 and if the file size exceeds its limitation, the file name is changed
and logging continues.
Note:
When the log file exists already at this point, the log file is overwritten.
Operation example
If the file size exceeds its limitation, the log file is made as
filename.srl → filename#1.srl
If the file size exceeds its limitation again, the log file is made as
filename#1.srl →
filename#2.srl
•
•
filename#N-1.srl →
filename#N.srl
Notes:
1. Only internal HDD is supported for the log file storage destination. Network, external HDD and
external disk (such as CD, DVD and MO) are not supported for the log file storage destination.
2. Storing the log file of the RAM Checker requires free disk space of 500MB or greater. When free
disk space is less than 500MB, logging stops.
145
CHAPTER2 Dependence Functions
■ RAM Checker Viewer
The RAM Checker Viewer is a tool to graphically display the data value that changes as time
goes by. It displays data value in the following three formats:
- Bit display (image of Logic Analyzer)
- Data value display (line graph)
- Bit/data value display (simultaneous display of bit and data value)
Other display information includes CPU stop, trigger point, and data lost.
Regarding CPU stop, the STOP mode in a low power consumption mode and the power-off state while
using the power-on debug function are recorded in the log.
Trigger point uses event hit of the SOFTUNE Workbench. To use the trigger point, set events in the
SOFTUNE Workbench. When an event hits, its information is recorded in the log.
Data is lost due to the following two types of factors:
- Hardware
The emulator usually gets the RAM data access history at 1ms intervals. If data access
occurs to the same address twice or more within 1ms, the emulator gets only the data accessed last.
Data lost due to hardware indicates that data access is performed multiple times.
- Software
The SOFTUNE Workbench usually gets data from the emulator at 100ms intervals. However, it may
not get data due to the effect of other applications, etc. at 100ms intervals. In this case, although data
cannot be displayed partially, the disabled time slot is displayed graphically.
Note:
When logging stops due to break or execution stop, data lost due to software may be displayed for
1ms to 15ms at the end of the log. This occurs because the log after program execution stops is
obtained until logging stops, and so it is not an actual data lost. For details on the RAM Checker
Viewer, refer to "RAM Checker Viewer Manual" (FswbRView.pdf) or online help information.
146
CHAPTER2 Dependence Functions
2.3.13
Checking Debugger Status
This section explains how to check information about the MB2198 emulator debugger.
■ Debugger Information
This emulator debugger enables you to check the following information at startup.
• SOFTUNE Workbench file information
• Hardware information
If any errors have been discovered during SOFTUNE Workbench operations, check this information and
contact our sales department or support department.
■ How to Check
Use one of the following methods to check debugger information.
• Command
- SHOW SYSTEM
Refer to Section "1.12 SHOW SYSTEM" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
- Version information dialog
Select [Help] - [Version Information] menu.
For details, refer to Section "4.9.3 Version Information" in "SOFTUNE Workbench Operation
Manual".
■ Displayed Contents
FR Family SOFTUNE Workbench VxxLxx
ALL RIGHTS RESERVED,
COPYRIGHT(C) FUJITSU MICROELECTRONICS LIMITED 1997
LICENCED MATERIAL PROGRAM PROPERTY OF FUJITSU MICROELECTRONICS LIMITED
=======================================================
Cpu information file path: CPU information file path
Cpu information file version: CPU information file version
=======================================================
Add in DLLs
------------------------------------------------------SiCmn
Product name: SOFTUNE Workbench
File Path: SiC911.dll path
Version: SiC911.dll version
---------------------------SiiEd
File Path: SiiEd3.ocx path
147
CHAPTER2 Dependence Functions
Version: SiiEd3.ocx version
------------------------------------------------------SiM911
Product name: SOFTUNE Workbench
File Path: SiM911.dll path
Version: SiM911.dll version
---------------------------Language Tools
- FR Family SOFTUNE C/C++ Compiler version
File Path: fcc911s.exe path
- FR Family SOFTUNE Assembler version
File Path: fasm911s.exe path
- FR Family SOFTUNE Linker version
File Path: flnk911s.exe path
- FR Family SOFTUNE Librarian version
File Path: flib911s.exe path
- SOFTUNE FJ-OMF to S-FORMAT Converter version
File Path: f2ms.exe path
- SOFTUNE FJ-OMF to INTEL-HEX Converter version
File Path: f2is.exe path
- SOFTUNE FJ-OMF to INTEL-EXT-HEX Converter version
File Path: f2es.exe path
- SOFTUNE FJ-OMF to HEX Converter version
File Path: f2hs.exe path
------------------------------------------------------SiOsM
Product name: Softune Workbench
File Path: SiOsM911.dll path
Version: SiOsM911.dll version
------------------------------------------------------FR Series Debugger DLL
Product name: SOFTUNE Workbench
File Path: SiD911.dll path
Version: SiD911.dll version
----------------------------
148
Debugger type
: Current debugger type
MCU type
: Currently selected target MCU
VCpu dll name
: Path and name of the currently used VCpu dll
VCpu dll version
: Version of the currently used virtual debugger DLL
CHAPTER2 Dependence Functions
DSU type
: Currently used DSU type
Common version
: Version of monitor (common)
Monitor version
: Version of monitor (dependent)
Configuration board ID
: Configuration board ID
Configuration board version : Configuration board version
MCU frequency
: Operating frequency
Communication device
: Device type
Baud rate
: Baud rate (at RS connection)
Host name
: LAN host name (at LAN connection)
REALOS version
: REALOS version
------------------------------------------------------SiIODef
Product name: Softune Workbench
File Path: SiIODef.dll path
Version: SiIODef.dll version
=======================================================
Current path: Path of the currently used project
Language: Currently used language
Help file path: Help file path
149
CHAPTER2 Dependence Functions
2.4
Emulator Debugger (MB2100-01)
This section describes the emulator debugger functions that are available when the
MB2100-01 is specified.
■ Features of Emulator Debugger for MB2100-01
The emulator debugger for MB2100-01 has the following features:
● Real-time control
The following operations can be controlled during the execution of the user program:
• Manipulation of memory content (reading/writing, search, comparison, filling, transfer)
• Setting/cancellation of events
• Setting/cancellation of trace mode
● FLASH support
Similar to the RAM area, data can be downloaded to FLASH memory as well as read/written from the
memory window.
● Multifunctional events
Events can be used in the following seven functions:
• Code break (hardware)
• Code break (hardware/count)
• Data break
• Data watch break
• Sequence
• Trace trigger
• Performance trigger
The number of points that can be set varies depending on the function and model.
● Inhibiting transition to standby mode
This function inhibits the transition to the standby mode before it is attempted when starting the debugger.
150
CHAPTER2 Dependence Functions
2.4.1
Starting debugging
This section describes the method of starting debugging by with the use the MB2100-01
emulator debugger.
■ Starting Debugging
When starting debugging, select the [Debug] - [Start debug] menu. When debugging is started by a new
project, the setup wizard for performing initial setting is activated. For details, refer to "4.7.2.5 Setup
Wizard" in "SOFTUNE Workbench Operation Manual".
■ Verification Items When Starting Debugging
When starting debugging, perform checking for initial settings. When an item of initial setting is not
correct, debugging cannot be started.
1. MB number
Verify whether a MB number selected in the event of project creation matches a target for actual use.
Ensure that a MB number corresponding to the target is selected.
A MB number of a project can be verified through any one of the following:
• Status bar
• [MCU] tab in the setting dialog of the project
For details, refer to "4.5.5.2 MCU" in "SOFTUNE Workbench Operation Manual".
2. DEBUG I/F
Verify whether the DEBUG I/F is enabled or effective.
For details, refer to "2.4.1.1 DEBUG I/F".
3. Operating environments of the target
Verify whether the operating environment of the target has a problem.
For details, refer to "2.4.1.2 Operating Environments of the Target".
4. Security
Verify whether the security function has been enabled.
For details, refer to "2.4.1.3 Security".
151
CHAPTER2 Dependence Functions
2.4.1.1
DEBUG I/F
This section describes the method of making the DEBUG I/F of the MB2100-01 emulator
debugger effective.
■ Power-on Reset
To start the MB2100-01 emulator debugger, enable the DEBUG I/F.
Some number of methods are available for enabling the DEBUG I/F. However, for this emulator debugger,
the power-on reset is recommended.
Issue the power-on reset immediately after the start of debugging. For the issuance of the power-on reset,
refer to the hardware manual.
When the DEBUG I/F is not enabled, a message (Figure 2.4-1 ) is displayed.
Figure 2.4-1 Message Prompting Power-on Reset
Notes:
• When the source oscillation frequency specified at the time of debugger activation is not correct,
the following problems will occur:
- The DEBUG I/F in the enable state cannot be recognized.
- While the power-on reset has been issued, the DEBUG I/F cannot be enabled.
• For methods other than the power-on reset for enabling the DEBUG I/F, refer to the hardware
manual.
152
CHAPTER2 Dependence Functions
2.4.1.2
Operating Environments of the Target
This section describes the setting of the target operating environments of the MB210001 emulator debugger.
■ Operating Environments of the Target
In this emulator debugger, it is necessary to set the following items according to the operating
environments of the target.
• Source oscillation frequency
• Length of DEBUG I/F cable
These settings influence the communication speed of the debugger.
● Source oscillation frequency
Set main clock (MCLK).
The communication speed between MB2100-01 and the user system varies depending on the main clock.
● Length of DEBUG I/F cable
Specified the length of the cable that suits the length of DEBUG I/F cable.
The allowance maximum transfer rate from MB2100-01 to the direction of MCU changes according to this
length of the cable.
■ How to set
The setup wizard sets the operating environments of the target.
For details, refer to "4.7.2.5 Setup Wizard" in "SOFTUNE Workbench Operation Manual".
Figure 2.4-2 Setup Wizard (Communication Setting)
153
CHAPTER2 Dependence Functions
Notes:
• When an inputted source oscillation frequency is different from a value being actually used, the
debugger cannot be activated.
• For details on the DEBUG I/F (interface), refer to "EMBEDDED EMULATOR MB2100-01-E
OPERATION MANUAL".
154
CHAPTER2 Dependence Functions
2.4.1.3
Security
This section describes the security of the MB2100-01 emulator debugger.
■ Security
When beginning to debug it when the security function of target MCU is effective, it is necessary to enter
the password in this emulator debugger.
Refer to "Hardware manual" for the security function.
■ How to enter
When a dialog shown below is displayed, enter a preset password. The password is needs to be entered
each time the debugger is activated.
For details on the password, refer to the description of Password for OCD "On Chip Debugger" start
permission in hardware manual.
Figure 2.4-3 Debugger Connection Password
Note:
When authentification of the password has failed, the debugger cannot be activated. Turn on again
the power supply of the target to activate the debugger again.
155
CHAPTER2 Dependence Functions
2.4.2
Ending debugging
This section describes the method of ending debugging being executed with the use of
the MB2100-01 emulator debugger.
■ Ending debugging
When ending debugging, select the [Debug] - [End debug] menu.
Turn off the power supply of the target after selecting the [End debug] menu.
■ When the debugger has aborted
When the debugger has aborted for some reason, problems as described below can occur. When starting
debugging again, take corresponding countermeasures.
● The code of a software break remains on the flash memory
When a software break is set in a flash memory area, the contents of the flash memory are rewritten with
the code of the software break. When debugging has ended normally, the re-written data is reverted. If it
has ended abnormally, software break code may remain without data being reverted.
When starting the debugger, it checks whether this software break exists. If it does, the following message
appears.
"The software break set in A on B might remain."
A: A project name displayed when the debugger aborted
B: The date when the debugger aborted
When the message is displayed, download again the program to the flash memory.
● The DEBUG I/F enters the pull-up state.
When the debugger has aborted, the DEBUG I/F enters the pull-up state. When starting debugging again,
ensure that the power supply of MB2100-01 is turned on again.
Note:
A warning message related to a software break is displayed even when a project other than the
project name displayed in the message is used.
After a software break point was deleted, a warning message may be displayed even if the debugger
was ended abnormally while using another debug function.
156
CHAPTER2 Dependence Functions
2.4.3
Efficiently Executing Debugging
This section describes setting for efficient debugging.
■ Setting Operating Environment
In order to enable the user to even more comfortably execute debugging, the emulator debugger provides
the following items required to be set correspondingly to, for example, the operating environment and the
usage.
• Standard clock frequency for high-speed communication
• Debug function
Therefore, if the default value is used as it is, there is no need to change this setting. In addition, a set value
once specified is set as a default for the subsequent operation.
157
CHAPTER2 Dependence Functions
2.4.3.1
Increasing Communication Speed during Debugging
This section describes setting for increasing the communication speed during
debugging.
■ Standard Clock Frequency for High-speed Communication
In the case of this emulator debugger, when the standard clock frequency for high-speed communication is
set to the optimal value, the phase modulation mode is enabled, and high-speed communication can be
performed between the target and adapter. The standard clock frequency for high-speed communication is
different in optimal value depending on the MCU. For details, refer to the hardware manual.
■ How to set
The method of setting the standard clock frequency for high-speed communication is described below.
● Setting by dialog
Select the [Setup] - [Debug environment] - [Debug environment] menu, and then select the [Frequency]
tab.
For details, refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
● Setting by Command
Execute the SET FREQUENCY command.
For details, refer to "1.45 SET FREQUENCY" in "SOFTUNE Workbench Command Reference Manual".
Note:
If the frequency is changed during high-speed communication mode, the MCU must be reset. The
frequency is changed after a reset is updated.
158
CHAPTER2 Dependence Functions
2.4.3.2
Switching Debug Function
This section describes the method of switching the debug function correspondingly to
the usage.
■ Debug Functions
The emulator debugger allows the debug functions to be selectively used by effecting mode switching
correspondingly to the usage.
The mode has two types described below.
• Execution time mode
This mode selects the method of measuring the user-program execution time.
- Time measurement mode (default)
This mode measures the time between specified two events (points).
- Performance mode
This mode measures the time from the start of execution to the break occurrence.
• Pass count mode
This mode selects the using method for the pass count function.
- Sequential mode
This mode uses the sequential function.
The pass count break cannot be used.
- Pass count break mode (default)
This mode uses the pass count break.
The sequential function cannot be used.
■ Switching methods
Methods of switching to the execution time mode and the pass count mode are described below.
● Dialog-used switching
Select the [Setup] - [Debug environment] - [Debug environment] menu, and then select the [Event] tab.
For details, refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
● Command-used switching
Execute the SET MODE command.
For details, refer to "1.7 SET MODE (type 2)" in "SOFTUNE Workbench Command Reference Manual".
159
CHAPTER2 Dependence Functions
2.4.4
Executing Program
This section describes the method of executing a user program with the MB2100-01
emulator debugger.
■ Executing a program
A user program is executed in a procedure described below.
1. Open a project (workspace).
Select the [File] - [Open workspace file] menu.
2. Start debugging.
For details, refer to "2.4.1 Starting debugging".
3. Load an execution-desired target program.
When loading a project target file, select the [Debug] - [Load target file] menu.
4. Execute program.
Select the [Debug] - [Run] - [GO] menu.
For other executions, such as step execution, refer to "4.6.1 Run" in "SOFTUNE Workbench Operation
Manual".
■ Control during program execution
This emulator debugger is capable of controlling the following during the execution of a user program.
• Debug function setting/release
• Monitoring
• Power-on debug
160
CHAPTER2 Dependence Functions
2.4.4.1
Setting/Release of Debug Functions
The debug function is set or can be released while executing the user program.
■ Commands Available during Execution of User Program
A specific debug feature can setting/be released while executing the user program in this emulator
debugger. Either the dialog or the command can setting/be released.
Table 2.4-1 shows the commands available during execution of user program. For more details, see
"● Debugger" in "SOFTUNE Workbench Command Reference Manual".
Table 2.4-1 Commands Available during Execution of User Program (1 / 2)
Major Command name*1
Function
Reset MCU
1.3 RESET
Memory operation (read/write)
5.1 EXAMINE
5.2 ENTER
5.3 SET MEMORY
5.4 SHOW MEMORY
5.5 SEARCH MEMORY
5.8 COMPARE
5.9 FILL
5.10 MOVE
5.11 DUMP
Line assemble/disassemble
6.1 ASSEMBLE
6.2 DISASSEMBLE
Set/delete breakpoint
3.1 SET BREAK (type1)
3.3 SET BREAK (type3)
3.6 CANCEL BREAK
3.7 ENABLE BREAK
3.8 DISABLE BREAK
3.10 SET DATABREAK (type2)
3.12 CANCEL DATABREAK
3.13 ENABLE DATABREAK
3.14 DISABLE DATABREAK
Set/delete sequencer
3.15 SET EVENT
3.17 CANCEL EVENT
3.18 ENABLE EVENT
3.19 DISABLE EVENT
3.31 SET SEQUENCE (type1)
3.33 CANCEL SEQUENCE
3.34 ENABLE SEQUENCE
3.35 DISABLE SEQUENCE
161
CHAPTER2 Dependence Functions
Table 2.4-1 Commands Available during Execution of User Program (2 / 2)
Function
Major Command name*1
Set/delete trace trigger
4.25 SET TRACETRIGGER
4.27 CANCEL TRACETRIGGER
4.28 ENABLE TRACETRIGGER
4.29 DISABLE TRACETRIGGER
Trace operation
4.12 SET TRACE (type2)
4.15 CLEAR TRACE
4.17 ENABLE TRACE (type2)
4.19 DISABLE TRACE (type2)
4.20 SEARCH TRACE
4.21 SET DATATRACEAREA
4.23 CANCEL DATATRACEAREA
4.30 SET DELAY
*1 : Refer to "SOFTUNE Workbench Command Reference Manual".
Note:
An error message appears if you enter a command that cannot be used during the execution of
auser program.
"E4404S Command error (MCU is busy)."
162
CHAPTER2 Dependence Functions
2.4.4.2
Monitoring
This section describes the monitoring function in the MB2100-01 emulator debugger.
■ Monitoring
The monitoring function is capable of real-time referencing a variation in the value of a specific address
during user program execution.
The function is capable of a variation in the value of a specified watch variable, in addition to the value of a
specific address.
■ How to use
The use procedure of the monitoring function is described below.
● When performing monitoring of the memory window
1. Display the memory window.
• Select the [View] - [Memory] menu.
In this case, display the window at a monitoring-desired target address.
2. Enable the monitoring function through any one of methods described below.
• Select the shortcut menu [Monitoring] of the memory window.
• Select the [Setup] - [Debug environment] - [Debug environment] menu to display the [Monitoring]
tab.
3. Execute the program.
According to the above, a portion with variation during the program execution is displayed in red.
● When performing monitoring of the watch window
1. Display the watch window.
• Select the [View] - [Watch] menu.
In this case, register or store a monitoring-desired target watch variable.
For details, refer to "4.4.7 Watch" in "SOFTUNE Workbench Operation Manual".
2. Enable the monitoring function through any one of methods described below.
• Select the shortcut menu [Monitoring] in the memory window.
• Select the [Setup] - [Debug environment] - [Debug environment] menu to display the [Monitoring]
tab.
3. Execute the program.
According to the above, a portion with variation during the program execution is displayed in red.
163
CHAPTER2 Dependence Functions
2.4.4.3
Power-on Debug
This section describes power-on debug function in the MB2100-01 emulator debugger.
■ Power-on Debug
Power-on debug is a function to debug the sequence immediately after turning on of the power supply of
the target system.
■ How to use
The use procedure of power-on debug is as follows:
● When power-on debug
1. Start debug.
Select [Debug] - [beginning of debugging] menu.
2. Power-on debug mode is made effective.
Select [Debug] - [Run] - [Power-on the debug] menu.
It shifts to power-on debug mode.
3. Execute the user program.
It is desirable to make them run in the program that doesn't infinity looping do anything.
Display the interruption dialog.
4. Do either the following:
• Chip reset is issued from the outside.
• The power supply of the target is turned on again.
After the power supply returns, the program starts running from the reset vector.
● When release power-on debug mode
Before executing the user program
Select [Debug] - [Run] - [Power on] menu.
After executing the user program
Push the cancel button by the interruption dialog displayed in power-on debug mode.
164
CHAPTER2 Dependence Functions
Notes:
• Other debug features cannot be used while debugging power-on at all.
• When security is enabled, power on debug is not available.
• Selecting the power-on debug menu, the following functions cleared.
- Performance measurement
- Execution cycle measurement
• Issuing a chip reset during the execution of the user program, the following functions cleared.
- Execution cycle measurement
- Performance measurement
- Data match status of Data watch break
• Turning on the power supply of the target again, the following functions cleared.
- Performance measurement
- Trace data
- Data match status of Data watch break
- Hit count of Sequence
- Hit count of Passcount break
165
CHAPTER2 Dependence Functions
2.4.5
To Access the Flash Memory
This section describes the access method to the flash memory in the MB2100-01
emulator debugger.
■ Access to Flash Memory
In this emulator debugger, the direct operation of the content of the flash memory can be done as well as
RAM area.
■ What is flash memory synchronization?
When data is written into the flash memory, the data is stored temporarily. Subsequently, the contents of
the flash memory need to be matched with each other with specific timing.
The matching operation is referred to as "flash memory synchronization" (or, "synchronization of flash
memory").
There are two types of flash memory synchronization:
• Flash memory synchronization [Flash -> Debugger]
Updates the contents of the flash memory.
• Flash memory synchronization [Debbuger -> Flash]
Updates the stored data on the flash memory.
■ Methods of flash memory synchronization
Flash memory synchronization can be performed in either a manual or automatic method.
● Flash memory synchronization [Flash -> Debugger]
• Manual flash memory synchronization
Select the [Environment] - [Flash area control] menu. For details, refer to "4.7.4 Flash area control" in
"SOFTUNE Workbench Operation Manual".
• Automatic flash memory synchronization
Flash memory synchronization is automatically performed if the target flash memory area is updated
when carrying out one of the following operations.
- Load the following files.
Target file (Load module file)
Binary file
- Save the following files (specify name).
Load module file
Binary file
- View the following windows
Memory window
Disassembly window
Source window
Trace window
166
CHAPTER2 Dependence Functions
- View the following dialogs.
Line Assembly dialog (Disassembly window)
Break setting dialog [Software]
● Flash memory synchronization [Debbuger -> Flash]
• Manual flash memory synchronization
Select the [Environment] - [Flash area control] menu. For details, refer to "4.7.4 Flash area control" in
"SOFTUNE Workbench Operation Manual".
• Automatic flash memory synchronization
- When a user program has been executed
- When a reset has been issued
- When debugging has been ended
- When the use of software break is set to prohibition
- When the target file is automatically loaded at start of debugging
Note:
To shorten flash memory synchronization processing, set the communication speed of the debugger
to the high-speed mode. For details, refer to "2.4.3.1 Increasing Communication Speed during
Debugging".
167
CHAPTER2 Dependence Functions
■ Examples of flash memory synchronization
● In the case of [Debugger -> Flash]
An image in the case where the flash memory synchronization [Debugger -> Flash] has been performed is
shown below.
Variations in the values of the internal debugger and flash memory
in the case of the flash memory synchronization [Debugger -> Flash]
Debugger
Flash memory
FF FF FF FF
FF
FF
FF
FF
Memory writing,
loading, etc. by the user
12 34 56 78
FF
FF
FF
FF
Execution and reset, etc.
Occurrence of flash memory synchronization [Debugger -> Flash]
12
34
56
78
168
CHAPTER2 Dependence Functions
● In the case of [Flash -> Debugger]
An image in the case where the flash memory synchronization [Flash -> Debugger] has been performed is
shown below.
Variations in the values of the internal debugger and flash memory
in the case of the flash memory synchronization [Flash -> Debugger]
Debugger
Flash memory
FF
FF
FF
FF
Execution of a user program
that writes to the flash memory
12
34
56
78
Synchronization [Flash -> Debugger]
Occurrence of flash memory synchronization
[Flash -> Debugger]
Note:
The FLASH loader cannot be used by this emulator debugger. Therefore, the [FLASH memory]
menu cannot be used.
169
CHAPTER2 Dependence Functions
2.4.6
To Interrupt the Program Execution [Break]
This section describes the method of interrupting the execution of the user program in
the MB2100-01 emulator debugger.
■ Break Functions
The function to interrupt the execution of the user program is called a break function.
This Emulator debugger provides the following eight types of break functions;
• Code break (hardware)
• Code break (hardware/count)
• Code break (software)
• Data break
• Trace trigger break
• Forced break
• Data watch break
• Sequencer
When by each break function aborts program execution, the address where a break occurred and the break
factor are displayed.
170
CHAPTER2 Dependence Functions
2.4.6.1
Code Break (Hardware)
This function suspends program execution by monitoring a specified address by
hardware. A break occurs before an instruction at the specified address is executed.
■ Code Break (Hardware)
This function suspends program execution by monitoring a specified address by hardware. A break occurs
before an instruction at the specified address is executed.
Code Break (Hardware) has the hardware/count for which a path count can be set.
The maximum number of points that can be set is as follows:
Hardware:
8 points
Hardware/count: 2 points
When the code break (hardware) occurs, the following message appears in the status bar.
• Hardware:
Break at [address] by code event break
• Hardware/count
Break at [address] by sequential or pass count break
■ How to set
Control the code break in the following methods:
• Command
- SET BREAK/HARD
Refer to "3.1 SET BREAK" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
- "Code" tab in the breakpoint setting dialog
Refer to "4.6.4 Breakpoints" in "SOFTUNE Workbench Operation Manual".
• Window
- Source window/disassemble window
Refer to "3.7 Source Window" or "3.9 Disassemble Window" in "SOFTUNE Workbench Operation
Manual".
171
CHAPTER2 Dependence Functions
Notes:
• Do not set the code break to an instruction placed in a delay slot. If a code break is set and the
branch instruction is executed, the following phenomenon occurs.
Hardware: A break set in the delay slot does not occur.
• When setting a breakpoint, always specify the starting address of the instruction. A break may not
occur if an address other than the starting address is specified.
• A code break shares points with the following functions. The maximum number of code breaks
varies depending on how those functions are used.
- Data break
- Data watch break
- Trace trigger
- Sequence
• When hardware or hardware/count break is set at the top of the reset handler, the break does not
occur.
• When the pass count mode is the passing count break mode, the hardware/count break cannot
be used. For details, refer to "2.4.3.2 Switching Debug Function".
172
CHAPTER2 Dependence Functions
2.4.6.2
Code Break (Software)
This function suspends program execution by monitoring a specified address by
software. A break occurs before executing an instruction at the specified address.
■ Code Break (Software)
This function suspends program execution by monitoring a specified address by software.
Setting area
: RAM area or flash memory area
The break conditions
: Before executing an instruction the specified address
The maximum number of points : 4096 points
When the code break (software) occurs, the following message appears in the status bar.
Break at [address] by breakpoint
■ Operation Requirements
Please set the use of the software break to permission when you use the code break (software) by the
following method. It is not possible to set it to not only the flash memory area but also RAM area when
prohibiting it.
• Dialog
- Setup wizard
For details, refer to "4.7.2.5 Setup Wizard" in "SOFTUNE Workbench Operation Manual".
- Debug environment setting dialog "Break" tab
For details, refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
■ How to set
Set the break as follows.
• Command
- SET BREAK/SOFT (software)
Refer to "3.1 SET BREAK (type 1)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
- "Code" tab in breakpoint setting dialog
Refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
• Window
- Source window/disassemble window
Refer to "3.7 Source Window" or "3.9 Disassemble Window" in "SOFTUNE Workbench Operation
Manual".
173
CHAPTER2 Dependence Functions
Notes:
• Do not set the code break (software) to an instruction placed in a delay slot. When set, an
incorrect instruction exception occurs.
• When setting a code break (software) in a flash memory area, the contents of the flash memory at
the specified address is temporarily rewritten. For details, refer to "2.4.5 To Access the Flash
Memory".
• When the debugger has aborted in the state where the code break (software) is set, the contents
of the flash memory can be abnormal. For details, refer to "2.4.2 Ending debugging".
174
CHAPTER2 Dependence Functions
2.4.6.3
Data Break
This function suspends program execution when data access (read/write) is made to a
specified address.
■ Data Break
This function suspends program execution when data access (read/write) is made to a specified address. Up
to 8 points can be set.
When the data break occurs, the following message appears in the status bar.
Break at [address] by data event break
■ How to set
Control the data break in the following methods:
• Command
- SET DATABREAK
Refer to "3.9 SET DATABREAK (type 2)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
- "Data" tab in the breakpoint setting dialog
Refer to "4.6.4 Breakpoints" in "SOFTUNE Workbench Operation Manual".
Notes:
• A data break shares points with the following functions. The maximum number of data breaks
varies depending on how those functions are used.
- Code break
- Data watch break
- Trace trigger
- Sequence
• The data break may stop after a few instructions following the instruction with detection access
are executed.
175
CHAPTER2 Dependence Functions
2.4.6.4
Trace Trigger Break
This function suspends program execution when a trace trigger terminates trace
acquisition.
■ Trace Trigger Break
This function suspends program execution when a trace trigger terminates trace acquisition. Only one point
can be set.
When the trace trigger break occurs, the following message appears in the status bar.
Break at [address] by trace end break
■ How to set
Control the trace trigger break in the following methods:
• Command
- SET TRACE/BREAK
Refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
- Trace setting dialog
Refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
Note:
A trace trigger break shares points with the following functions. The maximum number of trace
trigger breaks varies depending on how those functions are used.
• Code break
• Data break
• Data watch break
• Sequence
176
CHAPTER2 Dependence Functions
2.4.6.5
Forced Break
This function forcibly suspends program execution.
■ Forced Break
This function forcibly suspends program execution.
When the forced break occurs, the following message appears in the status bar.
Break at [address] by command abort request
■ How to Generate
A forced break is generated in the following methods:
• Menu
[Debug] - [Abort] menu
Refer to "4.6.2 Abort" in "SOFTUNE Workbench Operation Manual".
• Command
- ABORT
Refer to "2.2 ABORT" in "SOFTUNE Workbench Command Reference Manual".
■ When a User Program does not Stop
In any one of the following, even when the forced break is caused to occur, the user program may not stop.
Solutions are described below.
• The communication speed of the debugger is low.
[Phenomenon] When the communication speeds of the debugger is low, it can take time to receive a
program stop request.
[Solution] Await for some time until receipt of the stop request is completed.
• The interrupt level is low.
[Phenomenon] When the interrupt level of the program stop request is low, the interrupt is masked by the
CPU interrupt level (ILM).
[Solution 1] Alter the interrupt level of the stop request, and issue a stop request again.
[Solution 2] Issue a program forced-stop request.
• The MCU is in a hang-up state.
[Phenomenon] It is considered that the MCU is in a hang-up state.
[Solution] Issue a reset.
• The debugger is in power-on debugging.
[Phenomenon] It is considered that the debugger is in power-on debugging.
[Solution] Cancel the power-on debug mode.
Note:
If the forced break is performed in pause state a break occurs after that mode is released.
For more details, see "Appendix C. Debugger Suspension Messages" in "SOFTUNE Workbench
Command Reference Manual".
177
CHAPTER2 Dependence Functions
2.4.6.6
Data Watch Break
This special break function suspends program execution when the program reaches a
specified instruction address while the value in the specified data address matches with
specified data.
■ Data Watch Break
This special break function suspends program execution when the program reaches a specified instrution
address while the value in the specified data address matches with specified data. Up to 2 points can be set.
The following message is displayed in the status bar, when a data watch break occurs.
Break at address by breakpoint (data watch)
The break conditions for the data watch break are illustrated in the following diagram.
Data Area
Program flow
Specified
instruction
address
When data does not match,
no break occurs.
Specified
instruction
address
Data match
When data matches,
a break occurs.
■ How to set
The data watch break can be set by the following command.
● Data watch break
• Command
- SET BREAK/DATAWATCH
• Dialog
- "Code" tab in the breakpoint setting dialog
"Hardware/data watch"
178
CHAPTER2 Dependence Functions
Notes:
• A data watch break shares points with the following functions. The maximum number of data
watch breaks varies depending on how those functions are used.
- Code break
- Data break
- Trace trigger
- Sequence
• The data watch break may stop if it hits a specified address after a few instructions following the
instruction with data detection access are executed. Consequently, it may not stop if it hits the
specified address during the execution of an instruction.
179
CHAPTER2 Dependence Functions
2.4.6.7
Sequencer
This emulator debugger has a sequencer to control events.
By using this sequencer, breaks can be controlled while monitoring program flow
(sequence). A break caused by this function is called a sequential break.
■ Control by Sequencer
Table 2.4-2 shows the specifications of the sequencer function for this emulator debugger.
It shows a 2-level sequencer which goes through level 1 and then level 2. One event can be specified as the
sequencer restart condition.
■ Operation of Sequencer
When events are set to each level as shown below, the sequencer operates as follows.
[Example] Level 1 : Event 1
Level 2 : Event 2
Restart : Event 3
Program execution start
Level 1
NO
Event 1 occurs
YES
YES
Event 3 occurs
NO
Level 2
Event 2 occurs
YES
Break
180
NO
CHAPTER2 Dependence Functions
■ Specifications of Sequencer
Table 2.4-2 shows the specifications of the sequencer for this emulator debugger.
Table 2.4-2 Specifications of Sequencer
Function
Specification
No. of levels
2 levels
Restart function
Available (one)
Conditions of each
event
(Code/data)
Address
Pass count : 1 to 1048575
Attribute : Read/write
Data size : Byte, half-word, word
(Attribute and data size can be specified only for data events.)
Operation when
conditions are met
Level 1 : Moves to level 2
Level 2 : Terminates the sequencer
Restart : Starts the sequencer
■ Setting Sequencer
The sequencer can be set by the dialog or the command.
● Setting by dialog
Select [Debug] - [Sequence] menu.
For details, refer to "4.6.6 Sequence" in "SOFTUNE Workbench Operation Manual".
● Setting by Command
1. The event is set according to the SET EVENT command.
2. The event set by the SET SEQUENCE command is set as a sequence.
For details, refer to "3.15 SET EVENT" or "3.31 SET SEQUENCE (type2)" in "SOFTUNE Workbench
Command Reference Manual".
Notes:
• When the pass count mode is a passing count break mode, this function cannot be used.
• For details, refer to "2.4.3.2 Switching Debug Function".
• Depending on the output timing of external trace data, the actual order of code execution may
change places with the order of data hit information. For this reason, if a code event and a data
event occur close to each other, normal transition may not occur.
• A sequencer shares points with the following functions. The maximum number of sequencer
varies depending on how those functions are used.
- Code break
- Data break
- Data watch break
- Trace trigger
• If a data event is set to the sequencer, the data event may stop after a few instructions following
the instruction with detection access are executed.
181
CHAPTER2 Dependence Functions
2.4.6.8
Guarded Access Break
This is a break caused by monitoring an access violation to a guarded area on memory.
■ Guarded Access Breaks
This is a break caused when monitoring an access to a guarded area on memory.
If a guarded access break occurs while executing a program, program execution is suspended with the
following message on the status bar.
Break at [address]by guarded access
■ How to set
Set the guarded access break as follows.
• Command
- ENABLE BREAK /GUARDEDACCESS
- DISABLE BREAK /GUARDEDACCESS
Refer to "3.7 ENABLE BREAK" or "3.8 DISABLE BREAK" in "SOFTUNE Workbench Command
Reference Manual".
• Dialog
- "Break" tab in debug environment setting dialog
Refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
Note:
For details of guarded area settings on memory with guarded access breaks, refer to the manual for
the appropriate hardware.
182
CHAPTER2 Dependence Functions
2.4.7
Measuring the Program Execution Cycle Count
This section explains the function of measuring the number of program execution
cycles.
■ Measurement Items
This function measures the number of program execution cycles.
The measurement is performed whenever a program is executed, and the measurement result displays the
following two values:
- The number of execution cycles for the previous program execution
The maximum number of cycles that can be measured is "2 to the power of 58 - 1", in other words,
up to 288,230,376,151,711,743 cycles.
- The total number of execution cycles after the previous clear operation
The maximum number of cycles that can be measured is "2 to the power of 64 - 1", in other words,
up to 18,446,744,073,709,551,615 cycles.
■ Displaying Measurement Results
Either of the following methods can be used to display the measurement results.
1. Display by dialog
The results appear in the time measurement dialog, which can be displayed by selecting [Debug] –
[Time Measurement] menu.
2. Display by command
Enter the SHOW TIMER command in the command window.
■ Clearing Measurement Results
Either of the following methods can be used to clear the measurement results.
1. Operation by dialog
Click the [Clear] button in the time measurement dialog, which can be displayed by selecting [Debug] –
[Time Measurement] menu.
2. Clearing by command
Enter the CLEAR TIMER command in the command window.
■ Error Information
Click the [Comment] button in the time measurement dialog to display error information about the
measurement results.
Note:
The number of cycles measured normally includes an error of about 10 cycles. However, it may be
even more, depending on the bus state.
If a chip reset is issued during debugging, the measurement cycle count is cleared.
183
CHAPTER2 Dependence Functions
2.4.8
Measuring Event-to-Event Execution Cycle Count
[Performance Measurement]
This section explains how to measure the execution cycle count between two events in
the MB2100-01 emulator debugger.
■ Performance Measurement
This emulator debugger measures the execution cycle count between two events, which the system has
passed while a user program is running. This is referred to as "performance measurement".
This emulator debugger has the following features for performance measurement.
• Measuring the cycle count required to carry out the event-to-event execution
• Measuring up to 65535 times, using an event-to-event measurement as one cycle
• The allowable number of intervals is only one if one interval is required between two events.
• Accumulating the measurement result and obtaining the average value based on the measuring count
The following shows the performance measurement image.
Measuring up to 65535 times
Start execution
Stop execution
1
Start
2
65535
Stop
It measuring
Not possible to measuring
■ Measurement Items
This emulator debugger has the following performance measurement items.
Cycle count
: Accumulates the number of cycles required to carry out the event-to-event execution.
Measuring count : Accumulates the number of times the system passes from event to event.
Average
: Average obtained by dividing the cycle count by the measuring count
■ Remeasuring
Remeasuring performance refers to a function that clears the measuring count during execution of a user
program and remeasures from the beginning.
To carry out remeasuring, select [Restart] in the shortcut menu of the performance window.
If necessary, you can respecify the performance measuring interval (event) during execution.
This restarts measuring at the times when events have been set.
184
CHAPTER2 Dependence Functions
Notes:
• This function is not available when the execution time mode is set to the time measuring mode.
For details, refer to Section "2.4.3.2 Switching Debug Function".
• If two triggers (start and end) specified as a measuring interval have occurred at the same time,
performance measuring is not performed.
• An error of approximately 10 cycles is always detected each time a user program is re-executed
because its execution has been stopped due to a breakpoint during performance measurement.
The error may exceed 10 cycles depending on the bus state.
• If the performance measurement interval (event) is re-specified during execution of a user
program, the previous measurement results are cleared.
185
CHAPTER2 Dependence Functions
2.4.8.1
Measuring Performance
This section explains how to measure the event-to-event execution cycle count in the
MB2100-01 emulator debugger.
■ Measuring Procedure
Use the following steps to measure the performance.
1. Specify the performance measuring interval.
2. Execute the measurement.
3. Display the measurement result.
Each of these steps can be executed in two methods: using GUI (window or dialog) and using only the
command. In both methods, the same measurement result is obtained.
Using GUI for measuring
1. 1. Display the performance window.
- Select [View] - [Performance] menu.
For details, refer to Section "3.18 Performance Window" in "SOFTUNE Workbench Operation
Manual".
2. Specify the performance measuring interval.
- Right-click on the performance window, and select [Setup] from the pop-up menu. The performance
setting dialog appears.
Here, click the [Display Range] tab to specify the interval in which performance is to be measured.
For details, refer to Section "4.4.14 Performance" in "SOFTUNE Workbench Operation Manual".
3. Execute user programs.
4. Display the measurement result.
- Right-click on the performance window, and select [Refresh] from the pop-up menu. The
performance measurement result appears.
Using Command for Measuring
1. Specify performance events.
- Execute the SET EVENT command.
For details, refer to Section "3.15 SET EVENT" in "SOFTUNE Workbench Command Reference
Manual".
2. Specify the performance measuring interval.
- Execute the SET PERFORMANCE command.
For details, refer to Section "4.2 SET PERFORMANCE (type 2)" in "SOFTUNE Workbench
Command Reference Manual".
3. Execute user programs.
4. Display the measurement result.
- Execute the SHOW PERFORMANCE command.
For details, refer to Section "4.4 SHOW PERFORMANCE" in "SOFTUNE Workbench Command
Reference Manual".
186
CHAPTER2 Dependence Functions
■ Ending the Measurement
The performance measurement is ended in one of the following cases.
• The measuring count has reached 65535.
• A user program has stopped during measurement.
Notes:
• If [Refresh] is selected in the performance window during performance measuring, only the
measuring count appears.
• Whether the performance measurement is currently being continued can be checked using the
built-in variable "%GET_PERFORMANCESTATE".
Refer to "13.25 %GET_PERFORMANCESTATE" of "SOFTUNE Workbench Command
Reference Manual" for details.
187
CHAPTER2 Dependence Functions
2.4.9
Viewing Program Execution History [Trace]
This section describes the trace function of this emulator debugger.
■ What is Trace
The function that records the program execution history is called "trace".
Trace data contains the following information, which is available for the analysis of the program execution
history.
• History in which programs were executed: Only addresses before and after branch
• Data accessed during program execution: Only the specified attributes
■ Trace Functions
This emulator debugger has the following trace functions.
• Trace trigger:
Stops acquiring trace data when the trace trigger hits.
• Trace filter:
Acquires only the data with the specified attribute.
• Forced start:
Forcibly starts acquiring trace data without stopping the execution of a user program
while trace data acquisition is stopped due to the hitting of the trace trigger.
• Forced stop:
Forcibly ends acquiring trace data without stopping the execution of a user program
during acquisition of trace data.
■ Acquiring Trace Data
The trace data acquisition is started and ended at the following times.
The acquisition is started when:
- a user program has been executed; or
- the [Start] menu has been selected when a user program has been executed.
The acquisition is ended when:
- a user program has been stopped;
- the trace trigger has hit; or
- the [Abort] menu has been selected during trace data acquisition.
■ Trace Buffer
A place to store recorded data is called a "trace buffer".
Each unit of data stored in the trace buffer is called a "frame".
The trace buffer can contain up to 1,024 frames.
The trace buffer has a ring-like structure. If the trace buffer becomes full, it is automatically overwritten
from the beginning.
188
CHAPTER2 Dependence Functions
Figure 2.4-4 shows how data is stored in the trace buffer.
Figure 2.4-4 Acquiring Trace Data
When a break occurred during execution of a program
Start execution
Stop execution
Start execution
Stop execution
Program flow
Trace Buffer
| --------------- Max. 1,024 frames ---------------|
When the trace trigger hits and a break occurs
Start execution
Trace trigger(break)
Start execution
Stop execution
Program flow
Trace Buffer
| --------------- Max. 1,024 frames ---------------|
When the trace trigger hits and no break occurs
Start execution Trace trigger
Forced start
Forced stop
Program flow
Trace Buffer
| --------------- Max. 1,024 frames ---------------|
Note:
Executing the forced start will clear the trace data that was stored until then.
189
CHAPTER2 Dependence Functions
2.4.9.1
Displaying Trace Data
This section explains how to display trace data.
■ Display Formats of Trace Data
The following three formats can be used to display trace data.
RAW data:
Displays trace data without analyzing it.
Instruction:
Displays trace data in the order in which instructions are executed.
Source:
Displays trace data on a source line basis.
■ Trace Data Display Position
Sampled trace data is numbered by frame. This number is called a "frame number".
When displaying trace data, the starting location in the trace buffer can be specified using the frame
number.
Figure 2.4-5 Frame Numbering at Tracing
Trace trigger occurs
Program flow
Frame number
0
1
2
3
4
5
6
Ordinarily, the last sampled trace data is assigned to frame number 0.
However, if the sequencer is specified, frame numbers are assigned as follows.
• Trace data at the point where the termination trigger occurs: Frame number 0
• Trace data sampled before reaching the trigger point:
Negative frame number
■ How to Display Trace Data
Trace data is displayed in the trace window or command window.
The following two display methods are available, both of which enable you to obtain the same result.
Using trace window
1. Display the trace window.
- Select [View] - [Trace] menu.
2. Select the display mode of the trace window.
- Right-click on the trace window, and select [RAW data], [Instruction], or [Source] from the pop-up
menu.
For details, refer to Section "3.14 Trace Window" in "SOFTUNE Workbench Operation Manual".
190
CHAPTER2 Dependence Functions
3. (If the trace window is already displayed), update trace data.
- Right-click on the trace window, and select [Refresh] from the pop-up menu. Trace data is updated in
the trance window.
For details, refer to Section "3.14 Trace Window" in "SOFTUNE Workbench Operation Manual".
Using command window
1. Display trace data for each display mode.
RAW data: SHOW TRACE
Instruction: SHOW DETAILTRACE
Source: SHOW DETAILTRACE
For details, refer to Section "4.15 SHOW TRACE (type 2)" or "4.27 SHOW DETAILTRACE" in
"SOFTUNE Workbench Command Reference Manual".
Note:
In the disassembly format, data is read from memory to be displayed. If an instruction is rewritten
after code fetching, data will not be displayed correctly.
191
CHAPTER2 Dependence Functions
2.4.9.2
Trace Data Display Examples (RAW Data)
This section describes trace data that is displayed in the RAW data mode.
■ RAW Data Display
This format displays frames that are output from the emulator without analyzing them.
Figure 2.4-6 shows a RAW data display example.
Figure 2.4-6 RAW Data Display
If a chip reset has occurred, "***Chip Reset***" appears in "b-cause" as shown in Figure 2.4-7 . This is a
frame that is processed and output, not a frame that is found when a chip reset is detected.
Figure 2.4-7 RAW Data Display (When a Chip Reset Has Occurred)
If a low-level reset has occurred, "LReset" appears in "b-cause" as shown in Figure 2.4-8 . The address
where a low-level reset has occurred is displayed in "b-addr".
Figure 2.4-8 RAW Data Display (When a Low-Level Reset Has Occurred)
192
CHAPTER2 Dependence Functions
frame no.
Displays frame numbers in decimal notation.
b-addr
Displays a branch address or low-level reset occurrence address in hexadecimal notation, or displays the
standby state.
• For branch address
Branch destination address = 110C6: "-> 000110C6"
Branch source address = 110A8:
"000110A8 ->"
• For low-level reset occurrence address
Occurrence address = 11002: "00011002"
• For standby state
CPU sleep:
CPU sleep state
bus sleep:
Bus sleep state
timer:
Timer state
stop:
Stop state
b-cause
Displays a branch factor or low-level reset occurrence information.
Branch:
Execution of branch instruction
Trap:
Exception/trap
INT:
Interrupt
RETI:
Execution of RETI instruction
CALL:
Execution of CALL/CALL:D instruction
RET:
Execution of RET/RET:D instruction
Break:
Break
Go:
Start of execution of user program
LReset:
Issuance of low-level reset
a-addr
Displays a data-accessed address in hexadecimal notation.
a-stat
Displays access status (read/write).
a-size
Displays the access size.
byte:
Byte
half:
Half-word
word:
Word
a-type
Displays the access type.
cpu:
Indicates that CPU access has occurred.
dma:
Indicates that DMA access has occurred.
lost:
Indicates that CPU access and DMA access have occurred simultaneously.
In such cases, only the CPU-accessed data is traced.
193
CHAPTER2 Dependence Functions
a-data
Displays access data in hexadecimal notation.
In some cases, however, it may display read IDs, depending on the a-stat and a-type status.
a-stat
a-type
a-data
read
dma
Read access data
write
-
Write access data
read
cpu / lost
Read ID
r-id
Displays an ID that associates the read ID of a-data with r-data.
If read ID matches r-id, the r-data of that frame is set as read access data.
r-data
Displays the data value for CPU read access in hexadecimal notation.
Note:
When CPU access and DMA access have occurred simultaneously, only the data accessed by the
CPU is traced.
194
CHAPTER2 Dependence Functions
2.4.9.3
Trace Data Display Example (Instruction)
This section describes trace data that is displayed in the instruction mode.
■ Instruction Display
This mode displays the branch addresses of the RAW data display in disassembly format. Figure 2.4-9
shows an instruction display example.
Figure 2.4-9 Instruction Display
The instruction display mode displays the following information in addition to the information displayed in
the RAW data display mode.
mnemonic
Displays disassembly of the instructions that are executed between branch addresses.
In complementary lines, information ranging from "b-cause" to "reset" is not displayed.
Like [RET] shown in Figure 2.4-9 if the mnemonic instruction is enclosed in brackets [ ], it means that
the instruction may not be executed.
[Exception]:
The instruction is not executed.
[INT instruction]:
The instruction is executed.
Note:
For branch addresses (b-addr), an instruction between the branch addresses is extracted to get the
frames to complement each other by disassembly. When they are complemented, the frame number
field is blank.
195
CHAPTER2 Dependence Functions
2.4.9.4
Trace Data Display Example (Source)
This section describes trace data that is displayed in the source line mode.
■ Source Display
This mode displays only source lines. Figure 2.4-10 shows a source display example.
Figure 2.4-10 Source Display
196
CHAPTER2 Dependence Functions
2.4.9.5
Saving Trace Data
This section explains how to save trace data.
■ Saving Trace Data
Trace data can be saved in a specified file.
The following two methods are available to save trace data: using GUI (window or dialog) and using only
the command. The same result is obtained from both methods.
Using Command for Saving Trace Data
1. Display the trace window.
- Select [View] - [Trace] menu.
2. Specify the name of the file in which to save trace data.
- Right-click on the trace window, and select [Save] from the pop-up menu. The [Save as] dialog
appears.
Specify the file name and where to save trace data. For details, refer to Section "4.4.8 Trace" in
"SOFTUNE Workbench Operation Manual".
Using Command for Saving Trace Data
1. Save trace data.
- Execute the SHOW TRACE/FILE command.
For details, refer to Section "4.16 SHOW TRACE (type 1)" in "SOFTUNE Workbench Command
Reference Manual".
When additionally saving trace data in an existing file, execute the TRACE/FILE/APPEND
command.
197
CHAPTER2 Dependence Functions
2.4.9.6
Searching for Trace Data
This section explains how to search for trace data.
■ Searching for Trace Data
The specified address or frame number in trace data can be displayed.
The following two methods are available to search for trace data: using GUI (window or dialog) and using
only the command. The same result is obtained from both methods.
Using GUI for Searching for Trace Data
1. Display the trace window.
- Select [View] - [Trace] menu.
2. Specify the address or frame number to search for trace data.
- Right-click on the trace window, and select [Find] from the pop-up menu. The trace data search
dialog appears.
Specify the address or frame number to be displayed. For details, refer to Section "4.4.8 Trace" in
"SOFTUNE Workbench Operation Manual".
Using Command for Searching for Trace Data
1. Search for trace data.
- Execute the SEARCH TRACE command.
For details, refer to Section "4.23 SEARCH TRACE" in "SOFTUNE Workbench Command
Reference Manual".
Note:
If the head of the instruction is omitted to specify the search address, an instruction exceeding the 2byte length (LDI: 32 or LDI: 20 instruction) may not be displayed correctly.
198
CHAPTER2 Dependence Functions
2.4.9.7
Obtaining Only Trace Data with Specified Attributes
This section explains the trace filter.
■ Trace Filter
This function obtains only the data with a specified access attribute when fetching codes or obtaining data
access information as trace data.
The access attribute can be selected from read, write, or code.
Using the trace filter function stores only the information to be accessed to the specified address range in
the trace buffer, and it is available for saving the trace buffer.
■ How to set
Use one of the following methods to control the trace filter.
Using GUI
1. Display the trace window.
- Select [View] - [Trace] menu.
2. The trace setting dialog appears.
- Right-click on the trace window, and select [Setup] from the pop-up menu. The trace setting dialog
appears. Select the [Trace Area] tab.
For details, refer to Section "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
Using Command
1. Specify the trace filter.
- Execute the SET DATATRACEAREA command.
For details, refer to Section "4.24 SET DATATRACEAREA" in "SOFTUNE Workbench Command
Reference Manual".
Note:
The stored trace data is cleared when switching code attribute acquisition for specifying access
attribute.
199
CHAPTER2 Dependence Functions
2.4.9.8
Ending Trace Acquisition in Specified Conditions
This section explains the trace trigger.
■ Trace Trigger
A trigger can be generated to end trace acquisition in the specified conditions by monitoring the MCU bus
running status. This function is called a "trace trigger".
The trace trigger can be selected with either the code attribute or the data access attribute.
If the trace trigger hits, the execution of the program can be stopped. For details, refer to Section "2.4.6.4
Trace Trigger Break".
If necessary, when the trace trigger hits, trace acquisition can be ended after trace data has been acquired by
the specified number of frames. This function is called "delay".
■ How to set
Use one of the following methods to control the trace trigger.
Using GUI
1. Display the trace window.
- Select [View] - [Trace] menu.
2. The trace setting dialog appears.
- Right-click on the trace window, and select [Setup] from the pop-up menu. The trace setting dialog
appears. Select the [Trace Trigger] tab.
For details, refer to Section "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
Using Command
1. Specify the trace trigger.
- Execute the SET TRACETRIGGER command.
For details, refer to Section "4.28 SET TRACETRIGGER" in "SOFTUNE Workbench Command
Reference Manual".
2. Specify the trace delay.
- Execute the SET DELAY command.
For details, refer to Section "4.33 SET DELAY" in "SOFTUNE Workbench Command Reference
Manual".
Note:
When the trace trigger hits, trace data is displayed until the branch instruction address just before
the trigger is generated.
200
CHAPTER2 Dependence Functions
2.4.10
Disabling Memory Access to Specified Area
This section explains the access-prohibited area.
■ Access-prohibited Area
The access-prohibited area has a function to inhibit memory access when the debugger tries to access the
memory in the specified area (*1). However, it does not inhibit memory access from the program.
(*1) Memory access by the following commands or window operations:
- Memory operation commands
- Assemble/disassemble commands
- Load/save commands
- Built-in functions (%BIT, %B, %H, %W, %L, %S, %D)
- Formula
- Trace
- Vector
- Memory window
- Source window
- Disassemble window
- Watch window
- Local window
- Symbol window
■ How to set
The access-prohibited area can be set by the following command.
• Command
- SET MAP /INACCESSIBLE
Refer to "1.14 SET MAP (type2)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
- "Access-prohibited area" tab in the debug environment setting dialog
Refer to "4.7.2.3 Debug Environment Setting" in "SOFTUNE Workbench Operation Manual".
Note:
If the range to be accessed also includes an access-prohibited area, access is made to memory just
before the access-prohibited area. Once the access-prohibited area is reached, an error is
generated to suspend the memory access.
201
CHAPTER2 Dependence Functions
2.4.11
Checking Debugger Status
This section explains how to check information about the MB2100-01 emulator
debugger.
■ Debugger Information
This emulator debugger enables you to check the following information at startup.
• SOFTUNE Workbench file information
• Hardware information
If any errors have been discovered during SOFTUNE Workbench operations, check this information and
contact our sales department or support department.
■ How to Check
Use one of the following methods to check debugger information.
• Command
- SHOW SYSTEM
Refer to Section "1.12 SHOW SYSTEM" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
- Version information dialog
Select [Help] - [Version Information] menu.
For details, refer to Section "4.9.3 Version Information" in "SOFTUNE Workbench Operation
Manual".
■ Displayed Contents
FR Family SOFTUNE Workbench VxxLxx
ALL RIGHTS RESERVED,
COPYRIGHT(C) FUJITSU MICROELECTRONICS LIMITED 1997
LICENCED MATERIAL PROGRAM PROPERTY OF FUJITSU MICROELECTRONICS LIMITED
=======================================================
Cpu information file path: CPU information file path
Cpu information file version: CPU information file version
=======================================================
Add in DLLs
------------------------------------------------------SiCmn
Product name: SOFTUNE Workbench
File Path: SiC911.dll path
Version: SiC911.dll version
---------------------------SiiEd
202
CHAPTER2 Dependence Functions
File Path: SiiEd3.ocx path
Version: SiiEd3.ocx version
------------------------------------------------------SiM911
Product name: SOFTUNE Workbench
File Path: SiM911.dll path
Version: SiM911.dll version
---------------------------Language Tools
- FR Family SOFTUNE C/C++ Compiler version
File Path: fcc911s.exe path
- FR Family SOFTUNE Assembler version
File Path: fasm911s.exe path
- FR Family SOFTUNE Linker version
File Path: flnk911s.exe path
- FR Family SOFTUNE Librarian version
File Path: flib911s.exe path
- SOFTUNE FJ-OMF to S-FORMAT Converter version
File Path: f2ms.exe path
- SOFTUNE FJ-OMF to INTEL-HEX Converter version
File Path: f2is.exe path
- SOFTUNE FJ-OMF to INTEL-EXT-HEX Converter version
File Path: f2es.exe path
- SOFTUNE FJ-OMF to HEX Converter version
File Path: f2hs.exe path
------------------------------------------------------SiOsM
Product name: Softune Workbench
File Path: SiOsM911.dll path
Version: SiOsM911.dll version
------------------------------------------------------FR Series Debugger DLL
Product name: SOFTUNE Workbench
File Path: SiD911.dll path
Version: SiD911.dll version
---------------------------Debugger type:
Current debugger type
MCU type:
Currently selected target MCU
VCpu dll name:
Path and name of the currently used VCpu dll
203
CHAPTER2 Dependence Functions
VCpu dll version:
Version of the currently used virtual debugger DLL
SiDRVo dll version:
Version of the currently used MB2100-01 driver DLL
DSU type:
Currently used DSU type
Adapter version:
Adapter version
FPGA version:
FPGA version
Maker ID:
ID that indicates the device manufacturer
CPU family ID:
ID that indicates the CPU family installed in the device
DSU type ID:
ID that indicates the OCD-DSU installation type.
DSU version ID:
ID that indicates version information of the DSU installed in the device
Device ID:
ID that indicates device information
Device version ID:
ID that indicates device version
OSC clock:
Oscillator frequency
PLL clock:
Reference clock frequency for high-speed communication
Clock mode:
Clock mode [Main/ Sub/ PLL]
Communication mode:
Communication mode
Communication device:
Device type
REALOS version:
REALOS version
------------------------------------------------------SiIODef
Product name:
Softune Workbench
File Path:
SiIODef.dll path
Version:
SiIODef.dll version
=======================================================
Current path:
Path of the currently used project
Language:
Currently used language
Help file path:
Help file path
============================================================================
204
CHAPTER2 Dependence Functions
2.5
Monitor Debugger
This section describes the functions of the monitor debugger.
■ Monitor Debugger
The monitor debugger performs debugging by putting the target monitor program for debugging into the
target system and by communicating with the host.
Before using this debugger, the target monitor program must be ported to the target hardware.
205
CHAPTER2 Dependence Functions
2.5.1
Resources Used by Monitor Program
The monitor program of the monitor debugger uses the I/O resources listed below. The
target hardware must have these resources available for the monitor program.
■ Required Resources
The following resources are required to build the monitor program into the target hardware.
Table 2.5-1 Resources Used by Monitor Debugger
206
1
UART
Required
For communication with host computer
4800/9600/19200/38400 bps
2
Monitor ROM
Required
About 6 KB required (For further details, see Link
Map.)
3
Work RAM
Required
About 2 KB required (For further details, see Link
Map.)
4
NMI Switch
Optional
Used for suspending program forcibly. If there is no
built-in NMI switch, only the breakpoint can be
stopped.
5
Timer
Optional
Used by SET TIMER/SHOW TIMER. Requires 32-bit
timer in 1 μs
CHAPTER2 Dependence Functions
2.5.2
Break
The Monitor Debugger provides two types of break functions. When by each break
function aborts program execution, the address where a break occurred and the break
factor are displayed.
■ Break Functions
The Monitor provides the following two types of break function;
- Software break
- Forced break
207
CHAPTER2 Dependence Functions
2.5.2.1
Software Break
A software break is a function to make a break by executing an instruction embedded in
memory.
The break occurs before executing the instruction at the specified address.
■ Software Break
A software break is a function to make a break by executing an instruction embedded in memory. The
break occurs before executing the instruction at the specified address.
Up to 16 break points can be set.
When the software break occurs, the following message appears at the status bar.
Break at address by breakpoint
■ How to set
Set the software break as follows.
• Command
- SET BREAK/SOFT
Refer to "3.1 SET BREAK (type 1)" in "SOFTUNE Workbench Command Reference Manual".
• Dialog
"Code" tab in breakpoint setting dialog
Refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
• Window
Source window/disassemble window
Note:
There are two points to note when using software break point.
1. Software breaks cannot be set in read only areas, such as ROM. If an attempt is made to do so,
a verify error occurs at program startup (continuous execution in batch processing, step
execution, etc.).
2. Always set a software break at the instruction start address. Setting a software break point in the
middle of an instruction, may cause a software error.
208
CHAPTER2 Dependence Functions
2.5.2.2
Forced Break
This function forcibly aborts the program execution to generate a break.
■ Forced Break
This function forcibly aborts the program execution to generate a break.
When the forced break occurred, the following message appears at the status bar.
Break at address by command abort request
■ How to Generate
A forced break is generated in the following methods:
• Menu
[Debug] - [Abort] menu
Refer to "4.6.2 Abort" in "SOFTUNE Workbench Operation Manual".
Note:
The forced break cannot be generated when the MCU is in the low power consumption mode or in
the hold state. If the MCU is in the low power consumption mode or in the hold state when the
strong break is requested by the [Debug]-[Abort] menu during the program execution, the [Debug][Abort] menu is ignored. To generate a break forcibly, use the [Debug]-[Abort] menu to remove a
factor by the user system or use the [Debug]-[Reset of MCU] menu to remove it. If the MCU enters
the low power consumption mode or the hold state during the program execution, the conditions is
displayed at the status bar.
209
CHAPTER2 Dependence Functions
2.5.3
Measuring Execution Time
This function measures the execution time of a program.
■ Measurement Item
The execution time of a program is measured.
The resolution of the execution time is 1us, and up to "(2 to the power of 32 - 1) x 1us" can be measured.
The measurement is performed whenever a program is executed, and the measurement result displays the
following two values:
- Execution time spent on the previous program execution
- Total execution time since the previous clearing
■ Displaying Measurement Results
Either of the following methods can be used to display the measurement results.
1. Display by dialog
The results appear in the time measurement dialog, which can be displayed by selecting [Debug] –
[Time Measurement] menu.
2. Display by command
Enter the SHOW TIMER command in the command window.
■ Clearing Measurement Results
Either of the following methods can be used to clear the measurement results.
1. Operation by dialog
Click the [Clear] button in the time measurement dialog, which can be displayed by selecting [Debug] –
[Time Measurement] menu.
2. Clearing by command
Enter the CLEAR TIMER command in the command window.
Note:
The measurement result displays the user resource value of timer register.
Refer to "APPENDIX E Creating ROM on Monitor Debugger Target" in "SOFTUNE Workbench
Operation Manual".
210
CHAPTER2 Dependence Functions
2.5.4
Inaccessible Area
This section explains inaccessible area by the monitor debugger.
■ Inaccessible area
The inaccessible area is a function that suppresses access to memory when the debugger accesses a
specified memory area (using commands, windows, etc.*).
However, access to memory is not suppressed using program.
The following commands are used to set an inaccessible area.
SET MAP/INACCESSIBLE:
Sets an inaccessible region.
SHOW MAP/INACCESSIBLE:
Displays an inaccessible region.
CANCEL MAP/INACCESSIBLE:
Deletes a specified inaccessible region.
ENABLE MAP/INACCESSIBLE:
Enables a specified inaccessible region.
DISABLE MAP/INACCESSIBLE:
Disables a specified inaccessible region.
*: Memory operation command
Assemble/disassemble command
Load/save command
Built-in Variables and Functions (%BIT, %B, %H, %W, %L, %S, %D)
Formula
Vector
Memory window
Source window
Assemble window
Watch window
Local window
Symbol window
■ Access to memory area including inaccessible area
When there are inaccessible regions within those that are accessed, up to memory of inaccessible region is
accessed, an error is output when the inaccessible region is reached, and access to the memory is
suspended.
211
CHAPTER2 Dependence Functions
212
INDEX
INDEX
The index follows on the next page.
This is listed in alphabetic order.
213
INDEX
Index
A
Access
Access to Flash Memory ............................... 166
Access-prohibited Area.................................. 201
Access Attributes
Memory Area Access Attributes ...................... 37
Active Project
Active Project..................................................... 2
Active Project Configuration .............................. 4
Alignment Error Break
Alignment Error Break ............................. 79, 119
Assembly
Line Assembly ................................................. 26
Automatic Loading
Monitoring Program Automatic Loading ........ 101
B
Break
Alignment Error Break ............................. 79, 119
Break Functions................. 43, 73, 110, 170, 207
Code Break........................................ 44, 74, 111
Code Break (Software) .................................. 173
Code Event Break.................................... 76, 114
Data Break............................................... 45, 113
Data Event Break..................................... 77, 116
External Trigger Break............................. 80, 120
Forced Break ............................. 48, 81, 121, 209
Guarded Access Breaks .................................. 47
Restrictions when Suspended by Software Break
.................................................... 71, 107
Setting Performance-Buffer-Full Break.......... 137
Software Break .............................................. 208
Trace Buffer-full Break....................... 46, 78, 118
Build Function
Build Function .................................................... 6
Customize Build Function .................................. 7
C
C/C++
Notes on C/C++ Symbols ................................ 31
Specifying C/C++ Variables............................. 30
Cache Flush Control
Cache Flush Control ........................................ 69
Checker
RAM Checker Viewer .................................... 146
RAM Checker window ................................... 143
Using the RAM Checker ................................ 144
214
Code Break
Code Break ............................... 44, 74, 111, 171
Code Break (Software).................................. 173
Code Event Break
Code Event Break ................................... 76, 114
Command
Command execution during program execution
......................................................... 140
Commands Available during Execution of User
Program...................................... 72, 108
Commands Available
Commands Available during Execution of User
Program............................................ 161
Configuration
Active Project Configuration .............................. 4
Project Configuration ......................................... 4
Coverage
Measuring Coverage ....................................... 59
Coverage Measurement
Coverage Measurement Function ................... 58
Coverage Measurement Operation ................. 58
Coverage Measurement Procedures .............. 58
Displaying Coverage Measurement Result ..... 59
Setting Range for Coverage Measurement ..... 59
D
Data Break
Data Break ...................................... 45, 113, 175
Data Event Break
Data Event Break .................................... 77, 116
Data Watch Break................................................ 122
Data Watch Break ......................................... 178
Debug
Debug Functions with FR80S.......................... 98
Debug Functions
Debug Functions ........................................... 159
debug mode
Setting of debug mode .................................. 106
Debugger
Debugger Information................ 62, 95, 147, 202
Displayed Contents ................... 62, 95, 147, 202
Emulator Debugger ............................. 23, 65, 98
How to Check ............................ 62, 95, 147, 202
Monitor Debugger.................................... 23, 205
Simulator Debugger .................................. 23, 34
Type of debugger ............................................ 23
When the debugger has aborted................... 156
Debugging
DEBUG I/F .................................................... 152
INDEX
Ending debugging.......................................... 156
Power-on debugging ..................................... 141
Starting Debugging........................................ 151
Verification Items When Starting Debugging. 151
Delay branch instruction
Precaution on executing the delay branch
instruction ................................... 71, 107
Dependence
Project Dependence .......................................... 5
Dependencies
Analyzing Include Dependencies ...................... 9
Disassembly
Disassembly .................................................... 26
DRAM
DRAM Refresh Control.................................... 68
E
Editor
External Editor ................................................. 15
Standard Editor................................................ 13
emulation
External memory emulation........................... 105
Emulator
Emulator Debugger ............................. 23, 65, 98
Emulator Debugger
Features of Emulator Debugger for MB2100-01
.......................................................... 150
Error Jump
Error Jump Function ........................................ 11
Event Mode
Setting Event Mode ....................................... 137
Events
Setting Events ............................................... 138
Execution of User Program
Commands Available during Execution of User
Program............................................ 161
External Editor
External Editor ................................................. 15
External memory
External memory emulation........................... 105
External Tools
External Tools.................................................. 17
External Trigger Break
External Trigger Break............................. 80, 120
F
filter
Trace filter...................................................... 129
Flag T
Precautions on executing the instruction for
clearing flag T..............................71, 107
Flash Memory
Access to Flash Memory................................166
Examples of flash memory synchronization...168
Methods of flash memory synchronization.....166
What is flash memory synchronization?.........166
Flush Control
Cache Flush Control ................................69, 103
Forced Break
Forced Break......................48, 81, 121, 177, 209
Format
Display Format of Trace Data ....................54, 88
Project format.....................................................3
FR80S
Debug Functions with FR80S ..........................98
Frame
Frame Number ...................................51, 85, 129
frequencies
Operating frequencies....................................104
Functionality
Real-time Functionality in Running Program..107
G
Guarded Access Breaks
Guarded Access Breaks ..................................47
H
High-speed Communication
Standard Clock Frequency for High-speed
Communication .................................158
How to set
Access-prohibited Area ..................................201
Alignment Error Break..............................79, 119
Code Break ................................44, 74, 111, 171
Code Break (Software)...................................173
Code Event Break ....................................76, 114
Data Break .......................................45, 113, 175
Data Event Break .....................................77, 116
Data Watch Break ..................................123, 178
External Trigger Break .............................80, 120
Increasing Communication Speed during
Debugging.........................................158
Operating Environments of the Target ...........153
Real-time Monitoring ......................................140
Security ..........................................................155
Software Break...............................................208
STUB Function.................................................42
Trace Buffer-full Break .......................46, 78, 118
Trace Trigger Break .......................................176
How to use
How to use .............................................163, 164
215
INDEX
I
I/O Port
I/O Port Simulation (Input Port)........................ 38
I/O Port Simulation (Output Port)..................... 38
Inaccessible area
Access to memory area including inaccessible
area..................................... 94, 142, 211
Inaccessible area............................. 94, 142, 211
Input Port
I/O Port Simulation (Input Port)........................ 38
Instructio
Instruction Display ......................................... 195
Instruction
Display Only Instruction Operation ............ 54, 88
Instruction Simulation ...................................... 36
Interrupt
Interrupt Simulation.......................................... 39
J
Jump
Error Jump Function ........................................ 11
L
Line Assembly
Line Assembly ................................................. 26
Line Number
Line Number Information ................................. 28
Loading
Monitoring Program Automatic Loading ........ 101
Log file
Log file ........................................................... 145
logging
Memory access during logging ...................... 145
M
Macro
Macro List .................................................... 7, 18
Macros ............................................................. 18
Macro Expansion
Examples of Macro Expansion ........................ 21
Make Function
Make Function ................................................... 6
Management
Project Management Function........................... 3
Workspace Management Function .................... 2
MB2100-01
Features of Emulator Debugger for MB2100-01
.......................................................... 150
MCU
Setting MCU Operation Mode.................. 67, 102
Measurement
Coverage Measurement Function ................... 58
216
Coverage Measurement Operation ................. 58
Coverage Measurement Procedures .............. 58
Displaying Coverage Measurement Result ..... 59
Performance Measurement Function ............ 136
Setting Range for Coverage Measurement ..... 59
Measurement Unit
Setting Minimum Measurement Unit for Timer
......................................................... 137
Memory
Access to memory area including inaccessible
area .................................... 94, 142, 211
Functions for Memory Operations ................... 24
Memory access during logging...................... 145
Memory Area Access Attributes ...................... 37
Memory Simulation.......................................... 37
Memory Space
Simulation Memory Space .............................. 37
Minimum Measurement Unit
Setting Minimum Measurement Unit for Timer
......................................................... 137
Mode
Power-Save Consumption Mode Simulation ... 41
RAM Checker mode ...................................... 106
RealTimeMemory mode ................................ 106
Setting Event Mode ....................................... 137
Setting MCU Operation Mode ................. 67, 102
Setting of debug mode .................................. 106
Monitor
Monitor Debugger.................................... 23, 205
Monitoring
Monitoring...................................................... 163
O
Operating Conditions
Operating Conditions....................................... 34
Operating Environment
Operating Environment ................................... 22
Setting Operating Environment ....... 66, 100, 157
Operating Environments
Operating Environments of the Target .......... 153
Operating frequencies
Operating frequencies ............................. 70, 104
Operation Mode
Setting MCU Operation Mode ................. 67, 102
Operation Requirements
Operation Requirements ............................... 173
Operation requirements
Operation requirements................................. 143
Optional Settings
Example of Optional Settings .......................... 16
Options
Function of Setting Tool Options ..................... 10
Setting Options...................................... 7, 15, 17
Tool Options .................................................... 10
INDEX
Output Port
I/O Port Simulation (Output Port)..................... 38
P
Performance
Measurement Result ..................................... 184
Measuring Procedure .................................... 186
Performance Function ................................... 184
Remeasuring ................................................. 184
Performance Measurement
Performance Measurement Function ............ 136
Performance-Buffer-Full Break
Setting Performance-Buffer-Full Break.......... 137
Power-on Debug
Power-on Debug............................................ 164
Power-on debugging
Power-on debugging ..................................... 141
Power-on Reset
Power-on Reset............................................. 152
Power-Save Consumption Mode
Power-Save Consumption Mode Simulation ... 41
Program
Command execution during program execution
.......................................................... 140
Control during program execution ................. 160
Executing a program ..................................... 160
Executing Program ........................................ 138
Monitoring Program Automatic Loading ........ 101
Program stopping conditions ......................... 177
Real-time Functionality in Running Program
.................................................... 71, 107
Project
Active Project..................................................... 2
Active Project Configuration .............................. 4
Project ............................................................... 2
Project Configuration ......................................... 4
Project Dependence .......................................... 5
Project format .................................................... 3
Project Management Function........................... 3
Restrictions on Storage of Two or More Projects
2
Project Configuration
Active Project Configuration .............................. 4
Project Configuration ......................................... 4
Project Dependence
Project Dependence .......................................... 5
Project format
Project format .................................................... 3
Project Management
Project Management Function........................... 3
R
RAM
RAM Checker mode.......................................106
RAM Checker
RAM Checker Viewer.....................................146
RAM Checker window....................................143
Using the RAM Checker.................................144
RAM Checker mode
RAM Checker mode.......................................106
RAW Data
RAW Data Display .........................................192
Real-time
Real-time Functionality in Running Program....71
Real-time Functionality
Real-time Functionality in Running Program..107
RealTimeMemory mode
RealTimeMemory mode.................................106
Refresh Control
DRAM Refresh Control ....................................68
Register
Register Operations .........................................25
Value of TBR Register .............................71, 107
Reset
Reset Simulation ..............................................40
Resources
Required Resources ......................................206
S
Sampling
Trace Sampling ..........................................51, 85
Scope
Moving Scope ..................................................29
Scope ...............................................................29
Search Procedure
Specifying Symbol and Search Procedure.......29
Security
Security ..........................................................155
Sequencer
Control by Sequencer ............................124, 180
Operation of Sequencer .................................180
Setting Sequencer..........................................181
Specifications of Sequencer...........................181
Simulation
I/O Port Simulation (Input Port) ........................38
I/O Port Simulation (Output Port) .....................38
Instruction Simulation.......................................36
Interrupt Simulation ..........................................39
Memory Simulation ..........................................37
Power-Save Consumption Mode Simulation....41
Reset Simulation ..............................................40
Simulation Memory Space ...............................37
Simulation Range.............................................35
217
INDEX
Simulator
Simulator Debugger................................... 23, 34
Software
Code Break (Software) .................................. 173
Software Break
Restrictions when Suspended by Software Break
.................................................... 71, 107
Software Break .............................................. 208
Source
Display by Unit of Source Lines....................... 54
Source Display............................................... 196
Specification list
Specification list ............................................. 144
Standard Clock Frequency
Standard Clock Frequency for High-speed
Communication ................................. 158
Standard Editor
Standard Editor................................................ 13
Storage
Restrictions on Storage of Two or More Projects
.............................................................. 2
STUB
Outline of STUB Function ................................ 42
Subproject
Subproject.......................................................... 2
Switching methods
Switching methods......................................... 159
Symbol
Notes on C/C++ Symbols ................................ 31
Setting Symbol Information.............................. 27
Specifying Symbol and Search Procedure ...... 29
Types of Symbols ............................................ 27
Syntax
Syntax.............................................................. 11
Searching Trace Data ..................................... 55
Setting Trace ............................................. 52, 86
Trace ......................................................... 50, 83
Trace Data....................................................... 50
Trace Functions............................................. 188
Trace Sampling ............................................... 51
What is Trace ................................................ 188
Trace Buffer
Trace Buffer........................................... 128, 188
Trace Buffer-full Break
Trace Buffer-full Break ...................... 46, 78, 118
Trace Data
Acquiring Trace Data..................................... 188
Clearing Trace Data ........................................ 91
Display Format of Trace Data ......................... 88
Display Formats of Trace Data...................... 190
Displaying Trace Data ..................................... 87
How to Display Trace Data............................ 190
Saving Trace Data........................... 90, 133, 197
Searching for Trace Data .............................. 198
Searching Trace Data ..................................... 89
Trace Data............................................... 84, 128
Trace Data Display Position .......................... 190
Trace Filter
How to set ..................................................... 199
Trace Filter .................................................... 199
Trace filter
Trace filter ..................................................... 129
Trace Sampling
Trace Sampling ............................................... 85
Trace Trigger
How to set ..................................................... 200
Setting Trace Trigger..................................... 130
Trace Trigger ................................................. 200
Trace Trigger Break
Trace Trigger Break ...................................... 176
T
Target
Operating Environments of the Target........... 153
TBR Register
Value of TBR Register ............................. 71, 107
To Access the Flash Memory............................... 166
To Interrupt the Program Execution ..................... 170
Tool Options
Function of Setting Tool Options ..................... 10
Tool Options .................................................... 10
Tools
External Tools.................................................. 17
Trace
Clearing Trace Data......................................... 57
Display Format of Trace Data.......................... 54
Displaying Trace Data ..................................... 53
Notes on Trace Function ......................... 92, 134
Saving Trace Data ........................................... 56
218
U
User Program
Commands Available during Execution of User
Program...................................... 72, 108
V
Variables
Specifying C/C++ Variables ............................ 30
W
Workspace
Workspace ........................................................ 2
Workspace Management Function.................... 2
Workspace Management
Workspace Management Function.................... 2
Colophon
CM71-00329-6E
FUJITSU MICROELECTRONICS CONTROLLER MANUAL
FR FAMILY
SOFTUNETM WORKBENCH
USER’S MANUAL
for V6
November 2009 the sixth edition
Published
FUJITSU MICROELECTRONICS LIMITED
Edited
Sales Promotion Dept.
Download PDF

advertising