2019个嵌入式市场研究,持续的C/C++优势
2019个嵌入式市场研究,持续的C/C++优势
2019 Embedded Markets Study reflects emerging technologies, continued C/C++ dominance
根据Eee Times和嵌入式技术在今年早些时候发布的2019个嵌入式市场研究,虽然物联网(IOT)、嵌入式视觉、机器学习和其新兴技术在开发组织中的重要性日益提高,但C和C++仍然是嵌入式开发者中的主要编程语言。
2019年嵌入式市场研究延续了20多年的传统,提供了美洲、亚太地区(APAC)和欧洲、中东和非洲(EMEA)嵌入式发展状况的详细快照。在这张快照中,研究提供了一系列关键领域的见解,从受访者当前的应用焦点和设计环境到关键硬件组件和设计技术的作用。以下各节说明了这些领域的亮点。
应用程序焦点
在半数受访者中,物联网发展已经被认为是重要的,预计在未来的项目中,物联网发展将得到相当大的关注,超过65%的受访者表示,将有一个或多个项目致力于物联网(图1)。

图1. 2019年嵌入式市场研究
即便如此,在一个连接性基本上是一个基线设计需求的行业中,安全方法的使用充其量是混合使用的(图2)。纯软件安全方法通常比基于硬件的安全方法带来更多的安全漏洞。然而,目前约有26%的设计都是基于软件安全的。也许更令人担忧的是,20%的设计完全没有安全功能。调查并没有探究这些设计的本质,让了解这些设计的目标应用程序的性质,因此这些系统中的实际风险是未知的。然而,任何嵌入式系统仍然容易受到来自连接相关安全漏洞的威胁。

图2. 当前设计中采用的安全措施——2019年的新问题。
也许这项研究的一个更显著的结果在于对使用机器学习能力的期望。已经有32%的2019年研究受访者表示目前正在使用机器学习方法,但55%的受访者正在考虑使用机器学习方法,这一数字在欧洲、中东和非洲地区的开发者中升至68%(图3)。

图3. 正在使用或正在考虑的先进技术。
当前嵌入式设计环境
虽然对IEEE或GITHUB等编程语言的更一般的调查表明Python、java和JavaScript的统治,2019个嵌入式市场研究表明C++和C++仍然牢牢地处于嵌入式开发的顶层(图4)。

图4. 编程语言的使用。
开发人员可能将C/C++代码与汇编语言的结合,一方面用于关键循环,要么与Python、Matlab和LabVIEW进行建模和算法探索。Python在人工智能(AI)开发中的迅速普及可能会使这些数字略有改变,因为其研究结果表明边缘计算系统和基于AI的方法的重要性日益增加。然而,目前,C和C++仍然是嵌入式开发人员中首选的编程语言。
嵌入式设计过程
嵌入式设计过程仍然以详细设计阶段为主,占设计时间的30%——这一数字在过去几年中基本保持不变(图5)。在2019年的一个新问题中,花费在安全或隐私风险评估上的时间量引发了对在嵌入式设计中构建安全性和隐私性的更高级别方法的作用的质疑。

图5. 花在不同设计阶段的时间。
操作系统
嵌入式Linux和FreeRTOS继续超越嵌入式开发中使用的其操作系统。然而,在未来12个月内可能使用哪些操作系统方面,地区差异明显,尤其是Android操作系统(图6)。

