商品簡介
《嵌入式linux c語言基礎與實例進階(配光盤)》面向學習linux c語言的初中級讀者,全書共16章,分別介紹了嵌入式系統基礎知識、linux環境下c語言的開發、bootloader、linux環境下c語言編程基礎、linux shell編程、創建嵌入式系統開發環境、c程序基礎、嵌入式gui技術、嵌入式文件系統與存儲技術、嵌入式linux設備驅動開發、進程、線程、linux網絡編程、嵌入式視頻采集系統、指紋識別門禁系統設計、基于web service的嵌入式智能家居系統等內容。
《嵌入式linux c語言基礎與實例進階(配光盤)》注重理論聯系實踐,以培養讀者的工程應用能力為目標,全書內容詳實、講解透徹、案例豐富實用,能夠使讀者邊學邊用,更快更好地掌握所學知識。
《嵌入式linux c語言基礎與實例進階(配光盤)》不僅有詳細的理論基礎知識介紹,還有大量的開發案例以供參考,可讀性和實用性強,可作為初學者的自學教材以及各類培訓學校的教材用書,也可作為工程技術人員及中專、中技、高職高專、本科院校相關專業師生的參考書。
目次
第1章 嵌入式系統基礎知識
1.1 嵌入式系統概述
1.1.1 嵌入式系統簡介
1.1.2 嵌入式系統的組成
1.1.3 嵌入式系統的應用領域
1.1.4 嵌入式系統的發展趨勢
1.2 arm處理器平臺介紹
1.2.1 arm處理器簡介
1.2.2 arm體系結構
1.2.3 arm微處理器系列
1.2.4 arm處理器的應用領域和特點
1.3 linux操作系統
1.3.1 linux的發展歷史
1.3.2 linux發行版本
1.3.3 linux系統的特點和組成
1.3.4 linux常用命令
1.4 嵌入式系統開發
本章小結
思考與練習
第2章 linux環境下c語言的開發
2.1 c語言簡單回顧
2.2 linux程序設計基礎知識
2.2.1 程序安裝目錄
2.2.2 頭文件
2.2.3 庫文件
2.3 linux下的c語言開發環境
2.4 嵌入式linux c語言開發流程和開發工具
2.5 嵌入式linux中程序的運行原理
2.6 linux程序設計的特點
2.7 linux下c語言編碼的風格
本章小結
思考與練習
第3章 bootloader
3.1 bootloader的工作原理
3.1.1 bootloader概述
3.1.2 bootloader的啟動流程
3.2 vivi
3.2.1 vivi的源代碼結構
3.2.2 vivi的啟動過程
3.3 u-boot
3.3.1 u-boot的特點
3.3.2 u-boot的目錄結構
3.3.3 u-boot的啟動過程
3.3.4 u-boot的移植
3.3.5 u-boot與內核的關系
本章小結
思考與練習
第4章 linux環境下c語言編程基礎
4.1 vi編輯器
4.1.1 vi的基本模式
4.1.2 vi的基本操作
4.2 vim編輯器
4.2.1 vim的啟動
4.2.2 保存與打開文件
4.2.3 移動光標
4.2.4 插入
4.2.5 刪除
4.2.6 取消
4.2.7 保存
4.2.8 退出
4.3 gcc編譯器
4.3.1 gcc編譯流程分析
4.3.2 實例:gcc編譯程序
4.3.3 實例:gcc編譯多重源代碼文件
4.3.4 gcc編譯選項分析
4.3.5 gcc使用庫函數
4.3.6 實例:靜態庫的創建
4.4 gdb調試器
4.4.1 gdb調試器概述
4.4.2 實例:gdb調試程序
4.5 make工程管理器
4.5.1 makefile文件的構成
4.5.2 makefile變量
4.5.3 make工程管理器的使用
本章小結
思考與練習
第5章 linux shell編程
5.1 什么是shell
5.2 幾種流行的shell
5.3 bash的特點
5.4 shell程序設計基礎
5.4.1 shell的基本語法
5.4.2 shell程序的變量和參數
5.4.3 shell的測試命令
5.4.4 shell的條件語句
5.4.5 shell的循環語句
5.4.6 函數
5.4.7 命令分組
5.4.8 引號的使用方法
5.4.9 實例:shell菜單程序
5.4.10 實例:自動調用ftp傳輸軟件
5.5 運行shell程序的方法
5.6 bash的內部命令和外部命令
本章小結
思考與練習
第6章 創建嵌入式系統開發環境
6.1 嵌入式系統開發環境的構建
6.2 cygwin
6.3 超級終端和minicom的配置及使用
6.4 嵌入式linux操作系統內核編譯
6.4.1 linux內核結構
6.4.2 內核的配置
6.4.3 內核編譯的過程
6.4.4 內核的移植
6.5 nfs
6.6 tftp
本章小結
思考與練習
第7章 c程序基礎
7.1 數據、運算符、表達式
7.1.1 c程序的結構和語法規則
7.1.2 c程序語句概述
7.1.3 標識符
7.1.4 關鍵字
7.1.5 常量
7.1.6 變量
7.1.7 基本數據類型
7.1.8 算術運算符、賦值運算符及其表達式
7.1.9 關系運算符、邏輯運算符及其表達式
7.2 數據的輸入和輸出
7.2.1 數據的輸出
7.2.2 數據的輸入
7.2.3 實例:漢諾塔
7.3 基本語句
7.3.1 語句和復合語句
7.3.2 條件語句
7.3.3 實例:查找最小值
7.3.4 循環控制
7.4 數組
7.4.1 一維數組
7.4.2 二維數組
7.4.3 字符數組和字符串
7.4.4 實例:數值順序輸出
7.5 函數與指針
7.5.1 函數
7.5.2 指針
7.5.3 函數使用實例:數值比較
7.5.4 指針使用實例:倒序輸出
本章小結
思考與練習
第8章 嵌入式gui技術
8.1 嵌入式圖形用戶界面簡介
8.2 linux下幾種主流gui介紹
8.2.1 緊縮的x window系統
8.2.2 minigui
8.2.3 qt/embedded
8.2.4 microwindows
8.2.5 opengui
8.2.6 gtk+
8.3 基于minigui的圖形界面開發
8.3.1 minigui程序框架
8.3.2 minigui的窗口和消息
8.3.3 實例:minigui窗口編程
8.3.4 菜單
8.3.5 鍵盤與鼠標
8.3.6 對話框
8.3.7 常用控件
8.3.8 實例:minigui控件編程
本章小結
思考與練習
第9章 嵌入式文件系統與存儲技術
9.1 嵌入式文件系統的功能和特點
9.2 linux常見的文件系統
9.3 linux文件結構
9.3.1 linux文件類型
9.3.2 linux文件的訪問權限控制
9.3.3 mtd
9.4 flash存儲技術
9.4.1 flash的類型
9.4.2 nor flash與nand flash的區別
9.5 基于fat的嵌入式文件系統設計
9.5.1 fat文件系統的組成
9.5.2 fat層邏輯文件系統的總體框架
本章小結
思考與練習
第10章 嵌入式linux設備驅動開發
10.1 linux設備驅動開發概述
10.1.1 設備驅動和文件系統的關系
10.1.2 設備類型和設備號
10.2 設備驅動模塊化編程
10.2.1 設備驅動程序原理
10.2.2 設備訪問方式及實現
10.2.3 內核與驅動程序的關系
10.2.4 中斷處理
10.3 linux字符設備驅動
10.3.1 字符設備驅動概述
10.3.2 實例:字符設備驅動
10.4 塊設備驅動
10.4.1 塊設備驅動簡介
10.4.2 塊設備相關結構體
10.5 網絡設備驅動
10.5.1 網絡設備概述
10.5.2 網絡設備的運行機制
10.5.3 sk_buff數據結構
10.5.4 數據包的發送與接收
10.5.5 網絡設備驅動程序的加載
本章小結
思考與練習
第11章 進程
11.1 進程概述
11.1.1 進程標識
11.1.2 實例:獲得進程id
11.1.3 linux進程的結構
11.1.4 linux進程狀態
11.1.5 linux進程控制塊結構描述
11.2 進程控制
11.2.1 創建進程
11.2.2 實例:創建進程
11.2.3 創建守護進程
11.2.4 實例:創建守護進程
11.2.5 進程退出
11.2.6 改變進程的優先級
11.2.7 執行新程序
11.2.8 等待進程結束
11.2.9 實例:進程等待
11.3 進程的內存映像
11.4 linux進程調度
11.5 進程間通信
11.5.1 管道
11.5.2 有名管道
11.5.3 消息隊列
11.5.4 信號量
11.5.5 共享內存
11.5.6 實例:進程通信
本章小結
思考與練習
第12章 線程
12.1 線程概述
12.2 創建線程
12.2.1 創建線程概述
12.2.2 實例:創建線程
12.3 獲取/設置線程屬性
12.3.1 獲取/設置線程屬性的函數
12.3.2 實例:讀取和設置線程屬性
12.4 取消線程
12.5 線程的私有數據
12.5.1 操作線程私有數據的函數
12.5.2 實例:線程私有數據
12.6 等待線程
12.7 信號量
12.8 互斥鎖
12.8.1 互斥鎖操作函數
12.8.2 實例:互斥鎖
12.9 條件變量
12.9.1 條件變量操作
12.9.2 實例:條件變量使用
本章小結
思考與練習
第13章 linux網絡編程
13.1 網絡編程的基本概念
13.1.1 ip地址
13.1.2 端口
13.1.3 域名
13.1.4 tcp/ip協議
13.1.5 ppp協議
13.2 socket通信
13.2.1 socket概述
13.2.2 socket基礎
13.2.3 socket網絡編程
13.2.4 實例:socket聊天編程
13.2.5 實例:利用socket進行通信
本章小結
思考與練習
第14章 嵌入式視頻采集系統
14.1 系統方案論證
14.2 嵌入式開發平臺搭建
14.2.1 linux操作系統
14.2.2 建立交叉編譯環境
14.3 s3c2440a介紹
14.4 嵌入式軟件平臺
14.4.1 u-boot移植
14.4.2 linux內核移植
14.4.3 根文件系統移植
14.4.4 配置對usb設備的支持
14.4.5 usb攝像頭驅動移植
14.5 視頻采集系統平臺的軟件實現
14.5.1 嵌入式web服務器
14.5.2 嵌入式視頻服務器
本章小結
第15章 指紋識別門禁系統設計
15.1 自動指紋識別系統概述
15.2 指紋識別原理
15.2.1 指紋特征
15.2.2 指紋圖像增強的方法
15.2.3 指紋特征的提取
15.2.4 指紋圖像匹配
15.2.5 指紋識別系統的性能參數
15.3 系統硬件結構介紹
15.4 指紋傳感器u.are.u 4000b sensor
15.5 系統的軟件結構
15.6 linux內核以及bootloader移植
15.7 界面功能介紹
本章小結
第16章 基于web service的嵌入式智能家居系統
16.1 系統概述
16.2 web service介紹
16.3 系統設計
16.4 家庭設備操作
16.5 服務器對外接口的web service實現
16.6 視頻采集
本章小結