“嵌入式驱动和应用,哪个更难?哪个更锻炼自己?”这样的问题经常在网友间讨论和交流。
作为从事嵌入式开发已有十余年的人,虽然我不能说自己经验丰富,但从经历的角度出发,我想说:驱动和应用是相互依存的,没有谁更难,只要做好了,都是有难度的!
现如今的嵌入式系统要求比20年前高得多,软硬件结合、应用场景也更加复杂。除了驱动层和应用层,中间层也成为了重要的环节。
当然,不同的场景下,分层方式也有所不同。以RT-Thread(Smart版本)的软件架构为例,有以下层次结构:
暂不说20年前,就是10年前搞嵌入式开发,大部分中小公司对嵌入式开发的岗位要求都不算高,你懂一些基本原理,哪怕没有独立开发过项目,都能找到一个开发(研发)的工作。
而现在呢,你学了RTOS、Linux、各种协议栈,独立开发过项目,可能还找不到一个合适的研发工作。
10年前做项目,对驱动层、应用层的要求相对不高,那个时候不管是写驱动,还是做应用都不是很难。
如果你还在维护10年的老代码,可能会看到网上传言的“屎山代码”,那就是因为当时的要求不高,导致屎山代码遗留至今(当然,10年也有很多优秀的代码)。
放眼望去,为什么现在“更难”了呢?
答案是:时代不同了。
其实,难都是相对的,早些年网络资源不像现在这么丰富,买开发板模块那些也不方便,要踩各种坑才能入门。
而现在,只要你有学习的心,入门是一件很轻松的事,至少点个灯是随随便便的事。只能说,每个时期有每个时期的难!
驱动和应用,哪个更难?哪个更锻炼自己?
两个不同层进行比较,没有可比性,就好比当老板累,还是当员工累,没有标准答案。
作为一名合作的嵌入式工程师,不管是做驱动还是应用,你不能局限于你那一层。
做驱动的要了解应用层业务逻辑实现的一些基本原理,而做应用层开发,也要了解底层驱动是如何实现的。不要求深入了解,但要了解大概原理。
如果只考虑自己那一层,写出来的代码,多半是不合格的,你看看那些互相甩锅的工程师,可能就是这么导致的。
再回来说下,哪个更锻炼自己?道理还是一样,两个都挺锻炼人的。
如今搞嵌入式,要求更高了,两个方向你都需要掌握,但是,你需要侧重一方,其他作为“选修课”,及格就行。
最后,时代在不断变化,我们普通人不能改变世界,就要顺应时代的变化而变化。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !