DMACR_CPR

DMACR_CPR ( Memory DMA Channel Read Chain Pointer Ready )はメモリーDMAのDMA読み出しチャンネルの用意ができたことを知らせます。

メモリー上のDMAデスクリプタの準備が終ったら、プログラムはこのレジスタのDRビットに1を書き込んでDMAエンジンにデスクリプタの読み込み準備が整ったことを知らせます。この手続きはDOWN=0によってチェインをいったん停止したDMAエンジンを再始動します。

レジスタの構造

このレジスタはbit0にDRビットを持ちます。リセット後の値は0x0000です。

DMACR_CPR

図1 DMACR_CPR

DR( Descriptor Ready )ビットはDMA転送が始まるとDMAエンジンによってクリアされます。予約領域への書き込みは無視されます。

API

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

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

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

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

参照情報

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