在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM硬件初始化的一些細(xì)節(jié)問(wèn)題的解釋

            基于ARM硬件初始化的一些細(xì)節(jié)問(wèn)題的解釋

            作者: 時(shí)間:2016-11-10 來(lái)源:網(wǎng)絡(luò) 收藏
            ARM硬件啟動(dòng)程序的工作一般包括:

            1.分配中斷向量表;

            本文引用地址:http://www.biyoush.com/article/201611/317430.htm

            2.初始化存儲(chǔ)器系統(tǒng);

            3.初始化各工作模式下的堆棧;

            4.初始化有特殊要求的硬件模塊;

            5.初始化用戶(hù)程序的執(zhí)行環(huán)境;

            6.切換處理器的工作模式;

            7.調(diào)用主應(yīng)用程序;

            這里主要講解寫(xiě)初始化應(yīng)用程序執(zhí)行環(huán)境:

            一個(gè)典型的可執(zhí)行程序的映像結(jié)構(gòu)通常如表所列。

            可執(zhí)行程序映像的結(jié)構(gòu)

            分區(qū)說(shuō)明
            ZI(初始化為0的可讀/寫(xiě)數(shù)據(jù))只定義了變量名的全局變量
            RW(可讀/寫(xiě)數(shù)據(jù))定義了帶初始值的全局變量
            RO(代碼和只讀數(shù)據(jù))編譯后的程序

            映像一開(kāi)始總是存儲(chǔ)在ROM/Flash中的,其RO部分既可以在ROM/Flash中執(zhí)行,也可以轉(zhuǎn)移到速度更快的RAM中執(zhí)行;而RW和ZI這兩部分必須轉(zhuǎn)移到可寫(xiě)的RAM中。所謂應(yīng)用程序執(zhí)行環(huán)境的初始化,就是必須完成必要的從ROM到RAM的數(shù)據(jù)傳輸和內(nèi)容清空。

            下面是在ADS集成開(kāi)發(fā)環(huán)境中,一種常用存儲(chǔ)器模型的直接實(shí)現(xiàn)。

            LDR     R0,=|Image$$RO$$Limit|LDR     R1,=|Image$$RW$$Base|LDR     R3,=|Image$$ZI$$Base|CMP	  R0,R1BEQ   %F10	CMP   R1,R3LDRCC R2,[R0],#4STRCC R2,[R1],#4BCC   %B01       LDR   R1,=|Image$$ZI$$Limit|MOV   R2,#02CMP     R3,R1STRCC   R2,[R3],#4BCC     %B2 

            程序?qū)崿F(xiàn)了RW數(shù)據(jù)的和ZI區(qū)域的清空。其中引用到的4個(gè)符號(hào)是由鏈接器定義的。

            |Image$$RO$$Limit|:表示RO區(qū)末地址后面的地址,即RW數(shù)據(jù)源的起始地址。|Image$$RW$$Base|:RW區(qū)在RAM里的執(zhí)行區(qū)起始地址,也就是編譯器選項(xiàng)RW_Base指定的地址;程序中是RW數(shù)據(jù)的目的地址。|Image$$ZI$$Base|:ZI區(qū)在RAM中的起始地址。|Image$$ZI$$Limit|:ZI區(qū)在RAM中的結(jié)束地址后面的一個(gè)地址。

            程序先把ROM中|Image$$RO$$Limit|地址開(kāi)始的RW初始數(shù)據(jù)到RAM中|Image$$RW$$Base|開(kāi)始的地址,當(dāng)RAM這邊的目標(biāo)地址到達(dá)|Image$$ZI$$Base|后,
            就表示RW區(qū)的結(jié)束和ZI區(qū)的開(kāi)始,然后就對(duì)這片Zi區(qū)進(jìn)行清零操作,直到遇到結(jié)束地址|Image$$ZI$$Limit|。


            關(guān)鍵詞: ARM硬件初始

            評(píng)論


            技術(shù)專(zhuān)區(qū)

            關(guān)閉