嵌入式应用和驱动,哪个更难!

简介: 嵌入式应用和驱动,哪个更难!

嵌入式驱动和应用,哪个更难?哪个更锻炼自己?”类似的问题经常有网友拿来讨论和交流。

我在嵌入式这行搞开发10年有余了,算不上经验丰富,但站在过来人的角度,只想说:驱动和应用相辅相成,没有谁更难一说,做好了,都难!

现在的嵌入式比20年前的要求更高,软硬件、应用场景也更复杂了,除了驱动层和应用层,中间层也是重要的一层。

当然,在不同场景下分层也有不同的讲究,比如RT-Thread(Smart版本)的软件架构:

暂不说20年前,就是10年前搞嵌入式开发,大部分中小公司对嵌入式开发的岗位要求都不算高,你懂一些基本原理,哪怕没有独立开发过项目,都能找到一个开发(研发)的工作。

而现在呢,你学了RTOS、Linux、各种协议栈,独立开发过项目,可能还找不到一个合适的研发工作。

10年前做项目,对驱动层、应用层的要求相对不高,那个时候不管是写驱动,还是做应用都不是很难。

如果你还在维护10年的老代码,可能会看到网上传言的“屎山代码”,那就是因为当时的要求不高,导致屎山代码遗留至今(当然,10年也有很多优秀的代码)。

放眼望去,为什么现在“更难”了呢?

答案是:时代不同了。

其实,难都是相对的,早些年网络资源不像现在这么丰富,买开发板模块那些也不方便,要踩各种坑才能入门。

而现在,只要你有学习的心,入门是一件很轻松的事,至少点个灯是随随便便的事。只能说,每个时期有每个时期的难!

驱动和应用,哪个更难?哪个更锻炼自己?

两个不同层进行比较,没有可比性,就好比当老板累,还是当员工累,没有标准答案。

作为一名合作的嵌入式工程师,不管是做驱动还是应用,你不能局限于你那一层。

做驱动的要了解应用层业务逻辑实现的一些基本原理,而做应用层开发,也要了解底层驱动是如何实现的。不要求深入了解,但要了解大概原理。

如果只考虑自己那一层,写出来的代码,多半是不合格的,你看看那些互相甩锅的工程师,可能就是这么导致的。

再回来说下,哪个更锻炼自己?道理还是一样,两个都挺锻炼人的。

如今搞嵌入式,要求更高了,两个方向你都需要掌握,但是,你需要侧重一方,其他作为“选修课”,及格就行。

最后,时代在不断变化,我们普通人不能改变世界,就要顺应时代的变化而变化。

目录
相关文章
|
7月前
|
存储 编译器 数据处理
汇编语言在嵌入式系统开发中的核心作用:深入硬件控制,优化系统性能的关键技术。
【8月更文挑战第31天】尽管高级编程语言已广泛应用于软件开发,但在嵌入式系统领域,汇编语言仍不可或缺。它直接操作硬件,实现对中断处理、定时器配置及DMA传输的精准控制,提升系统性能。通过具体示例,如ARM架构下的中断服务程序,展示了汇编语言的独特优势。掌握汇编语言对于嵌入式开发者至关重要,有助于深入理解硬件并优化系统效率。
150 0
|
8月前
|
数据采集 传感器 算法
LabVIEW硬件与仿真双模式设计液压系统
LabVIEW硬件与仿真双模式设计液压系统
68 0
|
10月前
|
存储 算法 定位技术
LabVIEW和NIUSRP硬件加快了认知无线电开发
LabVIEW和NIUSRP硬件加快了认知无线电开发
64 1
|
传感器 5G 测试技术
5G系统概念 | 《5G移动无线通信技术》之七
本节介绍满足上述要求的 5G 系统概念。为了达到这些要求,系统需要一个灵活的 平台。5G 不是为某一个“杀手级应用”设计的系统,而是面向众多甚至至今尚未可知 的用例。垂直行业(如汽车、能源、工业制造等)特别需要能够基于同一平台获得定制 方案的灵活性。因此,上述用例可以用来指引 5G 系统的研发,但是系统概念设计并不 限于上述用例。
5G系统概念 | 《5G移动无线通信技术》之七
|
机器人 容器 安全
带你读《工业机器人系统及应用》之三:驱动系统
本书聚焦于工业机器人,涵盖其组成结构、电气控制及实践应用,重点从使用的角度展开介绍,不涉及数学原理分析。书中综合了机械、控制、计算机、传感器、驱动等专业的知识,包含大量新近的工业机器人产品实例,并配有丰富的图表和数据手册,为机器人的设计、生产、布置、操作和维护提供全流程的详细指南。
|
Linux C语言 SoC
嵌入式学习难点 嵌入式软件学习
嵌入式学习不是一蹴而就的,需要不断的积累,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段:     嵌入式学习难点 嵌入式软件学习3个阶段 1、嵌入式linux上层应用,包括QT的GUI开发 2、嵌入式linux系统开发 3、嵌入式linux驱动开发 嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等。
1818 0
|
算法 Linux 网络协议
嵌入式软件学习方法 嵌入式软件知识
目前嵌入式软件的学习主要主要面向的几个操作系统是,Linux,WINCE、VxWorks等等。其中Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式软件。下面我们介绍一下嵌入式软件学习的学习方法。
2041 0