嵌入式複習整理

2021-07-25 03:08:51 字數 3813 閱讀 2144

1、什麼是系統引導程式?其作用是什麼?

關中斷、初始化各模式的堆疊、初始化儲存器等功能後,執行指令「bl       __main」跳轉到c語言的主函式處執行。

2、arm微處理器的指令流水採用了典型的risc五級流水線結構,將指令執行過程分為取指、解碼、執行、訪存和寫回5個步驟。

3、 arm處理器支援下列資料型別:位元組8位;半字16位(占用兩個位元組)、字32位(占用4個位元組)、雙字

4、arm的儲存組織結構:32位長的位址,它把儲存器看成是0位址開始的位元組的線性組合,即乙個位址對應於乙個儲存位元組,其範圍是232個位元組(8位二進位制數)。

5、 s5pv210微處理器的內部總共有40個32位的暫存器,其中33個用作通用暫存器,7個用作狀態暫存器,每個狀態暫存器只使用了其中的12位。這40個暫存器根據處理器的狀態及其工作模式的不同而被安排成不同的組。

6、幾個重要的暫存器功能及使用方法:

r13—堆疊指標;r14—鏈結暫存器;r15—程式計數器; 

cpsr-狀態暫存器;spsr—備份的狀態暫存器

7、什麼是異常和異常向量表

異常是系統處理外部非同步事件的方法。

異常出現後處理器強制從異常型別所對應的固定儲存器位址開始執行程式,這些儲存器位址稱為異常向量表。

8、進入異常時,arm核心完成以下動作:

(2)將cpsr複製到相應的spsr中。

(3)迫使cpsr模式位m[4:0]的值設定成對應的異常模式值

(5)使用者可以設定中斷禁止位來阻止或開啟異常巢狀。如果在異常發生時處理器是在thumb狀態下,那麼當用中斷向量位址載入pc時,自動切換進入arm狀態。

9、在完成異常處理後,arm9完成以下動作:

(1)將lr暫存器的值減去相應的偏移量(偏移量根據異常的不同而不同),送到pc中。

(2)將spsr複製回cpsr中。

(3)清除中斷禁止位標誌。

10、跳轉指令

跳轉指令b;帶鏈結的跳轉指令bl;

帶狀態切換的跳轉指令bx;帶返回和狀態切換的跳轉指令blx。

示例:adrl   r0,thumbfun+1  ;將thumb程式的入口位址加1存入r0

bx     r0               ; 跳轉到r0指定的位址,

;並根據r0的最低位來切換處理器狀態

11)狀態暫存器訪問指令mrs和msr

例如:程式設計實現禁止irq中斷且將處理器切換至管理模式。

12)什麼是系統引導程式?其作用是什麼?

關中斷、初始化各模式的堆疊、初始化儲存器等功能後,執行指令「bl       __main」跳轉到c語言的主函式處執行。

13、arm上實現記憶體管理的單元叫儲存器管理單元。

mmu是儲存器管理單元的縮寫,是用來管理虛擬記憶體系統的器件。mmu通常是cpu的一部分,本身有少量儲存空間存放從虛擬位址到實體地址的匹配表,此表稱作tlb**換旁置緩衝區)。所有資料請求都送往mmu,由mmu決定資料是在ram中還是在大容量儲存器裝置中。如果資料不在ram中,mmu將產生缺頁中斷。

mmu的兩個主要功能如下:

1.將虛位址轉換成實體地址。

2.控制儲存器訪問允許。  嵌入式系統中,儲存系統差別很大,可包含多種型別的儲存器件,如flash、sram、sdram、rom等,這些不同型別的儲存器件速度和寬度等各不相同;在訪問儲存單元時,可能採取平板式的位址對映機制對其操作,或需要使用虛擬位址對其進行讀寫;系統中,需引入儲存保護機制,增強系統的安全性。為適應如此複雜的儲存體系要求,arm處理器中引入了儲存管理單元來管理儲存系統。

14、s5pv210微處理器的啟動過程

s5pv210上電將從irom處執行固化的啟動**bl0,它對時鐘等初始化、對啟動裝置進行判斷,並從啟動裝置中複製bl1(最大16kb)到iram(位址0xd0020000處,其中0xd0020010之前的16個位元組儲存的bl1的校驗資訊和bl1尺寸)中,並對bl1進行校驗,校驗成功後轉入bl1進行執行。

15、隨機儲存器和唯讀儲存器有何區別?

