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

正文內(nèi)容

基于mini2440的bootloader設(shè)計(jì)與實(shí)現(xiàn)(已修改)

2025-07-09 18:08 本頁(yè)面
 

【正文】 目 錄摘要 1關(guān)鍵詞 1Abstract 1Key words 1引言 11 Bootloader的基礎(chǔ)知識(shí) 1 1 2 Bootloader研究現(xiàn)狀 2 Bootloader的操作模式 2 Bootloader概念的擴(kuò)展 2 ARM Bootloader的共性 2 Bootloader的通信設(shè)備和協(xié)議 22 ARM體系結(jié)構(gòu) 2 ARM存儲(chǔ)器 3 3 ARM寄存器 3 ARM體系的異常中斷 5 ARM指令集 63 Bootloader的設(shè)計(jì)與實(shí)現(xiàn) 6 S3C MINI2440的片上資源 6 7 74 實(shí)驗(yàn)過(guò)程與結(jié)果 10 10 NandFlash的分區(qū) 11 11 11 125測(cè)試 126總結(jié)與展望 13致謝 13參考文獻(xiàn) 14基于MINI2440的Bootloader設(shè)計(jì)與實(shí)現(xiàn)網(wǎng)絡(luò)工程專(zhuān)業(yè)學(xué)生 李東海指導(dǎo)教師 吳俊華摘要:現(xiàn)在嵌入式系統(tǒng)劃為Bootloader、內(nèi)核、文件系統(tǒng)和用戶(hù)應(yīng)用程序四大部分,Bootloader設(shè)計(jì)是一個(gè)重要的環(huán)節(jié)。引入Bootloader的目的是為了更好的組織片上資源、初始化硬件和方便加載內(nèi)核鏡像文件,以實(shí)現(xiàn)操作系統(tǒng)的啟動(dòng)。本文采用匯編語(yǔ)言和C語(yǔ)言設(shè)計(jì)Bootloader,實(shí)現(xiàn)了禁止關(guān)門(mén)狗、存儲(chǔ)空間分配、中斷向量配置和堆棧配置等功能,能夠完成硬件的初始化、應(yīng)用程序的堆棧劃分以及加載內(nèi)核的功能,方便用戶(hù)程序的增減與移植,在降低應(yīng)用程序開(kāi)發(fā)難度的同時(shí)提高了開(kāi)發(fā)效率。關(guān)鍵詞:Bootloader 啟動(dòng) 嵌入式 加載內(nèi)核Design and Implementation of Bootloader Based on MINI2440Student Majoring in Network Engineering Li DonghaiTutor Wu JunhuaAbstract: The embedded system is divided into four sections, such as bootloader, kernel, file systems and user application program. Bootloader design is an important part. The purpose of introducing the bootloader is to organize chip resources better, initialize hardware and load kernel image files conveniently when booting the operating system. The bootloader is designed with assembly language and C language, which implement many functions such as prohibition of closed dog, distribution of storage space, configuration of interrupt vectors and stack and etc. The design can implement the initialization of hardware, partition of stacks in application program and load kernel. It is convenient for user to increase, decrease and transplant programs. The developing efficiency is improved and developing difficulty is reduced.Key words: Bootloader。 Boot。 Embedded。 Load the kernel引言隨著IT技術(shù)的發(fā)展,各種微處理器的功能越來(lái)越強(qiáng)大,消費(fèi)者對(duì)嵌入式產(chǎn)品的性能也越來(lái)越關(guān)注。如何使嵌入式系統(tǒng)具有更好的任務(wù)管理、資源管理以及更好的資源分配成為嵌入式產(chǎn)品開(kāi)發(fā)的一大問(wèn)題,裸板上的應(yīng)用程序已經(jīng)不能滿(mǎn)足消費(fèi)者日益增長(zhǎng)的性能要求,因此嵌入式系統(tǒng)逐漸分為Bootloader、內(nèi)核、文件系統(tǒng)和用戶(hù)應(yīng)用程序四部分。Bootloader就是在操作系統(tǒng)運(yùn)行前的啟動(dòng)代碼,作為嵌入式硬件和操作系統(tǒng)之間連接的橋梁,成為了嵌入式開(kāi)發(fā)首要面臨的問(wèn)題。1 Bootloader的基礎(chǔ)知識(shí) Bootloader是操作系統(tǒng)啟動(dòng)前執(zhí)行的程序,有點(diǎn)類(lèi)似于PC中的BIOS,嵌入式系統(tǒng)通過(guò)這段程序來(lái)初始化硬件、建立內(nèi)存空間映射等把系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的環(huán)境。當(dāng)系統(tǒng)加電或復(fù)位時(shí),從指定的地址讀取的第一條指令就是Bootloader的指令,通過(guò)Bootloader來(lái)完成初始化工作。Bootloader的啟動(dòng)過(guò)程可以是單階段的,也可以是多階段的。通常多階段的Bootloader能提供更為復(fù)雜的功能,以及更好的可移植性。從固態(tài)存儲(chǔ)設(shè)備上啟動(dòng)的Bootloader大多數(shù)是兩個(gè)階段的啟動(dòng)過(guò)程,即啟動(dòng)過(guò)程可以分為Stage 1和Stage 2兩部分。CPU剛上電時(shí),會(huì)從指定的地址取第一條指令來(lái)執(zhí)行。但此時(shí)PLL沒(méi)有啟動(dòng),存儲(chǔ)空間都還沒(méi)有驅(qū)動(dòng),非常低的外部輸入晶振頻率作為CPU的工作頻率,無(wú)法確定中斷設(shè)置、堆棧指針和CPU工作模式等,因此,必須在第一條指令處完成以上的初始化工作,做好加載內(nèi)核鏡像的準(zhǔn)備。 Bootloader研究現(xiàn)狀Bootloader作為嵌入式系統(tǒng)運(yùn)行的第一程序,如何為嵌入式產(chǎn)品搭建一個(gè)完善的運(yùn)行環(huán)境成為各大IC企業(yè)的研究熱點(diǎn)。有些Bootloader的功能非常強(qiáng)大,它們能支持多種架構(gòu)的CPU,移植性非常好。但Bootloader的實(shí)現(xiàn)是嚴(yán)重依賴(lài)于CPU體系架構(gòu)的,針對(duì)不同CPU編寫(xiě)的匯編部分代碼不能移植到其它不同結(jié)構(gòu)的CPU上。現(xiàn)在嵌入式產(chǎn)品日新月異,即使是采用相同架構(gòu)的CPU,如果采用不同的板級(jí)設(shè)備也會(huì)產(chǎn)生相應(yīng)的Bootloader,因此構(gòu)建一個(gè)完全通用的Bootloader基本上是不可能的,在資源有限的嵌入式世界里面,追求的是短小精悍中的高性能。因此,Bootloader就像嵌入式產(chǎn)品一樣豐富多彩,但由于這部分程序的要求非常高,一般由各大芯片廠商提供。目前著名的Bootloader有:UBOOT、RedBoot、Vivi、Blob等。 Bootloader的操作模式大多數(shù)的Bootloader有啟動(dòng)加載和下載[1]兩種工作模式,啟動(dòng)加載模式也稱(chēng)自主模式,這個(gè)啟動(dòng)過(guò)程沒(méi)有用戶(hù)的介入,Bootloader自動(dòng)從目標(biāo)機(jī)的某個(gè)存儲(chǔ)設(shè)備上拷貝操作系統(tǒng)到RAM中,產(chǎn)品在發(fā)布的時(shí)候都是工作在啟動(dòng)加載模式,一般開(kāi)發(fā)人員接觸的是下載模式。Bootloader下載到目標(biāo)板之后,可以選擇從串口或者網(wǎng)絡(luò)等通信手段下載內(nèi)核和文件系統(tǒng)等,下載過(guò)來(lái)的文件先保存在RAM中,接著再由Bootloader將其寫(xiě)到固態(tài)存儲(chǔ)設(shè)備上。下載模式一般在安裝內(nèi)核和根文件系統(tǒng)時(shí)或者系統(tǒng)更新時(shí)使用。 Bootloader概念的擴(kuò)展Bootloader最基本的功能是初始化硬件和加載操作系統(tǒng)。隨著嵌入式的發(fā)展,Bootloader的功能不斷的擴(kuò)展,不斷的增加對(duì)具體系統(tǒng)的板級(jí)支持,更方便開(kāi)發(fā)人員進(jìn)行開(kāi)發(fā)和調(diào)試。不斷進(jìn)行功能擴(kuò)展的Bootloader已經(jīng)逐漸成為一個(gè)系統(tǒng)級(jí)的代碼包。 ARM Bootloader的共性雖然Bootloader的設(shè)計(jì)和實(shí)現(xiàn)是根據(jù)具體的CPU和硬件設(shè)備緊密相關(guān)的,但其都是為了引導(dǎo)和加載內(nèi)核,一般來(lái)說(shuō)對(duì)ARM Bootloader的操作具有以下的共性:初始化RAM,因?yàn)槌绦蛞赗AM上運(yùn)行,初始化串口,控制臺(tái)與串口連接能方便的進(jìn)行Debug工作和通信以及指定內(nèi)核的啟動(dòng),正確引導(dǎo)系統(tǒng)啟動(dòng)。無(wú)論是RAM 還是FLASH啟動(dòng),都必須滿(mǎn)足一定的系統(tǒng)狀態(tài)。首先,啟動(dòng)系統(tǒng)內(nèi)核時(shí)傳遞參數(shù)的三個(gè)寄存器要設(shè)置為R0=0,R1=機(jī)器類(lèi)型,R2=啟動(dòng)參數(shù)標(biāo)記列表在RAM中的起始地址。其次,CPU模式設(shè)置為SVC模式,關(guān)閉中斷。最后,必須關(guān)閉MMU和數(shù)據(jù)cache,指令Cache可以關(guān)閉也可以開(kāi)啟。其中,中斷的實(shí)現(xiàn)一般是內(nèi)核機(jī)制或設(shè)備驅(qū)動(dòng)管理的范疇,Bootloader沒(méi)有必要實(shí)現(xiàn)中斷,另外Bootloader只對(duì)物理地址進(jìn)行操作,因此關(guān)閉MMU,鏡像數(shù)據(jù)要完整的寫(xiě)回SDRAM中,為防止臟數(shù)據(jù)的回寫(xiě),因此關(guān)閉數(shù)據(jù)Cache。 Bootloader的通信設(shè)備和協(xié)議在協(xié)議[2]的控制下,兩個(gè)對(duì)等實(shí)體間的通信是本層能夠向上一層提供服務(wù)。最常見(jiàn)的情況就是,目標(biāo)機(jī)上的Bootloader通過(guò)串口與主機(jī)之間進(jìn)行文件傳輸,傳輸可以簡(jiǎn)單的采用直接數(shù)據(jù)收發(fā)。當(dāng)然,在串口上也可以采用Xmodem/Ym
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1