首页 >>  正文

c++嵌入式开发

来源:baiyundou.net   日期:2024-09-22

编译 | 苏宓

出品 | CSDN(ID:CSDNnews)

在硬件制造过程中,嵌入式系统开发成为不可或缺的重要一部分。

近日,AspenCore Media 在进行嵌入式市场调查之后,围绕嵌入式开发环境、操作系统、微处理器/微控制器/FPGA 和设计工具等层面发布了《嵌入式开发现状》的研究报告,解读全球的嵌入式开发最新开发现状。

嵌入式开发环境

就应用而言,嵌入式项目的目标范围很广,大多数倾向于工业自动化和仪器仪表、物联网、通信和汽车;其中特别关注性能、连接性、功率效率和信号处理。

嵌入式项目是针对什么类型的应用开发的

根据调查显示,嵌入式项目开发中,最紧迫的设计挑战是满足性能规格、选择合适的处理器和测试/调试,以及安全性和电源管理。超过三分之一的嵌入式设计包含无线功能,近三分之一的嵌入式设计全部或部分致力于物联网应用,其中大多数用于传感器驱动、工业或移动通信。在安全方面,IP 盗窃、产品篡改和克隆是主要的安全问题,特别是对于大型 OEM 而言。

随着围绕人工智能的持续炒作,今年早些时候进行的一项研究反映了这一点:嵌入式人工智能和机器学习吸引了相当多的关注量,其次是嵌入式视觉和语音功能也是大家关注的重点。与此同时,六分之一的受访者正在从事包含人工智能的嵌入式项目。

嵌入式人工智能和机器学习引起了广泛关注

研究中的大多数嵌入式开发人员都从事与软件或硬件相关的活动——无论是编写、测试、调试还是共同设计或与参与硬件集成。

事实上,软件占据了开发人力资源的最大份额。同时,专有代码重用比例比硬件或 IP 重用更为常见。

硬件和软件重用正在成为嵌入式系统开发的常态

对于软件开发而言,C 和 C++ 仍然在软件编程语言中占主导地位。这种对 C 语言的偏好在北美以外地区和经验丰富的嵌入式设计人员中尤其明显,而早期专业嵌入式开发人员比他们的老同事更倾向于使用 ADA 或 Java。

Linux 和 FreeRTOS 并列位居嵌入式开发操作系统榜首

大多数嵌入式项目都以某种形式依赖于操作系统。

在最流行的操作系统列表中,嵌入式 Linux 和 FreeRTOS 位居榜首,其次是 Ubuntu、Debian、Android 和 RTX,最后是 ThreadX。

此外,业界对开源或定制专有解决方案的依赖仍然占主导地位:只有十分之四的项目全部或部分使用商业操作系统。其原因是开发团队除了满足于现有的产品之外,综合成本、易用性、兼容性、安全性等因素考虑,还希望避免只依赖某一家商业供应商。

流行的嵌入式操作系统

多个团队经常更换处理器品牌或系列

在嵌入式领域,使用多个处理器是常态,尤其是在北美设计团队中。

开发人员在有限的设计周期时间内其实并不想更换处理器或是增加处理器,然而,近一半的项目涉及使用与以前不同的处理器,以便获得更丰富的功能,并与具有更好、更清晰的路线图的供应商合作。

四分之一的嵌入式开发人员往往需要在嵌入式开发中迁移到截然不同的处理器系列、架构或供应商的处理器。

更换处理器时的首要考虑因素

调查发现,在嵌入式环境中更换处理器频次比以前想象得更为常见。有许多因素需要考虑,最重要的事项(除了所需的性能和适当的外设之外)都与工具和支持生态系统、强大的软件支持(包括现有代码和中间件的可用性)、硬件工具等问题有关,然后是成本。

数据显示,亚洲开发团队比其他地方更敏锐地意识到和关注其中的大多数问题。

