当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。那么,如何入门嵌入式编程呢?

什么是嵌入式?

因为首先,嵌入式有不少组合名词,例如嵌入式系统,嵌入式软件,Linux嵌入式,Android嵌入式,嵌入式Web,等等。

通常对嵌入式的定义其实是对"嵌入式系统"的定义。

网上对嵌入式系统的中文定义实在是不好理解,比较官方的中文定义是:

嵌入式系统是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

当然了,这段定义是正确的,不过就是有点学究味,不够形象, 不够"接地气"。

那么如何来给嵌入式系统一个接地气的定义呢?

我可以先列举目前用到嵌入式系统的IT领域:

Android嵌入式开发。

Linux嵌入式开发。

智能手机,平板,智能手表。

可穿戴设备,例如Google眼镜,小米手环。

微软的Xbox和Kinect。

无人机。

VR头盔。

无线路由器。

还有很多~

嵌入式正在渗透到我们生活的方方面面, 而且会越来越多地被使用。

但是, 例如Android, iOS纯app开发的话一般就不能算是嵌入式了吧, 只能算软件开发。未来,也许我们可以有一身轻便的可穿戴设备,衣食住行都用得到。甚至未来可以穿一身轻薄的"飞行衣", 想去哪都行。

嵌入式编程,最近几年越来越火,虽然入门门槛比较高,但是学好了薪资水平不错哦。例如Linux嵌入式的高级工程师。而且如果你能啃下嵌入式这个"硬柿子", 学了很多方面的知识, 那么其他一些编程领域, 也许就能比较轻松地掌握了。就好比你如果熟练掌握了C语言和C++, 那么其他一些编程语言一般都可以轻松驾驭了。

在嵌入式编程中还有一个交叉编译的概念: 什么是交叉编译呢?

简单来说, 就是"在一个平台上生成另一个平台上的可执行代码"。

普通的软件开发过程中, 如果是编译型的编程语言, 例如C语言, C++, Java, 等等, 你想要运行你写的程序, 需要用编译器将代码编译成可执行程序 (当然, 中间还有几个步骤, 比如汇编, 链接, 在此就不提了)。

但是嵌入式系统的计算能力有限, 内存有限, 储存空间有限, 因此无法完成比较需要资源和速度的编译过程。

比如在Android嵌入式开发中, 你不可能在Android手机里直接让它编译自己的系统或软件吧 。

因此, 我们会先在普通电脑(比Android手机的计算能力更强, 内存更大, 储存空间更大) 里将程序编译 (需要不同于我们编译普通软件的编译器, 称为"交叉编译器/软件", 比较常见的有arm-linux-gcc一族) 成适配Android手机的特定可执行文件(一般会打包成镜像文件), 然后通过专门的工具"烧录"到Android手机里。

入门和提高嵌入式

1、嵌入式软件的话不一定需要学很多硬件知识的(有的话当然是多多益善)。会用一些烧写工具,编译,调试工具(比如JTAG)就可以了,到时候要用了现学。开发工具也没什么固定的,一般也不一定要IDE,用文本编辑器就可以写代码(比如Vim,Emacs, nano, Sublime)了。编译一般用GCC的变种。

2、嵌入式一般要学C语言

3、C++不一定会用到, 但也可以学一下。

4、Linux是要学习的。因为交叉编译经常要用到Linux系统,即使在Windows下也要用到Cygwin这类的。

5、最好花点时间学一下汇编,对理解计算机的原理,特别是内存,指针,二进制,十六进制都有很好帮助,不需要学很深。

6、嵌入式目前主流的处理器架构是ARM(以前是ARM7,ARM9,ARM11,现在都Cortex系列了)。手机,平板,大部分开发板都是ARM的天下。所以需要学一下ARM架构,有个了解。一开始对ARM不需要太深入,视以后情况而定。ARM的集成开发环境有ADS(ARM Developer Suite), 是ARM处理器下主要的开发工具。

7、可以去买一块便宜的开发板来开始学习。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