第一时间看干货文章
从个人的嵌入式开发从业经历(10年+)和个人感受来说嵌入式linux应用层开发,假如非要说做底层和做应用那个好?我个人的答案是:适宜你自己的技术栈范围就好嵌入式linux应用层开发,适宜你自己的技术追求就好。不要非要争个高下,虽然这两块是嵌入式开发领域的左膀手腕。你能说你的左手臂比你的右手臂好?还是你的右手臂更优秀一点?所以说,适宜就好。
先说下答主眼里的底层和应用开发的异同点:
其次,解释下为什么适宜最重要:
这儿举两个反例,你们可以自行感受:
第一个,当初答主由于创业节约资金问题,自己自学BSP和驱动。那段时间似乎过的充实(辛苦),并且也是咬牙挺了过来(差点崩溃)。其实你让一个做应用的人,从零基础去搞BSP。在产品进度要求紧张的情况下,好多时侯出了问题都不晓得看哪些方面的书,往那个方向调查。所以美国linux主机,让合适的人做适宜的事情,才是合理的开发公路。第二个,当初答主在华为,见证了好多试用期没结束就主动辞职的社招程序猿(能力都是极其优秀)。虽然缘由很简单,就是我们项目组使用的技术栈,她们在过往的开发经历中不曾接触也不喜欢接触。来了自然而然的就很厌烦,进而产生恶性循环到最后的一拍两散。所以假如努力方向,不是你的技术追求和兴趣爱好,这么仅仅靠工作为动力,迟早还是会回归初心的。最后,还是建议你们从个人的技术兴趣爱好和技术追求出发adobe air linux,以个人的技术栈为范围,选择适宜自己的嵌入式开发方向。这儿说一下简单的划分方式。诸如:我们须要使用一款SOC的芯片,开发一款视频流媒体转发嵌入式产品。【其主要功能是通过接收的视频数据流(二补码H265编码流),按照配置进行视频媒体流的转发】在前面的事例中:
底层开发工程师主要负责的是Linux操作系统的剪裁,SOC芯片的移植,外设驱动的linux系统开发。总结上去就是一句话:让SOC才能运行Linux系统正常的跑上去。应用开发工程师主要负责在早已跑起Linux的SOC上,开发H265数据接收功能,数据流的转发功能,上面涉及到Linux操作系统的多线程,线程互斥,TCP/IP合同栈SOCKET通讯等等理论知识。总结上去也是一句话:在Linux操作系统上,完成嵌入式产品的功能。
文章评论