嵌入式操作系统新纪元?

自从ARM公司和各大半导体公司推出Cortex系列芯片以及移动互联网、物联网兴起在嵌入式操作系统领域一种新纪元隐约出现。

1、Linux系统特定领域式微

这里的式微不是指Linux系统整体的式微,是专指Linux在嵌入式某些特定领域领域。笔者在做过的几个项目中需要用到硬件模块有网络模块、TFT-LCD模块等,软件上任务数量也比较多。当时想到的立即是嵌入式Linux,但老大则选择了STM32配合带网络协议栈模块、STemWin图形库方案,任务调度通过一个状态机,硬件上成本更低了,效果也不差。

Linux从出生那天起就不是专门为嵌入式系统设计的,Linus是在PC上开发基于Unix的Linux系统的。之所以后来Linux应用于嵌入式方案,一则需求导致,二则Linux开源特性可以任意修改。The ARM Linux Project虽然号称一直在跟进Linux在ARM嵌入式平台的内核演进,但资料寥寥。ucLinux有商业公司加持也不过寥寥。开发者头痛的是,即使嵌入式领域软件硬件碎片化严重,但每次开发都要基于裸内核,一个不大不小的项目就要面对几十万行代码,无疑难度陡增。项目压力大,能节省研发时间也能省钱。

首先越来越多功能从操作系统中剥离出来,比如图形库、协议栈、固件包等。这些软件包可以直接被调用远比放进Linux中配置、修改简单。其次越来越专用于嵌入式领域的操作系统出现比如无需MMU的、不带文件系统的,如FreeRTOS、Embed等等。这些都是硬件专业化在软件上的体现,现在硬件专业化程度越来越高,GPU、矿机、FPU库……已经不是一个大杂烩操作系统能胜任的。

但即使如此Linux还是要学的,因为在必须用到的Linux领域它还是必须用的。比如路由器、工控机等等。


2、专一化软件库和操作系统流行

以前那种一套OS走天下的局面正在被改变,物联网兴起带来一大批OS,基于需求的多样性和硬件的专一化,一套OS基本不可能实现所有需求。

以前在嵌入式领域的歧视链是:会Linux——会单片机

现在歧视链:会各种SOC(AI、飞控、挖矿、FPU)——会Linux——会单片机

操作系统本质上只不过是个硬件资源管理和任务调用的软件包而已,它不能实现AI、DSP等其他需求,需要开外挂。因此从业者除了在传统领域扎实也要不断学习新的SOC软件技能,也就是不要只会操作系统和裸机,也要多学学AI库、GPU、数学什么的。


3、操作系统会演进为一个单纯的软件包

每次看带FreeRTOS的项目都会感慨,这个OS不过是我整个项目的一个包而已,还有其他飞控计算包、驱动包等等。OS越来越专一化,不再集成一堆大杂烩的东西,对于软件和系统理解要简单多了。现在和过去IT界总是喜欢神秘化和困难化技术,而对于如何运用逻辑学和常识去学习技术则少有研究。IT技术本质上不过是工业技术,既不是基础科研也不是文学研究,那些我们能学到的技术早被最初的开发者摸透了,既然都被造出来了难道还怕不理解吗?业内不要神秘化和困难化技术。



猜你喜欢

转载自blog.csdn.net/z3256789/article/details/80556614