1. 程式人生 > >【開發板教程目錄分享】4412開發板實戰教程紙製版

【開發板教程目錄分享】4412開發板實戰教程紙製版




內容是4412開發板實戰教程目錄介紹,大家感興趣的話,有時間可上傳到網盤分享連結 ヽ(ˋ▽ˊ)ノ~


iTOP-4412開發板教程
前言8
背景知識8
本書的內容8
本書使用的擴充套件資料9
第一章  概述10
1.1 嵌入式系統10
1.1.1 嵌入式系統的定義10
1.1.2 嵌入式系統的應用範圍10
1.1.3 嵌入式系統的特點12
1.2 嵌入式作業系統12
1.2.1 作業系統12
1.2.2 嵌入式作業系統13
1.3 嵌入式學習方法13
1.3.1 框架學習法13
1.3.2 嵌入式系統學習的框架14
1.3.3 關於裸機程式和模擬17
1.4 基於iTOP-4412開發板的學習步驟18
1.5 嵌入式系統開發要點20
第二章  硬體指引22
2.1 嵌入式硬體平臺22
2.1.1 硬體概述22
2.1.2 處理器和ARM處理器23
2.1.3 儲存裝置24
2.1.4 匯流排25
2.1.5 液晶控制板30
2.1.6 觸控式螢幕30
2.1.7 網路裝置31
2.1.8 標準序列通訊介面32
2.1.9 其它硬體33
2.2 嵌入式產品設計流程簡介35
2.3  iTOP-4412開發板硬體介紹35
2.3.1 核心板介紹35
2.3.2 底板介紹37
2.4 儀表儀器的使用38
2.4.1 萬用表38
2.4.2 示波器39
2.4.3 邏輯分析儀39
第三章  iTOP-4412平臺開機測試41
3.1 iTOP-4412平臺硬體的連線41
3.1.1 核心板和底板的連線41
3.1.2 控制檯(Console)串列埠41
3.1.3 螢幕的組裝42
3.1.4 電源和上電斷電43
3.1.5 其它模組的連線43
3.2 啟動模式44
3.2.1 啟動模式44
3.2.2 Uboot模式44
3.2.3 檔案系統模式45
3.3  iTOP-4412開發平臺初體驗46
3.3.1 系統基本功能46
3.3.2  USB和OTG功能48
3.3.3 網路設定和連線49
3.3.4 多媒體51
3.3.5  GPS功能(選配)53
3.3.6  遊戲3D效能54
第四章  開發環境、編譯以及燒寫55
4.1 開發工具介紹55
4.1.1 虛擬機器Vmware Workstation55
4.1.2  Ubuntu系統56
4.1.3  SSH工具57
4.1.4 編輯器Vim59
4.1.5  Source Insight程式碼閱讀器61
4.1.6 程式碼對比分析器Beyond Compare 461
4.1.7 編輯器Notepad++的使用62
4.1.8 串列埠助手62
4.1.9  cmd和fastboot工具64
4.1.10  Android Debug Bridge65
4.2  Linux常用命令65
4.2.1 登陸root使用者65
4.2.2  Linux基礎命令66
4.2.3 軟體安裝和升級命令apt-get67
4.2.4  man幫助命令68
4.3 搭建Uboot、Kernel和Android4.0的編譯環境69
4.3.1 使用搭建好的編譯環境70
4.3.2 安裝基本軟體70
4.3.3 交叉編譯工具70
4.3.4 安裝庫檔案、JDK以及降低GCC版本71
4.4  Android4.0.3映象的編譯73
4.4.1  Uboot的編譯73
4.4.2  Linux核心的編譯75
4.4.3  Android4.0.3 的編譯76
4.5  Android4.4.4映象的編譯78
4.5.1 核心的編譯78
4.5.2  Android4.4.4 的編譯79
4.6  Qtopia2.2.0映象的編譯80
4.6.1  Linux核心的編譯80
4.6.2  Qtopia2.2.0編譯的環境以及編譯80
4.7  Qt/E4.7原始碼的編譯85
4.7.1  Qt/E4.7.1編譯器的安裝86
4.7.2  Qt/E4.7.1的編譯87
4.8  二進位制檔案的燒寫88
4.8.1  OTG介面燒寫方式88
4.8.2  TF卡燒寫方式90
4.8.3  開發板出廠前首次燒寫94
第五章  Bootloader96
5.1  Bootloader簡介96
5.2  Bootloader的種類96
5.3  Uboot原始碼結構97
5.4  Uboot分析98
5.4  Uboot常用命令101
5.6 裸機程式102
5.6.1 安裝DNW驅動102
5.6.2 下載裸機程式到開發板上103
5.6.3 裸機led的程式實現105
第六章  Linux核心107
6.1Linux基礎介紹 107
6.1.1  Linux是什麼107
6.1.2  Linux的歷史和版本號107
6.1.3  Linux和UNIX109
6.1.4  Linux的重要性109
6.1.5  Linux核心特點109
6.1.6  Linux3.0核心新特性110
6.2  Linux系統剖析111
6.2.1  Linux核心簡介111
6.2.2  Linux核心的屬性111
6.2.3  Linux 核心的主要子系統112
6.2.4 依賴體系結構的程式碼114
6.3  Linux檔案系統原始碼目錄114
6.4  Linux核心的裁減和配置116
6.4.1  Kconfig和menuconfig的關係116
6.4.2  Menuconfig的操作117
6.4.3 預設檔案.config和menuconfig的關係125
6.4.4  Kconfig和menuconfig128
6.5  Linux核心編譯流程分析132
6.5.1  編譯器路徑的設定132
6.5.2  Make核心編譯命令執行過程簡介134
6.5.3  Makefile檔案136
6.6  Linux驅動139
6.6.1  Linux驅動的學習方法139
6.6.2  Linux裝置驅動的分類139
6.6.3  以模組的形式編譯驅動139
6.7 核心配置詳細說明142
6.8  Linux驅動除錯方法152
6.8.1  利用printk152
6.8.2 利用ioctl方法153
6.8.3 利用/proc檔案系統153
第七章  Linux系統程式設計154
7.1  Linux系統基礎知識154
7.1.1  什麼是Linux系統程式設計154
7.1.2 為什麼要學習Linux系統程式設計155
7.1.3  Linux的man命令155
7.2 從零建立Linux最小系統156
7.2.1 最小Linux系統簡介156
7.2.2 配置最小系統156
7.2.3 編譯和安裝157
7.2.4 完善最小系統157
7.2.5 安裝打包軟體和編譯161
7.2.6 最小Linux系統的燒寫161
7.3 系統程式設計的基礎知識161
7.3.1  Linux使用者管理161
7.3.2 使用者組162
7.3.3 許可權163
7.3.4  絕對路徑和相對路徑163
7.4  Linux系統程式設計基礎163
7.4.1  檔案IO163
7.4.2 系統延時165
7.4.3 時間呼叫和轉換166
7.4.4 管理檔案目錄168
7.4.5 程序的基礎172
7.4.6  程序間通訊174
7.5  Linux系統對字元驅動的呼叫189
7.5.1 字元類裝置的控制189
7.5.2 串列埠程式設計193
7.6  Linux系統網路服務202
7.6.1  網路的基礎知識202
7.6.2 組建最小網路207
7.6.3  搭建TFTP伺服器和TFTP傳輸211
7.6.4  NFS網路檔案系統216
7.7 套位元組TCP和UDP220
7.7.1 套位元組TCP220
7.7.2 套接字UDP226
7.8  Linux系統小型伺服器230
7.9  web遠端控制led燈235
第八章  Android作業系統241
8.1  Android系統基礎知識241
8.1.1  Android的歷史241
8.1.2  Android的特性和優點241
8.2  Java簡述242
8.2.1  Java的歷史242
8.2.2  Java的幾個概念243
8.2.3 學習Android需要的Java知識244
8.3  Android平臺體系結構和原始碼結構244
8.3.1 平臺體系結構245
8.3.2  原始碼結構247
8.4 搭建Android應用的開發平臺247
8.4.1 下載和安裝JDK247
8.4.2 下載和安裝ADT整合開發環境以及SDK管理器249
8.4.3  SDK更新251
8.4.5  ADT整合開發環境252
8.4.6  建立Android模擬器253
8.5  Android應用程式開發例項254
8.5.1  建立第一個Android應用程式helloworld254
8.5.2  在模擬器上執行hellworld255
8.5.3  在iTOP-4412開發板上除錯helloworld應用257
8.6  Android JNI的使用259
8.6.1  JNI基礎概念259
8.6.2  Java程式呼叫JNI的方法和步驟261
8.6.3  Android.MK檔案264
8.6.4  安裝NDK編譯器以及編譯JNI庫檔案266
8.7  Android物聯網例程268
8.7.1  蜂鳴器268
8.7.2  數模轉換270
8.7.3串列埠控制273
8.8  Android系統級修改277
8.8.1 更改預設休眠時間277
8.8.2 去掉預設安裝的APK278
8.8.3 將APK編譯到Android映象中278
8.8.4 手機和平板模式(橫屏豎屏)279
8.8.5 設定Android的GPS279
8.8.6 設定Android的HDMI轉VGA280
8.8.7 裝置許可權的修改281
第九章  QtE作業系統283
9.1  QtE和Qtopia簡介283
9.2  QtE的配置283
9.3  QtE初始化指令碼分析285
9.3.1 設定開發板優先執行的檔案系統285
9.3.2  Qt/E4.7和Qtopia2.2.0的觸控校準285
9.3.3 系統執行後Qt/E4.7和Qtopia2.2.0的切換286
9.4  QtE應用開發環境搭建287
9.4.1  qtcreator的下載和安裝287
9.4.2 安裝和執行Qt Creator288
9.5  QtE應用跨平臺移植291
9.5.1  Ubuntu上執行helloworld291
9.5.2  移植‘helloworld’到開發板295
第十章  Ubuntu作業系統298
10.1  Ubuntu的發展歷程和特色298
10.1.1  Ubuntu的發展歷程298
10.1.2  Ubuntu - ARM特色299
10.2  Ubuntu的燒寫300
10.2.1  TF卡讀寫速度測試300
10.2.2 燒寫Ubuntu301
附錄:iTOP-4412原始碼的開發版本下載和使用305
Uboot的下載和編譯305
Kernel原始碼下載及編譯306
聯絡方式308