2023 年嵌入式世界的3 大趋势分析

news2025/1/12 4:44:51

目录

        大家好,本文讲解了嵌入式发展的3个大趋势,分享给大家。

趋势#1 – Visual Studio Code Integration

趋势#2 –支持“现代”软件流程

趋势 #3 – 在设计中利用 AI 和 ML

结论


大家好,本文讲解了嵌入式发展的3个大趋势,分享给大家。


Jacob Beningo是一名嵌入式软件顾问,专门研究基于微控制器的实时系统。他通过大量文章、博客和网络研讨会积极推广软件最佳实践,主题包括软件架构设计、嵌入式 DevOps 和实施技术。Jacob 在该领域拥有 20 年的经验,拥有三个学位,包括密歇根大学的工程硕士学位。

每年,都有无数的会议涵盖电子、嵌入式系统和软件。经理、工程师、开发人员等都有机会了解行业、网络中正在发生的事情,并看到所有即将推出的很酷的新东西,我的意思是工具。我最喜欢的三个会议是嵌入式世界大会,嵌入式在线会议和传感器融合会议

今年3月,我有机会参加在德国纽伦堡举行的嵌入式世界大会,这是自疫情以来的第一次。在会议和展览期间,三个有趣的趋势突出出来,我相信开发人员会感兴趣。

图1:会议演讲出席率似乎恢复到大流行前的水平。这是一张 Jacob 软件架构会议前的一个演讲室的照片。

趋势#1 – Visual Studio Code Integration

Visual Studio Code(VS Code)在全球许多软件开发人员中越来越受欢迎。调查显示,75%的开发人员使用它,在嵌入式世界周围,我听说全球大约有4000万开发人员。这是很多开发人员。

正如你所料,使用 Visual Studio Code 的嵌入式软件开发人员的比例要小得多,但我怀疑这些数字正在迅速上升。通过参加我的研讨会的几位客户和工程师,我看到对VS Code的兴趣日益浓厚。在过去的几年里,我已经在几个项目中使用了它,尽管我并不声称自己是专家。

设置 VS Code 以使用嵌入式系统可能很复杂且容易出错。不要误会我的意思;一些很棒的插件简化了事情。但是,尝试集成微控制器供应商工具、交叉编译器、调试器等可能会很痛苦。(我曾经遇到过一个问题,如果是 C 代码,我可以毫无问题地编译、部署和调试。不幸的是,找不到C++来源!)

在嵌入式世界期间,来自不同微控制器供应商的公告,如意法半导体,恩智浦和Arm,关于对Visual Studio Code的支持。对VS Code的支持通常是与Microsoft合作开发的,并作为扩展出现在IDE中。

例如,STM32 VS Code Extension可以从扩展菜单下载,并且需要STM32CubeCLT。恩智浦为Visual Studio Code提供MCUXpresso。Arms Keil提供了一个名为Keil Studio Pack的扩展。

随着VS Code的普及,在嵌入式空间中使用它的需求正在增加,很高兴看到有价值的解决方案即将到来。(看到您最喜欢的供应商也宣布支持,请不要感到惊讶!)

趋势#2 –支持“现代”软件流程

我在会议上看到的另一个潜在趋势是对嵌入式开发人员的流程支持。长期以来,嵌入式开发人员一直与软件行业的其他开发人员分开,希望按照目标做所有事情。不幸的是,这限制了利用许多现代软件流程(如单元测试、持续集成、模拟等)的能力。

业界大力推动嵌入式系统的设计和构建方式现代化。例如,在展会现场有一些创建自动化管道的示例,该管道产生了GitHub原生的灵活CI / CD流程。

虽然这不是什么新鲜事,但显着的特点是 GitHub 操作现在使 Arm 开发工具(如 Arm 交叉编译器和 Arm 虚拟硬件)可用!此外,开发人员现在可以为其 CI/CD 管道运行虚拟硬件模拟。

趋势 #3 – 在设计中利用 AI 和 ML

