www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]ARM7在嵌入式應(yīng)用中啟動程序技術(shù)難點(diǎn)分析

技術(shù)難點(diǎn)分析

⑴.MMU的使用

MMU是存儲器管理單元的縮寫,是用來管理虛擬內(nèi)存系統(tǒng)的器件。MMU通常是CPU的一部分,本身有少量存儲空間存放從虛擬地址到物理地址的匹配表。此表稱作TLB(轉(zhuǎn)換旁置緩沖區(qū))。所有數(shù)據(jù)請求都送往MMU,由MMU決定數(shù)據(jù)是在RAM內(nèi)還是在大容量存儲器設(shè)備內(nèi)。如果數(shù)據(jù)不在存儲空間內(nèi),MMU將產(chǎn)生頁面錯(cuò)誤中斷。

MMU的兩個(gè)主要功能是:

將虛地址轉(zhuǎn)換成物理地址。 

控制存儲器存取允許。MMU關(guān)掉時(shí),虛地址直接輸出到物理地址總線。
 
在實(shí)踐中,使用MMU解決了如下幾個(gè)問題:

①使用DRAM作為大容量存儲器時(shí),如果DRAM的行列是非平方的,會導(dǎo)致該DRAM的物理地址不連續(xù),這將給程序的編寫調(diào)試造成極大不便,而適當(dāng)配置MMU可將其轉(zhuǎn)換成虛擬地址連續(xù)的空間。

ARM內(nèi)核的中斷向量表要求放在0地址, 對于ROM在0地址的情況,無法調(diào)試中斷服務(wù)程序,所以在調(diào)試階段有必要將可讀寫的存儲器空間映射到0地址。

③系統(tǒng)的某些地址段是不允許被訪問的,否則會產(chǎn)生不可預(yù)料的后果,為了避免這類錯(cuò)誤,可以通過MMU匹配表的設(shè)置將這些地址段設(shè)為用戶不可存取類型。

啟動程序中生成的匹配表中包含地址映射,存儲頁大小(1M,64K,或4K)以及是否允許存取等信息。

例如:目標(biāo)板上的16兆DRAM的物理地址區(qū)間為0xc000,0000~0xc07f,ffff;0xc100,0000~0xc17f,ffff;16兆ROM的虛擬地址區(qū)間為:0x0000,0000~0x00ff,ffff。匹配表配置如下:

可以看到左邊是連續(xù)的虛擬地址空間,右邊是不連續(xù)的物理地址空間,而且將DRAM映射到了0地址區(qū)間。 MMU通過虛擬地址和頁面表位置信息,按照轉(zhuǎn)換邏輯獲得對應(yīng)物理地址,輸出到地址總線上。

應(yīng)注意到的是使能MMU后,程序繼續(xù)運(yùn)行,但是對于程序員來說程序計(jì)數(shù)器的指針已經(jīng)改變,指向了ROM所對應(yīng)的虛擬地址。

⑵目標(biāo)文件的分布裝載分析

首先創(chuàng)建一個(gè)文本文件,稱為分布裝載描述文件。它為應(yīng)用程序的各部分指定裝載區(qū)間和執(zhí)行區(qū)間。

舉例如下:

FLASH 0x01000000 0x011fffff ;2M FLASH

{

FLASH 0x01000000

{

boot.o(BOOT,+FIRst)

* (+RO)

}

DRAM 0x00000000

vector.0(VECTOR,+First) 

int_handler.o (+RO) 

* (+RW,+ZI)

}

ARM鏈接器的命令行里加入“-scov description-file –scf”或“-scatter description-file”,編譯鏈接后,將產(chǎn)生一個(gè)分布裝載文件。

鏈接器同時(shí)產(chǎn)生一組符號,給出每個(gè)分布描述文件中命名的區(qū)間的長度,裝載地址和執(zhí)行地址。由于鏈接器和C庫都沒有將代碼從它的裝載區(qū)間拷貝到執(zhí)行區(qū)間,或創(chuàng)建一個(gè)零初始化區(qū)域的功能,所以要由應(yīng)用程序員利用這組符號產(chǎn)生的信息完成這項(xiàng)工作,這是在呼叫C程序之前必須完成的,舉例如下:

LDR r0, = |Load$$DRAM$$Base|

LDR r1, = |Image$$DRAM$$Base|

CMP r0, r1 ; 檢查裝載地址和執(zhí)行地址是否相同

BEQ do_zi_init ; 相同,則不拷貝該區(qū)間,初始化零數(shù)據(jù)區(qū)

