出版時(shí)間:2008-8 出版社:西安電子科技大學(xué)出版社 作者:孫弋 編
前言
隨著電子技術(shù)的發(fā)展和SOC片上系統(tǒng)應(yīng)用領(lǐng)域的不斷擴(kuò)展,嵌入式系統(tǒng)已經(jīng)在消費(fèi)、電子、軍事和醫(yī)療衛(wèi)生中得到了廣泛應(yīng)用,并且將來會(huì)在更廣泛的領(lǐng)域中占據(jù)更多的市場(chǎng)份額。 本書從嵌入式產(chǎn)品的基本開發(fā)流程、產(chǎn)品項(xiàng)目流程控制入手,對(duì)嵌入式系統(tǒng)的產(chǎn)品開發(fā)基礎(chǔ)知識(shí)展開描述,期望通過本書使讀者不僅了解嵌入式系統(tǒng)的基本概念,還能掌握一些產(chǎn)品的開發(fā)方法。 本書共分為8章,各章的主要內(nèi)容如下: 第1章介紹了嵌入式系統(tǒng)的現(xiàn)狀和主流的嵌入式操作系統(tǒng),詳細(xì)描述了嵌入式系統(tǒng)產(chǎn)品開發(fā)的特點(diǎn)和設(shè)計(jì)流程、嵌入式產(chǎn)品的軟/硬件劃分、硬件詳細(xì)設(shè)計(jì)及軟件設(shè)計(jì),最后對(duì)嵌入式開發(fā)電路基礎(chǔ)、電子電路抗干擾設(shè)計(jì)基礎(chǔ)和嵌入式系統(tǒng)電源管理技術(shù)這三個(gè)方面進(jìn)行了介紹。 第2章介紹了嵌入式微處理器的結(jié)構(gòu)和類型,并以本書所用到的ARM9 S3C2410X微處理器為例,詳細(xì)描述其各寄存器的特性,并以ViVi中的代碼為例介紹其寄存器的設(shè)置。 第3章介紹了Linux C編譯調(diào)試的基礎(chǔ)知識(shí),包括Vi和Emacs編輯器的使用、GNU GCC編譯器的主要選項(xiàng)、GNU make的基本概念以及GDB調(diào)試工具使用的基本概念及技巧。 第4章主要針對(duì)Linux C的多線程編程的基本概念,具體包括線程、進(jìn)程、進(jìn)程間的通信機(jī)制及互斥鎖、信號(hào)燈等進(jìn)行了詳細(xì)的描述。通過本章的學(xué)習(xí),讀者可基本了解Linux操作系統(tǒng)的多線程編程概念。 第5章描述了嵌入式系統(tǒng)開發(fā)中十分重要的Bootloader軟件,介紹了Bootloader軟件的基本原理和工作流程,并以ViVi和U-Boot為例詳細(xì)介紹了相關(guān)Bootloader軟件在ARM9 S3C2410X上的開發(fā)應(yīng)用。 第6章和第7章是本書的核心部分,介紹了嵌入式Linux內(nèi)核和嵌入式文件系統(tǒng)的基本概念和相關(guān)開發(fā)技術(shù)。第6章主要包括嵌入式Linux的版本控制和代碼結(jié)構(gòu)、ARM-Linux系統(tǒng)的內(nèi)存管理、進(jìn)程管理與調(diào)度、中斷響應(yīng)與處理機(jī)制、模塊化機(jī)制、內(nèi)核的配置、內(nèi)核啟動(dòng)分析,并對(duì)內(nèi)核移植作了簡(jiǎn)單描述。 針對(duì)嵌入式文件系統(tǒng),第7章從文件系統(tǒng)的基本概念、嵌入式Linux的MTD驅(qū)動(dòng)技術(shù)、虛擬文件系統(tǒng)等方面系統(tǒng)地描述了嵌入式文件系統(tǒng),并詳細(xì)描述了基于Flash存儲(chǔ)器的嵌入式文件系統(tǒng)JFFS2、YAFFS、CramFS的基本概念,最后著重描述了Busybox軟件在嵌入式文件系統(tǒng)建立中的應(yīng)用。 第8章針對(duì)目前應(yīng)用中最常見的串口通信和A/D接口應(yīng)用開發(fā),以短距離無線傳輸具體的應(yīng)用為例詳細(xì)介紹了串口及A/D接口開發(fā)過程,并提供了具體代碼和詳細(xì)的開發(fā)流程,供讀者參考。 本書由孫弋博士主編,朱周華和劉新良任副主編,廖曉群編寫了本書部分內(nèi)容,研究生劉南、任博涵、李劍橋、趙立軍、孫媛媛等參與了編寫并完成了部分文字錄入及圖表繪制。同時(shí)本書也參考了國(guó)內(nèi)外眾多學(xué)者的研究成果,在此表示感謝。 由于本書編者水平有限,疏漏在所難免,希望讀者批評(píng)指正。
內(nèi)容概要
本書針對(duì)ARM-Linux嵌入式系統(tǒng)開發(fā)進(jìn)行了系統(tǒng)的介紹,并從產(chǎn)品開發(fā)的角度詳細(xì)介紹了嵌入式產(chǎn)品開發(fā)的流程及相關(guān)基礎(chǔ)知識(shí)。內(nèi)容主要包括嵌入式產(chǎn)品開發(fā)流程、嵌入式開發(fā)環(huán)境、編程原理、Bootloader、內(nèi)核配置及啟動(dòng)流程、文件系統(tǒng)等,并在最后一章以串口和A/D接口應(yīng)用為例簡(jiǎn)述了數(shù)據(jù)傳送設(shè)備的開發(fā)過程。 本書內(nèi)容翔實(shí)豐富、結(jié)構(gòu)合理,可作為高等院校嵌入式系統(tǒng)相關(guān)課程用書,同時(shí)也可以作為嵌入式認(rèn)證的培訓(xùn)教材。
書籍目錄
第1章 嵌入式系統(tǒng)開發(fā)基礎(chǔ) 1.1 嵌入式系統(tǒng)概述 1.1.1 典型的嵌入式操作系統(tǒng) 1.1.2 Linux系統(tǒng) 1.2 嵌入式系統(tǒng)設(shè)計(jì)基礎(chǔ) 1.2.1 嵌入式系統(tǒng)設(shè)計(jì)的特點(diǎn) 1.2.2 嵌入式系統(tǒng)的設(shè)計(jì)流程 1.2.3 嵌入式系統(tǒng)的軟/硬件劃分 1.2.4 嵌入式系統(tǒng)的產(chǎn)品硬件詳細(xì)設(shè)計(jì) 1.2.5 嵌入式系統(tǒng)的軟件設(shè)計(jì) 1.2.6 嵌入式開發(fā)電路基礎(chǔ) 1.2.7 電子電路抗干擾設(shè)計(jì)基礎(chǔ) 1.2.8 嵌入式系統(tǒng)電源管理技術(shù) 第2章 嵌入式微處理器及ARM9硬件開發(fā)平臺(tái) 2.1 嵌入式微處理器 2.1.1 嵌入式微處理器的類型 2.1.2 典型32位ARM微處理器的結(jié)構(gòu)和特點(diǎn) 2.2 ARM9微處理器簡(jiǎn)介 2.2.1 ARM9與ARM7處理器的比較 2.2.2 三星 S3C2410X ARM9處理器寄存器詳解 第3章 Linux C編譯調(diào)試基礎(chǔ) 3.1 Linux下C語言編程概述 3.2 Vi編輯器的使用 3.3 Emacs使用簡(jiǎn)介 3.3.1 Emacs的基本操作 3.3.2 Emacs編譯概述 3.4 使用GNU CC編程 3.4.1 Linux C源程序的編譯 3.4.2 “Hello,World!” 3.4.3 GCC的主要選項(xiàng) 3.5 使用GNU make 3.5.1 初識(shí)Makefile 3.5.2 Makefile規(guī)則 3.5.3 Makefile中的變量 3.5.4 簡(jiǎn)單的Makefile文件內(nèi)容 3.5.5 假想目標(biāo) 3.5.6 條件語句 3.5.7 依賴關(guān)系 3.5.8 函數(shù) 3.5.9 Makefile的擴(kuò)展變量 3.5.10 Makefile中的替換 3.6 使用autoconf 3.6.1 創(chuàng)建configure腳本 3.6.2 編寫configure.in文件 3.6.3 通過autoconf創(chuàng)建configure 3.6.4 更新configure腳本 3.7 使用automake 3.8 GDB調(diào)試工具 3.8.1 GDB概述 3.8.2 GDB使用示例 3.8.3 啟動(dòng)GDB 3.8.4 GDB模式的設(shè)置 3.8.5 退出GDB 3.8.6 shell命令的使用 3.9 在GDB下運(yùn)行程序 3.9.1 命令輸入的技巧 3.9.2 調(diào)試程序時(shí)的注意事項(xiàng) 3.9.3 調(diào)試程序環(huán)境設(shè)置 3.9.4 運(yùn)行程序 3.10 調(diào)試程序 3.10.1 子進(jìn)程結(jié)束 3.10.2 調(diào)試多線程程序 3.10.3 調(diào)試多進(jìn)程程序 3.10.4 調(diào)試的停止和繼續(xù) 3.11 設(shè)置斷點(diǎn)、觀測(cè)點(diǎn)和異常 第4章 Linux C編程基礎(chǔ) 4.1 Linux下的C語言編程——線程操作 4.2 Linux下的進(jìn)程控制 4.2.1 fork()函數(shù) 4.2.2 exec()函數(shù)族 4.3 多線程編程入門 4.3.1 創(chuàng)建線程 4.3.2 pthread join()和pthread exit()函數(shù) 4.3.3 取消線程 ……第5章 Bootloader開發(fā)基礎(chǔ) 第6章 嵌入式Linux內(nèi)核 第7章 嵌入式文件系統(tǒng) 第8章 ARM-Linux串行接口通信程序設(shè)計(jì) 參考文獻(xiàn)
章節(jié)摘錄
第1章 嵌入式系統(tǒng)開發(fā)基礎(chǔ)根據(jù)電氣工程師協(xié)會(huì)的定義,嵌入式系統(tǒng)(Embedded System)是用來控制或者監(jiān)視機(jī)器、裝置、工廠等大規(guī)模系統(tǒng)的設(shè)備。一般認(rèn)為嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),其軟/硬件可裁剪,可滿足應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗的嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶應(yīng)用程序四個(gè)部分組成,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視或管理等功能。作為專用的計(jì)算機(jī)系統(tǒng),嵌入式系統(tǒng)同PC系統(tǒng)相比具有以下特點(diǎn):(1)嵌入式系統(tǒng)功耗低、體積小、專用性強(qiáng)。嵌入式系統(tǒng)與PC系統(tǒng)的最大不同就是嵌入式CPU大多工作在為特定用戶群設(shè)計(jì)的系統(tǒng)中,能夠把PC系統(tǒng)中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而使系統(tǒng)設(shè)計(jì)趨于小型化。(2)嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)芯片中,以提高執(zhí)行速度和系統(tǒng)可靠性。(3)嵌入式系統(tǒng)的硬件和軟件都經(jīng)過精心設(shè)計(jì),系統(tǒng)精簡(jiǎn),其操作系統(tǒng)一般和應(yīng)用軟件集成在一起。(4)軟件代碼質(zhì)量要求高。(5)嵌入式系統(tǒng)開發(fā)需要專門的開發(fā)工具和開發(fā)環(huán)境。近年來微電子技術(shù)迅猛發(fā)展,嵌入式處理器的性能速度也隨之有很大的提高,嵌入式系統(tǒng)領(lǐng)域發(fā)生了翻天覆地的變化。特別是網(wǎng)絡(luò)的普及,嵌入式與互聯(lián)網(wǎng)成為熱門的應(yīng)用領(lǐng)域。技術(shù)的進(jìn)步可以使嵌入式系統(tǒng)具備網(wǎng)絡(luò)功能,并將它們與Internet或企業(yè)內(nèi)聯(lián)網(wǎng)連接起來。這種特性增強(qiáng)了嵌入式系統(tǒng)多方面的實(shí)用性,也進(jìn)一步擴(kuò)展了嵌入式系統(tǒng)的應(yīng)用領(lǐng)域。美國(guó)著名的未來學(xué)家尼葛洛龐帝曾預(yù)言,嵌入式系統(tǒng)是繼PC和Internet之后最偉大的發(fā)明。如今該領(lǐng)域的發(fā)展驗(yàn)證了這個(gè)預(yù)言的正確性。現(xiàn)在嵌入式系統(tǒng)正處于高速發(fā)展階段,未來幾年,這種發(fā)展和競(jìng)爭(zhēng)將愈演愈烈。
編輯推薦
《面向21世紀(jì)高等學(xué)校計(jì)算機(jī)類專業(yè)規(guī)劃教材?ARM-Linux嵌入式系統(tǒng)開發(fā)基礎(chǔ)》內(nèi)容翔實(shí)豐富、結(jié)構(gòu)合理,可作為高等院校嵌入式系統(tǒng)相關(guān)課程用書,同時(shí)也可以作為嵌入式認(rèn)證的培訓(xùn)教材。
圖書封面
評(píng)論、評(píng)分、閱讀與下載
ARM-Linux嵌入式系統(tǒng)開發(fā)基礎(chǔ) PDF格式下載