出版時間:2011-7 出版社:電子工業(yè)出版社 作者:應(yīng)忍冬
內(nèi)容概要
這本《嵌入式系統(tǒng)原理及開發(fā)——基于ATOM處理器及Linux實(shí)現(xiàn)》由應(yīng)忍冬、蔣樂天、徐國治編著,主要介紹嵌入式系統(tǒng)軟硬件架構(gòu)技術(shù)及嵌入式系統(tǒng)優(yōu)化技術(shù)。內(nèi)容涵蓋了嵌入式系統(tǒng)從底層到上層的軟硬件設(shè)計技術(shù),在硬件方面分別介紹了嵌入式系統(tǒng)底層設(shè)備接口、處理器子系統(tǒng),以及總線結(jié)構(gòu)。并以Intel的ATOM處理器為例,介紹了高性能嵌入式系統(tǒng)的架構(gòu)設(shè)計特點(diǎn);在軟件方面分別介紹了嵌入式系統(tǒng)編程模式、軟件優(yōu)化技術(shù)、嵌入式操作系統(tǒng)原理、驅(qū)動程序原理,以及基于MeeGo的用戶界面編程技術(shù)。
《嵌入式系統(tǒng)原理及開發(fā)——基于ATOM處理器及Linux實(shí)現(xiàn)》面向電子信息及計算機(jī)專業(yè)本科生嵌入式系統(tǒng)課程教學(xué),也可供于嵌入式領(lǐng)域技術(shù)人員參考。
書籍目錄
第1章 嵌入式系統(tǒng)概述
1.1 嵌入式系統(tǒng)的定義
1.2 嵌入式系統(tǒng)的發(fā)展歷史
1.3 嵌入式系統(tǒng)的特征
第2章 嵌入式系統(tǒng)架構(gòu)及硬件組成
2.1 嵌入式硬件組成
2.2 嵌入式處理器
2.3 Intel嵌入式處理器
2.4 內(nèi)存子系統(tǒng)
2.4.1 存儲單元基本結(jié)構(gòu)和分類
2.4.2 存儲器的外部接口
2.5 IO外圍設(shè)備設(shè)備接口
2.5.1 RS232接口
2.5.2 觸摸屏接口
2.5.3 顯示設(shè)備接口
2.5.4 串行總線及通信接口
2.5.5 存儲接口
2.5.6 SATA接口硬盤
2.5.7 CF卡
2.6 總線接口
2.6.1 靜態(tài)存儲器總線
2.6.2 PCI04/ISA總線
2.6.3 PCI/PCI04+總線
2.6.4 PCIe總線
第3章 嵌入式軟件構(gòu)成與開發(fā)方法概述
3.1 嵌入式系統(tǒng)軟件特性
3.2 軟件開發(fā)到運(yùn)行的流程
3.3 軟件編譯
3.4 軟件啟動
3.5 嵌入式軟件運(yùn)行模式
3.6 軟件庫
3.7 程序固化
3.8 軟件調(diào)試
3.9 軟件開發(fā)工具
3.9.1 GNU交叉編譯器的生成
3.9.2 Intel的軟件開發(fā)工具
3.10 嵌入式系統(tǒng)編程模式
3.10.1 多任務(wù)程序的實(shí)現(xiàn)
3.10.2 嵌入式操作系統(tǒng)
3.11 嵌入式系統(tǒng)的軟件可靠性
3.11.1 檢查點(diǎn)技術(shù)
3.11.2 雙進(jìn)程技術(shù)
3.11.3 N-版本軟件技術(shù)
3.11.4 前向糾錯技術(shù)(Forward error recovery)
3.12 嵌入式系統(tǒng)的設(shè)計方法
第4章 嵌入式軟件開發(fā)工具及軟件
優(yōu)化
4.1 Intel C++編譯器
4.2 代碼優(yōu)化方法學(xué)及具體技術(shù)
4.2.1 代碼優(yōu)化方法學(xué)
4.2.2 基于編譯選項(xiàng)的靜態(tài)優(yōu)化技術(shù)
4.2.3 基于源代碼結(jié)構(gòu)改進(jìn)的優(yōu)化技術(shù)
4.2.4 基于運(yùn)行分析的運(yùn)行時刻代碼優(yōu)化技術(shù)
4.2.5 基于運(yùn)行庫和編譯器庫的程序優(yōu)化
4.3 基于TBB的并行軟件優(yōu)化開發(fā)
第5章 系統(tǒng)啟動
5.1 引言
5.2 BIOS概述
5.2.1 BIOS的發(fā)展
5.2.2 BIOS的功能
5.3 基于傳統(tǒng)BIOS的系統(tǒng)啟動
5.4 UEFI及系統(tǒng)啟動
5.4.1 傳統(tǒng)BIOS的缺陷
5.4.2 傳統(tǒng)BIOS到UEF、I/EFI的轉(zhuǎn)變
5.4.3 UEFI/EFIBIOS的基本架構(gòu)
5.4.4 基于UEFI的系統(tǒng)啟動
5.5 BootLoader實(shí)例分析
5.5.1 Grub
5.5.2 eLilo
5.5.3 Uboot
第6章 嵌入式Linux操作系統(tǒng)
6.1 嵌入式Linux簡介
6.2 嵌入式Linux內(nèi)核配置
6.3 嵌入式Linux裁剪
6.4 設(shè)備驅(qū)動
6.4.1 設(shè)備驅(qū)動的作用
6.4.2 設(shè)備驅(qū)動程序分類
6.4.3 字符型設(shè)備驅(qū)動程序的基本構(gòu)成
6.4.4 字符型設(shè)備驅(qū)動程序的高級功能構(gòu)成
第7章 嵌入式系統(tǒng)低功耗技術(shù)
7.1 嵌入式系統(tǒng)的低功耗設(shè)計
7.2 系統(tǒng)節(jié)電原理
7.3 動態(tài)電源管理(DPM)
7.4 ACPI(高級配置與電源接口)
7.5 其他省電技巧
7.6 一些相關(guān)工具
第8章 嵌入式LinUX快速啟動技術(shù)
8.1 系統(tǒng)的啟動過程
8.2 BootGraph和Bootchart
8.3 系統(tǒng)的快速啟動技術(shù)
第9章 嵌入系統(tǒng)的用戶界面技術(shù)
9.1 界面及用戶交互程序調(diào)試技術(shù)
9.2 基于Clutter的嵌入式圖形界面技術(shù)
9.2.1 Clutter編程模型
9.2.2 Clutter場景
9.2.3 演員的屬性和靜態(tài)動作
9.2.4 動態(tài)效果
9.2.5 事件處理
9.2.6 Clut:ter的編程環(huán)境
9.3 基于MeeGo的圖形界面技術(shù)
9.3.1 概述
9.3.2 MeeGo軟件開發(fā)模式
9.3.3 應(yīng)用程序編程技術(shù)
9.4 中間層軟件編程技術(shù)
9.4.1 D-BUS
9.4.2 底層系統(tǒng)層軟件編程技術(shù)
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 4.2.1代碼優(yōu)化方法學(xué) 1.程序優(yōu)化問題的分類 程序優(yōu)化首先需要明確目標(biāo),這依賴于程序運(yùn)行的硬件環(huán)境,圖4.5給出了兩類的嵌入式處理器運(yùn)行硬件環(huán)境。 圖(a)對應(yīng)的嵌入式系統(tǒng)的程序運(yùn)行主要依賴于大容量RAM(通常是SDRAM),而板上ROM僅存放CPU啟動初期運(yùn)行所需的少量代碼,ROM內(nèi)代碼的主要功能是從外置存儲器把主程序代碼和數(shù)據(jù)搬運(yùn)到RAM,一旦搬運(yùn)結(jié)束,就讓CPU轉(zhuǎn)跳到RAM地址執(zhí)行主程序。對于x86架構(gòu)的嵌入式處理器而言,ROM代碼就是BIOS,而外置存儲器一般是硬盤或者固態(tài)硬盤(SSD,利用FlashROM芯片搭建)。這類系統(tǒng)的例子包括多媒體機(jī)頂盒、視頻游戲機(jī)等。它們的程序優(yōu)化一般集中在兩個方面——運(yùn)行時間最短、代碼尺寸最小。 圖(b)對應(yīng)的嵌入式處理器內(nèi)置有ROM和RAM,分別存放指令和可變數(shù)據(jù),這一類系統(tǒng)一般用于控制領(lǐng)域,通常對CPU主頻、內(nèi)存、功耗有嚴(yán)格限制,需要優(yōu)化的目標(biāo)更多。這類系統(tǒng)的例子包括測量儀表、手持POS機(jī)等。它們的優(yōu)化目標(biāo)一般包括——運(yùn)行時刻使用的RAM最小、在限定時間內(nèi)完成任務(wù)消耗的總電能最小、以及在給定的響應(yīng)時間內(nèi)完成任務(wù)等。 針對這兩類硬件環(huán)境,優(yōu)化的總體目標(biāo)不同,處理方法也各有側(cè)重點(diǎn)。 優(yōu)化工作需要考慮的第二個問題是明確優(yōu)化的大致方向策略。大多數(shù)優(yōu)化工作和速度有關(guān),我們可以通過程序功能大致確定運(yùn)行程序時主要的時間消耗在哪里。通常可以分成三種情況: (1)計算為主的代碼 比如科學(xué)計算、信號處理等程序,數(shù)據(jù)計算占據(jù)了主導(dǎo)地位。對于這一類程序的優(yōu)化側(cè)重于應(yīng)用程序級和處理器微架構(gòu)級。通過數(shù)據(jù)計算的簡化(如一些運(yùn)算通過查表得到)運(yùn)算的并行化(如使用SIMD指令),以及和Cache相關(guān)的數(shù)據(jù)訪問優(yōu)化獲得性能的提升。 (2)IO為主的代碼 這一類代碼運(yùn)行過程中有大量的時間消耗在外部IO設(shè)備的等待過程中,比如數(shù)據(jù)庫操作和網(wǎng)絡(luò)通信操作,為了提升性能,需要從系統(tǒng)級和應(yīng)用程序級進(jìn)行優(yōu)化,可以使用的優(yōu)化手段包括利用輸入輸出緩沖減少零碎的數(shù)據(jù)通信,使用更緊湊的數(shù)據(jù)結(jié)構(gòu)和協(xié)議降低通信數(shù)據(jù)量等?,F(xiàn)實(shí)中也存在著大量介于上面兩者之間的程序,比如網(wǎng)絡(luò)視頻壓縮傳輸程序等,這類程序的優(yōu)化需要從各個層面進(jìn)行。 (3)解決優(yōu)化問題的不同層面 程序性能取決于多個方面,包括:代碼結(jié)構(gòu)、算法、編譯器,以及處理器架構(gòu)。面對程序的性能問題如何開展優(yōu)化?優(yōu)化工作從三個層面進(jìn)行——系統(tǒng)級、應(yīng)用程序級和處理器微架構(gòu)級。針對三個層次優(yōu)化的順序和可能的性能提升如圖4.6所示。 這三個不同層次的簡介、優(yōu)化對應(yīng)的優(yōu)化目標(biāo)、對象如表4.3所示。 2.軟件優(yōu)化技術(shù)的分類 從優(yōu)化技術(shù)所采取的手段來看,軟件優(yōu)化技術(shù)分為以下幾類: (1)基于編譯選項(xiàng)的靜態(tài)優(yōu)化技術(shù) 該技術(shù)基于編譯和鏈接工具提供的命令行選項(xiàng),選擇可執(zhí)行代碼的生成方式,適應(yīng)程序和處理器硬件的特點(diǎn),實(shí)現(xiàn)程序運(yùn)行效率和性能的優(yōu)化。 (2)基于源代碼結(jié)構(gòu)改進(jìn)的優(yōu)化技術(shù) 這一技術(shù)通過程序員對代碼的主動思考,分析可能存在的性能瓶頸進(jìn)行優(yōu)化。由于能夠從較高層次識別軟件性能和效率的缺陷,通常能夠獲得的性能提升也較多。但這一技術(shù)要求程序要有豐富的優(yōu)化經(jīng)驗(yàn)和編程實(shí)踐。 (3)基于軟件動態(tài)運(yùn)行分析的“反饋式”優(yōu)化技術(shù) 這一模式的優(yōu)化技術(shù)考慮到代碼優(yōu)化的策略依賴于程序動態(tài)運(yùn)行情況。比如對視頻解碼程序,需要通過尋找運(yùn)行時間最長、運(yùn)行次數(shù)最頻繁的函數(shù)來進(jìn)行有針對性的優(yōu)化。而這些運(yùn)行時刻的數(shù)據(jù)只有通過程序的試運(yùn)行才能夠發(fā)現(xiàn)。因此選用的優(yōu)化流程通常是:“預(yù)編譯—試運(yùn)行,性能評估—重編譯并進(jìn)行優(yōu)化”,利用預(yù)編譯的代碼試運(yùn)行結(jié)果反饋給編譯器,調(diào)整編譯過程中代碼生成方式,實(shí)現(xiàn)代碼優(yōu)化。根據(jù)程序性能的改進(jìn)量和優(yōu)化程度的要求,往往會通過迭代循環(huán)的形式進(jìn)行優(yōu)化。
編輯推薦
《普通高等教育"十一五"國家級規(guī)劃教材?電子信息科學(xué)與工程類專業(yè)規(guī)劃教材:嵌入式系統(tǒng)原理及開發(fā):基于ATOM處理器及Linux實(shí)現(xiàn)》由應(yīng)忍冬、蔣樂天、徐國治編著,《普通高等教育"十一五"國家級規(guī)劃教材?電子信息科學(xué)與工程類專業(yè)規(guī)劃教材:嵌入式系統(tǒng)原理及開發(fā):基于ATOM處理器及Linux實(shí)現(xiàn)》在讀者對象包括計算機(jī)和電類專業(yè)學(xué)生,其中嵌入式系統(tǒng)硬件基本架構(gòu)和常用接口技術(shù)、軟件編程模式和優(yōu)化技術(shù)能夠用于一個學(xué)期的本科教學(xué),而更高層次的高性能硬件接口設(shè)備、處理器架構(gòu)以及嵌入式Linux優(yōu)化技術(shù)、Meego架構(gòu)及編程技術(shù)等作為基本內(nèi)容的補(bǔ)充可以用于研究生課程的教學(xué)。
圖書封面
評論、評分、閱讀與下載