我发现了一个令人兴奋的工具,尽管我认为它还有很长的路要走:GitHub Copilot。Copilot 使用 AI 根据您编写的代码行或添加到源代码中的注释来建议代码行。

我发现这在编写生成文件或函数时很有帮助。但是,有时这些建议没有意义或重复。也就是说,我无法告诉你CoPilot提出了多少次建议,我说,“哦,是的,添加它是个好主意!

我看到的另一个很酷但有点吓人的工具是系统设计工具。开发人员可以输入他们想要构建的内容,然后人工智能将使用开源参考设计、数据表等来创建框图、原理图,甚至 PCB 布局。

利用人工智能加速设计有可能大大加速设计和开发。再一次,我看到的例子做得很好,但总有那么一种在我脑海中啃噬,虽然它看起来不错,但魔鬼通常在细节中。尽管如此,AI / ML辅助设计的潜力还处于起步阶段,看到它已经在哪里真是太棒了。

结论

今年的嵌入式世界没有让人失望。它挤满了与会者、供应商和同事。来自世界各地的近900家公司正在展示他们最新,最卓越的技术。

虽然我无法在这篇博客中公正地描述它们,甚至无法触及我们行业所有趋势和暗流的表面,但我希望您对一些趋势和工具有一点了解,我们可以期待在不久的将来帮助我们开发嵌入式软件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/416365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1、Git使用不完全指南:GitHub的使用详解

GitHub 是一个以开源为基础的社交化编程平台,开发者可以在上面分享代码、协同开发、交流等。下面我们来讲一下如何使用 GitHub。 1. 注册 GitHub 账号 首先,我们需要在 GitHub 上注册一个账号,访问GitHub官网:GitHub: Let’s bui…

IDEA win11安装flutter环境

1.环境说明 操作系统:win11编辑器:Idea 2022.2.1Flutter:3.7.7JDK:17 2.安装 Flutter SDK 2.1安装flutter sdk flutter中文网 2.2配置环境变量 1)在环境变量path中加入flutter的安装路径:D:\DevelopT…

结合PCA降维的DBSCAN聚类方法(附Python代码)

目录 前言介绍: 1、PCA降维: (1)概念解释: (2)实现步骤: (3)优劣相关: 2、DBSCAN聚类: (1)概念解释&a…

关于镜头畸变问题的总结

1、问题背景最近在做的项目有畸变校正的需求,但测试镜头畸变时,发现畸变的形态不太正常。如下图所示中间向内凹、四周向外凸,感觉像是曲线型的。但常见的畸变就两种,一种是向内收的枕形畸变,另一种是向外凸的桶形畸变&…

SpringCloud:ElasticSearch之DSL查询文档

elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1.DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测试用。例如…

第04章_IDEA的安装与使用(上)

第04章_IDEA的安装与使用(上) 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 本章专题与脉络 【Why IDEA ?】 【注】JetBrains官方说明: 尽管我们采取了多种…

从二叉树角度看归并排序

归并排序本质上可以看作二叉树的后序遍历 里面用到的核心思想 > 分治 分:二叉树算法思想中的分解问题思想 治:链表中双指针技巧(将两条链表合并成一条有序链表) sort首先将数组分成左半边和右半边 > 然后分别对左右两…

Log库和配置系统结构

Log库: 类关系 首先有3个大类:LogEvent、LogAppender、Logger、LogFormat; 关系如下: Logger:具体log的实现 LogAppender:将Log信息传输到不同的目的地,根据不同的需求派生出不同的类 LogF…

Java 系列 Nacos

Java 系列文章 文章目录Java 系列文章前言一、Nacas 介绍及安装1. 什么是Nacos2. 为什么使用Nacos3. Nacos 下载和安装二、Nacos服务提供者注册1. Nacos代替Eureka2. Nacos服务注册中心3. Nacos Discovery引入1. 创建新项目2. POM3. YML文件4. 启动类5. 业务类6. 测试&#xff…

