# MI_CpuPipe*

## 構文

  `#include <nitro/mi.h>`
  `void MI_CpuPipe32( volatile const void* src,`
  `volatile void* dest,`
  `u32 size );`

  `void MI_CpuPipe16( volatile const void* src,`
  `volatile void* dest,`
  `u32 size );`

## 引数

src | 転送元アドレス
dest | 転送先アドレス
size | 転送サイズ

## 返り値

なし。

## 説明

CPUで同じアドレスから同じアドレスへデータを送ります。
転送元アドレスも転送先アドレスも変えず、、読み込みと書き込みを繰り返してデータを次々と送ります。

`MI_CpuPipe16()` は 16ビット単位で転送します。転送元アドレス、転送先アドレスは2バイトアラインメントする必要があります。

`MI_CpuPipe32()` は 32ビット単位で転送します。転送元アドレス、転送先アドレスは4バイトアラインメントする必要があります。

## 内部動作

DMAコントローラは使用せず、CPUだけで処理します。システムコールは使用しません。

## 参照

`MI_CpuCopy*, MI_CPUFill*, MI_CpuClear*, MI_CpuSend*, MI_CpuRecv*, MI_DmaPipe*, MI_NDmaPipe*
`

## 履歴

2007/10/25 初版