嵌入式范畴有不少操作体系,大致能够三类:第一类以Wince、Linux、Android为代表的,归于大型操作体系,具有内核使命调度、菜单界面、多媒体、网络、文件存储、外设驱动等一系列完善的功用,但这类操作体系归于非实时操作体系,往往用于工作、文娱、人机接口等对时刻要求不高的场合。此外由于功用太完善,对硬件的要求很高,最低装备CPU需求ARM9 200MHz,内存需求32MByte,支撑MMU内存办理单元,标配彩屏。
第二类以VxWorks为例,归于功用丰厚的嵌入式实时操作体系,功用丰厚。往往用于高实时、高牢靠的军工、航空航天、工业自动化范畴,对硬件要求也比较高。
第三类以uC/OS-II,FreeRTOS为例,只要一个抢占式多使命实时操作体系的使命内核,此外还供给一些内核办理的函数接口及必要的扩展功用,其它的功用库如菜单界面、网络等都需求自己扩展,这类操作体系首要使用于中低端小型的项目中,本钱要求高,需求多样,但一般不是很杂乱,实时性有要求,但不严苛,往往都是消费类或许一般的工业自动化设备,比方白色家电的操控体系、小型监控、传感器的测验渠道、仪器外表、小型工业自动化范畴替代PLC,降低本钱等等。
中低端小型项目,一般都是依据MCU51、ARM7或许现在的CortexM3、M0开发。简略的项目,软件最常用的是前后台体系,也叫裸奔,紧迫响使用中止,低速处理在main大循环中履行。略微杂乱一点的在前后台体系的根底上引进了体系节拍,履行一些例行的事情,这个也叫时刻片编程方法。再进一步是引进音讯机制,完成音讯机制编程方法。再杂乱一些就引进uC/OS-II等RTOS,完成多使命编程,简化编程难度,但一起由于引进了RTOS,需求充沛了解RTOS的特性,所以对编程人员的水平要求比较高。
严苛的本钱、需求的多样性,导致现在没有一套比较完善的操作体体系一这一方面的开发编程,哪怕是uC/OS-II等RTOS内核,也需求依据实践项目需求来装备、裁剪,增减不必要的软件功用。
此外,中低端小型项目,技能难度相对较低,所以嵌入式人员的入门门槛较低,这个自身是功德,可是也就是由于入门门槛太低,又没有一套一致的编程标准,导致编程的随意性很大,一个公司十个编程人员,有十套不同的编程方法,相互之间查看、保护十分困难,而小型企业的人才流动相对较大,软件负责人脱离后,继任者由于编程的思想方法不同,往往看不懂前人的程序而抛弃再从头规划,这样导致代码质量一直在低质量的重复循环,也极大的提高了公司的软件本钱。
项目继承性这种状况在高校、研究所中尤为杰出。比方一所研究所的主业是做传感器,但为了测验这款传感器必需求建立一套嵌入式测验渠道,若用WINCE、Linux等开发渠道,需求一个嵌入式团队来开发,投入很高,保护很难,副业变成主业了,若是自己建立一套完善的通用测验体系,既没有这个才能,也没有这个精力,所以一般都是针对性的规划这款传感器的测验体系。由于高校、研究所的学生常常替换,后来者看不懂前人的代码,又不得不从头规划。
中低端小型项目,需求尽管多样,尽管无法用一套操作体系去一致开发,可是咱们能够把这些分为几类,比方彩屏的消费类、黑白屏的工控类、数码管显现的微操控类等等。这几年国内有一款比较知名的开源嵌入式操作体系叫RT-Thread,编程风格相似Linux,在OS的根底上集成了GUI、文件体系和网络功用,不少用户把它使用于消费类职业。而最新发展起来的一款开源嵌入式微体系叫msOS,选用微软的C#风格,侧重于渠道架构,能够灵敏组合,简略易用,现在整合了uC/OS-II,集成了128*64黑白屏的GUI、参数日志存储、PID算法库和步进驱动库,定坐落仪器、外表、小型工业自动化范畴,msOS的中文名就叫嵌入式微体系。
linux操作体系文章专题:linux操作体系详解(linux不再难明)