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

正文內(nèi)容

基于s3c2440的linux操作系統(tǒng)移植本科畢業(yè)設(shè)計論文(完整版)

2025-08-02 18:53上一頁面

下一頁面
  

【正文】 的ARM處理器內(nèi)核。兩者都執(zhí)行V5TE架構(gòu)指令。內(nèi)核有一條3級流水線,執(zhí)行ARMv4指令集。V5結(jié)構(gòu)的ARM處理器提升了ARM和Thumb兩種指令的交互能力,同時有了DSP指令—V5E結(jié)構(gòu),JAVA指令—V5結(jié)構(gòu)的支持。 ARM體系結(jié)構(gòu)的發(fā)展體系結(jié)構(gòu),定義了指令集和基于這一體系結(jié)構(gòu)下處理器的編程模型。有時我們想從網(wǎng)絡(luò)上的某臺主機上下載文件,可是又不知道那臺主機是否開著,就需要使用ping命令查看。如果不使用 u user 的話,就是表示設(shè)定自己的時程表。
Umount命令:umount命令的作用是卸載一個文件系統(tǒng),它的使用權(quán)限是超級用戶或/etc/fstab中允許的使用者。
chown 命令:更改某個文件或目錄的屬主和屬組。如果用戶想和其他用戶建立即時通訊,比如使用talk命令,那么首先要確定的就是該用戶確實在線上不然talk進程就無法建立起來。這種操作實際上是給系統(tǒng)中已有的某個文件指定另外一個可用于訪問它的名稱。pwd命令:該命令顯示整個路徑名。
rmdir 命令:刪除空目錄。 對于終端用戶來說,RPM簡化了系統(tǒng)更新。幾乎所有的Linux用戶和系統(tǒng)管理員都使用vi編輯器完成自己的而工作。(4) 進入系統(tǒng)安裝軟件界面,將系統(tǒng)自帶的軟件安裝齊全,: 系統(tǒng)自帶軟件安裝(5) 軟件安裝之后經(jīng)過一段時間的等待系統(tǒng)會自動安裝完成。 Linux系統(tǒng)安裝 虛擬機安裝虛擬機指通過軟件模擬的具有硬件系統(tǒng)功能的,運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng)。Linux內(nèi)核支持IPalias、PPP和IPtunneling,這些功能可用于建立虛擬服務(wù)、VPN(虛擬專用網(wǎng)) 、虛擬主機等。這對于受時間限制,經(jīng)費的研究與項目開發(fā)是很有幫助的、Linux采用統(tǒng)一的標(biāo)準(zhǔn)對硬件進行管理,應(yīng)用層屏蔽系統(tǒng)層,系統(tǒng)層的改動與平臺改動有關(guān),于應(yīng)用無關(guān)。T公司成立了USG將UNIX變成商品化的產(chǎn)品。由于Linux的開源和可移植性高的特性,以及ARM處理器,性能好價格低廉的特點,本文將會在S3C2440的tq2440上進行系統(tǒng)移植,主要包括:嵌入式系統(tǒng)Linux介紹、Bootloader原理分析和移植、操作系統(tǒng)內(nèi)核的移植、文件系統(tǒng)的分析和制作、內(nèi)核驅(qū)動。 driver.前 言通信網(wǎng)絡(luò)技術(shù)和集成電路設(shè)計的高速發(fā)展使嵌入式系統(tǒng)已成為了IT業(yè)的一個焦點。之后幾章分別介紹嵌入式開發(fā)的幾個主要流程,包括Bootloader、內(nèi)核、文件系統(tǒng)、驅(qū)動。將Uboot移植到tq2440上,然后移植最小系統(tǒng),使開發(fā)板能夠正常啟動,最后是構(gòu)建根文件系統(tǒng)、在內(nèi)核中加入串口、LCD驅(qū)動,這樣就可以建立一個完整的嵌入式系統(tǒng),本文除了理論基礎(chǔ)知識的講解還有具體的操作,系統(tǒng)的完成了嵌入式設(shè)計的開發(fā)流程。回顧嵌入式技術(shù)的發(fā)展過程,早期的嵌入式系統(tǒng)被認(rèn)為是人們熟知的單片機。1 嵌入式linux簡介本課題移植的是Linux操作系統(tǒng)內(nèi)核,這里簡單介紹Linux的特點,以及開發(fā)平臺的建立使用。這種商業(yè)態(tài)度,讓當(dāng)時許多UNIX愛好者和軟件開發(fā)者感到痛心疾首和憂慮,他們覺得這種限制不利于產(chǎn)品的長期發(fā)展,于是一個叫做Richard Stallman的領(lǐng)軍人物站了出來,他倡導(dǎo)開源概念,認(rèn)為如果大家能將自己所學(xué)貢獻出來,這個系統(tǒng)會更加優(yōu)秀,之后他創(chuàng)立GUN,開發(fā)了一套與UNIX兼容的軟件,然后又創(chuàng)立自由軟件基金會(FSF)為GUN計劃提供技術(shù),法律以及財政支持。(3) 可定制內(nèi)核Linux具有獨特的內(nèi)核模塊動態(tài)裁剪機制,它可以根據(jù)用戶的需求,實時的將某些模塊插入或者刪除內(nèi)核,實現(xiàn)動態(tài)的的改變。主要運行于Linux之上的ApacheWeb服務(wù)器。目前流行的虛擬機軟件是VMware,VirtualBox和VirualPC,他們都能在Wondows系統(tǒng)上虛擬個計算機。:(6) 安裝完成后,登陸配置網(wǎng)絡(luò)。因為vi編輯器不是圖形化的軟件,所以一定程度上受到了其他文本編輯器的挑戰(zhàn)。安裝、刪除安裝、升級RPM軟件包使用簡短的命令就可完成。 rm命令:在linux中創(chuàng)建文件很容易,系統(tǒng)中隨時會有文件變得過時且毫無用處。
ls 命令:ls是英文單詞list的簡寫,其功能為列出目錄的內(nèi)容。對于這個新的文件名,我們可以為之指定不同的訪問權(quán)限,以控制對信息的共享和安全性的問題。又如,系統(tǒng)管理員希望監(jiān)視每個登錄的用戶此時此刻的所作所為,也要使用who命令。這個命令也很常用。
Exit命令:exit命令的作用是退出系統(tǒng),它的使用權(quán)限是所有用戶。
kill命令:殺死僵死的進程。 mail功能:讀取及發(fā)郵件。基于同種體系結(jié)構(gòu)可以有多種處理器,所面向的應(yīng)用領(lǐng)域不同,每個處理器性能也就不同,但每個的實現(xiàn)都要遵守這一體系結(jié)構(gòu)。V6體系結(jié)構(gòu)包含ARM體系結(jié)構(gòu)中所有的4種特殊指令集:Thumb指令(T),DSP指令(E),Java指令(J)和Media指令。ARM7系列處理器主要用于對功耗要求比較苛刻的消費類產(chǎn)品。他們也支持嵌入式跟蹤宏單元,開發(fā)者可以實時跟蹤處理器上指令和數(shù)據(jù)的執(zhí)行。它還有一個MMU、可配置的TCM及具有零或非零等待存儲器的數(shù)據(jù)/指令Cache。CortexM0處理器能耗低、門數(shù)量少、代碼占用空間小,使得MCU開發(fā)人員能夠以8位處理器的價位,獲得32位處理器的性能。支持從Nand flash存儲器啟動。l 兼容MMC的SD卡接口。 s3c2440存儲器控制器 S3C2440存儲控制器特性在以后的章節(jié)中需要移植uboot,分析啟動代碼會涉及存儲器的配置,所以需要了解存儲空間的布局,掌握SDRAM的配置方法以及Nand Flash的操作。 SDRAM原理分析ARM中的SDRAMJ相當(dāng)于目前電腦中使用的DDR內(nèi)存,它是程序運行的地方。 (2) NAND FLASH 大?。?56M,數(shù)據(jù)寬度:8bit。 Bootloader概述一個嵌入式系統(tǒng)從軟件上分析一般分為四個層次,它們分別是分別是:Bootloader、Linux內(nèi)核、文件系統(tǒng)、應(yīng)用程序。它們不同之處在于:Nor Flash支持片內(nèi)執(zhí)行代碼,這樣可以在Flash上直接執(zhí)行而不必拷貝到RAM中去執(zhí)行。l 設(shè)置好棧。l 將內(nèi)核映像和根文件系統(tǒng)映像從Flash上讀到RAM空間中。(2) 添加交叉編譯器的環(huán)境變量。l board:開發(fā)板相關(guān)的目錄,每種處理器都有對應(yīng)的子目錄。l net:各種網(wǎng)絡(luò)協(xié)議。(3) 在include/configs目錄下。 4 操作系統(tǒng)內(nèi)核的的移植前幾章我們介紹了Llinux系統(tǒng)和s3c2440的處理器架構(gòu),對于軟硬件有了基本了解,并且在上一章介紹了引導(dǎo)操作系統(tǒng)的uboot,這一章主要工作是linux內(nèi)核的移植:包括制作最小的系統(tǒng)內(nèi)核以及介紹yaffs文件系統(tǒng)并且進行簡單的移植。內(nèi)核負(fù)責(zé)創(chuàng)建和銷毀進程,而且由調(diào)度程序采取合適的調(diào)度策略,實現(xiàn)進程間的合理且實時的處理器資源的共享。內(nèi)核在非結(jié)構(gòu)化的硬件上建立了一個結(jié)構(gòu)化的虛擬文件系統(tǒng),隱藏了各種硬件的具體細(xì)節(jié),從而在整個系統(tǒng)的幾乎所有機制中使用文件的抽象。網(wǎng)絡(luò)協(xié)議棧負(fù)責(zé)實現(xiàn)每種可能的網(wǎng)絡(luò)傳輸協(xié)議(TCP/IP協(xié)議等);網(wǎng)絡(luò)設(shè)備驅(qū)動程序負(fù)責(zé)與各種網(wǎng)絡(luò)硬件設(shè)備或虛擬設(shè)備進行通信。每個目錄分別對應(yīng)一種文件系統(tǒng)的實現(xiàn),公用的用于源程序則用于“虛擬文件系統(tǒng)”vfs。頂層Makefile,是整個內(nèi)核代碼編譯整個內(nèi)核配置,編譯的總體文件,各個目錄下的Makefile:比如driver/Makefile,負(fù)責(zé)所在子目錄下源代碼的管理用戶通過make menuconfig配置后。Kconfig中使用三種變量y、n、m分別表示編譯,被編譯,編譯成模塊。l 設(shè)置系統(tǒng)自陷入口(rrap_init())。l 內(nèi)存初始化(設(shè)置內(nèi)存上下頁和頁表項初始值,mem_init())。第三部分:最小系統(tǒng)需要關(guān)注的部分l 控制臺初始化(console_init())。輸入:make menuconfig,然后進入配置單界面。VFS中各目錄的主要用途是提供實際文件系統(tǒng)的掛載點。同時,yaffs2在內(nèi)存空間占用、垃圾回收速度、讀\寫速度等方面均有大幅度提升。因而,現(xiàn)在可以直接使用大硬盤而無需建立很多分區(qū)。首先把代寫塊的一個副本存放在日志中;其次,當(dāng)發(fā)往日志的I/O數(shù)據(jù)傳送完成(即數(shù)據(jù)提交給文件系統(tǒng)),塊就寫入文件。目前,Linux下驅(qū)動USB存儲設(shè)備的方法采用模擬SCSI設(shè)備,所以USBC存儲設(shè)備的表示方法與SCSI接口硬盤的表示方法相同;dev/tty:設(shè)備虛擬臺;dev/ttyS*串口設(shè)備文件。(6) /proc需要注意的是,/prco文件系統(tǒng)并不是保存在系統(tǒng)的硬盤里,操作系統(tǒng)在內(nèi)存中創(chuàng)建這一文件系統(tǒng)目錄,是虛擬的目錄,即系統(tǒng)內(nèi)存的映射,其中包含一些和系統(tǒng)相關(guān)的信息,例如CPU的信息。其目標(biāo)是在一張軟盤上創(chuàng)建一個可以引導(dǎo)的個可以引導(dǎo)的Linux系統(tǒng),用來制作安裝盤。編譯完成后會在BusyBox的根目錄下生成一個可執(zhí)行文件。linuxrclinuxrc也是一個指向也是一個指向busyboxbusybox命令文件的鏈接命令文件的鏈接文件,自此安裝完成。profile:用戶環(huán)境配置文件。對于上層軟件,只需要調(diào)用驅(qū)動程序接口,而不用理會設(shè)備具體的內(nèi)部操作。
B驅(qū)動程序與操作系統(tǒng)內(nèi)核的接口。 (5) 設(shè)備的控制操作
通過設(shè)備驅(qū)動程序中的函數(shù)ioctl()來完成(6) 設(shè)備的輪詢和中斷處理
A 設(shè)備執(zhí)行某個命令時,如“將讀取磁頭移動到軟盤的第42扇區(qū)上”
設(shè)備驅(qū)動可以從輪詢方式和中斷方式中選擇一種以判斷設(shè)備是否已經(jīng)完成
此命令。(3) 中斷服務(wù)程序,又稱為驅(qū)動程序的下半部。open子程序程序必須對將要進行的I/O操作做好必要的準(zhǔn)備工作,如清除緩沖區(qū)等。read:從設(shè)備上寫數(shù)據(jù)。 模塊化驅(qū)動程序設(shè)計Linux的內(nèi)核是一個有機的整體內(nèi)核,即所有的內(nèi)核功能鏈接在一起,在同一個地址空間執(zhí)行。 串口驅(qū)動移植前面講述了驅(qū)動程序的功能和結(jié)構(gòu),這里介紹一下怎樣向內(nèi)核中增加驅(qū)動,首先需要一致的是串口驅(qū)動,串口是一個字符設(shè)備。 s3c2410_gpio_cfgpin(S3C2410_GPH7, S3C2410_GPH7_RXD2)。下面講訴LCD的移植流程。 if defined(CONFIG_FB_S3C24X0_T240320) .width = 240, .height = 320, .pixclock = 100000, /* HCLK 100 MHz, divisor 4 */ .setclkval = 0x4, .xres = 240, .yres = 320, .bpp = 16, .left_margin = 3, /* for HFPD*/ .right_margin = 6, /* for HBPD*/ .hsync_len = 1, /* for HSPW*/ .upper_margin = 2, /* for VFPD*/ .lower_margin = 1, /* for VBPD*/ .vsync_len = 1, /* for VSPW*/ (2),增加新的LCD信息。 } 之后修改888行: .dev_name = “tq440_serial”, (2)打開配置界面,進行如下配置,: 最后重新編譯內(nèi)核。包括設(shè)備的打開、讀寫和關(guān)閉。通過模塊化驅(qū)動程序就可以解決這個問題,根據(jù)需要,在不需要編譯重新內(nèi)核的情況下,把模塊插入內(nèi)核或者從內(nèi)核中卸載。對字符設(shè)備文件進行寫操作將調(diào)用write子程序。close:關(guān)閉一個設(shè)備。中斷可以產(chǎn)生在任何一個進程運行的時候,因此在中斷服務(wù)程序被調(diào)用的時候,不能依賴于任何進程的狀態(tài),也就不能調(diào)用任何與進程運行環(huán)境有關(guān)的函數(shù)。 設(shè)備驅(qū)動程序開發(fā)過程(1) 自動配置和初始化子程序,負(fù)責(zé)檢測所要驅(qū)動的硬件設(shè)備是否存在和是否能正常工作。
(2) 驅(qū)動程序的注冊與注銷
向系統(tǒng)增加一個驅(qū)動程序意味著要賦予它一個主設(shè)備號,可以通過在驅(qū)動程序的初始化過程中調(diào)用定義在fs/()數(shù)或者fs/()函數(shù)來完成。l 對設(shè)備的初始化和釋放。:啟動文件目錄,下面有個“rcS”文件,里面存放了系統(tǒng)啟動時配置以及啟動加載的進程等。 添加內(nèi)容(1) “dev”目錄下面的內(nèi)容在內(nèi)核掛載完畢文件系統(tǒng),系統(tǒng)會使用mdev自動建立。安裝完畢后會在BusyBox的根目錄下生成一個_install目錄。, ,所以并沒有多少空間留給Linux內(nèi)核以及文件系統(tǒng)。(8) /sbin與bin目錄類似,存放系統(tǒng)編譯后的可執(zhí)行文件、命令,如常用到的fsck、lsusb等指令,通常只有root用戶才有運行的權(quán)限。由于是系統(tǒng)管理員的主目錄,普通用戶沒有訪問權(quán)限。ext3即可以只對元數(shù)據(jù)做日志,也可以同時對文件數(shù)據(jù)塊做日志。它使用可變長度目錄項,文件名的最大長度是255個字符,如果需要還可擴展為1024個字符長度。因需要在一頁內(nèi)放下這些內(nèi)容,所以對文件名長度,符號鏈接對象的路徑名長度都有限制。缺點主要是掛載時間長需要對閃存從頭到尾的掃描(2) yaffsyaffs/yaffs2是專門針對NAND閃存設(shè)計的嵌入式文件系統(tǒng)。在配置單選項:“Load an Alternate Configuration File”,然后調(diào)用剛才的配置文件,: 調(diào)用配置文件 然后進入到如下界面,輸入剛剛提到得路徑和配置文件,: 配置文件路徑 然后進入配置界面,: (6) 選擇支持EABI,,: 支持EABI選項(7) ,然后修改機器碼,因為在uboot中設(shè)定了機器碼,所以內(nèi)核也需要修改不然無法啟動,機器碼保存在“arch/arm/tools/machtypes”中將原來的362改為168。下面講訴配置最小內(nèi)核的流程。 相關(guān)cache初始化()。l 核心進程調(diào)度器初始化(包括初始化幾個缺省的Bottonhalf,sched_int())。執(zhí)行命令make conig :
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1