DMACR_SRP

DMACR_SRP ( Memory DMA Channel Read Start Page )はメモリーDMAのDMA読み出しチャンネルの転送ページとその空間を指定します。ページ内アドレスはDMACR_SRAによって指定します。

レジスタの構造

このレジスタは図1のような構造をもっています。初期値は0です。

図1 レジスタの構造

各ビットの意味は以下のとおりです。

MP : Memory Page

DMAを行うメモリーページです。

MS : Memory Space

DMAを行うメモリー空間です。B-26にはIOメモリー空間からも転送できるように書いてありますが、間違いでしょう。6-19にはIOメモリー空間からは転送できないとはっきり書いてあります。

  • 1はブートメモリー空間です。
  • 0は通常メモリー空間です。

API

C/C++言語用に以下のインターフェースが用意されています。宣言はsysreg.hとdef2191.hで行われています。DMACR_SRPにアクセスする前には必ずIOPGにMemory_DMA_Controller_Pageを設定してください。

// #include <sysreg.h>
// #include <def2191.h>

sysreg_write(sysreg_IOPG, Memory_DMA_Controller_Page)     // メモリーDMAページに設定

io_space_write(DMACR_SRP, 値)         // DMACR_SRPに値を設定。
変数 = io_space_read(DMACR_SRP)       // DMACR_SRPの値を取得。

アナログデバイセズが配布しているmcmの中のビット定義ファイルdef2191bit.hから関連するビット定義部分をここに引用します。

                // Definition for xxxD_SRP
#define SRP_MS_OFST     8
#define SRP_MS_MASK     ( 3 << SRP_MS_OFST )
#define SRP_MS_MEMORY   ( 0 << SRP_MS_OFST )
#define SRP_MS_BOOT     ( 1 << SRP_MS_OFST )
#define SRP_MS_IO       ( 2 << SRP_MS_OFST )
#define SRP_MP_OFST     0
#define SRP_MP_MASK     ( 0x00ff << SRP_MS_OFST )

参照情報

項目 マニュアルのページ等
説明 HR B-29
DMAの解説 HR 6-1
DMA開始手続き HR 6-6
DMAメモリー空間 HR 6-19
2191空挺団 | プログラム | EZ-KIT | こぼれ話 | アーキテクチャー | 命令 | レジスタ | DSP掲示板 | FAQ |