出版時間:2008-11 出版社:電子工業(yè)出版社 作者:楊水清 等編著 頁數(shù):620 字數(shù):1095000
Tag標簽:無
前言
你想知道手中的MP4由什么組成嗎?你想親手制作一個電子相框嗎?你想深入研究操作系統(tǒng)內(nèi)核,學(xué)習(xí)編寫驅(qū)動程序嗎?你想為嵌入式系統(tǒng)設(shè)計功能強大的圖形界面嗎?你想知道一個真實的嵌入式系統(tǒng)是如何從無到有建立起來的嗎?本書將從作者親身開發(fā)的經(jīng)驗帶給你詳細實用的解答!嵌入式Linux開發(fā)的前景嵌入式產(chǎn)業(yè)發(fā)展迅猛,已成為計算機體系的重要組成部分。嵌入式系統(tǒng)產(chǎn)品正不斷滲透各個行業(yè),其產(chǎn)業(yè)增幅也不斷加大。在計算機后PC技術(shù)時代,嵌入式系統(tǒng)將擁有最大的市場。任何一個普通人都可以擁有從小到大的各種使用嵌入式技術(shù)的電子產(chǎn)品,小到手機、MP3等,大到智能家電、車載電子設(shè)備等。在工業(yè)和服務(wù)領(lǐng)域中,使用了嵌入式技術(shù)的數(shù)字機床、工業(yè)機器人、安全系統(tǒng)等也在逐漸改變傳統(tǒng)工業(yè)和服務(wù)方式。正是因為有如此大的需求,所以促使筆者結(jié)合多年的開發(fā)經(jīng)驗,編寫了本書。編輯本段本書特點1.注重讀者的學(xué)習(xí)與接受情況:在嵌入式Linux系統(tǒng)下進行開發(fā),一個很大的困難就是各種工具紛繁復(fù)雜,不知從何入手。本書在每個部分都安排了一章,引導(dǎo)讀者一步一步熟悉各種開發(fā)工具和環(huán)境,使讀者首先建立起感性認識,為進一步深入學(xué)習(xí)打下基礎(chǔ)。2.代碼注釋規(guī)范細致:為了便于讀者學(xué)習(xí),在實例代碼中,進行了非常詳細的注釋。這些注釋可以引導(dǎo)讀者理解和掌握編寫程序的關(guān)鍵過程。例如下面的代碼,是C語言標準庫章節(jié)中的實例。在實例中,對代碼的文件名、代碼的作用和重要函數(shù)的功能提示,都體現(xiàn)在了代碼注釋中。
內(nèi)容概要
本書由淺入深、通俗易懂地講解了嵌入式Linux的系統(tǒng)設(shè)計與開發(fā)。全書共25章,從嵌入式處理器ARM開始,講解了ARM處理器的資源、ARM的指令集、ADS開發(fā)工具、嵌入式系統(tǒng)硬件環(huán)境的構(gòu)建、Boot Loader、Linux內(nèi)核移植、嵌入式文件系統(tǒng)、嵌入式Linux多任務(wù)程序開發(fā)、嵌入式Linux設(shè)備驅(qū)動開發(fā)、嵌入式Linux網(wǎng)絡(luò)程序開發(fā)、MiniGUI圖形界面開發(fā)、設(shè)備驅(qū)動開發(fā)案例、綜合案例等內(nèi)容。書中通過大量的例程來講解知識要點,并提供了大量極有參考價值的開發(fā)案例,讀者可以通過這些例程和開發(fā)案例對嵌入式Linux開發(fā)有一個系統(tǒng)的學(xué)習(xí)和提高?! ”緯灿兴膫€方面的內(nèi)容。在嵌入式系統(tǒng)的硬件結(jié)構(gòu)中講述了嵌入式處理器ARM的特點、嵌入式系統(tǒng)硬件環(huán)境的構(gòu)建和ADS開發(fā)工具的使用。在嵌入式Linux系統(tǒng)移植中講述了目標板軟件環(huán)境的構(gòu)建,主要包括Boot Loader、Linux內(nèi)核、文件系統(tǒng)以及交叉開發(fā)環(huán)境的構(gòu)建。在嵌入式Linux軟件開發(fā)中講述了嵌入式Linux C語言開發(fā)工具的使用、標準庫的使用、多任務(wù)開發(fā)基礎(chǔ)和設(shè)備驅(qū)動開發(fā)基礎(chǔ)。在嵌入式應(yīng)用系統(tǒng)實例分析中講述了嵌入式Linux的網(wǎng)絡(luò)程序開發(fā)、MiniGUI圖形界面開發(fā)、CAN總線設(shè)備驅(qū)動設(shè)計、DM9000網(wǎng)絡(luò)驅(qū)動設(shè)計、SD卡驅(qū)動設(shè)計和嵌入式B超系統(tǒng)設(shè)計?! ”緯Z言通俗易懂,內(nèi)容豐富,注重理解與實例,知識涵蓋面廣。非常適合從事嵌入式Linux系統(tǒng)開發(fā)的初級工程師、高校學(xué)生、Linux程序開發(fā)人員閱讀和學(xué)習(xí)。
作者簡介
楊水清,國防科技大學(xué)電子科學(xué)與工程學(xué)院ATR實驗室工程師,主要從事ASIC、嵌入式系統(tǒng)硬件開發(fā)及紅外目標自動識別等領(lǐng)域的研究工作,曾經(jīng)參與多項重大科技項目攻關(guān)。
書籍目錄
第1章 嵌入式系統(tǒng)概述 1.1 嵌入式系統(tǒng)簡介 1.1.1 嵌入式系統(tǒng) 1.1.2 嵌入式系統(tǒng)的特點 1.1.3 嵌入式系統(tǒng)的發(fā)展趨勢 1.2 嵌入式系統(tǒng)中的處理器 1.2.1 微處理器 1.2.2 微控制器 1.2.3 數(shù)字信號處理器 1.2.4 嵌入式片上系統(tǒng) 1.3 嵌入式系統(tǒng)中的軟件系統(tǒng) 1.3.1 嵌入式系統(tǒng)中的軟件系統(tǒng) 1.3.2 嵌入式系統(tǒng)軟件開發(fā)的一般過程 1.3.3 嵌入式應(yīng)用程序的開發(fā) 1.4 本章小結(jié) 第2章 快速體驗——目標板 2.1 目標板結(jié)構(gòu) 2.2 ARM初體驗 2.2.1 測試ARM處理器 2.2.2 安裝ADS 1.2 2.2.3 安裝Multi-ICE和配置AXD 2.2.4 ADS的簡單使用 2.2.5 使用Telnet和ftp 2.3 本章小結(jié) 第3章 ARM的內(nèi)部資源 3.1 S3C2440微處理器 3.1.1 主要結(jié)構(gòu) 3.1.2 片內(nèi)資源 3.1.3 體系結(jié)構(gòu) 3.2 S3C2440存儲器映射 3.2.1 bank0總線寬度 3.2.2 nWAIT引腳的作用 3.2.3 nXBREQ/nXBACK引腳操作 3.3 S3C2440內(nèi)部資源詳解 3.3.1 Cache高速緩存 3.3.2 時鐘和電源管理 3.3.3 中斷控制器 3.3.4 脈沖帶寬調(diào)制定時器(PWM) 3.3.5 實時時鐘(RTC) 3.3.6 通用I/O端口 3.3.7 LCD控制器 3.3.8 UART控制器 3.3.9 A/D轉(zhuǎn)換和觸摸屏接口 3.3.10 看門狗定時器 3.3.11 IIC總線接口 3.3.12 AC97音頻解碼器接口 3.3.13 USB設(shè)備控制器 3.3.14 SD接口 3.3.15 SPI接口 3.3.16 相機接口 3.3.17 工作電壓 3.4 本章小結(jié) 第4章 熟悉ARM處理器 4.1 為什么用ARM 4.2 ARM公司簡介 4.3 ARM微處理器系列 4.3.1 ARM7微處理器 4.3.2 ARM9微處理器 4.3.3 ARM10微處理器 4.3.4 ARM11微處理器 4.4 ARM微處理器的結(jié)構(gòu) 4.4.1 體系結(jié)構(gòu) 4.4.2 寄存器結(jié)構(gòu) 4.4.3 指令結(jié)構(gòu) 4.5 ARM微處理器的選擇 4.5.1 內(nèi)核的選擇 4.5.2 工作頻率的選擇 4.5.3 芯片內(nèi)存儲器的選擇 4.5.4 片內(nèi)外圍電路的選擇 4.6 ARM的指令集概述 4.6.1 ARM微處理器的指令分類和格式 4.6.2 指令的條件域 4.7 ARM指令的尋址方式 4.7.1 立即尋址 4.7.2 寄存器尋址 4.7.3 寄存器間接尋址 4.7.4 基址變址尋址 4.7.5 多寄存器尋址 4.7.6 相對尋址 4.7.7 堆棧尋址 4.8 ARM指令集詳解 4.8.1 跳轉(zhuǎn)指令 4.8.2 數(shù)據(jù)處理指令 4.8.3 乘法指令與乘加指令 4.8.4 程序狀態(tài)寄存器訪問指令 4.8.5 加載/存儲指令 4.8.6 批量數(shù)據(jù)加載/存儲指令 4.8.7 數(shù)據(jù)交換指令 4.8.8 移位指令 4.8.9 協(xié)處理器指令 4.8.10 異常產(chǎn)生指令 4.9 本章小結(jié) 第5章 熟悉ADS集成開發(fā)環(huán)境 5.1 命令行開發(fā)工具 5.1.1 armcc介紹 5.1.2 armcc用法詳解 5.1.3 armlink介紹 5.1.4 armlink用法詳解 5.1.5 ARM運行時庫 5.1.6 CodeWarrior集成開發(fā)環(huán)境 5.1.7 ADS調(diào)試器 5.1.8 實用程序 5.1.9 支持的軟件 5.2 使用ADS創(chuàng)建工程 5.2.1 建立一個工程 5.2.2 編譯和鏈接工程 5.2.3 target設(shè)置選項 5.2.4 Language Settings 5.2.5 Linker設(shè)置 5.2.6 ARM fromELF工具 5.2.7 命令行下編譯工程 5.3 使用AXD調(diào)試代碼 5.3.1 打開調(diào)試文件 5.3.2 查看存儲器內(nèi)容 5.3.3 設(shè)置斷點 5.3.4 查看變量值 5.4 本章小結(jié) 第6章 ARM的外部電路 6.1 核心板電路 6.1.1 晶振電路 6.1.2 復(fù)位電路 6.1.3 啟動配置電路 6.1.4 FLASH接口 6.1.5 SDRAM接口 6.2 底板電路 6.2.1 電源電路 6.2.2 串口電路 6.2.3 USB接口 6.2.4 以太網(wǎng)接口 6.2.5 JTAG調(diào)試接口 6.2.6 音頻接口 6.2.7 LCD接口 6.2.8 SD卡接口 6.3 本章小結(jié) 第7章 嵌入式操作系統(tǒng)概述 7.1 操作系統(tǒng)的結(jié)構(gòu)和功能 7.2 進程管理 7.2.1 進程的描述 7.2.2 進程的調(diào)度 7.3 存儲管理 7.3.1 存儲器的體系結(jié)構(gòu) 7.3.2 內(nèi)存管理的基本概念 7.3.3 連續(xù)分配存儲管理方式 7.3.4 頁式存儲管理方式 7.4 文件管理 7.4.1 文件 7.4.2 目錄 7.4.3 EXT2文件系統(tǒng) 7.5 設(shè)備管理 7.5.1 設(shè)備的分類 7.5.2 數(shù)據(jù)傳輸控制方式 7.5.3 中斷處理 7.5.4 設(shè)備驅(qū)動程序 7.6 嵌入式操作系統(tǒng)的特點 7.6.1 嵌入式操作系統(tǒng)的發(fā)展 7.6.2 嵌入式操作系統(tǒng)的優(yōu)勢 7.6.3 嵌入式操作系統(tǒng)的分類 7.7 常見的嵌入式操作系統(tǒng) 7.7.1 VxWorks 7.7.2 pSOS 7.7.3 Palm OS 7.7.4 QNX 7.7.5 Windows CE 7.7.6 μC/OS-II 7.7.7 嵌入式Linux 7.8 本章小結(jié) 第8章 快速體驗——構(gòu)建開發(fā)環(huán)境 8.1 交叉開發(fā)環(huán)境介紹 8.2 主機與目標板的連接方式 8.2.1 串口通信接口 8.2.2 以太網(wǎng)接口 8.2.3 USB接口 8.2.4 JTAG接口 8.3 建立主機開發(fā)環(huán)境 8.3.1 Ubuntu .06的安裝 8.3.2 Minicom的安裝配置 8.3.3 Tftp服務(wù)的安裝配置 8.3.4 NFS的安裝配置 8.3.5 建立交叉工具鏈 8.4 啟動目標板系統(tǒng) 8.4.1 Bootloader和Kernel 8.4.2 根文件系統(tǒng) 8.5 本章小結(jié) 第9章 Linux使用基礎(chǔ) 9.1 Linux的基本概念 9.1.1 文件 9.1.2 目錄 9.1.3 分區(qū) 9.1.4 掛載 9.1.5 用戶系統(tǒng) 9.1.6 用戶權(quán)限 9.1.7 shell 9.1.8 環(huán)境變量 9.2 Linux的命令行 9.2.1 執(zhí)行命令 9.2.2 參數(shù) 9.2.3 重定向符號 9.2.4 獲取幫助 9.3 Linux的常用命令 9.3.1 文件管理 9.3.2 內(nèi)容管理 9.3.3 權(quán)限管理 9.3.4 備份壓縮 9.3.5 系統(tǒng)設(shè)置 9.3.6 進程控制 9.3.7 網(wǎng)絡(luò)設(shè)置 9.4 本章小結(jié) 第10章 Boot Loader 10.1 Boot Loader的概念 10.1.1 Boot Loader所支持的嵌入式體系 10.1.2 Boot Loader的安裝位置 10.1.3 Boot Loader的啟動過程 10.1.4 Boot Loader與主機的通信 10.1.5 Boot Loader的操作模式 10.2 Boot Loader的基本結(jié)構(gòu) 10.2.1 Boot Loader的stage1 10.2.2 Boot Loader的stage2 10.3 vivi簡介 10.3.1 vivi的體系架構(gòu) 10.3.2 vivi啟動的第一階段 10.3.3 vivi啟動的第二階段 10.4 vivi的基本命令 10.4.1 mem命令 10.4.2 load命令 10.4.3 part命令 10.4.4 param命令 10.4.5 boot命令 10.4.6 go命令 10.4.7 bon命令 10.4.8 reset命令 10.4.9 help命令 10.5 U-Boot簡介 10.5.1 U-Boot的特點 10.5.2 U-Boot的目錄結(jié)構(gòu) 10.5.3 U-Boot的啟動過程 10.5.4 U-Boot的移植 10.6 U-Boot的基本命令 10.6.1 設(shè)置環(huán)境變量 10.6.2 數(shù)據(jù)通信 10.6.3 存儲器操作 10.6.4 系統(tǒng)引導(dǎo) 10.6.5 其他 10.7 本章小結(jié) 第11章 Linux內(nèi)核移植 第12章 嵌入式Linux文件系統(tǒng) 第13章 嵌入式Linux C語言開發(fā)工具 第14章 快速體驗——嵌入式C語言開發(fā)流程 第15章 嵌入式Linux C語言基礎(chǔ) 第16章 嵌入式Linux C語言標準庫 第17章 嵌入式Linux的多任務(wù)編程 第18章 多任務(wù)間通信和同步 第19章 設(shè)備驅(qū)動開發(fā)基礎(chǔ) 第20章 嵌入式Linux的網(wǎng)絡(luò)編程 第21章 MiniGUI圖形界面設(shè)計 第22章 CAN總線驅(qū)動設(shè)計 第23章 SD卡驅(qū)動設(shè)計 第24章 網(wǎng)絡(luò)驅(qū)動設(shè)計 第25章 綜合案例——嵌入式B超
編輯推薦
繼《Windows驅(qū)動開發(fā)技術(shù)詳解》之后又一本心血力作!原創(chuàng)經(jīng)典,嵌入式系統(tǒng)一線工程師傾力打造。深入Linux系統(tǒng)底層和內(nèi)核,透析ARM嵌入式Linux系統(tǒng)開發(fā)的本質(zhì)。通過嵌入式系統(tǒng)開發(fā)實例,歸納ARM嵌入式Linux系統(tǒng)開發(fā)的整個過程?! ?nèi)容循序漸進,從硬件平臺詵擇、開發(fā)環(huán)境構(gòu)建、Linux移植到軟硬件協(xié)同調(diào)試等一氣呵成,介紹了多種工具軟件,如ADS、VIM、GCC、GDB、MAKE、Eclipse等,緊跟ARM嵌入式系統(tǒng)開發(fā)技術(shù)步伐,深入講解嵌入式Linux的多任務(wù)編程、網(wǎng)絡(luò)編程等,通過實例講解CAN總線、SD卡、網(wǎng)絡(luò)設(shè)備等驅(qū)動程序的具體開發(fā)過程,詳細講解開發(fā)嵌入式B超綜合案例,總結(jié)實際項國開發(fā)過程。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
ARM嵌入式Linux系統(tǒng)開發(fā)技術(shù)詳解 PDF格式下載