dma(direct memory access)是一種硬體單元,可以實現在不需要cpu的干預下直接實現記憶體與外設的資料交換,從而可以提高cpu的使用效率,2440有乙個四通道的dma。
char *buf = "hello world!";//儲存資料的源位址
1、初始化
①、初始化源位址
disrcc0 = (0<<1) | (0<<0); //源位址為記憶體,自增
②、初始化源位址
目的位址一般就是外設中的乙個用於儲存資料的暫存器,對於uart就是utxhn
didst0 = utxh0;//存放的是utxh0的位址
didstc0 = (0<<2)|(1<<1)|(1<<0);//計數為0發生中斷,目標位址為外設,不自增
chk_int:
a、 計數器tc(用於儲存需要傳輸的資料長度)減之零時觸發中斷
b、資料過載完成後觸發中斷
②、設定dma
mini2440系統引導(五)串列埠UART
s3c2440a 的通用非同步收發器 uart 配有 3 個獨立非同步序列 i o sio 埠,每個都可以是基於中斷或基 於 dma 模式的操作。換句話說,uart 可以通過產生中斷或 dma 請求來進行 cpu 和 uart 之間的資料傳輸。uart 通過使用系統時鐘可以支援最高 115.2kbp...
mini2440修改預設列印串列埠
1 修改uboot原始碼,使其支援串列埠2列印 uboot原始碼中存在對串列埠的配置檔案,具體的路勁為src include configs my2440.h 在這個檔案中需要修改兩處,第一處是 這裡修改的意思就是,讓其uboot的列印串列埠,修改為串列埠2,還有一處修改,就是bootargs,具體...
mini2440之ADC驅動分析
一,adc原理 adc,模數轉換器,將模擬量轉換成數字量,取樣,保持電路與ad轉換器整合在一起。ad轉換器模擬輸入訊號是直流電壓訊號,0 3.3v之間。s3c2440有8路模擬輸入訊號,ad轉換器內部有乙個模擬多路選擇器,某一時刻只能將一路模擬輸入訊號,通過模擬多路選擇器接通進行ad轉換,而其他路模...