青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

milkyway的窩

最初想法的誕生地

 

淺談wince應用程序的可移植性

      由于windows絕大多數情況下運行于X86平臺上,也就不存在不同平臺的可移植性問題。然而Windows CE運行在四大架構(X86,SHx,MIPS,ARM)的CPU上,編寫應用程序時就需要考慮它的移植。
       以下通過在wince系統下訪問物理地址,來看看如何編寫可移植性較好的應用程序。
       首先必須明確兩個概念。
       1。在X86平臺下才有I/O地址這一說,在其他體系的CPU(如ARM/MIPS)下是沒有I/O端口的。因為X86下把I/O和存儲器分開編址,導致其有兩種地址;而別的CPU是把兩者統一編址,即把I/O映射到存儲器上。
        2。wince的存儲管理是通過MMU實現的,在系統啟動后,我們只能訪問虛擬存儲空間,必須經過MMU。但是在X86下,訪問I/O口和存儲器走的地址總線不同,不用經過MMU。
         比如我們想要訪問掛在某總線上物理地址為360h的端口,對于X86平臺我們可以直接嵌入匯編操作物理地址, 或者使用地址指針訪問物理地址。但對于其他平臺,我們必須先作一個物理地址到虛擬地址的映射,然后操作其虛擬地址。這樣顯然程序的可移植性不好,我們需要定義  #ifdef __x86....#elif defined __arm  使得在不同平臺下程序能夠順利運行。
          如果使用下面的代碼我們就可以不用這么費勁的定義不同平臺了:
        先定義
     inIoSpace = 1;
    ioPhysicalBase.QuadPart = 0x360;

if( HalTranslateBusAddress( Isa,                 //此函數把ISA總線上物理地址映射為系統物理地址
                            0,
                            ioPhysicalBase,
                            &inIoSpace,                  //此參數=1說明轉化的是I/O空間地址,=0時存儲器地址
                            &ioPhysicalBase ) )
{
    if( !inIoSpace )                                           ////如果是存儲器地址,針對非X86 平臺

    {
            ioPortBase = ( PUCHAR ) MmMapIoSpace(            //此函數把系統物理地址轉化為虛擬地址
            ioPhysicalBase,
            IoLen,
            FALSE );
        if( ioPortBase == NULL )
        {
            //TODO: Error handling
        }
    }
    else                                                 //如果是I/O,即X86 下,不需要做地址映射
    {
        ioPortBase = ( PUCHAR ) ioPhysicalBase.LowPart;
    }
}
else
{
    //TODO: Error Handling
}

       隨后對于端口的操作( ioPortBase),我們也可以充分挖掘它的可移植性。通過使用READ_PORT_UCHAR,
WRITE_PORT_UCHAR這些wince下的宏來實現端口讀寫。而不是在X86下用指針操作(不僅移植性差,而且容易產生問題)。CE下的宏在內部是封裝好的API函數。例如WRITE_PORT_UCHAR這個宏在X86 處理器上轉化為一條OUT的匯編指令;而在ARM處理器上會轉化成一條對虛擬地址的寫指令。

posted on 2007-04-08 09:19 milkyway 閱讀(2401) 評論(2)  編輯 收藏 引用 所屬分類: Wince學習小結

評論

# re: 淺談wince應用程序的可移植性 2007-04-10 13:33 相思酸中有甜

wince5.0下可以使用CreateBusAccessHandle(總線注冊表路徑)+BusTransBusAddrToVirtual來實現總線物理地址到系統虛擬地址的直接變換。這種方式比起使用OEMAddressTable+VirtualAlloc+VirtualCopy方式更具不同平臺的可移植性。  回復  更多評論   

# re: 淺談wince應用程序的可移植性 2007-04-18 15:07 相思酸中有甜

程序里采用諸如 #denfine 以及CE下的宏,能使你的程序更規范.  回復  更多評論   

導航

統計

公告

隨筆皆原創,文章乃轉載. 歡迎留言!

常用鏈接

留言簿(37)

隨筆分類(104)

隨筆檔案(101)

文章分類(51)

文章檔案(53)

