当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]本文主要做科普,给小白看,因为首先,嵌入式有不少组合名词,例如嵌入式系统,嵌入式软件,Linux嵌入式,Android嵌入式,嵌入式Web,等等。

本文主要做科普,给小白看,因为首先,嵌入式有不少组合名词,例如嵌入式系统,嵌入式软件,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(ARMDeveloperSuite),是ARM处理器下主要的开发工具。

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

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

在嵌入式系统开发领域,任务调度的效率直接决定了系统的性能与稳定性。时间片轮询法作为一种轻量级的任务调度机制,凭借其实现简单、资源消耗低的优势,广泛应用于资源有限的MCU(微控制单元)系统中。然而,传统时间片轮询法在面对多...

关键字: 嵌入式 嵌入式系统

在嵌入式系统广泛应用的今天,从智能家居的智能音箱到工业控制的PLC,从汽车的电子控制单元到航空航天的导航设备,嵌入式系统无处不在。这些系统往往需要在有限的硬件资源下,实时响应复杂的外部事件,完成多任务的并发处理。任务调度...

关键字: 嵌入式

随着摩尔斯微电子量产级Wi-Fi HaLow开发规模在全球范围扩展,美国工业嵌入式无线网络系统领域的领导者Gateworks获选成为首家合作伙伴

关键字: 嵌入式 无线网络 Wi-Fi

行业领先的产品组合规模在上季度进一步扩大,新增产品超过 387,000 种

关键字: 物联网 嵌入式 分立式电源

Microchip基于CLB的PIC®单片机在单一器件中结合了可编程逻辑与嵌入式控制,有助于降低延迟、成本和设计复杂度

关键字: 可编程逻辑 单片机 嵌入式

在嵌入式系统开发中,NVIC(嵌套向量中断控制器)凭借其灵活的中断优先级管理机制,成为保障实时性的核心组件。然而,当高优先级任务因低优先级任务持有共享资源而被阻塞,同时被中优先级任务抢占CPU时,优先级反转的噩梦便悄然降...

关键字: 中断 NVIC 嵌入式系统

在嵌入式系统开发中,传感器数据采集与处理是核心环节之一。然而,受环境干扰、硬件特性等因素影响,采集到的数据往往混杂着噪声,这些噪声会干扰系统对真实信号的判断,甚至引发误操作。软件滤波算法作为一种无需额外硬件投入的信号处理...

关键字: 嵌入式 传感器

该项目为运行在 UNIHIKER M10 嵌入式系统板上的 PicoClaw 的图形化仪表盘添加了 MCP 功能。

关键字: 嵌入式系统 AIoT UNIHIKER M10

搭载英特尔酷睿 3系列处理器的全新 COM Express 模块,助力实现高性价比与高能效的嵌入式计算应用

关键字: 边缘AI 处理器 嵌入式

在全球电气化转型加速的今天,从新能源汽车到工业自动化,从智能电网到消费电子,电气化设计正朝着高效、智能、安全、集成的方向迭代。作为嵌入式系统的“大脑”,微控制器(MCU)凭借其高集成度、低功耗、强实时性的优势,成为串联电...

关键字: 嵌入式系统 微控制器 软硬件协同
关闭