Everything
2.4.1 Debugging the FAA

This section describes how to enable this debugging facility, operation of its various functions, and points for caution on using the FAA debugging facility when the selected microcontroller incorporates an FAA.

Some descriptions include reference to the state of the FAA in the following ways, which are similar to the state indicators in the Main window.

Table 2.1

FAA States

Item

FAA state

Standby

A clock signal is not being supplied to the FAA.

Disable

FAA operation disabled

Sleep

Low power consumption mode

 

 

-

Enabling FAA debugging
Make the following settings when debugging is to cover code for the FAA.

-

[FAA] category on the [Connect Settings] tabbed page of the [Property] panel
Select [Yes] for the [Debug FAA] property.

 

Making the above setting enables selecting the FAA as the target for debugging on the status bar or in the [Debug Manager] panel of the Main window.

-

[Download] category on the [Download File Settings] tabbed page of the [Property] panel
Specify the name defined for the code section in the source file containing the FAA code as the [Specify code section name defined in FAA source file] property.
Specify the name defined for the data section in the source file containing the FAA code as the [Specify data section name defined in FAA source file] property.

 

Making the above settings enables selecting the FAA as the target for debugging and allows debugging operations such as stepped execution at the FAA source level with the FAA source code displayed in the [Editor] panel and address information displayed in the address column.

-

Operation of the various functions

When the FAA is selected as the target for debugging, each facility behaves as described below.

(1)

Controlling the execution of programs

-

When the execution of a program is started or stopped, only execution by the FAA is started or stopped.

-

Synchronous execution by the CPU is not started or stopped.

-

However, when [Yes] is selected for the [Stop FAA when stopping] property in the [Break] category on the [Debug Tool Settings] tabbed page, you can specify whether the FAA is or not to be stopped when the CPU is stopped.

-

Step execution is only applicable to the FAA.

-

If a clock signal is not being supplied to the FAA or its operation is prohibited by the FAA setting of the operation enable bit (SYSC.ENB), starting execution of the program is not possible. Other forms of debugging operation such as step execution also become impossible.

-

A software reset is only applicable to the FAA, not to the MCU as a whole.

(2)

Events

-

Hardware breaks (four points) and an action event

-

If the FAA is stopped after detecting a hardware break, the CPU is not synchronously stopped.

(3)

Memory

-

The [Instruction code space] and [Data space] of the FAA can be displayed in the [Memory] panel.

-

The display is not updated during execution of a program.

-

You can specify the spaces for display in the [Memory 1] to [Memory 4] panels by making the following settings.

-

[Memory] category on the [Debug Tool Settings] tabbed page of the [Property] panel
Specify the spaces which are to be displayed as [Memory n] in the [FAA memory space] property.

-

Values are displayed in the [Watch] panel as follows.

-

Specifying the address of an immediate value

The [Watch n] panels are displayed in accordance with the [FAA memory space] property.

-

Specifying a label

A label is displayed in accordance with the memory space (instruction code space or data space) to which the label belongs.

(4)

SFR

Only those SFRs which are accessible by the FAA are displayed.

The FAA pointer and the FAA address are displayed in the address field.

(5)

CPU registers

A list of CPU registers is displayed in the [CPU Register] panel according to the CPU selected as the target for debugging.

(6)

Measuring execution times

-

The time from the start to the end of execution by the FAA as the target for debugging is displayed in the [Event] panel or the status bar.

-

Measuring the time executed by the FAA starts when the execution is started by the CPU or the debugger.

-

The simulator only supports the display of Run-Break times for the FAA.

-

Points for caution on using the debugging functions

(1)

If FAA debugging is not in use, the FAA is handled in a similar way to other peripheral IP modules. In this case, FAA debugging is not available.

(2)

Programs for the FAA cannot be downloaded by using a debugger. Transfer those programs in the instruction code area by the program of the CPU.

(3)

Do not proceed with debugging of the FAA during execution of a CPU program that includes operations with the WIND register.
Since the debugger temporarily rewrites the WIND register in the debugging operations for the FAA, the use of FAA debugging may make operation of the program being executed by the CPU incorrect.

(4)

If this facility is used, the following facilities are not available.

-

Set an Action into Programs

(5)

The following functions are not available for the FAA.

-

Software breaks

-

Measurement of the execution time for a desired range of the program

-

Collecting the history of execution

-

Access-related events

-

Go to Here

-

Step over

-

Return out

-

Coverage function [Simulator]

(6)

When the tracing and timer functions of the CPU are enabled, the target for debugging cannot be changed during the execution of a program in the simulator.
The target for debugging cannot be changed during the execution of a program in the E2, E2 Lite or COM port.

(7)

Since the CPU and FAA are not run in synchronization by the simulator, the Run-Break times for the CPU that include the ranges where the CPU starts execution of the FAA are not correct.

(8)

Editing instruction codes in the [Disassembly] panel is not possible.