AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
AG903_DMACMgrDesc 構造体
Syntax
C++
typedef struct _AG903_DMACMgrDesc { uint32_t SrcAddr; uint32_t DstAddr; void * next; union { struct { unsigned int ChWEvent : 8; unsigned int WSync : 1; unsigned int ChSEvent : 3; unsigned int SEventEn : 1; unsigned int WEventEn : 1; unsigned int SDEn : 1; unsigned int ExpEn : 1; unsigned int ChEn : 1; unsigned int WDTEn : 1; unsigned int DstCtrl : 2; unsigned int SrcCtrl : 2; unsigned int DstWidth : 3; unsigned int SrcWidth : 3; unsigned int TCMsk : 1; unsigned int SrcTcnt : 3; } st; uint32_t val; } Ctrl; union { struct { unsigned int TCnt : 22; } d1; struct { unsigned int XTCnt : 16; unsigned int YTCnt : 16; } d2; uint32_t val; } Trns; union { struct { unsigned int SrcStride : 16; unsigned int DstStride : 16; } st; uint32_t val; } Stride; } AG903_DMACMgrDesc;
メンバ 
説明 
uint32_t SrcAddr; 
転送元アドレス 
uint32_t DstAddr; 
転送先アドレス 
void * next; 
次ディスクリプタのポインタ 
union {
struct {
unsigned int ChWEvent : 8;
unsigned int WSync : 1;
unsigned int ChSEvent : 3;
unsigned int SEventEn : 1;
unsigned int WEventEn : 1;
unsigned int SDEn : 1;
unsigned int ExpEn : 1;
unsigned int ChEn : 1;
unsigned int WDTEn : 1;
unsigned int DstCtrl : 2;
unsigned int SrcCtrl : 2;
unsigned int DstWidth : 3;
unsigned int SrcWidth : 3;
unsigned int TCMsk : 1;
unsigned int SrcTcnt : 3;
} st;
uint32_t val;
} Ctrl; 
Controlレジスタ 
struct {
unsigned int ChWEvent : 8;
unsigned int WSync : 1;
unsigned int ChSEvent : 3;
unsigned int SEventEn : 1;
unsigned int WEventEn : 1;
unsigned int SDEn : 1;
unsigned int ExpEn : 1;
unsigned int ChEn : 1;
unsigned int WDTEn : 1;
unsigned int DstCtrl : 2;
unsigned int SrcCtrl : 2;
unsigned int DstWidth : 3;
unsigned int SrcWidth : 3;
unsigned int TCMsk : 1;
unsigned int SrcTcnt : 3;
} st; 
DMACnCTRL_REG レジスタのビット定義 
unsigned int ChWEvent : 8; 
[7:0] チャンネルのイベント待機 
unsigned int WSync : 1; 
[8] 最後の書き込み完了の待機 
unsigned int ChSEvent : 3; 
[11:9] チャンネルのイベント 
unsigned int SEventEn : 1; 
[12] イベント設定 
unsigned int WEventEn : 1; 
[13] イベント待機 
unsigned int SDEn : 1; 
[14] 2D転送 
unsigned int ExpEn : 1; 
[15] 拡張制御 
unsigned int ChEn : 1; 
[16] チャンネル 
unsigned int WDTEn : 1; 
[17] ウォッチドッグタイマ 
unsigned int DstCtrl : 2; 
[19:18] 転送先バーストタイプの制御方法 
unsigned int SrcCtrl : 2; 
[21:20] 転送元バーストタイプの制御方法 
unsigned int DstWidth : 3; 
[24:22] 転送先のデータ幅 
unsigned int SrcWidth : 3; 
[27:25] 転送元のデータ幅 
unsigned int TCMsk : 1; 
[28] ターミナルカウントのマスク 
unsigned int SrcTcnt : 3; 
[31:29] 1つのDMAハンドシェイク動作の転送元転送カウント単位 
uint32_t val; 
DMACnCTRL_REG レジスタ 
union {
struct {
unsigned int TCnt : 22;
} d1;
struct {
unsigned int XTCnt : 16;
unsigned int YTCnt : 16;
} d2;
uint32_t val;
} Trns; 
Transfer Size 
struct {
unsigned int TCnt : 22;
} d1; 
DMACnTRNS_SIZE_1D レジスタ 
unsigned int TCnt : 22; 
[21:0] 現在のディスクリプタの転送カウント 
struct {
unsigned int XTCnt : 16;
unsigned int YTCnt : 16;
} d2; 
DMACnTRNS_SIZE_2D レジスタ 
unsigned int XTCnt : 16; 
[15:0] 現在のディスクリプタでX方向の転送カウント 
unsigned int YTCnt : 16; 
[31:16] 現在のディスクリプタでY方向の転送カウント 
uint32_t val; 
DMACnTRNS_SIZE_xD レジスタ 
union {
struct {
unsigned int SrcStride : 16;
unsigned int DstStride : 16;
} st;
uint32_t val;
} Stride; 
SrcDst Stride 
struct {
unsigned int SrcStride : 16;
unsigned int DstStride : 16;
} st; 
DMACnSTRIDE_SRC_DST_ADDR レジスタのビット定義 
unsigned int SrcStride : 16; 
[15:0] 転送元ストライド値 
unsigned int DstStride : 16; 
[31:16] 転送先ストライド値 
uint32_t val; 
DMACnSTRIDE_SRC_DST_ADDR レジスタ 

ディスクリプタ型

Copyright (c) 2017-2025 Axell Corporation. All rights reserved.