本帖最后由 liklon 于 2020-2-26 16:13 编辑
现在MCU裸机项目开发有两个要求:开发时间和产品功耗。99.874%产品是电池供电,功耗是重点考虑对象。产品的功能都不复杂,项目之间有可复用的功能,是否有套代码能够去掉重复的工作,加速产品demo的开发。
功耗的考量
出于功耗考虑,对外设的操作是:唤醒外设,操作,最后进入休眠。这样的操作形式和文件的操作很类似,文件的操作步骤是打开到编辑到关闭。因此将外设的操作看作是对文件的操作进行。每个外设打开后返回一个描述符,后续代码中对外设的操作都是基于这个描述符进行。关闭外设后回收描述符。所以外设的驱动中打开和关闭的操作执行对设备的唤醒和睡眠。利用描述符来操作外设还有一个好处是,当更换外设后,只需更换驱动接口,业务部分的代码不需要变动。
快速开发
小型项目的开发中,有较多使用率高的功能模块,例如:UTC、错误管理、电池电量、存储数据、上位机通信、固件升级等等。将这些功能都做成不依赖于硬件的模块交给BabyOS管理。将调试好的外设驱动也交给BabyOS管理。再次启动项目时,通过配置文件,选择当前项目使用的功能模块。以搭积木的方式缩短开发时间。
面临的问题
从上面的介绍可以看出,她如果能在项目中发挥大的作用就需要有足够的功能模块以及驱动代码。希望借助广大网友的力量,一起“喂养”她,是她成为MCU裸机开发中不可缺少的一部分。
上源码链接:
https://gitee.com/notrynohigh/BabyOS
欢迎有兴趣的童鞋一起来整哦!!!
|