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