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…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...

C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...

rm视觉学习1-自瞄部分
首先先感谢中南大学的开源,提供了很全面的思路,减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接:https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架: 代码框架结构:readme有…...