ARM 課程考試相關知識點 主要: l 嵌入式系統的五個特性 包括:專用性,可剪裁性,可靠性,低功耗性和實時性。 l 嵌入式系統的特點:專用性強,可剪裁性好,實時性和可靠性好,功耗低 l 嵌入式操作系統的特點:微型化,可裁剪性,實時性,高可靠性,易移植性 l 嵌入式系統設計過程的主要步驟(5個): n 1、系統需求分析 n 2、體系結構設計 n 3、硬件/軟件設計 n 4、系統集成 n 5、系統測試 l ARM處理器的五個系列:(體系架構是否是馮諾依曼)ARM7和ARM9的體系架構? n ARM7(馮諾依曼結構) n ARM9(哈佛體系結構) n ARM9E(哈佛體系結構) n ARM10E n SecurCore 馮諾依曼結構指數據空間和地址空間不分開;哈佛結構數據空間和地址空間是分開的 l 操作系統指令執行的三個階段 n 1、獲得指令 n 2、分析指令 n 3、執行指令 l 代碼密度:就是處理完成一個完整的操作,需要的指令條數,按字節計算 越少效率越高 l MMU(Memory Management Unit):存儲器管理單元。P176 存儲器管理單元MMU主要完成以下工作: 虛擬存儲空間到物理存儲空間的映射; 存儲器訪問權限的控制; 設置虛擬存儲空間的緩沖的特征。 MMU可以將某些地址變換條目鎖定在快表【TLB(translation lookaside buffer)】中,從而使得進行與該地址變換條目相關的地址變換速度保持很快。MMU可以將整個存儲空間分為最多16個域。 功能:將虛擬地址映射為物理地址;提供硬件機制的內存訪問授權。 l ARM的尋址方式 n 立即數尋址 n 寄存器尋址 n 寄存器移位尋址 n 寄存器間接尋址 n 多寄存器尋址 n 基址變址尋址 n 相對尋址 n 堆棧尋址 n 塊拷貝尋址 l 嵌入式系統/操作系統?主要由哪幾部分組成 嵌入式系統的組成部分: n 嵌入式處理器 (ARM,MIPS,PowerPC) n 外圍設備(存儲器 接口) n 嵌入式操作系統 n 應用軟件 l ARM的最小系統,畫出框圖,并說明。 1. ARM芯片。 2. 電源電路、復位電路,晶振電路。 電源電路:S3C4510B及部分外圍器件的工作電壓為3.3V,還有部分外圍器件的工作電壓為5V,因此整個最小系統需要兩組工作電壓,即: 3.3V和5V。5V電壓由外部電源引入, 3.3V電壓由5V轉3.3V 的DC-DC轉換器獲得 復位電路:復位電路完成系統的上電復位和系統在運行時的按鍵復位功能。復位電路可由簡單的RC電路構成,也可使用其他的相對較復雜,但功能更完善的電路完成。 晶振電路:晶振電路用于向CPU提供工作時鐘。 3. 存儲器(FLASH和SDRAM) 4. UART接口電路。 UART接口電路用于TTL電平與RS232電平之間的轉換。常用的UART接口芯片為MAXIM公司生產的MAX232。 5. JTAG調試接口。 利用ARM處理器中的調試模塊的功能,通過其JTAG邊界掃描口來與仿真器連接,以達到對芯片內部的工作狀態進行監控的目的。 結構框圖: file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-10538.png l ADS 由哪幾部分組成及其主要功能。 ADS(ARM Developer Suite),即ARM開發工具。ADS由命令行開發工具,ARM時實庫,GUI開發環境(Code Warrior和AXD),實用程序和支持軟件組成。 功能:ADS 是全套的實時開發軟件工具,包編譯器生成的代碼密度和執行速度優異。可快速低價地創建ARM 結構應用。 l ARM與Thumb指令集的聯系與區別。 Thumb指令集是將ARM指令集的 子集重新編碼形成的一個指令集。ARM指令長度為32位,Thumb指令長度位為16位。這樣,使用Thumb指令集可以得到密度更高的代碼,這對于需要嚴格控制產品成本的設計是非常有意義的。 與ARM指令集相比,Thumb指令集具有以下局限: n 完成相同的操作,Thumb指令通常需要更多的指令。因此,在對系統運行時間要求苛刻的應用場合,ARM指令集更為合適。 n Thumb指令集沒有包含進行異常處理時需要的一些指令。因此在異常中斷的低級處理時,還需要使用ARM指令。這種限制決定了Thumb指令需要和ARM指令配合使用。對于支持Thumb指令的ARM體系版本,使用字符T來表示。 l Vxworks的開發平臺是 tornado 。 l EVC EVC,以太網虛連接(Ethernet Virtual Connection),與ATM技術中的PVC/SVC的概念是非常類似的。EVC是描述一種端到端的概念,我們可以把它想象成邏輯管道,以太網幀一旦進入到管道中,是不會泄露的,除非從管道的另一個口子出來。 l 大端/小端模式 n 大端模式: 所謂的大端模式,是指數據的低位(就是權值較小的后面那幾位)保存在內存的高地址中,而數據的高位,保存在內存的低地址中,這樣的存儲模式有點兒類似于把數據當作字符串順序處理:地址由小向大增加,而數據從高位往低位放; n 小端模式: l I²C SPI 特性 I²C(Inter-Integrated Circuit)總線是由PHILIPS公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。是微電子通信控制領域廣泛采用的一種總線標準。它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較高等優點。 SPI:高速同步串行口。是一種標準的四線同步雙向串行總線。 l ARM對異常中斷響應及返回過程。 u 對異常中斷的響應過程: n 保存處理器當前狀態,中斷屏蔽位以及各條件標志位。這是通過將當前程序狀態寄存器CPSR的內容保存到要執行的異常中斷對應SPSR寄存器中實現的。各異常中斷有自己的物理SPSR寄存器。 n 設置當前程序狀態寄存器CPSR中的相應位。包括:設置CPSR中的位,使處理器進入相應的執行模式;設置CPSR中的位,禁止IRQ中斷,當進入FIQ模式時,禁止FIQ中斷。 n 將寄存器lr_mode設置成返回地址。 n 將程序寄存器值(PC),設置該異常中斷的中斷向量地址,從而跳轉到相應的異常處理程序處執行。 u 返回過程: n 恢復被中斷的處理器狀態,即將SPSR_mode寄存器內容復制到CPSR中。 n 返回到發生異常中斷指令的下一條指令處執行,即將lr_mode寄存器的內容復制到程序計數器PC中 l ARM處理器模式 n 用戶模式(User) n 快速中斷模式(FIQ)Fast Interrupt Request n 外部中斷模式(IRQ) Interrupt Request n 特權模式(Supervisor) n 數據訪問中止模式(Abort) n 未定義指令中止模式(Undefined) n 系統模式(System) l 在嵌入式OS中對I/O接口芯片有哪些尋址方式 n I/O端口尋址方式有兩種:一種是存儲器映射方式,即把端口地址與存儲器地址統一編址;另一種是I/O映射方式,即把I/O端口地址與存儲器地址分別進行獨立的編址.CPU對輸入輸出設備的訪問采用按地址訪問的形式,即先送地址碼,以確定訪問的具體設備,然后進行信息交換.因此,各種外設都要進行編址.目前有兩種編址方式:獨立編址與存儲器統一編址. n 執行ARM 系統I/O 功能的標準方法是使用存儲器映射的I/O。裝載或保存I/O 值時,使用提供給I/O 功能的特殊存儲器地址。通常,從存儲器映射的I/O 地址裝載用于輸入,而保存到存儲器映射的I/O 地址則用于輸出。裝載和保存都可用于執行控制功能,用于取代它們正常的輸入或輸出功能。存儲器映射的I/O 位置的動作通常不同于正常的存儲器位置的動作。例如,正常存儲器位置的兩次連續裝載每次都會返回相同的值,除非中間插入了保存的操作。對于存儲器映射的I/O 位置,第二次裝載返回的值可以不同于第一次返回的值。因為第一次裝載的副作用(例如從緩沖區移走已裝載的值)或是因為插入另一個存儲器映射I/O 位置的裝載和保存的副作用。 l 什么是快速上下文切換技術 n 快速上下文切換技術通過修改系統中不同進程的虛擬地址,避免在進程間切換時造成的虛擬地址到物理地址的重映射,從而提高系統的性能。FCSE(Fast Context Switch Extension,快速上下文切換)位于CPU和MMU之間,如果兩個進程使用了同樣的虛擬地址空間,則對CPU而言,兩個進程使用了同樣的虛擬地址空間。快速上下文切換機構對各進程的虛擬地址進行變換,這樣系統中除了CPU之外的部分看到的是經過快速上下文切換機構變換的虛擬地址。快速上下文切換機構將各進程的虛擬空間變換成不同的虛擬空間,這樣在進行進程間切換時就不需要進行虛擬地址到物理地址的重映射。 l 什么是進程切換 n 進行進程切換就是從正在運行的進程中收回處理器,然后再使待運行進程來占用處理器。這里所說的從某個進程收回處理器,實質上就是把進程存放在處理器的寄存器中的中間數據找個地方存起來,從而把處理器的寄存器騰出來讓其他進程使用。 l 基于嵌入式LINUX開發流程和步驟 n 建立開發環境:操作系統一般使用RedHat-Linux,下載相應的GCC交叉編譯器進行安裝或者安裝產品廠家提供的交叉編譯器。 n 配置開發主機:配置MINICOM,一般的參數為波特率為115 200bps,數據位為8位,停止位為1,無奇偶校驗,軟件硬件流控設為無。配置網絡,主要是配置NFS 網絡文件系統,需要關閉防火墻,簡化嵌入式網絡調試環境設置過程 n 建立引導裝載程序BOOTLOADER:從網絡上下載一些公開源代碼的BOOTLOADER,如U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據自己具體的芯片進行移植修改。 n 下載別人已經移植好的Linux操作系統 n 建立根文件系統:從www.busybox.net下載使用BUSYBOX軟件進行功能裁減,產生一個最基本的根文件系統,再根據自己的應用需要添加其他程序。根文件系統在嵌入式系統中一般設為只讀,需要使用mkcramfs、genromfs等工具產生燒寫映像文件。 n 建立應用程序的Flash磁盤分區 n 一般使用JFFS2或YAFFS文件系統,這需要在內核中提供這些文件系統的驅動,有的系統使用一個線性Flash(NOR型)512KB~32MB,有的系統使用非線性Flash(NAND型)8~512MB,有的兩個同時使用,需要根據應用規劃Flash的分區方案。 n 開發應用程序 n 應用程序可以放入根文件系統中,也可以放入YAFFS、JFFS2文件系統中,有的應用不使用根文件系統,直接將應用程序和內核設計在一起,這有點類似于μCOS-II的方式。 n 燒寫內核、根文件系統、應用程序 n 發布產品 次要: u ARM處理器的幾種工作狀態/工作方式。 ARM處理器的工作狀態一般分為兩種,并可在兩種狀態間切換 : 第一種為ARM狀態:此時ARM處理器執行32位的字對齊的ARM指令。 第二種為Thumb狀態:此時ARM處理器執行16位的,半字對齊的Thumb指令。 u 存儲系統的存取方式。(大端/小端格式) u 寫出五種及以上嵌入式操作系統名稱及其特點。 n μCLinux n μC/OS n Windows CE n VxWorks n Palm OS n QNX u 什么叫同步、異步、系統監視定時。 n 在同步定時協議中,事件出現在總線上的時刻由總線時鐘信號來確定。由于采用了公共時鐘,每個功能模塊什么時候發送或接收信息都由統一時鐘規定,因此,同步定時具有較高的傳輸頻率。 同步定時適用于總線長度較短、各功能模塊存取時間比較接近的情況。 n 在異步定時協議中,后一事件出現在總線上的時刻取決于前一事件的出現,即建立在應答式或互鎖機制基礎上。在這種系統中,不需要統一的共公時鐘信號。總線周期的長度是可變的。 異步定時的優點是總線周期長度可變,不把響應時間強加到功能模塊上,因而允許快速和慢速的功能模塊都能連接到同一總線上。但這以增加總線的復雜性和成本為代價。 u 如何將AD/DA與ARM相連。 軟件啟動:1、定義與AD相關的寄存器。 2、定義與AD相關的寄存器的初始化。 3、rADCCON|=0x01;啟動AD 硬件啟動:1、復位AD轉換器相關寄存器 2、 外接用高電平觸發ADCCON[0] u CPSR(當前程序狀態寄存器)——>SPSR(備份程序狀態寄存器) u SWI n SWI(Software Interrupt),可以直譯為軟中斷(指令),在 RISC OS中使用 SWI 來訪問操作系統例程或第三方生產的模塊。許多應用使用模塊來給其他應用提供低層外部訪問。 u ARM7系列包括ARM7TDMI,ARM7TDMI-S……,其中TD代表的意思是。 n ARM7DMI:T表示支持Thumb,D表示支持片上調試 Debug,M表示內嵌硬件乘法器 Multiplier,I表示嵌入式ICE 仿真器,支持片上斷點和調試點 in-circuit emulater u ADS的升級版(realview) |