亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 請教一個(gè)映射的問題 [打印本頁]

作者: star316    時(shí)間: 2008-07-21 10:40
標(biāo)題: 請教一個(gè)映射的問題
我在用RM9200的開發(fā)板, 在看一些驅(qū)動例子的時(shí)候, 發(fā)現(xiàn)一些例子里面有兩種方法, 一個(gè)有 直接通過 芯片的外設(shè)地址初始化的,還有一種是通過映射來初始化的,請問這有什么區(qū)別呢???
例如


/* set PB12 output */
AT91_SYS->PIOB_PER |= GREEN_LED;
AT91_SYS->PIOB_OER |= GREEN_LED;
AT91_SYS->PIOB_CODR |= GREEN_LED;


另外一個(gè)方法是:

/* set PB12 output */
piob_base = ioremap_nocache(AT91C_BASE_PIOB, PIO_MEM_LEN);
writel (AT91C_PIO_PB12, piob_base + PIO_PER_OFF);
writel (AT91C_PIO_PB12, piob_base + PIO_OER_OFF);


一個(gè)是直接操作,一個(gè)通過映射IO 操作,這兩個(gè)有什么區(qū)別,哪個(gè)好呢??? 謝謝
作者: dreamice    時(shí)間: 2008-07-21 16:06
在還沒有進(jìn)行內(nèi)存映射的時(shí)候,通常在操作系統(tǒng)還沒有起來的時(shí)候,需要向串口輸出一些數(shù)據(jù),就只能用絕對地址;而當(dāng)操作系統(tǒng)起來以后,用戶空間的程序就只能通過虛擬地址來訪問底層硬件了,所以必須進(jìn)行內(nèi)存映射。
作者: 藍(lán)豆    時(shí)間: 2008-07-22 11:19
原帖由 dreamice 于 2008-7-21 16:06 發(fā)表
在還沒有進(jìn)行內(nèi)存映射的時(shí)候,通常在操作系統(tǒng)還沒有起來的時(shí)候,需要向串口輸出一些數(shù)據(jù),就只能用絕對地址;而當(dāng)操作系統(tǒng)起來以后,用戶空間的程序就只能通過虛擬地址來訪問底層硬件了,所以必須進(jìn)行內(nèi)存映射。

建議dreamice申請bz,也好集合一下我們這些散兵
作者: dreamice    時(shí)間: 2008-07-22 11:29
原帖由 藍(lán)豆 于 2008-7-22 11:19 發(fā)表

建議dreamice申請bz,也好集合一下我們這些散兵


無論是資力還是能力,我都還不夠,呵呵。謝謝~
我只是希望和大家一起共同討論學(xué)習(xí)
作者: 藍(lán)豆    時(shí)間: 2008-07-22 11:37
原帖由 dreamice 于 2008-7-22 11:29 發(fā)表


無論是資力還是能力,我都還不夠,呵呵。謝謝~
我只是希望和大家一起共同討論學(xué)習(xí)

呵呵,本來申請就是一個(gè)競爭的過程,不管怎么樣,偶依然頂你~~




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2