Epson S5U1C17001C Manual page 508

Cmos 16-bit single chip microcomputer, c compiler package for s1c17 family
Hide thumbs Also See for S5U1C17001C:
Table of Contents

Advertisement

10 DEBUggEr
requirements for the program
Before the simulated I/O function can be used, the following must be defined in the program:
Definition of input/output buffers
Before using the program, define global buffers that gdb will use for data input/output in the format shown
below.
Definition of an input buffer: unsigned char READ_BUF[65]
Definition of an output buffer: unsigned char WRITE_BUF[65]
For the buffer name, use any name conforming to symbol name conventions. Fix the buffer size to 65 bytes.
Use this symbol name to specify the buffer address when executing the c17 stdin and c17 stdout
commands.
When data is entered, the size of the actually entered data (1 to 64 bytes) is placed in READ_BUF[0]. If EOF
is entered, value 0 is placed in READ_BUF[0]. The input data is stored in READ_BUF[1] and those that
follow. To output data, write the size of data to be output (1–64) to WRITE_BUF[0], then output the data to
WRITE_BUF[1] and those that follow. To output EOF, write value 0 to WRITE_BUF[0]. A data row of up to
64 bytes in size can be input/output between gdb and the program.
Definition of data-updating global labels
Before using the program, define global labels like those shown below at the position where gdb inputs data to
the input buffer and at the position where gdb outputs data from the output buffer.
Input position:
.global
READ_FLASH:
Output position: .global
WRITE_FLASH:
Any name can be used for the labels. Use this symbol name to specify the break address when executing the
c17 stdin and c17 stdout commands.
In the C source, define these labels in the lower-level write and read functions among the standard input/
output library functions (see Section 7.3.4).
For examples of actual programs, refer to the sample programs and debugger command file installed in the
\gnu17\sample\S1C17common\simulator\simulatedIO directory.
When the program breaks at READ_FLASH, gdb reads data from a file and loads the data into the defined input
buffer. Then it resumes executing the program. When the program breaks at WRITE_FLASH, gdb outputs data
from the output buffer to a file, then resumes executing the program.
Precautions
• The break addresses specified in the c17 stdin and c17 stdout commands cannot duplicate those of
software PC breaks.
• Because the debugger uses software PC breaks internally, addresses in the target board ROM cannot be
specified.
• Only ASCII characters can be used for input/output. Binary data (especially 0x0 and 0x1a) may cause the
CPU to operate erratically.
• The parts of the program where c17 stdin or c17 stdout perform input/output must be executed
successively by the continue command (do not execute in single stepping). Also make sure that no breaks
will occur in areas near those parts.
10-58
READ_FLASH
WRITE_FLASH
EPSOn
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
S5U1C17001C ManUal

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the S5U1C17001C and is the answer not in the manual?

Table of Contents