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

milkyway的窩

最初想法的誕生地

 

ARM開發過程中最最需要注意的問題

作者:microsun

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

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

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

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

struct a{

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

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

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

一個典型的例子就文件系統的驅動程序,文件是以一些已經定義好的結構存放在存儲介質上的,它們被讀取到一個BUFFER中,而具體取某個文件、目錄結構時,我們會將地址轉化成結構而讀取其中的值。


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


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

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

導航

統計

公告

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

常用鏈接

留言簿(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>
            国产女人精品视频| 亚洲免费视频观看| 亚洲图色在线| 亚洲区一区二| 一本大道久久a久久综合婷婷| 久久久精品一品道一区| 一区二区三区免费看| 一区二区三区精品| 亚洲午夜羞羞片| 欧美一区二区三区精品| 欧美一级成年大片在线观看| 欧美一区二区三区免费看| 欧美亚洲视频一区二区| 久久国产精品第一页| 久久免费视频这里只有精品| 欧美成人精品h版在线观看| 亚洲福利国产| 亚洲视频一区在线观看| 久久久国产精品一区| 欧美另类人妖| 国产一在线精品一区在线观看| 亚洲第一福利社区| 欧美亚洲视频| 日韩午夜免费视频| 久久青青草原一区二区| 国产精品成人国产乱一区| 亚洲成人在线视频播放| 午夜精品久久久久久久99热浪潮| 久久久久久久波多野高潮日日| 亚洲人体偷拍| 欧美岛国在线观看| 国产午夜精品理论片a级大结局| 亚洲午夜极品| 欧美激情一区在线| 久久婷婷麻豆| 亚洲观看高清完整版在线观看| 欧美一区二区久久久| 一区二区欧美亚洲| 噜噜噜久久亚洲精品国产品小说| 午夜精品久久| 国产一区二区看久久| 久久精品欧洲| 蜜臀av一级做a爰片久久| 在线观看成人网| 欧美黑人多人双交| 免费永久网站黄欧美| 亚洲精品中文字幕在线观看| 亚洲欧洲日韩在线| 欧美三级午夜理伦三级中文幕| 日韩视频中文字幕| 亚洲午夜久久久| 国产一区视频观看| 亚洲三级免费电影| 国产精品国产三级国产aⅴ浪潮| 校园春色国产精品| 久久男女视频| 在线性视频日韩欧美| 欧美亚洲尤物久久| 99成人精品| 久久色中文字幕| 午夜伦欧美伦电影理论片| 久久不见久久见免费视频1| 91久久精品国产| 欧美在线免费视屏| 国产精品99久久久久久久vr| 欧美在线免费播放| 亚洲在线日韩| 欧美日韩国产精品| 久久躁狠狠躁夜夜爽| 国产精品日韩欧美一区二区| 亚洲第一页中文字幕| 国产欧美一区二区三区另类精品 | 日韩一级精品| 欧美成人中文字幕在线| 噜噜噜噜噜久久久久久91| 亚洲激情专区| 久久久久久久尹人综合网亚洲 | 国产伦精品一区二区三区在线观看| 亚洲免费综合| 欧美日韩专区在线| 亚洲精品一区二区在线| 国产主播一区二区三区| 亚洲欧美卡通另类91av| 久久精品国产99国产精品澳门| 欧美三级视频| 亚洲少妇自拍| 蜜桃av噜噜一区| 日韩亚洲在线| 欧美日韩美女一区二区| 中国日韩欧美久久久久久久久| 午夜激情综合网| 韩国一区二区三区在线观看| 麻豆精品国产91久久久久久| 亚洲第一网站| 亚洲午夜一区| 在线成人欧美| 国产精品成人久久久久| 久久久精彩视频| 99亚洲精品| 欧美不卡在线| 美女国内精品自产拍在线播放| 美日韩精品视频免费看| 香蕉亚洲视频| 欧美阿v一级看视频| 亚洲——在线| 在线中文字幕日韩| 亚洲国产你懂的| 免费国产一区二区| 欧美一区二区三区在线观看视频 | 国产亚洲日本欧美韩国| 欧美精品在线看| 日韩一级在线| 亚洲黄色在线| 亚洲精品免费一二三区| 1000部精品久久久久久久久| 国产麻豆91精品| 国产欧美日韩精品丝袜高跟鞋| 欧美精品三级在线观看| 国产精品视频精品视频| 亚洲午夜高清视频| 欧美成人免费va影院高清| 国产精品wwwwww| 亚洲精品午夜| 亚洲影视在线| 亚洲第一福利在线观看| 久久久久91| 两个人的视频www国产精品| 国产女主播在线一区二区| 久热国产精品视频| 久久综合给合| 国产综合久久久久久鬼色| 欧美在线综合视频| 久久深夜福利| 狠狠综合久久av一区二区老牛| 亚洲性xxxx| 一区二区三区精密机械公司 | 欧美激情一区二区在线 | 亚洲欧美国产高清va在线播| 免费观看成人| 久久天天躁狠狠躁夜夜av| 狂野欧美激情性xxxx欧美| 欧美成人精品在线| 国产亚洲欧美日韩精品| 一本久久知道综合久久| 亚洲自拍偷拍视频| 久久久久九九九九| 最新日韩在线视频| 亚洲综合精品| 狠狠久久五月精品中文字幕| 在线观看国产精品淫| 亚洲综合精品一区二区| 亚洲精品久久久久久下一站 | 久久久久成人精品免费播放动漫| 久热re这里精品视频在线6| 欧美亚洲一级片| 欧美国产日韩一区二区| 国产精品丝袜91| 亚洲在线观看| 一区二区三区四区蜜桃| 激情文学综合丁香| 欧美亚洲综合网| 一区二区三区 在线观看视频 | 亚洲在线视频免费观看| 亚洲自拍偷拍麻豆| 国产精品你懂的在线| 午夜精品久久久久久久99樱桃| 99热这里只有精品8| 国产精品国内视频| 亚洲欧美日韩一区在线观看| 亚洲美女黄网| 国产精品成人aaaaa网站| 欧美伊人久久久久久午夜久久久久 | 久久久久9999亚洲精品| 国产一区二区三区精品欧美日韩一区二区三区| 午夜国产精品影院在线观看| 亚洲综合欧美日韩| 亚洲国产一成人久久精品| 欧美1区2区| 欧美大片第1页| 亚洲一区二区欧美| 久久亚洲欧美| 性色av一区二区三区| 亚洲一区二区动漫| 亚洲美女av网站| 久久久久这里只有精品| 欧美一区综合| 欧美肥婆bbw| 久久久91精品国产一区二区精品| 免费欧美日韩| 欧美激情久久久久| 国产欧美日韩三区| 亚洲国产欧美日韩| 黄色成人在线| 免费在线亚洲欧美| 久久爱www.| 国产精品素人视频| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲免费视频成人| 久久激情五月丁香伊人| 欧美日韩国产欧|