出版時(shí)間:2010-9 出版社:北京航空航天大學(xué)出版社 作者:徐英慧 等編著 頁(yè)數(shù):366 字?jǐn)?shù):602000
Tag標(biāo)簽:無
前言
本書是2007年9月出版的《ARM9嵌入式系統(tǒng)設(shè)計(jì)——基于S3C2410與Linux》的第2版。第2版對(duì)第1版的內(nèi)容進(jìn)行了全面的整理、優(yōu)化和修改。第1版中介紹的ARM開發(fā)環(huán)境主要是ADSl.2,第2版則主要介紹了目前流行的RealView MDK和IAREWARM。第1版配套的開發(fā)平臺(tái)是北京精儀達(dá)盛有限公司提供的EL-ARM一830,第2版則升級(jí)為EL-ARM-860,對(duì)相應(yīng)的示例也進(jìn)行了修整。當(dāng)前,嵌入式技術(shù)的應(yīng)用越來越廣泛,從航天科技到民用產(chǎn)品,嵌入式產(chǎn)品的身影無處不在,而這些嵌入式產(chǎn)品的核心——處理器決定了產(chǎn)品的市場(chǎng)和性能。在32位嵌入式處理器市場(chǎng)中,ARM處理器占有很大的份額。ARM不僅是一個(gè)公司、一種技術(shù),也是一種經(jīng)營(yíng)理念,即由ARM公司提供核心技術(shù),只出售芯片中的IP授權(quán),采取了別具一格的“Chipless模式”(無芯片的芯片企業(yè)),不參與生產(chǎn),而是由合作廠商去生產(chǎn)具體的芯片和產(chǎn)品?,F(xiàn)在由于存儲(chǔ)空間等原因,在嵌入式芯片上編程有較大的困難,選取合適的平臺(tái)就顯得很重要。Linux自出現(xiàn)以來,得到了迅速的發(fā)展。Linux是開放源碼的操作系統(tǒng),吸引著全世界的程序員參與到發(fā)展和完善的工作中來,所以Linux保持了穩(wěn)定而且卓越的性能。Linux在服務(wù)器領(lǐng)域已經(jīng)占有很大的份額,在圖形界面方面也不輸于windows。由于源碼可以修改、移植,Linux在嵌入式領(lǐng)域中的應(yīng)用也越來越廣。選用Linux作為平臺(tái),可以根據(jù)具體需要自由地裁減源碼,打造適合目標(biāo)平臺(tái)的環(huán)境,編寫最有效率的應(yīng)用程序。
內(nèi)容概要
《ARM9嵌入式系統(tǒng)設(shè)計(jì):基于S3C2410與Linux(第2版)
》針對(duì)在嵌入式市場(chǎng)上頗具競(jìng)爭(zhēng)力的ARM9處理器——$3C2410和開放源碼的Linux操作系統(tǒng),講述嵌入式系統(tǒng)的概念、軟硬件的開發(fā)和調(diào)試手段、嵌入式Linux驅(qū)動(dòng)程序和應(yīng)用程序的開發(fā)以及圖形用戶界面Mini
GUI的移植和應(yīng)用。第2版將ADsl.2內(nèi)容替換為.RealView MDK和IAR
EWARM的內(nèi)容,同時(shí)開發(fā)平臺(tái)也升級(jí)為EL-ARM一860。《ARM9嵌入式系統(tǒng)設(shè)計(jì):基于S3C2410與Linux(第2版)
》的特點(diǎn)是集嵌入式系統(tǒng)開發(fā)的理論知識(shí)和實(shí)驗(yàn)教學(xué)于一體,并結(jié)合北京精儀達(dá)盛科技有限公司的開發(fā)板,給出了大量實(shí)例?!禔RM9嵌入式系統(tǒng)設(shè)計(jì):基于S3C2410與Linux(第2版)
》可作為高等院校嵌入式系統(tǒng)課程的教材,也可作為對(duì)嵌入式系統(tǒng)開發(fā)感興趣的讀者的入門教材,同時(shí)還可以作為從事ARM嵌入式系統(tǒng)應(yīng)用開發(fā)工程師的參考書。
書籍目錄
第1章 嵌入式系統(tǒng)基礎(chǔ)
1.1 嵌入式系統(tǒng)概念
1.1.1 嵌入式系統(tǒng)的定義
1.1.2 嵌入式系統(tǒng)的組成
1.1.3 嵌入式系統(tǒng)的特點(diǎn)
1.1.4 嵌入式系統(tǒng)的應(yīng)用
1.1.5 實(shí)時(shí)系統(tǒng)
1.2 嵌入式處理器
1.2.1 嵌入式處理器分類
1.2.2 微控制器
1.2.3 嵌人式微處理器
1.2.4 DSP處理器
1.2.5 片上系統(tǒng)
1.2.6 典型的嵌入式處理器
1.3 嵌入式操作系統(tǒng)
1.3.1 操作系統(tǒng)的概念和分類
1.3.2 實(shí)時(shí)操作系統(tǒng)
1.3.3 常見的嵌入式操作系統(tǒng)
1.4 實(shí)時(shí)操作系統(tǒng)的內(nèi)核
1.4.1 任務(wù)管理
1.4.2 任務(wù)問的通信和同步
1.4.3 存儲(chǔ)器管理
1.4.4 定時(shí)器和中斷管理
1.5 嵌入式技術(shù)發(fā)展現(xiàn)狀及趨勢(shì)
1.6 習(xí)題
第2章 嵌入式系統(tǒng)開發(fā)過程
2.1 嵌入式軟件開發(fā)的特點(diǎn)
2.2 嵌入式軟件的開發(fā)流程
2.3 嵌入式系統(tǒng)的調(diào)試
2.4 板級(jí)支持包
2.5 習(xí)題
第3章 ARM體系結(jié)構(gòu)
3.1 ARM體系結(jié)構(gòu)概述
3.1.1 ARM體系結(jié)構(gòu)的特點(diǎn)
3.1.2 ARM處理器結(jié)構(gòu)
3.1.3 ARM處理器內(nèi)核
3.1.4 ARM處理器核
3.2 編程模型
3.2.1 數(shù)據(jù)類型
3.2.2 處理器模式
3.2.3 處理器工作狀態(tài)
3.2.4 寄存器組織
3.2.5 異常
3.2.6 存儲(chǔ)器和存儲(chǔ)器映射I/O
3.3 ARM基本尋址方式
3.4 ARM指令集
3.4.1 條件執(zhí)行
3.4.2 指令分類說明
3.4.3 Thumb指令集與ARM指令集的區(qū)別
3.4.4 Thumb指令分類說明
3.5 ARM9與ARM7的比較
3.6 ARM9TDMI內(nèi)核
3.6.1 ARM9TDMI編程模型
3.6.2 ARM9TDMI存儲(chǔ)器接口
3.7 ARM920T核
3.7.1 ARM920T編程模型
3.7.2 存儲(chǔ)器管理單元(MMU)
3.7.3 Cache寫緩沖和物理地址TAGRAM
3.7.4 時(shí)鐘模式
3.7.5 總線接口單元
3.8 習(xí)題
第4章 ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)
4.1 ARM開發(fā)環(huán)境簡(jiǎn)介
4.1.1 RealView MDK開發(fā)工具簡(jiǎn)介
4.1.2 IAREWARM集成開發(fā)環(huán)境簡(jiǎn)介
4.2 基于ARM的匯編語言程序設(shè)計(jì)
4.2.1 ARM匯編器支持的偽指令
4.2.2 基于ARM的匯編語言語句格式
4.2.3 ARM匯編語言程序的基本結(jié)構(gòu)
4.2.4 基于ARM的匯編語言程序舉例
4.3 基于ARM的硬件啟動(dòng)程序設(shè)計(jì)
4.3.1 分配中斷向量表
4.3.2 初始化存儲(chǔ)系統(tǒng)
4.3.3 初始化堆棧
4.3.4 初始化有特殊要求的硬件模塊
4.3.5 初始化應(yīng)用程序執(zhí)行環(huán)境
4.3.6 改變處理器模式
4.3.7 調(diào)用主應(yīng)用程序
4.4 基于ARM的C語言與匯編語言混合編程
4.4.1 C語言與匯編語言混合編程應(yīng)遵守的規(guī)則
4.4.2 匯編程序調(diào)用c程序的方法
4.4.3 C程序調(diào)用匯編程序的方法
4.4.4 C程序中內(nèi)嵌匯編語句
4.4.5 基于ARM的C語言與匯編語言混合編程舉例
4.5 印制電路板制作簡(jiǎn)介
4.5.1 印制電路板設(shè)計(jì)軟件——Protel
4.5.2 單面板與多層板
4.5.3 印制電路板設(shè)計(jì)的注意事項(xiàng)
4.6 習(xí)題
第5章 基于S3C2410的系統(tǒng)硬件設(shè)計(jì)
5.1 S3C2410簡(jiǎn)介
5.1.1 S3C2410A的特點(diǎn)
5.1.2 存儲(chǔ)器控制器
5.1.3 NAND Flash控制器
5.1.4 時(shí)鐘和電源管理
5.2 I/O口
5.2.1 S3C2410A的I/O口工作原理
5.2.2 I/O口編程實(shí)例
5.3 中斷
5.3.1 ARM的中斷原理
5.3.2 $3C;2410A的中斷控制器
5.3.3 中斷編程實(shí)例
5.4 DMA
5.4.1 DMA工作原理
5.4.2 S3C2410A的DMA控制器
5.4.3 DMA編程實(shí)例
5.5 UART
5.5.1 UART的工作原理
5.5.2 S3C2410A的UART
5.5.3 UART編程實(shí)例
5.6 A/D接口
5.6.1 A/D接口原理
5.6.2 S3C;2410A的A/D轉(zhuǎn)換器
5.6.3 A/D接口編程實(shí)例
5.7 鍵盤和LED控制
5.7.1 鍵盤和LED的接口原理
5.7.2 鍵盤和LED控制的編程實(shí)例
5.8 LCD
5.8.1 LCD顯示原理
5.8.2 S3C2410A的LCD控制器
5.8.3 LCD顯示的編程實(shí)例
5.9 觸摸屏
5.9.1 觸摸屏工作原理
5.9.2 S3C2410A的觸摸屏接口
5.9.3 觸摸屏編程實(shí)例
5.10音頻錄放
5.10.1 音頻錄放的實(shí)現(xiàn)原理
5.10.2 S3C2410A的I2S總線接口
5.10.3 音頻錄放的編程實(shí)例
5.11USB設(shè)備的數(shù)據(jù)收發(fā)
5.11.1 USB接口及編程簡(jiǎn)介
5.11.2 S3C2410A的USB設(shè)備控制器
5.1 1.3 USB設(shè)備收發(fā)數(shù)據(jù)編程實(shí)例
第6章 Linux操作系統(tǒng)基礎(chǔ)
6.1 Linux操作系統(tǒng)概述
6.1.1 Linux操作系統(tǒng)的產(chǎn)生及
6.1.2 Linux操作系統(tǒng)的特點(diǎn)
6.2 Linux內(nèi)核的結(jié)構(gòu)
6.2.1 進(jìn)程調(diào)度
6.2.2 內(nèi)存管理
6.2.3 虛擬文件系統(tǒng)
6.2.4 進(jìn)程間通信
6.2.5 網(wǎng)絡(luò)接口
6.2.6 各個(gè)子系統(tǒng)之間的依賴關(guān)豸
6.3 Linux設(shè)備管理
6.3.1 設(shè)備文件
6.3.2 設(shè)備驅(qū)動(dòng)
6.3.3 控制方式
6.4 Linux的使用
6.4.1 Linux常用命令
6.4.2 vi編輯器的使用
6.4.3 make工具和gcc編譯器
第7章 嵌入式Linux軟件設(shè)計(jì)
7.1 Bootloader引導(dǎo)程序
7.1.1 Boot Loader的啟動(dòng)過程
7.1.2 BootLoader——vivi
7.2 Linux的移植
7.2.1 Linux內(nèi)核的目錄結(jié)構(gòu)
7.2.2 Linux內(nèi)核源碼
7.2.3 交叉編譯環(huán)境的建立
7.2.4 Linux內(nèi)核文件的修改
7.2.5 Linux內(nèi)核及文件系統(tǒng)的編譯
7.2.6 Linux內(nèi)核及文件系統(tǒng)的下載
7.3 驅(qū)動(dòng)程序開發(fā)
7.3.1 驅(qū)動(dòng)程序的開發(fā)步驟
7.3.2 鍵盤驅(qū)動(dòng)程序的開發(fā)
7.3.3 LCD驅(qū)動(dòng)程序的開發(fā)
7.4 應(yīng)用程序開發(fā)
7.4.1 應(yīng)用程序的開發(fā)步驟
7.4.2 鍵盤應(yīng)用程序的開發(fā)
7.4.3 基本繪圖應(yīng)用程序的開發(fā)
7.4.4 跑馬燈應(yīng)用程序的開發(fā)
第8章 圖形用戶接口Mini GUl
8.1 Mini GUI簡(jiǎn)介
8.1.1 Mini GUI的功能特色
8.1.2 Mini GUI的技術(shù)優(yōu)勢(shì)
8.2 Mini GUI在Linux下運(yùn)行環(huán)境的建立
8.2.1 Mini GUI在Linux下的運(yùn)行環(huán)境
8.2.2 安裝資源文件
8.2.3 配置安裝Mini GUI庫(kù)文件
8.3 Mini GUI在QVFB上的仿真應(yīng)用
8.4 在Linux下S3C2410FrameBuffer的啟動(dòng)
8.4.1 Frame Buffer簡(jiǎn)介
8.4.2 Frame Buffer驅(qū)動(dòng)的添加
8.4.3 Frame Buffer設(shè)備文件的添加
8.4.4 Frame Buffer測(cè)試程序的編寫
8.5 Mini GUI在$3C2410上的移植
8.5.1 安裝Mini GUI資源文件
8.5.2 配置安裝Mini GUI庫(kù)文件
8.5.3 Mini GUI的移植步驟
8.6 Mini GUI輸入引擎IAL的開發(fā)
8.6.1 IAL引擎簡(jiǎn)介
8.6.2 IAL引擎的開發(fā)
8.7 在C3C2410上運(yùn)行簡(jiǎn)單的繪圖程序
8.7.1 Mini GUI的基本繪圖函數(shù)
8.7.2 繪圖程序舉例
附錄AEL-ARM一860型嵌入式實(shí)驗(yàn)
開發(fā)系統(tǒng)簡(jiǎn)介
一、系統(tǒng)結(jié)構(gòu)簡(jiǎn)介
二、可開設(shè)的實(shí)驗(yàn)項(xiàng)目
三、產(chǎn)品特點(diǎn)
附錄B達(dá)盛科技Techv-DM355介紹
參考文獻(xiàn)
章節(jié)摘錄
插圖:通用軟件開發(fā)的設(shè)計(jì)常采用將系統(tǒng)劃分為各個(gè)功能子模塊,再進(jìn)一步細(xì)分為函數(shù),采用自頂向下的設(shè)計(jì)方法。而嵌入式應(yīng)用軟件是通過并發(fā)的任務(wù)來運(yùn)作的,設(shè)計(jì)時(shí)將系統(tǒng)劃分為多個(gè)并發(fā)執(zhí)行的任務(wù),各個(gè)任務(wù)允許并發(fā)執(zhí)行,通過相互間通信建立聯(lián)系。傳統(tǒng)的設(shè)計(jì)方法不適應(yīng)這種并發(fā)的設(shè)計(jì)模式,因而在嵌入式軟件開發(fā)中引入了DARTS設(shè)計(jì)方法。DARTS設(shè)計(jì)方法是結(jié)構(gòu)化分析/結(jié)構(gòu)化設(shè)計(jì)的擴(kuò)展。它給出劃分任務(wù)的方法,并提供定義任務(wù)間接口的機(jī)制。DARTS設(shè)計(jì)方法的設(shè)計(jì)步驟如下:(1)數(shù)據(jù)流分析在DARTS設(shè)計(jì)方法中,系統(tǒng)設(shè)計(jì)人員在系統(tǒng)需求的基礎(chǔ)上,以數(shù)據(jù)流圖作為分析工具,從系統(tǒng)的功能需求開始分析系統(tǒng)的數(shù)據(jù)流,確定系統(tǒng)的主要功能。擴(kuò)展系統(tǒng)的數(shù)據(jù)流圖,分解系統(tǒng)到足夠的深度,識(shí)別主要的子系統(tǒng)和各個(gè)子系統(tǒng)的主要成分。(2)劃分任務(wù)識(shí)別出系統(tǒng)的所有功能以及它們之間的數(shù)據(jù)流關(guān)系,并得到完整的數(shù)據(jù)流圖后,下一步是識(shí)別出可并行的功能。系統(tǒng)設(shè)計(jì)人員把可并行的、相對(duì)獨(dú)立的功能單元抽象成一個(gè)系統(tǒng)任務(wù)。DARTS設(shè)計(jì)方法提供了在數(shù)據(jù)流圖上確定并發(fā)任務(wù)的方法。實(shí)時(shí)軟件系統(tǒng)中并行任務(wù)的分解主要考慮系統(tǒng)內(nèi)功能的異步性。根據(jù)數(shù)據(jù)流圖中的變換,分析出哪些變換是可以并行的,哪些變換是順序執(zhí)行的。系統(tǒng)設(shè)計(jì)人員可以考慮一個(gè)變換對(duì)應(yīng)一個(gè)任務(wù),或者一個(gè)任務(wù)包括多個(gè)變換
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
ARM9嵌入式系統(tǒng)設(shè)計(jì) PDF格式下載