# MI_Init

## Syntax

  `#include <nitro/mi.h>`
  `void MI_Init( void );`

## Arguments

None.

## Return Values

None.

## Description

Performs MI-related initialization.

If this function is using `OS_Init()`, it will be called from there, so there is no need for the application to call it again. (For ARM9 only. This function is not called from `OS_Init()` on ARM7.)

Specifically, the following actions are performed: Items with the NITRO logo ( ) show the behavior in NITRO mode, and items with the TWL logo ( ) show the behavior in TWL mode.

> ARM9
> The shared WRAM (WRAM-0/1) is entirely allocated to ARM7.
> ( `MI_SetWramBank( MI_WRAM_ARM7_ALL )` )
> Initializes the new DMA.
> ( `MI_InitNDma()` )
> Reliably initializes DMA0. This is done as a workaround for DMA hardware bugs.
> ( `MI_StopDma( 0 )` )
> ARM7
> Initializes the new DMA.
> ( `MI_InitNDma()` )
> Reliably initializes DMA0. This is done as a workaround for DMA hardware bugs.
> ( (`MI_StopDma( 0 )` )

## See Also

`MI_SetWramBank
MI_StopDma`

## Revision History

2008/07/11 Added information about TWL.
2005/02/08 Initial version.

CONFIDENTIAL