Linux嵌入式系統(tǒng)開發(fā)從小白到大牛
定 價(jià):119 元
叢書名:Linux技術(shù)與應(yīng)用叢書
- 作者:趙凱
- 出版時(shí)間:2021/7/1
- ISBN:9787111683100
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP316.85
- 頁碼:288
- 紙張:
- 版次:
- 開本:16開
《Linux嵌入式系統(tǒng)開發(fā)從小白到大!返淖谥际亲屪x者緊跟書中內(nèi)容的安排順序并結(jié)合具體案例進(jìn)行學(xué)習(xí),*終可以獨(dú)立編寫個(gè)人的嵌入式Linux系統(tǒng)。全書共16章,在章節(jié)安排上本著由易到難、深入淺出的原則,具體內(nèi)容如下。第1~3章主要介紹Linux嵌入式開發(fā)的基礎(chǔ)知識(shí);第4、5章分別從硬件角度和軟件角度分析嵌入式Linux學(xué)習(xí)的相關(guān)工具;第6~9章是本書的重點(diǎn),分別對(duì)Makefile、U-boot、內(nèi)核和根文件系統(tǒng)進(jìn)行了詳細(xì)介紹。第10~12章介紹了Linux的驅(qū)動(dòng)開發(fā),是本書的難點(diǎn)內(nèi)容,也是嵌入式Linux 系統(tǒng)工程師必須掌握的內(nèi)容。第13~16章結(jié)合當(dāng)下物聯(lián)網(wǎng)、車聯(lián)網(wǎng)等熱門技術(shù)領(lǐng)域知識(shí),完成了4個(gè)綜合項(xiàng)目案例。
《Linux嵌入式系統(tǒng)開發(fā)從小白到大!愤m合廣大從事嵌入式Linux系統(tǒng)開發(fā)的技術(shù)人員、嵌入式Linux系統(tǒng)開發(fā)愛好者以及大中專院校相關(guān)專業(yè)的學(xué)生閱讀,相關(guān)培訓(xùn)院校及高校教師亦可將本書作為教材或參考書。
前言
第1章Linux嵌入式系統(tǒng)入門
1.1小白也要懂——嵌入式系統(tǒng)的應(yīng)用和發(fā)展
1.2嵌入式系統(tǒng)與嵌入式操作系統(tǒng)
1.2.1什么是嵌入式系統(tǒng)
1.2.2什么是嵌入式操作系統(tǒng)
1.3嵌入式系統(tǒng)的分類與特點(diǎn)
1.3.1嵌入式系統(tǒng)的分類
1.3.2嵌入式系統(tǒng)的特點(diǎn)
1.4嵌入式操作系統(tǒng)架構(gòu)
1.5Linux系統(tǒng)版本
1.5.1Linux系統(tǒng)分類
1.5.2Ubuntu操作系統(tǒng)的版本
1.6【案例實(shí)戰(zhàn)】Linux系統(tǒng)環(huán)境搭建
1.6.1虛擬機(jī)安裝Ubuntu操作系統(tǒng)
1.6.2樹莓派安裝Ubuntu操作系統(tǒng)
1.7要點(diǎn)鞏固
1.8技術(shù)大牛訪談——嵌入式系統(tǒng)的一般開發(fā)流程
第2章Linux操作系統(tǒng)基礎(chǔ)知識(shí)
2.1小白也要懂——操作系統(tǒng)的功能
2.2Linux操作系統(tǒng)基本命令
2.2.1Linux操作系統(tǒng)權(quán)限管理
2.2.2Linux常用基本命令
2.3Linux操作系統(tǒng)下的vi和vim編輯器
2.3.1vi的基本操作
2.3.2vim的基本操作
2.4鏈接文件
2.5跨平臺(tái)的文件傳輸協(xié)議
2.5.1什么是FTP
2.5.2虛擬機(jī)Linux系統(tǒng)啟用FTP服務(wù)
2.6【案例實(shí)戰(zhàn)】Hello World!兩種編程方式
2.7要點(diǎn)鞏固
2.8技術(shù)大牛訪談——Linux操作系統(tǒng)架構(gòu)
第3章Linux嵌入式系統(tǒng)下編程
3.1小白也要懂——C語言的發(fā)展過程
3.2Linux系統(tǒng)下C語言的編程基礎(chǔ)
3.2.1記住標(biāo)識(shí)符
3.2.2C語言中的數(shù)據(jù)
3.2.3運(yùn)算符和表達(dá)式
3.2.4C語言的三種基本結(jié)構(gòu)
3.3Linux系統(tǒng)下C語言的進(jìn)階編程
3.3.1C語言的數(shù)組
3.3.2C語言的指針
3.3.3C語言的函數(shù)
3.3.4C語言的構(gòu)造數(shù)據(jù)類型
3.4Linux系統(tǒng)下C語言的高階編程
3.4.1C語言的文件操作
3.4.2C語言的隊(duì)列操作
3.4.3C語言的鏈表操作
3.4.4C語言的排序算法
3.5【案例實(shí)戰(zhàn)】學(xué)生成績信息管理系統(tǒng)
3.6要點(diǎn)鞏固
3.7技術(shù)大牛訪談——GNU C和標(biāo)準(zhǔn)C的差異
第4章Linux嵌入式硬件系統(tǒng)
4.1小白也要懂——微處理器字節(jié)序列存儲(chǔ)的大小端模式
4.2嵌入式微處理器的系統(tǒng)架構(gòu)
4.2.1馮·諾依曼計(jì)算機(jī)系統(tǒng)
4.2.2指令系統(tǒng)
4.2.3微處理器的內(nèi)核架構(gòu)
4.3嵌入式硬件系統(tǒng)的基本組成部分
4.3.1時(shí)鐘系統(tǒng)
4.3.2中斷系統(tǒng)
4.3.3總線
4.3.4存儲(chǔ)系統(tǒng)
4.3.5嵌入式微處理器片上外部設(shè)備
4.4【案例實(shí)戰(zhàn)】微處理器的兩種編程方式
4.4.1微處理器裸機(jī)系統(tǒng)的GPIO操作
4.4.2微處理器移植Linux系統(tǒng)的GPIO操作
4.5要點(diǎn)鞏固
4.6技術(shù)大牛訪談——嵌入式系統(tǒng)微處理器選型方案
第5章Linux嵌入系統(tǒng)之交叉編譯
5.1小白也要懂——gcc編譯器的工作流程
5.2Linux下gcc編譯器的使用方法
5.3gdb調(diào)試工具的使用方法
5.4什么是交叉編譯
5.5構(gòu)建交叉編譯工具鏈
5.6【案例實(shí)戰(zhàn)】交叉編譯工具鏈的下載與安裝
5.7要點(diǎn)鞏固
5.8技術(shù)大牛訪談——編譯器和解釋器的區(qū)別
第6章Makefile的基礎(chǔ)知識(shí)
6.1小白也要懂——make命令的執(zhí)行過程
6.2Makefile語法基礎(chǔ)
6.3Makefile一般書寫格式
6.4Makefile變量的引用與賦值
6.5Makefile模式規(guī)則與自動(dòng)變量
6.6Makefile偽目標(biāo)
6.7Makefile條件判斷
6.8【案例實(shí)戰(zhàn)】編寫自己的Makefile文件
6.9要點(diǎn)鞏固
6.10技術(shù)大牛訪談——Makefile 函數(shù)的使用
第7章Linux嵌入系統(tǒng)之U-boot
7.1小白也要懂——Bootloader與U-boot的區(qū)別
7.2U-boot概述
7.2.1選擇正確的U-boot版本
7.2.2查看U-boot目錄結(jié)構(gòu)
7.3關(guān)于 U-boot的源代碼編譯與GUI界面
7.3.1編譯 U-boot
7.3.2U-boot的GUI界面
7.4U-boot的Makefile代碼分析
7.5U-boot啟動(dòng)流程
7.5.1U-boot啟動(dòng)階段1
7.5.2U-boot啟動(dòng)階段2
7.6【案例實(shí)戰(zhàn)】IMX6ULL開發(fā)板移植U-boot
7.7要點(diǎn)鞏固
7.8技術(shù)大牛訪談——U-boot在實(shí)際項(xiàng)目中的作用
第8章Linux嵌入式系統(tǒng)之內(nèi)核
8.1小白也要懂——關(guān)于Linux體系結(jié)構(gòu)和內(nèi)核結(jié)構(gòu)
8.2Linux內(nèi)核的子系統(tǒng)
8.2.1虛擬文件系統(tǒng)
8.2.2進(jìn)程管理子系統(tǒng)
8.2.3進(jìn)程通信子系統(tǒng)
8.2.4內(nèi)存管理子系統(tǒng)
8.2.5設(shè)備驅(qū)動(dòng)子系統(tǒng)
8.3Linux內(nèi)核的配置和編譯
8.3.1選擇正確的Linux內(nèi)核
8.3.2編譯Linux內(nèi)核
8.3.3查看Linux內(nèi)核的目錄結(jié)構(gòu)
8.3.4Linux內(nèi)核的GUI界面
8.3.5Linux內(nèi)核的鏡像與Makefile
8.4Linux內(nèi)核的啟動(dòng)過程
8.5【案例實(shí)戰(zhàn)】IMX6ULL移植Linux內(nèi)核
8.6要點(diǎn)鞏固
8.7技術(shù)大牛訪談——淺析init進(jìn)程
第9章構(gòu)建嵌入式Linux根文件系統(tǒng)
9.1小白也要懂——Linux系統(tǒng)中的文件系統(tǒng)
9.2根文件系統(tǒng)概述
9.3Busybox安裝與編譯過程
9.3.1Busybox簡介
9.3.2Busybox的安裝與配置
9.3.3Busybox的編譯
9.4構(gòu)建根文件系統(tǒng)
9.4.1需要的庫文件
9.4.2添加其他的文件操作
9.4.3優(yōu)化根文件系統(tǒng)
9.5【案例實(shí)戰(zhàn)】根文件系統(tǒng)的移植測(cè)試
9.6要點(diǎn)鞏固
9.7技術(shù)大牛訪談——其他根文件系統(tǒng)的構(gòu)建工具
第10章Linux嵌入式系統(tǒng)之設(shè)備驅(qū)動(dòng)
10.1小白也要懂——設(shè)備驅(qū)動(dòng)分類
10.2字符設(shè)備驅(qū)動(dòng)的理論基礎(chǔ)
10.2.1字符設(shè)備驅(qū)動(dòng)的一般流程
10.2.2設(shè)備號(hào)
10.3編寫字符設(shè)備驅(qū)動(dòng)程序
10.3.1舊版本字符設(shè)備驅(qū)動(dòng)程序
10.3.2新版本字符設(shè)備驅(qū)動(dòng)程序
10.3.3字符設(shè)備驅(qū)動(dòng)程序的通用操作
10.4【案例實(shí)戰(zhàn)】字符設(shè)備驅(qū)動(dòng)的移植測(cè)試
10.5要點(diǎn)鞏固
10.6技術(shù)大牛訪談——塊設(shè)備驅(qū)動(dòng)概述
第11章Linux嵌入式系統(tǒng)之設(shè)備樹
11.1小白也要懂——設(shè)備樹的基礎(chǔ)知識(shí)
11.2設(shè)備樹的基礎(chǔ)語法
11.2.1設(shè)備樹節(jié)點(diǎn)
11.2.2節(jié)點(diǎn)屬性
11.2.3設(shè)備樹常用的操作函數(shù)
11.3基于設(shè)備樹的pinctrl和gpio子系統(tǒng)
11.3.1pinctrl 子系統(tǒng)
11.3.2gpio子系統(tǒng)
11.4基于設(shè)備樹的platform設(shè)備驅(qū)動(dòng)
11.4.1platform驅(qū)動(dòng)模型
11.4.2設(shè)備樹下platform 驅(qū)動(dòng)的編寫
11.5【案例實(shí)戰(zhàn)】基于設(shè)備樹的platform設(shè)備驅(qū)動(dòng)移植
11.6要點(diǎn)鞏固
11.7技術(shù)大牛訪談——設(shè)備驅(qū)動(dòng)的分層和分離思想
第12章Linux嵌入式系統(tǒng)之驅(qū)動(dòng)技術(shù)
12.1小白也要懂——Linux系統(tǒng)下驅(qū)動(dòng)程序框架概述
12.1.1驅(qū)動(dòng)程序與系統(tǒng)的接口
12.1.2驅(qū)動(dòng)程序加載到內(nèi)核的流程
12.2Linux異常處理——中斷處理
12.2.1中斷API函數(shù)功能
12.2.2Linux內(nèi)核中斷機(jī)制
12.3Linux并發(fā)與競(jìng)爭(zhēng)
12.3.1原子操作
12.3.2自旋鎖
12.3.3信號(hào)量
12.3.4互斥體
12.4Linux阻塞和非阻塞IO
12.4.1阻塞IO策略的實(shí)現(xiàn)——等待隊(duì)列
12.4.2非阻塞IO策略的實(shí)現(xiàn)——輪詢
12.5【案例實(shí)戰(zhàn)】按鍵中斷實(shí)驗(yàn)
12.6要點(diǎn)鞏固
12.7技術(shù)大牛訪談——file_operations結(jié)構(gòu)體代碼分析
第13章自動(dòng)控制系統(tǒng)應(yīng)用實(shí)例——自動(dòng)澆灌系統(tǒng)
13.1小白也要懂——自動(dòng)澆灌系統(tǒng)項(xiàng)目背景介紹
13.2自動(dòng)澆灌系統(tǒng)的功能設(shè)計(jì)
13.3自動(dòng)澆灌系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)
13.4自動(dòng)澆灌系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)
13.4.1驅(qū)動(dòng)程序
13.4.2應(yīng)用程序的編寫
13.5自動(dòng)澆灌系統(tǒng)的聯(lián)合調(diào)試
13.6要點(diǎn)鞏固
13.7技術(shù)大牛訪談——自動(dòng)化控制系統(tǒng)的組成部分
第14章物聯(lián)網(wǎng)應(yīng)用實(shí)例——智能快遞柜系統(tǒng)
14.1小白也要懂——智能快遞柜系統(tǒng)項(xiàng)目背景
14.2智能快遞柜系統(tǒng)的功能設(shè)計(jì)
14.3智能快遞柜系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)
14.4智能快遞柜系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)
14.5智能快遞柜系統(tǒng)的聯(lián)合調(diào)試
14.6要點(diǎn)鞏固
14.7技術(shù)大牛訪談——Linux嵌入式開發(fā)板串口驅(qū)動(dòng)框架
第15章車聯(lián)網(wǎng)應(yīng)用實(shí)例——車身控制系統(tǒng)
15.1小白也要懂——車身控制系統(tǒng)項(xiàng)目背景
15.2車身控制系統(tǒng)的功能設(shè)計(jì)
15.3車身控制系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)
15.4車身控制系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)
15.5車身控制系統(tǒng)的聯(lián)合調(diào)試
15.6要點(diǎn)鞏固
15.7技術(shù)大牛訪談——Linux系統(tǒng)下的CAN驅(qū)動(dòng)框架
第16章人工智能應(yīng)用實(shí)例——語音識(shí)別控制系統(tǒng)
16.1小白也要懂——語音識(shí)別技術(shù)
16.2語音識(shí)別控制系統(tǒng)的功能設(shè)計(jì)
16.3語音識(shí)別控制系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)
16.4語音識(shí)別控制系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)
16.5【案例實(shí)戰(zhàn)】語音識(shí)別控制系統(tǒng)的聯(lián)合調(diào)試
16.6要點(diǎn)鞏固
16.7技術(shù)大牛訪談——ReSpeaker 2Mics Pi HAT驅(qū)動(dòng)環(huán)境的安裝