内容介绍
《嵌入式软件设计》基于市场占有率非常高的ARM处理器、应用非常广泛的嵌入式Linux操作系统和非常受嵌入式程序员青睐的C语言,系统地介绍嵌入式软件工作原理、设计方法、开发工具和编程手段,同时也讲授基于Cortex核ARM处理器的裸机直接编程方法,Z后通过一个“人体动作识别系统”案例,向读者展示软件工程中需求分析、系统设计、系统实现、系统测试的完整流程。
《嵌入式软件设计》为新形态教材,配有完整的授课视频、PPT课件、代码源文件和工程项目文件,适合作为高校计算机和软件工程相关专业三、四年级本科生或研究生教材使用,也适合嵌入式行业相关人员自学选用。《嵌入式软件设计》力争提供尽可能丰富的教学资源,使读者通过有针对性的学习,缩短理论与实践的差距,达到高效率学习的目的。
《嵌入式软件设计》特色:
典型性:开发环境选用主流的ARM处理器/嵌入式Linux操作系统和C语言,通过大量典型电路模块介绍嵌入式软件编程方法。
工程性:通过案例贯穿软件工程思想,介绍需求分析、系统设计、系统实现、系统测试的完整嵌入式系统设计流程。
立体化:配套完备的教学视频、多媒体课件、代码工程文件。
MOOC教学:“嵌入式软件设计”课程已在“中国大学MOOC”网站上线,提供完整教学内容及更多线上资源。
目录
DY章 绪论
1.1 嵌入式系统概述
1.1.1 计算机的发展和分类
1.1.2 嵌入式系统概述
1.1.3 嵌入式系统的组成
1.1.4 嵌入式系统的发展
1.2 嵌入式系统开发流程
1.3 嵌入式软件设计
1.3.1 嵌入式系统开发语言
1.3.2 嵌入式系统开发工具
1.4 本书内容简介
第2章 嵌入式Linux开发环境
2.1 交叉开发环境
2.2 Linux开发工具链
2.2.1 Linux开发工具链简介
2.2.2 GNU交叉开发环境的建立
2.3 编辑器
2.4 编译器
2.4.1 gcc简介
2.4.2 gcc的基本用法
2.5 链接器
2.6 调试器
2.7 自动化编译配置文件
2.7.1 自动化编译配置文件简介
2.7.2 Makefile规则
2.7.3 Makefile的变量
2.7.4 Makefile的执行
2.7.5 make命令的内嵌函数
2.7.6 make命令的常见错误信息
第3章 嵌入式系统软件平台构建
3.1 嵌入式系统软件平台概述
3.2 BootLoader
3.2.1 BootLoader概述
3.2.2 BootLoader框架
3.2.3 BootLoader代码分析
3.2.4 vivi
3.3 内核编译
3.3.1 2.4 版本嵌入式Linux操作系统内核编译
3.3.2 2.6 版本嵌入式Linux操作系统内核编译
3.4 BusyBox
3.5 文件系统
3.5.1 Linux系统中常见的文件系统
3.5.2 构建YAFFS2文件系统
3.6 应用程序设计流程
3.6.1 交叉编译
3.6.2 执行程序
第4章 嵌入式C语言基础
4.1 嵌入式C语言概述
4.1.1 C语言的历史和特点
4.1.2 预处理指令
4.1.3 位运算
4.1.4 函数指针
4.1.5 C程序的移植
4.2 GNUC扩展
4.3 嵌入式C程序架构
4.3.1 嵌入式C程序
4.3.2 人机界面
4.3.3 指针的使用方法
4.4 ARMC程序设计优化
4.4.1 编译器的特性
4.4.2 数据类型对程序效率的影响
4.4.3 循环方式对程序效率的影响
4.4.4 指针对程序效率的影响
4.4.5 边界对齐对程序效率的影响
4.5 C语言编程规范
第5章 嵌入式Linux程序设计基础
5.1 错误处理机制
5.1.1 C语言的错误处理机制
5.1.2 系统日志文件
5.2 文件目录和内存操作
5.2.1 文件操作
5.2.2 目录操作
5.2.3 内存操作
5.3 进程控制
5.3.1 创建进程
5.3.2 exec系统调用
5.3.3 等待进程结束
5.3.4 杀死进程
5.4 线程控制
5.4.1 线程概述
5.4.2 多线程程序设计方法
5.4.3 线程同步
5.4.4 线程属性
5.4.5 线程取消
5.5 Linux库
5.5.1 Linux库概述
5.5.2 库操作工具
5.5.3 静态库
5.5.4 共享库
5.5.5 动态链接库
……
第6章 嵌入式Linux程序设计进阶
第7章 嵌入式Linux内核驱动程序设计
第8章 STM32F103软件设计
第9章 STM32F401软件设计
DY0章 嵌入式系统综合案例设计
附录
参考文献