色另类_婷婷激情四月_亚洲精品无码不卡在线播放he_欧美第七页_精品国产综合区久久久久99_青娱乐极品盛宴在线

產(chǎn)品分類

當(dāng)前位置: 首頁(yè) > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > 數(shù)字式溫控器

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
數(shù)字式溫控器

ARM處理器的分散加載及特殊應(yīng)用研究

發(fā)布日期:2022-04-18 點(diǎn)擊率:67

    引 言

  在當(dāng)今的嵌入式系統(tǒng)設(shè)計(jì)中,ARM處理器以價(jià)格便宜、功耗低、集成度高、外設(shè)資源豐富和易于使用的特點(diǎn)而得到廣泛的應(yīng)用;在速度和性能方面已達(dá)到或超過(guò)部分PC104嵌入式計(jì)算機(jī)的性能,而成本卻比相應(yīng)的PC104計(jì)算機(jī)低很多,廣泛應(yīng)用于手機(jī)、GPS接收機(jī)、地圖導(dǎo)航、路由器、以太網(wǎng)交換機(jī)及其他民用和工業(yè)電子設(shè)備。

  在一個(gè)采用ARM處理器的實(shí)時(shí)嵌入式系統(tǒng)中,目標(biāo)硬件常常由Flash、SRAM、SDRAM和NVRAM(非易失性RAM)等存儲(chǔ)器組成,并定位于不同的物理地址范圍,那么,怎樣通過(guò)軟件更好地訪問(wèn)和利用這些不同的存儲(chǔ)器并讓系統(tǒng)高效地運(yùn)行?分散加載(scatter loading)就提供了這樣一種機(jī)制。它可以將內(nèi)存變量定位于不同的物理地址上的存儲(chǔ)器或端口,通過(guò)訪問(wèn)內(nèi)存變量即可達(dá)到訪問(wèn)外部存儲(chǔ)器或外設(shè)的目的;同時(shí)通過(guò)分散加載,讓大多數(shù)程序代碼在高速的內(nèi)部RAM中運(yùn)行,從而使得系統(tǒng)的實(shí)時(shí)性大大增強(qiáng)。

1 ARM ELF目標(biāo)文件的主要構(gòu)成

  ARM ELF(Executable and linking Format)目標(biāo)文件主要由.Text段、.Data段、.BSS段構(gòu)成,其他段如.debug段、.comment段等與本文關(guān)系不大,不作介紹。

  Text段由可執(zhí)行代碼組成,段類型為Code,屬性為RO;

  Data段由已初始化數(shù)據(jù)組成,段類型為Data,屬性為RO;

  BSS段由未初始化數(shù)據(jù)組成,段類型為Zero,屬性為RW,在應(yīng)用程序啟動(dòng)時(shí)對(duì)該段的數(shù)據(jù)初始化為零。如果在分散加載文件中指定了UNINIT屬性,則在應(yīng)用程序啟動(dòng)時(shí)不初始化該段。

