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

正文內(nèi)容

基于linux的eeprom的讀寫控制畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-08-15 16:10 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ute In Place)方式的內(nèi)核映像文件。此時(shí)內(nèi)核映像文件的入口是匯編文件,該文件位于 /,映像文件的起始地址在連接文件 /。 開發(fā)人員在調(diào)試過程中也經(jīng)常使用未經(jīng)壓縮的在 Ram 本地執(zhí)行 XIP 方式的內(nèi)核映華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 7 像文件,與在 Flash 本地執(zhí)行的映像文件的區(qū)別是它不需要將數(shù)據(jù)段從 Flash 拷貝到Ram 中的過程 [15]。這種方式下,需要 Boot Loader 具有通過網(wǎng)口或串口下載內(nèi)核映像文件并啟動(dòng)內(nèi)核的功能。 最簡(jiǎn)功能設(shè)計(jì)設(shè)計(jì)一個(gè)最簡(jiǎn)單的 Boot Loader,只需要依次完 成以下功能: ( 1) 禁止所有的中斷; ( 2) 設(shè)置處理器時(shí)鐘、運(yùn)行速度; ( 3) 存儲(chǔ)區(qū)初始化; ( 4) 設(shè)置堆棧指針將 bss 段清零; ( 5) 跳轉(zhuǎn)到內(nèi)核映像的入口 。 在跳轉(zhuǎn)到內(nèi)核映像的入口前,以下條件必須滿足: 寄存器 r0 —— 必須設(shè)置為 0; 寄存器 r1 —— 必須設(shè)置為唯一的處理器結(jié)構(gòu)號(hào),文件linux/arch/arm/tools/machtypes 中包含所有結(jié)構(gòu)號(hào)的列表; 存儲(chǔ)區(qū)管理單元 MMU—— 必須關(guān)閉 ; 指令緩存 Icache —— 打開或者關(guān)閉 ; 數(shù)據(jù)緩存 Dcache —— 關(guān) 閉 。 完備功能設(shè)計(jì) 。 設(shè)計(jì)一個(gè)完備的 Boot Loader,可在最簡(jiǎn)功能基礎(chǔ)上考慮是否增加以下功能: ( 1) 上電自檢; ( 2) 支持串口通訊方式,提供串口方式的命令控制臺(tái); ( 3) 支持以太網(wǎng)通訊方式,提供以太網(wǎng)通訊方式的命令控制臺(tái); ( 4) 可以通過串口或以太網(wǎng)下載并引導(dǎo)內(nèi)核和文件系統(tǒng)映像文件; ( 5) 支持通過串口或以太網(wǎng)通訊燒寫映像文件到 Flash; ( 6) 能夠讀寫 I/O 端口、存儲(chǔ)區(qū)、寄存器; ( 7) 配置功能,包括設(shè)置 IP 地址、 MAC 地址、系統(tǒng)時(shí)間等。 華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 8 3 操作系統(tǒng)的移植 LINUX內(nèi)核的移植 內(nèi)核移植過程: 1)下載 linux 內(nèi)核 下載 linux 內(nèi)核至 home/arm/dev_home/kernel [root@localhost ~]su arm [arm@localhost ~]cd $KERNEL [arm@localhost kernel]tar xzvf [arm@localhost kernel] pwd /home/arm/dev_home/kernel [arm@localhost kernel] cd 進(jìn)入內(nèi)核解壓后的目錄,以后示例中,只要是相對(duì)路徑全部是相對(duì)于 /home/arm/dev_home/kernel/。 2)修改 Makefile 修改內(nèi)核目錄樹根下的的 Makefile,指明交叉編譯器 [arm@localhost ] vi Makefile 找到 ARCH 和 CROSS_COMPILE,修改 ARCH ?= arm CROSS_COMPILE ?= armlinux 然后設(shè)置你的 PATH 環(huán)境變量,使其可以找到你的交叉編譯工具鏈: [arm@localhost ] echo $PATH /usr/local/arm/:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/ly/bin 如果 /usr/local/arm/, 加 入 下 面 語(yǔ) 句 在 ~/.bashrc 中[arm@localhost ] vi ~/.bashrc export PATH=/usr/local/arm/:$PATH 再重新登陸。 [arm@localhost ]su arm 3)設(shè)置 flash 分區(qū) 指明分區(qū)信息,指定啟動(dòng)時(shí)初始化,禁止 Flash ECC 校驗(yàn)。 4)配置內(nèi)核 配置內(nèi)核產(chǎn)生 .config 文件,編譯內(nèi)核,下載 zImage 到開發(fā)板。 創(chuàng)建 uImage 1)獲取 mkimage 工具 內(nèi)核樹的 Makefile 提供了創(chuàng) 建 uImage 的方法,但需要我們提供相應(yīng)的 mkimage命令。 所以首先拷貝 uboot 中 tools 目錄下編譯后生成的 mkimage 到 /usr/bin/下,然后便可以在內(nèi)核根目錄下通過 make uImage 來(lái)創(chuàng)建 uImage 文件。該文件生成在華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 9 arch/arm/boot/下。 2)修改內(nèi)核的 Makefile 文件 [arm@localhost ]$ vi arch/arm/boot/Makefile MKIMAGE變量記錄 mkimage 命令的路徑 以 scripts 目錄中找到 MKIMAGE:= $(srctree)/scripts/ zreladdry 與 params_physy 可以在 arch/arm/machs3c2410/ 當(dāng)中找到 ZRELADDR := $(zreladdry) PARAMS_PHYS := $(params_physy) INITRD_PHYS := $(initrd_physy) 生成 uImage 的 mkImage 命令行,其中需要關(guān)注的就是 a 與 e 參數(shù)。 參 數(shù) a:指明 uImage 加載的 SDRAM 地址,內(nèi)核默認(rèn)指定加載地址為 0x30008000。 uboot 引導(dǎo)時(shí), bootm 命令跳到與上相同位置執(zhí)行,檢查完鏡像頭后,它會(huì)跳到內(nèi)核真正的入口點(diǎn)開始執(zhí)行。 參數(shù) e:指明 uImage 中刨去鏡像頭后真正的內(nèi)核入口地址。 鏡像頭為 0x40 長(zhǎng),故此處指定為 0x30008040。 LINUX內(nèi)核的目錄結(jié)構(gòu) 現(xiàn)代的操作系統(tǒng)一般由進(jìn)程管理、內(nèi)存管理、文件系統(tǒng)、驅(qū)動(dòng)程序和網(wǎng)絡(luò)等組成。 Linux 核心源程序通常都安裝在 /usr/src/linux 下,而且它有一個(gè)非常簡(jiǎn)單的編號(hào)約定:任何偶數(shù)的核心都是一個(gè)穩(wěn)定地發(fā)行的核心,而任何奇數(shù)的核心都是一個(gè)開發(fā)中的核心 [13]。 Linux 內(nèi)核源碼的各個(gè)目錄大致與此相對(duì)應(yīng),其組成如下(假設(shè)相對(duì)于/usr/src/ 目錄): arch 目錄包括了所有和體系結(jié)構(gòu)相關(guān)的核心代碼。它下面的每一個(gè)子目錄都代表一種 Linux 支持的體系結(jié)構(gòu),例如 i386 就是 Intel CPU 及與之相兼容體系結(jié)構(gòu)的子目錄。PC 機(jī)一般都基于此目錄。 COPYING 目錄 下是 GPL 版權(quán)申明。對(duì)具有 GPL 版權(quán)的源代碼改動(dòng)而形成的程序,或使用 GPL 工具產(chǎn)生的程序,具有使用 GPL 發(fā)表的義務(wù),如公開源代碼。 CREDITS 目錄下是光榮榜。對(duì) Linux 做出過很大貢獻(xiàn)的一些人的信息。 documentation 目錄下是一些文檔,沒有內(nèi)核代碼,可惜都是 English 的,是對(duì)每個(gè)目錄作用的具體說(shuō)明。 drivers 目錄中是系統(tǒng)中所有的設(shè)備驅(qū)動(dòng)程序。它又進(jìn)一步劃分成幾類設(shè)備驅(qū)動(dòng),每一種有對(duì)應(yīng)的子目錄,如聲卡的驅(qū)動(dòng)對(duì)應(yīng)于 drivers/sound。 block 下為塊設(shè)備驅(qū)動(dòng)程序,比如 ide( )。如果你希望查看所有可能包含文件系統(tǒng)的設(shè)備是如何初始化的,你可以看 drivers/block/()。它不僅初始化硬盤,也初始化,因?yàn)榘惭b nfs文件系統(tǒng)的時(shí)候需要網(wǎng)絡(luò)其他 : 如 , Lib 放置核心的庫(kù)代碼 。 Net,核心與網(wǎng)絡(luò)相關(guān)的代華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 10 碼 。 Ipc,這個(gè)目錄包含核心的進(jìn)程間通訊的代碼 。 Fs,所有的文件系統(tǒng)代碼和各種類型的文件操作代碼,它的每一個(gè)子目錄支持一個(gè)文件系統(tǒng),例如 fat 和 ext2。 fs 目錄存放 Linux 支持的文件系統(tǒng)代碼和各種類型的文件操作代碼。每一個(gè)子目錄支持一個(gè)文件系統(tǒng),如 ext3 文件系統(tǒng)對(duì)應(yīng)的就是 ext3 子目錄。 include 目錄包括編譯核心所需要的大部分頭文件,例如與平臺(tái)無(wú)關(guān)的頭文件在include/linux 子目錄下,與 intel cpu 相關(guān)的頭文件在 include/asmi386 子目錄下 ,而include/scsi 目錄則是有關(guān) scsi 設(shè)備的頭文件目錄 [10]。 init 目錄包含核心的初始化代碼(不是系統(tǒng)的引導(dǎo)代碼),有 和 兩個(gè)文件。這是研究核 心如何工作的好起點(diǎn)。 ipc 目錄包含了核心進(jìn)程間的通信代碼。 Kernel 內(nèi)核管理的核心代碼,此目錄下的文件實(shí)現(xiàn)了大多數(shù) linux 系統(tǒng)的內(nèi)核函數(shù),其中最重要的文件當(dāng)屬 ;同時(shí)與處理器結(jié)構(gòu)相關(guān)代碼都放在 arch/*/kernel目錄下。 lib 目錄包含了核心的庫(kù)代碼,不過與處理器結(jié)構(gòu)相關(guān)的庫(kù)代碼被放在 arch/*/lib/目錄下。 MAINTAINERS 目錄存放了維護(hù)人員列表,對(duì)當(dāng)前版本的內(nèi)核各部分都有誰(shuí)負(fù)責(zé)。 Makefile 目錄第一個(gè) Makefile 文件。用來(lái)組織內(nèi)核的各模塊,記錄了個(gè)模塊間的 相互這間的聯(lián)系和依托關(guān)系,編譯時(shí)使用;仔細(xì)閱讀各子目錄下的 Makefile 文件對(duì)弄清各個(gè)文件這間的聯(lián)系和依托關(guān)系很有幫助。 mm 目錄包含了所有獨(dú)立于 cpu 體系結(jié)構(gòu)的內(nèi)存管理代碼,如頁(yè)式存儲(chǔ)管理內(nèi)存的分配和釋放等。與具體硬件體系結(jié)構(gòu)相關(guān)的內(nèi)存管理代碼位于 arch/*/mm 目錄下,例如arch/i386/mm/ 。 modules 目錄存放了已建好的、可動(dòng)態(tài)加載的模塊文件目錄,是個(gè)空目錄,用于存放編譯時(shí)產(chǎn)生的模塊目標(biāo)文件。 目錄里是核心的網(wǎng)絡(luò)部分代碼,其每個(gè)子目錄對(duì)應(yīng)于網(wǎng)絡(luò)的一個(gè)方面。 ReadMe 目錄里是核心及其編譯配置方法簡(jiǎn)單介紹。 REPORTINGBUGS 目錄里是有關(guān)報(bào)告 Bug 的一些內(nèi)容。 目錄里是各種 Makefilemake 所使用的一些共同規(guī)則。 scripts 目錄包含用于配置核心的腳本文件等。 一般在每個(gè)目錄下都有一個(gè) .depend 文件和一個(gè) Makefile 文件。這兩個(gè)文件都是編譯時(shí)使用的輔助文件。仔細(xì)閱讀這兩個(gè)文件對(duì)弄清各個(gè)文件之間的聯(lián)系和依托關(guān)系很有幫助。另外有的目錄下還有 Readme 文件,它是對(duì)該目錄下文件的一些說(shuō)明,同樣有利于對(duì)內(nèi)核源碼的理解。 LINUX源代碼的安裝 1 ) linux 源代碼包位于本書附帶光盤 CD2\linux Source 目錄,文件名為,拷貝該文件所在目錄所有文件到 Cygwin/tmp 文件夾下 華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 11 解壓 Linux 源代碼包,執(zhí)行如下命令: mkdir /usr/local/src cd /usr/local/src tar xzvf /tmp/ 命令執(zhí)行結(jié)束時(shí)若提示: tar: Error
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1