嵌入式

嵌入式系统设备是应用最广泛的产品,小到玩具、穿戴产品大到复杂的工业、军工宇航设备,按照标准定义,嵌入式系统就是以应用为中心,以计算机技术为基础,将应用程序和操作系统与计算机硬件集成在一起,能够独立工作,而且软硬件均可裁减的专用计算机系统。简单地说,就是系统的应用软件与系统的硬件一体化的设备。广义上可以认为,凡是带有微处理器、微控制器的专用软硬件系统都可以称为嵌入式系统。从狭义上讲,更加强调那些使用嵌入式微处理器构成独立系统,具有自己的操作系统,并且具有某些特定功能的系统。随着智能化的深入,嵌入式系统发生了很多有趣的变化,我们以嵌入式系统的核心MCU来说说2017年嵌入式领域的MCU四个变化。

一、MCU主频、内核大突破还有多核化

在传统上,我们理解的的MCU都是基于Cortex-M0,M3,M4或者8051 内核的MCU,但是今年我们看到,一些MCU领军厂商如ST、NXP等都推出于基于Cortex-M7内核高主频MCU,把MCU应用继续拓展。

2017嵌入式领域MCU四大新变化

NXP在今年6月推出了i.MX RT系列跨界处理器,它结合了高性能和实时功能,支持下一代物联网应用,具有与MCU级可用性相平衡的高度集成和安全性,且价格实惠。i.MX RT处理器的优势很明显:第一高性能,采用ARM Cortex-M7,主频高达600MHz,配备高达512KB的紧耦合内存,中断延迟低至20nm,可以使满足目前用户点一下按键就要快速做出反应的需求;第二高集成度,集成了2D图形加速引擎、并行相机传感器接口、LCD显示控制器和3个I2S,适用于GUI和增强版HMI的高级多媒体;第三低功耗,集成直流-直流转换器,实现业内最低动态功耗;第四使用简便,采用了MCU的应用架构,MCU客户可以利用现有的工具链,如MXUXpresso、IAR、Keil,快速开发和制作原型,而不用再学习Linux、安卓,从而节省设计时间;第五低成本,10K的转售价格不到3美元。对于这样的新MCU,国内嵌入式系统技术著名专家周立功教授(广州周立功单片机发展有限公司创始人、广州致远电子股份有限公司董事长)指出:“NXP最新推出的LPC546xx、i.MX6和刚推出来的i.MX RT绝对的创新设计,性能超群价格便宜,我们看到A7、A8性能再好,但其资源都被Linux吃掉了!而i.MX RT只需要RTOS就可以实现更好的性能,且更便宜。另外,基于RTOS的功耗管理更简单,大部分菜鸟级开发人员,不用懂Linux就可以开发出高性能的产品,这是多大的市场机会,因此必将成为流行的趋势!”

“这是兼顾了高性能与低功耗的产品设计。”他强调。“未来,Cortex-M7的发展理念更高性能,向多核发展,比如M0+M7、M4+M7、DSP+M7...等等。”

二、32位MCU加速取代8位MCU应用

目前在MCU领域,8位MCU仍占据1/3以上份额,在工业控制、安防、物联网、消费类电子等诸多领域,8位MCU的身影依然处处可见,根据IHS的预测,2018年8位MCU的市场规模将增长到78亿美元,市场份额继续超过MCU市场营收的三分之一以上,因为很多人认为8位MCU未来将继续维持增长。

不过随着智能化时代的来临和安全意识的提升,8位MCU增长将逐渐进入强弩之末,以今年来看,32位MCU取代8位MCU就呈现加速势态,一个变化是32位MCU大量取代8位MCU在指纹识别领域的应用,主要原因是32位MCU利用其更高的处理能力可以缩短算法执行时间,最终体现为响应速度。同时,32的高处理能力可以整合更多的功能,例如加密认证,辅助传感器等。

一些基于ARM® Cortex®-M4内核的MCU提供了完整的DSP指令集和专用浮点运算单元(FPU),可直接支持三角函数、滤波和卷积等复杂运算以加快指纹算法执行速度。最高主频下的工作性能可超过200DMIPS,可以支持高级指纹识别运算的全过程,包括指纹图像预处理、分割拼接、数据特征提取、特征匹配、交叉比对、识别解锁等一系列指令,更可显著提高指纹注册和匹配效率。所以很多8位MCU指纹识别方案别抛弃换到32位方案。

另外一些基于8位MCU的遥控器方案也因为32位MCU成本下降到与其持平而遭到抛弃。所以32位MCU需求旺盛一些公司缺货将成为常态化。

三、高端家电、高端消费电子设备需要高性能MCU

随着人工智能技术逐渐普及和人们对优质生活的追求提升,高端家电、高端消费电子对高性能MCU需求大增,例如很多冰箱需要做智能化的分析和处理,需要对储藏的食品做分类和检测,同时需要联网完成智能购物等动作,因此需要跟高性能的MCU,这些MCU除了支持一定的智能运算外还要支持触摸屏显示,支持较高的分辨率显示。针对这样的需求,本土MCU厂商可以将产品向高端延伸,在兼顾低端市场的同时,向高端市场发起冲击!

四、显示控制及人机交互应用加速

“在过去六个月,32位MCU在手机及移动支付、智能家居/家电、显示控制及人机交互和汽车电子及电机应用方面呈现加速势态。”灵动微电子MCU事业部总经理娄方超表示,“其中显示控制及人机交互需求极其旺盛,应该是潜力很大的市场,在这个市场中,MCU在取代以往的应用处理器市场。”

此外 ,在MCU开发上,各个厂商也努力简化MCU开发,例如ST开发出了STM32CubeMx,不但可以用它搜索选择满足需求的芯片,用它配置芯片外设引脚和功能,配置使用如LWIP、FAT32、FreeRTOS等第三方软件系统,还可以用它做功耗评估。而娄方超也透露灵动微电子也会推出更好用的新开发平台。

来源:EEFOCUS

围观 343

作者:Pin Tsalin, Bridgetek

微控制器单元(MCUs)有效地构成绝大多数现代嵌入式系统设计基础,为工程师提供灵活性与符合成本效益的适当强大性能。由于这些特性,它们已经达成惊人的销售数量(根据IC Insights的数据,去年有近230亿件装置出货)。随着MCU市场成熟,已经越来越集中于少数且广泛使用通用架构。 然而,这几乎完全与某些嵌入式市场的需求背道而驰。 以下的文章,我们将探讨在某些工程师想要的内容与他们实际期望的差距。

虽然MCU系列与其核心平台的通用性明显是这些装置取得非凡的成功主要因素,但也限制其使用范围。这可能会在将来留下越来越少的差异化空间。业界关注的应用焦点,例如物联网等让大量的MCU被引入市场,其中首要的目标是保持功率消耗尽可能小,并保持高水平的安全性,只支持连接选项为无线传输。尽管这样做可以确保在此领域的机会,同时其他必要的完全不同功能应用程序,处于被忽视的风险。

