freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

系統引導程序boot-loader的設計與實現畢業(yè)設計說明書(完整版)

2025-09-09 04:54上一頁面

下一頁面
  

【正文】 處理器模式可以通過軟件控制進行切換,也可以通過外部中斷或異常處理過程進行切換。5. 控制器:ARM的控制器采用的是硬接線的可編程邏輯陣列PLA。下圖所示的是ARM構架圖。另外,為了加速通信和多媒體中有關數字信號的處理,ARM處理器在RISC的基礎上增加了許多原屬DSP核中的關鍵部件。而余下的80%的指令卻不經常使用,在程序設計中只占20%,顯然,這種結構是不太合理的?!?內嵌并行讀/寫操作部件。(4)ARM10E微處理器系列 ARM10E系列微處理器具有高性能、低功耗的特點,由于采用了新的體系結構,與同等的ARM9器件相比較,在同樣的時鐘頻率下,性能提高了近50%,同時,ARM10E系列微處理器采用了兩種先進的節(jié)能方式,使其功耗極低。★ 支持32位的高速AMBA總線接口?!?支持數據Cache和指令Cache,具有更高的指令和數據處理能力。其中,ARM7TMDI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核?!?極低的功耗,適合對功耗要求較高的應用,如便攜式產品。目前,采用ARM技術只是產權(IP)核的微處理器,即通常我們所說的ARM微處理器,已經遍及工業(yè)控制、消費類電子產品、通信系統、無線系統等各類產品市場,基于ARM技術的微處理應用約占據了32位RISC微處理器75%以上的市場份額,ARM技術正在逐步滲入我們生活的各個方面。在實現過程中具體研究開發(fā)如下:★ 選擇基于ARM 920T構架的S3C2440A芯片作為處理器,并以此構建一套硬件開發(fā)系統★ 與實際項目接軌,選擇GNU的linux作為系統的操作系統★ 在上述軟硬件開發(fā)系統上實現基于S3C2440A的bootloader的基本功能,即引導加載內核鏡像的功能★ 在ARM920T的構架基礎上在理論上擴展到ARM系統,分析對于ARM系統,bootloader實現的一些共性以及一些限制★ 分析對于實現bootloader,移植到其他ARM平臺的相關處理 主要內容根據所涉及的主要研究工作,本文的內容主要包括一下幾個部分:第2章簡要敘述ARM世界的一些主流處理器以及其優(yōu)勢特點;緊接著第3章則詳細描述了ARM的體系結構,指令系統;第4章的內容是介紹bootloader的概念,并專門針對ARM bootloader進行了詳細說明;第5章在介紹軟硬件平臺之后詳細介紹了bootloadr的實現;最后一章進行一下總結與展望。隨著嵌入式產品中高端微處理器ARM的加入以及軟件上操作系統的支持,使得整個嵌入式系統擁有了完整的構架。但是,當系統變得越來越復雜時,就需要一個嵌入式操作系統來支持,否則應用軟件就會變得過于復雜,使開發(fā)難度過大,安全性和可靠性都難以保證。嵌入式系統是以應用為中心、以計算機技術為基礎、軟件硬件可剪裁來適應系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。關鍵詞 : 嵌入式系統。嵌入式系統的功能越來越強大,實現也越來越復雜,隨之出現的就是可靠性大大降低。畢業(yè)設計說明書 系統引導程序(Bootloader)的設計與實現 43 畢業(yè)設計(論文)原創(chuàng)性聲明和使用授權說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設計(論文),是我個人在指導教師的指導下進行的研究工作及取得的成果。最近的一種趨勢是一個功能強大的嵌入式系統通常需要一種操作系統來給予支持,這種操作系統是已經成熟并且穩(wěn)定的,可以是嵌入式的Linux,WINCE等等。 ARM。嵌入式系統是將先進的計算機技術、半導體技術、電子技術和各行業(yè)的具體應用相結合后的產物,它是一個技術密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統。嵌入式軟件,特別是操作系統的支持,使得對硬件的要求越來越高?,F在,專門為嵌入式產品開發(fā)的各個操作系統層出不窮,WINDOW CE,POCKET PC,Linux等等,各界關注地也特別多。 2 ARM處理器簡介嵌入式系統的核心部件是各種類型的嵌入式處理器。ARM公司是專門從事基于RISC技術芯片設計開發(fā)的公司,作為知識產權供應商,本身不直接從事芯片生產,靠轉讓設計許可由合作公司生長各具特色的芯片?!?。(2)ARM9微處理器系列ARM9系列微處理器在高性能和低功耗特性方面提供最佳的性能。  ARM9系列微處理器主要應用于無線設備、儀器儀表、安全系統、機頂盒、高端打印機、數字照相機和數字攝像機等?!?支持VFP9浮點處理協處理器?! RM10E系列微處理器的主要特點如下:★ 支持DSP指令集,適合于需要高速數字信號處理的場合?! RM10E系列微處理器主要應用于下一代無線設備、數字消費品、成像設備、工業(yè)控制、通信和信息系統等領域?;谝陨系牟缓侠硇?,1979年美國加州大學伯克利分校提出了RISC(Reduced Instruction Set Computer,精簡指令集計算機)的概念,RISC并非只是簡單地去減少指令,而是把著眼點放在了如何使計算機的結構更加簡單合理地提高運算速度上。雙核協同工作,各用所長,有效地提高了數據處理能力核傳輸速度,但是RISC+DSP分立的雙核結構存在兩核之間互相通信的困難和分別編程的麻煩,為此發(fā)展了兩核融合在一起的單核結構,同時將指令集也合二為一,簡化編程提高效率,將CPU提升到可快速運算多媒體的算法,實現許多音視頻的解碼功能。它由32位ALU、若干個32位通用寄存器以及狀態(tài)寄存器、328位乘法器、3232位桶形移位寄存器、指令譯碼以及控制邏輯、指令流水線和數據/地址寄存器組成。6. 寄存器:具體參考下節(jié)相關介紹。大多數的用戶程序運行在用戶模式下,這時,應用程序不能夠訪問一些受操作系統保護的系統資源,應用程序也不能直接進行處理器模式的切換。 ARM寄存器組介紹 ARM處理器一般共有37個寄存器,其中包括:★ 31個通用寄存器,包括程序計數器(PC)在內,這些寄存器都是32位寄存器;★ 6個狀態(tài)寄存器,這些寄存器也是32位寄存器;上一節(jié)已經說過,ARM處理器共有7種不同的處理器模式,在每一種處理器模式中有一組相應的寄存器。 程序計數器R15又被記作PC。在異常中斷返回退出時,可以用SPSR種保存的值來恢復CPSR。 F:快速中斷禁止位;F=1時禁止FIQ中斷。地址為A的字數包括地址A、A+A+A+3這4個字節(jié)單元的內容。根據cond的不同編碼,可以選擇根據條件碼標志決定指令的執(zhí)行。ARM指令按功能大致可以分為跳轉指令、數據處理指令、乘法類指令、數據傳送指令、協處理器類指令以及雜項指令(包括狀態(tài)寄存器傳送指令、乘法類指令、軟件中斷指令和斷點指令)。ARM指令包括60多個指令,并且支持多種尋址方式:寄存器尋址、立即數尋址、寄存器間接尋址、寄存器變址尋址、多寄存器尋址、堆棧尋址、塊拷貝尋址以及相對尋址等。它可以放在存儲地址的低端,也可以放在存儲地址的高端?!? 將程序計數器值PC設置成該異常中斷的中斷向量地址,從而跳轉到相應的異常中斷處理程序處執(zhí)行。我們熟悉的PC中的引導程序一般由BIOS和位于MBR的OS bootloader(例如LILO或者GRUB)一起組成。Bootloader的啟動過程可以是單階段的,也可以是多階段的。從主機下載的文件通常首先被bootloader保存到目標機的RAM中,然后被bootloader寫到目標機上的FLASH類固態(tài)存儲設備中。但是,我們還是可以根據ARM的體系結構,從理論上總結出一些ARM系統bootloader實現的共性,而這僅僅局限于理論上?!? Cache和MMU的設置:MMU必須關閉; 數據cache必須關閉; 指令cache可以關閉也可以開啟; Bootloader中所有對地址的操作都是使用物理地址,是實在的實地址,不存在虛擬地址,因此MMU必須關閉。它采用了新的總線架構Advanced Micro controller Bus Architecture (AMBA)?!? 加強的ARM體系結構MMU用于支持WinCE,EPOC 32和Linux。GNU的編譯器功能非常強大,共有上百個操作選項,不過在本課題實際開發(fā)中只需要用到有限的幾個,大部分采用缺省選項。 地址規(guī)劃設計當bootloader階段設計好之后,需要考慮的是鏡像存儲的地址分配:總鏡像保存在什么地方,階段2對應的鏡像會被拷貝到什么地方;內核鏡像原先存放在什么地方,bootloader會把它又重新加載到什么地方;如何進行準確的地址規(guī)劃以保證沒有相互沖突等等,這些都是本節(jié)需要考慮的范疇。為了在兩者之間做到兼顧,本課題既支持啟動加載模式,也支持下載模式,具體思路為:在bootloader做完一些硬件初始化工作后,而在加載內核鏡像之前,先在一定的時間內等待有沒有用戶有鍵盤輸入,如果沒有,則為啟動加載模式,直接加載內核鏡像進行啟動;如果有,則進入命令行格式,這時開發(fā)者就可以根據自己的需要以及bootloader的支持情況,做一些其他的工作。mrc p15, 0, r0, c1, c0, 0 bic r0, r0, 0x00002300 bic r0, r0, 0x00000087 orr r0, r0, 0x00000002 orr r0, r0, 0x00001000 mcr p15, 0, r0, c1, c0, 0(5)清空TLB,Caches以及寫緩沖區(qū),當系統冷啟動時所有的保留數據都以無效處理,因此都要清空,況且cache都已經關閉。(2) 進行內存初始分配。 //HJ nand_init()。endif /* CONFIG_VFD */ /* IP Address */ gdbdbi_ip_addr = getenv_IPaddr (ipaddr)。 reg 6。 ++reg) { gdbdbi_enet1addr[reg] = s ? simple_strtoul (s, amp。(2) 配置bootloader,進入到剛才解壓的目錄中,然后輸入“make menuconfig”命令:(3) 進入到bootloader配置界面,使用默認配置即可,然后選擇“Exit”選項,回車繼續(xù):(4) 然后出現是否保存配置選項,選擇“Yes”選項繼續(xù):(5) 編譯bootloader,輸入“make zImage”命令,回車后,就會開始編譯了:(6)編譯結束后,會在“/opt/EmbedSky/bootloader/”目錄下生成一個BIOS文件,把它拷貝出來,燒寫到目標板上就可以用它引導Linux系統了。除了bootloader基本的加載內核鏡像的功能,還增加了對串口(使用XMODEM協議)的支持。由于時間的限制,實現的bootloader,擴展功能僅局限于上面所提及的。由于bootloader是與具體的硬件系統緊密相關的,所以在具體的實現上,主要以ARM9 核心的S3C2440AL處理器構建的硬件系統為硬件平臺,以Linux為操作系統來闡明一個bootloader的設計過程。 if (s) s = (*e) ? e + 1 : e。e, 16) : 0。 ulong reg。ifdef CONFIG_LCD ifndef PAGE_SIZE define PAGE_SIZE 4096 endif /* * reserve memory for LCD display (always full pages) */ /* bss_end is defined in the boardspecific linker script */ addr = (_bss_end + (PAGE_SIZE 1)) amp。 mem_malloc_end = dest_addr + CFG_MALLOC_LEN。lowlevel_init: ldr r0, =SMRDATA ldr r1, _TEXT_BASE sub r0, r0, r1 ldr r1, =BWSCON /* Bus Width Status Controller */ add r2, r0, 13*40: ldr r3, [r0], 4 str r3, [r1], 4 cmp r2, r0 bne 0b /* everything is fine now */ mov pc, lr .ltorg (7)設置堆棧。綜合起來,整個bootloader的實現流程可以如下圖所示: stage1 圖 stage2Flash啟動過程中的函數調用流程: 圖 Bootloader的具體實現 從本節(jié)開始介紹本課題的bootloader的具體代碼實現。S3C2440AL系統復位后,從物理地址的0x00000000開始執(zhí)行第一段代碼,這個地址是由 CPU制造商預先安排的。在后面篇幅介紹具體bootloader的實現時,基本就根據以上流程進行開發(fā)?!? 采用ARM920T CPU內核支持ARM調試體系結構。ARM920T實現了MMU,
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1