新書推薦:
《
悬壶杂记全集:老中医多年临证经验总结(套装3册) 中医医案诊疗思路和处方药应用
》
售價:NT$
614.0
《
无法忍受谎言的人:一个调查记者的三十年
》
售價:NT$
290.0
《
战争社会学专论
》
售價:NT$
540.0
《
剑桥意大利戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
740.0
《
教育何用:重估教育的价值
》
售價:NT$
299.0
《
理想城市:环境与诗性
》
售價:NT$
390.0
《
逆风翻盘 危机时代的亿万赢家 在充满危机与风险的世界里,学会与之共舞并找到致富与生存之道
》
售價:NT$
625.0
《
工业互联网导论
》
售價:NT$
445.0
|
內容簡介: |
本书主要介绍嵌入式Linux接口开发技术,首先介绍Linux的基础知识、嵌入式Linux C的开发基础和Linux系统的文件操作,然后在此基础上详细介绍嵌入式系统常用接口的编程,*后通过一个完整的案例开发来介绍嵌入式系统的综合设计。对于每种接口,本书先介绍其原理,然后通过典型的外设来介绍嵌入式Linux的接口编程。在编程过程中采用示波器和逻辑分析仪来进行验证,通过形象化的手段来提高读者的动手能力,加深读者对本书知识点的理解。
|
關於作者: |
邓宽,男,副教授,博士,毕业于南京理工大学,现为金陵科技学院专任教师。研究方向为嵌入式系统、物联网、通信、人工智能。曾就职于中兴通讯股份有限公司,任职软件工程师。
|
目錄:
|
目 录
第1章 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)
|
|