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++优势的更多相关文章

  1. IntelliJ IDEA 最新版 2019.2.4 激活 (持续更新)(含windows和Mac)

    IntelliJ IDEA 最新版 2019.2.4 激活 最新版激活包下载地址: 百度网盘 提取码: i28c 转载: Neo Peng Jetbrains系列产品 激活方式 同下述方式相同,只需要 ...

  2. Linux嵌入式系统与硬件平台的关系

    一. Linux嵌入式系统 操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外部设备的接口.它存在的目的是为了管理所有硬件资源,并且提供应用软件一个合 ...

  3. 使用buildbot实现持续集成(转载)

    转载自:http://www.oschina.net/p/buildbot 使用 Buildot 实现持续集成 使用基于 Python 的工具实现持续集成的理论与实践 牛仔式编码的日子在大多数组织中早 ...

  4. 构建基于Jenkins + Github的持续集成环境

    搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...

  5. CI持续集成

    CI持续集成 “我的TDD实践”系列之CI持续集成 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先 ...

  6. 我的TDD实践---CI持续集成

    “我的TDD实践”系列之CI持续集成 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先行,后理论专精 ...

  7. 32位嵌入式微处理器(processor)一览

    32位嵌入式微处理器(processor)一览 由于嵌入式系统的专用型与定制性,与全球PC市场不同,没有一种微处理器或者微处理器公司可以主导嵌入式系统.本文分析了当前市场上主流的一些32位嵌入式微处理 ...

  8. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  9. 如何自行搭建一个威胁感知大脑 SIEM?| 硬创公开课

    如何自行搭建一个威胁感知大脑 SIEM?| 硬创公开课 本文作者:谢幺 2017-03-10 10:09 专题:硬创公开课 导语:十年安全产品经验的百度安全专家兜哥,手把手教你用开源项目搭建SIEM安 ...

随机推荐

  1. 路由器逆向分析------firmware-mod-kit工具安装和使用说明

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/68061957 一.firmware-mod-kit工具的安装 firmware-m ...

  2. PE文件格式偏移参考

    在进行PE文件格式病毒分析的时候,经常要使用到PE文件格式的解析,尤其是对LoadPE形式的病毒的分析,经常要查看PE文件格式的偏移,特地从博客<PE文件格式的偏移参考>中转载收录一份,之 ...

  3. Tomcat漏洞集合

    目录 Tomcat的几大高危漏洞 Tomcat安全措施 Tomcat的几大高危漏洞 1.Tomcat后台弱口令上传war包(Tomcat管理弱口令页面Getshell) 2.Tomcat的PUT的上传 ...

  4. JWT(Json Web Token)认证

    目录 JWT(Json Web Token) JWT的数据结构 JWT的用法 JWT验证流程

  5. Http协议有什么特点,能说说这些特点体现在哪些方面吗?

    Http协议有什么特点,能说说这些特点体现在哪些方面吗? Http协议是我们最常用的接口,那它有什么特点呢? 无连接 无状态 还有呢? 灵活,简单快速 还有它的这些特点体现在哪些方面?你也要能说一说. ...

  6. python爬虫——《英雄联盟》英雄及皮肤图片

    还记得那些年一起网吧开黑通宵的日子吗?<英雄联盟>绝对是大学时期的风靡游戏,即使毕业多年的大学同学相聚,难免不怀念一番当时一起玩<英雄联盟>的日子. 今天就给大家分享一下英雄及 ...

  7. Redis数据持久化—RDB持久化与AOF持久化

    目录 Redis数据持久化-RDB持久化与AOF持久化 RDB持久化 RDB文件的创建 RDB文件的载入 自动间隔性保存 检查保存条件是否满足 AOF持久化 AOF持久化的实现 AOF文件的载入与数据 ...

  8. eth-trunk

    ------------恢复内容开始------------ 1.eth-trunk 是什么 *链路 聚合技术 2.做什么用的 *作为一种链路捆绑技术,可以把多个独立物理接口绑定在一起,作为一个大带宽 ...

  9. appium等待元素

    1.sleep()方法 Thread.sleep(60000)强制等待60s 2.隐式等待implicitlyWait() driver.manage().timeouts().implicitlyW ...

  10. ARM64平台编译stream、netperf出错解决办法 解决办法:指定编译平台为alpha [root@localhost netperf-2.6.0]# ./configure –build=alpha

    ARM64平台编译stream.netperf出错解决办法 http://ilinuxkernel.com/?p=1738 stream编译出错信息: [root@localhost stream]# ...