DMACR_SRP ( Memory DMA Channel Read Start Page )はメモリーDMAのDMA読み出しチャンネルの転送ページとその空間を指定します。ページ内アドレスはDMACR_SRAによって指定します。
このレジスタは図1のような構造をもっています。初期値は0です。
図1 レジスタの構造
各ビットの意味は以下のとおりです。
DMAを行うメモリーページです。
DMAを行うメモリー空間です。B-26にはIOメモリー空間からも転送できるように書いてありますが、間違いでしょう。6-19にはIOメモリー空間からは転送できないとはっきり書いてあります。
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 |