娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月21日(星期一)

正在發生

2019年10月21日 | 32位嵌入式系統的字節對齊

發布者:科技驛站 來源: 51hei關鍵字:32位  嵌入式系統  字節對齊 手機看文章 掃描二維碼
隨時隨地手機看文章

32位嵌入式系統的軟件開發過程中,字節對齊問題是相當重要的。我們現在就拿ARM處理器和ADS1.2開發環境作為例子說明字節對齊的概念。


在此之前,我先聲明幾個基本的概念:


(1)、對象:在C語言中使用結構體類型、共同體類型、或內部基本類型所定義的變量或常量,就稱為對象。對象占據了一塊實際的存儲器空間,這塊空間有固定的起始地址和字節數。


(2)、引用:使用對象有兩種方法:“對象名”和“引用”。當你在源代碼中定義一個對象時,編譯器就會為它分配一塊存儲器,此時你就可以使用“對象名”來操作該對象。但是對于程序運行時動態分配的某一塊存儲器空間(對象),你就沒法使用“對象名”了,而只能使用“引用”,所以,“引用”就是指向特定類型的對象的指針。


好了,我們轉入正題。


在32位嵌入式系統中,單字節對象是1字節對齊的;雙字節對象是2字節對齊的;四字節對象是4字節對齊的;其它結構體或共同體對象是8字節對齊的。也就是說,當你定義一個單字節對象時,該對象的起始地址可以是任何整數;當你定義一個雙字節對象時,該對象的起始地址必定是2的倍數的整數;當你定義一個四字節對象時,該對象的起始地址必定是4的倍數的整數;當你定義一個結構體或共同體對象時,該對象的起始地址必定是8的倍數的整數。以上說的對象包括“結構體或共同體對象的成員對象”。


字節對齊的故障只能出現在“引用”的使用過程中。當你使用“對象名”來操作對象時,根本不用擔心字節對齊問題。


在ADS環境下,有“ALIGN” 、“__align(x)” 、“__packed”關鍵字用于字節對齊處理。ALIGN用于匯編語言,__align(x)用于C語言,__packed用于放棄字節對齊。


單字節對齊類型的引用可以操作任何對象,雙字節對齊類型的引用可以操作雙字節、四字節、八字節對齊的對象,…………。只有遵守這個規則,你的程序才可能是健壯的。


如果你確實想使用雙字節對齊類型的引用來操作單字節對齊對象,那么你在定義該引用時必須使用__packed關鍵字!



關鍵字:32位  嵌入式系統  字節對齊 引用地址:32位嵌入式系統的字節對齊

上一篇:ARM處理器的節能優勢
下一篇:stm32入門——跑馬燈(基于stm32f103zet6)

推薦閱讀

ARM-Linux由于采用ARM芯片,執行效率高,功能強大,外設相對豐富,是功能強大的計算機系統,并且需要運行操作系統,所以其啟動方式和單片機有較大的差別,但是和家用計算機的啟動方式基本相同。其啟動一般包括BIOS,bootloader,內核啟動,應用啟動等階段。(a)啟動BIOS BIOS是設備廠家(芯片或者是電路板廠家)設置的相應啟動信息,在設備上電...
2007年12月12日,國家電網公司在菲律賓國家輸電公司特許經營權拍賣會上競標成功,獲得菲律賓國家電網25年的特許經營權。這是我國電網企業首次獲得境外國家級大型輸電網絡的特許經營權,也是國家電網公司實施“走出去”戰略,充分利用國內、國外“兩個市場、兩種資源”,促進我國能源可持續發展的重大舉措。 此前,菲律賓國家輸電公司經營業績良好,...
市調機構Counterpoint的最新報告顯示,三星以22%的市場份額引領8月全球智能手機市場。圖源:Counterpoint該報告指出,今年4月,由于三星在印度和歐洲這兩個主要市場的銷量急劇下滑,該公司的榜首位置被華為取代。但在7月和8月,隨著印度逐漸解除疫情期間的“封鎖”,三星通過采取積極的線上渠道戰略,銷量開始反彈,獲得了自2018年以來最高的市場份額。三...
在工業智能化的如今,工業機器人正在扮演著越來越重要的角色,但與此同時,還有一樣設備的地位不容小覷,那就是數控機床。數控機床在業內被稱之為“母機”,其重要性不言而喻,而且數控機床還被廣泛應用于航空航天等領域,又堪稱制造業的大國重器。不過,受種種因素的影響,我國在數控機床領域長期受制于日本、德國、美國等海外國家,尤其是在高端數控機床...