wince牛人

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日韩欧美综合一区| 欧美99在线视频观看| 国产精品久久久久久久浪潮网站| 欧美福利电影网| 老牛国产精品一区的观看方式| 欧美影院在线| 久久亚洲国产精品日日av夜夜| 久久久久一区二区| 美女精品在线| 欧美体内she精视频| 国产精品一区视频网站| 国内外成人在线| 一区二区电影免费观看| 欧美在线999| 亚洲精品之草原avav久久| 香港久久久电影| 欧美国产三区| 亚洲国产另类久久精品| 国产麻豆午夜三级精品| 国内精品久久久久久影视8| 在线观看av一区| 亚洲女性裸体视频| 欧美成人蜜桃| 亚洲手机在线| 欧美三级日本三级少妇99| 国内成+人亚洲| 久久国产88| 亚洲无亚洲人成网站77777| 欧美aⅴ99久久黑人专区| 国产在线精品自拍| 久久久久在线观看| 亚洲综合电影一区二区三区| 亚洲国产91| 国模大胆一区二区三区| 亚洲免费电影在线| 亚洲高清在线| 欧美国产大片| 99精品久久免费看蜜臀剧情介绍| 久久成人18免费观看| 亚洲女人天堂av| 国产亚洲aⅴaaaaaa毛片| 亚洲欧美中日韩| 日韩小视频在线观看| 免费观看成人网| 99国产精品私拍| 中文精品视频一区二区在线观看| 国产精品午夜电影| 久久亚洲春色中文字幕| 麻豆精品网站| 亚洲已满18点击进入久久| 午夜精品视频在线| 亚洲福利国产| 亚洲已满18点击进入久久| 欧美精品在线观看| 国产女主播在线一区二区| 亚洲三级免费电影| 巨胸喷奶水www久久久免费动漫| 亚洲欧洲精品一区二区三区波多野1战4 | 欧美日韩成人综合在线一区二区| 国产亚洲精久久久久久| 亚洲欧美日产图| 亚洲午夜一区二区三区| 欧美视频一区二区| 亚洲欧美日韩综合| 一本综合精品| 国产精品每日更新在线播放网址| 一区二区免费在线播放| 日韩一区二区精品| 欧美天堂亚洲电影院在线观看 | 亚洲国产成人不卡| 老鸭窝91久久精品色噜噜导演| 尹人成人综合网| 欧美成人国产va精品日本一级| 久久精品欧美日韩精品| 在线观看欧美激情| 亚洲日韩中文字幕在线播放| 欧美日韩大片一区二区三区| 亚洲伊人网站| 久久国产直播| 亚洲精选在线观看| av成人动漫| 国产区在线观看成人精品| 久久亚洲精选| 欧美乱人伦中文字幕在线| 小辣椒精品导航| 久久久久国产精品一区二区| 日韩网站在线| 午夜精品视频网站| 亚洲国产一区二区a毛片| 日韩亚洲一区在线播放| 国内精品美女在线观看| 亚洲国产精品va在线看黑人动漫| 欧美丝袜一区二区三区| 久久久国产精品一区二区中文| 久久综合伊人77777蜜臀| 在线亚洲+欧美+日本专区| 欧美一区二区视频在线观看| 日韩视频一区| 久久国产精品久久w女人spa| 99国内精品久久| 性8sex亚洲区入口| 一本久久a久久免费精品不卡| 亚洲免费中文字幕| 亚洲精品久久久久久久久久久久久| 亚洲伦理精品| 亚洲欧美日韩直播| 久久综合福利| 亚洲欧美国产制服动漫| 久久免费99精品久久久久久| 亚洲网友自拍| 乱人伦精品视频在线观看| 亚洲综合欧美日韩| 欧美成人免费全部观看天天性色| 午夜精品久久久久| 欧美精品免费在线观看| 玖玖玖免费嫩草在线影院一区| 国产精品久久久久久影视| 亚洲二区视频在线| 狠狠色狠狠色综合人人| 亚洲午夜黄色| 一区二区日韩欧美| 牛牛国产精品| 久久只精品国产| 国产欧美日韩在线| 在线亚洲观看| 亚洲午夜一级| 欧美日韩国产大片| 91久久精品日日躁夜夜躁国产| 影音先锋一区| 久久蜜桃精品| 久久先锋影音av| 国户精品久久久久久久久久久不卡| 日韩一区二区精品在线观看| 亚洲人午夜精品免费| 欧美18av| 欧美xart系列在线观看| 亚洲二区在线视频| 久久理论片午夜琪琪电影网| 久久婷婷av| 一区二区亚洲| 久久综合久久综合久久| 快播亚洲色图| 在线观看日韩精品| 免费成人激情视频| 亚洲日本在线观看| 亚洲永久字幕| 国产日韩欧美精品在线| 久久精品一区二区三区四区| 久久这里有精品15一区二区三区| 国内精品模特av私拍在线观看| 欧美中文字幕| 美女网站久久| 亚洲激情影院| 欧美图区在线视频| 欧美一级电影久久| 欧美激情1区2区| 一本色道久久综合亚洲二区三区| 欧美日韩亚洲精品内裤| 亚洲欧美99| 欧美成人国产一区二区| 一区二区三区波多野结衣在线观看| 欧美人与性禽动交情品 | 欧美亚洲自偷自偷| 欧美 日韩 国产 一区| 日韩一区二区精品| 国产欧美视频一区二区三区| 久久精品一区二区三区四区| 亚洲精品网站在线播放gif| 亚洲欧美精品suv| 伊人久久噜噜噜躁狠狠躁| 欧美激情一区在线| 欧美一区二区三区免费视| 夜夜嗨av一区二区三区四季av | 噜噜噜噜噜久久久久久91| 91久久精品日日躁夜夜躁国产| 亚洲欧美国产va在线影院| 黄色精品一二区| 欧美日韩亚洲在线| 久久精品中文字幕免费mv| 日韩视频精品| 久久亚洲综合| 亚洲永久字幕| 亚洲日本理论电影| 国产伪娘ts一区| 欧美日韩国产色视频| 久久乐国产精品| 午夜国产一区| 99精品国产在热久久下载| 免费在线亚洲欧美| 久久成人精品视频| 亚洲小说区图片区| 亚洲激情校园春色| 狠狠狠色丁香婷婷综合激情| 国产精品毛片| 国产精品v欧美精品v日韩 | 欧美日在线观看| 你懂的网址国产 欧美| 久久国产精品99久久久久久老狼| 亚洲最新在线| 亚洲激情综合|