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::GetAppMemorySize
nn::os::GetUsingMemorySize
nn::os::SetDeviceMemorySize
nn::os::SetHeapSize
nn::os::SetupHeapForMemoryBlock

Operation is not guaranteed when calling SDK functions other than the above. Sufficient care should be taken when coding your own operations as well.

Revision History

2010/01/07
Initial version.

CONFIDENTIAL