書籍信息
定價:49.50元
印次:1-3
出版日期:2013.01.01
印刷日期:2015.07.09
內容簡介
本教材使用通俗易懂的語言,由淺入深地介紹了嵌入式系統的組成、嵌入式微處理器的使用、Linux開發環境的建立、簡單驅動程式的編寫、如何在Linux作業系統支持下開發嵌入式系統、嵌入式系統圖形界面的使用以及如何構建自己的嵌入式系統等內容。書中包含大量短小、簡單卻可以對理解嵌入式系統工作原理起著重要作用的示例,通過對這些教學示例的演示,可以幫助初學者在較短的時間解除對嵌入式系統的神秘感,對嵌入式系統的組成、工作原理、開發流程有一個較全面的認識。本教材可以作為具有計算機原理、微機接口技術、C語言程式設計、單片機原理等課程基礎的,初次接觸嵌入式系統的本科生、研究生、教師以及對嵌入式系統感興趣的科技工作者參考。
圖書目錄
第1章嵌入式系統概述
1.1嵌入式系統的定義
1.2嵌入式系統的發展
1.3嵌入式系統的組成
1.4嵌入式系統的分類
1.5嵌入式系統的開發流程
1.6如何學習嵌入式系統
第2章將ARM微處理器S3C2440作為高檔單片機的開發與套用
2.1了解ARM微處理器S3C2440
2.1.1S3C2440的硬體資源配置
2.1.2S3C2410與S3C2440的主要區別
2.1.3認識一個由S3C2440微處理器組成的嵌入式系統
2.2S3C2440對存儲器和暫存器的組織
2.2.1S3C2440對存儲器的組織
2.2.2S3C2440對暫存器的組織
2.2.3S3C2440對特殊功能暫存器SFR的組織
2.3S3C2440的啟動方式
2.3.1Nand Flash與Nor Flash
2.3.2S3C2440的Nor Flash啟動
2.3.3S3C2440的Nand Flash啟動
2.4ARM指令系統
2.4.1ARM指令系統
2.4.2ARM指令系統的定址方式
2.4.3ARM指令系統的分類
2.4.4ARM指令集和Thumb指令集的關係
2.5ARM偽指令系統
2.5.1符號定義偽指令
2.5.2數據定義偽指令
2.5.3彙編控制偽指令
2.5.4宏定義偽指令
2.5.5段定義偽指令
2.5.6雜項偽指令
2.5.7ARM偽指令
2.5.8ARM連線器的保留字
2.5.9ARM彙編器的內置變數
2.6在ADS開發環境下開發S3C2440
2.6.1建立ADS開發環境
2.6.2編寫一個彙編語言框架程式
2.6.3編寫一個在Boot RAM中運行的LED驅動程式
2.6.4製作一個可以自動運行的LED閃爍裝置
2.7S3C2440對電源和時鐘系統的管理
2.7.1認識S3C2440時鐘系統
2.7.2系統時鐘設定步驟
2.7.3電源和時鐘系統管理方案
2.8S3C2440對SDRAM的初始化
2.8.1初始化SDRAM存儲器所需的控制暫存器
2.8.2代碼搬移
2.9用C語言對S3C2440編程
2.9.1在ADS環境下直接使用C語言編程
2.9.2由彙編語言轉入C語言
2.9.3彙編語言與C語言無參函式的相互調用
2.9.4彙編語言與C語言帶參函式的相互調用
2.9.5在C語言中嵌入彙編語言
2.10S3C2440 的Nand Flash控制器
2.10.1Nand Flash控制器的初始化
2.10.2Nand Flash讀操作流程
2.10.3Nand Flash讀操作編程示例
2.11S3C2440對中斷的組織
2.11.1S3C2440的工作模式
2.11.2S3C2440對中斷(異常)的回響
2.11.3S3C2440對中斷源的組織
2.11.4S3C2440中斷控制器的初始化
2.11.5彙編語言的中斷編程框架示例
2.11.6C語言的中斷編程框架示例
2.12S3C2440 TFT型液晶顯示器的使用
2.12.1S3C2440內置LCD控制器介紹
2.12.2LCD初始化編程示例
2.13S3C2440的ADC和電阻式觸控螢幕的使用
2.13.1四線電阻式觸控螢幕的工作原理
2.13.2ADC和觸控螢幕接口使用方法
2.13.3ADC和觸控螢幕編程示例
2.14S3C2440中的各類定時器的使用
2.14.1看門狗Watch dog的使用
2.14.2實時時鐘——RTC的使用
2.14.3S3C2440定時器與PWM接口的使用
2.15S3C2440 串列接口(UART)的使用
2.15.1UART控制器的結構
2.15.2串列口的初始化
2.15.3串列口套用舉例
2.16S3C2440 I2C接口的使用
2.16.1AT24C08 EEPROM操作
2.16.2I2C接口的初始化
2.16.3I2C接口的編程示例
2.17S3C2440 DMA控制器的使用
2.17.1DMA控制器的設定
2.17.2DMA控制器編程示例
2.18S3C2440的記憶體管理單元MMU
2.18.1MMU的基本概念
2.18.2MMU的映射原理
2.18.3S3C2440的MMU設定
2.18.4MMU段映射編程示例
2.19用Scatter檔案組織程式
2.19.1什麼時候使用Scatter檔案
2.19.2Scatter檔案的編寫和套用
2.20在S3C2440上運行μC/OSⅡ嵌入式實時作業系統
2.20.1RTOS的基本概念
2.20.2RTOS中的任務管理
2.20.3RTOS的任務狀態與任務調度
2.20.4RTOS中的基本任務操作
2.20.5RTOS下的任務設計
2.20.6嵌入式實時作業系統μC/OSⅡ
2.20.7將μC/OSⅡ移植到S3C2440開發板
2.20.8基於μC/OSⅡ的多任務程式設計示例
第3章Linux作業系統下嵌入式系統開發環境的建立
3.1嵌入式系統為什麼要配用作業系統
3.2認識一個配有Linux作業系統的S3C2440嵌入式系統開發板
3.3建立嵌入式系統開發環境
3.3.1建立嵌入式系統開發環境的步驟
3.3.2嵌入式系統開發過程中經常使用的Linux作業系統命令
3.4嵌入式系統的開發過程
3.4.1vi編輯器的使用
3.4.2對源程式的編譯、交叉編譯及執行
3.4.3環境變數的設定
3.4.4gdb調試工具的使用
3.5shell程式的編寫
3.5.1shell是什麼
3.5.2一個簡單的shell程式
3.5.3shell程式的用戶變數定義與引用
3.5.4shell程式的常用系統變數
3.5.5shell程式的算術和邏輯運算
3.5.6shell程式的流程控制
3.5.7shell編程要點
3.5.8shell程式的調試
3.6Makefile檔案的編寫
3.6.1什麼是Makefile檔案
3.6.2Makefile檔案的結構
3.6.3Makefile檔案變數的定義、賦值與引用
3.6.4Makefile檔案中內嵌命令(函式)的使用
3.6.5Makefile檔案中兩種常用規則的使用
3.6.6Makefile檔案的幾種特殊的編程方法
3.6.7make命令的執行
3.6.8Makefile檔案框架的自動生成
3.7SourceInsight程式編輯/瀏覽器使用方法
第4章Linux作業系統下設備驅動程式的編寫與套用
4.1什麼是設備驅動程式
4.2設備驅動程式初探
4.2.1一個簡單的設備驅動程式
4.2.2設備驅動程式與應用程式的區別
4.2.3帶參數設備驅動程式的編寫與載入
4.3簡單字元設備驅動程式框架
4.3.1靜態分配設備號的簡單字元設備驅動程式框架
4.3.2動態分配設備號的簡單字元設備驅動程式框架
4.3.3應用程式與簡單字元設備驅動程式的數據交換
4.3.4簡單字元設備驅動程式編寫和測試步驟
4.4嵌入式系統簡單字元設備驅動程式的編寫
4.4.1設備驅動程式交叉編譯環境的建立
4.4.2一個簡單字元設備驅動程式
4.4.3將設備驅動程式編寫得更“專業”一些
4.4.4帶有中斷功能的簡單字元設備驅動程式
4.4.5利用記憶體映射在套用層直接對外設編程
4.5多個次設備號驅動程式的編寫
4.6對簡單字元設備驅動程式的基本印象
4.7Linux作業系統下字元設備驅動程式的套用
4.7.1LCD設備套用編程
4.7.2音頻設備套用編程
4.7.3串口設備套用編程
4.7.4USB字元設備套用編程
4.7.5觸控螢幕設備套用編程
4.7.6觸控螢幕接口程式tslib的移植與套用
4.7.7USB攝像頭設備套用編程
4.7.8使用camera接口套用編程
4.7.9實時時鐘(RTC)套用編程
4.7.10開發板上簡單硬體裝置的測試程式
4.8塊設備驅動程式的套用
4.8.1SD卡的使用
4.8.2隨身碟的使用
4.9將設備驅動程式靜態載入
第5章Linux作業系統下關於信號、進程、執行緒的編程
5.1幾個基本概念的解釋
5.1.1任務、進程、執行緒
5.1.2進程間的通信
5.1.3Linux下關於進程與執行緒的基本操作命令
5.1.4關於本章示例程式的說明
5.2進程的創建及多進程編程
5.2.1相關函式
5.2.2創建進程編程示例
5.2.3exec函式族的使用
5.2.4exec函式族編程示例
5.3信號的使用
5.3.1什麼是信號
5.3.2進程對信號的回響
5.3.3相關函式
5.4進程間的通信
5.4.1信號通信
5.4.2管道通信
5.4.3訊息佇列(報文)通信
5.4.4記憶體(檔案)映射與共享記憶體通信
5.4.5信號量(信號燈)通信
5.4.6套接字通信
5.5執行緒的創建及多執行緒編程
5.5.1相關函式
5.5.2創建執行緒編程示例
5.5.3互斥鎖的使用
第6章圖形界面系統Qt/Embedded的移植與套用
6.1Qt/Embedded的移植
6.1.1Qt/Embedded移植前的準備
6.1.2Qt/Embedded4.6.3的移植
6.2Qt/Embedded4.6.3的測試
6.2.1對X86版的測試
6.2.2對Qte版的測試
6.2.3對ARM版的測試
6.3Qt/Embedded4.6.3應用程式的開發過程
6.3.1編寫一個X86版的應用程式
6.3.2編寫一個Qte版的應用程式
6.3.3編寫一個ARM版的應用程式
6.4Qt/Embedded4.6.3與開發板外部設備之間的接口
第7章嵌入式Linux作業系統的移植過程
7.1嵌入式Linux作業系統的組成
7.2BootLoader——引導載入程式
7.2.1UBoot的基本概念
7.2.2UBoot的目錄結構
7.2.3UBoot的啟動流程
7.2.4UBoot與Linux核心的關係
7.2.5UBoot的常用命令
7.2.6UBoot的移植過程
7.3Linux核心的配置(裁剪)與移植
7.3.1Linux作業系統核心特點及源碼結構
7.3.2Linux核心配置(裁剪)過程
7.3.3Linux核心配置(裁剪)系統的組織
7.3.4Linux核心的Makefile檔案
7.3.5Linux核心的編譯
7.3.6Linux核心的移植過程
7.4根檔案系統的建立
7.4.1嵌入式系統的檔案系統
7.4.2嵌入式系統的根檔案系統
7.4.3BusyBox工具
7.4.4使用BusyBox構建根檔案系統過程
附錄配書光碟檔案目錄
參考文獻