史海拾趣

問答坊 | AI 解惑

運放和比較器的根本區別(一)

放大器與比較器的主要區別是閉環特性! 放大器大都工作在閉環狀態,所以要求閉環后不能自激.而比較器大都工作在開環狀態更 追求速度.對于頻率比較低的情況放大器完全可以代替比較器(要主意輸出電平),反過來比 較器大部分情況不能當作放大器使用. ...…

查看全部問答∨

“第三屆‘ZLG’杯”后感想

本帖最后由 paulhyde 于 2014-9-15 08:58 編輯 在第三屆“ZLG杯”中國大學生ARM嵌入式系統電子設計競賽我們組的作品“基于EasyARM1138和RFID的病房無線體溫監測終端”排在65名(全國500組),獲得“優勝獎。 其實,對于這樣的成績,我們 ...…

查看全部問答∨

求助音頻播放問題

使用MediaPlayer播放WAV文件,反復播放停止,在播放起始和停止結束,會出現雜音現象,通過示波器可以看到AC97輸出有明顯的雜波。我們使用的是9715。9713也是同樣的問題。誰知道這是怎么回事?…

查看全部問答∨

>>調查一下大家做嵌入式開發的工資水平

偶是做web開發轉過來的,什么都搞不定,很郁悶很郁悶。 開個題散點分給大家。 順便調查一哈大家做嵌入式開發的工資情況 ——地點,工作年限,工資水平。…

查看全部問答∨

CETK測試sd卡驅動的問題

CETK測試sd卡驅動的問題 用CETK測試SD卡的驅動的時候,一共有三項。 其中Strorage Device Block Driver Read/Write Test Cases 和Storage Device Block Driver API Test Cases這兩項都能通過, 另外一項:Storage Device Block Driver Benchm ...…

查看全部問答∨

竟然買到MSP430的假片

本帖最后由 ddllxxrr 于 2016-1-7 17:11 編輯 片子是在淘寶上買的MSP430F1232,高速晶振在沒有軟件設置的時候竟然起振了,Jtag一直都連不上去。后來果斷換了一家實體店,片子一換上去就好了。以前買過51的假片,現在竟然買到430的啦!無良賣家是在 ...…

查看全部問答∨

弱問:LM3s811什么情況下會鎖死?

我剛接觸LM3s811,聽說會出現鎖死現象,不知什么情況下會鎖死?…

查看全部問答∨

用于脈動式血氧計的基于光度測定的 AFE

TI 推出首個用于光度測定的完全集成的模擬前端系列。 AFE44xx 系列集成了所有前端組件,以及相關的典型光度測定解決方案的計時控制電路。 應用包括臨床和家庭保健脈動式血氧計、基于光度測定的血糖儀,以及基于光體積描記器 (PPG) 的心率監視器。通 ...…

查看全部問答∨

學模擬+TINA-TI Make Design Easier

本帖最后由 dontium 于 2015-1-23 11:44 編輯 博文鏈接:deyisupport./blog/b/analogwire/archive/2013/11/02/tina.aspx 就像博文最開始說的那樣,雖然自己在試驗室動手調試、測量電路是最直觀的,但有時候卻不是最有效的 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 洪湖市| 玉林市| 苗栗县| 罗江县| 宜城市| 长沙县| 印江| 龙海市| 永安市| 屏山县| 桐城市| 垫江县| 通道| 明光市| 嘉祥县| 台中市| 东港市| 长沙县| 汤阴县| 云南省| 汉阴县| 邢台县| 新绛县| 洪泽县| 扎囊县| 澜沧| 神木县| 南投县| 左贡县| 舟曲县| 玉田县| 锡林浩特市| 扎囊县| 吉首市| 凌云县| 西平县| 蒙阴县| 福建省| 永新县| 宝应县| 离岛区|