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