一个恰当的例子在系统设计中,有大量的多媒体数据需要处理。现代通用MCU对于这样的工作因装备不足,往往难以应付。 他们的处理资源一度处于不同的方向,试图处理进来的数据,在同一时间还必须参加其他标准的操作功能。 因此,可能会出现延迟问题。 这直接与其强制执行确定性操作的应用场景冲突。例如,复杂的机器视觉系统检查PCB上的焊料,不能被缓冲所中断。

在MCU提供足够的I/O通常是无法充分考虑的另一个领域,尽管现在存在于嵌入式设计中,有各种不同的接口技术。 例如,在MCU实现USB通常不容易做到,因为软件开发方面往往没有充分地被覆盖。 因此,嵌入式工程师通常没有拥有所需要的软件支持。 此外,MCU通常只具有USB从端(不是USB主端)功能。

应当体会到,一般来说,目前市场上大多数MCU的I/O支持远远不够。 提供广泛的连接功能,将在未来变得越来越重要。特别是可能需要对I/O进行分组,这将使得MCU更适合处理具体的应用程序类型。

MCU往往是工程师常采用的途径 - 当然系统单芯片(SoC)选项也可供考虑。 与MCU相比,提供更优化的解决方案、具更高的性能参数、与更小的占用面积和长期的成本优势。 然而,还有许多问题对他们的吸引力产生重大影响。 前期的财务投资,工程成本和SoC开发所涉及的时间都需要考虑。为了判断采取行动的理由,前提是未来对高单位需求的绝对信心,或者长时间不需要改变设计。 即使这样,也有相关的风险。 如果发现一个错误,那么可能需要时间来纠正这个问题,导致最终产品的发布延迟。 由于这样的原因,去购买现成的装备仍然可能是有利的。

然而绝大多数MCU供应商都集中在软件实现的特性和功能,Bridgetek的策略是更多功能通过硬件执行。 因此,本公司的FT900和FT930系列可以提供通用MCU缺乏的性能优化操作。 先进的桥接技术是关键。 通过使用它,这些MCU可以在快速 I/O 之间提供专用桥接,允许分立设计元件访问最适合的可用硬件。 这意味着MCU上不同程序处理和 I/O 元件的接口可以被完全确定性方式完成(毫无延迟发生的威胁)。

图1描述一个相关的应用实例。 这里存在触摸控制的多显示系统,其适合于部署在销售点(PoS)或数字广告系统环境。图像内容可以运用系统,呈现在4个显示屏幕上滚动。 触摸操纵可以被单独地于每个显示器运作或者同时于所有显示器中运作-从而提供更引人注目的用户体验,吸引人们的注意(零售店购物者,火车站乘客等)。 本示例强调Bridgetek FT930 MCU创建USB桥接的能力,然后通过专有的 D2xx USB 引擎控制4个独立的SPI外设。 在这种特殊情况下,外设是图形控制器芯片内置触摸功能。

通过在USB 2.0 D2XX通道的通信,MCU接收由主机PC提供的内容数据,并将其应用于不同的显示器。大型全景图像被分割成图像片断,并作为JPEG图像存储在主机PC上。 MCU向PC发送命令以获取所需的图像片断,并将其传送到相应的图形控制器,使得它们可以被解码和显示。它能够通过集成的四线式SPI(QSPI)接口资源控制4个连接的FT813 EVE图形控制器。这意味着能有效地作为控制中心 - 将数据分送到多个显示器(而不仅局限于单个点对点布局)。同时,MCU扫描4个触摸启用面板以进行任何用户输入,並记录加速,减慢或冻结图像内容的触摸和滑动。根据应用程序的性质,可以水平或垂直滚动图像。在任何给定时刻,获取、下载、解码和显示4个图像片段,以便实现平滑的滚动外观。如果尝试使用通用MCU来进行这种复杂的设置,则需要克服许多挑战。这些将首先涉及USB从端的开发代码(将会花费相当多的时间和精力)。此外,可能还需要菊花链连接几个MCU(提高材料清单成本,占用更多的PCB空间,增加系统功耗预算,增加总体复杂性)。此外,由于缺少QSPI功能,该菊花链可能对系统的速度造成严重的限制。

图2显示另一个应用程序实例 - 此实例与数据流相关。例如,这种设置可能有利于家庭的安全目的。“智能门铃”此类产品已经拥有越来越吸引众多广大民众关注。由远程相机捕获的视觉通过CAN总线(或者可能在一些情况下经由以太网)桥接到支持触控功能的显示器,使得设备可以被控制。在其他情况下,例如监视或工厂视察,用户将需要确保实时观看内容,而不会发生缓冲的威胁。通过触摸控制,他们可以冻结显示(如果他们看到潜在的问题),然后放大感兴趣的特定区域进行仔细检查。 MCU能够利用附随的EVE图形控制器的触控和音频特征来呈现来自摄影机的视频数据(加上屏幕显示的用户手册),同时还捕捉触控屏输入和播放合成的声音。数据流的速率适用于特定摄像机的分辨率和帧速率。 Bridgetek 的MCU具有CAN,摄像机连接和以太网端口功能有助于实现这类设置,而大多数通用MCU不具有所需的广泛接口,因此(再次)使得系统更难以实现。

最后一个实例是音频分配。 会议厅可以具有多个麦克风网络连接到不同扬声器的复杂布置。 这很可能要求以太网基础设施安装。 数据吞吐量和避免延迟问题的需要,此意味着MCU桥接将再次成为最好的方法。

简而言之,性能增强的MCU采用快速桥接显示其有效性在嵌入式系统的实现,如刚才所述。 他们能够提供一种更有效的方式来满足现代多媒体 /人机界面 /音频 / 数据通信系统设计所设定的要求,而不是当前过多功能的“一体适用”解决方案。 这将意味着工程师将不需被迫做出不必要的取舍。

来源: EEWorld

围观 359

1 嵌入式系统的知识体系

嵌入式系统的应用范围可以粗略分为两大类:电子系统的智能化(工业
控制、现代农业、家用电器、汽车电子、测控系统、数据采集等),计算机应用的延伸(MP3、手机、通信、网络、计算机外围设备等)。从这些应用可以看出, 要完成一个以MCU为核心的嵌入式系统应用产品设计,需要硬件、软件及行业领域相关知识。硬件主要有MCU的硬件最小系统、输入/输出外围电路、人机接口设计。软件设计有固化软件的设计,也可能含PC机软件的设计。行业知识需要通过协作、交流与总结获得。

概括地说,学习以MCU为核心的嵌入式系统,需要以下软硬件基础知识与实践训练:
①硬件最小系统(电源、晶振、复位、写入调试接口);
②通用I/O(开关量输入/输出,涉及各种二值量检测与控制);
③模/数转换(各种传感器信号的采集与处理,如红外、温度、光敏、超声波、方向等);
④数/模转换(对模拟量设备利用数字进行控制);
⑤通信(串行通信接口SCI、串行外设接口SPI、集成电路互联总线I2C、CAN、USB、嵌入式以太网、ZigBee技术等);
⑥显示(LED、LCD等);
⑦控制(控制各种设备,包括PWM等控制技术);
⑧数据处理(图形、图像、语音、视频等的处理或识别);
⑨各种具体应用。

