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

正文內(nèi)容

基于arm9的linux系統(tǒng)移植畢業(yè)設(shè)計(已改無錯字)

2022-08-23 10:58:58 本頁面
  

【正文】 U 來說,第一條指令從 0x00000000 開始執(zhí)行。在嵌入式開發(fā)板中需要把存儲器件 ROM 或者 Flash 映射到這個地址,而在這個地址處通常安排的是系統(tǒng)地 BootLoader。 簡單地說, 引導(dǎo)程序 就是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合 適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準備好正確的環(huán)境。 通常, 引導(dǎo)程序 是嚴重地依賴于硬件而實現(xiàn)的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個通用的 引導(dǎo)程序 幾乎是不可能的。盡管如此,我們?nèi)匀豢梢詫?引導(dǎo)程序 歸納出一些通用的概念來,以指導(dǎo)用戶特定的 引導(dǎo)程序 設(shè)計與實現(xiàn) [9]。 引導(dǎo)程序 所支持的 CPU 和嵌入式板。每種不同的 CPU 體系結(jié)構(gòu)都有不同的 引導(dǎo)程序 。有些 引導(dǎo)程序 也支持多種體系結(jié)構(gòu)的 CPU,比如 UBoot 就同時支持 ARM 體系結(jié)構(gòu)和 MIPS 體系結(jié)構(gòu)。除了依賴于 CPU 的體系結(jié)構(gòu)外, 引導(dǎo)程序 實際上也 依賴于具體的嵌入式板級設(shè)備的配置 [10]。這也就是說,對于兩塊不同的嵌入式板而言,即使它們是基于同一種 CPU 而構(gòu)建的,要想讓運行在一塊板子上的 引導(dǎo) 程序也能運行在另一塊板子上,通常也都需要修改 引導(dǎo) 程序。 引導(dǎo)程序 的安裝媒介( Installation Medium)。系統(tǒng)加電或復(fù)位后,所有的 CPU 通常都從某個由 CPU 制造商預(yù)先安排的地址上取指令。比如,基于 ARM7TDMI core 的 CPU 在復(fù)位時通常都從地址 0x00000000 取它的第一條指令 [11]。而基于 CPU 構(gòu)建的嵌入式系統(tǒng)通常都有某種類型的固態(tài)存儲設(shè)備 (比如: ROM、 EEPROM 或 FLASH 等 )被映射到這個預(yù)哈爾濱理工大學(xué)學(xué)士學(xué)位論文 13 先安排的地址上。因此在系統(tǒng)加電后, CPU 將首先執(zhí)行 Boot Loader 程序。 用來控制 引導(dǎo)程序 的設(shè)備或機制。主機和目標機之間一般通過串口建立連接, 引導(dǎo)程序 軟件在執(zhí)行時通常會通過串口來進行 I/O,比如:輸出打印信息到串口,從串口讀取用戶控制字符等。 引導(dǎo)程序 的啟動過程是單階段( Single Stage)還是多階段。通常多階段的 引導(dǎo)程序 能提供更為復(fù)雜的功能,以及更好的可移植性 [12]。從固態(tài)存儲設(shè)備上啟動的 引導(dǎo)程序 大多都是 2 階段 的啟動過程,也即啟動過程可以分為 stage 1 和 stage 2 兩部分 [13]。 引導(dǎo)系統(tǒng) 的操作模式 (Operation Mode)大多數(shù) 引導(dǎo)程序 都包含兩種不同的操作模式: 啟動加載 模式和 下載 模式,這種區(qū)別僅對于開發(fā)人員才有意義。但從最終用戶的角度看, 引導(dǎo)系統(tǒng) 的作用就是用來加載操作系統(tǒng),而并不存在所謂的啟動加載模式與下載工作模式的區(qū)別。啟動加載( Boot loading)模式:這種模式也稱為 “ 自主 ” ( Autonomous)模式。也即 Boot Loader 從目標機上的某個固態(tài)存儲設(shè)備上將操作系統(tǒng)加載 到 RAM 中運行,整個過程并沒有用戶的介入 [14]。這種模式是 引導(dǎo)程序 的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布的時侯, 引導(dǎo)系統(tǒng) 顯然必須工作在這種模式下。下載( Downloading)模式:在這種模式下,目標機上的 引導(dǎo)程序 將通過串口連接或網(wǎng)絡(luò)連接等通信手段從主機( Host)下載文件,比如:下載內(nèi)核映像和根文件系統(tǒng)映像等。從主機下載的文件通常首先被 引導(dǎo)程序保存到目標機的 RAM 中,然后再被 引導(dǎo)系統(tǒng) 寫到目標機上的 FLASH 類固態(tài)存儲設(shè)備中 [15]。 引導(dǎo)程序 的這種模式通常在第一次安裝內(nèi)核與根文件系統(tǒng)時被使用;此外, 以后的系統(tǒng)更新也會使用 引導(dǎo)程序 的這種工作模式。工作于這種模式下的 引導(dǎo)系統(tǒng) 通常都會向它的終端用戶提供一個簡單的命令行接口 [16]。像 Blob 或 UBoot 等這樣功能強大的 Boot Loader 通常同時支持這兩種工作模式,而且允許用戶在這兩種工作模式之間進行切換。比如, Blob 在啟動時處于正常的啟動加載模式,但是它會延時 10 秒等待終端用戶按下任意鍵而將 blob 切換到下載模式 [17]。如果在 10 秒內(nèi)沒有用戶按鍵,則 blob 繼續(xù)啟動 Linux 內(nèi)核。 BootLoader 與主機之間進行文件傳輸所用的 通信設(shè)備及協(xié)議最常見的情況就是,目標機上的 Boot Loader 通過串口與主機之間進行文件傳輸,傳輸協(xié)議通常是 xmodem/ ymodem/ zmodem 協(xié)議中的一種。但是,串口傳輸?shù)乃俣仁怯邢薜模虼送ㄟ^以太網(wǎng)連接并借助 TFTP 協(xié)議來下載文件是個更好的選擇 [18]。此外,在論及這個話題時,主機方所用的軟件也要考慮。比如,在通過以太網(wǎng)連接和 TFTP 協(xié)議來下載文件時,主機方必須有一個軟件用來的提供 TFTP 服務(wù) [19]。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 14 FL2440 的 BootLoader 開發(fā)板連接好串口線,打開 DNW 進行設(shè)置,開發(fā) 板上電如圖 31 所示。 圖 31 DNW 設(shè)置 在 DNW 為當前有效窗口時,敲 PC 鍵盤的任意鍵( 須在上圖藍 圈所示的時間范圍內(nèi),上圖為 7 秒此值可在 Boot 參數(shù)處修改 )可進入bootloader 菜單界面如下圖 32。 圖 32 Bootloader 菜單 FL2440 開發(fā)板所帶的 bootloader 主要功能有通過串口或 USB 口下載文件 (配合 DNW 使用 )、 NAND FLASH 燒寫、啟動 FLASH 中的程序、設(shè)置啟動參數(shù)。 用 USB 下載要先在 PC 端裝好驅(qū)動程序,保證 USB 連接好,有時哈爾濱理工大學(xué)學(xué)士學(xué)位論文 15 PC 端出現(xiàn)‘發(fā)現(xiàn)無法識別的 USB 設(shè)備’時,此時可按 ESC 鍵取消下載,等幾秒鐘再輸入‘ 0’或者‘ 1’啟動 USB 下載。 另外需要注意的是,在啟用 USB 下載時,如不能下載需要將 USB 重新插拔! 選擇菜單說明 功能 [0]:通過 USB DEVICE 下載程序,并運行 功能 [1]:通過 USB DEVICE 下載程序,下載完后會自動寫入 NAND FLASH 功能 [2] :通過串口下載 程序, BIOS 內(nèi)部固定了下載地址為0x30400000 功能 [3]:啟動無操作系統(tǒng)應(yīng)用程序 (),即分區(qū) 4 中 的程序 功能 [4]:啟動 LINUX 操作系統(tǒng) 功能 [5]:啟動 WINCE 操作系統(tǒng) 功能 [6]:擦除 NAND FLASH 分區(qū) 功能 [7]:配置一些系統(tǒng)參數(shù)和 Linux 啟動參數(shù) 燒寫 BootLoader 到開發(fā)板 必備文件 、 、 連接好 JTAG 線、串口線、 usb 線、連接好后給開發(fā)板上電。 使用 JLINK 仿真器的用戶,插好轉(zhuǎn)接板;使用并口的用戶應(yīng)使用JTAG 板的 wiggler 接口 打開 AXD,進行配置。使用并口的用戶需要打開 HJTAG 檢測CPU。 Operations— Detect Target 如下圖 33 所示。 圖 33 HJTAG 配置 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 16 正常檢測到 CPU 時,應(yīng)如下圖 34,檢測到之后將其最小化即可,該軟件會在 PC 右下角的托盤中。 圖 34 檢測 CPU 打開 AXD,在 AXD 的菜單: Operations— Configure Target 如下圖35 所示。 圖 35 AXD 設(shè)置 使用并口的用戶,選擇 ;使用 JLINK 的用戶應(yīng)選擇,然后按‘ OK’上面的操作無誤后會在 AXD 的左側(cè)有如圖哈爾濱理工大學(xué)學(xué)士學(xué)位論文 17 36 顯示。 圖 36 ADX 操作界面 接下來開始裝載文件。在 File 菜單下‘ load image’,如圖 37,裝載。 圖 37 裝載文件 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 18 運行片刻后停下,正常的情況下應(yīng)該停在如圖 38 所示的位置 圖 38 AXD 編程界面 然后用同樣的方法裝載‘ ’并運行,此時串口在 DNW 上會有輸出如圖 39:【 USB:OK】表示 USB 線已經(jīng)連接好了。 圖 39 串口輸出 按任意鍵使其停在‘ select menu’下如圖 310。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 19 圖 310 選擇 菜單 選‘ 1’通過 USB 來燒寫程序如圖 311。 圖 311 flash 菜單 選‘ 0 ’即可通過 USB 燒寫 文件,在燒寫之前應(yīng)將下載地址修改為‘ 0x30800000’ ,DNW 菜單欄 Configuration— Operation 。如 312。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 20 圖 312 配置 DNW 在 DNW 菜單欄 USB Port— Transmit 選擇要燒寫的 如圖 313。 圖 313 燒寫 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 21 燒寫成功后,會提示 “ Progran nand flash parttition success” 如圖 314。 圖 314 燒寫成功 本章小結(jié) 本章主要介紹了 Bootloader 的簡要概念以及他在計算機啟動過稱中的作用,簡要的介紹了其主要結(jié)構(gòu)、安裝媒介和操作模式。然后介紹了該開發(fā)辦的 Bootloader 的啟動界面以及界面?zhèn)€參數(shù)的意義,接著詳細的闡述了燒寫 Bootloader 所需文件和對軟硬件的配置,最后詳細的敘述了 燒寫B(tài)ootloader 的步驟。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 22 第 4章 Linux 啟動過程及編譯 內(nèi)核的新特性簡 介 1. 支持更多處理器,比如 AMD6一些大型機及嵌入式等,同時改進了對已有處理器的支持; 2. 采用搶占式內(nèi)核,使交互式操作的響應(yīng)速度大大提高; 3. 修改了 I/0 子系統(tǒng)部分,保證在各種工作負荷下 I/0 都有很好的響應(yīng)速度; 4. 增加了 IDE/ATA、 SCSI 等存儲總線,解決和改善了以前的一些問題。比如 版內(nèi)核可以直接通過 IDE 驅(qū)動程序來支持 IDE CD/RW 設(shè)備,而不必像以前一樣要使用一個特別的 SCSI 模擬驅(qū)動程序; 5. 大量改進文件系統(tǒng)。比如支持 Windows 的邏輯卷管理器、重寫對NTFS 文件系統(tǒng)的 支持、改進 HPFS 等; 6. 改進和部分重寫了 Modules 功能,使之更穩(wěn)定; 7. 改進對 USB 的支持,使之能夠支持當前多數(shù)主流的 USB 設(shè)備; 8. 加強對無線設(shè)備的支持; 9. 增加了 ALSA(Advanced Linux Sound Architecture)。 ALSA 是有希望取代舊式 0SS(Open Sound System)的另一種聲音系統(tǒng),能支持全杜比錄音及回放、無縫混音、支持聲音合成設(shè)備、 USB 聲卡等; 10. 支持更多種類和型號的多媒體設(shè)備; 11. 網(wǎng)絡(luò)方面新增了對 IPSec 協(xié)議的支持,改進了對 IPv6 的支持。由于 具有以上新特性,與 相比更適合嵌入式應(yīng)用,所以本文將對 版 Linux 內(nèi)核進行移植。 Linux 內(nèi)核啟動流程 在移植的調(diào)試階段,在沒有在線仿真器的情況下,可以通過板上 LED的狀態(tài)輸出或串口輸出的調(diào)試信息進行錯誤定位,所以有必要了解一下內(nèi)核的啟動流程,圖 41 內(nèi)核啟動流程圖 對此做來解釋。 本文通過 DNW 軟件在來觀察內(nèi)核的啟動流程。內(nèi)核在啟動的過程中按下圖步驟一步一步啟動,了解啟動的順序,有利于掌握好內(nèi)核移植的工作安排過程。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 23 圖 41 內(nèi)核啟動流程圖 Linux 目錄文件 Linux 內(nèi)核主要由 5 個模塊構(gòu)成,它們分別是:進程調(diào)度模塊、內(nèi)存管理模塊、文件系統(tǒng)模塊、進程間通信模塊和網(wǎng)絡(luò)接口模塊。 由于 Linux 內(nèi)核是一種單內(nèi)核模式的系統(tǒng),因此,內(nèi)核中所有的程序幾乎都有緊密的聯(lián)系,它們之間的依賴和調(diào)用關(guān)系非常密切。所以在閱讀一個源代碼文件時往往需要參閱其它相關(guān)的文件。因此有必要先熟悉一下源代碼文件的目錄結(jié)構(gòu)和安排。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 24 linux ├─ boot 系統(tǒng)引導(dǎo)匯編程序 ├─ fs 文件系統(tǒng) ├─ include 頭 文件 (*.h) │├─ asm 與 CPU 體系結(jié)構(gòu)相關(guān)的部分 │├─ linux Linux 內(nèi)核專用部分 │└─ sys 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)部分 ├─ init 內(nèi)核初始化程序 ├─ kernel 內(nèi)核進程調(diào)度、信號處理、系統(tǒng)調(diào)用等程序 │├─ blk_drv 塊設(shè)備驅(qū)動程序 │├─ chr_drv 字符設(shè)備驅(qū)動程序 │└─ math 數(shù)學(xué)協(xié)處理器仿真處理程序 ├─ lib 內(nèi)核庫函數(shù) ├─ mm 內(nèi)存管理程序 └─ tools 生成內(nèi)核 Image 文件的工具程序 li
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1