(詳細的實驗**,請參看
一、 dma原理分析
1. dma(direct memory access)直接記憶體儲存,用於記憶體到記憶體,或者記憶體到外設(介面、晶元暫存器等)
2. dma控制器:2440為4通道;6410為四控制器,每個控制器8通道;210分為dma_mem、dma0以及dma1
二、 基於s3c2440的dma程式設計(touch dma.c 丟到dev目錄下,修改dev/makefile)
1. dma初始化函式:void dma_init( )
先設定要傳輸的字串:char *buf = "hello world!";
disrc0 r/w 0x4b00 0000
disrc0 = buf;
disrcc0 r/w 0x4b00 0004
loc[1]
0ahb
inc[0]
0increment 指標變化
increment
1.2 初始化目的位址
didst0 r/w 0x4b00 0008
didstc0 r/w 0x4b00 0000
loc[1]
1apb
inc[0]
1fixed 指標不變化
1.3 初始化控制暫存器
pcon0 r/w 0x4b00 0010
hwsrcsel
[26:24]
001uart0
swhw-sel
[23]
1by[26:24]operation
reload
[22]
1turn off when becomes
tc[19:0]
12資料位數
2. 開啟dma開始傳送——void dma_start()
dmasktrig0 r/w 0x4b00 0020
on_off
[1]1on
3. dma.c的**如下:
char *buf = "hello ****u!";
#define disrc0 (*(volatile unsigned long *)0x4b000000)
#define disrcc0 (*(volatile unsigned long *)0x4b000004)
#define didst0 (*(volatile unsigned long *)0x4b000008)
#define didstc0 (*(volatile unsigned long *)0x4b00000c)
#define dcon0 (*(volatile unsigned long *)0x4b000010)
#define dmasktrig0 (*(volatile unsigned long *)0x4b000020)
#define utxh0 (volatile unsigned long *)0x50000020
void dma_init(void)
void dma_start(void)
loc[1]0:ahb
inc[0]
0:increment
指標變化
loc[1]1:apb
inc[0]
1:fixed
指標不變化
《嵌入式系統原理與應用》 (八)DMA 知識梳理
目錄 dma的定義及傳輸要素 dma的傳輸過程 dma的優缺點及其適用場景 stm32中dma的特點 stm32中dma的優先順序機制 stm32中dma的傳輸模式 stm32中dma的常用初始化過程 dma的常用庫函式 主要在初始化時結構體變數的設定 dma的引入 讓cpu做更有意義的工作 cpu...
CHIPSeq的原理和應用
染色質免疫共沉澱技術 chipseq,也稱結合位點分析法,是研究體內蛋白質與相互作用的有力工具,通常用於轉錄因子結合位點或組蛋白特異性修飾位點的研究。將與第二代測序技術相結合的技術,能夠高效地在全基因組範圍內檢測與組蛋白 轉錄因子等互作的區段。chipseq的原理是 首先通過染色質免疫共沉澱技術 特...
mybaits的原理和應用
是乙個orm框架。建立 物件 protected t newinstance public class implements invocationhandler serializable override public object invoke object proxy,method method...