《全國高等職業教育規劃教材:嵌入式Linux系統應用及項目實踐》首先詳細講述了嵌入式Linux系統應用的基礎,然后通過具體完整的實訓項目對嵌入式Linux系統應用所需的基本技能進行覆蓋。本書的編寫特色在于用具體完整的項目帶動和引導學生完成整個嵌入式Linux相關應用領域的學習,并且每個項目都有非常詳細的講解,此外還提供了源代碼。
《全國高等職業教育規劃教材:嵌入式Linux系統應用及項目實踐》不追求講述所有的嵌入式Linux技術,但追求完整地講解每個具體的項目,特別適合高職高專相關專業的學生及其他初學者使用。
出版說明
前言
第1章 嵌入式Linux系統開發環境的構建
1.1 嵌入式Linux系統簡介及其實際應用
1.1.1 嵌入式系統的定義及其特點
1.1.2 嵌入式處理器簡介
1.1.3 嵌入式操作系統簡介
1.1.4 嵌入式Linux系統在實際中的應用
1.2 嵌入式Linux開發環境的構建
1.2.1 虛擬機軟件VM Virtual Box的安裝
1.2.2 Ubuntu虛擬機的安裝
1.2.3 在Ubuntu虛擬機中制作啟動U盤
1.2.4 用啟動U盤安裝純的Ubuntu系統
1.2.5 MBR主引導記錄的恢復
1.2.6 串口通信:超級終端與minicom
1.2.7 Ubuntu開發平臺與開發板之間的網絡文件共享
1.2.8 嵌入式交叉編譯開發工具的安裝
1.3 嵌入式系統的快速構建
1.3.1 燒寫up-tech2410s的引導程序、內核、根文件系統
1.3.2 燒寫TQ2440的引導程序、內核、文件系統
1.3.3 在開發板上運行編譯好的Hello應用程序
1.4 習題
第2章 Linux基礎
2.1 Linux基礎知識
2.1.1 Linux目錄結構
2.1.2 Linux文件的屬性及權限的設置
2.1.3 文件的壓縮打包與解壓解包
2.1.4 Linux支持的文件系統
2.2 Linux常用命令
2.2.1 cd pwd clear
2.2.2 查看文件內容及翻頁:cat、more、less
2.2.3 復制、刪除:cp、rm
2.2.4 進程命令:ps、kill
2.2.5 文件創建:touch ln命令
2.2.6 分析工具:last、dmesg
2.2.7 幫助命令:help、man
2.2.8 系統管理命令
2.2.9 vi編輯器的使用
2.2.10 數據流重定向
2.2.11 管道的使用
2.3 習題
第3章 電子學基礎知識
3.1 電子元器件基礎
3.1.1 電壓和電流
3.1.2 電阻
3.1.3 電容
3.1.4 電感
3.1.5 二極管
3.1.6 晶振
3.2 基本電子學常識
3.2.1 模擬信號和數字信號
3.2.2 IO接口電氣特征
3.2.3 邏輯門
3.2.4 功率
3.3 習題
第4章 嵌入式Linux開發基礎
4.1 C語言編程
4.1.1 C語言基礎
4.1.2 GNU簡介
4.1.3 GNU gcc編譯器及其使用
4.2 Make與Makefile文件簡介
4.2.1 Make編譯工具
4.2.2 Make 工具需要Makefile文件
4.2.3 Make指令的格式
4.2.4 Makefile文件的語法
4.2.5 Makefile練習范例
4.2.6 Makefile變量的應用
4.2.7 典型的Makefile文件
4.3 嵌入式交叉編譯環境
4.3.1 交叉編譯的概念
4.3.2 嵌入式Linux軟件的生成
4.3.3 arm-linux-gcc交叉編譯器的使用
4.3.4 靜態庫和動態庫
4.4 習題
第5章 嵌入式Linux啟動引導程序、內核、文件系統
5.1 BootLoader的基本概念
5.1.1 U-Boot簡介
5.1.2 U-Boot常用命令
5.2 嵌入式Linux內核的移植
5.2.1 內核源代碼的修改
5.2.2 內核的配置
5.2.3 編譯內核及其燒寫
5.3 嵌入式Linux根文件系統的移植
5.3.1 嵌入式Linux根文件系統的類型
5.3.2 根文件系統目錄結構
5.3.3 BusyBox的安裝
5.3.4 根文件系統中文件的添加
5.3.5 看門狗應用程序的添加
5.4 習題
第6章 字符型設備驅動程序的設計
6.1 硬件接口、驅動程序、設備文件、應用程序的關系
6.1.1 驅動程序與應用程序之間的區別
6.1.2 字符型驅動實例1
6.2 驅動程序中編寫ioctl函數供應用程序調用
6.2.1 驅動中的結構體
6.2.2 ioctl函數
6.2.3 設備號
6.2.4 字符型驅動實例2
6.3 驅動程序與應用程序之間的數據交換
6.3.1 write與read函數的編寫
6.3.2 內核與應用程序之間的數據交換實例
6.4 驅動的調試
6.5 習題
第7章 GPIO接口控制LED燈應用實例
7.1 GPIO接口
7.1.1 GPIO接口概述
7.1.2 通過寄存器來控制GPIO接口
7.1.3 通過宏命令來控制GPIO接口
7.1.4 GPIO接口的數據讀取
7.2 GPIO接口控制LED燈實例
7.2.1 GPIO接口與LED的硬件連接
7.2.2 LED驅動的編寫
7.2.3 控制LED應用程序的編寫
7.3 習題
第8章 遠程溫度采集與曲線的生成綜合實例
8.1 軟硬件總體設計
8.2 DS18B20驅動程序的編寫
8.2.1 DS18B20初始化時序及其驅動模塊的實現
8.2.2 DS18B20寫時序及其驅動模塊的實現
8.2.3 DS18B20讀時序及其驅動模塊的實現
8.3 DS18B20應用程序的編寫
8.3.1 頭文件、宏定義、CRC校驗表
8.3.2 CRC校驗函數部分
8.3.3 線程和設備文件打開函數
8.3.4 main主函數
8.3.5 Makefile文件
8.3.6 溫度記錄文件的格式
8.4 嵌入式Web服務器boa的移植
8.4.1 嵌入式Web服務器boa源代碼的修改
8.4.2 boa在嵌入式下的移植
8.4.3 溫度隨時間變化的曲線腳本的編寫
8.5 習題
第9章 PWM控制蜂鳴器
9.1 PWM概要
9.1.1 PWM的基本原理
9.1.2 PWM寄存器描述
9.1.3 S3C2440上PWM接口的使用
9.2 PWM控制程序的編寫
9.2.1 PWM驅動程序的編寫
9.2.2 PWM應用程序的編寫
9.3 習題
第10章 基于Qt的嵌入式GUI程序設計基礎
10.1 嵌入式GUI簡介
10.1.1 嵌入式GUI的特點
10.1.2 常用的嵌入式GUI圖形系統
10.1.3 Qt/E概述
10.2 Qt/E開發環境的搭建
10.2.1 Qt開發工具的安裝
10.2.2 Qt/E的安裝與移植
10.3 Qt/E開發流程概述
10.3.1 在PC上開發Qt應用程序 hello實例
10.3.2 編譯在TQ2440開發板上運行的Qt程序
10.4 面向對象的編程語言C++
10.4.1 C++基礎
10.4.2 變量、常量、數據類型
10.4.3 輸入、輸出交互
10.4.4 C++的類、繼承、域操作符、構造函數
10.5 Qt編程的核心技術
10.5.1 Qt的特點
10.5.2 Qt的執行過程
10.5.3 信號與槽的設計
10.5.4 建立信號與槽的關聯
10.6 Qt應用程序hello_example實例
10.6.1 應用Qt設計器Designer設計界面
10.6.2 在myqt.h頭文件中定義元素與槽函數
10.6.3 在myqt.cpp中建立信號與插槽的連接
10.6.4 主函數main.cpp的建立
10.6.5 編譯與運行
10.7 LED圖形界面控制程序綜合實例
10.7.1 LED驅動的編寫
10.7.2 LED控制界面的設計
10.7.3 在myqt.h文件中定義元素與槽函數
10.7.4 在myqt.cpp中建立信號與槽函數的連接
10.7.5 主函數main.cpp的建立
10.7.6 編譯與執行
10.8 習題
第11章 基于手機遙控的視頻監控車的設計與實現
11.1 電動機驅動
11.1.1 L298N電動機驅動芯片概要
11.1.2 L298N電動機驅動典型應用電路
11.2 電動機的控制
11.2.1 電動機驅動程序的編寫
11.2.2 電動機應用控制程序的編寫
11.2.3 Makefile文件的編寫
11.3 視頻流的傳送
11.3.1 mjpg-stream的編譯與安裝
11.3.2 mjpg-stream的運行
11.4 無線網絡設置與控制界面設計
11.4.1 無線網卡設置
11.4.2 控制界面設計的編寫
11.4.3 網頁控制腳本設計
11.5 習題
第12章 基于無線物聯網數據庫的環境監測系統的實現
12.1 SQLite數據庫
12.1.1 SQLite數據庫的安裝
12.1.2 SQLite數據庫的常用命令
12.2 DHT11溫濕度傳感器
12.2.1 DHT11溫濕度傳感器驅動程序的編寫
12.2.2 SQLite數據庫應用程序的編寫
12.2.3 SQLite3數據庫網絡接口腳本的編寫
12.2.4 結果運行
12.3 習題
參考文獻