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