首页 >>  正文

嵌入式linux驱动开发

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

编译 | 苏宓

出品 | 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位居榜首,专有软件代码复用更常见!

邹蕊映4604嵌入式Linux驱动开发与应用开发怎么细分的 -
翟艳该17656655236 ______ 嵌入式驱动开发:熟练掌握Linux操作系统、系统结构、计算机组成原理、数据结构相关知识.熟悉嵌入式ARM开发,至少掌握Linux字符驱动程序开发.具有单片机、ARM嵌入式处理器的移植开发能力,理解硬件原理图,能独立完成相关硬件驱动调试,具有扎实的硬件知识,能够根据芯片手册编写软件驱动程序.想要了解更多可以查看《Linux就该这么写》,里面有详细的解答.

邹蕊映4604LINUX嵌入式驱动开发中哪几个驱动比较常用,在一般的公司里面面试会经常提到的? -
翟艳该17656655236 ______ 一般就考字符设备驱动,还有块设备驱动.只要你能把常见的nand flash,还有led,触摸屏的驱动给了解差不多就可以的.

邹蕊映4604学习linux嵌入式驱动开发用什么开发板好 -
翟艳该17656655236 ______ 如何选择开发板 第一,要把握最近的形式,看看什么cpu用的最多,什么cpu最稳定,定位自己的目标有选择的学习嵌入式.现在的arm11用的最多,很多的工业上都在用,在07年之前学习嵌入式用的最多的是arm7,从07年之后的几年学习嵌入...

邹蕊映4604linux 嵌入式驱动工程师 要掌握哪些东西 我做过单片机,想做LINUX 驱动不知道要学那些东西请指教! -
翟艳该17656655236 ______ 先看《linux内核完全剖析》入门 然后掌握GNU工具链的用法,学习如何进行交叉编译,推荐多跑几次LFS和CLFS,熟悉常用的内核配置和编译方法.然后从内核源码中找到和你的驱动功能类似的部分,学习如何编写Linux驱动的内核模块.大方向是这样的,具体的还是要看你的工程情况,也许你只需要了解其中一部分内容.如果想牢固的掌握的话,以上步骤我觉得是必须的.

邹蕊映4604嵌入式设备驱动怎么编写 -
翟艳该17656655236 ______ 这不带OS的,那写起来更加简单.但又比较复杂,你需要对硬件知道的很清楚,对通信协议等.现在很多主流 处理器,就算不跑系统也都进行了OS类似的架构来设计.因为这样可以方便移植.屏蔽硬件后,软件开发速度更快.你所谓的裸驱,写起来也是蛮头大的.

邹蕊映4604嵌入式LINUX驱动程序实战开发怎么样 -
翟艳该17656655236 ______ 我可以给出一些见解,我是通过培训,然后在此行业工作了近一年.针对你的问题,不同的公司有不同的录取规则,没有一个定式.当时找第一份工作前,我也有你的这种困扰,我把我的想法说一下,希望能帮到你. 如果你作为初级驱动工程师...

邹蕊映4604嵌入式驱动开发需要哪些知识
翟艳该17656655236 ______ 嵌入式驱动以及嵌入式Linux内核开发主要用的都是C语言,JAVA是基于上层开发的语言,而C是基于底层驱动开发的.所以如果想要做好嵌入式驱动开发主要是要把C语言基础打好,这样对以后的发展会有很大帮助的.再则你要了解一点硬件方面的知识,比如上楼说的单击片或者开发板和开发软件工具使用. 在这个问题上你可以了解去一个叫“东方赛富3G嵌入式学院”的地方详细咨询一下,他们是专业做嵌入式以及3G开发、ARM驱动底层开发培训的地方,毕竟人家专业,你去咨询一下,我想你会有很大收获的.

邹蕊映4604请教嵌入式linux应用层开发主要做什么 -
翟艳该17656655236 ______ 一:C语言 嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识.包括:基本数据类型、数组、指针、结构体、链表、文件操...

邹蕊映4604LINUX的驱动开发和嵌入式开发有什么关系?、 -
翟艳该17656655236 ______ 共同点:都可以用C语言开发,驱动开发和嵌入式开发都可以在LINUX下进行,都需要关注硬件.不同点:嵌入式开发包括嵌入的驱动开发、应用软件开发、操作系统开发

邹蕊映4604嵌入式LINUX驱动程序高级研修班大概要学些什么内容?
翟艳该17656655236 ______ 基于Linux的嵌入式系统目前获得了广泛应用,在嵌入式Linux核心层的开发中,设备驱动的编写占据了大部分的工作量,能编写出真正可用的驱动程序存在着很多技术要点,本课程的开设有一定开发经验人员的需要,通过对嵌入式Linux系统理论知识和实际代码分析相结合的方式,了解和学习目前在嵌入式Linux驱动开发中比较重要的几项驱动和其框架结构,如块设备驱动程序框架,LCD Frambuffer,网络设备驱动,USB驱动等.通过大量精心设计的驱动实验,使学员真正掌握嵌入式系统www.gec-edu.org驱动开发的关键技术.

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