嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用
定 價(jià):44 元
叢書名:21世紀(jì)全國本科院校電氣信息類創(chuàng)新型應(yīng)用人才培養(yǎng)規(guī)劃教材
- 作者:邢吉生 ,等 編
- 出版時(shí)間:2011/9/1
- ISBN:9787301194515
- 出 版 社:北京大學(xué)出版社
- 中圖法分類:TP311.1
- 頁碼:348
- 紙張:膠版紙
- 版次:1
- 開本:16開
《嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用》以ARM9系列微處理器ARM920T為基礎(chǔ),系統(tǒng)介紹了嵌入式系統(tǒng)的基本概念、開發(fā)的基本技能、簡單驅(qū)動電路及其程序的設(shè)計(jì)方法。通過對《嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用》的學(xué)習(xí),讀者能夠掌握嵌入式系統(tǒng)開發(fā)設(shè)計(jì)的基礎(chǔ)知識和基本技能,達(dá)到快速入門的效果,而且可以較全面地掌握嵌入式系統(tǒng)的整個開發(fā)流程。
《嵌入式系統(tǒng)設(shè)計(jì)及應(yīng)用》共分為3篇:第1篇介紹了嵌入式系統(tǒng)基礎(chǔ),主要講述硬件基本結(jié)構(gòu)和指令系統(tǒng):第2篇介紹了嵌入式Linux基礎(chǔ)開發(fā),主要講述系統(tǒng)內(nèi)核的基本知識和開發(fā)編譯工具的使用;第3篇介紹了嵌入式Linux應(yīng)用開發(fā),主要講述設(shè)備驅(qū)動程序、文件管理、圖形界面等設(shè)計(jì)的方法和流程!肚度胧较到y(tǒng)設(shè)計(jì)及應(yīng)用》從最簡單的點(diǎn)亮LED開始,由淺入深地講解,引領(lǐng)學(xué)生步入嵌入式Linux開發(fā)的大門。從Linux的理論介紹到Linux內(nèi)核開發(fā)、驅(qū)動開發(fā)及應(yīng)用程序開發(fā)的整個學(xué)習(xí)過程,《嵌入式系統(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ǔ)開發(fā),帶你掌握內(nèi)核基本知識和編譯工具,嵌入式應(yīng)用開發(fā),為你打開驅(qū)動和圖形等設(shè)計(jì)的大門。
第1篇 嵌入式系統(tǒng)基礎(chǔ)篇
第1章 嵌入式系統(tǒng)開發(fā)與應(yīng)用概述
1.1 嵌入式系統(tǒng)簡介
1.1.1 嵌入式系統(tǒng)的基本概念
1.1.2 嵌入式系統(tǒng)的體系結(jié)構(gòu)
1.2 基于ARM的嵌入式開發(fā)環(huán)境概述
1.2.1 交叉開發(fā)環(huán)境
1.2.2 模擬開發(fā)環(huán)境
1.2.3 評估電路板
1.3 各種ARM開發(fā)工具簡介
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)開發(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)的存儲器格式
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 相對尋址
3.2.7 堆棧尋址
3.3 ARM指令集
3.3.1 跳轉(zhuǎn)指令
3.3.2 數(shù)據(jù)處理指令
3.3.3 乘法指令與乘加指令
3.3.4 程序狀態(tài)寄存器訪問指令
3.3.5 加載,存儲指令
3.3.6 批量數(shù)據(jù)加載/存儲指令
3.3.7 數(shù)據(jù)交換指令
3.3.8 移位指令(操作)
3.4 Thumb指令及應(yīng)用
思考與練習(xí)
第4章 基于S3C1410處理器的裸機(jī)開發(fā)
4.1 嵌入式系統(tǒng)開發(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ū)動原理及功能
4.3.2 LED驅(qū)動軟件設(shè)計(jì)
4.3.3 操作步驟
4.3.4 實(shí)例測試,
4.4 D/A功能應(yīng)用開發(fā)實(shí)例
4.4.1 D/A轉(zhuǎn)換器原理
4.4.2 電路設(shè)計(jì)
4.4.3 D/A轉(zhuǎn)換器驅(qū)動軟件設(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 案例測試
思考與練習(xí)
第2篇 嵌入式Linux基礎(chǔ)開發(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 存儲與進(jìn)程管理
5.2.3 內(nèi)核源代碼目錄結(jié)構(gòu)
5.3 Linux存儲管理
5.3.1 進(jìn)程虛存空間的管理
5.3.2 虛存空間的映射和虛存區(qū)域的建立
5.3.3 Linux的分頁式存儲管理
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 啟動進(jìn)程
5.4.4 進(jìn)程管理
5.5 Linux內(nèi)核啟動和初始化進(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啟動腳本
5.5.7 getty和login
5.5.8 baSh
思考與練習(xí)
第6章 嵌入式Linux開發(fā)基礎(chǔ)
6.1 搭建嵌入式Linux開發(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)備知識
6.2.1 常用的Linux命令與使用方法
……
第7章 嵌入式Linux系統(tǒng)開發(fā)
第3篇 嵌入式Linux應(yīng)用開發(fā)篇
第8章 嵌入式Linux設(shè)備驅(qū)動程序開發(fā)
第9章 嵌入式應(yīng)用程序開發(fā)
第10章 嵌入式GUI設(shè)計(jì)
參考文獻(xiàn)
編寫驅(qū)動的第一步是定義驅(qū)動將要提供給用戶程序的能力(機(jī)制)。因?yàn)椤霸O(shè)備”是計(jì)算機(jī)內(nèi)存的一部分,用戶可自由地做其想做的事情。它可以是一個順序的或者隨機(jī)存取的設(shè)備,一個或多個設(shè)備,等等。
為使scull作為一個模板來編寫真實(shí)設(shè)備的真實(shí)驅(qū)動,下面將展示如何在計(jì)算機(jī)內(nèi)存上實(shí)現(xiàn)幾個設(shè)備抽象,每個有不同的特性。
scul源碼實(shí)現(xiàn)下面的設(shè)備,模塊實(shí)現(xiàn)的每種設(shè)備都被引用做一種類型。
(1)從scull 0到scu113這4個設(shè)備,每個由一個全局永久的內(nèi)存區(qū)組成。全局意味著如果設(shè)備被多次打開,設(shè)備中含有的數(shù)據(jù)由所有打開它的文件描述符共享。永久意味著如果設(shè)備關(guān)閉又重新打開,數(shù)據(jù)不會丟失。這個設(shè)備可以用慣常的命令來存取和測試,如cp、cat以及I/O重定向。
(2)scullpipe 0到scullpipe3這4個FIFO(先入先出)設(shè)備,它們的行為像管道。一個進(jìn)程讀的內(nèi)容來自另一個進(jìn)程所寫的。如果多個進(jìn)程同時(shí)讀同一個設(shè)備,它們競爭數(shù)據(jù)。scullpipe的內(nèi)部將展示阻塞讀寫和非阻塞讀寫如何實(shí)現(xiàn),而不必采取中斷。盡管真實(shí)的驅(qū)動使用硬件中斷來同步它們的設(shè)備,阻塞和非阻塞操作的主題是重要的并且與中斷處理是分開的。
……