当前位置:首页>Linux>说清楚:Linux应用开发到底是开发什么的?

说清楚:Linux应用开发到底是开发什么的?

  • 2026-10-28 16:59:55
说清楚:Linux应用开发到底是开发什么的?

说清楚:Linux应用开发到底是开发什么的?

linux开发一般是3个部分,最底层的是PCB绘制,也就是纯硬件,往上一点是驱动开发,最上层是应用开发
-
首先你需要明白“我只能做嵌入式Linux应用开发”本身就是错误的,你很多的选择,因为嵌入式涉及的面积很广阔,你没办法只了解其中一部分,正如我上面所说一样,至少3部分你都需要明白,然后去专精某一部分。
-
1️⃣嵌入式应用开发,应当包含两部分,底层linux驱动开发,比如公司有一块板子,设计成一半ARM,一半FPGA,那么你负责ARM这一块的开发的时候大多是底层性质的,你需要根据硬件来设计相应的驱动程序。驱动开发不仅仅需要C++的功底,还要学习linux内核的知识,以及uboot等等,你需要从一块没有任何东西的开发版中引导Linux,然后把自己写好的驱动程序加载进内核,保证整个系统的稳定运行。你写的最终会被上层的其他开发者调用,比如公司有一块CAN通信的板子,那么你就需要根据需求让linux识别这块板子,并且按照想要的功能留出API,以供上层调用。
-
2️⃣另一部分就是应用层开发,应用层开发大多是C++。你需要调用驱动程序开放的接口来实现整个项目的功能,比如上面的CAN驱动已经有人写好了,需要没过10s发送一次数据,那么你就需要写一个定时器,让他10s调用一次CAN发送的接口,然后把数据发送出去,更甚至基本都是UI开发,用QT写一个上位机,调用接口。
-
3️⃣最后,举个例子,我们做过一个温度测量的系统,需要嵌入在一个控制室里边,难度不是很大,首先需要一个ARM的芯片,身为驱动开发工程师,你需要在这块芯片上装一个linux,然后写好系统引导程序,让这个芯片能够以SPI通信的方式读取到温度传感器的数据。然后,应用层的开发工程师要写一个QT上位机,一大堆功能,,绘图什么的。但是很遗憾,这些工作都是一个人来干,就很离谱。这里边还有一些东西,比如开机之后,是不加载比如ubuntu那个界面的,是直接打开写好的QT上位机的界面。
-
所以说,不要认为linux应用开发是分离的,大部分情况下都一个人干,这点我也比较能理解,两人开发就API接口的对接来说肯定不如一个人写简单。而且,嵌入式本身就大杂烩,哪一点你都不能完全不知道
#嵌入式 #嵌入式开发 #嵌入式学习 #计算机 #工程师 #学习 #加入豚门

最新文章

随机文章