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

正文內(nèi)容

基于arm9的linux系統(tǒng)移植畢業(yè)設(shè)計(jì)(參考版)

2025-07-07 10:58本頁(yè)面
  

【正文】 其中 YAFFS 的文件系統(tǒng)與硬件的相關(guān)性比較小,我們先完成內(nèi)核對(duì) YAFFS 。與 NOR 相比, NAND 不是完全可靠的,每塊芯片出廠時(shí)都有一定比例的壞塊存在對(duì)數(shù)據(jù)的存取不是使用地址映射而是通過(guò)寄存器的操作,串行存取數(shù)據(jù) [20]。 目前支持 FLASH 的文件系統(tǒng)還有 JFFS 和 JFFS2, JFFS 和 JFFS2 對(duì)NOR Flash 的支持還是非常好的,是基于日志的文件系統(tǒng)。 文件系統(tǒng)移植 Yaffs( Yet Another Flash File System)文件系統(tǒng)是專(zhuān)門(mén)針對(duì) NAND 閃存設(shè)計(jì)的嵌入式文件系統(tǒng),目前有 YAFFS 和 YAFFS2 兩個(gè)版本,兩個(gè)版本的主要區(qū)別之一在于 YAFFS2 能夠更好的支持大容量的 NAND FLASH芯片。 圖 55 傳輸文件 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 31 選擇內(nèi)核的映像文件( zImage) ,進(jìn)度條完畢之后會(huì)出現(xiàn)以下圖 56。 圖 53 燒寫(xiě)內(nèi)核菜單 查看下載地址, DNW 的‘ Configuration— Options’ ,配置情況如圖54。 圖 51 選擇菜單 功能 [0]:通過(guò) USB DEVICE 下載程序,并運(yùn)行 功能 [1]:通過(guò) USB DEVICE 下載程序,下載完后會(huì)自動(dòng)寫(xiě)入 NAND FLASH 功能 [2] :通過(guò)串口下載 程序, BIOS 內(nèi)部固定了下載地址為0x30400000 功能 [3]:?jiǎn)?dòng)無(wú)操作系統(tǒng)應(yīng)用程序 (),即分區(qū) 4 中的程序 功能 [4]:?jiǎn)?dòng) LINUX 操作系統(tǒng) 功能 [5]:?jiǎn)?dòng) WINCE 操作系統(tǒng) 功能 [6]:擦除 NAND FLASH 分區(qū) 功能 [7]:配置一些系統(tǒng)參數(shù)和 Linux 啟動(dòng)參數(shù) 選擇‘ 1’(不 用按回車(chē))進(jìn)入如下圖 52 所示界面。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 28 第 5章 Linux 內(nèi)核 及文件系統(tǒng)移植 內(nèi)核移植 連接好串口線、 USB 線、電源線。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 27 make menuconfig Device Drivers * Real Time Clock [*] Set system time from RTC on startup and resume (rtc0) RTC used to set the system time [ ] RTC debug support *** RTC interfaces *** [*] /sys/class/rtc/rtcN (sysfs) [*] /proc/driver/rtc (procfs for rtc0) [*] /dev/rtcN (character devices) * Samsung S3C series SoC RTC 10. 配置內(nèi)核 。 File systems [*] Miscellaneous filesystems * YAFFS2 file system support * 512 byte / page devices * 2048 byte (or larger) / page devices [*] Autoselect yaffs2 format [*] Cache short names in RAM 8. 移植 USB host 驅(qū)動(dòng),僅僅需要修改配置即可 。 6. 配置內(nèi)核, make menuconfig。 vi drivers/mtd/nand/ 將以下兩個(gè)部分進(jìn)行修改 static struct nand_bbt_descr largepage_memorybased = { .options = 0, .offs = 0, .len = 1, //原始值為 2,改成 1 .pattern = scan_ff_pattern 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 26 }。 5. 修改 nandflash 驅(qū)動(dòng),支持 K9F1G08 的 nandflash。 修改為: s3c24xx_init_clocks(120xx000)。 vi fs/Kconfig 找到以下行: menu Pseudo filesystems 在此行后面增加以下內(nèi)容: config DEVFS_FS bool /dev file system support (OBSOLETE) default y config DEVFS_MOUNT bool Automatically mount at boot default y depends on DEVFS_FS 4. 修改晶振頻率。修改 Makefile 文件,將 CROSS_COMPILE 對(duì)應(yīng)到系統(tǒng)中交叉編譯器地址 。進(jìn)入內(nèi)核目錄,修改機(jī)器碼跟 bootloader 的機(jī)器碼一致( FL2440 為 193) 。編譯內(nèi)核工具程序目錄 tools 等。內(nèi)核庫(kù)函數(shù)目錄 lib。字符設(shè)備驅(qū)動(dòng)程序子目錄 kernel/chr_dev。內(nèi)核程序主目錄 kernellinux/kernel 目錄中共包含 12 個(gè)代碼文件和一個(gè) Makefile 文件,另外還有 3 個(gè)子目錄。系統(tǒng)專(zhuān)用數(shù)據(jù)結(jié)構(gòu)子目錄 include/sys。體系結(jié)構(gòu)相關(guān)頭文件子目錄 include/asm 這些頭文件主要定義了一些與 CPU 體系結(jié)構(gòu)密切相關(guān)的數(shù)據(jù)結(jié)構(gòu)、宏函數(shù)和變量。 fs 是文件系統(tǒng)實(shí)現(xiàn)程序的目錄,共包含 17 個(gè) C 語(yǔ)言程序。 哈爾濱理工大學(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)核專(zhuān)用部分 │└─ sys 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)部分 ├─ init 內(nèi)核初始化程序 ├─ kernel 內(nèi)核進(jìn)程調(diào)度、信號(hào)處理、系統(tǒng)調(diào)用等程序 │├─ blk_drv 塊設(shè)備驅(qū)動(dòng)程序 │├─ chr_drv 字符設(shè)備驅(qū)動(dòng)程序 │└─ math 數(shù)學(xué)協(xié)處理器仿真處理程序 ├─ lib 內(nèi)核庫(kù)函數(shù) ├─ mm 內(nèi)存管理程序 └─ tools 生成內(nèi)核 Image 文件的工具程序 linux 目錄是源代碼的主目錄,在該主目錄中除了包括所有的 14 個(gè) 子目錄以外,還含有唯一的一個(gè) makefile 文件。所以在閱讀一個(gè)源代碼文件時(shí)往往需要參閱其它相關(guān)的文件。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 23 圖 41 內(nèi)核啟動(dòng)流程圖 Linux 目錄文件 Linux 內(nèi)核主要由 5 個(gè)模塊構(gòu)成,它們分別是:進(jìn)程調(diào)度模塊、內(nèi)存管理模塊、文件系統(tǒng)模塊、進(jìn)程間通信模塊和網(wǎng)絡(luò)接口模塊。 本文通過(guò) DNW 軟件在來(lái)觀察內(nèi)核的啟動(dòng)流程。由于 具有以上新特性,與 相比更適合嵌入式應(yīng)用,所以本文將對(duì) 版 Linux 內(nèi)核進(jìn)行移植。比如支持 Windows 的邏輯卷管理器、重寫(xiě)對(duì)NTFS 文件系統(tǒng)的 支持、改進(jìn) HPFS 等; 6. 改進(jìn)和部分重寫(xiě)了 Modules 功能,使之更穩(wěn)定; 7. 改進(jìn)對(duì) USB 的支持,使之能夠支持當(dāng)前多數(shù)主流的 USB 設(shè)備; 8. 加強(qiáng)對(duì)無(wú)線設(shè)備的支持; 9. 增加了 ALSA(Advanced Linux Sound Architecture)。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 22 第 4章 Linux 啟動(dòng)過(guò)程及編譯 內(nèi)核的新特性簡(jiǎn) 介 1. 支持更多處理器,比如 AMD6一些大型機(jī)及嵌入式等,同時(shí)改進(jìn)了對(duì)已有處理器的支持; 2. 采用搶占式內(nèi)核,使交互式操作的響應(yīng)速度大大提高; 3. 修改了 I/0 子系統(tǒng)部分,保證在各種工作負(fù)荷下 I/0 都有很好的響應(yīng)速度; 4. 增加了 IDE/ATA、 SCSI 等存儲(chǔ)總線,解決和改善了以前的一些問(wèn)題。 圖 314 燒寫(xiě)成功 本章小結(jié) 本章主要介紹了 Bootloader 的簡(jiǎn)要概念以及他在計(jì)算機(jī)啟動(dòng)過(guò)稱(chēng)中的作用,簡(jiǎn)要的介紹了其主要結(jié)構(gòu)、安裝媒介和操作模式。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 20 圖 312 配置 DNW 在 DNW 菜單欄 USB Port— Transmit 選擇要燒寫(xiě)的 如圖 313。 圖 311 flash 菜單 選‘ 0 ’即可通過(guò) USB 燒寫(xiě) 文件,在燒寫(xiě)之前應(yīng)將下載地址修改為‘ 0x30800000’ ,DNW 菜單欄 Configuration— Operation 。 圖 39 串口輸出 按任意鍵使其停在‘ select menu’下如圖 310。在 File 菜單下‘ load image’,如圖 37,裝載。 圖 35 AXD 設(shè)置 使用并口的用戶(hù),選擇 ;使用 JLINK 的用戶(hù)應(yīng)選擇,然后按‘ OK’上面的操作無(wú)誤后會(huì)在 AXD 的左側(cè)有如圖哈爾濱理工大學(xué)學(xué)士學(xué)位論文 17 36 顯示。 圖 33 HJTAG 配置 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 16 正常檢測(cè)到 CPU 時(shí),應(yīng)如下圖 34,檢測(cè)到之后將其最小化即可,該軟件會(huì)在 PC 右下角的托盤(pán)中。使用并口的用戶(hù)需要打開(kāi) HJTAG 檢測(cè)CPU。 另外需要注意的是,在啟用 USB 下載時(shí),如不能下載需要將 USB 重新插拔! 選擇菜單說(shuō)明 功能 [0]:通過(guò) USB DEVICE 下載程序,并運(yùn)行 功能 [1]:通過(guò) USB DEVICE 下載程序,下載完后會(huì)自動(dòng)寫(xiě)入 NAND FLASH 功能 [2] :通過(guò)串口下載 程序, BIOS 內(nèi)部固定了下載地址為0x30400000 功能 [3]:?jiǎn)?dòng)無(wú)操作系統(tǒng)應(yīng)用程序 (),即分區(qū) 4 中 的程序 功能 [4]:?jiǎn)?dòng) LINUX 操作系統(tǒng) 功能 [5]:?jiǎn)?dòng) WINCE 操作系統(tǒng) 功能 [6]:擦除 NAND FLASH 分區(qū) 功能 [7]:配置一些系統(tǒng)參數(shù)和 Linux 啟動(dòng)參數(shù) 燒寫(xiě) BootLoader 到開(kāi)發(fā)板 必備文件 、 、 連接好 JTAG 線、串口線、 usb 線、連接好后給開(kāi)發(fā)板上電。 圖 32 Bootloader 菜單 FL2440 開(kāi)發(fā)板所帶的 bootloader 主要功能有通過(guò)串口或 USB 口下載文件 (配合 DNW 使用 )、 NAND FLASH 燒寫(xiě)、啟動(dòng) FLASH 中的程序、設(shè)置啟動(dòng)參數(shù)。 哈爾濱理工大學(xué)學(xué)士學(xué)位論文 14 FL2440 的 BootLoader 開(kāi)發(fā)板連接好串口線,打開(kāi) DNW 進(jìn)行設(shè)置,開(kāi)發(fā) 板上電如圖 31 所示。此外,在論及這個(gè)話題時(shí),主機(jī)方所用的軟件也要考慮。 BootLoader 與主機(jī)之間進(jìn)行文件傳輸所用的 通信設(shè)備及協(xié)議最常見(jiàn)的情況就是,目標(biāo)機(jī)上的 Boot Loader 通過(guò)串口與主機(jī)之間進(jìn)行文件傳輸,傳輸協(xié)議通常是 xmodem/ ymodem/ zmodem 協(xié)議中的一種。比如, Blob 在啟動(dòng)時(shí)處于正常的啟動(dòng)加載模式,但是它會(huì)延時(shí) 10 秒等待終端用戶(hù)按下任意鍵而將 blob 切換到下載模式 [17]。工作于這種模式下的 引導(dǎo)系統(tǒng) 通常都會(huì)向它的終端用戶(hù)提供一個(gè)簡(jiǎn)單的命令行接口 [16]。從主機(jī)下載的文件通常首先被 引導(dǎo)程序保存到目標(biāo)機(jī)的 RAM 中,然后再被 引導(dǎo)系統(tǒng) 寫(xiě)到目標(biāo)機(jī)上的 FLASH 類(lèi)固態(tài)存儲(chǔ)設(shè)備中 [15]。這種模式是 引導(dǎo)程序 的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布的時(shí)侯, 引導(dǎo)系統(tǒng) 顯然必須工作在這種模式下。啟動(dòng)加載( Boot loading)模式:這種模式也稱(chēng)為 “ 自主 ” ( Autonomous)模式。 引導(dǎo)系統(tǒng) 的操作模式 (Operation Mode)大多數(shù) 引導(dǎo)程序 都包含兩種不同的操作模式: 啟動(dòng)加載 模式和 下載 模式,這種區(qū)別僅對(duì)于開(kāi)發(fā)人員才有意義。通常多階段的 引導(dǎo)程序 能提供更為復(fù)雜的功能,以及更好的可移植性 [12]。主機(jī)和目標(biāo)機(jī)之間一般通過(guò)串口建立連接, 引導(dǎo)程序 軟件在執(zhí)行時(shí)通常會(huì)通過(guò)串口來(lái)進(jìn)行 I/O,比如:輸出打印信息到串口,從串口讀取用戶(hù)控制字符等。因此在系統(tǒng)加電后, CPU 將首先執(zhí)行 Boot Loader 程序。比如,基于 ARM7TDMI core 的 CPU 在復(fù)位時(shí)通常都從地址 0x00000000 取它的第一條指令 [11]。 引導(dǎo)程序 的安裝媒介( Installation Medium)。除了依賴(lài)于 CPU 的體系結(jié)構(gòu)外, 引導(dǎo)程序 實(shí)際上也 依賴(lài)于具體的嵌入式板級(jí)設(shè)備的配置 [10]。每
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1