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

milkyway的窩

最初想法的誕生地

 

ARM開發(fā)過程中最最需要注意的問題

作者:microsun

平時大家接觸最多的可能是X86平臺,在這種系統(tǒng)上寫程序幾乎不需要考慮太多問題,但ARM上就不一樣了,最常見也最容易被忽略的問題可能就是字節(jié)的對齊,即使像我這樣有六七年程序開發(fā)經(jīng)驗的才手也時常難于提防,最近就有一個BUG,花了一天時間最終發(fā)現(xiàn)是對齊引發(fā)的,在此與大家分享,但愿大家能夠注意到。

  我在EBOOT中讀取存在HARD DISK上的nk.bin文件,從而從HARD DISK上LOAD WINCE系統(tǒng),在這個過程中總是有check sum錯誤,但從ethernet下載時不會有錯,所以問題應該還是在我加的這部分代碼上,而且同樣的代碼在PC上能正常運行。經(jīng)過檢查代碼的邏輯關系是正確的。接著我在出錯時將那些數(shù)據(jù)全部用調(diào)試信息打出來,發(fā)現(xiàn)從文件開始算起第4096個字節(jié)被丟掉了,而其它的字節(jié)都是對的。初步判斷是對齊引發(fā)的問題,所以去查每一個BUFFER,最終發(fā)現(xiàn)是在讀取硬盤數(shù)據(jù)時BUFFERR并沒有按雙字節(jié)對齊,而硬盤以16BIT讀取數(shù)據(jù),而引發(fā)了錯誤。

實際上,這類問題在ARM系統(tǒng)上很常見,讓人防不勝防,以下是我的一些例子。

1,解析數(shù)據(jù)流時應該時刻注意。如果需要把一個數(shù)據(jù)流(BUFFER)轉(zhuǎn)化成結(jié)構(gòu)進行取值,就應該把這個結(jié)構(gòu)定義為按字節(jié)存取.考慮如下結(jié)構(gòu):

struct a{

char a;
short b;
long c;
};
如果某個數(shù)據(jù)流中包含這樣的結(jié)構(gòu),而且我們要直接將數(shù)據(jù)流的指針轉(zhuǎn)化成該結(jié)構(gòu)的指針,然后直接取結(jié)構(gòu)成員的值,我們就應該將這個結(jié)構(gòu)定義成按字節(jié)訪問,即將其夾在語句
#pragma pack(push,1)
...

#pragma pack(pop)
之中。如果我們不這樣做,編譯器會將成員b的地址對齊到short指針的地址,即在a之后加上一個char即8位的成員,將C對齊到LONG,即在B之后再加一個char成員。如此一來,成員B和成員C就得不到正確的值了。

如果我們定義一個普通的結(jié)構(gòu)用來存放一些數(shù)據(jù),則不用定義成按字節(jié)存取,編譯器會加上一些占位成員,但并不會影響程序的運行。從這個意義上講,在ARM中,將結(jié)構(gòu)成員定義成CHAR和SHORT來節(jié)約內(nèi)存是沒有意義的。

一個典型的例子就文件系統(tǒng)的驅(qū)動程序,文件是以一些已經(jīng)定義好的結(jié)構(gòu)存放在存儲介質(zhì)上的,它們被讀取到一個BUFFER中,而具體取某個文件、目錄結(jié)構(gòu)時,我們會將地址轉(zhuǎn)化成結(jié)構(gòu)而讀取其中的值。


2,訪問外設時。
例如,磁盤驅(qū)動通常以16BIT的方式存取數(shù)據(jù),即每次存取兩個字節(jié),這樣就要求傳給它的BUFFER是雙字節(jié)對齊的,驅(qū)動程序應該至上層傳來的指針做出正確的處理以保證數(shù)據(jù)的正確性。


3.有時,我們沒有將數(shù)據(jù)流指針轉(zhuǎn)化為結(jié)構(gòu)指針取值,但如果我們讀取的是雙字節(jié)或者是四字節(jié)的數(shù)據(jù),同樣需要注意對齊的問題,例如,如果從一個BUFFER的偏移10處讀取一個四字節(jié)值,則實際得到的值是偏移8處的
地址上的DWORD值。

posted on 2007-01-20 21:24 milkyway 閱讀(1248) 評論(0)  編輯 收藏 引用 所屬分類: wince(別人的文章技巧總結(jié))

導航

統(tǒng)計

公告

隨筆皆原創(chuàng),文章乃轉(zhuǎn)載. 歡迎留言!

常用鏈接