有趣的是,处理器供应商的品牌在决策过程中起着重要作用。研究发现,意法半导体是最广为人知的微处理器或微控制器供应商(从过去几年的排名来看,该公司的地位有所提高),其次是 Microchip、德州仪器、英特尔和恩智浦。较大的 OEM 厂商对这些特定供应商的认知度更高,并且正如预期的那样,经验丰富的工程师也更了解这些供应商。

处理器供应商的品牌在决策过程中起着重要作用

对于专用数字信号处理器,嵌入式开发的很大一部分似乎已经不会在其设计中使用 DSP。但在考虑该解决方案的企业中,最广泛考虑的是 Microchip 的 dsPIC 和 Analog Devices 的多个系列(ADSP-21xx、SHARC 和 TigerSHARC)。

MATLAB 是使用最广泛的系统级设计工具

尽管基于 FPGA 的原型设计和 System C 或其他 HDL 方法已经占据了一定的市场地位,但 MATLAB 仍然是使用最广泛的系统级设计工具,尤其是在大公司中。

除此之外,LabView 和 Simulink 的使用量较之前有所下降。云集成工具经常用于固件更新和管理安全补丁(尤其是在北美)。

MATLAB 仍然是使用最广泛的系统级设计工具

嵌入式设计团队利用各种软件和硬件设计工具,包括编译器、调试器、示波器、逻辑分析仪、设计环境和软件库等等。

该报告指出,未来嵌入式开发人员将寻找各种软件和硬件工具来协助他们的工作并增强他们的开发环境,其中会主要体现在软件测试以及模拟和仿真工具的改进方面。

完整报告地址:https://www.embedded.com/wp-content/uploads/2023/05/Embedded-Market-Study-For-Webinar-Recording-April-2023.pdf

原文地址:https://www.embedded.com/embedded-survey-2023-more-ip-reuse-as-workloads-surge/

