本書按照教育部新的教學改革要求,依托電子信息工程技術骨干專業(yè)建設和課程研究項目成果進行編寫,突出嵌入式系統(tǒng)項目開發(fā)和應用能力的培養(yǎng)。主要內容包括嵌入式系統(tǒng)概述、ARM嵌入式微處理器、嵌入式操作系統(tǒng)、Android Studio開發(fā)環(huán)境、嵌入式應用程序開發(fā)和嵌入式系統(tǒng)硬件開發(fā)。本書基于Android Studio開發(fā)環(huán)境,從初學者的角度出發(fā),循序漸進地針對嵌入式應用程序開發(fā)進行了介紹,并提供了大量的Android應用項目開發(fā)實例。
本書可作為高等職業(yè)院校電子信息類、物聯(lián)網(wǎng)類、人工智能類專業(yè)高年級學生的教材,也可作為工程技術人員進行嵌入式系統(tǒng)開發(fā)的參考書。
前言
第1章 嵌入式系統(tǒng)概述1
1.1 嵌入式系統(tǒng)的定義1
1.2 嵌入式系統(tǒng)的特點1
1.3 嵌入式系統(tǒng)的組成和分類2
1.3.1 嵌入式系統(tǒng)的組成2
1.3.2 嵌入式系統(tǒng)的分類4
1.4 嵌入式系統(tǒng)的發(fā)展與應用5
1.5 基于ARM的嵌入式開發(fā)環(huán)境6
1.5.1 交叉開發(fā)環(huán)境6
1.5.2 模擬開發(fā)環(huán)境7
1.6 如何學好嵌入式系統(tǒng)開發(fā)8
本章小結8
思考與習題9
第2章 ARM嵌入式微處理器10
2.1 ARM嵌入式微處理器簡介10
2.1.1 嵌入式處理器分類10
2.1.2 ARM微處理器架構12
2.1.3 ARM嵌入式微處理器系列13
2.1.4 ARM版本的命名規(guī)則17
2.2 ARM嵌入式微處理器體系結構19
2.2.1 ARM體系結構的存儲器格式19
2.2.2 ARM體系結構的工作狀態(tài)19
2.2.3 ARM體系結構的運行模式20
2.2.4 ARM體系結構的寄存器21
2.3 ARM的異常處理26
2.3.1 ARM體系支持的異常類型26
2.3.2 ARM的異常中斷28
2.3.3 ARM的異常響應29
2.3.4 ARM的異常返回29
本章小結30
思考與習題30
第3章 嵌入式操作系統(tǒng)31
3.1 嵌入式操作系統(tǒng)簡介31
3.1.1 嵌入式最小系統(tǒng)31
3.1.2 嵌入式操作系統(tǒng)概念31
3.1.3 嵌入式操作系統(tǒng)性能管理33
3.2 常用的嵌入式操作系統(tǒng)34
3.2.1 嵌入式Linux操作系統(tǒng)35
3.2.2 嵌入式Android操作系統(tǒng)36
3.2.3 其他嵌入式操作系統(tǒng)38
本章小結40
思考與習題40
第4章 Android Studio開發(fā)環(huán)境41
4.1 項目1 搭建嵌入式開發(fā)環(huán)境41
4.1.1 Android系統(tǒng)編譯環(huán)境41
4.1.2 應用開發(fā)環(huán)境介紹42
4.1.3 開發(fā)工具應用解析43
4.1.4 調試方式與快捷鍵44
4.1.5 搭建步驟詳解44
4.2 項目2 編寫Hello Android應用程序49
4.2.1 創(chuàng)建一個新的Android工程49
4.2.2 修改程序53
4.2.3 運行結果54
4.3 項目3 應用布局54
4.3.1 布局簡介55
4.3.2 線性布局(LinearLayout)56
4.3.3 相對布局(RelativeLayout)59
4.3.4 表格布局(TableLayout)61
4.3.5 幀布局(FrameLayout)63
4.3.6 嵌套布局65
4.4 項目4 經(jīng)典界面控件67
4.4.1 控件簡介67
4.4.2 TextView控件67
4.4.3 Button控件69
4.4.4 EditText控件71
4.4.5 CheckBox控件72
4.4.6 ImageButton控件74
4.5 項目5 其他界面控件與視圖75
4.5.1 Spinner控件75
4.5.2 ProgressBar控件79
4.5.3 RatingBar控件80
4.5.4 ScrollView視圖82
4.5.5 GridView視圖85
4.5.6 Gallery視圖87
4.5.7 TabHost視圖90
4.6 項目6 Intent和Activity92
4.6.1 Activity的生命周期92
4.6.2 Intent介紹93
4.6.3 新建Activity類93
4.6.4 Activity間的普通跳轉94
4.6.5 等待返回的Activity間的跳轉94
4.6.6 啟動其他應用96
本章小結97
思考與習題97
第5章 嵌入式應用程序開發(fā)98
5.1 項目7 提示信息(Toast)98
5.1.1 Toast介紹98
5.1.2 系統(tǒng)默認的Toast98
5.1.3 自定義的Toast99
5.2 項目8 通知提示(Notification)100
5.2.1 Notification介紹100
5.2.2 特殊的Notification101
5.3 綜合項目 天氣預報102
5.3.1 設計原理102
5.3.2 設計流程102
5.3.3 網(wǎng)絡定位103
5.3.4 訪問天氣服務器105
5.3.5 XML文件解析107
5.3.6 運行結果110
本章小結112
思考與習題112
第6章 嵌入式系統(tǒng)硬件開發(fā)113
6.1 項目9 JNI開發(fā)實驗113
6.1.1 JNI介紹113
6.1.2 下載NDK和構建工具114
6.1.3 新建Hello JNI工程114
6.1.4 編譯Hello JNI工程116
6.1.5 代碼解析117
6.2 項目10 BUZZER 蜂鳴器控制實驗118
6.2.1 Linux系統(tǒng)的API118
6.2.2 項目原理119
6.2.3 內核驅動119
6.2.4 應用程序編寫122
6.2.5 調試運行126
6.3 項目11 LED指示燈控制實驗127
6.3.1 項目原理127
6.3.2 內核驅動128
6.3.3 Linux平臺設備驅動128
6.3.4 應用程序編寫134
6.3.5 調試運行136
6.4 項目12 ADC模數(shù)轉換實驗139
6.4.1 項目原理139
6.4.2 內核驅動140
6.4.3 應用程序編寫140
6.4.4 調試運行145
6.5 項目13 UART串口通信實驗146
6.5.1 串口介紹146
6.5.2 項目原理147
6.5.3 內核驅動147
6.5.4 應用程序編寫148
6.5.5 調試運行158
6.6 項目14 WiFi無線通信實驗163
6.6.1 WiFi介紹163
6.6.2 內核驅動164
6.6.3 項目原理164
6.6.4 應用程序編寫164
6.6.5 調試運行171
6.7 項目15 GPS定位系統(tǒng)實驗173
6.7.1 GPS工作原理173
6.7.2 項目原理174
6.7.3 系統(tǒng)API介紹174
6.7.4 應用程序編寫175
6.7.5 調試運行180
本章小結181
思考與習題181
參考文獻182