《嵌入式Linux C语言应用开发教程》是由人民邮电出版社出版的一本关于Linux方面的书籍,作者是华清远见嵌入式学院,刘洪涛,苗德行,高明,主要介绍了关于嵌入式、Linux、C语言方面的知识内容,目前在Linux类书籍综合评分为:7.9分。
书籍介绍
《嵌入式Linux C语言应用开发教程(移动学习版 第2版)》重点介绍嵌入式Linux应用开发的基本概念和核心理论。全书分为10 章,包括嵌嵌入式系统基础、嵌入式Linux C语言程序开发工具、嵌入式Linux C语言基础、嵌入式Linux开发环境的搭建、嵌入式Linux文件I/O编程、嵌入式Linux多任务编程、嵌入式Linux网络编程、嵌入式Linux设备驱动编程、Qt图形编程和综合案例——仓库信息处理系统。本书在讲解中给出了翔实的实例,并在部分章节后详细设计并分析了实验内容。 本书可作为高等院校计算机类、电子类、电气类、控制类专业高年级本科生、研究生学习嵌入式Linux应用开发的教材,也可供希望转入嵌入式领域的科研和工程技术人员参考使用。
目录
- 第1章 嵌入式系统基础
- 1.1 嵌入式系统概述
- 1.1.1 嵌入式系统的基本概念
- 1.1.2 嵌入式系统的体系结构
- 1.1.3 几种常用的嵌入式操作系统
- 1.1.4 嵌入式系统发展趋势
- 1.2 ARM处理器硬件开发平台
- 1.2.1 嵌入式处理器简介
- 1.2.2 ARM处理器简介
- 1.2.3 Exynos4412处理器简介
- 1.3 嵌入式软件开发流程
- 1.3.1 嵌入式系统开发概述
- 1.3.2 嵌入式软件开发概述
- 1.4 实验内容:使用SD-CARD 烧写EMMC
- 小结
- 思考与练习
- 第2章 嵌入式Linux C语言程序开发工具
- 2.1 嵌入式Linux下C语言概述
- 2.2 编辑器vim
- 2.2.1 vim的基本模式
- 2.2.2 vim的基本操作
- 2.3 编译器gcc
- 2.3.1 gcc的简介
- 2.3.2 gcc的编译流程
- 2.3.3 gcc的常用编译选项
- 2.4 调试器gdb
- 2.4.1 gdb的使用流程
- 2.4.2 gdb的基本命令
- 2.4.3 gdbserver的远程调试
- 2.5 make工程管理器
- 2.5.1 makefile的基本结构
- 2.5.2 makefile的变量
- 2.5.3 makefile的规则
- 2.5.4 make管理器的使用
- 2.6 实验内容
- 2.6.1 vim使用练习
- 2.6.2 用gdb调试程序的bug
- 2.6.3 编写包含多文件的makefile
- 第3章 嵌入式Linux C语言基础
- 3.1 预处理
- 3.1.1 预定义
- 3.1.2 文件包含
- 3.1.3 条件编译
- 3.2 C语言中的内存分配
- 3.2.1 C语言程序所含内存分类
- 3.2.2 堆和栈的区别
- 3.3 程序的可移植性考虑
- 3.3.1 字长和数据类型
- 3.3.2 数据对齐
- 3.3.3 字节顺序
- 3.4 C和汇编的接口
- 3.4.1 内嵌汇编的语法
- 3.4.2 编译器优化
- 3.4.3 C语言关键字volatile
- 3.5 ARM Linux内核常见数据结构
- 3.5.1 链表
- 3.5.2 树、二叉树、平衡树
- 3.5.3 哈希表
- 第4章 嵌入式Linux开发环境的搭建
- 4.1 构建嵌入式Linux开发环境
- 4.1.1 嵌入式交叉编译环境搭建
- 4.1.2 主机交叉开发环境配置
- 4.2 Bootloader
- 4.2.1 Bootloader的种类
- 4.2.2 U-Boot编译与使用
- 4.2.3 U-Boot移植
- 4.3 Linux内核与移植
- 4.3.1 Linux内核结构
- 4.3.2 Linux内核配置与编译
- 4.3.3 Linux设备树文件
- 4.3.4 Linux内核移植
- 4.4 嵌入式文件系统构建
- 第5章 嵌入式Linux文件I/O编程
- 5.1 Linux系统调用及用户编程接口
- 5.1.1 系统调用
- 5.1.2 用户编程接口
- 5.1.3 系统命令
- 5.2 Linux文件I/O系统概述
- 5.2.1 虚拟文件系统
- 5.2.2 通用文件模型
- 5.2.3 Linux中文件及文件描述符
- 5.3 底层文件I/O操作
- 5.3.1 基本文件操作
- 5.3.2 文件锁
- 5.3.3 多路复用
- 5.4 标准I/O编程
- 5.4.1 基本操作
- 5.4.2 其他操作
- 5.4.3 目录操作
- 5.5 实验内容
- 第6章 嵌入式Linux多任务编程
- 6.1 Linux下多任务概述
- 6.1.1 任务
- 6.1.2 进程
- 6.1.3 线程
- 6.2 进程控制编程
- 6.2.1 进程编程基础
- 6.2.2 Linux守护进程
- 6.3 进程间通信
- 6.3.1 Linux下进程间通信概述
- 6.3.2 管道通信
- 6.3.3 信号通信
- 6.3.4 信号量
- 6.3.5 共享内存
- 6.3.6 消息队列
- 6.4 多线程编程
- 6.4.1 线程基本编程
- 6.4.2 线程之间的同步与互斥
- 6.4.3线程属性
- 6.4.4 线程私有数据
- 6.5 实验内容
- 6.5.1 编写多进程程序
- 6.5.2 编写守护进程
- 6.5.3 有名管道通信实验
- 6.5.4 共享内存实验
- 6.5.5 线程池实验
- 第7章 嵌入式Linux网络编程
- 7.1 TCP/IP概述
- 7.1.1 TCP/IP的分层模型
- 7.1.2 TCP/IP分层模型特点
- 7.1.3 TCP/IP核心协议
- 7.2 网络编程基本知识
- 7.2.1 套接字概述
- 7.2.2 地址及顺序处理
- 7.2.3 套接字编程
- 7.2.4 编程实例
- 7.3 网络高级编程
- 7.3.1 非阻塞和异步I/O
- 7.3.2 使用多路复用
- 7.4 实验内容:NTP的客户端实现
- 第8章 嵌入式Linux设备驱动编程
- 8.1 设备驱动编程基础
- 8.1.1 Linux设备驱动概述
- 8.1.2 Linux内核模块编程
- 8.2 字符设备驱动编程
- 8.2.1 字符设备驱动编写流程
- 8.2.2 重要数据结构
- 8.2.3 设备驱动程序主要组成
- 8.2.4 字符设备驱动程序框架
- 8.3 基于设备树的字符驱动程序实例
- 8.4 GPIO驱动程序实例
- 8.4.1 GPIO工作原理
- 8.4.2 GPIO驱动程序
- 8.5 按键驱动程序实例
- 8.5.1 中断编程
- 8.5.2 按键工作原理
- 8.5.3 按键驱动程序
- 8.5.4 中断信息的编写
- 第9章 Qt图形编程
- 9.1 嵌入式GUI简介
- 9.1.1 Qt/Embedded
- 9.1.2 其他嵌入式图形用户界面开发环境
- 9.2 Qt/Embedded开发入门
- 9.2.1 Qt/Embedded介绍
- 9.2.2 Qt/Embedded信号和插槽机制
- 9.2.3 搭建Qt/Embedded-5.8.0开发环境
- 9.2.4 Qt/Embedded窗口部件
- 9.2.5 Qt/Embedded图形界面编程
- 9.2.6 Qt/Embedded对话框设计
- 9.3 实验内容:使用Qt编写 “Hello,World”程序
- 第10章 综合实例——仓库信息处理系统
- 10.1 仓库信息处理系统概述
- 10.1.1 系统组成
- 10.1.2 前端数据中心(Cortex-A9)
- 10.1.3 显示中心
- 10.2 基本数据结构
- 10.3 功能实现
- 10.3.1 数据接收模块
- 10.3.2 数据处理模块
- 10.3.3 共享内存刷新模块
- 10.3.4 显示中心
- 10.3.5 线程相关
- 参考文献