SVC_CpuClear*

構文

#include <iris/os/systemCall.h>
SVC_CpuClear( data, destp, size, bit );
SVC_CpuClearArray( data, destp, bit );
SVC_CpuClearFast( data, destp, size );
SVC_CpuClearArrayFast( data, destp );

(これらはマクロです)

引数

data クリアデータ
destp デスティネーションアドレス
size 転送バイト数
bit 転送ビット幅(16 または 32)

返り値

なし。

説明

CPU でメモリクリアを行います。
MI_CpuClear() は0をでメモリを埋める関数でしたが、SVC_CpuClear*() は指定の値でメモリを埋める関数です。
これらはマクロなので、destp はポインタであれば型は制限されません。size は u32 です。bit は 16 か 32 の即値のみが指定できます。data はクリアデータ(メモリを埋めるデータ)で、bit が 16 の場合 u16 の値を、bit が 32の場合 u32 の値を指定してください。

SVC_ClearCopy() はdata で示されるデータを destp で示されるアドレス以下 size バイトに書き込みます。 destp は 転送ビットが16の場合は2バイト境界に、32の場合は4バイト境界に合わせる必要があります。

SVC_CpuClearArray() は、sizeof( destp ) を転送サイズとする SVC_CpuClear() です。つまり SVC_CpuClear( data, destp, sizeof(destp), bit ) と同じです。

SVC_CpuClearFast() は data で示されるデータを destp で示されるアドレス以下 size バイトに高速に書き込みます。書き込み単位は32バイトですので、サイズは32の倍数とする必要があります。destp は 4バイト境界に合わせる必要があります。

SVC_CpuClearArrayFast() は sizeof( destp )を転送サイズとする SVC_CpuClearFast() です。つまり SVC_CpuClearFast( data ,destp, sizeof(destp) ) と同じです。

参照

MI_CpuClear*, MI_DmaClear*, SVC_CpuCopy*

履歴

2004/01/18 初版