万变不离其宗,任何应用都可以归入这几类。而应用中的硬件设计、软件设计、测试等都必须遵循嵌入式软件工程的方法、原理与基本原则。所以,嵌入式软件工程也是嵌入式系统知识体系的有机组成部分,只不过它融于具体项目的开发过程之中。

以上实践训练涉及硬件基础、软件基础及相关领域知识。计算机语言、操作系统、开发环境等均是达到这些目的的工具。有些初学者,容易把工具的使用与所要达到的真正目的相混淆。例如,有的学习者学了很长时间的嵌入式操作系统移植,而不进行实际嵌入式系统产品的开发,到最后也做不好一个嵌入式系统小产品,偏离了学习目标,甚至放弃嵌入式系统领域。这就是进入了嵌入式系统学习误区,下面对此作一些分析。

2 嵌入式系统的学习误区

关于嵌入式系统的学习方法,因学习经历、学习环境、学习目的、已有的知识基础等不同,可能在学习顺序、内容选择、实践方式等方面有所不同。但是,应该明确哪些是必备的基础知识,哪些应该先学,哪些应该后学;哪些必须通过实践才能获得;哪些是与具体芯片无关的通用知识,哪些是与具体芯片或开发环境相关的知识。

由于微处理器与微控制器种类繁多,也可能由于不同公司、机构出于自身的利益,给出一些误导性宣传,特别是我国嵌入式微控制器制造技术落后,使得人们对微控制器的发展,在认识与理解上存在差异,导致一些初学者进入嵌入式系统的学习误区,浪费了宝贵的学习时间。下面分析可能存在的几个误 区。

2.1 操作系统的困惑

如果说,学习嵌入式系统不是为了开发其应用产品,那就没有具体目标,诸如学习方法这样的问题也就不必谈了。实际上,这正是许多人想学,又不知从何开始学习的关键问题所在,不知道自己学习的具体目标。于是,看了一些培训广告,看了书店中种类繁多的嵌入式系统书籍,或上网以“嵌入式系统”为关键词进行查询,就参加培训或看书,开始“学习起来”。对于有计算机阅历的人,往往选择一个嵌入式操作系统就开始学习了。这有点像“瞎子摸大象”,只了解其一个侧面。这样如何能对嵌入式产品的开发过程有全面了解呢?针对许多初学者选择“XXX嵌入式操作系统+XXX处理器”的嵌入式系统入门学习模式,笔者认为是不合适的。建议是:首先把嵌入式系统软件与硬件基础打好了,再根据实际需要,选择一种实时操作系统(RTOS)进行学习实践。要记住:RTOS是开发某些类嵌入式产品的辅助工具,是手段,不是目的;许多类嵌入式产品,并不需要RTOS。所以,一开始就学习RTOS,并不符合“由浅入深、循序渐进”的学习规律。

RTOS本身由于种类繁多,实际使用何种RTOS,一般需要由工作单位确定。基础阶段主要学习RTOS的基本原理与RTOS上的软件开发方法,而不是学习如何设计RTOS。以开发实际嵌入式产品为目标的学习者,不要把过多的精力花在设计或移植RTOS上面。正如很多人使用Windows操作系统,而设计Windows操作系统的只有Microsoft。许多人“研究”Linux,但不使用它,浪费了时间。人的精力是有限的,学习必须有所选择。

2.2 硬件与软件的困惑

以MCU为核心的嵌入式技术的知识体系必须通过具体的MCU来体现、实践。但是,选择任何型号的MCU,其芯片相关的知识只占知识体系的20%左右,80%左右是通用的软件硬件及相关知识。80%的通用知识,必须通过具体实践才能获得,所以学习嵌入式技术一般要选择一个系列的MCU。

系统含有硬件与软件两大部分,它们之间的关系如何?有些学者,仅从电子的角度认识嵌入式系统。认为“嵌入式系统=MCU硬件系统+小程序”。这些学者大多具有良好的电子技术基础知识。实际情况是,早期MCU内部RAM小,程序存储器外接,需要外扩各种I/O,没有像USB、嵌入式以太网等这样较复杂的接
口。因此,程序占总设计量比例小于50%,使人们认为嵌入式系统(单片机)是“电子系统”,以硬件为主,程序为辅。但是,随着MCU制造技术的发展,不仅MCU内部RAM越来越大,Flash进入MCU内部改变了传统的嵌入式系统开发与调试方式,固件程序可以更方便地调试与在线升级,许多情况下与开发PC机程序的方便程度相差无几,只不过开发环境与运行环境不是同一载体而已。这使得嵌入式系统的软件硬件设计方法发生了根本变化。

有些学者,仅从软件开发角度认识嵌入式系统,甚至仅从嵌入式操作系统认识嵌入式系统。这些学者大多具有良好的计算机软件开发基础知识,认为硬件是生产厂商的事。他们没有认识到,嵌入式系统产品的软件与硬件均是需要开发者设计的。笔者常常接到一些关于嵌入式产品稳定性的咨询,发现大多数是由于软件开发者对底层硬件的基本原理不理解。特别是有些功能软件开发者,过分依赖于底层硬件的驱动软件,自己对底层驱动原理知之甚少。实际上,一些功能软件开发者,名义上在做嵌入式软件,其实仅仅是使用嵌入式编辑、编译环境而已,本质与开发通用PC机软件没有两样。而底层硬件驱动软件的开发,若不全面考虑高层功能软件对底层硬件的可能调用,也会使封装或参数设计得不合理或不完备,导致高层功能软件调用困难。可以看出,若把嵌入式系统的开发孤立地分为硬件设计、底层硬件驱动软件设计、高层功能软件设计,那么一旦出现问题,就可能难以定位。实际上,嵌入式系统设计是一个软件、硬件协同设计工程,不能像通用计算机那样,软件、硬件完全分开来看,而要在一个大的框架内协调工作。

学习嵌入式系统是以软件为主还是以硬件为主,或者如何选择切入点,如何在软件与硬件之间取得平衡?对于这个困惑的建议是:要想成为一名真正的嵌入式系统设计师,在初学阶段,必须打好嵌入式系统的硬件与软件基础。以下是从事嵌入式系统设计二十多年的美国学者JohnCatsoulis在《Designing Embedded Hardware》一书中关于这个问题的总结:嵌入式系统与硬件紧密相关,是软件与硬件的综合体,没有对硬件的理解就不可能写好嵌入式软件;同样,没有对软件的理解也不可能设计好嵌入式硬件。

2.3 片面认识嵌入式系统

