前言
接触到.NET Micro Framework其实是一个非常偶然却又必然的机缘。当时norains在做车载设备,其架构分为两个主要部件,分别是导航板和控制板。导航版用的ARM11核心的CPU,运行的是Windows CE系统,主要用来运行导航软件;而控制板则则是MCU或低端的ARM,用来控制外围设备以及和汽车的沟通。当时因为公司的人员配置问题,对于控制板这块几乎没有人手有能力去进行,只能购买其它公司做好的板子。而这对于一个公司来说,无异于喉咙被对手扼住,生存和死亡就看对方是否高兴。鉴于这种情形,norains开始控制板的研究。但习惯于有操作系统作为支撑的开发方式,陡然进入一个可谓一片白纸的领域,可谓无从下手。比如在Windows CE中创建多任务,只需要调用几个简单的API函数即可;但在MCU这个区域,因为根本就没有操作系统的支撑,一切都只能自己动手:自己写调度算法,自己写逻辑关系等等。
于是,为了打破这种困境,norains就开始寻找轻量级的嵌入式操作系统。经过多方比较,找到了μC/OS-II。只可惜μC/OS-II的结构化不符合自己的要求,因为系统和应用的关联度太大了,比如说,创建一个任务,就必须要修改操作系统代码,这对于极度追求稳定性的norains来说是不符合要求的——因为谁也无法保证,是否能够完全避开地雷。后来,norains便索性不再搜索成熟的嵌入式操作系统,打算自己重写一个,只要能够完成最简单的任务即可。也许冥冥