買這商品的人也買了...
-
$539$512 -
$690$538 -
$650$507 -
$602嵌入式協議棧 μC/TCP-IP - 基於 STM32 微控制器
-
$283嵌入式實時操作系統 μC\OS-Ⅲ 應用技術-基於 ARM Cortex-M3LPC1788
-
$207ARM 嵌入式 Linux 系統開發詳解, 2/e
-
$300$237 -
$354$336 -
$948$901 -
$500$390 -
$580$452 -
$245嵌入式 Linux 系統開發入門
-
$620$484 -
$708$673 -
$352Linux C 編程完全解密
-
$354$336 -
$680$537 -
$602嵌入式 C語言自我修養 — 從芯片、編譯器到操作系統
-
$352RISC-V 架構嵌入式系統原理與應用 — CH32V103 單片機編程與項目實踐
-
$954$906 -
$714$678 -
$880$695 -
$780$515 -
$780$608 -
$600$468
相關主題
商品描述
本書主要介紹嵌入式Linux接口開發技術,首先介紹Linux的基礎知識、嵌入式Linux C的開發基礎和Linux系統的文件操作,然後在此基礎上詳細介紹嵌入式系統常用接口的編程,最後通過一個完整的案例開發來介紹嵌入式系統的綜合設計。對於每種接口,本書先介紹其原理,然後通過典型的外設來介紹嵌入式Linux的接口編程。在編程過程中採用示波器和邏輯分析儀來進行驗證,通過形象化的手段來提高讀者的動手能力,加深讀者對本書知識點的理解。
作者簡介
鄧寬,男,副教授,博士,畢業於南京理工大學,現為金陵科技學院專任教師。
研究方向為嵌入式系統、物聯網、通信、人工智能。
曾就職於中興通訊股份有限公司,任職軟件工程師。
目錄大綱
目錄
第壹章Linux基礎(1)
1.1 Linux簡介(1)
1.1.1 Linux的發展(1)
1.1.2常見的Linux發行版(1)
1.1.3 Linux系統的下載(2)
1.2在虛擬機上安裝Linux系統(3)
1.2.1什麼是虛擬機(3)
1.2.2 VMware Workstation虛擬機的配置(3)
1.2.3安裝Linux系統(7)
1.2.4使用Ubuntu系統的注意事項(10)
1.3 Linux的文件系統(14)
1.4 Linux系統的常用命令(16)
1.4.1系統命令(16)
1. 4.2文本文件編輯命令(19)
1.4.3工作目錄命令(20)
1.4.4打包壓縮與搜索命令(23)
1.4.5命令在Linux系統中的執行(25)
1 .5鏈接方式(26)
1.5.1軟鏈接和硬鏈接(26)
1.5.2 ln命令(26)
1.6輸入/輸出重定向、管道符與環境變量(27)
1.6.1輸入/輸出重定向(27)
1.6.2管道符(29)
1.6.3重要的環境變量(29)
1.7 Vim編輯器與Shell腳本命令(30)
1. 7.1 Vim編輯器(30)
1.7.2 Shell腳本命令(32)
1.8用戶身份與文件權限(35)
1.8.1 passwd命令(35)
1.8.2文件權限(36 )
1.8.3 chmod命令(37)
1.8.4 su命令與sudo命令(37)
練習題1 (38)
第2章嵌入式Linux C開發基礎(41)
2.1 C語言概述(41 )
2.2嵌入式Linux C開發工具(41)
2.3嵌入式編譯器gcc (42)
2.3.1初識gcc編譯器(43)
2.3.2 gcc命令的常用選項及編譯過程(43)
2.3.3庫的使用(45)
2.4構建工具(47)
2.4.1 Makefile文件(47)
2.4.2 Makefile文件的特性(49)
練習題2 (52)
第3章Linux系統的文件操作(55)
3.1 Linux系統的文件類型(55)
3.2 Linux系統的文件描述符(56)
3.3不帶緩存的文件I/O操作涉及的函數( 56)
3.3.1 creat函數(57)
3.3.2 open函數(58)
3.3.3 read函數(61)
3.3.4 write函數(61)
3.3.5 lseek函數( 61)
3.3.6 close函數(62)
3.3.7經典範例:文件複製(62)
3.4帶緩存的文件I/O操作涉及的函數(64)
3.4.1標準I/ O庫中的緩存類型(64)
3.4.2 fopen函數(66)
3.4.3 fclose函數(67)
3.4.4 fwrite函數(67)
3.4.5 fread函數(68)
3 .4.6 fseek函數(69)
3.4.7 fgetc、getc和getchar函數(70)
3.4.8 fputc、putc和putchar函數(72)
3.4.9字符串讀取函數fgets與gets (74)
3.5格式化輸入/輸出函數(76)
3.5.1格式化輸入函數:scanf、fscanf和sscanf (76)
3.5.2格式化輸出函數:printf、fprintf和sprintf (78)
練習題3 (81)
第4章嵌入式開發板(83)
4.1嵌入式開發板簡介(83)
4.1.1嵌入式開發板的核心板(85)
4.1.2嵌入式開發板的底板(87)
4.2嵌入式Linux系統的安裝和嵌入式開發板的初步使用(92)
4.2.1在嵌入式開發板中安裝嵌入式Linux系統(92)
4.2.2嵌入式開發板的初步使用(93)
4.2.3文件傳輸(98)
4.3編譯方式(100)
練習題4 (102)
第5章嵌入式Linux接口編程:GPIO和PWM (103)
5.1示波器的基本用法(103)
5.1.1示波器簡介(103)
5.1.2示波器的觸發方式和触發條件(107)
5.1.3示波器的運算功能(109)
5.2 GPIO編程( 110)
5.2.1 bsp_gpio接口函數簡介(112)
5.2.2 GPIO的輸入和輸出(114)
5.2.3通過示波器三種觸發方式觀察電壓信號波形(116)
5.3 PWM編程(118)
5.3.1 PWM原理(118)
5 .3.2 bsp_pwm接口函數簡介(119)
5.3.3通過軟件PWM控制LED的亮滅(120)
5.3.4通過硬件PWM控制蜂鳴器的聲音(121)
5.3.5軟件PWM和硬件PWM的對比(123)
練習題5 (125)
第6章嵌入式Linux接口編程:UART (127)
6.1串行通信協議的基礎(127)
6.1.1串行通信協議的數據格式(127)
6.1.2串行通信協議的電氣規則和電路連接方式(129)
6.2 UART接口信號的波形分析(130)
6.2.1 UART接口信號的生成(130)
6 .2.2通過示波器捕獲UART接口信號的波形(131)
6.2.3通過邏輯分析儀捕獲UART接口信號的波形(133)
6.3 UART編程(137)
6.3.1嵌入式Linux的UART接口函數(137)
6.3.2串口測試程序(138)
6.4藍牙模塊的原理與編程(141)
6.4.1藍牙模塊的原理(141)
6.4.2藍牙模塊的接口函數(141)
6.4.3藍牙模塊的編程(145)
6 .5 485型溫濕度傳感器的原理與編程(148)
6.5.1 RS-485接口的通信原理(149)
6.5.2 485型溫濕度傳感器簡介(151)
6.5.3 485型溫濕度傳感器接口函數(152)
6.5.4 485型溫濕度傳感器的編程(155)
練習題6 (157)
第7章嵌入式Linux接口編程:I2C (159)
7.1 I2C總線協議的基礎(159)
7.1.1 I2C總線的物理層特點(160)
7.1.2 I2C總線的通信時序(160)
7.2 I2C總線的接口函數(163)
7.3通過邏輯分析儀測試I2C總線協議(167)
7.4 ADC和DAC的原理與編程(169)
7.4.1 PCF8591芯片的基礎知識(170)
7.4.2 PCF8591芯片的接口函數(172)
7.4.3 PCF8591芯片的編程(173)
7.5 E2PROM的原理與編程(175)
7.5.1 AT24C02芯片的基礎知識(176)
7.5.2 AT24C02芯片的接口函數(178)
7.5.3 AT24C02芯片的編程(179)
7 .6 OLED顯示屏的原理與編程(181)
7.6.1 OLED顯示屏的原理(181)
7.6.2 OLED顯示屏的接口函數(183)
7.6.3 OLED顯示屏的編程( 187)
練習題7 (190)
第8章嵌入式Linux接口編程:SPI (193)
8.1 SPI總線協議的基礎(193)
8.1.1 SPI總線的接口定義(193)
8.1.2單從機模式(194)
8.1.3多從機模式(194)
8.1.4 SPI總線的起始信號和停止信號(194)
8.1.5 SPI總線的數據有效性(194)
8.1.6 SPI總線的通信模式(195)
8.2 SPI總線的接口函數(196)
8.3通過邏輯分析儀測試SPI總線的信號波形(199)
8.4三軸加速度傳感器的原理與編程(201)
8.4.1 ADXL345芯片的工作原理(202)
8.4.2 ADXL345芯片的接口函數(206)
8.4.3 ADXL345芯片的編程(210)
8.5 UART、I2C和SPI的對比(213 )
練習題8 (213)
第9章嵌入式系統的綜合設計(215)
9.1嵌入式系統開發流程(215)
9.2基於RS-485的分佈式溫濕度監控和報警系統(216)
9 .2.1項目論證和需求(216)
9.2.2系統的總體設計(216)
9.2.3系統硬件的設計(217)
9.2.4系統通信協議的設計(218)
9. 2.5系統軟件的設計(220)
9.2.6系統的測試和調試(228)
附錄A底板電路圖(231)
參考文獻(233)