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