AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
AG903_OSWprCreMplAuto 関数

可変長メモリプールの生成(ID自動割付け)

Syntax
C++
int32_t AG903_OSWprCreMplAuto(AG903_OSWCMpl* pk_cmpl);
引数 
説明 
AG903_OSWCMpl* pk_cmpl 
[in] 生成情報 

可変長メモリプールの生成結果

返値の詳細 
説明 
メモリプールID番号 
正常終了時 
-AG903_EINVAL 
引数異常 
-AG903_EPERM 
不正使用(割り込みからのCALLなど) 
-AG903_EFAULT 
処理失敗(メモリ不足) 
-AG903_ENOID 
空ID無し 
-AG903_ESYS 
システムエラー(想定外エラー) 

可変長メモリプールの生成(ID自動割付け)をします。 (μITRON4.0実装時、acre_mplを使用します。)

メモリプールのアドレスを静的に指定する場合、そのアドレスは ページサイズ(AG903_OSW_CACHE_PAGESIZE)にアラインされていなければなりません。 また他のメモリ領域と重複した場合の動作は不定です。 

     メモリプールのアドレスをNULLとした場合は動的に割り当てられます。

1: int32_t AG903_OSWprCreMplAuto(AG903_OSWCMpl* pk_cmpl) 2: { 3: int32_t retval; 4: int32_t getid = 0; 5: 6: retval = OSW_CreMpl(0, pk_cmpl, &getid); 7: if( (AG903_ENONE==retval)&&(0<getid) ) { 8: retval = getid; 9: } 10: 11: return retval; 12: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.