嵌入式微系统,望文生义便是嵌入式微型操作系统,但是操作系统一词在嵌入式职业里往往专指uC/OS之类的带使命切换的系统,所以为了有别于这个专用名词,往往用开发渠道一词来替代,所以嵌入式微系统更精确的姓名为嵌入式微型开发渠道。
咱们肯定会问,uC/OS这样的嵌入式操作系统跟嵌入式微系统到底有什么区别,那么咱们就要从项目需求开端说起。
某个公司需求在嵌入式芯片(MCU51或许STM32)上开发一个操控项目,触及LCD界面、多种不同接口速度的外设、多种不同速度的事务逻辑操控,下图为常见的一种工业自动化项目需求。
作为项目负责人,首先要剖析明晰项目需求,假定这个项目有点杂乱,触及多路采样及多路PWM输出,所以挑选STM32之类的高性能处理器,之后再考虑软件规划。
这个项目规划到多路输入传感器及多路输出,有高速的事务逻辑操控,也有低速的菜单界面,为了把低速的菜单界面与高速的事务逻辑分隔独立编程,所以引进嵌入式操作系统,比方uC/OS,会便利程序规划。
uC/OS除了使命切换功用等有限的功用外,没有其他,所以其它的东西仍是需求咱们自己增加,菜单界面便是一个。界面编程里边,简略的界面用状态机还比较简略编程,但若触及到略微杂乱一点的界面,传统的状态机编程思维就彻底不合适了,代码很难保护修正,为了进步可保护性,需求引进一个规范的菜单界面编程库(GUI),尽管现在网上也有不少,但合适自己的却很难找,往往需求自己编写一套菜单界面库,这个作业量很大,难度也很难,最终往往退回到传统状态机菜单编程方法。
其它的硬件相关的设备驱动库,都需求自己来完结,比方按键、串口、步进驱动等等。若这个项目需求多人协同开发、长时刻保护,则还需求拟定架构规范,一些接口规范,命名规范,而这么多的要求,关于大部分的小、微型企业的嵌入式项目负责人来说,要求太高了。所以最终这个项目负责人,往往自己一个人埋头苦干,什么规范什么规范都没有,经过较长的一段时刻开发加上后期的修修补补,项目牵强的交差了。但是当这个负责人离任的时分,面临着无人接手的困境。
咱们再看消费类电子产品的开发形式,以MTK6225功用手机为例,RTOS选用Nucleus,菜单界面软件库选用PlutoMMI,此外还需求多媒体、文件系统,电话本、短消息等中间件,之后是各种硬件设备驱动,整个软件架构相似ARM公司发起的CMSIS架构。
MTK供给了整套硬件参阅规划、PCB规划、生产流程、测验流程,软件开发规范。客户经过不长的时刻训练即可把握手机的开发规划,一般10来人的手机规划公司,在具有必定的手机规划经历的基础上,只需求2、3个月就能够规划出一款MTK供给的参阅手机,之后公司根据这个参阅手机做硬件上的机型改善及软件上的界面调整即可。到了Android年代更是简略了,由于Android软件归于通用软件,所以软件更是不需求训练了。
其他消费类电子,比方曾经的VCD、DVD、MP3、MP4等等,都选用相似的方法,只要选用这种方法,源头厂家才能够快速的切入商场,而且能够一起办理、保护许多下流客户,比方MTK的下流山寨手机公司上千家,大的手机厂家也有近百家之多。由于选用了规范的规划模版,使用开发、客户保护人员都不是许多,尤其是保护人员,大大下降,取得高额的赢利。而由于选用规范通用的软件架构渠道,敏捷的培养了许多的通用手机软件人员,而这些软件人员都能够在各个手机公司当即干活,不存在替换一个公司之后还需求训练的问题,这样下流厂家也不需求忧虑人才流动引起的作业交代问题。
从以上比方能够看到,通用规范化的开发规划,带来的优点是巨大的:进步了开发功率、缩短了开发周期、便于产品长时刻保护,包容更多的下流客户。
msOS到今日现已完善,也有许多的实际使用比方,比方PID算法库、步进驱动库及扩展大屏幕串口屏等,十分合适于工业场合,形成了一个操控系统。许多网友根据msOS使用于自己的项目中了。
注:本文为连载性质,总计十二篇。