嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用
定 價(jià):44 元
叢書(shū)名:21世紀(jì)全國(guó)本科院校電氣信息類創(chuàng)新型應(yīng)用人才培養(yǎng)規(guī)劃教材
- 作者:邢吉生 ,等 編
- 出版時(shí)間:2011/9/1
- ISBN:9787301194515
- 出 版 社:北京大學(xué)出版社
- 中圖法分類:TP311.1
- 頁(yè)碼:348
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16開(kāi)
《嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用》以ARM9系列微處理器ARM920T為基礎(chǔ),系統(tǒng)介紹了嵌入式系統(tǒng)的基本概念、開(kāi)發(fā)的基本技能、簡(jiǎn)單驅(qū)動(dòng)電路及其程序的設(shè)計(jì)方法。通過(guò)對(duì)《嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用》的學(xué)習(xí),讀者能夠掌握嵌入式系統(tǒng)開(kāi)發(fā)設(shè)計(jì)的基礎(chǔ)知識(shí)和基本技能,達(dá)到快速入門的效果,而且可以較全面地掌握嵌入式系統(tǒng)的整個(gè)開(kāi)發(fā)流程。
《嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用》共分為3篇:第1篇介紹了嵌入式系統(tǒng)基礎(chǔ),主要講述硬件基本結(jié)構(gòu)和指令系統(tǒng):第2篇介紹了嵌入式Linux基礎(chǔ)開(kāi)發(fā),主要講述系統(tǒng)內(nèi)核的基本知識(shí)和開(kāi)發(fā)編譯工具的使用;第3篇介紹了嵌入式Linux應(yīng)用開(kāi)發(fā),主要講述設(shè)備驅(qū)動(dòng)程序、文件管理、圖形界面等設(shè)計(jì)的方法和流程!肚度胧较到y(tǒng)設(shè)計(jì)及應(yīng)用》從最簡(jiǎn)單的點(diǎn)亮LED開(kāi)始,由淺入深地講解,引領(lǐng)學(xué)生步入嵌入式Linux開(kāi)發(fā)的大門。從Linux的理論介紹到Linux內(nèi)核開(kāi)發(fā)、驅(qū)動(dòng)開(kāi)發(fā)及應(yīng)用程序開(kāi)發(fā)的整個(gè)學(xué)習(xí)過(guò)程,《嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用》始終遵循理論和實(shí)踐相結(jié)合的教學(xué)理念。
《嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用》由淺入深,循序漸進(jìn),不僅適合剛接觸嵌入式Linux的初學(xué)者,還可作為大、中專院校嵌入式系統(tǒng)應(yīng)用及其相關(guān)專業(yè)本科生、研究生的教材,也可供相關(guān)工程技術(shù)人員參考。
《嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用》主要介紹:嵌入式系統(tǒng)基礎(chǔ),領(lǐng)你熟悉硬件基本結(jié)構(gòu)和指令系統(tǒng),Linux基礎(chǔ)開(kāi)發(fā),帶你掌握內(nèi)核基本知識(shí)和編譯工具,嵌入式應(yīng)用開(kāi)發(fā),為你打開(kāi)驅(qū)動(dòng)和圖形等設(shè)計(jì)的大門。
第1篇 嵌入式系統(tǒng)基礎(chǔ)篇
第1章 嵌入式系統(tǒng)開(kāi)發(fā)與應(yīng)用概述
1.1 嵌入式系統(tǒng)簡(jiǎn)介
1.1.1 嵌入式系統(tǒng)的基本概念
1.1.2 嵌入式系統(tǒng)的體系結(jié)構(gòu)
1.2 基于ARM的嵌入式開(kāi)發(fā)環(huán)境概述
1.2.1 交叉開(kāi)發(fā)環(huán)境
1.2.2 模擬開(kāi)發(fā)環(huán)境
1.2.3 評(píng)估電路板
1.3 各種ARM開(kāi)發(fā)工具簡(jiǎn)介
1.3.1 ARM ADS
1.3.2 Multi 2000
1.3.3 RealView WMDK
1.3.4 0PENice32-A900仿真器
1.3.5 Multi-ICE仿真器
1.3.6 ULINK2仿真器
1.4 如何學(xué)習(xí)基于ARM嵌入式
系統(tǒng)開(kāi)發(fā)
思考與練習(xí)
第2章 嵌入式處理器
SAMSUNG S3C2410概述
2.1 嵌入式ARM處理器
2.1.1 ARM處理器的特點(diǎn)
2.1.2 ARM微處理器系列
2.1.3 ARM微處理器的寄存器結(jié)構(gòu)
2.1.4 ARM微處理器的指令結(jié)構(gòu)
2.1.5 ARM微處理器的編程模型
2.1.6 ARM體系結(jié)構(gòu)的存儲(chǔ)器格式
2.1.7 ARM微處理器的應(yīng)用領(lǐng)域
2.2 SAMSUNGS3C2410處理器
2.2.1 特性
2.2.2 處理器工作模式
2.2.3 寄存器
2.3 SAMSUNGS3C2410模塊接口
2.3.1 時(shí)鐘與電源管理
2.3.2 內(nèi)存控制器
2.3.3 基本I/O接口
2.3.4 中斷控制
思考與練習(xí)
第3章 ARM微處理器的指令系統(tǒng)
3.1 ARM微處理器的指令集概述
3.1.1 ARM微處理器指令的分類與格式
3.1.2 指令的條件域
3.2 ARM指令的尋址方式
3.2.1 立即尋址
3.2.2 寄存器尋址
3.2.3 寄存器間接尋址
3.2.4 基址變址尋址
3.2.5 多寄存器尋址
3.2.6 相對(duì)尋址
3.2.7 堆棧尋址
3.3 ARM指令集
3.3.1 跳轉(zhuǎn)指令
3.3.2 數(shù)據(jù)處理指令
3.3.3 乘法指令與乘加指令
3.3.4 程序狀態(tài)寄存器訪問(wèn)指令
3.3.5 加載,存儲(chǔ)指令
3.3.6 批量數(shù)據(jù)加載/存儲(chǔ)指令
3.3.7 數(shù)據(jù)交換指令
3.3.8 移位指令(操作)
3.4 Thumb指令及應(yīng)用
思考與練習(xí)
第4章 基于S3C1410處理器的裸機(jī)開(kāi)發(fā)
4.1 嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境構(gòu)建
4.1.1 硬件環(huán)境構(gòu)建
4.1.2 軟件環(huán)境構(gòu)建
4.2 Realview MDK的使用
4.2.1 uVision IDE主框架窗口
4.2.2 工程管理
4.2.3 工程基本配置
4.2.4 編譯、鏈接與調(diào)試
4.3 LED控制設(shè)計(jì)實(shí)例
4.3.1 LED驅(qū)動(dòng)原理及功能
4.3.2 LED驅(qū)動(dòng)軟件設(shè)計(jì)
4.3.3 操作步驟
4.3.4 實(shí)例測(cè)試,
4.4 D/A功能應(yīng)用開(kāi)發(fā)實(shí)例
4.4.1 D/A轉(zhuǎn)換器原理
4.4.2 電路設(shè)計(jì)
4.4.3 D/A轉(zhuǎn)換器驅(qū)動(dòng)軟件設(shè)計(jì)
4.5 S3C2410的串行通信設(shè)計(jì)實(shí)例
4.5.1 串口通信原理
4.5.2 RS232接口電路
4.5.3 S3C2410的UART模塊軟件設(shè)計(jì)
4.5.4 案例測(cè)試
思考與練習(xí)
第2篇 嵌入式Linux基礎(chǔ)開(kāi)發(fā)篇
第5章 嵌入式操作系統(tǒng)Linux概述
5.1 Linux的誕生與發(fā)展
5.1.1 Linux的誕生與版本歷史
5.1.2 Linux在嵌入式領(lǐng)域的延伸
5.2 Linux內(nèi)核結(jié)構(gòu)
5.2.1 Linux內(nèi)核概述
5.2.2 存儲(chǔ)與進(jìn)程管理
5.2.3 內(nèi)核源代碼目錄結(jié)構(gòu)
5.3 Linux存儲(chǔ)管理
5.3.1 進(jìn)程虛存空間的管理
5.3.2 虛存空間的映射和虛存區(qū)域的建立
5.3.3 Linux的分頁(yè)式存儲(chǔ)管理
5.3.4 物理內(nèi)存空間的管理
5.3.5 內(nèi)存的分配與釋放
5.4 Linux進(jìn)程管理
5.4.1 Linux進(jìn)程管理介紹
5.4.2 進(jìn)程及作業(yè)
5.4.3 啟動(dòng)進(jìn)程
5.4.4 進(jìn)程管理
5.5 Linux內(nèi)核啟動(dòng)和初始化進(jìn)程
5.5.1 引導(dǎo)程序Bootloader
5.5.2 Kemel引導(dǎo)入口
5.5.3 核心數(shù)據(jù)結(jié)構(gòu)初始化——內(nèi)核引導(dǎo)第一部分
5,5.4 外設(shè)初始化——內(nèi)核引導(dǎo)第二部分
5.5.5 init進(jìn)程和inittab引導(dǎo)腳本
5.5.6 rc啟動(dòng)腳本
5.5.7 getty和login
5.5.8 baSh
思考與練習(xí)
第6章 嵌入式Linux開(kāi)發(fā)基礎(chǔ)
6.1 搭建嵌入式Linux開(kāi)發(fā)環(huán)境
6.1.1 常用的Linux發(fā)行版
6.1.2 Ubuntu的安裝與運(yùn)行
6.1.3 嵌入式環(huán)境的配置與源碼的安裝
6.1.4 常用軟件的配置
6.2 Linux準(zhǔn)備知識(shí)
6.2.1 常用的Linux命令與使用方法
……
第7章 嵌入式Linux系統(tǒng)開(kāi)發(fā)
第3篇 嵌入式Linux應(yīng)用開(kāi)發(fā)篇
第8章 嵌入式Linux設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)
第9章 嵌入式應(yīng)用程序開(kāi)發(fā)
第10章 嵌入式GUI設(shè)計(jì)
參考文獻(xiàn)
編寫(xiě)驅(qū)動(dòng)的第一步是定義驅(qū)動(dòng)將要提供給用戶程序的能力(機(jī)制)。因?yàn)椤霸O(shè)備”是計(jì)算機(jī)內(nèi)存的一部分,用戶可自由地做其想做的事情。它可以是一個(gè)順序的或者隨機(jī)存取的設(shè)備,一個(gè)或多個(gè)設(shè)備,等等。
為使scull作為一個(gè)模板來(lái)編寫(xiě)真實(shí)設(shè)備的真實(shí)驅(qū)動(dòng),下面將展示如何在計(jì)算機(jī)內(nèi)存上實(shí)現(xiàn)幾個(gè)設(shè)備抽象,每個(gè)有不同的特性。
scul源碼實(shí)現(xiàn)下面的設(shè)備,模塊實(shí)現(xiàn)的每種設(shè)備都被引用做一種類型。
(1)從scull 0到scu113這4個(gè)設(shè)備,每個(gè)由一個(gè)全局永久的內(nèi)存區(qū)組成。全局意味著如果設(shè)備被多次打開(kāi),設(shè)備中含有的數(shù)據(jù)由所有打開(kāi)它的文件描述符共享。永久意味著如果設(shè)備關(guān)閉又重新打開(kāi),數(shù)據(jù)不會(huì)丟失。這個(gè)設(shè)備可以用慣常的命令來(lái)存取和測(cè)試,如cp、cat以及I/O重定向。
(2)scullpipe 0到scullpipe3這4個(gè)FIFO(先入先出)設(shè)備,它們的行為像管道。一個(gè)進(jìn)程讀的內(nèi)容來(lái)自另一個(gè)進(jìn)程所寫(xiě)的。如果多個(gè)進(jìn)程同時(shí)讀同一個(gè)設(shè)備,它們競(jìng)爭(zhēng)數(shù)據(jù)。scullpipe的內(nèi)部將展示阻塞讀寫(xiě)和非阻塞讀寫(xiě)如何實(shí)現(xiàn),而不必采取中斷。盡管真實(shí)的驅(qū)動(dòng)使用硬件中斷來(lái)同步它們的設(shè)備,阻塞和非阻塞操作的主題是重要的并且與中斷處理是分開(kāi)的。
……