MOV r2, r1 ; 不相同,將裝載區(qū)拷貝到執(zhí)行區(qū) 

LDR r4, = |Image$$DRAM$$length|

ADD r2, r2, r4

BL copy

do_zi_init

LDR r1, = |Image$$DRAM$$ZI$$Base|

MOV r2, r1

LDR r4, = |Image$$DRAM$$ZI$$length|

ADD r2, r2, r4

MOV r3, #0

BL zi_init ; 調(diào)用零初始化子程序

結(jié)束語:

本文介紹的啟動程序已經(jīng)在以Cirrus Logic公司的EP7211和Ateml公司的AT91M40400開發(fā)的系統(tǒng)上運(yùn)行并測試通過。今后可以在這一基礎(chǔ)上添加串行通信模塊和FLASH操作模塊,開發(fā)系統(tǒng)監(jiān)控程序,從而實(shí)現(xiàn)應(yīng)用程序的在線升級。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

2025年8月4日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Altera?的Agilex? 3 FPGA C系列開發(fā)套件。此開...

關(guān)鍵字: FPGA 邊緣計(jì)算 嵌入式應(yīng)用

我們討論了為嵌入式應(yīng)用程序設(shè)置斷言通常需要的內(nèi)容。我們還看到,根據(jù)所使用的工具鏈,它可能會略有不同。盡管存在這些較小的差異,但仍將斷言用于相同的目的:檢測開發(fā)人員對應(yīng)用程序的假設(shè)何時(shí)在應(yīng)用程序中的特定點(diǎn)不正確。

關(guān)鍵字: 實(shí)時(shí)斷言 嵌入式應(yīng)用

自發(fā)布以來,這款由米爾首發(fā)的真工業(yè)級核心板-米爾基于全志T536核心板就獲得了廣大關(guān)注,現(xiàn)正式開售,核心板278元起、開發(fā)板750元起。米爾基于米爾全志T536核心板,配備四核Cortex-A55,擁有17路串口和4路C...

關(guān)鍵字: 開發(fā)板 核心板 嵌入式應(yīng)用

嵌入式軟件開發(fā)團(tuán)隊(duì)面臨的最大挑戰(zhàn)之一是他們花費(fèi)太多時(shí)間調(diào)試軟件。當(dāng)我在參加的各種會議上與世界各地的團(tuán)隊(duì)和工程師交談時(shí),很明顯,開發(fā)人員平均花費(fèi) 40% 或更多的時(shí)間來調(diào)試他們的軟件。

關(guān)鍵字: 合同設(shè)計(jì)來 嵌入式應(yīng)用

新微控制器 STM32C071擴(kuò)大閃存和 RAM容量,增加USB控制器,支持 TouchGFX圖形軟件,讓終端產(chǎn)品變得更纖薄、小巧,更具競爭力

關(guān)鍵字: 微控制器 嵌入式應(yīng)用

在現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)中,內(nèi)存管理單元(Memory Management Unit, MMU)扮演著至關(guān)重要的角色,它是連接處理器與物理內(nèi)存之間的橋梁,負(fù)責(zé)將處理器生成的虛擬地址(Virtual Address, VA)...

關(guān)鍵字: MMU 虛擬地址

SiFive 的解決方案正被加速采用,目前市場上已有超過 20 億顆基于 SiFive RISC-V 的芯片

關(guān)鍵字: 嵌入式應(yīng)用 RISC-V 芯片

由于傳統(tǒng)嵌入式軟件升級存在成本高、便捷性差、實(shí)時(shí)性差等問題 , 空中下載技術(shù)(0ver-the-Air ,OTA)被用于嵌入 式軟件應(yīng)用的敏捷在線升級。由于嵌入式0TA系統(tǒng)缺乏高效安全的加密和認(rèn)證機(jī)制 ,升級包在傳輸過程...

關(guān)鍵字: 嵌入式應(yīng)用 遠(yuǎn)程升級 OTA系統(tǒng)

在許多領(lǐng)域和應(yīng)用中,精確的定位變得日益重要。實(shí)時(shí)動態(tài) (RTK)技術(shù)的定位精度明顯高于傳統(tǒng)的多GNSS系統(tǒng),并且成本效益不斷提高。儒卓力系統(tǒng)解決方案 (Rutronik System Solutions) 的專家與儒卓力...

關(guān)鍵字: 適配器板 嵌入式應(yīng)用
關(guān)閉