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

BMU領域(Src)のアドレスを取得する

Syntax
C++
int32_t AG903_BMUMgrGetBMUSrcAddress(AG903_BMUMgrHandle * handle, uint32_t * addr);
引数 
説明 
AG903_BMUMgrHandle * handle 
[in] BMUManagerのハンドル 
uint32_t * addr 
[out] アドレスの格納先 

エラーコード

返値の詳細 
説明 
正常 
-AG903_EINVAL 
無効なハンドルが渡された 

ハンドラに割り当てられたチャンネルのソース側アドレスを取得します.

アドレスはA0000000h~BFFFFFFFhの範囲で取得されます. この領域はあらかじめキャッシュ不可として下さい.

1: int32_t AG903_BMUMgrGetBMUSrcAddress(AG903_BMUMgrHandle *handle, uint32_t *addr) 2: { 3: uint8_t src = handle->src_id; 4: uint32_t unit = (handle - handle_list); 5: 6: 7: if(unit >= AG903_BMU_UNIT_NUM || &handle_list[unit] != handle) 8: { 9: return -AG903_EINVAL; 10: } 11: 12: 13: if(AG903_BMU_SRC_GFX0 <= src && src <= AG903_BMU_SRC_GFX3) 14: { 15: 16: (*addr) = (unit<<24) | ((uint32_t)5<<29) | ((uint32_t)1<<28); 17: }else 18: { 19: 20: (*addr) = (unit<<24) | ((uint32_t)5<<29); 21: } 22: 23: return AG903_ENONE; 24: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.