FUJITSU SEMICONDUCTOR
CONTROLLER MANUAL
CM71-00329-7E
FR FAMILY
SOFTUNE WORKBENCH
TM
USER’S MANUAL
for V6
Download from Www.Somanuals.com. All Manuals Search And Download.
FR FAMILY
SOFTUNE WORKBENCH
TM
USER’S MANUAL
for V6
FUJITSU SEMICONDUCTOR LIMITED
Download from Www.Somanuals.com. All Manuals Search And Download.
Download from Www.Somanuals.com. All Manuals Search And Download.
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 Semiconductor 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.
i
Download from Www.Somanuals.com. All Manuals Search And Download.
•
•
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 SEMICONDUCTOR device; FUJITSU
SEMICONDUCTOR 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 SEMICONDUCTOR 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
SEMICONDUCTOR or any third party or does FUJITSU SEMICONDUCTOR warrant non-infringement of any third-party's
intellectual property right or other right by using such information. FUJITSU SEMICONDUCTOR 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 SEMICONDUCTOR 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-2011 FUJITSU SEMICONDUCTOR LIMITED All rights reserved.
ii
Download from Www.Somanuals.com. All Manuals Search And Download.
CONTENTS
Basic Functions .......................................................................................... 1
Workspace Management Function ..................................................................................................... 2
Project Management Function ............................................................................................................ 3
Project Dependence ........................................................................................................................... 5
Make/Build Function ........................................................................................................................... 6
Customize Build Function .............................................................................................................. 7
Include Dependencies Analysis Function ........................................................................................... 9
Functions of Setting Tool Options ..................................................................................................... 10
Error Jump Function ......................................................................................................................... 11
Editor Functions ................................................................................................................................ 13
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
Dependence Functions ............................................................................ 33
Simulator Debugger .......................................................................................................................... 34
Instruction Simulation .................................................................................................................. 36
Memory Simulation ...................................................................................................................... 37
I/O Port Simulation ...................................................................................................................... 38
Interrupt Simulation ..................................................................................................................... 39
Reset Simulation ......................................................................................................................... 40
Low Power Consumption Mode Simulation ................................................................................. 41
STUB Function ............................................................................................................................ 42
2.1.8.1 Code Break ............................................................................................................................... 44
2.1.8.2 Data Break ................................................................................................................................ 45
2.1.8.3 Trace Buffer-full Break .............................................................................................................. 46
2.1.8.4 Guarded Access Break ............................................................................................................. 47
2.1.8.5 Forced Break ............................................................................................................................ 48
Measuring Execution Cycle Count .............................................................................................. 49
2.1.10 Trace ........................................................................................................................................... 50
2.1.10.1 Trace Sampling ........................................................................................................................ 51
2.1.10.2 Setting Trace ............................................................................................................................ 52
2.1.10.3 Displaying Trace Data .............................................................................................................. 53
2.1.10.4 Display Format of Trace Data ................................................................................................... 54
iii
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Emulator Debugger (MB2197) .......................................................................................................... 65
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
Notes on Executing Program ....................................................................................................... 71
Commands Available during Execution of User Program ........................................................... 72
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
Measuring Execution Cycle Count .............................................................................................. 82
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
Inaccessible Area ........................................................................................................................ 94
Checking Debugger Status .......................................................................................................... 95
Emulator Debugger (MB2198) .......................................................................................................... 98
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
Notes on Executing Program ..................................................................................................... 107
Commands Available during Execution of User Program ......................................................... 108
2.3.4.1 Code Break ............................................................................................................................. 111
iv
Download from Www.Somanuals.com. All Manuals Search And Download.
2.3.4.2 Data Break .............................................................................................................................. 113
2.3.4.3 Code Event Break .................................................................................................................. 114
2.3.4.4 Data Event Break ................................................................................................................... 116
2.3.4.5 Trace Buffer-full Break ............................................................................................................ 118
2.3.4.6 Alignment Error Break ............................................................................................................ 119
2.3.4.7 External Trigger Break ............................................................................................................ 120
2.3.4.8 Forced Break .......................................................................................................................... 121
2.3.4.9 Data Watch Break .................................................................................................................. 122
Control by Sequencer ................................................................................................................ 124
Measuring Execution Cycle Count ............................................................................................ 127
2.3.7.1 Display Format of Trace Data ................................................................................................. 132
2.3.7.2 Saving Trace Data .................................................................................................................. 133
2.3.7.3 Notes on Use of Tracing Function .......................................................................................... 134
Measuring Performance ............................................................................................................ 136
2.3.8.1 Performance Measurement Procedures ................................................................................. 137
2.3.8.2 Displaying Performance Measurement Data .......................................................................... 139
Real-time Monitoring ................................................................................................................. 140
2.3.10 Power-on Debugging ................................................................................................................. 141
2.3.11 Inaccessible Area ...................................................................................................................... 142
2.3.12 RAM Checker ............................................................................................................................ 143
2.3.13 Checking Debugger Status ........................................................................................................ 147
Emulator Debugger (MB2100-01) ................................................................................................... 150
Starting debugging .................................................................................................................... 151
2.4.1.1 Power-on Reset ...................................................................................................................... 152
2.4.1.2 Operating Environments of the Target ................................................................................... 153
2.4.1.3 Security ................................................................................................................................... 155
Ending debugging ...................................................................................................................... 156
Efficiently Executing Debugging ................................................................................................ 157
2.4.3.1 Increasing Communication Speed during Debugging ............................................................ 158
2.4.3.2 Switching Debug Function ...................................................................................................... 159
Executing Program .................................................................................................................... 160
2.4.4.1 Setting/Release of Debug Functions ...................................................................................... 161
2.4.4.2 Monitoring ............................................................................................................................... 163
2.4.4.3 Power-on Debug ..................................................................................................................... 164
To Access the Flash Memory .................................................................................................... 166
To Interrupt the Program Execution [Break] .............................................................................. 170
2.4.6.1 Code Break (Hardware) .......................................................................................................... 171
2.4.6.2 Code Break (Software) ........................................................................................................... 173
2.4.6.3 Data Break .............................................................................................................................. 175
2.4.6.4 Trace Trigger Break ................................................................................................................ 176
2.4.6.5 Forced Break .......................................................................................................................... 177
2.4.6.6 Data Watch Break .................................................................................................................. 178
2.4.6.7 Sequencer .............................................................................................................................. 180
2.4.6.8 Guarded Access Break ........................................................................................................... 182
Measuring the Program Execution Time ................................................................................... 183
2.4.7.1 Measuring the Program Execution Cycle Count ..................................................................... 184
v
Download from Www.Somanuals.com. All Manuals Search And Download.
2.4.7.2 Measuring Event-to-Event Execution Cycle Count [Performance Measurement] .................. 186
Viewing Program Execution History [Trace] .............................................................................. 189
2.4.8.1 Displaying Trace Data ............................................................................................................ 191
2.4.8.2 Saving Trace Data .................................................................................................................. 198
2.4.8.3 Searching for Trace Data ....................................................................................................... 199
2.4.8.4 Obtaining Only Trace Data with Specified Attributes .............................................................. 200
2.4.8.5 Ending Trace Acquisition in Specified Conditions .................................................................. 201
Disabling Memory Access to Specified Area ............................................................................. 202
2.4.10 Displaying Messages Output from the User Program on Debugger ......................................... 203
2.4.11 Checking Debugger Status ........................................................................................................ 205
Monitor Debugger ........................................................................................................................... 208
Resources Used by Monitor Program ....................................................................................... 209
2.5.2.1 Software Break ....................................................................................................................... 211
2.5.2.2 Forced Break .......................................................................................................................... 212
Measuring Execution Time ........................................................................................................ 213
Inaccessible Area ...................................................................................................................... 214
vi
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
- 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
4
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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, refer to Section "1.5 Include
■ 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
■ 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
Project file
%(LOADMODULEFILE)
%(PRJFILE)
Workspace file
%(WSPFILE)
%(PRJPATH)
Project directory
Target file directory
Object file directory
List file directory
Project construction name
Environment variable
Temporary file
%(ABSPATH)
%(OBJPATH)
%(LSTPATH)
%(PRJCONFIG)
%(ENV[])
%(TEMPFILE)
7
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER1 Basic Functions
Note:
When checking [Use the Output window], note the following:
• Once a tool is activated, Make/Build activated until the tool is terminated.
• 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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, refer to Section "1.11 Macro Descriptions Usable in Manager". For details about the tool
options for each tool, refer to the manual of each tool.
10
Download from Www.Somanuals.com. All Manuals Search And Download.
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
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
%f
Semantics
Interpret as source file name and inform editor.
Interpret as line number and inform editor.
Become keyword when searching help file.
Skip any desired character.
%1
%h
%*
%[char]
Skip as long as characters in [ ] continues.
11
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER1 Basic Functions
● Font changing function
The font size for character string displayed in the Edit window can be selected.
14
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER1 Basic Functions
Table 1.9-1 List of Special Characters for Analyzing Error Message
Parameter
%%
Semantics
Means specifying % itself
Means specifying file name
Means specifying line number
Means specifying project path
%f
%l
%x
■ 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
UltraEdit32
%f + %l
%f/%l/1
%f(%l)
TextPad32
PowerEDITOR
Codewright32
Hidemaru for Win3.1/95
ViVi
%f -g%l
%f -g%l
/j%l:1 %f
/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
Download from Www.Somanuals.com. All Manuals Search And Download.
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.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
■ 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
The directory symbol \ is added to the option directories in Table 1.11-1 but not to the macro directories in
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER1 Basic Functions
Table 1.11-1 List of macros that can be specified 1
Parameter
%f
Meaning
Passed as full-path name of file. (*1)
Passed as main file name of file. (*1)
Passed as directory of file. (*1)
%F
%d
%e
Passed as extension of file. (*1)
%a
Passed as full-path name of load module file.
Passed as main file name of load module file. (*2)
Passed as directory of load module file. (*2)
Passed as extension of load module file. (*2)
Passed as directory of project file. (*2)
Passed as main file name of project file. (*2)
Passed as %.
%A
%D
%E
%x
%X
%%
Table 1.11-2 List of macros that can be specified 2
Parameter
Meaning
Passed as full-path name of file. (*1)
%(FILE)
%(LOADMODULEFILE)
%(PRJFILE)
Passed as full-path name of load module file. (*2)
Passed as full-path name of project file. (*2)
Passed as full-path name of workspace file.(*3)
Passed as directory of project file. (*2)
Passed as directory of target file. (*2)
%(WSPFILE)
%(PRJPATH)
%(ABSPATH)
%(OBJPATH)
Passed as directory of object file. (*2)
%(LSTPATH)
Passed as directory of list file. (*2)
%(PRJCONFIG)
%(ENV[Environment variable])
Passed as project configuration name. (*2)(*3)
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
[PATH]
Meaning
Directory of file
Directory of file
Main file name of file
Extension of file
[RELPATH]
[NAME]
[EXT]
[SHORTFULLNAME] Full path name of short file
[SHORTPATH]
[SHORTNAME]
[FOLDER]
Directory of short file
Main file name of short file
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 workspace-
incompatible Workbench.
20
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER1 Basic Functions
■ Examples of Macro Expansion
If the following workspace is opened, macro expansion is performed as follows:
Workspace :
C:\Wsp\Wsp.wsp
C:\Wsp\Sample\Sample.prj
Active project :
Active project configuration - Debug
Object directory :
C:\Wsp\Sample\Debug\Obj\
Subproject :
C:\Subprj\Subprj.prj
Active project configuration - Release
Object directory :
Target file :
C:\Subprj\Release\Obj\
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
: C:\Subprj\Release\Abs\Subprj.abs
: SUBPRJ.abs
: C:\Subprj\Release\Abs\
: .abs
%(FILE[FOLDER]) : Source Files\Common
%(PRJFILE) : C:Subprj\Subprj.prj
Focus is not in the SRC tab of project window.
%a
: C:\Wsp\Sample\Debug\Abs\Sample.abs
%A
: Sample.abs
%D
: C:\Wsp\Sample\Debug\Abs\
: C:\Wsp\Sample\Sample.prj
%(PRJFILE)
[Example] Macro expansion in customize build
Release configuration of Subprj project is built.
%(FILE)
: C:\Subprj\LongNameFile.c
%(FILE[PATH])
%(FILE[RELPATH])
%(FILE[NAME])
%(FILE[EXT])
: C:\Subprj
: .
: LongNameFile
: .c
%(FILE[SHORTFULLNAME]) : C:\Subprj\LongFi~1.
%(FILE[SHORTPATH])
%(FILE[SHORTNAME])
%(PRJFILE[RELPATH])
%(PRJPATH)
: C:\Subprj
: LongFi~1
: ..\Subprj
: C:\Subprj
%(OBJPATH)
%(PRJCONFIG)
: C:\Subprj\Release\Obj
: Relase
%(ENV[FETOOL])
%(TEMPFILE)
: 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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 details, 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 details, refer to "3.13 Watch Window" in "SOFTUNE Workbench Operation Manual".
24
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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/
Table 1.17-1 Examples of Specifying Variables
Example of
Example of Variables
Specifying
Variables
Semantics
Regular
Variable
data
Value of data
int data;
Pointer
Array
*p
Value pointed to by p
char *p;
a[1]
Value of second element of a
char a[5];
Structure
st, c
stp->c
Value of member c of st
Value of member c of the
structure to which stp points
struct stag{
char c;
int ;
struct stag st;
struct stag *stp;
Union
uni.i
Value of member i of uni
union utag{
char c;
int i;
}uni;
Address of
variable
&data
ri
Address of data
Same as i
int data;
Reference
type
inti i;
int &ri = i;
Class
cls.i
X::i
Value of member i of class X
Same as cls.i
class X{
static int i;
}cls;
int X::i;
Member
pointer
class
clo.*ps
clp->*ps
Same as clo.cs
Same as clp->cs
class X{
short cs;
}clo;
short X::* ps=&X::cs;
X*clp=&clo;
30
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER1 Basic Functions
32
Download from Www.Somanuals.com. All Manuals Search And Download.
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, refer to the table below:
Basic use
Fs911s.exe (FR Family)
20MB
CODE size of target program
DATA size of target program
per 64 KB
per 64 KB
6MB
1.5MB
Insufficient RAM space will lead to an extreme decrease in simulation speed.
34
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
Target program size
CODE
DATA
XX(KB)
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 consumption 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, refer to 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
Low power consumption mode simulation
35
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
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
CODE
Semantics
Instruction operation enabled
Data read enabled
READ
WRITE
undefined
Data write enabled
Attribute undefined (access prohibited)
37
Download from Www.Somanuals.com. All Manuals Search And Download.
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: input port simulation, and output port
simulation. Input port simulation has the following types:
•
•
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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]-[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/FR80 as follows.
FR
:Standby mode Control Register
FR80 :Reset Control Register
40
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.1.6
Low Power Consumption Mode Simulation
This section describes the low power consumption mode simulation executed.
■ Low Power Consumption Mode Simulation
The MCU enters the low power 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Break (STUB) processing
Breakpoint is hit
NO
Is there a breakpoint
command list?
Execution
restarts
YES
Process a breakpoint command lit
(execute commands).
Re-execute (is no-break
specified)?
YES
NO
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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.
Break points can be set as follows.
•
•
For simulator debugger of normal speed: 65535 points
For simulator debugger of high speed: 67 points
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.
•
Dialog
- "Code" tab in breakpoint setting dialog
For details, refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
•
Window
- Source window/disassemble window
For details, refer to "3.7 Source Window" or "3.9 Disassemble Window" in "SOFTUNE Workbench
Operation Manual".
•
Command
- SET BREAK
For details, refer to "3.1 SET BREAK (type 1)" in "SOFTUNE Workbench Command Reference
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "3.8 SET DATABREAK (type 1)" in "SOFTUNE Workbench Command Reference
Manual".
•
Dialog
- Data tab in breakpoint setting dialog
For details, 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "4.12 SET TRACE(type 2)" in "SOFTUNE Workbench Command Reference
Manual".
•
Dialog
- Trace setting dialog
For details, refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
46
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "4.6.2 Abort" in "SOFTUNE Workbench Operation Manual".
•
Command
- ABORT
For details, 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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:
- Load/Save of coverage data:
- Clearing coverage data:
LOAD/COVERAGE. SAVE/COVERAGE
CLEAR COVERAGE
CANCEL COVERAGE
- Canceling coverage measurement range:
58
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.1.11.1
Coverage Measurement Procedures
The procedure for coverage measurement is as follows:
- Set range for coverage measurement
- Measure coverage
- Display measurement result
: SET COVERAGE
: GO, STEP, CALL
: 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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 +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F C0(%)
FF000000
FF000010
FF000020
FF000030
FF000040
FF000050
FF000060
FF000070
FF000080
- - - - - - - - - - - - - - - - 100.0
- - - - - - - - - - - - - - - - 100.0
. . . . - - - . . . . . . . . .
- - - - - - - - - - - - - - - - 100.0
- . - - - - - - - - - - - - - - 93.7
- - - - - - - - - - - - - - - - 100.0
18.6
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
0.0
0.0
0.0
Display the access status of every 1 address
.
-
:
:
No access
Access
60
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
- Displays per source line (Specify /SOURCE for the command qualifier)
>SHOW COVERAGE/SOURCE main
sample.c
*
*
66: void
67: {
68:
main()
int
i;
69:
struct table *value[16];
70:
*
.
71:
72:
for (i=0; i<16; i++)
value[i] = &target[i];
73:
.
.
74:
75: }
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
* 000803EE
main()
\main:
* 000803EE 1781
* 000803F0 0F12
sample.c$71
ST
ENTER #048
for (i=0; i<16; i++)
LDI:8 #00,R12
RP,@-R15
. 000803F2 C00C
. 000803F4 3FFC
. 000803F6 2FF0
. 000803F8 C10C
. 000803FA AAC0
. 000803FC EB15
. 000803FE 9F820003C1E8
sample.c$72
ST
LD
R12,@(R14,-4)
@(R14,-4),R0
LDI:8 #10,R12
CMP
BGE
R12,R0
00080428
LDI:32 #0003C1E8,R2
value[i] = &target[i];
. 00080404 2FF0
. 00080406 B420
. 00080408 2FF1
. 0008040A C14C
. 0008040C AFC1
. 0008040E B75C
LD
LSL
LD
@(R14,-4),R0
#2,R0
@(R14,-4),R1
LDI:8 #14,R12
MUL
MOV
R12,R1
MDL,R12
The execution situation at each chance instruction is displayed.
. :
* :
No execution
Execution
Blank : Instruction outside the scope of the coverage measurement
61
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, 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 SEMICONDUCTOR LIMITED 1997
LICENCED MATERIAL -
PROGRAM PROPERTY OF FUJITSU SEMICONDUCTOR 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.2
Emulator Debugger (MB2197)
This section describes the emulator debugger functions that are available when the
emulator debugger (MB2197) is specified.
■ Emulator Debugger
When choosing the emulator debugger from the setup wizard, select one of the following emulators.
•
•
MB2197
MB2198
The following description explains the case when MB2197 has been selected. The emulator debugger
(MB2197) is software that controls an emulator from a host computer via a communications line (RS-232C
or LAN) to evaluate programs.
Products targeted for debugging must have the following DSUs (debug support units):
•
•
•
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.2.1
Setting Operating Environment
This section explains the operating environment setup.
■ Setting Operating Environment
For emulator debugger (MB2197), 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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 emulator debugger (MB2197) 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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 (MB2197) 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 T-flag, 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
The emulator debugger (MB2197) allows you to use certain commands during the execution of a user
program.
For more details, refer to "■ 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
Limitations and
Restrictions
Major Commands
MCU reset
Memory operation (Read/Write)
-
1.3 RESET
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 assembly, Disassembly
6.1 ASSEMBLE
6.2 DISASSEMBLE
-
Notes:
cases when a user program is executed.
- [Debug] - [Run] - [Go] menu
- [Go] button on the debug toolbar
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.2.4
Break
The emulator debugger (MB2197) 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
The emulator debugger (MB2197) 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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:
Software:
5 points
4096 points
When the code break occurs, the following message appears at the status bar.
- Hardware
Break at 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)
For details, refer to "3.1 SET BREAK (type 1)" in "SOFTUNE Workbench Command Reference
Manual".
•
•
Dialog
- "Code" tab in breakpoint setting dialog
For details, refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
Window
- Source window/disassemble window
For details, refer to "3.7 Source Window" or "3.9 Disassemble Window" in "SOFTUNE Workbench
Operation Manual".
74
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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)
For details, refer to "3.19 SET CODEEVENT" in "SOFTUNE Workbench Command Reference
Manual".
•
Dialog
- "Code" tab in event setting dialog
For details, 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
For details, refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command
Reference Manual".
Dialog
- Trace setting dialog
For details, refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
76
Download from Www.Somanuals.com. All Manuals Search And Download.
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)
For details, refer to "3.24 SET DATAEVENT" in "SOFTUNE Workbench Command Reference
Manual".
•
Dialog
- "Data" tab in event setting dialog
For details, 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
For details, refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command
Reference Manual".
Dialog
- Trace setting dialog
For details, refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
77
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command Reference
Manual".
•
Dialog
- Trace setting dialog
For details, refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
78
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "3.37 ENABLE ALIGNMENTBREAK" in "SOFTUNE Workbench Command
Reference Manual".
•
Dialog
- "Emulation" tab in debug environment setting dialog
For details, refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
79
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "3.35 SET TRIGGER" in "SOFTUNE Workbench Command Reference
Manual".
•
Dialog
- "Emulation" tab in debug environment setting dialog
For details, refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
80
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "4.6.2 Abort" in "SOFTUNE Workbench Operation Manual".
•
Command
- ABORT
For details, 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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 (MB2197)
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 (MB2197) 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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. (*)).
However, access to memory is not suppressed using program.
The following commands are used to set an inaccessible area.
SET MAP/INACCESSIBLE:
SHOW MAP/INACCESSIBLE:
Sets an inaccessible region.
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
- 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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.2.8
Checking Debugger Status
This section explains how to check information about the emulator debugger (MB2197).
■ Debugger Information
The emulator debugger (MB2197) 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
For details, 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 SEMICONDUCTOR LIMITED 1997
LICENCED MATERIAL -
PROGRAM PROPERTY OF FUJITSU SEMICONDUCTOR 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
MCU type
: Current debugger type
: Currently selected target MCU
VCpu dll name
VCpu dll version
: Path and name of the currently used VCpu dll
: Version of the currently used virtual debugger DLL
96
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.3
Emulator Debugger (MB2198)
This section describes the emulator debugger functions that are available when the
emulator debugger (MB2198) is specified.
■ Emulator Debugger
When choosing the emulator debugger from the setup wizard, select one of the following emulators.
•
•
MB2197
MB2198
The following description explains the case when MB2198 has been selected. The emulator debugger
(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, refer to 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)
❍ (write access only)
❍ (write access only)
❍
❍
❍
❍
❍
❍
Trace trigger
Performance
Real-time memory
Power-on Debugging
✕
RAM checker
❍(write access only)
❍
* Includes the following three types:
• Hardware
• Hardware / Count
• Software
98
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
Notes:
When FR80S is used, there are some restrictions on the debug functions as follows:
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.3.1
Setting Operating Environment
This section explains the operating environment setup.
■ Setting Operating Environment
For emulator debugger (MB2198), 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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.3.1.1
Monitoring Program Automatic Loading
The emulators debugger (MB2198) can update the monitoring program automatically at
emulator startup.
■ Monitoring Program Automatic Loading
When emulator debugger (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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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 T-
flag, 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
The emulator debugger (MB2198) allows you to use certain commands during the execution of a user
program.
For more details, refer to "■ 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
MCU reset
Restrictions
Major Commands
1.3 RESET
-
5.1 EXAMINE
5.2 ENTER
Memory operation
(Read/Write)
1. Emulation memory only operable Read only
enabled in real-time monitoring area.
5.3 SET MEMORY
5.4 SHOW MEMORY
5.5 SEARCH MEMORY
5.8 COMPARE
5.9 FILL
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.
5.10 MOVE
5.11 DUMP
6.1 ASSEMBLE
6.2 DISASSEMBLE
Line assembly, Disassembly
Break Point Settings
1. Emulation memory only enabled Real-time
monitoring area, Disassembly only enabled
2. Not possible when the DSU3 evaluation chip is used.
3.1 SET BREAK (type 1)
3.4 SET BREAK (type 4)
3.6 CANCEL BREAK
Oprable only when "Breakpoint Settings during
Execution" is enabled in the execution tab of the
debug environment set dialog.( *)
3.7 ENABLE BREAK
3.8 DISABLE BREAK
3.10 SET DATABREAK (type 2)
3.12 CANCEL DATABREAK
3.13 ENABLE DATABREAK
3.14 DISABLE DATABREAK
108
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
Notes:
cases when a user program is executed.
- [Debug] - [Run] - [Go] menu
- [Go] button on the debug toolbar
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.3.4
Break
The emulator debugger (MB2198) 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
The emulator debugger (MB2198) 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
DSU
❍
❍
✕
Adapter
❍
FR60Lite
❍
FR80S
❍
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)
✕
❍
✕
❍
❍
❍
❍
*: FR60Lite does not support these functions because they are enhanced by "Code Break (Hardware/
count)", "Sequencer (31evels+restart)", and "Trace Trigger".
110
Download from Www.Somanuals.com. All Manuals Search And Download.
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:
Software:
2 points
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)
For details, refer to "3.1 SET BREAK (type 1)" in "SOFTUNE Workbench Command Reference
Manual".
•
•
Dialog
- "Code" tab in breakpoint setting dialog
For details, refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
Window
- Source window/disassemble window
For details, 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.
111
Download from Www.Somanuals.com. All Manuals Search And Download.
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,
• The pass count increases just by fetching an instruction of a break address.
112
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "3.9 SET DATABREAK (type 2)" in "SOFTUNE Workbench Command
Reference Manual".
•
Dialog
- "Data" tab in breakpoint setting dialog
For details, 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.
Note:
The data break requires the following caution:
113
Download from Www.Somanuals.com. All Manuals Search And Download.
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)
For details, refer to "3.19 SET CODEEVENT" in "SOFTUNE Workbench Command Reference
Manual".
•
Dialog
- "Code" tab in event setting dialog
For details, 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.
114
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command
Reference Manual".
Dialog
- Trace setting dialog
For details, refer to "4.4.8 Trace” in "SOFTUNE Workbench Operation Manual".
115
Download from Www.Somanuals.com. All Manuals Search And Download.
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)
For details, refer to "3.24 SET DATAEVENT" in "SOFTUNE Workbench Command Reference
Manual".
•
Dialog
- "Data" tab in event setting dialog
For details, 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.
116
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command
Reference Manual".
Dialog
- Trace setting dialog
For details, refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
117
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command Reference
Manual".
•
Dialog
- Trace setting dialog
For details, refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
118
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "3.37 ENABLE ALIGNMENTBREAK" in "SOFTUNE Workbench Command
Reference Manual".
•
Dialog
- "Emulation" tab in debug environment setting dialog
For details, refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
119
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "3.35 SET TRIGGER" in "SOFTUNE Workbench Command Reference
Manual".
•
Dialog
- "Emulation" tab in debug environment setting dialog
For details, refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
120
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "4.6.2 Abort" in "SOFTUNE Workbench Operation Manual".
•
Command
- ABORT
For details, refer to "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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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 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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.3.5
Control by Sequencer
The emulator debugger (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 (MB2198) 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
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 Specifications
3 levels + restart conditions
Number of levels
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
124
Download from Www.Somanuals.com. All Manuals Search And Download.
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
NO
Event 1
YES
YES
Event 4
NO
Level 2
NO
Event 3
YES
YES
Event 4
NO
Level 3
NO
Event 2
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.3.7
Trace
This section describes the trace function of the emulator debugger (MB2198).
The program execution history can be analyzed in detail using the data recorded by
trace.
■ Trace Buffer
One data unit stored in the trace buffer is called a frame.
Table 2.3-6 Number of frames in emulator debugger (MB2198) trace buffer
MCU operation mode
DSU3
64Kbyte
DSU4
256Kbyte
Remarks
Full trace
Real time
64Kbyte
256Kbyte
Internal trace
64 to 512 frames
64 to 512 frames
Varies depending on the
evaluation chip used.
External trace
65536 frames
65536 frames
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:
Only information for access to address range specified by trace filter function
128
Download from Www.Somanuals.com. All Manuals Search And Download.
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.
For details, 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 write-
accessed 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
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Address
Description
Memory location (Address bits can be masked.)
32-bit data (Data bits can be masked.) Not applicable to codes
Byte, halfword, or word
Data
Access size
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)
Resume
Suspend Suspend
Start Resume Suspend Resume
Program flow
Trace buffer
130
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Specify RAW data
Specify Source
Display Bus Cycles:
Display by Unit of Source Lines:
■ 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
2
1
3
2
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.
For details, 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
2
1
3
2
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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 1,9000,18999,1000
event = 1 -> 2
Minimum
execution time
count
min time = 11637.0
max time = 17745.0
avr time = 14538.0
Maximum
execution time
0.0 -
9000.0 -
8999.0
9999.0
0
0
10000.0 -
11000.0 -
12000.0 -
13000.0 -
14000.0 -
15000.0 -
16000.0 -
17000.0 -
18000.0 -
19000.0 -
10999.0
11999.0
12999.0
13999.0
14999.0
15999.0
16999.0
17999.0
18999.0
0
Average
execution time
2
19
52
283
92
3
1
0
Total measuring count
0
total
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 1,13000,16999,500
event
= 1 -> 2
count
min time = 11637.0
max time = 17745.0
avr time = 14538.0
0.0 -
13000.0 -
13500.0 -
14000.0 -
14500.0 -
15000.0 -
15500.0 -
16000.0 -
16500.0 -
17000.0 -
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
Lower time limit for display
Upper time limit for display
1
1
total
452
139
Download from Www.Somanuals.com. All Manuals Search And Download.
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 (MB2198) 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
For details, refer to "1.47 SET REALTIMEMEMORYAREA" in "SOFTUNE Workbench Command
Reference Manual".
•
Dialog
- "Realtime memory area" tab in debug environment setup dialog
For details, 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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.3.10
Power-on Debugging
This section explains power-on debugging.
■ Power-on debugging
The emulator debugger (MB2198) 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 25s while user power supply descends from 0.9V to 0.5V
CC
CC
- 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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. (*)).
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
- 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
MB2198
- Emulator:
- Adaptor board:
- Communication device:
- Setting of debug mode:
Has the external trace function.
USB
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
■ Specification list
Table 2.3-8 RAM Checker Specification List
Numbers for monitoring points
8 points
Size
byte/halfword/word
Max 4 points
Event function
Sampling rate
Updating interval
Type of log file
1ms (fixed)
100ms (fixed)
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
■ Memory access during logging
During program execution, the emulator debugger (MB2198) 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:
NTFS:
Others:
Up to 4GB
No restriction
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.3.13
Checking Debugger Status
This section explains how to check information about the emulator debugger (MB2198).
■ Debugger Information
The emulator debugger (MB2198) 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
For details, 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 SEMICONDUCTOR LIMITED 1997
LICENCED MATERIAL -
PROGRAM PROPERTY OF FUJITSU SEMICONDUCTOR 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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
MCU type
: Current debugger type
: Currently selected target MCU
VCpu dll name
VCpu dll version
: Path and name of the currently used VCpu dll
: Version of the currently used virtual debugger DLL
148
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
DSU type
: Currently used DSU type
: Version of monitor (common)
: Version of monitor (dependent)
: Configuration board ID
Common version
Monitor version
Configuration board ID
Configuration board version : Configuration board version
MCU frequency
Communication device
Baud rate
: Operating frequency
: Device type
: 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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4
Emulator Debugger (MB2100-01)
This section describes the emulator debugger (MB2100-01) functions.
■ Features of Emulator Debugger (MB2100-01)
The emulator debugger (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 six functions:
• Code break (hardware)
• Data break
• Data watch break
• Sequencer
• Trace trigger
• Performance trigger
The number of points that can be set varies depending on the function and products.
For details, refer to the Hardware Manual for the product type you are using.
150
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.1
Starting debugging
This section describes the method of starting debugging.
■ 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.
•
•
•
DEBUG I/F
Verify whether the DEBUG I/F is enabled or effective.
Operating environments of the target
Verify whether the operating environment of the target has a problem.
Security
Verify whether the security function has been enabled.
151
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.1.1
Power-on Reset
This section describes how to issue the power-on reset.
■ Issuing the Power-on Reset
To start the emulator debugger (MB2100-01), enable the DEBUG I/F. For details of DEBUG I/F, refer to
the Hardware Manual for the product type you are using.
For the emulator debugger (MB2100-01), the power-on reset is recommended.
When the dialog of Figure 2.4-1 is displayed while debugging starts, DEBUG I/F is disabled. Issue the
power-on reset. For details of issuing the power-on reset, refer to the Hardware Manual for the product type
you are using.
Figure 2.4-1 Message Prompting Power-on Reset
Notes:
• When the reference frequency of communication speed set when the debugger starts is incorrect,
the following problems 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.
• To enable DEBUG I/F without using the power-on reset, refer to the Hardware Manual for the
product type you are using.
152
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.1.2
Operating Environments of the Target
This section describes the setting of the target operating environments.
■ Operating Environments of the Target
In the emulator debugger (MB2100-01), it is necessary to set the following items according to the operating
environments of the target.
•
•
Reference frequency of communication speed
Length of DEBUG I/F cable
These settings influence the communication speed of the debugger.
● Reference frequency of communication speed
Set main clock (MCLK).
The communication speed between emulator (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 emulator (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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
Notes:
• When the actual value is different from the input value for the communication speed of the
reference frequency, the debugger cannot be started.
• For details on the DEBUG I/F (interface), refer to "EMBEDDED EMULATOR MB2100-01-E
OPERATION MANUAL".
154
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.1.3
Security
This section describes the security.
■ Security
When beginning to debug it when the security function of target MCU is effective, it is necessary to enter
the password in the emulator debugger (MB2100-01).
For information of security function, refer to the Hardware Manual for the product type you are using.
■ 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 of password, refer to "the description of Password" in chapter "OCD (On Chip Debugger)" of
the hardware manual of the product you are using.
Figure 2.4-3 Debugger Connection Password
Notes:
• 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.
• If the user system enters a bus sleep state, release the bus sleep state and press the OK button.
For details of the bus sleep, refer to the Hardware Manual for the product type you are using.
155
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.2
Ending debugging
This section describes the method of ending debugging.
■ 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 emulator (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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.3
Efficiently Executing Debugging
This section describes setting for efficient debugging.
■ Setting Operating Environment
Emulator debugger (MB2100-01) can perform efficient debugging by setting the following items in
accordance with the operating environment and applications.
•
•
Standard high-speed communication
For details, refer to "2.4.3.1 Increasing Communication Speed during Debugging".
Debug function
For details, refer to "2.4.3.2 Switching 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 value for the subsequent operation.
157
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.3.1
Increasing Communication Speed during Debugging
This section describes setting for increasing the communication speed during
debugging.
■ Standard High-speed Communication
In the case of the emulator debugger (MB2100-01), when the standard 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 high-speed communication is different in optimal value
depending on the MCU. For details, refer to the Hardware Manual for the product type you are using.
■ How to set
Perform the following method to control the standard high-speed communication.
● Dialog
- [Frequency] tab in debug environment dialog
For details, refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
● Command
- SET FREQUENCY
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Some of the debugging features are exclusive features which cannot be set simultaneously. Exclusive
features require to switch modes depending on 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)
Measures the time from the execution start to break.
- Performance mode
Measures the transit time between two points of set event.
Pass count mode
This mode selects the using method for the pass count function.
- Sequential mode
This mode uses the sequencer function.
The pass count break cannot be used.
- Pass count break mode (default)
This mode uses the hardware/count break.
The sequencer function cannot be used.
■ Switching methods
Methods of switching to the execution time mode and the pass count mode are described below.
● Dialog
- [Event] tab in debug environment dialog
For details, refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
● Command
- SET MODE
For details, refer to "1.7 SET MODE (type 2)" in "SOFTUNE Workbench Command Reference
Manual".
159
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.4
Executing Program
This section describes the method of executing a user program.
■ 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.
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
The emulator debugger (MB2100-01) is capable of controlling the following during the execution of a user
program.
•
•
•
Debug function setting/release
Monitoring
Power-on debug
160
Download from Www.Somanuals.com. All Manuals Search And Download.
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 the emulator debugger
(MB2100-01). 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, refer to
"● Debugger" in "SOFTUNE Workbench Command Reference Manual".
Table 2.4-1 Commands Available during Execution of User Program (1 / 2)
*1
Function
Major Command name
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
Set/delete breakpoint
6.1 ASSEMBLE
6.2 DISASSEMBLE
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.31 SET SEQUENCE (type2)
3.33 CANCEL SEQUENCE
3.34 ENABLE SEQUENCE
3.35 DISABLE SEQUENCE
Set/delete trace trigger
4.28 SET TRACETRIGGER
4.30 CANCEL TRACETRIGGER
4.31 ENABLE TRACETRIGGER
4.32 DISABLE TRACETRIGGER
161
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
Table 2.4-1 Commands Available during Execution of User Program (2 / 2)
Function Major Command name
4.15 SET TRACE (type2)
*1
Trace operation
4.18 CLEAR TRACE
4.20 ENABLE TRACE (type2)
4.22 DISABLE TRACE (type2)
4.23 SEARCH TRACE
4.24 SET DATATRACEAREA
4.26 CANCEL DATATRACEAREA
4.33 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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.4.2
Monitoring
This section describes the monitoring function.
■ 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 value for the address specified in the memory window
1. Display the memory window.
•
Select the [View] - [Memory] menu.
Specify the address to be monitored.
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 memory value for the address or variable specified in the watch
window
1. Display the watch window.
•
Select the [View] - [Watch] menu.
Register the watch variable to be monitored.
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.
Select the memory window in the [Monitoring] tab. For details, refer to "4.7.2.3 Setting Debug
Environment" of "SOFTUNE Workbench Operation Manual".
3. Execute the program.
According to the above, a portion with variation during the program execution is displayed in red.
163
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.4.3
Power-on Debug
This section describes power-on debug function.
■ 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 recommended that you run an user program which does nothing, such as infinite loops.
When the program execution is started, a dialog is displayed to confirm whether or not to abort the
program execution.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.5
To Access the Flash Memory
This section describes the access method to the flash memory.
■ Access to Flash Memory
In the emulator debugger (MB2100-01), 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. The stored data and the contents
of flash memory must be matched.
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
Download from Www.Somanuals.com. All Manuals Search And Download.
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 performing one of the followings while updating the target flash memory area, synchronization is
automatically executed.
- 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:
If the communication speed of the debugger is normal, it takes some time to synchronize the flash
memory.
To shorten flash memory synchronization processing, set the communication speed of the debugger
167
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
■ Examples of flash memory synchronization
● In the case of [Flash -> Debugger]
An image in the case where the flash memory synchronization [Flash -> Debugger] has been performed is
shown below.
Figure 2.4-4 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]
168
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
● In the case of [Debugger -> Flash]
An image in the case where the flash memory synchronization [Debugger -> Flash] has been performed is
shown below.
Figure 2.4-5 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
Memory writing,
loading, etc. by the user
FF
FF
FF
FF
Execution and reset, etc.
Occurrence of flash memory synchronization [Debugger -> Flash]
12
34
56
78
Note:
The FLASH loader cannot be used by the emulator debugger (MB2100-01). Therefore, the [FLASH
memory] menu cannot be used.
169
Download from Www.Somanuals.com. All Manuals Search And Download.
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.
■ Break Functions
The function to interrupt the execution of the user program is called a break function.
The emulator debugger (MB2100-01) provides the following eight types of break functions;
•
•
•
•
•
•
•
•
Code break (hardware)
Code break (software)
Data break
Trace trigger break
Forced break
Data watch break
Sequencer
Guarded access break
When by each break function aborts program execution, the address where a break occurred and the break
factor are displayed.
170
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.6.1
Code Break (Hardware)
This function suspends program execution by monitoring a specified address by
hardware.
■ 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:
•
Dialog
- "Code" tab in the breakpoint setting dialog
For details, refer to "4.6.4 Breakpoints" in "SOFTUNE Workbench Operation Manual".
•
Window
- Source window/disassemble window
For details, refer to "3.7 Source Window" or "3.9 Disassemble Window" in "SOFTUNE Workbench
Operation Manual".
•
Command
- SET BREAK/HARD
For details, refer to "3.1 SET BREAK(type 1)" in "SOFTUNE Workbench Command Reference
Manual".
171
Download from Www.Somanuals.com. All Manuals Search And Download.
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
- Sequencer
• 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
172
Download from Www.Somanuals.com. All Manuals Search And Download.
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. The conditions
are as follows.
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.
•
Dialog
- "Code" tab in breakpoint setting dialog
For details, refer to "4.6.4 Breakpoint" in "SOFTUNE Workbench Operation Manual".
•
Window
- Source window/disassemble window
For details, refer to "3.7 Source Window" or "3.9 Disassemble Window" in "SOFTUNE Workbench
Operation Manual".
•
Command
- SET BREAK/SOFT (software)
For details, refer to "3.1 SET BREAK (type 1)" in "SOFTUNE Workbench Command Reference
Manual".
173
Download from Www.Somanuals.com. All Manuals Search And Download.
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. For details of the invalid instruction exception, refer to the
Hardware Manual for the product type you are using.
• When setting a code break (software) in a flash memory area, the contents of the flash memory at
Memory".
• When the debugger has aborted in the state where the code break (software) is set, the contents
174
Download from Www.Somanuals.com. All Manuals Search And Download.
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:
•
Dialog
- "Data" tab in the breakpoint setting dialog
For details, refer to "4.6.4 Breakpoints" in "SOFTUNE Workbench Operation Manual".
•
Command
- SET DATABREAK
For details, refer to "3.9 SET DATABREAK (type 2)" in "SOFTUNE Workbench Command Reference
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
- Sequencer
• The data break may stop after a few steps of instructions following the instruction with detection
access are executed.
175
Download from Www.Somanuals.com. All Manuals Search And Download.
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:
•
Dialog
- Trace setting dialog
For details, refer to "4.4.8 Trace" in "SOFTUNE Workbench Operation Manual".
•
Command
- SET TRACE/BREAK
For details, refer to "4.12 SET TRACE (type 2)" in "SOFTUNE Workbench Command Reference
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
• Sequencer
176
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "4.6.2 Abort" in "SOFTUNE Workbench Operation Manual".
•
Command
- ABORT
For details, 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 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.
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.
Note:
If the forced break is performed in pause state a break occurs after that mode is released.
For details, refer to "Appendix C. Debugger Suspension Messages" in "SOFTUNE Workbench
Command Reference Manual".
177
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.6.6
Data Watch Break
This 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 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 shown in the Figure 2.4-6 .
Figure 2.4-6 The break conditions for the 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.
■ How to set
Data watch break can be controlled as follows.
● Data watch break
•
•
Dialog
- "Code" tab in the breakpoint setting dialog
"Hardware/data watch"
For details, refer to "4.6.4 Break Point" of "SOFTUNE Workbench Operation Manual".
Command
- SET BREAK/DATAWATCH
For details, refer to "3.3 SET BREAK (type 3)" of "SOFTUNE Workbench Command Reference
Manual".
178
Download from Www.Somanuals.com. All Manuals Search And Download.
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
- Sequencer
• The data watch break may stop if it hits a specified address after a few steps of instructions
following the instruction with data detection access are executed. The program may not stop if it
hits the specified address during the execution of an instruction.
179
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.6.7
Sequencer
This is a function to abort the program execution when the program is executedalong
with the event order specified by the user.
■ Control by Sequencer
Set two events, and set the flow in order from level 1 to level 2 as the condition for terminating the
sequencer. This sequencer is called a two-level sequencer.
Also, all previous information of the flow can be reset, and events for restarting monitoring the flow
through level 1 can be set again.
■ Operation of Sequencer
When the event for each level is set as shown below, the sequencer operates as shown in Figure 2.4-7 .
[Example] Level 1 : Event 1
Level 2 : Event 2
Restart : Event 3
Figure 2.4-7 Example of Sequencer Operation
Program execution start
Level 1
NO
Event 1 occurs
YES
YES
Event 3 occurs
NO
Level 2
NO
Event 2 occurs
YES
Break
180
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
■ Specifications of Sequencer
Table 2.4-2 shows the specifications of the sequencer for the emulator debugger (MB2100-01).
Table 2.4-2 Specifications of Sequencer
Function
Specification
No. of levels
2 levels
Restart function
Available (one)
Conditions of each Address
event
(Code/data)
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
Level 1 : Moves to level 2
conditions are met
Level 2 : Terminates the sequencer
Restart : Starts the sequencer
■ Setting
Sequencer control can be set as follows.
● Dialog
- Sequence Setup Dialog
For details, refer to "4.6.6 Sequence" in "SOFTUNE Workbench Operation Manual".
● Command
1. SET EVENT
2. SET 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.
• 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 steps of instructions
following the instruction with detection access are executed.
181
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.6.8
Guarded Access Break
This is a function to abort the program execution when an access violation to protected
area of memory occurs.
■ 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.
•
Dialog
- "Break" tab in debug environment setting dialog
For details, refer to "4.7.2.3 Debug Environment" in "SOFTUNE Workbench Operation Manual".
•
Command
- ENABLE BREAK /GUARDEDACCESS
- DISABLE BREAK /GUARDEDACCESS
For details, refer to "3.7 ENABLE BREAK" or "3.8 DISABLE BREAK" in "SOFTUNE Workbench
Command Reference Manual".
Note:
For details of guarded area settings on memory with guarded access breaks, refer to the manual for
the appropriate hardware.
182
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.7
Measuring the Program Execution Time
This section explains the function to measure the program execution time.
■ Measured Items
The emulator debugger (MB2100-01) can measure the following two items for the user program execution
time.
•
•
Time measurement
Measures the time from start of program execution to end.
Performance measurement
Measures the time between 2 events where the program execution passes.
■ Measurement unit
The following two measurement units are available for both execution time measurement and performance
measurement.
Execution cycle measurement : Measures by the number of execution cycles.
Also, the number of measured execution cycles can be
converted into real time.
This is different from an actual measurement, however, it is
an indication of real-time when real-time can not be
measured.
Real-time measurement :
Measures in real-time.
This is available only for certain products.
Measurement unit can be set as follows.
•
Dialog
- Measurement Unit Dialog
For details, refer to "4.4.14.2 Performance (Emulator Debugger [MB2100-01])" or "4.6.8.1
Measurement Unit for Execution Time Measurement" of "SOFTUNE Workbench Operation Manual".
•
Command
- SET TIMERSCALE
For details, refer to "1.64 SET TIMERSCALE" of "SOFTUNE Workbench Command Reference
Manual".
Note:
Measurement unit setting is common to both time measurement and performance measurement.
183
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.7.1
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 or real-time. The measurement is
performed whenever a program is executed, and the measurement result displays the following values:
The measurement is performed whenever a program is executed, and the measurement result displays the
following two values:
- The number of execution cycles or real-time for the previous program execution
The maximum number of cycles that can be measured is 288,230,376,151,711,743 (2 to the power of
58 - 1).
- The total number of execution cycles or real-time after the previous clear operation
The maximum number of cycles that can be measured is 18,446,744,073,709,551,615 (2 to the power
of 64 - 1).
- Real-time measurement resolution
This depends on the execution cycle conversion frequency set for measurement unit. For details, refer
to "4.4.14.2 Performance (Emulator Debugger [MB2100-01])" of "SOFTUNE Workbench Operation
Manual".
■ Displaying Measurement Results
Either of the following methods can be used to display the measurement results.
•
Dialog
- Time Measurement Dialog
For details, refer to "4.6.8 Time Measurement" of "SOFTUNE Workbench Operation Manual".
•
Command
- SHOW TIMER
For details, refer to "4.27 SHOW TIMER" of "SOFTUNE Workbench Command Reference
Manual".
■ Clearing Measurement Results
Either of the following methods can be used to clear the measurement results.
•
Dialog
- Time Measurement Clearing Dialog
For details, refer to "4.6.8 Time Measurement" of "SOFTUNE Workbench Operation Manual".
•
Command
- CLEAR TIMER
For details, refer to "4.28 CLEAR TIMER" of "SOFTUNE Workbench Command Reference
Manual".
184
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
■ Setting Measurement Unit
Either of the following methods can be used to set the measurement unit.
•
Dialog
- Time Measurement Dialog
For details, refer to "4.6.8.1 Measurement Unit for Execution Time Measurement" of "SOFTUNE
Workbench Operation Manual".
•
Command
- SET TIMERSCALE
For details, refer to "1.64 SET TIMERSCALE" of "SOFTUNE Workbench Command Reference
Manual".
■ 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.
185
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.7.2
Measuring Event-to-Event Execution Cycle Count
[Performance Measurement]
This section explains how to measure the execution cycle count between two events.
■ Performance Measurement
The emulator debugger (MB2100-01) measures the execution cycle count or real-time between two events,
which the system has passed while a user program is running.
This emulator debugger has the following features for performance measurement.
•
•
•
Measuring the execution cycle count or real-time 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.
The following shows the performance measurement image.
Figure 2.4-8 Image of Performance Measurement
Measuring up to 65535 times
Start execution
Stop execution
1
2
65535
Start
Stop
Not possible to measuring
It measuring
■ Measurement Items
This emulator debugger has the following performance measurement items.
Measuring count: Accumulates the number of times the system passes from event to event.
Average:
Average value obtained by dividing the total number of execution cycle count or real-
time between two events by the number of measurement
Minimum:
The minimum value of the number of execution cycles or real-time required to carry
out the event-to-event execution.
This is available only for products which are compatible with the maximum/
minimum measurement.
Maximum:
The maximum value of the number of execution cycles or real-time required to carry
out the event-to-event execution.
This is available only for products which are compatible with the maximum/
minimum measurement.
- Real-time measurement resolution
This depends on the execution cycle conversion frequency set for measurement unit. For details, refer
to "4.4.14.2 Performance (Emulator Debugger [MB2100-01])" of "SOFTUNE Workbench Operation
Manual".
186
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
■ 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. 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".
■ 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.
187
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
■ 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.
Notes:
• This function is not available when the execution time mode is set to the time measuring mode.
• 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.
• 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.
188
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.8
Viewing Program Execution History [Trace]
This section describes the trace function.
■ 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
The emulator debugger (MB2100-01) has the following trace functions.
•
•
•
Trace trigger:
Trace filter:
Forced start:
Stops acquiring trace data when the trace trigger hits.
Acquires only the data with the specified attribute.
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.
189
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
Figure 2.4-9 shows how data is stored in the trace buffer.
Figure 2.4-9 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 Buffer
Trace trigger(break)
Start execution Stop execution
Program flow
| ---------------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.
190
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.8.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:
Instruction:
Source:
Displays trace data without analyzing it.
Displays trace data in the order in which instructions are executed.
Displays trace data on a source line basis.
■ Trace Data Display Position
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-10 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".
191
Download from Www.Somanuals.com. All Manuals Search And Download.
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.16 SHOW TRACE (type 1)" or "4.27 SHOW DETAILTRACE" in
"SOFTUNE Workbench Command Reference Manual".
Note:
When the disassembly is performed, data is processed and displayed by reading from memory. If an
instruction is rewritten after code fetching, data will not be displayed correctly.
192
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.8.1.1
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-11 shows a RAW data display example.
Figure 2.4-11 RAW Data Display
If a chip reset has occurred, "***Chip Reset***" appears next to "frame no" as shown in Figure 2.4-12 .
This is a frame that is processed and output, not a frame that is found when a chip reset is detected.
Figure 2.4-12 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-13 . The address
where a low-level reset has occurred is displayed in "b-addr".
Figure 2.4-13 RAW Data Display (When a Low-Level Reset Has Occurred)
193
Download from Www.Somanuals.com. All Manuals Search And Download.
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:
bus sleep:
timer:
CPU sleep state
Bus sleep state
Timer state
stop:
Stop state
b-cause
Displays a branch factor or low-level reset occurrence information.
Branch:
Trap:
Execution of branch instruction
Exception/trap
INT:
Interrupt
RETI:
CALL:
RET:
Execution of RETI instruction
Execution of CALL/CALL:D instruction
Execution of RET/RET:D instruction
Break
Break:
Go:
Start of execution of user program
Issuance of low-level reset
LReset:
a-addr
Displays a data-accessed address in hexadecimal notation.
a-stat
Displays access status (read/write).
a-size
Displays the access size.
byte:
half:
Byte
Half-word
Word
word:
a-type
Displays the access type.
cpu:
dma:
lost:
Indicates that CPU access has occurred.
Indicates that DMA access has occurred.
Indicates that CPU access and DMA access have occurred simultaneously.
In such cases, only the CPU-accessed data is traced.
194
Download from Www.Somanuals.com. All Manuals Search And Download.
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
read
a-type
dma
a-data
Read access data
Write access data
Read ID
write
read
-
cpu / lost
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.
195
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.8.1.2
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-14
shows an instruction display example.
Figure 2.4-14 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-14 if the mnemonic instruction is enclosed in brackets [ ], it means that
the instruction may not be executed.
[Exception]:
The instruction is not executed.
The instruction is executed.
[INT instruction]:
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.
196
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.8.1.3
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-15 shows a source display example.
Figure 2.4-15 Source Display
frame no.
Displays the frame number in decimal form.
source
Displays executed source lines.
197
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.8.2
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.
198
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.8.3
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:
When specifying the search address, you must specify the head of the instruction, or otherwise
instructions of 2-bytes or longer (LDI:32, and LDI:20 instructions) may not be searched correctly.
199
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.8.4
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.
200
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.8.5
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
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.
201
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.9
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) The following shows the memory access by the 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.
•
Dialog
- "Access-prohibited area" tab in the debug environment setting dialog
For details, refer to "4.7.2.3 Debug Environment Setting" in "SOFTUNE Workbench Operation
Manual" for details.
•
Command
- SET MAP /INACCESSIBLE
For details, refer to "1.14 SET MAP (type2)" in "SOFTUNE Workbench Command Reference
Manual for details".
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.
202
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.10
Displaying Messages Output from the User Program on
Debugger
This section explains semihosting features.
■ What is Semihosting Feature
This is a function to display the messages output from the user program on debugger window. This can be
used only for products whose semihosting function is enabled. For details of availability of semihosting
function, refer to "OCD" in the hardware manual of the product you are using.
As shown in Figure 2.4-16 , the message buffer register (MBR) on the debug I/O receives an output
request, the debugger displays the received output contents on the window.
Data from the user program to the debugger is output via the DEBUG I/F from the MBR, as indicated by
the arrow shown in Figure 2.4-16 .
For details of OCD (on-chip debugger) and MBR, refer to the Hardware Manual for the product type you
are using.
Figure 2.4-16 Data flow of semihosting feature
User target
SOFTUNE
Workbench
User programme
Terminal
window
User memory
(Transfer buffer)
USB
MB2100-01
OCD
MBR
DEBUG I/F
■ What is Terminal Window
Terminal window is the window displaying data when receiving an output request from user program to
MBR. For details of terminal window, refer to "3.20 Terminal Window" of "SOFTUNE Workbench
Operation Manual".
The data output to the terminal window is interpreted and output as ASCII characters. However, the
supported control characters are '\n', '\r' and '\t'. The other control characters and the characters after 0x80
are output as '.'.
The terminal window will appear when the data to be displayed is acquired.
203
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
■ Using Semihosting Feature
Perform the following procedure to display the content of output request to MBR on the terminal window.
1. Controlling MBR with the user program
MBR must be controlled in the user program, as shown in Figure 2.4-16 .
Sample projects that include a method for controlling the MBR is attached to SOFTUNE Workbench
V60L10 or later. Control MBR based on those. For details, refer to "APPENDIX H Sample Project for
Semihosting Function" of "SOFTUNE Workbench Operation Manual".
2. Displaying the content of output request to MBR on the terminal window
The terminal window can be displayed as follows.
There are two methods to display the terminal window; using GUI (window) and using command. These
methods give the same results.
•
Using window
- Select [Display]-[Terminal] menu to display the terminal window. For details, refer to "3.20
Terminal Window" of "SOFTUNE Workbench Operation Manual".
•
Using command
- Input SET LOGGING/TERMINALWINDOW command on the command window. For details,
refer to "11.1 SET LOGGING" of "SOFTUNE Workbench Command Reference Manual".
204
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
2.4.11
Checking Debugger Status
This section explains how to check information.
■ Debugger Information
The emulator debugger (MB2100-01) 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.
•
Dialog
- Version information dialog
Select [Help] - [Version Information] menu.
For details, refer, refer to Section "4.9.3 Version Information" in "SOFTUNE Workbench Operation
Manual".
•
Command
- SHOW SYSTEM
For details, refer to Section "1.12 SHOW SYSTEM" in "SOFTUNE Workbench Command
Reference Manual" for details.
■ Displayed Contents
FR Family SOFTUNE Workbench VxxLxx
ALL RIGHTS RESERVED,
COPYRIGHT(C) FUJITSU SEMICONDUCTOR LIMITED 1997
LICENCED MATERIAL -
PROGRAM PROPERTY OF FUJITSU SEMICONDUCTOR 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
Version: SiiEd3.ocx version
-------------------------------------------------------
205
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
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:
MCU type:
Current debugger type
Currently selected target MCU
Path and name of the currently used VCpu dll
VCpu dll name:
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:
Maker ID:
FPGA version
ID that indicates the device manufacturer
206
Download from Www.Somanuals.com. All Manuals Search And Download.
CHAPTER2 Dependence Functions
CPU family ID:
DSU type ID:
ID that indicates the CPU family installed
in the device
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
ID that indicates device version
Reference frequency of communication speed
Standard high-speed communication
Clock mode [Main/ Sub/ PLL]
Device version ID:
OSC clock:
PLL clock:
Clock mode:
Communication mode: Communication mode
Communication device: Device type
REALOS version:
REALOS version
-------------------------------------------------------
SiIODef
Product name:
File Path:
Version:
Softune Workbench
SiIODef.dll path
SiIODef.dll version
=======================================================
Current path:
Language:
Path of the currently used project
Currently used language
Help file path
Help file path:
=======================================================
207
Download from Www.Somanuals.com. All Manuals Search And Download.
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.
208
Download from Www.Somanuals.com. All Manuals Search And Download.
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
1
2
3
4
UART
Required
For communication with host computer
4800/9600/19200/38400 bps
Monitor ROM Required
About 6 KB required (For further details, refer to Link
Map.)
Work RAM
NMI Switch
Required
Optional
About 2 KB required (For further details, refer to Link
Map.)
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
209
Download from Www.Somanuals.com. All Manuals Search And Download.
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
210
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, refer to "3.1 SET BREAK (type 1)" in "SOFTUNE Workbench Command Reference
Manual".
•
•
Dialog
- "Code" tab in breakpoint setting dialog
For details, 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.
• 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.).
• 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.
211
Download from Www.Somanuals.com. All Manuals Search And Download.
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
For details, 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.
212
Download from Www.Somanuals.com. All Manuals Search And Download.
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 1s, and up to "(2 to the power of 32 - 1) x 1s" 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".
213
Download from Www.Somanuals.com. All Manuals Search And Download.
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:
CANCEL MAP/INACCESSIBLE:
ENABLE MAP/INACCESSIBLE:
DISABLE MAP/INACCESSIBLE:
Displays an inaccessible region.
Deletes a specified inaccessible region.
Enables a specified inaccessible region.
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.
214
Download from Www.Somanuals.com. All Manuals Search And Download.
INDEX
Index
A
Code Break
Access
Code Event Break
Command
Access Attributes
Command execution during program execution
......................................................... 140
Active Project
Alignment Error Break
Commands Available
Commands Available during Execution of User
Program............................................ 161
Assembly
Configuration
Automatic Loading
Coverage
Monitoring Program Automatic Loading
..........................................................101
Coverage Measurement
B
Break
Displaying Coverage Measurement Result
........................................................... 59
Setting Range for Coverage Measurement
........................................................... 59
D
Data Break
Data Event Break
Build Function
Debug
Debug Functions
C
debug mode
C/C++
Debugger
Cache Flush Control
Checker
216
Download from Www.Somanuals.com. All Manuals Search And Download.
INDEX
Debugging
F
filter
Verification Items When Starting Debugging
.......................................................... 151
Flag T
Flash Memory
Delay branch instruction
Examples of flash memory synchronization
..........................................................168
Methods of flash memory synchronization
..........................................................166
Dependence
Dependencies
Disassembly
Flush Control
Forced Break
Format
DRAM
E
Editor
FR80S
Frame
frequencies
Functionality
emulation
Emulator
Emulator Debugger
Real-time Functionality in Running Program
..........................................................107
Features of Emulator Debugger (MB2100-01)
.......................................................... 150
Error Jump
G
Guarded Access Breaks
Event Mode
Events
H
High-speed Communication
How to set
Execution of User Program
Commands Available during Execution of User
Program............................................ 161
Increasing Communication Speed during
External Editor
External memory
External Tools
External Trigger Break
Debugging.........................................158
217
Download from Www.Somanuals.com. All Manuals Search And Download.
INDEX
How to use
Management
MB2100-01
Features of Emulator Debugger (MB2100-01)
......................................................... 150
I
MCU
Measured Items
Measurement
I/O Port
Inaccessible area
Displaying Coverage Measurement Result
........................................................... 59
Setting Range for Coverage Measurement
........................................................... 59
Input Port
Instruction
Measurement Unit
Setting Minimum Measurement Unit for Timer
......................................................... 137
Measurement unit
Interrupt
Memory
J
Jump
L
Line Assembly
Line Number
Loading
Memory Space
Minimum Measurement Unit
Setting Minimum Measurement Unit for Timer
......................................................... 137
Mode
Log file
logging
Low Power Consumption Mode
Low Power Consumption Mode Simulation
........................................................... 41
Low Power Consumption Mode Simulation
............................................................41
M
Monitor
Monitoring
Macro
Macro Expansion
O
Make Function
Operating Conditions
218
Download from Www.Somanuals.com. All Manuals Search And Download.
INDEX
Operating Environment
Restrictions on Storage of Two or More Projects
..............................................................2
Operating Environments
Project Configuration
Operating frequencies
Project Dependence
Operation Mode
Project format
Operation Requirements
Project Management
Operation requirements
Optional Settings
R
Options
RAM
RAM Checker
Output Port
RAM Checker mode
P
RAW Data
Performance
Real-time
Real-time Functionality in Running Program
............................................................71
Performance Measurement
Real-time Functionality
Real-time Functionality in Running Program
..........................................................107
Performance-Buffer-Full Break
RealTimeMemory mode
Power-on Debug
Refresh Control
Power-on debugging
Register
Power-on Reset
Reset
Program
Resources
Command execution during program execution
.......................................................... 140
S
Sampling
Scope
Search Procedure
Project
219
Download from Www.Somanuals.com. All Manuals Search And Download.
INDEX
Security
T
Semihosting Feature
Target
TBR Register
Sequencer
Terminal Window
Simulation
Tool Options
Low Power Consumption Mode Simulation
............................................................41
Tools
Trace
Simulator
Software
Software Break
Trace Buffer
Source
Trace Buffer-full Break
Trace Data
Specification list
Standard
Standard Editor
Storage
Restrictions on Storage of Two or More Projects
..............................................................2
STUB
Subproject
Trace Filter
Switching methods
Symbol
Trace filter
Specifying Symbol and Search Procedure
............................................................29
Trace Sampling
Trace Trigger
Syntax
220
Download from Www.Somanuals.com. All Manuals Search And Download.
INDEX
Trace Trigger Break
V
Variables
U
User Program
W
Workspace
Workspace Management
221
Download from Www.Somanuals.com. All Manuals Search And Download.
INDEX
222
Download from Www.Somanuals.com. All Manuals Search And Download.
Colophon
CM71-00329-7E
FUJITSU SEMICONDUCTOR CONTROLLER MANUAL
FR FAMILY
TM
SOFTUNE
WORKBENCH
USER’S MANUAL
for V6
November 2011 the seventh edition
Published FUJITSU SEMICONDUCTOR LIMITED
Sales Promotion Dept.
Edited
Download from Www.Somanuals.com. All Manuals Search And Download.
Download from Www.Somanuals.com. All Manuals Search And Download.
|