DMACR_CP ( Memory DMA Channel Read Chain Pointer )はメモリーDMAのDMA読み出しチャンネルのデスクリプタ・チェインアドレスを示します。このレジスタは読み書き可能です。DMAは実行中の転送が終了するとこのレジスタの値をアドレスとする番地から新しいDMAデスクリプタをロードします。
DMAブロック転送終了時にこのレジスタの値が0であると、DMAは動作を停止します。
このレジスタの値はAuto DMAの時には無視されます。
このレジスタには構造はありません。16ビットアドレスレジスタです。初期値は0です。
DMACR_CPは読み出しも書き込みも可能です。値の設定はデスクリプタのロード時に行われるほか、プログラムから直接書き込むことも可能です。
C/C++言語用に以下のインターフェースが用意されています。宣言はsysreg.hとdef2191.hで行われています。DMACR_CPにアクセスする前には必ずIOPGにMemory_DMA_Controller_Pageを設定してください。
// #include <sysreg.h> // #include <def2191.h> sysreg_write(sysreg_IOPG, Memory_DMA_Controller_Page) // メモリーDMAページに設定 io_space_write(DMACR_CP, 値) // DMACR_CPに値を設定。 変数 = io_space_read(DMACR_CP) // DMACR_CPの値を取得。
項目 | マニュアルのページ等 |
---|---|
説明 | HR B-30 |
DMAの解説 | HR 6-1 |
DMA開始手続き | HR 6-6 |
DMAメモリー空間 | HR 6-19 |