最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

hharm-study-2410-r1 的linux dm9000x.c驅(qū)動(dòng)中低8位反序的問題?

作者:muxiaowei 欄目:ARM技術(shù)
hharm-study-2410-r1 的linux DM9000x.c驅(qū)動(dòng)中低8位反序的問題?
DM9000的代碼在一開始就
#undef outb #undef outw
#undef inb  #undef inw
在重新定義
#define SWAP_HARDWARE
inline void outw(unsigned SHORT VALUE, unsigned LONG addr)
{
#ifndef SWAP_HARDWARE
       unsigned CHAR a,b=0;
unsigned SHORT c=DATA(VALUE);
       int i,j=7,k=1,m=128;
a=c & 0x00ff;
       for(i=1;i<=4;i++)
       {
               b=b|((a&k)<>j);
               k*=2;
               m/=2;
               j--;
               j--;
       }
       *(volatile unsigned SHORT *)(addr)=b|(c&0xff00) ;/*((unsigned SHORT)b)<<8;*/
#else
*(volatile unsigned SHORT*)addr =  DATA(VALUE);
#endif
}
inline void outb(unsigned CHAR VALUE, unsigned LONG addr)
{
#ifndef SWAP_HARDWARE
       unsigned CHAR a=VALUE,b=0;
       int i,j=7,k=1,m=128;
       for(i=1;i<=4;i++)
       {
               b=b|((a&k)<>j);
               k*=2;
               m/=2;
               j--;
               j--;
       }
       *(volatile unsigned SHORT *)(addr)=/*DATA((*/b /*) & 0x00ff)*/;/*((unsigned SHORT)b)<<8;*/
#else

*(volatile unsigned SHORT*)addr = (VALUE & 0x00ff);
#endif
}

inline unsigned CHAR inb(unsigned LONG addr)
{
#ifndef SWAP_HARDWARE
       unsigned CHAR b=0,a=(*(volatile unsigned SHORT *)(addr)) &0x00ff;
       int i,j=7,k=1,m=128;
       for(i=1;i<=4;i++)
       {
               b=b|((a&k)<>j);
               k*=2;
               m/=2;
               j--;
               j--;
       }
       return b;
#else
//return (((*(volatile unsigned SHORT *)(p))) &0x00ff);

unsigned SHORT val;
val = *(volatile unsigned SHORT*)addr;
return (unsigned CHAR)( val & 0x00ff );

#endif

}
inline unsigned SHORT inw(unsigned LONG addr)
{
#ifndef SWAP_HARDWARE
       unsigned CHAR b=0,a;
unsigned SHORT c=DATA((*(volatile unsigned SHORT *)(addr)));
       int i,j=7,k=1,m=128;
a=c & 0x00ff;
       for(i=1;i<=4;i++)
       {
               b=b|((a&k)<>j);
               k*=2;
               m/=2;
               j--;
               j--;
       }
       return b|(c&0xff00);
#else

unsigned SHORT val;

val = *(volatile unsigned SHORT*)addr;
return (DATA(val));
#endif
都進(jìn)行了低8位的反序.而且在華恒給的ppcboot里的DM9000x.c也是將這個(gè)幾個(gè)函數(shù)重新定義了

請(qǐng)問有人研究過這個(gè)問題沒?

2樓: >>參與討論
weixiao11
到bbs.hhcn.com去問吧
http://www.hhcn.com/cgi-bin/forums.cgi?forum=5 是HHARM2410-Study-R1用戶集中的地方,那里了解的人多一些。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
轉(zhuǎn)讓2塊arm7開發(fā)板
關(guān)于U-boot1.1.4不能保存環(huán)境變量的問題。急,期盼提示。
arm7采用的是哈佛結(jié)構(gòu)還是普林斯頓結(jié)構(gòu)?
USBN9603的困惑
請(qǐng)問:ftp://ftp.21ic.com/ 的登陸用戶名和密碼是多少?
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào)