# Initialization: Overview

When using the TWL-SDK to develop TWL or NITRO applications, always call `OS_Init` first as soon as control shifts to the user's `NitroMain` or `TwlMain` function. The functions called by `OS_Init` are required for proper behavior and cannot be called in any other order.
(In the sample demo `os/cplusplus-1`, implemented in C++, the `OS_Init` function is called before `NitroMain` because memory management needs to be initialized.)

The functions called inside `OS_Init` differ depending on whether the system is operating in NITRO or TWL mode. For details, see the `OS_Init` function.

## Main Function

In developing for NITRO and TWL, you must prepare the `NitroMain` or `TwlMain` function as the first function called after shifting control to the user. Although their names are different, there are no particularly major differences between these two functions.
However, you cannot use the `TwlMain` function if the ROM type is NITRO ROM.

## See Also

`OS_Init`
OS Function List

## Revision History

2009/06/18 Added a description of Main.
2009/06/03 Initial version.

CONFIDENTIAL