如何提高嵌入式软件可维护性?.docx
《如何提高嵌入式软件可维护性?.docx》由会员分享,可在线阅读,更多相关《如何提高嵌入式软件可维护性?.docx(13页珍藏版)》请在优知文库上搜索。
1、想要软件具有好的维护性,就需要减少各个模块之间的他合性,今天给大家分享个无OS的MCU实用软件框架,介绍一种无OS的MCU实用软件框架,包括任务轮询管理,命令管理器、低功耗管理、环形缓冲区等实用模块.系统中广泛利用自定义段技术减少各个模块间的耦合关系.大大提供程序的可维护性.主要功能支持模块自动化管理,并提供不同优先等级初始化声明接II,支挣任务轮询管理.通过简单的宏声明即可实现.不能要更杂的声明调川.支持低功耗管理,休眠与唤醒通知.支持命令行解析,命令注册与执行.b1.ink设备支持.统管理1.ED.震动马达、好呜擀使用说明完整的代码可以参考工程文件,系统开发平台如I:MCU:STM32F4
2、01RET6IDE;IAR7.4或者Ke1.1.MDK4.72A任务初始化及任务轮询管理(modu1.e)使用此模块前毋要系统提供滴答定时零,用于骗动任务轮询作业.(参考P1.atformx)定时静中断(提供系统滴答)voidSysTIck-HandIer(VOid)(SySHCkMreaSe(SYSJnCKNTERVA1.);增加系统节拍)注册初始化入门及任务(参考自key,task.c)staticvoidkeyjnit(void)/dosomething*/)staticvoidkey.scan(Vo1.d)*dosomething*/modu1.eJnitrkey”,keyjnit);
3、注册按迸初始化接I1.dr1.ver-register(key,key_$can,20);注册按键任务(2OmS轮询1次)命令管理器(di)适用于在线调试、参数配置等(参考使用C1.1.taskx),用户可以通过用1.1.输出命令行控制设备行为、伐血设备状态等功能。命令格式di支持的命令行格式如下:Vparam1.Vrn,号行命令包含一个命令名称+命令参数(可选),命令名称及参数UJ以通过空格或者;进行分隔.系统默认命令C1.i系统自带了2条默认命令,分别是?与he1.p命令,输入他们UJ以列出当前系统包含的命令列衣,如下所示:-a1.iasforhe1.phe1.p-mand.-mandre
4、set-resetsystemsysinfo-showsysteminfomation.适配命令管理器/命令管理潞对软/完整的例子可以参考C1.1.taSkCstaticc1.1.-objtc1.i;(brief命令行任务初始化returnnone7staticvoidC1.iJaskJnit(void)c1.i_port_tp=tty.write,tty.read);初始化命令行对象7C1.1.enab1.e/显示系统信息/c1.i_exec_cmd(&c1.i,sy$info);)brief命令行任务处理,(returnnone7staticvoidc1.i_task_process(vo
5、id)c1.i_process(&c1.i);)modu1.eJn1.t(wc,c1.1._teskJn1.t);/*注册命令行任务*/task.register(c1.i,C1.1.taSk.process,10);命令注册以双位命令为例(参考cmd_devinfo.c):A1.ndude*d1.h*(brief史位命令intdo_cmd_reset(structc1.i-obj*o,intargc,char*argv()NVIJSyStemReSet0;return0;Jcmd_register(reset,do_cmd_reset,resetsystem!;低功耗管理器(Pm)控制向歇运
6、行,降低系统功耗.其条本的工作原理是通过轮询系统中各个馍块是否可以允许系统进入低功耗.实际上这是一种判决机制所有模块都具行有票否决权,即只要有一个模块不允许休眠,那么系统就不会进入休眠状态,pm模块在休眠前会统计出各个模块会返I可最小允许休眠时长,并以最小休眠时长为单位进行休眠.如何适充使用前需要通过pm_init进行初始化选配,并提供当前系统允许的G人休眠时间,进入休眠的函数接口,基本的接口定义如下:/低功耗适配器-/tpedefstruct/*brief系统最大休眠时K(ms)unsignedIntmax_$1.eep_t1.me;* brief进入休眠状态* Paramin)time-期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 提高 嵌入式 软件 可维护性
