· 多年嵌入式人才培養及項目研發經驗總結
· 數百家企業嵌入式研發崗位人才需求匯總
· 數十所嵌入式專業大學院校教學現狀調研
· 側重實踐及案例分析并輔以代碼加以講解
本書主要分為3個部分,包括linux基礎、搭建嵌入式linux環境和嵌入式linux的應用開發。linux基礎部分從linux基礎、 基本操作命令講起,為linux初學者能快速入門提供了保證。接著系統地講解了嵌入式linux的環境搭建,以及嵌入式linux的i/o與文件系統的開發、 進程控制開發、進程間通信開發、網絡應用開發、基于中斷的開發、設備驅動程序的開發以及嵌入式圖形界面的開發等,并且還安排了豐富的實驗內 容與課后實踐,使讀者能夠邊學邊用,更快更好地掌握所學知識。
本書可作為高等院校電子類、電氣類、控制類等專業高年級本科生、研究生學習嵌入式linux的教材,也可供希望轉入嵌入式領域的科研 和工程技術人員參考使用,還可作為嵌入式培訓班的教材和參考書。...
第1章linux快速入門
1.1嵌入式linux基礎
1.1.1linux發展概述
1.1.2linux作為嵌入式操作系統的優勢
1.1.3linux發行版本
1.1.4如何學習linux
1.2linux安裝
1.2.1基礎概念
1.2.2硬件需求
1.2.3安裝準備
1.3linux文件及文件系統
1.3.1文件類型及文件屬性
1.3.2文件系統類型介紹
1.3.3linux目錄結構
1.4實驗內容——安裝linux操作系統
1.5本章小結
1.6思考與練習
第2章linux基礎命令
2.1linux常用命令
2.1.1用戶系統相關命令
2.1.2文件相關命令
2.1.3壓縮打包相關命令
2.1.4文件比較合并相關命令
2.1.5網絡相關命令
2.2linux啟動過程詳解
2.2.1概述
2.2.2內核引導階段
2.2.3init階段
2.3linux系統服務
2.3.1獨立運行的服務
2.3.2xinetd設定的服務
2.3.3系統服務的其他相關命令
2.4實驗內容
2.4.1在linux下解壓常見軟件
2.4.2定制linux系統服務
2.5本章小結
2.6思考與練習
第3章linux下c編程基礎
3.1linux下c語言編程概述
3.1.1c語言簡單回顧
3.1.2linux下c語言編程環境概述
3.2常用編輯器
3.2.1進入vi
3.2.2初探emacs
3.3gcc編譯器
3.3.1gcc編譯流程解析
3.3.2gcc編譯選項分析
3.4gdb調試器
3.4.1gdb使用流程
3.4.2gdb基本命令
3.5make工程管理器
3.5.1makefile基本結構
3.5.2makefile變量
3.5.3makefile規則
3.5.4make管理器的使用
3.6使用autotools
3.6.1autotools使用流程
3.6.2使用autotools所生成的makefile
3.7實驗內容
3.7.1vi使用練習
3.7.2用gdb調試程序的bug
3.7.3編寫包含多文件的makefile
3.7.4使用autotools生成包含多文件的makefile
3.8本章小結
3.9思考與練習
第4章嵌入式系統基礎
4.1嵌入式系統概述
4.1.1嵌入式系統簡介
4.1.2嵌入式系統發展歷史
4.1.3嵌入式系統的特點
4.1.4嵌入式系統的體系結構
4.1.5幾種主流嵌入式操作系統分析
4.2arm處理器硬件開發平臺
4.2.1arm處理器簡介
4.2.2arm體系結構簡介
4.2.3arm9體系結構
4.2.4s3c2410處理器詳解
4.3嵌入式軟件開發流程
4.3.1嵌入式系統開發概述
4.3.2嵌入式軟件開發概述
4.4實驗內容——使用jtag燒寫nand flash
4.5本章小結
4.6思考與練習
第5章嵌入式linux開發環境的搭建
5.1嵌入式開發環境的搭建
5.1.1嵌入式交叉編譯環境的搭建
5.1.2超級終端和minicom配置及使用
5.1.3下載映像到開發板
5.1.4編譯嵌入式linux內核
5.1.5linux內核源碼目錄結構
5.1.6制作文件系統
5.2u-boot移植
5.2.1bootloader介紹
5.2.2u-boot概述
5.2.3u-boot源碼導讀
5.2.4u-boot移植主要步驟
5.3實驗內容——創建linux內核和文件系統
5.4本章小結
5.5思考與練習
第6章文件i/o編程
6.1linux系統調用及用戶編程接口(api)
6.1.1系統調用
6.1.2用戶編程接口(api)
6.1.3系統命令
6.2linux中文件及文件描述符概述
6.3底層文件i/o操作
6.3.1基本文件操作
6.3.2文件鎖
6.3.3多路復用
6.4嵌入式linux串口應用編程
6.4.1串口概述
6.4.2串口設置詳解
6.4.3串口使用詳解
6.5標準i/o編程
6.5.1基本操作
6.5.2其他操作
6.6實驗內容
6.6.1文件讀寫及上鎖
6.6.2多路復用式串口操作
6.7本章小結
6.8思考與練習
第7章進程控制開發
7.1linux進程概述
7.1.1進程的基本概念
7.1.2linux下的進程結構
7.1.3linux下進程的模式和類型
7.1.4linux下的進程管理
7.2linux進程控制編程
7.3linux守護進程
7.3.1守護進程概述
7.3.2編寫守護進程
7.3.3守護進程的出錯處理
7.4實驗內容
7.4.1編寫多進程程序
7.4.2編寫守護進程
7.5本章小結
7.6思考與練習
第8章進程間通信
8.1linux下進程間通信概述
8.2管道
8.2.1管道概述
8.2.2管道系統調用
8.2.3標準流管道
8.2.4fifo
8.3信號
8.3.1信號概述
8.3.2信號發送與捕捉
8.3.3信號的處理
8.4信號量
8.4.1信號量概述
8.4.2信號量的應用
8.5共享內存
8.5.1共享內存概述
8.5.2共享內存的應用
8.6消息隊列
8.6.1消息隊列概述
8.6.2消息隊列的應用
8.7實驗內容
8.7.1管道通信實驗
8.7.2共享內存實驗
8.8本章小結
8.9思考與練習
第9章多線程編程
9.1linux線程概述
9.1.1線程概述
9.1.2線程機制的分類和特性
9.2linux線程編程
9.2.1線程基本編程
9.2.2線程之間的同步與互斥
9.2.3線程屬性
9.3實驗內容——“生產者消費者”實驗
9.4本章小結
9.5思考與練習
第10章嵌入式linux網絡編程
10.1tcp/ip概述
10.1.1osi參考模型及tcp/ip參考模型
10.1.2tcp/ip協議族
10.1.3tcp和udp
10.2網絡基礎編程
10.2.1socket概述
10.2.2地址及順序處理
10.2.3socket基礎編程
10.3網絡高級編程
10.4實驗內容——ntp協議實現
10.5本章小結
10.6思考與練習
第11章嵌入式linux設備驅動開發
11.1設備驅動概述
11.1.1設備驅動簡介及驅動模塊
11.1.2設備分類
11.1.3設備號
11.1.4驅動層次結構
11.1.5設備驅動程序與外界的接口
11.1.6設備驅動程序的特點
11.2字符設備驅動編程
11.3gpio驅動程序實例
11.3.1gpio工作原理
11.3.2gpio驅動程序
11.4塊設備驅動編程
11.5中斷編程
11.6按鍵驅動程序實例
11.6.1按鍵工作原理
11.6.2按鍵驅動程序
11.6.3按鍵驅動的測試程序
11.7實驗內容——test驅動
11.8本章小結
11.9思考與練習
第12章qt圖形編程基礎
12.1嵌入式gui簡介
12.1.1qt/embedded
12.1.2minigui
12.1.3microwindows、tiny x等
12.2qt/embedded開發入門
12.2.1qt/embedded介紹
12.2.2qt/embedded信號和插槽機制
12.2.3搭建qt/embedded開發環境
12.2.4qt/embedded窗口部件
12.2.5qt/embedded圖形界面編程
12.2.6qt/embedded對話框設計
12.3實驗內容——使用qt編寫“hello,world”程序
12.4本章小結