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

正文內(nèi)容

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

2025-08-15 16:10 本頁面
 

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