About the StartUp API

Description

This API is used to start up applications.

The application startup process is described below.

Initialize BSS region.
Call nninitSystem.
Call nninitStartUp.
Call static initializer.
Call nninitSetup.
Run nnMain.

The nninitStartUp function is compiled with weak symbols so it can be overridden with developers' own definitions.
These functions are called before the C++ static initializer is called, so it is not possible to use instances within the static data of classes that don't have clear constructors. As a result, there are significant restrictions on the functions that can be called. Among the library's functions, only the ones shown below can be called before the static initializer.

nn::init::InitializeAllocator
nn::os::InitializeDeviceMemory
Operation is not guaranteed if any other functions are called. Sufficient care should be taken when coding your own version of these operations.

Revision History

2010/01/07
Initial version.

CONFIDENTIAL