Files created when creating a project with the integrated development environment (CC-RL)

Question:

I am using the CC-RL compiler for RL78 devices. When I create a project with the integrated development environment, it generates the following files. What are they for?
cstart.asm
hdwinit.asm
stkinit.asm
iodefine.h"

Answer:

The respective files have programming for the following roles.・cstart.asm
This is the startup program which is called after the CPU is reset.

At the time of start-up, registers are initialized and various initial settings are made before the main function is called*.
*: This behavior differs from the general approach with the C language.

If cstart.asm is left as it is following generation, the initialization processing for the stack area is commented out. Enable this initialization processing if you intend to use the MCU’s RAM parity function.

・hdwinit.asm
This program is for initializing the peripheral devices.
The statements handle processing that depends on the MCU you intend to use.
You can create a hdwinit function within your program after deleting this file from the project*.

・stkinit.asm
This is the program for initializing the stack area.
・iodefine.h
This is the header file for definitions of reserved words for the names of SFRs and interrupt requests. Include this in files of C source code which include access to SFRs or the designation of interrupt request names with #pragma interrupt.
*: As the filenames indicate, cstart.asm and stkinit.asm are written in assembly rather than the C language. However, C language source code can be used instead of hdwinit.asm.