《嵌入式 Linux C 语言应用程序设计(修订版)》——导读

简介:


screenshot

前 言

嵌入式行业背景

进入后PC时代后,嵌入式系统在我们的生活中无处不在,我们每天都会接触很多的嵌入式产品,嵌入式产品方便了人们的生活,同时也给厂家带来巨大的利润。

嵌入式开发是当今计算机应用最热门的领域之一,广泛应用于汽车电子、无线通信、智能手机、便携式产品、数码相机、数字电视、数字机顶盒等领域,一时间,嵌入式开发人才非常紧缺。

嵌入式软件开发如何入门

嵌入式系统入门需要掌握嵌入式操作系统的原理并学会嵌入式应用程序的开发。

嵌入式Linux是源代码开放的嵌入式操作系统,是当今最优秀的嵌入式操作系统之一,得到众厂商的青睐,在工程实践中应用十分广泛,各高等院校的嵌入式系统课程也多采用嵌入式Linux进行教学工作。

嵌入式应用程序一般是在嵌入式操作系统之上进行开发的,在实际开发中应用广泛,是初学者入门的很好的选择。

嵌入式C语言至关重要

嵌入式Linux内核的大部分代码是由C语言编写的,嵌入式Linux应用程序也多由C语言编写,因此掌握嵌入式C语言对于嵌入式学习非常重要。

嵌入式Linux C语言代码编辑器、代码编译器以及代码调试器的使用对于初学者来说非常关键,本书对其进行了详细讲解,并配以实例加以说明,帮助读者尽快上手。

嵌入式C语言的语法是编写嵌入式应用程序的基础和规则,是读者必须掌握的内容,本书第4章至第8章对嵌入式Linux C语言的语法进行了详细讲解,并配合嵌入式Linux内核源代码进行分析、说明,使读者在嵌入式开发的实际环境中深刻理解嵌入式C语言的语法。

嵌入式系统结构

嵌入式系统由嵌入式硬件系统和嵌入式软件系统组成。

嵌入式硬件系统由嵌入式处理器和嵌入式系统外围器件组成。

嵌入式软件系统由嵌入式操作系统和嵌入式应用程序组成。

本书的主要内容

本书共13章,第1章主要讲解嵌入式系统的概念,通过这一章的学习,读者可以掌握什么是嵌入式系统、嵌入式系统与PC机的区别以及嵌入式应用软件的开发过程等。

第2章和第3章主要讲解如何构建嵌入式Linux的开发环境以及常见开发工具的使用方法。希望读者能够跟随本书中的实例实际动手操作,切实掌握这些开发工具的使用方法。

第4章至第8章讲解的是嵌入式Linux C语言的语法及常见数据结构。在这里,结合Linux内核源码进行讲解,读者可以看到Linux内核是如何规范、高效地使用C语言的。

本书的第9章至第12章详细讲解了嵌入式Linux中的文件I/O开发、进程线程开发、网络开发和驱动开发等,每一章都配有相应的实例进行讲解。

本书的第13章视频监控系统是一个综合性的实例,该实例综合运用了前面各章的内容,读者可以通过该实例综合掌握前面各章的内容。

本书适合的读者

  • Linux爱好者;
  • 嵌入式系统初学者;
  • 大专院校嵌入式相关专业师生;
  • 嵌入式系统工程师。

编 者

2013年11月

目 录

