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

正文內(nèi)容

嵌入式linux編程入門與開發(fā)實(shí)例-第3章(參考版)

2025-05-16 06:45本頁面
  

【正文】 編譯內(nèi)核 ①安裝內(nèi)核 ②清除從前編譯內(nèi)核時(shí)殘留的 .o 文件和 必要的關(guān)聯(lián) ③配置內(nèi)核,修改相關(guān)參數(shù) ④正確設(shè)置關(guān)聯(lián)文件 ⑤編譯內(nèi)核 ⑥編譯模塊 ⑦安裝模塊 習(xí)題與練習(xí) ? ? (1) 常見的交叉編譯工具有哪些? ? (2) 針對 ARM創(chuàng)建交叉編譯環(huán)境,其一般步驟是什么? ? (3) 常見的 Linux Bootloader有哪些? ? (4) Bootloader兩階段啟動中 stage2和 stage2的步驟有哪些? ? (5) 移植 UBoot的基本步驟有哪些? 思考與練習(xí) ? ? 搭建嵌入式開發(fā)環(huán)境,包括安裝 Linux系統(tǒng)、安裝嵌入式工具鏈、配置宿主機(jī)相關(guān)信息以及和開發(fā)板之間的連接等。 ? scripts:此目錄包含用于配置核心的腳本文件。 ? lib:此目錄包含了核心的庫代碼。 ? :核心的網(wǎng)絡(luò)部分代碼。 ? kernel:主要核心代碼。 ? fs: Linux支持的文件系統(tǒng)代碼。 ? ipc:此目錄包含了核心的進(jìn)程間通訊代碼。 ? drivers:系統(tǒng)中所有的設(shè)備驅(qū)動都位于此目錄中。 ? mm:此目錄包含了所有的內(nèi)存管理代碼。另外對于每種支持的體系結(jié)構(gòu)分別有一個(gè)子目錄。如對于 X86平臺就是 i386。 Linux內(nèi)核源代碼的分布如下。 一般在 Linux系統(tǒng)中的 /usr/src/linux*.*.*目錄下就是內(nèi)核源代碼 。 Linux系統(tǒng)通過移植可以運(yùn)行在ARM, PowerPC, M68K等多種平臺上 。 ( 4) make oldconfig:自動讀入“ config”配置文件 ,并且只要求用戶設(shè)定前次沒有設(shè)定過的選項(xiàng)。 ( 2) make menuconfig: 基于文本菜單的配置界面 , 是字符終端下常用的方式。 ? ( 3)配置工具,包括配置命令解釋器(對配置腳本中使用的命令進(jìn)行解釋)和配置用戶界面(提供基于字符界面、基于 Ncurses圖形界面和基于 Xwindows圖形界面的用戶配置界面)。 當(dāng)一個(gè)進(jìn)程存取的內(nèi)存映射被換出時(shí) , 內(nèi)存管理向文件系統(tǒng)發(fā)出請求 ,同時(shí) , 掛起當(dāng)前正在運(yùn)行的進(jìn)程 。 ? 虛擬文件系統(tǒng)與網(wǎng)絡(luò)接口之間的關(guān)系:虛擬文件系統(tǒng)利用網(wǎng)絡(luò)接口支持網(wǎng)絡(luò)文件系統(tǒng) (NFS),也利用內(nèi)存管理支持 RAMDISK設(shè)備。在多道程序環(huán)境下,程序要運(yùn)行必須為之創(chuàng)建進(jìn)程,而創(chuàng)建進(jìn)程的第一件事情,就是將程序和數(shù)據(jù)裝入內(nèi)存。 進(jìn)程間通訊 (IPC) 支持進(jìn)程間各種通信機(jī)制。網(wǎng)絡(luò)協(xié)議部分負(fù)責(zé)實(shí)現(xiàn)每一種可能的網(wǎng)絡(luò)傳輸協(xié)議。 網(wǎng)絡(luò)接口( NET) 提供了對各種網(wǎng)絡(luò)標(biāo)準(zhǔn)的存取和各種網(wǎng)絡(luò)硬件的支持。虛擬文件系統(tǒng)可以分為邏輯文件系統(tǒng)和設(shè)備驅(qū)動程序。 硬件無關(guān)部分提供了進(jìn)程的映射和邏輯內(nèi)存的對換;硬件相關(guān)的部分為內(nèi)存管理硬件提供了虛擬接口 。 必要時(shí) , 操作系統(tǒng)負(fù)責(zé)在磁盤和內(nèi)存間交換程序塊 。 內(nèi)存管理( MM) 允許多個(gè)進(jìn)程安全的共享主內(nèi)存區(qū)域 。可運(yùn)行進(jìn)程實(shí)際上是僅等待 CPU資源的進(jìn)程,如果某個(gè)進(jìn)程在等待其它資源,則該進(jìn)程是不可運(yùn)行進(jìn)程。 Linux內(nèi)核結(jié)構(gòu) 進(jìn)程調(diào)度( SCHED) 控制進(jìn)程對 CPU的訪問。 嵌入式 Linux操作系統(tǒng)內(nèi)核編譯 Linux內(nèi)核是指 Linux源代碼經(jīng)過編譯和鏈接生成的映像文件 ( Image) 。 ? include:頭文件的公共目錄,其中的 定義了這塊處理器的一些寄存器,以及 NAND Flash的一些寄存器等。和普通的 C程序一樣, VIVI將從 main函數(shù)開始執(zhí)行。 mtd目錄下的 maps、 nand和 nor三個(gè)目錄分別是內(nèi)存映射 、NAND Flash驅(qū)動和 NOR Flash驅(qū)動 。 ? arch:此目錄包括了所有 VIVI支持的目標(biāo)板的子目錄 , 這里只有 s3c2410目錄 。 VIVI的代碼包括 arch, init, lib, drivers和include等幾個(gè)目錄 , 共有 200多個(gè)文件 。 編譯之前 , 要 先 指 定 Makefile 文件中的LINUX_INCLUDE_DIR 、 CROSS_COMPILE 和ARM_GCC_LIBS。 表 33 VIVI的命令 命令 功能 Load 把二進(jìn)制文件載入 Flash或RAM Part 操作 MTD分區(qū)信息 Param 設(shè)置參數(shù) Boot 啟動系統(tǒng) Flash 管理 Flash 配置 VIVI使用的命令如下: make distclean。 VIVI也有前面說過的兩種工作模式 , 啟動加載模式可以在一段時(shí)間 ( 這個(gè)時(shí)間可更改 ) 后自行啟動Linux內(nèi)核 , 這是 VIVI的默認(rèn)模式 。 ( 7)調(diào)試 UBoot源代碼,直到 UBoot在開發(fā)板上能夠正常啟動。 ( 3)為開發(fā)板添加新的配置文件 ( 4)配置開發(fā)板 ( 5)編譯 UBoot ( 6)添加驅(qū)動或者功能選項(xiàng)。 移植 UBoot的基本步驟如下: ( 1)在頂層 Makefile中為開發(fā)板添加新的配置選項(xiàng)。 表 32 UBoot編譯生成的映像文件 文件名稱 說明 UBoot映像的符號表 uboot UBoot映像的 ELF格式 UBoot映像原始的二進(jìn)制格式 UBoot映像的 SRecord格式 UBoot的移植: UBoot能夠支持多種體系結(jié)構(gòu)的處理器 ,支持的開發(fā)板也越來越多 。 目 錄 特 性 解 釋 說 明 board 平臺依賴 存放電路板相關(guān)的目錄文件,例如: RPXlite(mpc8xx)、 smdk2410( arm920t)、 sc520_cdp(x86) 等目錄 cpu 平臺依賴 存放 CPU相關(guān)的目錄文件,例如: mpc8xx、ppc4xx、 arm720t、 arm920t、 xscale、 i386等目錄 lib_ppc 平臺依賴 存放對 PowerPC體系結(jié)構(gòu)通用的文件,主要用于實(shí)現(xiàn) PowerPC平臺通用的函數(shù) lib_arm 平臺依賴 存放對 ARM體系結(jié)構(gòu)通用的文件,主要用于實(shí)現(xiàn) ARM平臺通用的函數(shù) lib_i386 平臺依賴 存放對 X86體系結(jié)構(gòu)通用的文件,主要用于實(shí)現(xiàn) X86平臺通用的函數(shù) include 通用 頭文件和開發(fā)
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1