OpenCPU最初是由中科大的学生在32位的RISC CPU设计的一个开放式计算机系统,此系统可以允许用户进行部分的结构设计、模块设计、I/O操作等,后来其所有的技术文档和源码都以共享的方式在网上公布,成了一个开源的CPU设计,所以命名为OpenCPU。OpenCPU应用到在无线通信模组上,主要是为了用户可以共享模块内的处理器和FLASH资源。 OpenCPU和AT模式的差异 图1 OneMO模组OpenCPU模式和普通AT模式拓扑结构差异 图1为普通应用模式,通常用户应用程序运行在外加MCU上,使用串口发送AT指令及反馈实现与模组的交互;图2为OpenCPU模式,用户程序可把模组当做MCU,入口函数由main变成opencpu_task_main(名称根据具体模组而定)即可,通过函数调用实现与模组的交互。 简单的说,OpenCPU模式下,模组进行了一次彻底“反腐斗争”,收缴的资源提供给广大用户使用,用户不需要外置MCU,与之对应的电源、外围器件也自然可以省掉,总之在模组内用户程序可以享受到分房分车分老婆、包吃包住包二奶的待遇,从此过上没羞没臊的幸福生活。 OpenCPU模式相对于普通模式的优势 从图1和2对比可以看出,两者最主要的区别是OpenCPU模式下不需要外加MCU,由此带来的好处有:
- 快捷开发嵌入式应用,缩短产品开发周期无需外部处理器,存储器及离散和相关的设计费用减小终端产品的实际尺寸降低产品功耗远程空中无线升级防拷贝技术增强产品的安全性改善产品的市场性价比,提升产品竞争力
使用OpenCPU模式时需要注意的事项 OpenCPU的功能虽然强大,而且还能省1个控制器,是不是AT指令方式就没必要了呢,OpenCPU模式是否适合所有业务场景呢,肯定不是的。 OpenCPU应用范围虽然广泛,但如果在选择OpenCPU模式开发前,以下几个情况需要慎重考虑。 ① OpenCPU相比AT模式开发难度和工作量都要大的多,一般开发时使用的Free RTOS系统,如果用户没有开发OpenCPU和Free RTOS的经验,开发周期会很长甚至开发不出来,周期长也就意味着更多的研发成本; ② OpenCPU开发相当于定制模组固件,开发完固件后,用户需要自行将固件烧录到模组内,这就需要用户有烧录模组固件的合作厂家资源,当然烧录也是需要烧录费; ③ OpenCPU模式因为没有外接的控制器,当模组出现无法自恢复的情况时,没有外面的控制器来控制模组重启,可能会存在不能用的风险,因此在使用前需要评估产品的风险等级 当用户需要开发的设备需求量比较大时可有效分摊研发、固件烧录等产生的费用,有效降低产品成本,提升产品的市场竞争力。
|