嵌入式系统产品种类繁多,应用领域各异。在第1部分中,把嵌入式系统的应用范围粗略分为电子系统的智能化与计算机应用的延伸两大类。从初学者角度,可能存在分别从这两个角度片面认识嵌入式系统的问题。因此,一些从电子系统智能化角度认识嵌入式系统的学习者,可能会忽视编程结构、编程规范、软件工程的要求、操作系统等知识的积累。另一些从计算机应用的延伸角度认识嵌入式系统的学习者,可能会把通用计算机学习过程中的概念与方法生搬硬套到嵌入式系统的实践中,忽视嵌入式系统与通用计算机的差异。

实际上,在嵌入式系统学习与实践的初始阶段,应该充分了解嵌入式系统的特点,根据自身的已有知识结构,制定适合自身情况的学习计划。目标应该是打好嵌入式系统的硬件与软件基础,通过实践,为成为良好的嵌入式系统设计师建立起基本知识结构。学习过程中,具体应用系统可为实践载体,但不能拘泥于具体系统,应该有一定的抽象与归纳。例如,初学者开发实际控制系统时没有使用实时操作系统,但不要认为实时操作系统不需要学习。又例如,初学者可以一个带有实时操作系统的样例为蓝本进行学习,但不要认为任何嵌入式系统都需要实时操作系统,甚至为一个十分简明的实际系统加上不必要的实时操作系统。因此,片面认识嵌入式系统,可能导致学习困惑。应该根据实际项目需要,锻炼自己分析实际问题、解决问题的能力。这是一个长期的学习与实践过程,不能期望通过短期培训完成整体知识体系的建立,应该重视自身实践,全面地理解嵌入式系统的知识体系。

2.4 入门芯片选择的困惑

嵌入式系统的大部分初学者需要选择一个微控制器(MCU)进行入门级学习,面对众多厂家生产的微控制器系列,往往不知如何是好。

首先是关于位数问题,目前主要有8位、16位和32位MCU。不同位数的MCU各有应用领域,这一点与通用微机有很大不同。例如做一个遥控器,不需要使 用32位MCU,否则MCU芯片价格就已经超过遥控器价格需求。对于首次接触嵌入式系统的学习者,可以根据自己的知识基础选择入门芯片的位数。建议大多数初学者选择8位MCU作为快速入门芯片,了解一些汇编与底层硬件知识,之后再选16位或32位芯片进行学习实践。

关于芯片选择的另一个误区是认为有“主流芯片”存在,嵌入式系统也可以形成芯片垄断。这完全是一种误解,是套用通用计算机系统的思维模式,而忽视了嵌入式系统应用的多样性。关于学习芯片选择还有一个误区,即误认为选择工作频率高的芯片进行入门学习,更先进。实际上,工作频率高可能给初学者带来不少困难。

实际嵌入式系统设计不是追求芯片位数、工作频率、操作系统等因素,而是追求稳定可靠、维护、升级、功耗、价格等指标。初学者选择入门芯片,是通过某 一:MCU作为蓝本,获得嵌入式系统知识体系的通用基础。其基本原则是:入门时间较短、硬件成本较低,知识要素较多,学习难度较低。

3 基础阶段的学习建议

基于以上讨论,下面对广大渴望学习嵌入式系统的学子提出几点基础阶段的学习建议:

①嵌入式系统软件硬件密切相关,一定要打好软硬件基础。其实,只要找到正确的方法,加上努力,任何理工科学生,甚至非理工科学生,都能学好嵌入式系统。