Git如何推送当前代码到远程仓库

第一种方法 (建立在已经配置好用户变量和ssh基础上) 在本地创建git仓库 git init 绑定远程仓库,origin是给远程仓库起的别名,也可以起其他名字,但是如果用origin,git push时可以不指出名字,如果…

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——第一章学习笔记

第一章 昇腾AI基础知识介绍 第2节 昇腾AI全栈架构 昇腾 AI 全栈可以分成四个大部分: 1.应用使能层面,此层面通常包含用于部署模型的软硬件,例如 API 、 SDK 、部署平台,模型库等等。 2. AI 框架层面,此层…

【C语言】 程序员的自我修养之(程序编译过程)

在ANSI C(标准C)的任何一种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。 今天我们就讲解他们在这环境过程都做了什么。 文章目录详解编译链接翻译环境编…

【数据库原理 • 七】数据库并发控制

前言 数据库技术是计算机科学技术中发展最快,应用最广的技术之一,它是专门研究如何科学的组织和存储数据,如何高效地获取和处理数据的技术。它已成为各行各业存储数据、管理信息、共享资源和决策支持的最先进,最常用的技术。 当前…

【19】核心易中期刊推荐——人工智能 | 遥感信息处理

🚀🚀🚀NEW!!!核心易中期刊推荐栏目来啦 ~ 📚🍀 核心期刊在国内的应用范围非常广,核心期刊发表论文是国内很多作者晋升的硬性要求,并且在国内属于顶尖论文发表,具有很高的学术价值。在中文核心目录体系中,权威代表有CSSCI、CSCD和北大核心。其中,中文期刊的数…

redis——优化

键值设计bigKey例子批处理单机 pipeline集群服务器持久化慢查询安全内存集群问题集群完整性集群带宽数据倾斜客户端性能命令的集群兼容性lua和事务&#xff1a;集群下不支持键值设计 长度 < 44 节省内存。string的底层数据结构中&#xff0c;编码格式embstr&#xff08;连续…

LeetCode:455. 分发饼干——贪心算法

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; &#x1f33b;算法&#xff0c;不如说它是一种思考方式&#x1f340;算法专栏&#xff1a; &#x1f449;&#x1f3fb;123 贪心算法是在每个阶段选取局部最优解&#xff0c;最终得到全局最优解的一种思想。贪心算法…

操作系统论文导读(四):Minimizing Memory Utilization of Real-Time Task Sets in Single and…

目录 一、论文核心思想&#xff1a; 二、降低RAM的思想 三、基本的相关定义 四、单处理器方面 五、优化单处理器中的堆栈使用 六、多处理器方面 七、基本的相关调度 八、协议特点 Minimizing Memory Utilization of Real-Time Task Sets in Single and Multi-Processor…

算法记录 | Day29 回溯算法

491.递增子序列 思路&#xff1a; 1.确定回溯函数参数&#xff1a;定义全局遍历存放res集合和单个path&#xff0c;还需要 nums数组startindex&#xff08;int&#xff09;为下一层for循环搜索的起始位置。 2.终止条件&#xff1a;当startindex >len(nums)&#xff0c;r…

C++初阶—vector深度剖析及模拟实现

目录 ➡️0. 前言 &#x1f60a;1.简易框架实现 &#x1f414;1. 无参构造 &#x1f414;2. 容量capacity — 长度size() &#x1f414;3. 动态增长 — push_back—pop_back — reserve &#x1f414;4. 迭代器的实现 &#x1f414;4.front和back的实现 &#x1f60a;2…

你知道C语言的typedef关键字吗?

本篇博客主要讲解C语言中的typedef关键字。typedef的作用是类型重定义&#xff0c;可以理解为给类型起一个别名。我主要从3个方面来讲解&#xff1a; typedef内置类型。typedef自定义类型。typedef和#define的区别。 1.typedef内置类型 typedef可以给一个类型起“别名”。比如…