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

正文內(nèi)容

基于arm信息發(fā)布平臺終端系統(tǒng)的構(gòu)建(編輯修改稿)

2024-07-15 16:57 本頁面
 

【文章內(nèi)容簡介】 從Flash上讀取數(shù)據(jù)與從RAM單元中讀取數(shù)據(jù)并沒有什么不同。 ⑤ 設(shè)置內(nèi)核啟動參數(shù)在將內(nèi)核映像和根文件系統(tǒng)映像復(fù)制到RAM空間中后,就可以準(zhǔn)備啟動linux內(nèi)核了。但是在調(diào)用內(nèi)核之前,應(yīng)該做一步準(zhǔn)備工作,即設(shè)置linux內(nèi)核的啟動參數(shù)。(Tagged List)的形式來傳遞參數(shù)。啟動參數(shù)標(biāo)記列表以標(biāo)記ATAG_CORE開始,以標(biāo)記ATAG_NONE結(jié)束。每個標(biāo)記由被傳遞參數(shù)的tag_header結(jié)構(gòu)以及隨后的參數(shù)值數(shù)據(jù)結(jié)構(gòu)來組成。數(shù)據(jù)結(jié)構(gòu)tag和tag_header定義在linux內(nèi)核代碼的include/asm/。 ⑥ 調(diào)用內(nèi)核Bootloader調(diào)用linux內(nèi)核的方法是直接跳轉(zhuǎn)到內(nèi)核的第一條指令處,即直接跳轉(zhuǎn)到MEM_START+0X8000地址處。在跳轉(zhuǎn)時,需要滿足以下條件。216。 CPU寄存器的設(shè)置:R0=0;R1=機器類型ID;R2=啟動參數(shù)標(biāo)記列表在RAM中的起始基地址。216。 CPU模式:必須禁止中斷,同時處理器必須為SVC模式。216。 Cache和MMU的設(shè)置:MMU必須關(guān)閉;指令Cache可以打開也可以關(guān)閉;數(shù)據(jù)Cache必須關(guān)閉。 bootloader的種類每種不同的CPU體系結(jié)構(gòu)都有不同的bootloader,通常bootloader與CPU之間是一對一的關(guān)系。但是,有些bootloader也同時支持多種體系結(jié)構(gòu)的CPU。目前l(fā)inux下開放源碼的bootloader對各種體系結(jié)構(gòu)的支持情況。 bootloader支持的體系結(jié)構(gòu)名稱說明支持的體系結(jié)構(gòu)LILOLinux的磁盤引導(dǎo)加載程序X86LinuxBIOS以linux為基礎(chǔ)的BIOS替代品X86Blob來自LART計劃的引導(dǎo)程序ARMVIVI主要為S3C2410處理器引導(dǎo)linuxARMRedBoot以eCos為基礎(chǔ)的引導(dǎo)程序X86,ARM,MIPS,UBoot以PPCBoot和ARMBoot為基礎(chǔ)的通用引導(dǎo)程序X86,ARM,PowerPc uboot的介紹及移植最早是由DENX軟件工程中心的Wolfgang Denk基于8xxrom的源碼創(chuàng)建的PPCBOOT工程,并且不斷添加處理器的支持。后來,Sysgo Gmbh把ppcboot移植到ARM平臺上,創(chuàng)建了ARMboot工程。然后以ppcboot工程和armboot工程為基礎(chǔ),創(chuàng)建了UBoot工程。 現(xiàn)在,UBoot作為通用的Bootloader,已經(jīng)成功地移植到包括PowerPC、ARM、X8MIPS體系結(jié)構(gòu)的上百種開發(fā)板,已經(jīng)成為功能最多、靈活性最強并且開發(fā)最積極的開放源碼Bootloader。目前仍然由DENX的Wolfgang Denk維護。 uboot源碼結(jié)構(gòu)在uboot根目錄下有18個子目錄,分別存放和管理著不同的源程序。根據(jù)這些目錄存放的文件及其規(guī)則,可分為3類:第一類目錄與處理器體系結(jié)構(gòu)和開發(fā)板硬件直接相關(guān);如board,cpu,lib_x等等。第二類目錄是一些通用的函數(shù)或者驅(qū)動程序;如include,mon,drivers等等。第三類目錄是uboot的應(yīng)用程序,工具或者文檔;如examples,tools,Doc等等。 uboot的配置,編譯和移植1  在頂層目錄Makefile中為開發(fā)板添加新的配置選項,mini2440_config : unconfig @$(MKCONFIG) $(@:_config=)arm arm920t mini2440 NULL s3c24x0arm: CPU的架構(gòu)(ARCH) arm920t: CPU的類型(CPU),其對應(yīng)于cpu/arm920t子目錄。 mini2440: 開發(fā)板的型號(BOARD),s3c24x0: 片上系統(tǒng)(SOC)。2  創(chuàng)建一個新目錄/board/mini2440存放開發(fā)板的相關(guān)代碼,將/board/smdk2410/目錄下所有文件復(fù)制到/mini2440,并修改其中的相關(guān)文件,否則編譯會出錯。cp rf /smdk2410/* /mini24403  為開發(fā)板添加新的配置文件cp r include/configs/ /include/configs/4  配置開發(fā)板make mini2440_config執(zhí)行該命令后。5  編譯ubootmake執(zhí)行該命令后,6  添加驅(qū)動或者其他功能選項。,還不能在開發(fā)板上啟動,也不能引導(dǎo)內(nèi)核,文件系統(tǒng);因此,還需添加一些驅(qū)動,完成uboot引導(dǎo)內(nèi)核和文件系統(tǒng)。添加Flash,SDRAM驅(qū)動,以太網(wǎng)口,usb,串口等驅(qū)動,以實現(xiàn)文件的下載,添加對文件系統(tǒng)的支持。7  調(diào)試uboot源代碼,直到uboot能夠在開發(fā)板上正常啟動并引導(dǎo)linux內(nèi)核。8  下載bootloader到開發(fā)板, 所示,將打印bootloader,flash等信息,因為還沒有加載Linux內(nèi)核,所以停在booting Linux......處。 bootloader的啟動信息4 linux內(nèi)核移植 linux內(nèi)核結(jié)構(gòu)Linux內(nèi)核主要由5個子系統(tǒng)組成:進程調(diào)度,內(nèi)存管理,虛擬文件系統(tǒng),網(wǎng)絡(luò)結(jié)構(gòu),進程間通信[6]。1  進程調(diào)度(SCHED):控制進程對CPU資源的使用。當(dāng)需要選擇下一個就緒進程運行時,由調(diào)度進程程序采取何時得調(diào)度策略,以保證個進程能公平合理的訪問CPU,同時保證內(nèi)核能響應(yīng)硬件操作。2  內(nèi)存管理(MM):允許多個進程安全的共享主內(nèi)存區(qū)域。Linux的內(nèi)存管理支持虛擬內(nèi)存。既在計算機中運行的程序,代碼,數(shù)據(jù),堆棧的總量可以超過實際內(nèi)存的大小,操作系統(tǒng)只是把當(dāng)前使用的程序塊保留在內(nèi)存中,其余的程序塊則保留在磁盤中。3  虛擬文件系統(tǒng)(VFS):用于支持對外部設(shè)備的驅(qū)動和存儲,其隱藏了各種硬件的具體細節(jié),為所有的設(shè)備提供了統(tǒng)一的借口。VFS提供了多達數(shù)十種不同的文件系統(tǒng),它可分為邏輯文件系統(tǒng)和設(shè)備驅(qū)動程序。邏輯文件系統(tǒng)是指linux所支持的文件系統(tǒng),如ext2,fat等,設(shè)備驅(qū)動程序指為每一種硬件控制器所編寫的設(shè)備驅(qū)動程序模塊。4  網(wǎng)絡(luò)接口(NET):提供了對各種網(wǎng)絡(luò)標(biāo)準(zhǔn)的存取和各種網(wǎng)絡(luò)硬件的支持。網(wǎng)絡(luò)接口可分為網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)驅(qū)動程序。網(wǎng)絡(luò)協(xié)議負責(zé)實現(xiàn)每一種可能的網(wǎng)絡(luò)傳輸協(xié)議;網(wǎng)絡(luò)設(shè)備驅(qū)動程序負責(zé)與硬件設(shè)備通訊。每一種可能的硬件設(shè)備都有相應(yīng)的設(shè)備驅(qū)動程序。5  進程間通信(IPC):用于支持多種進程間相互通信。各個子系統(tǒng)間的關(guān)系如下:216。 進程調(diào)度與內(nèi)存管理之間的關(guān)系:這兩個子系統(tǒng)互相依賴。在多道程序環(huán)境下,程序要運行必須為之創(chuàng)建進程,而創(chuàng)建進程的第一件事情,就是將程序和數(shù)據(jù)裝入內(nèi)存。216。 進程間通信與內(nèi)存管理的關(guān)系:進程間通信子系統(tǒng)要依賴內(nèi)存管理支持共享內(nèi)存通信機制,這種機制允許兩個進程除了擁有自己的私有空間,還可以存取共同的內(nèi)存區(qū)域。216。 虛擬文件系統(tǒng)與網(wǎng)絡(luò)接口之間的關(guān)系:虛擬文件系統(tǒng)利用網(wǎng)絡(luò)接口支持網(wǎng)絡(luò)文件系統(tǒng)(NFS),也利用內(nèi)存管理支持RAMDISK設(shè)備。216。 內(nèi)存管理與虛擬文件系統(tǒng)之間的關(guān)系:內(nèi)存管理利用虛擬文件系統(tǒng)支持交換,交換進程(swapd)定期由調(diào)度程序調(diào)度,這也是內(nèi)存管理依賴于進程調(diào)度的唯一原因。當(dāng)一個進程存取的內(nèi)存映射被換出時,內(nèi)存管理向文件系統(tǒng)發(fā)出請求,同時,掛起當(dāng)前正在運行的進程。除了這些依賴關(guān)系外,內(nèi)核中的所有子系統(tǒng)還要依賴于一些共同的資源。這些資源包括所有子系統(tǒng)都用到的過程。例如:分配和釋放內(nèi)存空間的過程,打印警告或錯誤信息的過程,還有系統(tǒng)的調(diào)試?yán)痰鹊取? Linux內(nèi)核結(jié)構(gòu) linux源碼結(jié)構(gòu),在頂層目錄下有許多子目錄,分別存放著各種內(nèi)核子系統(tǒng)或者文件。 Linux源碼目錄arch目錄包括所有和體系結(jié)構(gòu)相關(guān)的核心代碼。它下面的每一個子目錄都代表一種Linux支持的體系結(jié)構(gòu),例如i386就是Intel CPU及與之相兼容體系結(jié)構(gòu)的子目錄。include目錄包括編譯核心所需要的大部分頭文件,例如與平臺無關(guān)的頭文件在include/linux子目錄下。init目錄包含核心的初始化代碼(不是系統(tǒng)的引導(dǎo)代碼)。這是研究核心如何工作的好起點。mm目錄包含了所有的內(nèi)存管理代碼。與具體硬件體系結(jié)構(gòu)相關(guān)的內(nèi)存管理代碼位于arch/*/mm目錄下。drivers目錄中是系統(tǒng)中所有的設(shè)備驅(qū)動程序。它又進一步劃分成幾類設(shè)備驅(qū)動,每一種有對應(yīng)的子目錄,如聲卡的驅(qū)動對應(yīng)于drivers/sound。ipc目錄包含了核心進程間的通信代碼。modules目錄存放了已建好的、可動態(tài)加載的模塊。fs目錄存放Linux支持的文件系統(tǒng)代碼。不同的文件系統(tǒng)有不同的子目錄對應(yīng),如ext3文件系統(tǒng)對應(yīng)的就是ext3子目錄。Kernel內(nèi)核管理的核心代碼放在這里。同時與處理器結(jié)構(gòu)相關(guān)代碼都放在arch/*/kernel目錄下。net目錄里是核心的網(wǎng)絡(luò)部分代碼,其每個子目錄對應(yīng)于網(wǎng)絡(luò)的一個方面。lib目錄包含了核心的庫代碼,不過與處理器結(jié)構(gòu)相關(guān)的庫代碼被放在arch/*/lib/目錄下。scripts目錄包含用于配置核心的腳本文件。documentation目錄下是一些文檔,是對每個目錄作用的具體說明。這兩個文件都是編譯時使用的輔助文件。仔細閱讀這兩個文件對弄清各個文件之間的聯(lián)系和依托關(guān)系很有幫助。另外有的目錄下還有Readme文件,它是對該目錄下文件的一些說明,同樣有利于對內(nèi)核源碼的理解。 linux內(nèi)核的配置,編譯和移植Linux內(nèi)核配置系統(tǒng)可以生成內(nèi)核配置菜單,方便內(nèi)核配置。配置系統(tǒng)主要包括Makefile,Kconfig和配置工具,可以生成配置界面。配置界面是通過工具來生成的,工具通過Makefile編譯執(zhí)行,選項則是通過各級目錄的Kconfig文件來定義的[7]。Linux內(nèi)核配置命令有:make config,make menuconfig和make xconfig,分別是字符界面,ncurses光標(biāo)界面和Xwindow圖形窗口的配置界面。字符界面配置方式需要回答每一個選項提示,逐個回答內(nèi)核上千個選項幾乎是行不通的;圖形窗口的配置界面很好,光標(biāo)菜單也很實用。1  vi Linux/Makefileexport KBUILD_BUILDHOST := $(SUBARCH)ARCH ?= $(SUBARCH)CROSS_COMPILE ?=
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1