②选择一个芯片及硬件评估板(入门芯片最好简单一点,例如8位MCU)、选择一本好书(最好有规范的例子)、找一位好老师(最好是有经验且热心的)。硬
件评估板的价格一定要在1000元以下,不要太贵,最好能有自己动手的空间。不花一分硬件钱想要学好嵌入式系统不实际,因为这是实践性很强的学科。好书,可以让人少走弯路,不被误导。好老师也可以是做过一些实际项目的学长(一定要找做过几个成功项目的学长或老师做指导,否则经验不足也可能误导),有教师指导,学习进程会加快(人工智能学科里有个术语叫无教师指导学习模式与有教师指导学习模式,无教师指导学习模式比有教师指导学习模式复杂许多。

③许多人怕硬件,其实嵌入式系统硬件比电子线路好学多了。只要深入理解:MCU的硬件最小系统,对I/O口、串行通信、键盘、LED、LCD、 SPI、
I2C、PWM、A/D(包括一些传感器)、D/A等逐个实验理解,逐步实践,再通过动手做一个实际的小系统,底层硬件基础就有了。各个硬件模块驱动程序的编写是嵌入式系统的必备基础。学习嵌入式系统的初期,这个过程是必须的。

④至于嵌入式实时操作系统RTOS,一定不要一开始就学,这样会走很多弯路,也会使你对嵌入式系统感到畏惧。等你软件硬件基础打好了,再学习就感到容易理解。实际上,许多嵌入式应用并不需要操作系统。也可以根据实际项目需要,再学习特定的RTOS。不要被一些嵌入式实时操作系统培训班的宣传所误导,而忽视实际嵌入式系统软硬件基础知识的学习。

⑤要避免片面地单纯从“电子”或“计算机软件”角度认识嵌入式系统。前面说过,嵌入式系统是软件与硬件的综合体。因此,要逐步从MCU的最小系统开始, 一点一点理解硬件原理及底层硬件驱动编程方法。要通过规范的例子,理解软件工程封装、可复用等思想。通过规范编程,积累底层构件(component),也就是一个一个模块;但是要封装得比较好,可复用。

⑥注重实验与实践。这里说的实验主要指通过重复来验证他人的工作,目的是学习基础知识,这个过程一定要经历。实践是自己设计,有具体的“产品”目标。如果花500元左右,自己做一个具有一定功能的小产品,且能稳定运行1年以上,就可以说接近入门了。

⑦关于入门芯片的选择。不要选太复杂的微控制器作为入门芯片,不能超越学习过程。不要一下子学习几种芯片。可以通过一个芯片入门,并具有一个实践经验后,根据实际需要选择芯片开发实际产品。注意,不要把微处理器(MPU与微控制器(MCU)概念相混淆,微处理器只是微控制器的内核。

⑧关于嵌入式操作系统的选择。可以等到具有一定实践基础后,选择一个简单、容易理解原理的嵌入式操作系统进行学习。不要一开始就学习几种操作系统,理解了基本原理,实践中确有实际需要再学习也不迟。人总是要不断学习的。

⑨关于汇编语言与C语言的取舍。随着:MCU对C编译的优化支持,对于汇编语言可以只了解几个必要的语句,而直接使用C语言编程。但必须通过第一个程序理解芯片初始化过程、中断机制、程序存储情况等,区别于PC机程序的内容。另外,为了测试的需要,最好掌握一门PC机编程语言。

⑩要明确自己的学习目的,并注意学习方法。要明确学习目的是打基础,还是为了适应工作需要而进行的短训。学习方法方面,要根据学习目的选择合适的学习途径,注意理论学习与实践、通用知识与芯片相关知识、硬件知识与软件知识的平衡,要在理解软件工程基本原理基础上理解硬件构件与软件构件等基本概念。

当然,以上只是基础阶段的学习建议。要成为良好的嵌入式系统设计师,还需要在实际项目中锻炼,并不断学习与积累经验。

来源:凌阳教育

围观 245

引言

当下,物联网、移动互联技术大刀阔斧地改变着整个世界。随着嵌入式技术的不断革新,32位MCU成为主流,64位MCU的应用范围也越来越广。与此同时,唱衰8位MCU即将消亡的言论从未停息……

事实上,在工业控制、安防、物联网、消费类电子等诸多领域,8位MCU的身影依然处处可见,而且不断推陈出新。从市场的占有率和销售额来看,8位MCU的市场份额甚至还在不断攀升。根据IHS的预测,2018年8位MCU的市场规模将增长到78亿美元,继续超过每年MCU市场营收的三分之一以上。

究竟是什么原因令8位MCU的生命力如此旺盛,市场潜力依然巨大呢?未来,8位MCU又有哪些新的发展趋势和应用领域呢?且听这些行业巨头们一叙。

业界声音

纵横市场数十年的8位MCU,至今仍是开发各种嵌入式系统的关键器件,甚至在未来的物联网(IoT)时代中也将占有一席之地。尽管近年来半导体厂商纷纷转换至32位ARM CortexM内核架构,进而招来许多有关8位MCU将走出历史舞台的宿论,但事实是,它仍然在市场上屹立不倒,而且在新型消费电子、物联网、工业控制、智能传感器和电信及数据通信设备中都可见其踪迹。

Microchip:8位MCU创新空间巨大

8位MCU的创新空间是十分巨大的,Microchip一直致力于该领域的创新和研发。Microchip的研发部门有很多创新的想法,并且不断地推出一些创新性的解决方案来保持8位单片机的生命力,因此8位单片机是不会消亡的。目前,市场上并没有其他厂商在8位单片机方面继续大量地投入,然而Microchip一直以来都非常注重8位单片机市场的创新与投入,而且,未来会进一步地扩大Microchip的市场份额。在短期内,就整个8位单片机的市场而言,并不会出现特别大的突发性的增长。

新一代的8位MCU更多的是朝智能模拟、创新性的外设这样的方向发展,Microchip会仔细地倾听市场的需求,通过创新性的产品(比如创新性的外设、独立于内核的外设),来更好地满足市场需求。今年Microchip会推陈出新,新的技术至少能够让Microchip在5~7年内保持技术的领先优势。因此,对于8位单片机市场,Microchip非常有信心。特别需要强调的一点是,新技术中会有越来越多集成化的智能模拟模块集成在一起。

可以看到,8位单片机在照明领域的应用非常广泛,包括消费类的照明、工业照明,以及汽车车灯的照明等等。当然,这只是应用的其中一个方面。而上述这些概念和互联网的概念都是相关的,比如说智能照明、智能车灯等等。除此之外,8位单片机在汽车领域应用得也非常多,比如智能汽车方面。

随着用户对于产品“与众不同”和“个性化”需求的加大,Microchip也推出了不同种类、不同版本的产品,能够让客户实现他的个性化,体现他的与众不同。Microchip集成了很多的外设,目的是帮助客户在成本和价值方面取得平衡。

Silicon Labs:8位MCU应用无处不在

相较于32位设计,基于传统8051内核的8位架构常被一些工程师认为太过老旧。事实上,8051内核一直在与时俱进,不断得到显著的升级,加上其长久以来在大量开发商和工程师的支持下,所积累的设备安装量和为之编写的数以百万计的代码,使嵌入式开发人员能够继续利用这些丰富的知识宝库,来缩减产品上市时间和测试成本。

经过Silicon Labs持续优化的8051架构正是具备更高性能的典型8位MCU之一。Silicon Labs以3级流水线冯·诺依曼(VonNeuman)架构对8051内核进行了现代化和“类RISC”化,并保持与原始内核代码兼容,从而获得了巨大的性能提升。

俗话说的好,万变不离其宗!广泛部署并经过长时间考验的8051指令集仍然是许多既需要功效、又需要高性价比应用的最佳选择。对于新兴的物联网(IoT)应用而言,可连接设备和传感器网络通常有严格的功耗、占用空间和预算限制,开发商会选择在终端节点中广泛使用小尺寸、低功耗且低成本的8051 MCU,并达到加速系统设计的目的。

8位MCU市场需求依然强劲,例如在近来特别红火的无人机中,内部的电机控制电路板上便搭载了8位MCU;而许多空间受限、性能密集型应用,例如光模块、测试和测量仪器、工业控制设备和智能传感器等,也都需要高模拟性能和外设集成度的8位MCU。以Silicon Labs新款Laser Bee MCU为例,其集成了高分辨率模/数转换器和数/模转换器、高精度温度传感器等多个元器件,将能提供更快的时钟及PWM性能。

新唐看好具有强大竞争优势的8位MCU

MCU市场仍处于成长阶段,各级别的MCU的需求量持续攀升,应用范围持续扩大。一般而言,在大量数据运算与图像影音处理等方面,以32位MCU为主;在控制类应用方面,进入市场较早的8位MCU产品则具备诸多竞争优势,例如 8位MCU产品很早进入消费类、医疗用品、工业控制、汽车电子等市场应用,产品稳定,性价比满足需求,至今仍占主导地位。这些已稳定量产的产品,由于安全可靠与成本优势,也成为8位 MCU市场的发展基石。

在对价格特别敏感的市场,更能凸显8位产品价格上的优势。伴随着丰富外设的加持,小家电市场随处可见8位MCU的踪迹,IC制程也由 0.35 μm、 0.25 μm 进入到0.18 μm及0.13 μm, 性能更强、功耗更低。由此可见,8位MCU需求量仍不断增加,市场份额仍具有上升的空间。以新唐今年的销售成绩而言,8051单片机的出货量大幅超出了预期。

新唐经营8位 MCU已超过20年,为客户累积了完整的链接库与应用经验,使研发周期大幅缩短。新唐MCU包含8位的12T、 4T、 1T 8051与32位 CortexM0/M4、ARM7、ARM9 CPU 内核, 产品线完整。根据新唐长久经营MCU市场的经验来看,对客户而言,MCU位数并非选型的关键因素,平台完整度、代码复用性与可移植性、产品质量稳定可靠,以及良好的客户服务, 才是决胜的重要因素。例如,新唐以8位 MCU为核心所开发的触摸按键系列,PCB板设计简单,具备高集成度、高抗干扰性能,加上工程师可在新唐开发平台简易且快速地完成产品设计、具有良好的开发体验,这些因素使新唐触摸系列深受客户欢迎。新唐认为,触控产品需求将会是推动新唐8位 MCU成长的重要驱动力,加上积累20年的深厚客户关系,8位 MCU市场潜力依然巨大。新唐将会持续提供高性价比的MCU、体贴的开发环境与技术支持,满足市场与客户需求。

何立民教授:8位MCU的生命力长盛不衰

当ARM系列不断吞噬8位MCU的市场份额时,有人认为32位MCU将取代8位MCU,8位MCU将会退出历史舞台。殊不知,ARM系列在传统嵌入式领域大肆扩张的同时,80C51成功地实现了华丽的转身,在嵌入式系统无限大的市场领域(如物联网、可穿戴设备)中获得新生,成为MCU中的不死鸟。

从MCU无限大的市场角度看,随着智能化工具的发展,MCU产品的市场需求日益扩大,从传统电子的智能化改造、新兴的智能化设备、智能化设备的分布、智能化设备总线、智能化设备局域网,直到物联网时代,无处不在的人工智能的感知与控制终端领域,都表明了MCU有一个无限大的市场。这个无限大市场的多样性决定了对MCU的多样需求,8位、32位、64位MCU没有好坏之分,主要体现在不同的应用领域,其技术各有所长,最重要的是取其所长,把它们应用在能充分发挥其长处的地方。

编辑视角

从嵌入式系统教育角度看,由于8位MCU具有稳定、便宜、易用的特点,以51系列单片机(8位MCU)的应用作为嵌入式系统教学是十分理想的,而且嵌入式系统的初学者以51系列单片机作为入门单片机的学习是较好的。学好了51单片机,今后再学习更为复杂的单片机就容易上手了。

从系统稳定性的角度看,在控制领域、安防领域、消费类电子等领域仍会大量地使用8位MCU,大量工业现场的恶劣环境注定了系统中的核心控制器件必须稳定、可靠、易维护。同时,工控设备器件选型有一个重要原则:芯片必须稳定可靠、应用成熟,器件所含有的功能和数量应略大于设计需求。就分配给它的任务而言, 51系列的8位单片机性能足矣,在满足需求的情况下,处理器越简单,稳定性就越强,越有利于产品的安全维护。

从市场产品需求看,在大部分嵌入式产品中,8位MCU就能满足嵌入式系统中80%~90%的基本需求,嵌入式产品最低的要求也是能处理8位二进制数据或代码,众多的嵌入式产品从内核到开发工具都是以8位内核为基础的,市场的需求及其自身性价比决定了它依然能活跃在这个舞台上。

文章来源:单机片与嵌入式系统应用

围观 483

好多人说编译器只是工具,重要的在于算法和思想。

这话说的本来没错,但要有一个条件在先:那就是你真正掌握了你所用的编译器。但,真正熟悉编译器的却并不多见。当你深入了解一个编译器后,你能像用汇编一样用C,可以像汇编那样随心所欲的操作MCU!

了解一个编译器,首先应该有汇编的基础,不要求能用汇编编写程序或做过项目,但至少看的懂!不熟悉汇编的嵌入式程序员是不合格的程序员!

了解一个编译器,最好的方法是看它自带的帮助文件,至少要看过Compiler User's Guide ,至少遇到问题会想到到帮助中查找方法,虽然帮助大多是E文。

工作以来一直使用keil MDK编译器,对于这个编译器的界面以及设置大家可以在网上搜一下就找到了,今天我们主要来看一看keil MDK编译器的一些细节,看看这些细节,你知道多少。

1. 在所有的内部和外部标识符中,大写和小写字符不同。

2. 默认情况下,char 类型的数据项是无符号的。它们可以显式地声明为signed char 或 unsigned char。

3.基本数据类型的大小和对齐:

注:

a. 通常局部变量保留在寄存器中,但当局部变量太多放到栈里的时候,它们总是字对齐的。例如局部char变量在栈里以4为边界对齐;

b. 压缩类型的自然对齐方式为1。使用关键字__packed来压缩特定结构,将所有有效类型的对齐边界设置为1.

4. 整数以二进制补码形式表示;浮点量按IEEE格式存储。

5. 有符号量的右移是算术移位,即移位时要保证符号位不改变。

6. 对于int类的值:超过31位的左移结果为零;无符号值或正的有符号值超过31位的右移结果为零。负的有符号值移位结果为-1。

7. 整数除法的余数的符号于被除数相同,由ISO C90标准得出;

8. 如果整型值被截断为短的有符号整型,则通过放弃适当数目的最高有效位来得到结果。如果原始数是太大的正或负数,对于新的类型 ,无法保证结果的符号将于原始数相同。所以强制类型转化的时候,对转换的结果一定要清晰。

9. 整型数超界不引发异常;像unsigned char test; test=1000;这类是不会报错的,赋值或计算时务必小心。

10. 默认情况下,整型数除以零返回零。

11. 对于两个指向相同类型和对齐属性的指针相减,计算结果如下表达式所示:
((int)a (int)b) / (int)sizeof(指向数据的类型)

12. 在严格C中,枚举值必须被表示为整型,例如,必须在2147483648 到+2147483647的范围内。但keil MDK自动使用对象包含enum范围的最小整型来实现(比如char类型),除非使用编译器命令enum_is_int 来强制将enum的基础类型设为至少和整型一样宽。超出范围的枚举值默认仅产生警告:#66: enumeration value is out of "int" range

13. 结构体:
struct {
char c;
short s;
int x;
} //这个结构体占8个字节

但是,结构体:
struct {
char c;
int x;
short s;
} //这个结构体占12个字节

这是为什么?

对于结构体填充,据定义结构的方式,keil MDK编译器用以下方式的一种来填充结构:
定义为static或者extern的结构用零填充;

栈或堆上的结构,例如,用 malloc() 或者 auto定义的结构,使用先前存储在那些存储器位置的任何内容进行填充。不能使用memcmp()来比较以这种方式定义的填充结构!

14. 编译器不对声明为volatile 类型的数据进行优化。 我发现还有不少刚入门的嵌入式程序员从没见过这个关键字.

15. __nop():延时一个指令周期,编译器绝不会优化它。如果硬件支持NOP指令,则该句被替换为NOP指令,如果硬件不支持NOP指令,编译器将它替换为一个等效于NOP的指令,具体指令由编译器自己决定。

围观 578

在编写我们的操作系统之前,我们需要明确一些事情。比如说

· 这个系统的运行环境是什么?
· 怎么编译?
· 基本中断环境是什么?
· 上下文怎么切换?
· 准备实现那些内容?
· 基本数据类型是什么?等等。

(1)你的嵌入式操作系统准备叫什么名称?运行环境是什么?可以在实际环境上面运行吗?
我们准备把这个嵌入式操作系统称之为MiniOS。虽然这个操作系统实现的功能不多,但是麻雀虽小,五脏俱全。一般操作系统该有的功能,MiniOS都会有这个功能。起初,我们会在Linux上运行MiniOS,之后我们会把MiniOS移植到51单片机上去。

(2)操作系统怎么编译?
MiniOS系统采用基本的C语言进行编写,没有汇编语言,但是移植到51上面需要一些汇编语言。编写完C语言文件后,我们需要一个简单的makefile文件,这样就可以实现自动化编译,进一步提高我们开发的效率。

(3)基本中断环境是什么?
因为MiniOS起初是在linux实现运行的,所以它是依靠SIGALRM实现中断调度的。当然在OS中还会有I/O操作,这里我们用信号进行仿真。SIGINT就是一种方法,每当我们使用键盘输入ctrl+C的时候,就会调用相应的函数。这和外设的中断是一模一样的。

(4)上下文怎么切换?
上下文的切换就是堆栈的切换。要弄清楚堆栈的切换,首先你要明白函数,函数里面的数据是怎么安排的,压栈是怎么回事,退栈是怎么回事。这些知识点,我们在后面都会一一介绍。

(5)MiniOS要实现哪些内容?
MiniOS虽然比较小巧,但是操作系统该有的功能它都会有。因此,我们准备实现的下面这些内容,比如说中断开关、互斥量、定时器、线程调度、内存分配都会拥有。

(6)基本数据类型是什么?
为了移植的方便,我们需要对基本数据进行重新定义一下基本数据类型。

(7)把MiniOS移植到51单片机需要做些什么?
其实把MiniOS移植到51上面,其实不困难,只要做到这几个方面就可以了。
a)基本数据类型重新定义;

b)b)中断开关重新进行设置;

