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

正文內(nèi)容

系統(tǒng)引導(dǎo)程序boot-loader的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)說明書(完整版)

2024-09-06 04:54上一頁面

下一頁面
  

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