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

  本文主要詳解ARM程序的執行過程,首先介紹了ARM程序的組成及ARM映像文件的組成,其次闡述了ARM程序的執行過程,最后介紹了RO、RW、ZI到底是什么。

  ARM程序的執行過程詳解

  ARM程序的組成

  ARM程序(指在ARM系統中正在執行的程序,而非保存在ROM中的bin文件)的組成。一個ARM程序包含3部分:RO段(只讀),RW段(可讀寫)和ZI段(可讀寫)。RO是程序中的指令和常量;RW是程序中已初始化的變量;ZI是程序中未初始化的變量。


  ARM映像文件的組成

  所謂ARM映像文件就是指燒錄到ROM中的bin文件,也成為image文件。Image文件包含了RO和RW數據。之所以Image文件不包含ZI數據,是因為ZI數據都是0,沒必要包含,只要程序運行之前將ZI數據所在的區域一律清零即可。包含進去反而浪費存儲空間。


  ARM程序的執行過程

  從以上兩點可以知道,燒錄到ROM中的image文件與實際運行時的ARM程序之間并不是完全一樣的。因此就有必要了解ARM程序是如何從ROM中的image到達實際運行狀態的。


  實際上,ROM中的指令至少應該有這樣的功能:

  1、將RW從ROM中搬到RAM中,因為RW是變量,變量不能存在ROM中。

  2、將ZI所在的RAM區域全部清零,因為ZI區域并不在Image中,所以需要程序根據編譯器給出的ZI地址及大小來將相應得RAM區域清零。ZI中也是變量,同理:變量不能存在ROM中。在程序運行的最初階段,RO中的指令完成了這兩項工作后C程序才能正常訪問變量。否則只能運行不含變量的代碼

  ARM程序的執行過程詳解

  詳解RO、RW、ZI

  說了上面的可能還是有些迷糊,RO,RW和ZI到底是什么,下面我將給出幾個例子,最直觀的來說明RO,RW,ZI在C中是什么意思。


  1、RO

  看下面兩段程序,他們之間差了一條語句,這條語句就是聲明一個字符常量。因此按照我們之前說的,他們之間應該只會在RO數據中相差一個字節(字符常量為1字節)。

  Prog1:

  #include《stdio.h》

  voidmain(void)

  {

  ;

  }

  Prog2:

  #include《stdio.h》

  const char a= 5;

  voidmain(void)

  {

  ;

  }

  Prog1編譯出來后的信息如下:

  =================================================

  Code RO DataRW Data ZI Data Debug

  948 60 0 960 Grand Totals

  =================================================

  Total ROSize(Code + RO Data) 1008 ( 0.98kB)

  Total RWSize(RW Data + ZI Data) 96 ( 0.09kB)

  Total ROMSize(Code + RO Data + RW Data) 1008 ( 0.98kB)

  =================================================

  Prog2編譯出來后的信息如下:

  =================================================

  Code RO DataRW Data ZI Data Debug

  948 61 0 960 Grand Totals

  =================================================

  Total ROSize(Code + RO Data) 1009 ( 0.99kB)

  Total RWSize(RW Data + ZI Data) 96 ( 0.09kB)

關鍵字:ARM程序  執行過程  映像文件 引用地址:ARM程序的執行過程詳解

上一篇:CC3220R主要特性介紹 單片無線ARM MCU解決方案
下一篇:嵌入式Linux:ARM Linux啟動流程

推薦閱讀

LG宣布了全新的顯示器產品線UltraGear,34GK950G將擔綱首發。?此前的UltraFine強調畫質,UltraWide是帶魚屏,此次的UltraGear則專注于電競游戲玩家作為目標群體。?這款顯示器擁有一塊34英寸、3440x1440分辨率的曲面屏,21:9寬屏設計,nano IPS面板,覆蓋98% DCI-P3色域和135% sRGB色域,支持NVIDIA G-Sync,本地刷新率100Hz,可超頻到120Hz。?...
截至2019年7月,中國已經建成了全球最大的公共充電網絡—— 一共計鋪設了44.66萬根充電樁,其中交流電樁25.95萬根,直流電樁18.65萬根。以直流充電樁為例,實現“地區上萬”這樣規模的省份/直轄市就有近10個,如下圖所示。直流充電樁布局上萬的省份/直轄市同時,隨著補貼政策鼓勵續航里程和動力電池技術的突破,電動汽車續航里程也在逐漸提高。截止到2019...
當今智能手機更新迭代速度較快,對于用戶而言,手機強大的拍照功能往往具有足夠的吸引力,而作為國內手機領軍企業之一的OPPO公司,最近也公布了新的變焦技術。手機攝像頭的拍照功能越來越強大,但是,成像畫質始終無法真正達到專業相機的水準。究其原因是手機攝像頭難以實現光學變焦功能,而專業相機中的縱向伸縮鏡頭方式的光學變焦方案又不適用于手機、平...
8月31日,萬安科技在與投資者互動時表示,無線充電系統產品預計年底開始量產,目前項目進度正常。同時表示,無線充電系統屬于非接觸充電方式下的系統產品,具有無機械磨損、可頻繁充電、智能化、無人化、充電過程安全性高等優勢,公司也在積極加快推進下一步產品的量產工作,關于全球芯片緊張對公司的影響,萬安科技表示,目前公司使用的主流核心芯片是外...

史海拾趣

問答坊 | AI 解惑

如何算電路圖中的電阻電容大小??

如題 一般電路圖中,大量應用了集成IC,電容電阻該怎么計算了?…

查看全部問答∨

求助硬件學習

我想學習硬件, 要會設計電路,自己布板 求助硬件學習  求助各位大俠 給點好的建議…

查看全部問答∨

關機操作???

我現在關機都是用 SetSystemPowerState(NULL, POWER_STATE_OFF, POWER_FORCE); 然后控制一個gpio使硬件斷電。 可我想關機前應該要關閉所有程序之類的操作,這個SetSystemPowerState做了嗎?沒做的話該如何做呢?…

查看全部問答∨

高分:關于單片機PID控制輸出的問題

有沒有誰有現成的程序(使用過的),共享一下, 我現在的程序,不知道為什么,好像都不能用啊…

查看全部問答∨

3種保護LED電路方法的經驗

replyreload += \',\' + 702862;Timson,如果您要查看本帖隱藏內容請回復…

查看全部問答∨

誰用過MC68HC908MR16

請教諸位高手,誰用過MOtorola的  MC68HC908MR16CFU ?它是用什么工具寫入的。下載線是什么樣的啊?…

查看全部問答∨

關于中斷優先級問題

關于中斷優先級問題,希望大家要聯系這三個文件,向TI學習是如何使用中斷及屏蔽的。 當然還建議去看TI 相關的文獻,特別是講中斷的。…

查看全部問答∨

求頻率計的電路圖

各位學者你們好,求頻率計的電路圖,謝謝各位了 …

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

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 永宁县| 无锡市| 商丘市| 石柱| 东台市| 如东县| 鄂托克旗| 舟山市| 尚义县| 阿城市| 乐陵市| 韶山市| 星子县| 扬州市| 和静县| 阿图什市| 禄丰县| 乐都县| 安西县| 靖州| 和静县| 遂溪县| 西华县| 化州市| 团风县| 张家界市| 石阡县| 高雄县| 石家庄市| 淳化县| 石嘴山市| 乐至县| 安福县| 疏附县| 临海市| 吴旗县| 老河口市| 常熟市| 象州县| 太湖县| 玉树县|