c)c)任务切换的压栈、出栈处理。

d)要是做到这里,我们就可以在51单片机上面把自己的OS跑起来了,那是多么开心的一件事情啊。

来源: 嵌入式ARM

围观 347

加班,熬夜,牺牲周末的时间只为了解决一个bug,从懵懂无知到如今的大神,研发之路从来就不是一帆风顺,当你已经熟练掌握各项技能时,是否想起了曾经的你,为什么要学嵌入式?各位同学想知道嵌入式大神是如何成长的吗?今天咱们就一起来看看吧!

首先,来看看嵌入式大神必修课。

1、数据结构

2、计算机原理(包括汇编的)

3、编译原理

4、操作系统

这四门课便是万里路的第一步了,一开始学习切忌浮躁,当你觉得你学的可以的情况下,请考虑以下问题:

不参考任何代码的情况下,能自己写链表吗?

树的遍历呢?

图的最短路径怎么实现?

能自己写小型抢占式内核吗?

如何用c实现语法分析,词法分析?

其次,就可以搞块开发板了

只提一点:先搞裸机(请自动把这句话复述三遍)。

linux接触越早越好,命令越熟越好,vim操作越眼花缭乱越好…

先说单片机吧!!有人说51系列太过时了,但作为新手入门也未尝不可,可在淘宝上买个板子,也可以直接用proteus仿真。请根据自身钱包隆起程度决定。了解下什么是IO、串口通信、中断等,最好用模拟时序的方式用IO引脚写个iic和spi的驱动。

