《嵌入式Linux C語言套用開發教程(移動學習版第2版)》是2018年人民郵電出版社出版的圖書,作者是華清遠見嵌入式學院、劉洪濤、苗德行、高明旭、劉宗鑫。
基本介紹
- 中文名:嵌入式Linux C語言套用開發教程(移動學習版第2版)
- 作者:華清遠見嵌入式學院、劉洪濤、苗德行、高明旭、劉宗鑫
- 出版社:人民郵電出版社
- 出版時間:2018年
- 定價:55 元
- 開本:16 開
- 裝幀: 平裝
- ISBN:9787115472267
內容簡介,圖書目錄,作者簡介,
內容簡介
本書重點介紹嵌入式Linux套用開發的基本概念和核心理論。全書分為10 章,包括嵌嵌入式系統基礎、嵌入式Linux C語言程式開發工具、嵌入式Linux C語言基礎、嵌入式Linux開發環境的搭建、嵌入式Linux檔案I/O編程、嵌入式Linux多任務編程、嵌入式Linux網路編程、嵌入式Linux設備驅動編程、Qt圖形編程和綜合案例——倉庫信息處理系統。本書在講解中給出了翔實的實例,並在部分章節後詳細設計並分析了實驗內容。
本書可作為高等院校計算機類、電子類、電氣類、控制類專業高年級本科生、研究生學習嵌入式Linux套用開發的教材,也可供希望轉入嵌入式領域的科研和工程技術人員參考使用。
圖書目錄
第1章 嵌入式系統基礎
1.1 嵌入式系統概述
1.1.1 嵌入式系統的基本概念
1.1.2 嵌入式系統的體系結構
1.1.3 幾種常用的嵌入式作業系統
1.1.4 嵌入式系統發展趨勢
1.2 ARM處理器硬體開發平台
1.2.1 嵌入式處理器簡介
1.2.2 ARM處理器簡介
1.2.3 Exynos4412處理器簡介
1.3 嵌入式軟體開發流程
1.3.1 嵌入式系統開發概述
1.3.2 嵌入式軟體開發概述
1.4 實驗內容:使用SD-CARD 燒寫EMMC
小結
思考與練習
第2章 嵌入式Linux C語言程式開發工具
2.1 嵌入式Linux下C語言概述
2.2 編輯器vim
2.2.1 vim的基本模式
2.2.2 vim的基本操作
2.3 編譯器gcc
2.3.1 gcc的簡介
2.3.2 gcc的編譯流程
2.3.3 gcc的常用編譯選項
2.4 調試器gdb
2.4.1 gdb的使用流程
2.4.2 gdb的基本命令
2.4.3 gdbserver的遠程調試
2.5 make工程管理器
2.5.1 makefile的基本結構
2.5.2 makefile的變數
2.5.3 makefile的規則
2.5.4 make管理器的使用
2.6 實驗內容
2.6.1 vim使用練習
2.6.2 用gdb調試程式的bug
2.6.3 編寫包含多檔案的makefile
小結
思考與練習
第3章 嵌入式Linux C語言基礎
3.1 預處理
3.1.1 預定義
3.1.2 檔案包含
3.1.3 條件編譯
3.2 C語言中的記憶體分配
3.2.1 C語言程式所含記憶體分類
3.2.2 堆和棧的區別
3.3 程式的可移植性考慮
3.3.1 字長和數據類型
3.3.2 數據對齊
3.3.3 位元組順序
3.4 C和彙編的接口
3.4.1 內嵌彙編的語法
3.4.2 編譯器最佳化
3.4.3 C語言關鍵字volatile
3.5 ARM Linux核心常見數據結構
3.5.1 鍊表
3.5.2 樹、二叉樹、平衡樹
3.5.3 哈希表
小結
思考與練習
第4章 嵌入式Linux開發環境的搭建
4.1 構建嵌入式Linux開發環境
4.1.1 嵌入式交叉編譯環境搭建
4.1.2 主機交叉開發環境配置
4.2 Bootloader
4.2.1 Bootloader的種類
4.2.2 U-Boot編譯與使用
4.2.3 U-Boot移植
4.3 Linux核心與移植
4.3.1 Linux核心結構
4.3.2 Linux核心配置與編譯
4.3.3 Linux設備樹檔案
4.3.4 Linux核心移植
4.4 嵌入式檔案系統構建
小結
思考與練習
第5章 嵌入式Linux檔案I/O編程
5.1 Linux系統調用及用戶編程接口
5.1.1 系統調用
5.1.2 用戶編程接口
5.1.3 系統命令
5.2 Linux檔案I/O系統概述
5.2.1 虛擬檔案系統
5.2.2 通用檔案模型
5.2.3 Linux中檔案及檔案描述符
5.3 底層檔案I/O操作
5.3.1 基本檔案操作
5.3.2 檔案鎖
5.3.3 多路復用
5.4 標準I/O編程
5.4.1 基本操作
5.4.2 其他操作
5.4.3 目錄操作
5.5 實驗內容
小結
思考與練習
第6章 嵌入式Linux多任務編程
6.1 Linux下多任務概述
6.1.1 任務
6.1.2 進程
6.1.3 執行緒
6.2 進程控制編程
6.2.1 進程編程基礎
6.2.2 Linux守護進程
6.3 進程間通信
6.3.1 Linux下進程間通信概述
6.3.2 管道通信
6.3.3 信號通信
6.3.4 信號量
6.3.5 共享記憶體
6.3.6 訊息佇列
6.4 多執行緒編程
6.4.1 執行緒基本編程
6.4.2 執行緒之間的同步與互斥
6.4.3執行緒屬性
6.4.4 執行緒私有數據
6.5 實驗內容
6.5.1 編寫多進程程式
6.5.2 編寫守護進程
6.5.3 有名管道通信實驗
6.5.4 共享記憶體實驗
6.5.5 執行緒池實驗
小結
思考與練習
第7章 嵌入式Linux網路編程
7.1 TCP/IP概述
7.1.1 TCP/IP的分層模型
7.1.2 TCP/IP分層模型特點
7.1.3 TCP/IP核心協定
7.2 網路編程基本知識
7.2.1 套接字概述
7.2.2 地址及順序處理
7.2.3 套接字編程
7.2.4 編程實例
7.3 網路高級編程
7.3.1 非阻塞和異步I/O
7.3.2 使用多路復用
7.4 實驗內容:NTP的客戶端實現
小結
思考與練習
第8章 嵌入式Linux設備驅動編程
8.1 設備驅動編程基礎
8.1.1 Linux設備驅動概述
8.1.2 Linux核心模組編程
8.2 字元設備驅動編程
8.2.1 字元設備驅動編寫流程
8.2.2 重要數據結構
8.2.3 設備驅動程式主要組成
8.2.4 字元設備驅動程式框架
8.3 基於設備樹的字元驅動程式實例
8.4 GPIO驅動程式實例
8.4.1 GPIO工作原理
8.4.2 GPIO驅動程式
8.5 按鍵驅動程式實例
8.5.1 中斷編程
8.5.2 按鍵工作原理
8.5.3 按鍵驅動程式
8.5.4 中斷信息的編寫
小結
思考與練習
第9章 Qt圖形編程
9.1 嵌入式GUI簡介
9.1.1 Qt/Embedded
9.1.2 其他嵌入式圖形用戶界面開發環境
9.2 Qt/Embedded開發入門
9.2.1 Qt/Embedded介紹
9.2.2 Qt/Embedded信號和插槽機制
9.2.3 搭建Qt/Embedded-5.8.0開發環境
9.2.4 Qt/Embedded視窗部件
9.2.5 Qt/Embedded圖形界面編程
9.2.6 Qt/Embedded對話框設計
9.3 實驗內容:使用Qt編寫 “Hello,World”程式
小結
思考與練習
第10章 綜合實例——倉庫信息處理系統
10.1 倉庫信息處理系統概述
10.1.1 系統組成
10.1.2 前端數據中心(Cortex-A9)
10.1.3 顯示中心
10.2 基本數據結構
10.3 功能實現
10.3.1 數據接收模組
10.3.2 數據處理模組
10.3.3 共享記憶體刷新模組
10.3.4 顯示中心
10.3.5 執行緒相關
小結
思考與練習
參考文獻
作者簡介
劉洪濤,北京華清遠見科技信息有限公司技術總監,ARM公司全球認證講師。參與編寫過幾十本專業圖書;國內知名物聯網方向技術顧問;首批高校物聯網專業建設教學指導委員會專家委員會成員;豐富的嵌入式及物聯網系統軟、硬體產品開發經驗;主持開發過多個大型嵌入式及物聯網項目,涉及工業控制、網路、通訊、消費電子等眾多領域。