2023 年嵌入式世界的3 大趋势分析
目录
大家好,本文讲解了嵌入式发展的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家公司正在展示他们最新,最卓越的技术。
虽然我无法在这篇博客中公正地描述它们,甚至无法触及我们行业所有趋势和暗流的表面,但我希望您对一些趋势和工具有一点了解,我们可以期待在不久的将来帮助我们开发嵌入式软件。
相关文章:
2023 年嵌入式世界的3 大趋势分析
目录 大家好,本文讲解了嵌入式发展的3个大趋势,分享给大家。 趋势#1 – Visual Studio Code Integration 趋势#2 –支持“现代”软件流程 趋势 #3 – 在设计中利用 AI 和 ML 结论 大家好,本文讲解了嵌入式发展的3个大趋势,分享…...
基于 DolphinDB 机器学习的出租车行程时间预测
DolphinDB 集高性能时序数据库与全面的分析功能为一体,可用于海量结构化数据的存储、查询、分析、实时计算等,在工业物联网场景中应用广泛。本文以纽约出租车行程时间预测为例,介绍如何使用 DolphinDB 训练机器学习模型,并进行实时…...
Python调用最小二乘法
文章目录 numpy实现scipy封装速度对比 所谓线性最小二乘法,可以理解为是解方程的延续,区别在于,当未知量远小于方程数的时候,将得到一个无解的问题。最小二乘法的实质,是保证误差最小的情况下对未知数进行赋值。 最小…...
15.数据表格.上
本节课我们来开始了解 Layui 的内置模块:table 数据表格。 一.基本使用 1. table 模块,通过异步加载数据来渲染表格来展现数据内容; <table id"table"></table> layui.use([table], () > { const table …...
在poetry虚拟环境下打包exe
本博客介绍了在poetry虚拟环境下打包exe的流程,包含两个部分 打包的基本流程打包过程中遇到的问题 打包的基本流程 copy打包工具到本地,(share:\公用共享\芯片部\乔羽\img_generate\系统部提供的打包exe工具) 用poetry搭建虚拟环境 在打包…...
【Unity VR开发】结合VRTK4.0:高亮与标签
语录: 信仰到底是什么呢,就是纵身一跃,就是我们跟神之间一个永远的约定,是舍弃日的去开始新的生活;信仰就是从今以后,再也不要放开你的手。 前言: Interactable Highlighter :当我们的手柄触碰…...
有了MySQL,为什么还要有NoSQL
🏆今日学习目标: 🍀MySQL和NoSQL的区别 ✅创作者:林在闪闪发光 ⏰预计时间:30分钟 🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你的加入: 林在闪闪…...
找PPT模板就上这5个网站~
分享几个可以永久免费下载PPT模板、素材的网站,上万个模板随便下载,赶紧收藏起来~ 1、菜鸟图库 https://www.sucai999.com/search/ppt/0_0_0_1.html?vNTYxMjky 网站素材非常全面,主要以设计类素材为主,办公类素材也很多&#x…...
Ae:摄像机选项
摄像机选项 Camera Options 快捷键:AA 摄像机选项 Camera Options与“摄像机设置”中的参数大同小异且同步变化,额外增加了一些与镜头模糊和散景光斑形状有关的摄像机属性。 请参阅: 《Ae:摄像机设置》 在合成设置中,选…...
嵌入式日志库ulog的使用和解析
嵌入式日志信息保存调试(ulog) 获取 项目地址:https://github.com/rdpoor/ulog uLog 为嵌入式微控制器或任何资源有限的系统提供结构化的日志记录机制。它继承了流行的 Log4c 和 Log4j 平台背后的一些概念,但开销更低。 使用方…...
自阿里P8爆出内部1031道java面试题后,在Boss直聘狂拿千份Offer
开始之前我问大家几个问题,看大家是如何思考的: 1.程序员一定要去一线城市漂泊吗?在自己家乡如何拿到一份满意的薪水? 2.程序员被裁员、找不到工作,代表什么? 3.程序员一定要进一线大厂吗?你…...
Java最新面试题100道,包含答案示例(41-50题)
非常抱歉,我理解有误。以下是第41至45题的Java面试题和答案: 请问Java中有哪些常用的集合类型? 答:Java中有多种常用的集合类型,包括List、Set、Map等。其中,List和Set分别代表一组元素的序列和一组无序不…...
C++之深入解析野指针和悬空指针
一、野指针 ① 什么是野指针? 野指针指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单地判断是否为NULL避免,而只能通过养成良好的编程习惯来尽力减少,对野指针进行操作很容易造成程序错误…...
YOLOv7+单目测距(python)
YOLOv7单目测距(python) 1. 相关配置2. 测距原理3. 相机标定3.1:标定方法13.2:标定方法2 4. 相机测距4.1 测距添加4.2 主代码 5. 实验效果 相关链接 1. YOLOV5 单目测距(python) 2. YOLOV5 单目跟踪&…...
SYSU程设c++(第九周)函数对象、友元函数、友元类
函数对象: 如果一个类定义了operator()运算符函数,则可以使用该类的对象名为函数名调用这个函数. 函数对象是一个对象,但调用形式和普通函数调用一样,因此取名叫函数对象 (注意operator()先有个括号,接着才是括号(参数…...
Target品质审核零容忍问题点——上篇
【Target品质审核零容忍问题点——上篇】 Target品质验厂审核过程中共有110多个问题点,其中包含零容忍问题12项,审核当天如果出现任何零容忍项或出现很多扣分项,将直接影响最后的结果,极容易导致验厂不通过。建议工厂在遇到Target…...
使用node版本管理器gnvm
目录 一、官网 二、下载 三、查看本机node安装地址 四、将gnvm放到node安装目录 五、安装其他版本node(以管理员身份打开CMD) 六、使用指定版本(以管理员身份打开CMD) 七、查看当前版本(以管理员身份打开CMD&…...
SpringBoot中使用redis事务
本文基于SpringBoot 2.X 事务在关系型数据库的开发中经常用到,其实非关系型数据库,比如redis也有对事务的支持,本文主要探讨在SpringBoot中如何使用redis事务。 事务的相关介绍可以参考: 0、起因 在一次线上事故中,我们…...
2023全网汇总PMP备考攻略(附答题技巧)
一,多复习和学习新版考纲 01《PMBOK》看三遍 这边建议看三遍《PMBOK》,更有利于我们巩固知识,查缺补漏。 第一遍 第一遍是老师带着我们去看。这个时候一定要非常专心,千万不要上课走神或者玩手机。因为这一遍老师会告诉我们&a…...
lightdb/pg reload guc 参数机制
lightdb/pg reload guc 参数机制 本文主要讲述调用pg_reload_conf 后,到guc被真正修改之间发送的故事。(基于pg13) pg_reload_conf 函数实现如下: Datum pg_reload_conf(PG_FUNCTION_ARGS) {if (kill(PostmasterPid, SIGHUP)){ereport(WARNING,(errms…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