然后你可以学习一下mcu或处理器了~~

建议是ARM,建议先玩裸机,还是和51一样,从点灯开始熟悉。请注意:最好不要一上来就钻到里面把所有的模块都整一遍,因为那样好费时间(,不是不可以,但效果不一定是最好的哟。

学裸机编程其实就是学CPU编程思想,因为你后面肯定不只是用一种CPU,怎么控制引脚,怎么配置寄存器可能每款CPU都不一样。要学到的是这种方法,这种原理。保证你以后拿到一款U可以轻松的把它驱动了。而不是说你这一款用的很好,换另一个就无从下手了!

还是像上面所说的,先把cpu本身的资源搞懂!!IO、中断(就单片机编程来说相当重要)、UART、内存寻址方式等等。

如果可以,学一下它的汇编。如果汇编你也学了,好!!请基于这个u写个时间片的调度器,不用太复杂,运行个多任务就可以了。(这里重点不是写调度器,而是写它的时候会涉及到各种栈操作,现场的保护与恢复,用到大量汇编)。

然后再根据外围的器件做些实验,这就不说了,你会接触到一个东西:datasheet,然后像什么数模模数,语音,lcd屏,按键,时钟芯片,等根据板子的资源放开整吧!!

单片机这块最后说一句:

玩单片机千万别不买开发板!!!!

不玩单片机千万别买开发板!!!!

所以一个合适的板子对于初学者来说至关重要!!!

电子创新网和灵动微电子联合举办的“灵动MM32F103 MiniBoard测评活动” 早已上线,此次我们将会选出50位试用者,只要您报名参与,就有很大机会免费赢取MM32F103 MiniBoard套件一份喔! 精彩活动,不容错过,赶快行动起来吧!

点击下方图片即可进入报名页面,您还在犹豫什么?!

开发板测评图片

围观 412

虽然嵌入式系统已经有30多年的历史,但是原来一直是隐藏在背后的,自从物联网上升为国家战略后,嵌入式系统也从后台走到前台,成为备受瞩目的一部分。

很多学者和业界人士都意识到,嵌入式系统将会迎来前所未有的发展机遇;同时,嵌入式工程师也意识到,随着时代变迁,我们自身的意识也要跟着进步。原来的嵌入式系统是孤立在一个个产品中的独立系统,而如今在物联网时代,这些独立的系统要连接成一个大网,安全性和可靠性都上升到了一个新的高度。不仅如此,嵌入式工程师的关注角度也不能再仅仅局限于技术、产品,而应该树立广义的服务意识,站在更高的角度上统筹嵌入式系统能够给物联网带来哪些服务!《单片机与嵌入式系统应用》小编,邀请到了业内的专家,一起来聊聊关于转型的那点儿事!

专家论道

嵌入式系统联谊会秘书长何小庆

物联网时代,嵌入式工程师应尽快转型

嵌入式工程师转型到物联网开发有两种方式:主动转型和被动转型。主动转型,是指传统的嵌入式工程师看到物联网发展的大趋势,主动在企业内部申请参加与物联网相关的新项目开发工作,或者为企业出谋划策,建议企业将传统产品转型到物联网产品。主动转型的嵌入式工程师会非常关注新的物联网开发平台,积极参加物联网开发技术研讨会,充分利用业余时间学习物联网开发新技术和新知识。被动转型,是指企业本身看到物联网发展趋势,开始着手将产品升级成物联网产品,由此要求嵌入式工程师参与到物联网产品开发之中。

无论是哪种方式的转型,嵌入式工程师只要积极参与到物联网开发当中,努力学习,就一定能顺利地胜任物联网开发工作。因为物联网系统本身就是嵌入式系统的自然延伸,嵌入式系统通过增加无线通信、手机APP和云计算平台实现了物物相连的一个大系统。

当然,学习物联网相关知识,掌握物联网开发所需要的新工具,是必须经历的过程。比如蓝牙和ZigBee通信协议的相关知识、Android 智能手机编程技术,这些都是传统嵌入式工程师以前没有掌握的技术。所幸的是,目前高校已经开设了物联网专业,培训机构以及物联网技术平台企业(比如ST 和NXP 等)都有不错的培训课程,许多出版社已经出版了大量物联网开发书籍,互联网上有许多很好的物联网开发视频教程,开源社区也有许多开源硬件和软件,比如IntelArduino101和FreeRTOS。

现在,学习物联网开发的基础条件很好,关键在于自身。如果你一直抱着等等看、以后再说的想法,随着年龄的增加,学习新技术的热情和能力都会有所下降。物联网时代已经到来,嵌入式工程师应尽快实现转型。

太原理工大学晓明研究室常晓明教授

嵌入式工程师要依靠项目成熟

最近,我与一些学生进行了交流,大家就嵌入式系统工程师这一职业谈了一些看法。归纳起来主要有两个方面:一是担心嵌入式系统工程师的发展前景;二是嵌入式系统涉及的面太广,不知该如何学,从而难以坚持。

第一,关于嵌入式系统工程师的发展前景。本人从事该方面的工作已有40多年。从最初制作硬件到后来软件硬件都做,从开始的单体设计到后来的系统设计,我感到嵌入式领域发展非常迅速,有许许多多的机会,同时也充满了挑战。有一点感受:嵌入式系统越做越有味儿,几十年前许多最基本、最基础的东西不会因器件的迅猛发展而被淘汰,关键是你要跟随时代不断学习新东西。在我看来,嵌入式系统工程师前途一片光明。

第二,嵌入式系统涉及的面确实比纯软件要广。不但需要具有坚实的数学、物理、电路基础、信号与系统、电子线路等功底,还必须有大量的实践经验,而要得到实践经验的环境并不是像做软件那样,有台计算机就基本能解决问题。因此,培养一个成熟的嵌入式系统工程师不是一件容易的事情。例如你没有测试仪器、加工环境、高人指导,确实不容易理解和掌握硬件系统。从这个意义上讲,只有寻找各种机会锻炼自己的软硬件实力,才能不断扩大自己的知识和技术面,得到较快的成长,从而胸有成竹地开展嵌入式应用系统的开发。因此,建议嵌入式爱好者要努力实践,通过项目提高自己,追随老手成熟自己。

江南大学计算机系主任柴志雷副教授

嵌入式产品开发要着眼于服务

传统嵌入式系统的特点是通常未接入互联网、功能相对简单、采用的芯片资源及性能有限,因此嵌入式工程师有能力,同时也需要根据应用的需求深度定制嵌入式系统的软硬件,以获得最优化的效果。进入物联网时代后,嵌入式系统需要更多的互联网化、智能化,功能日趋复杂,同时应用于嵌入式系统的芯片也更为复杂,从芯片到应用的深度软硬件定制已超出嵌入式工程师的个人能力。因此,嵌入式系统的开发也将会向两个方向发展。

一是基于芯片提供特定领域的增值服务。由于系统的复杂性导致嵌入式工程师不再具有从底层定制整套软硬件系统的能力,以及出于对产品开发周期、成本的考虑,面向最终产品的嵌入式工程师越来越多地希望基于服务而非基于裸片开发。另外,由于物联网时代嵌入式系统应用场景多样化,基于芯片的中间件或服务也呈现多样化、专业化,会给开发特定领域服务的嵌入式工程师带来机会。

二是基于服务的嵌入式产品开发。同样基于前面分析,面向最终产品的嵌入式开发工程师也将不再直接从芯片裸片开始开发产品,而是选择具有良好中间件或服务等生态系统的芯片作为产品的平台。这一趋势从近年来Arduino受欢迎的程度便可知晓。另外,手机上的APP开发实际上也是基于服务的嵌入式系统开发,未来更多领域的嵌入式系统也会逐步采用类似的开发模式。

网友杂谈

#include<东.h>

随着时代的变迁,嵌入式系统从后台走到了前台,传统的嵌入式概念也得到了延伸。了解时下最火的科技名词,如3D打印、无人机、VR、机器人、人工智能、工业4.0等,可以知道相比于传统嵌入式,如今的嵌入式开发需要更强的控制器、更大的RAM、更快更安全的网络性能,同时需要结合传感器和云计算技术。显然,对嵌入式工程师的要求更高了,类似于制造业产业升级,我们嵌入式工程师也要升级!

一个永恒的主题是学习,不管处于哪个层级,只有不断学习,才能紧跟时代步伐。这里想特别说一下开源。如今的世界是开放的,软件的开源运动所造成的影响不容忽视,嵌入式工程师在开发产品时不能像以前一样封闭,应积极融入开源社区,以开放的态度去学习。正所谓海纳百川,有容乃大。另外,由于知识的爆炸性增长,嵌入式工程师需要重视对知识的管理,所谓好记性不如烂笔头,多写技术博客,有利于总结经验,提高开发速度。同时由于开发模式的转变,如今的嵌入式开发是模块化的开发,会更便捷、更注重成本和用户体验,所以嵌入式工程师应该提高服务意识,不能只考虑技术问题,要多从客户、用户角度思考问题。我曾想,以后会不会出现以服务为核心竞争力的科技企业呢? 最后,在机遇与挑战并存的今天,嵌入式工程师应该多实践、多思考、多交流,但也不能在浪潮中迷失自我,还是需要花点时间沉淀下来,用心做好对社会有价值的产品。

yoummiegao

将产品融入物联网大网,硬件同质化,更多的价值体现在后期服务上,也许会有更多的软件工作,也许会向系统工程师转型!

傅羿

用电视剧老九门的一句台词开始:入此门者,当放下一切希望! 不过切勿理解错了,不是做嵌入式没有希望,而是说,进入嵌入式的门,放下的越多,才会收获的越多!

今天,知识爆炸并不稀奇,但是,却引发了职业更迭的担忧。如今大数据、人工智能、物联网火爆异常,应该说,一定会给我们现在的生活带来极大冲击。所以,嵌入式工程师要顺应时代的发展潮流,拥抱并融入智能时代的浪潮。自信地说,我们在社会所处的工作位置至关重要,再智能的软件也不能缺少一个优秀的硬件作为支撑。今后我们应该往智能化方向转型,在硬件和软件之间找到最佳平衡点,将嵌入式也智能化。简言之,是不是被时代所宠爱,就要看我们怎样把嵌入式设计和智能应用结合。至于转型,我看还是有必要的,就叫“新嵌入式”工程师。

编辑观点

物联网时代,给嵌入式工程师提供了广阔的施展舞台。嵌入式工程师在深钻技术的同时,尽可能树立一种服务意识,小到监测身体指标,大到一个城市的交通系统,从而更了解自己所掌握的技术应用其中,最终能够给用户带来哪些服务和体验。例如,交通处罚由罚车改为罚人,只有工程师才最清楚以目前的技术水平是否可以实现。

所以这里的服务,并非我们理解的狭义上的服务,而是站在更高层次上的服务,是对大局的服务,这也正是技术的最终归宿!

文章来源:嵌入式资讯精选

(直接点击图片可进入调查页面)

开发板测评图片
围观 343

页面

订阅 RSS - 嵌入式