唯讀儲存器就是 一旦儲存上資料後就無法更改,比較bios儲存晶元, 舉個簡單例子一次性光碟就是唯讀儲存器.

隨機儲存器就是可以隨時讀資料,隨時寫資料. 比如記憶體條, 這種儲存器是靠電訊號來儲存資料的. 如果斷電則資料將全部丟失.

16、請解釋sram,dram,sdram

rom是唯讀記憶體(read-onlymemory)的簡稱,是一種只能讀出事先所存資料的固態半導體儲存器。其特性是一旦儲存資料就無法再將之改變或刪除。通常用在不需經常變更資料的電子或電腦系統中,資料並且不會因為電源關閉而消失

dram(dynamic randomaccess memory),即動態隨機訪問儲存器最為常見的系統記憶體。dram 只能將資料保持很短的時間。為了保持資料,dram使用電容儲存,所以必須隔一段時間重新整理(refresh)一次,如果儲存單元沒有被重新整理,儲存的資訊就會丟失。(關機就會丟失資料)

sram是英文static ram的縮寫,它是一種具有靜止訪問功能的記憶體,不需要重新整理電路即能儲存它內部儲存的資料

sram是single-transistordram的縮寫,中文全稱是單電晶體dram。[1] 

sram不需要重新整理電路即能儲存它內部儲存的資料。而dram(dynamic random access memory)每隔一段時間,要重新整理充電一次,否則內部的資料即會消失,因此sram具有較高的效能,但是sram也有它的缺點,即它的整合度較低,相同容量的dram記憶體可以設計為較小的體積,但是sram卻需要很大的體積,且功耗較大。所以在主機板上sram儲存器要占用一部分面積

sdram:synchronous dynamic random accessmemory,同步動態隨機儲存器,同步是指 memory工作需要同步時鐘,內部的命令的傳送與資料的傳輸都以它為基準;動態是指儲存陣列需要不斷的重新整理來保證資料不丟失;隨機是指資料不是線性依次儲存,而是自由指定位址進行資料讀寫.

17、mmu(memory management unit,記憶體管理單元)在現代處理器中扮演著非常重要的角色。作業系統通過使用處理器的mmu功能,能實現以下功能:

1)虛擬記憶體。有了虛擬記憶體,可以在處理器上執行比實際物理記憶體大的應用程式。為了使用虛擬記憶體,作業系統通常要設定乙個交換分割槽(通常是硬碟),通過將不活躍的記憶體中的資料放入交換分割槽,作業系統可以騰出其空間來為其它的程式服務。虛擬記憶體是通過虛擬位址來實現的。

2)記憶體保護。根據需要對特定的記憶體區塊的訪問進行保護,通過這一功能,我們可以將特定的記憶體塊設定成唯讀、只寫或是可同時讀寫。

18、bootloader如何載入

bl0是已固化,然後從0xd0020000~0xd003fff,

bl1前16個位元組儲存,後16k-16為bl1,如果**段大於16k-16,則有bl2。

u-boot的作用

(1)實現串列埠的功能

(2)載入後續程式

19、異常向量表與中斷向量表的區別

中斷向量和異常向量通常放在同乙個表中,在8086cpu中並沒有區分中斷和異常,也就是在8086cpu中兩者的概念是一樣的,在80386以後的cpu中兩者在概念上有所區別,但處理的方式差不多,異常是由內部事件引起的,比如,在進行除法運算時,除數為零,就會引發乙個除法錯誤異常.異常有幾種型別:故障,陷阱,中止

而中斷是外部事件引發的,常常由硬體用於通知cpu乙個操作的完成.

嵌入式複習16

第十六天 1.基於tcp協議的通訊模型 1.1 通訊模型 伺服器 1 建立socket socket函式 2 準備通訊位址 使用結構體型別 3 幫id那個socket和通訊位址 bind函式 4 監聽 listen函式 5 響應客戶端的連線請求 accept函式 6 關閉socket close函式...

嵌入式複習17

第十六天 1.多執行緒的基本概念和基本操作 1.1 基本概念 1.2 執行緒的建立 1 pthread create函式 2 執行緒之間的關係 1.3 執行緒編號的獲取和比較 1 pthread self函式 2 pthread equal函式 1.4 執行緒的匯合和分離 1 pthread joi...

嵌入式書籍整理

c程式語言 第二版 1978年,布萊恩 柯林漢 brian kernighan 和丹尼斯 里奇 dennisritchie 合著的the c programming language c語言程式設計 第1版是公認的c標準,通常稱之為k rc或經典c c primer plus 第六版 c與指標 py...