2 分散加載的基本原理

  假設(shè)一個(gè)采用ARM處理器的實(shí)時(shí)嵌入式系統(tǒng)目標(biāo)硬件的存儲(chǔ)器由ROM存儲(chǔ)器和RAM存儲(chǔ)器組成。當(dāng)一個(gè)嵌入式系統(tǒng)在仿真環(huán)境下調(diào)試完畢,需要脫機(jī)運(yùn)行的時(shí)候,就需要將源程序編譯連接成可執(zhí)行目標(biāo)代碼并燒寫到ROM存儲(chǔ)器中。由于ROM存儲(chǔ)器存取數(shù)據(jù)的速率比RAM存儲(chǔ)器慢,因此,讓程序在ROM存儲(chǔ)器中運(yùn)行。CPU每次取指令和取數(shù)據(jù)操作都要訪問(wèn)ROM存儲(chǔ)器,這樣需要在CPU的總線周期中插入等待周期,通過(guò)降低總線的速率來(lái)滿足訪問(wèn)慢速的ROM存儲(chǔ)器,這樣勢(shì)必會(huì)降低CPU的運(yùn)行速率和效率,因此,分散加載就顯得非常必要。

  ARM的連接器提供了一種分散加載機(jī)制,在連接時(shí)可以根據(jù)分散加載文件(.scf文件)中指定的存儲(chǔ)器分配方案,將可執(zhí)行鏡像文件分成指定的分區(qū)并定位于指定的存儲(chǔ)器物理地址。這樣,當(dāng)嵌入式系統(tǒng)在復(fù)位或重新上電時(shí),在對(duì)CPU相應(yīng)寄存器進(jìn)行初始化后,首先執(zhí)行ROM存儲(chǔ)器的Bootloader(自舉)代碼,根據(jù)連接時(shí)的存儲(chǔ)器分配方案,將相應(yīng)代碼和數(shù)據(jù)由加載地址拷貝到運(yùn)行地址,這樣,定位在RAM存儲(chǔ)器的代碼和數(shù)據(jù)就在RAM存儲(chǔ)器中運(yùn)行,而不再?gòu)腞OM存儲(chǔ)器中取數(shù)據(jù)或取指令,從而大大提高了CPU的運(yùn)行速率和效率。分散加載的基本原理如圖1所示。

3 分散加載文件語(yǔ)法

  在一個(gè)實(shí)時(shí)嵌入式系統(tǒng)中,分散加載文件是對(duì)目標(biāo)硬件中的多個(gè)存儲(chǔ)器塊的分塊描述,它直接對(duì)應(yīng)目標(biāo)硬件存儲(chǔ)器的起始地址和范圍。同時(shí),它在應(yīng)用程序連接時(shí)用于告訴連接器用戶程序代碼和數(shù)據(jù)的加載地址和運(yùn)行地址,在連接時(shí)由連接器產(chǎn)生相應(yīng)的加載地址和運(yùn)行地址符號(hào),包括代碼和數(shù)據(jù)的加載起始地址、運(yùn)行地址和長(zhǎng)度等。這些符號(hào)用于上電后執(zhí)行啟動(dòng)代碼的數(shù)據(jù)拷貝工作,啟動(dòng)代碼根據(jù)這些符號(hào),將指定代碼和數(shù)據(jù)由ROM中的加載地址拷貝到RAM中的運(yùn)行地址中,從而實(shí)現(xiàn)代碼在高速RAM存儲(chǔ)器中的脫機(jī)運(yùn)行。其語(yǔ)法格式如下:

注意:

①每一個(gè)分散加載文件必須至少包含一個(gè)根區(qū),每個(gè)根區(qū)的加載地址等于執(zhí)行

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

主站蜘蛛池模板: 色综合久久天天综合网 | 欧美日韩精品久久久免费观看 | 一级电影免费 | 三级在线观看视频 | 爱高潮www亚洲精品 亚洲精品免费网站 | 国产色情A片国语露对白 | 又黄又爽的网站 | 亚洲综合日韩欧美一区二区三 | 天天干天天射天天操 | 日本aⅴ在线观看 | 激情一区二区三区成人 | 日日日日日 | 97国产精品最新 | 精品伊人| 春色www在线视频观看 | 亚洲精品久久久久影院 | 欧美一级做 | 国产成人精品免费视频大 | 国产成人aa免费视频 | 久久伊99综合婷婷久久伊 | 午夜成人免费电影 | 666sao| 久久精品二区 | 国产三级理论 | 成人免费网站在线观看 | 国产精品视频1区 | 免费久久久久 | 色婷婷精品 | 91精品国啪老师啪 | 久久久久久久国产精品电影 | 亚洲综合在线视频 | 99精品大香线蕉线伊人久久久 | 国产欧美日韩在线播放 | 激情五月婷婷色 | 日韩在线观看视频一区 | 精品久久洲久久久久护士 | 国产日本在线播放 | 日本91 | 国产色综合一区二区三区 | 亚洲精品久久九九热 | 91在线 | porny | 欧美 |