本書共5章,包括理論篇和實驗篇,主要內容包括:嵌入式系統(tǒng)開發(fā)入門、嵌入式Linux開發(fā)環(huán)境的搭建、Linux編程、ARM Linux設備驅動程序開發(fā)、基于ICETEK-AM3359-A的嵌入式系統(tǒng)實驗。
戴虹,副教授,1999年7月至今,擔任上海第二工業(yè)大學教師。目前在工學部計算機與信息工程學院通信工程教研室任教,任工學部督導工作。主講課程:數(shù)字信號處理、嵌入式系統(tǒng)與應用、DSP原理與應用等。主要研究方向為:信號與信息處理,從事教學研究□0余年,已主持教學教改項目8項,其中市級項目3項,出版教材□本,編寫講義4本,共發(fā)表教學及科研論文□0余篇。
目 錄
上篇 理論篇
□□章 嵌入式系統(tǒng)開發(fā)入門3
1.1 嵌入式系統(tǒng)介紹3
1.1.1 嵌入式系統(tǒng)概述3
1.1.□ 嵌入式系統(tǒng)的組成4
1.1.3 幾種主流嵌入式系統(tǒng)的分析6
1.□ ARM介紹7
1.□.1 ARM微處理器簡介7
1.□.□ ARM微處理器的選擇11
1.□.3 ARM9的主要特點1□
1.□.4 ARM Cortex-A8微處理器的技術特點14
1.3 嵌入式軟件開發(fā)流程15
1.3.1 嵌入式系統(tǒng)開發(fā)流程概述15
1.3.□ 嵌入式軟件開發(fā)概述16
1.4 嵌入式Linux開發(fā)介紹□□
1.4.1 Linux歷史□□
1.4.□ Linux作為嵌入式系統(tǒng)的優(yōu)勢□□
1.4.3 如何學習Linux□3
1.4.4 Linux開發(fā)環(huán)境□4
1.4.5 Gcc編譯器□5
1.4.6 GNU Make介紹□6
1.4.7 Gdb調試工具□8
本章習題31
第□章 嵌入式Linux開發(fā)環(huán)境的搭建33
□.1 系統(tǒng)概述33
□.1.1 系統(tǒng)需求33
□.1.□ 軟件開發(fā)環(huán)境概述33
□.□ Linux開發(fā)主機的構建34
□.3 嵌入式交叉編譯環(huán)境的構建35
□.3.1 交叉編譯工具鏈介紹35
□.3.□ 構建ARM Linux交叉編譯工具鏈35
□.4 建立開發(fā)主機與嵌入式系統(tǒng)的通信連接43
□.4.1 串口通信43
□.4.□ 以太網(wǎng)通信45
□.4.3 與嵌入式系統(tǒng)交換數(shù)據(jù)49
本章習題50
第3章 Linux編程51
3.1 Linux下的C語言編程51
3.1.1 C語言簡單回顧51
3.1.□ Linux下的C語言編程環(huán)境概述51
3.1.3 Gcc編譯器5□
3.1.4 Gdb調試器58
3.1.5 Make工程管理器64
3.1.6 使用autotools69
3.□ Linux編程初步74
3.□.1 系統(tǒng)調用及用戶編程接口(API)74
3.□.□ Linux中的文件及文件描述符概述76
3.□.3 不帶緩存的文件I/O操作76
3.□.4 嵌入式Linux串口應用開發(fā)89
3.□.5 標準I/O開發(fā)98
3.3 進程控制105
3.3.1 Linu□□程概述105
3.3.□ Linu□□程控制編程108
3.4 進程間通信1□5
3.4.1 Linu□□程間通信概述1□5
3.4.□ 管道通信1□6
3.4.3 信號通信135
3.4.4 共享內存145
3.4.5 消息隊列147
3.5 多線程程序設計151
3.5.1 Linux線程概述151
3.5.□ 線程實現(xiàn)153
3.6 嵌入式網(wǎng)絡程序設計167
3.6.1 TCP/IP協(xié)議概述167
3.6.□ 網(wǎng)絡基礎編程171
3.6.3 網(wǎng)絡高級編程18□
3.6.4 ping源碼分析186
本章習題□00
第4章 ARM Linux設備驅動程序開發(fā)□01
4.1 設備驅動概述□01
4.1.1 設備驅動程序簡介及驅動模塊□01
4.1.□ 設備文件分類□0□
4.1.3 設備號□0□
4.1.4 驅動層次結構□0□
4.1.5 設備驅動程序與設備的接口□03
4.1.6 設備驅動程序的特點□03
4.□ 字符設備驅動程序編寫□04
4.□.1 字符設備驅動程序編寫流程說明□04
4.□.□ 重要數(shù)據(jù)結構□04
4.□.3 設備驅動程序的主要組成□05
4.□.4 /proc文件系統(tǒng)□10
4.3 塊設備驅動程序編寫□11
4.3.1 塊設備驅動程序描述符□11
4.3.□ 塊設備驅動程序的編寫流程□11
4.4 中斷編程□18
4.5 鍵盤驅動實現(xiàn)□19
4.5.1 鍵盤工作原理□19
4.5.□ 鍵盤驅動綜述□□1
4.5.3 鍵盤驅動流程□□1
本章習題□□9
下篇 實驗篇
第5章 基于ICETEK-AM3359-A的嵌入式系統(tǒng)實驗□33
5.1 實驗設備的安裝□33
5.1.1 實驗開發(fā)環(huán)境的設置□33
5.1.□ ICETEK-AM3359-A教學實驗箱的連接□33
5.□ ICETEK-AM3359-A的基礎Linux實驗□34
5.□.1 實驗1 LED控制實驗□34
5.□.□ 實驗□ 按鍵控制實驗□35
5.□.3 實驗3 驅動模塊編寫實驗□37
5.□.4 實驗4 GPIO控制實驗□39
5.□.5 實驗5 內存設備模塊應用實驗□41
5.□.6 實驗6 LCD顯示實驗□43
5.□.7 實驗7 觸摸屏編程實驗□44
5.□.8 實驗8 QT編程實驗□46
5.3 基于ICETEK-AM3359-A的嵌入式外部控制實驗□48
5.3.1 實驗1 液晶屏顯示實驗□48
5.3.□ 實驗□ 鍵盤輸入實驗□51
5.3.3 實驗3 音頻信號發(fā)生實驗□54
5.3.4 實驗4 直流電機控制實驗□57
5.3.5 實驗5 步進電機控制實驗□61
5.3.6 實驗6 交通燈控制綜合實驗□64
5.3.7 實驗7 單路模數(shù)(A/D)轉換實驗□66
5.3.8 實驗8 單路數(shù)模(D/A)轉換實驗□69
參考文獻□7□