亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
大端處理器接小端外設(shè)?
[打印本頁(yè)]
作者:
xs3c
時(shí)間:
2010-11-16 12:33
標(biāo)題:
大端處理器接小端外設(shè)?
RT 大端處理器 是咋連小端外設(shè)? 在linux中,iowrite16 ioread16這些默認(rèn)輸出都是小端模式?
作者:
Godbach
時(shí)間:
2010-11-16 13:22
自己做一下轉(zhuǎn)換吧
作者:
xs3c
時(shí)間:
2010-11-16 15:06
本帖最后由 xs3c 于 2010-11-16 15:07 編輯
謝謝版主的回答,可能我描述的不是太清楚。
通過(guò)查看powerpc部分的代碼中發(fā)現(xiàn)iowrite16調(diào)用writew 而writew在asm-generic/io.h中定義為
#define writew(b,addr) __raw_writew(__cpu_to_le16(b),addr
所以認(rèn)為linux 只是powerpc下都是輸出都是默認(rèn)小端。也就是輸出到數(shù)據(jù)線上的數(shù)據(jù)已經(jīng)同__cpu_to_le16轉(zhuǎn)換了。
那么我的第一個(gè)問題就是 :硬件連接的時(shí)候,是否就應(yīng)該按照處理器是小端的方式將處理器的數(shù)據(jù)線與外設(shè)的數(shù)據(jù)線連接?
第二個(gè)問題: 那么處理器是小端的話那么數(shù)據(jù)線與外設(shè)的數(shù)據(jù)線連接。是否
cpu bit0 ---------bit15
外設(shè) bit0 ---------bit15
而大端處理器要是linux中沒有做__cpu_to_le16的轉(zhuǎn)換工作,數(shù)據(jù)線的連接是否是應(yīng)該:
cpu bit0-------bit15
外設(shè) bit15------bit0。
以上是我的理解,請(qǐng)教各位大俠是否正確?
這所以有上面的問題,是我在調(diào)試一個(gè)網(wǎng)卡驅(qū)動(dòng)的時(shí)候,板子是powerpc配置大端,網(wǎng)卡芯片寄存器是小端, 驅(qū)動(dòng)程序里面原來(lái)直接用ioread16 iowrite16。結(jié)果發(fā)現(xiàn)設(shè)置的寄存器值剛好是大小端反的。
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2