留言簿(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>
            一区二区精品| 欧美精品18| 欧美国产丝袜视频| 欧美成人免费播放| 欧美黄色网络| 亚洲人成欧美中文字幕| 亚洲国产视频直播| 亚洲欧洲一区二区天堂久久 | 久久五月婷婷丁香社区| 99日韩精品| 亚洲欧美精品一区| 久久久女女女女999久久| 先锋影音网一区二区| 久久久精品一品道一区| 久久精品国产久精国产一老狼 | 久久一区精品| 欧美黑人多人双交| 国产精品免费电影| 18成人免费观看视频| 夜夜嗨av一区二区三区网站四季av | 亚洲视频在线看| 久久gogo国模啪啪人体图| 麻豆freexxxx性91精品| 亚洲精品一品区二品区三品区| 在线亚洲自拍| 麻豆精品传媒视频| 国产日产精品一区二区三区四区的观看方式 | 亚洲国产成人精品久久久国产成人一区| 欧美 日韩 国产精品免费观看| 亚洲欧洲日本国产| 欧美资源在线观看| 欧美性做爰猛烈叫床潮| 亚洲第一网站免费视频| 亚洲欧洲av一区二区三区久久| 美玉足脚交一区二区三区图片| 一本久道久久久| 欧美成人午夜剧场免费观看| 国产亚洲一区二区三区| 亚洲图片欧洲图片av| 欧美bbbxxxxx| 欧美一级视频| 国产精品露脸自拍| 一本久久精品一区二区| 男人的天堂成人在线| 午夜精品久久久久久久99水蜜桃| 欧美日韩国产综合网| 亚洲精品欧美日韩| 欧美xx69| 久久综合成人精品亚洲另类欧美| 国产亚洲a∨片在线观看| 亚洲一区观看| 日韩视频永久免费观看| 欧美精品自拍偷拍动漫精品| 亚洲第一网站| 美日韩精品免费观看视频| 欧美一区二视频| 欧美日韩高清在线播放| 最新高清无码专区| 欧美高清在线一区| 毛片av中文字幕一区二区| 好看的日韩视频| 久久国产福利| 欧美在线短视频| 狠狠色伊人亚洲综合成人| 久久精品日产第一区二区| 欧美一区2区三区4区公司二百| 国产欧美大片| 久久久久国内| 久久综合中文字幕| 亚洲激情成人在线| 免费欧美日韩国产三级电影| 久久精品一区蜜桃臀影院| 亚洲第一伊人| 91久久国产综合久久91精品网站| 蜜桃av一区| 亚洲素人在线| 香蕉久久一区二区不卡无毒影院| 国产亚洲精品成人av久久ww| 久久久久网站| 欧美国产日韩一区| 亚洲综合电影| 久久精品国产欧美亚洲人人爽 | aa成人免费视频| 一区二区三区欧美日韩| 国产精品稀缺呦系列在线| 久久一区中文字幕| 欧美 日韩 国产一区二区在线视频| 亚洲国产精品久久| 一区二区高清视频| 一区二区在线视频播放| 亚洲激情在线激情| 国产乱码精品一区二区三区五月婷| 美日韩精品视频免费看| 欧美日韩精品在线播放| 久久久久久黄| 欧美日本不卡高清| 久久中文在线| 国产精品va| 欧美高清视频www夜色资源网| 欧美日韩一级片在线观看| 久久爱www久久做| 欧美激情视频一区二区三区在线播放 | 久久精品成人| 日韩午夜激情av| 性欧美xxxx视频在线观看| 亚洲啪啪91| 午夜伦欧美伦电影理论片| 亚洲精品一级| 久久蜜桃香蕉精品一区二区三区| 免费在线播放第一区高清av| 欧美精品一区二区三区在线播放| 亚洲欧美三级在线| 麻豆国产精品777777在线| 亚洲一区久久久| 欧美成人免费视频| 久久人人97超碰国产公开结果| 欧美日韩二区三区| 欧美高清影院| 精品成人一区| 欧美在线播放一区| 性久久久久久久| 欧美午夜精品伦理| 亚洲精品日本| 最新日韩av| 久久视频精品在线| 久久精品综合| 国产目拍亚洲精品99久久精品 | 欧美一区二区三区在线播放| 欧美日产在线观看| 亚洲电影有码| 亚洲日韩中文字幕在线播放| 久久精品亚洲乱码伦伦中文| 久久电影一区| 国产一区二区精品久久| 亚洲香蕉网站| 亚洲欧美综合一区| 国产精品卡一卡二卡三| 国产精品99久久久久久久女警 | 亚洲黄色在线视频| 卡通动漫国产精品| 欧美黄色影院| 亚洲九九爱视频| 欧美激情免费观看| 亚洲精品一品区二品区三品区| 亚洲免费av电影| 欧美三级资源在线| 一本色道久久综合精品竹菊| 亚洲五月六月| 国产精品一区久久久| 亚洲欧美日韩综合国产aⅴ| 欧美一级片在线播放| 国产一区美女| 久热国产精品| 亚洲精品无人区| 亚洲欧美日韩中文在线制服| 国产精品一区二区在线观看网站| 午夜精品久久久久久久久久久久久| 欧美诱惑福利视频| 在线观看av不卡| 欧美精品在线免费| 亚洲一区二区三区在线看| 欧美在线综合| 亚洲国产片色| 欧美午夜片在线免费观看| 亚洲欧美清纯在线制服| 老司机亚洲精品| 中文成人激情娱乐网| 国产免费成人av| 欧美成人免费一级人片100| 亚洲毛片av| 久久久久久一区二区| 亚洲久久成人| 狠狠色香婷婷久久亚洲精品| 欧美丰满少妇xxxbbb| 国产精品久久久久免费a∨| 亚洲欧美激情视频| 久久一区免费| 亚洲午夜未删减在线观看| 国产丝袜美腿一区二区三区| 久热爱精品视频线路一| 亚洲网站在线看| 欧美国产日韩一区二区三区| 亚洲一区二区三区中文字幕| 在线观看一区二区精品视频| 欧美性做爰毛片| 女生裸体视频一区二区三区| 午夜精品福利一区二区蜜股av| 欧美激情视频给我| 久久久久天天天天| 亚洲欧美中文另类| 亚洲精品婷婷| 亚洲国产91| 黄色成人精品网站| 国产精品稀缺呦系列在线| 欧美美女喷水视频| 久久香蕉国产线看观看av| 亚洲欧美国产日韩天堂区| 日韩一区二区精品| 亚洲人成高清| 亚洲国产婷婷香蕉久久久久久99 |