","gnid":"9813887262ca08ed0","img_data":[{"flag":2,"img":[{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t013d73ffee4a20366b_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t013d73ffee4a20366b.gif","width":"640"},{"desc":"","height":"564","title":"","url":"https://p0.ssl.img.360kuai.com/t01d9b5406f8d5ff691.jpg","width":"1015"},{"desc":"","height":"571","title":"","url":"https://p0.ssl.img.360kuai.com/t01dc018eb7ee857663.jpg","width":"1023"},{"desc":"","height":"560","title":"","url":"https://p0.ssl.img.360kuai.com/t0196117fca21cb1ecc.jpg","width":"994"},{"desc":"","height":"575","title":"","url":"https://p0.ssl.img.360kuai.com/t01776767aea8c5b4b3.jpg","width":"1021"},{"desc":"","height":"574","title":"","url":"https://p0.ssl.img.360kuai.com/t01bf19b411bf129c20.jpg","width":"1018"},{"desc":"","height":"572","title":"","url":"https://p0.ssl.img.360kuai.com/t016a33f918f0d10a3c.jpg","width":"1019"},{"desc":"","height":"573","title":"","url":"https://p0.ssl.img.360kuai.com/t01fce3f80ad6f98f2b.jpg","width":"1018"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"cache","pub_time":1688521089000,"pure":"","rawurl":"http://zm.news.so.com/4a9f2d24b383e3ba95a07254a00c7f9d","redirect":0,"rptid":"145b53306ebe7a9f","rss_ext":[],"s":"t","src":"CSDN","tag":[{"clk":"ktechnology_1:操作系统","k":"操作系统","u":""},{"clk":"ktechnology_1:人工智能","k":"人工智能","u":""},{"clk":"ktechnology_1:matlab","k":"matlab","u":""},{"clk":"ktechnology_1:linux","k":"linux","u":""},{"clk":"ktechnology_1:处理器","k":"处理器","u":""}],"title":"2023 年嵌入式开发现状:Linux、FreeRTOS位居榜首,专有软件代码复用更常见!

查贾残4228嵌入式软件开发用到的C++主要有那些内容?
羊宏是19764025137 ______ 嵌入式应用程序通常都是在样机环境下调试与开发的,这种环境与最终产品之间并不完全相同.因此,在系统调试阶段就考虑应用程序在最终目标硬件中的运行情况是非常重要的. 本文旨在讨论如何将一个开发/调试环境下的嵌入式应用程序转...

查贾残4228C++和嵌入式有什么不同,学哪个比较容易就业? -
羊宏是19764025137 ______ 几乎没什么相同.首先不是同类,其次做嵌入式几乎用不到C++. 嵌入式做的人少,薪资高,相应的可提供职位的公司也少.但是相近的行业不少,所以就业没问题. C++作为一个很热门的编程语言,在你深知其中一二,而且有项目经历的基础上,就业面更广.

查贾残4228什么叫嵌入式开发? -
羊宏是19764025137 ______ 嵌入式开发就是指在嵌入式操作系统下进行开发,常用的系统有WinCE,ucos,vxworks,linux,android等.另外,用c,c++或汇编开发;用高级处理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上操作系统也属于嵌入式的开发. 嵌入式系统无...

查贾残4228选择C++纯软件开发还是嵌入式开发 -
羊宏是19764025137 ______ 很多人说女生不适合从事计算机编程的工作,这里不是说她们能力不够,而是有很多环境因素,比如经常一个人面对电脑coding,改bug,或是经常加班,有时可能会通宵...一个人的世界要耐得住寂寞...其实不仅女生编程会很累,男的...

查贾残4228c++嵌入式编程是相当于 C语言与单片机吗? -
羊宏是19764025137 ______ c是面向过程语言,c++在c的基础上支持了面向对象开发. 嵌入式计算机系统是相对于通用型计算机系统而言的.通用型计算机系统就是我们大家常用的电脑.

查贾残4228要学习嵌入式的话要不要学习C++? 现在会模电,c语言的话想要学嵌入式要要学什么? -
羊宏是19764025137 ______ 一定的……C++中的CLI(俗称托管C++)便是嵌入式应用开发的不二之选…… 嵌入式系统要求内存占用小,CPU主频率较低(亦即单位时间内并行的运算数量有限,C++的OpenGL可以自动根据CPU大小分配并行任务),而且代码简洁有效,移植性强.C++凭借其简洁高效的代码,和接近于C的执行效率,成为几乎除汇编之外嵌入式开发系统的唯一选择 注:以上文字引述自 陈良乔《我的第一本C++书》,有改动

查贾残4228C++与嵌入式驱动开发~纠结中.... -
羊宏是19764025137 ______ 有C语言基础,再学习C++,基本上都没什么难度....现在的驱动开发,用C++的也蛮多的,我原来在一家公司工作过,也是做驱动开发,就是用C++........我还是建议LZ多学习一下C++.......当然,这并不是说C语言不好...

查贾残4228嵌入式与C++是一回事吗 -
羊宏是19764025137 ______ 不是一回事, 嵌入式: 一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成 参考:http://baike.baidu.com/view/30741.htm C++是一门编程语言. 参考:http://baike.baidu.com/view/118570.htm

查贾残4228c++程序员 是什么样的岗位?
羊宏是19764025137 ______ 看你是哪方面的.C/C++的领域:底层嵌入式开发.用C的话单片机.开发版等.驱动层.等等.一般用C是芯片级开发.与硬件接触多.技术含量高..C++ 现在流行的领域一般有:大型游戏 嵌入式.一般嵌入式都是在linux下面开发的.还是是图形图像处理这是C++的强项.安全,比如360. 迅雷 腾讯这些很多都是用C++开发的.一般用C++做的都是大型项目. 其实还有很多.软件开发.等 用途很广.不过最主要还是我上面说的那些.

查贾残4228通俗介绍一下C++、java、嵌入式系统三个方向,要学的东西,需要精通的方面,开发的产品,以及发展前景,本
羊宏是19764025137 ______ 本人的程序之路是: ASP---HTML----AJAX(之后发现这个行业工资不高,转向下面) C/C++----MFC---STL----WINDOWS程序设计---windows核心编程(能够对进程线程有了一个很深的理解)---ATL(只学一种不行,要精通客户端web手机编程...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024