DMACR_CPR ( Memory DMA Channel Read Chain Pointer Ready )はメモリーDMAのDMA読み出しチャンネルの用意ができたことを知らせます。
メモリー上のDMAデスクリプタの準備が終ったら、プログラムはこのレジスタのDRビットに1を書き込んでDMAエンジンにデスクリプタの読み込み準備が整ったことを知らせます。この手続きはDOWN=0によってチェインをいったん停止したDMAエンジンを再始動します。
このレジスタはbit0にDRビットを持ちます。リセット後の値は0x0000です。
図1 DMACR_CPR
DR( Descriptor Ready )ビットはDMA転送が始まるとDMAエンジンによってクリアされます。予約領域への書き込みは無視されます。
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 |