当前位置:首页>Linux>嵌入式Linux要不要学,Linux开发是什么?

嵌入式Linux要不要学,Linux开发是什么?

  • 2026-10-27 07:12:05
嵌入式Linux要不要学,Linux开发是什么?

嵌入式Linux要不要学,Linux开发是什么?

1⃣经常有同学问我:
linux开发一般是3个部分,最底层的是PCB绘制,也就是纯硬件,往上一点是驱动开发,最上层是应用开发。
首先你需要明白,“我只能做嵌入式Linux应用开发”本身就是错误的,你可以有很多的选择,因为嵌入式涉及的面积很广阔,你没办法只了解其中一部分,正如我上面所说一样,至少这3部分你都需要明白,然后去专精某一部分。
1⃣嵌入式应用开发,应当包含两部分,底层一点是linux驱动开发,比如公司有一块板子,设计成一半ARM,一半FPGA,那么你负责ARM这一块的开发的时候大多是底层性质的,你需要根据硬件来设计相应的驱动程序。驱动开发不仅仅需要C/C++的功底,还要学习linux内核的知识,以及uboot等,你需要从一块没有任何东西的开发版中引导Linux,然后把自己写好的驱动程序加载进内核,保证整个系统的稳定运行。你写的东西最终会被上层的其他开发者调用,比如公司有一块CAN通信的板子,那么你就需要根据需求让linux识别这块板子,并且按照想要的功能留出API,以供上层调用。
2⃣另一部分就是应用层开发,应用层开发大多是C++。你需要调用驱动程序开放的接口来实现整个项目的功能,比如上面的CAN驱动已经有人写好了,需要没过10s发送一次数据,那么你就需要写一个定时器,让他10s调用一次CAN发送的接口,然后把数据发送出去,更甚至基本都是UI开发,用QT写一个上位机,然后调用接口。

3⃣最后,给你举个例子,我们做过一个温度测量的系统,需要嵌入在一个控制室里边,难度不是很大,首先需要一个ARM的芯片,身为驱动开发工程师,你需要在这块芯片上装一个linux,然后写好系统引导程序,保证开机成功引导系统,接着你需要写一个SPI驱动,让这个芯片能够以SPI通信的方式读取到温度传感器的数据。然后,应用层的开发工程师要写一个QT上位机,一大堆功能,其中一个就是调用SPI接口获取数据,然后呈现出来,最后什么数据导出了,绘图什么的。但是很遗憾,这些工作都是我一个人来干,就很离谱。这里边还有一些东西,比如开机之后,是不加载比如ubuntu那个界面的,是直接打开写好的QT上位机的界面。

🤖所以就是说,不要认为linux应用开发是分离的,大部分情况下都需要一个人干,这点我也比较能理解,两人开发就API接口的对接来说肯定不如一个人写简单。而且,嵌入式本身就大杂烩,哪一点你都不能完全不知道
#嵌入式开发 #linux #计算机 #编程 #学习分享 #不懂就问有问必答

最新文章

随机文章