[第 1 章 嵌入式系统基础知识
1.1 嵌入式系统概述](https://yq.aliyun.com/articles/99498/)
1.1.1 嵌入式系统的发展史
1.1.2 嵌入式系统的定义与特点
1.1.3 嵌入式系统的特点
1.2 嵌入式系统的组成
1.2.1 嵌入式系统的硬件架构
1.2.2 嵌入式操作系统
1.2.3 嵌入式应用软件
1.3 ARM处理器平台介绍
1.3.1 ARM处理器简介
1.3.2 ARM处理器系列
1.3.3 ARM体系结构简介
1.3.4 S3C2410处理器简介
1.4 嵌入式系统硬件平台选型
1.4.1 硬件平台的选择
1.4.2 ARM处理器选型
1.5 嵌入式系统开发概述
1.5.1 嵌入式系统开发流程
1.5.2 嵌入式软件开发流程
本章小结
[第 2 章 嵌入式Linux C语言开发工具
2.1 嵌入式Linux下C语言概述](https://yq.aliyun.com/articles/99519/)
2.1.1 C语言简史
2.1.2 C语言特点
2.1.3 嵌入式Linux C语言编程环境
2.2 嵌入式Linux编辑器vi的使用
2.2.1 vi的基本模式
2.2.2 vi的基本操作
2.2.3 vi的使用实例分析
2.3 嵌入式Linux编译器GCC的使用
2.3.1 GCC概述
2.3.2 GCC编译流程分析
2.3.3 GCC警告提示
2.3.4 GCC使用库函数
2.3.5 GCC代码优化
2.4 嵌入式Linux调试器GDB的使用
2.4.1 GDB使用实例
2.4.2 设置/删除断点
2.4.3 数据相关命令
2.4.4 调试运行环境相关命令
2.4.5 堆栈相关命令
2.5 make工程管理器
2.5.1 Makefile基本结构
2.5.2 Makefile变量
2.5.3 Makefile规则
2.5.4 make使用
本章小结
第 3 章 构建嵌入式Linux系统
第 4 章 嵌入式Linux C语言基础——数据、表达式
第 5 章 嵌入式Linux C语言础——控制语句及函数
第 6 章 嵌入式Linux C语言基础——
第 7 章 嵌入式Linux C语言基础——高级议题
第 8 章 嵌入式Linux C语言基础——ARM Linux内核常见数据结构
第 9 章 文件I/O相关实例
第 10 章 ARM Linux进程线程开发实例
第 11 章 ARM Linux网络开发实例
第 12 章 嵌入式Linux设备驱动开发
第 13 章 视频监控系统

相关文章
|
5月前
|
消息中间件 存储 缓存
【嵌入式软件工程师面经】Linux系统编程(线程进程)
【嵌入式软件工程师面经】Linux系统编程(线程进程)
126 1
|
6月前
|
JSON 机器人 Linux
推荐一款嵌入式Linux开源框架与封装-cpp-tbox
推荐一款嵌入式Linux开源框架与封装-cpp-tbox
131 3
|
6月前
|
Linux Shell
嵌入式Linux系统脚本小技巧之启动脚本
嵌入式Linux系统脚本小技巧之启动脚本
65 2
|
5月前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
168 1
|
3月前
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
102 3
|
3月前
|
传感器 人工智能 网络协议
:嵌入式 Linux 及其用途
【8月更文挑战第24天】
185 0
|
4月前
|
Ubuntu 算法 Linux
嵌入式Linux的学习误区
**嵌入式Linux学习误区摘要** 1. **过度聚焦桌面Linux** - 许多学习者误将大量时间用于精通桌面Linux系统(如RedHat、Fedora、Ubuntu),认为这是嵌入式Linux开发的基石。 - 实际上,桌面Linux仅作为开发工具和环境,目标不应是成为Linux服务器专家,而应专注于嵌入式开发工具和流程。 2. **盲目阅读Linux内核源码** - 初学者在不了解Linux基本知识时试图直接研读内核源码,这往往导致困惑和挫败感。 - 在具备一定嵌入式Linux开发经验后再有针对性地阅读源码,才能有效提升技能。
|
5月前
|
物联网 Linux 芯片
学习嵌入式是选择单片机还是Linux?
单片机通常指的是一种集成了处理器、存储器和各种外设接口的微控制器芯片,常见的有STC、51系列、AVR、ARM Cortex-M等。单片机具有低成本、低功耗、实时性强等特点,适用于对资源要求较低、功耗要求较低、实时性要求较高的嵌入式系统。学习单片机开发可以让您深入了解嵌入式系统的底层原理和硬件编程,对于对嵌入式系统底层开发感兴趣的人来说,是一个很好的选择。
139 4
|
5月前
|
消息中间件 安全 Java
【嵌入式软件工程师面经】Linux多进程与多线程
【嵌入式软件工程师面经】Linux多进程与多线程
70 1
|
5月前
|
存储 缓存 Unix
【嵌入式软件工程师面经】Linux文件IO
【嵌入式软件工程师面经】Linux文件IO
50 1
下一篇
无影云桌面