图6. 正在考虑的主要操作系统的区域性突破。
除上述章节外,2019年嵌入式市场研究还对微处理器、FPGA和开发领域(包括硬件IP重用、设计技术、系统级工具以及项目和版本控制)的当前和预期作用提供了详细的见解。
2019个嵌入式市场研究,持续的C/C++优势的更多相关文章
- IntelliJ IDEA 最新版 2019.2.4 激活 (持续更新)(含windows和Mac)
IntelliJ IDEA 最新版 2019.2.4 激活 最新版激活包下载地址: 百度网盘 提取码: i28c 转载: Neo Peng Jetbrains系列产品 激活方式 同下述方式相同,只需要 ...
- Linux嵌入式系统与硬件平台的关系
一. Linux嵌入式系统 操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外部设备的接口.它存在的目的是为了管理所有硬件资源,并且提供应用软件一个合 ...
- 使用buildbot实现持续集成(转载)
转载自:http://www.oschina.net/p/buildbot 使用 Buildot 实现持续集成 使用基于 Python 的工具实现持续集成的理论与实践 牛仔式编码的日子在大多数组织中早 ...
- 构建基于Jenkins + Github的持续集成环境
搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...
- CI持续集成
CI持续集成 “我的TDD实践”系列之CI持续集成 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先 ...
- 我的TDD实践---CI持续集成
“我的TDD实践”系列之CI持续集成 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先行,后理论专精 ...
- 32位嵌入式微处理器(processor)一览
32位嵌入式微处理器(processor)一览 由于嵌入式系统的专用型与定制性,与全球PC市场不同,没有一种微处理器或者微处理器公司可以主导嵌入式系统.本文分析了当前市场上主流的一些32位嵌入式微处理 ...
- 【译文】用Spring Cloud和Docker搭建微服务平台
by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...
- 如何自行搭建一个威胁感知大脑 SIEM?| 硬创公开课
如何自行搭建一个威胁感知大脑 SIEM?| 硬创公开课 本文作者:谢幺 2017-03-10 10:09 专题:硬创公开课 导语:十年安全产品经验的百度安全专家兜哥,手把手教你用开源项目搭建SIEM安 ...
随机推荐
- 反病毒攻防研究第004篇:利用WinRAR与AutoRun.inf实现自启动
一.前言 由之前的一系列研究可以发现,为了使得"病毒"能够实现自启动,我也是煞费苦心,采取了各种方式,往往需要编写冗长的代码并且还需要掌握系统底层或注册表的很多知识才可以.而这次我 ...
- hdu 3062 基础的2sat
题意: Party Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- poj2175费用流消圈算法
题意: 有n个建筑,每个建筑有ai个人,有m个避难所,每个避难所的容量是bi,ai到bi的费用是|x1-x2|+|y1-y2|+1,然后给你一个n*m的矩阵,表示当前方案,问当前避难方案是否 ...
- POJ1988(带权并查集,搬砖块)
题意: 可以这样理解,有n快方形积木,一开始都是单独的放到哪,然后有两种操作 1 M a b 把a所在的那一堆落到b所在那一堆的上面(一开始自己是一堆) 2 C a 问a下面有多少个积木 ...
- 【js】Leetcode每日一题-解码异或后数组
[js]Leetcode每日一题-解码异或后数组 [题目描述] 未知 整数数组 arr 由 n 个非负整数组成. 经编码后变为长度为 n - 1 的另一个整数数组 encoded ,其中 encode ...
- python-内置函数-callable,chr,ord,bytes,随机验证码生成
s="老男人" bytes(s,encoding="utf-8") 随机验证码的实现方法: 大写字母: li = [] for i in range(6): t ...
- Spring Cloud Alibaba(9)---Sentinel概述
Sentinel概述 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流.流量整形.熔断降级.系统自适应保护.热点防 ...
- Linux Limit相关内容设置大全(值得收藏)
目录 一. /etc/security/limits.conf 详解 /etc/security/limits.conf 配置解析 /etc/security/limits.d/目录 二. ulimi ...
- [BUAA2021软工助教]个人阅读作业#2小结
作业链接 见个人阅读作业#2 优秀作业推荐 Shaun_Yao ✍️ 道法之间--软工第2次博客作业 Potassium ✍️ 构之有道,建之有法--软工个人阅读作业#2 MarkDay ✍️ < ...
- stm32开发笔记(二):stm32系列使用V3.5固件库的帮助文件以及GPIO基本功能(一)
前言 stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的. 本章讲解使用库函数使用GPIO引脚功能. 补充 本文章为多年前学习 ...