[发明专利]通用嵌入式事件驱动软件开发框架及使用方法有效
申请号: | 201911212374.9 | 申请日: | 2019-12-02 |
公开(公告)号: | CN112988144B | 公开(公告)日: | 2023-09-12 |
发明(设计)人: | 竺鑫;杨超 | 申请(专利权)人: | 北京华航无线电测量研究所 |
主分类号: | G06F8/35 | 分类号: | G06F8/35 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100013 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通用 嵌入式 事件 驱动 软件 开发 框架 使用方法 | ||
本发明公开了一种通用嵌入式事件驱动软件开发框架及使用方法,对不同嵌入式平台的外设信息和开发流程进行抽象,实现了基于事件驱动的软件框架。本发明提供统一的高层接口,用户可按照固定的模式进行嵌入式开发和软件编码,极大降低了嵌入式开发的难度,并有效提高了代码的通用性和可维护性。
技术领域
本发明属于嵌入式研发技术领域,具体涉及嵌入式事件驱动软件开发框架。
背景技术
嵌入式系统是为特定应用而设计的、软硬件可裁剪的专用计算机系统,系统适用于对功能、成本、体积和功耗等有严格要求的场景。主流产品包括TMS320、ARM Cortex等系列。
每个用户根据自己的应用需求选择不同的平台,并编写出风格迥异的代码。在团队研发模式下,这导致代码具有较差的一致性、移植性和扩展性,以及较高的维护成本。
考虑到嵌入式系统的工作流程具有普遍的相似性:外设(外围输入输出设备)输入触发对应标志位,表示输入数据就绪。主流程轮询标志位,获取对应的外设输入进行处理,并向外设输出信息。
因此,可以对工作流程逻辑等开展通用软件开发框架设计,进而形成规则约束,来避免上述问题。
发明内容
本发明需解决技术问题是提供一种通用嵌入式事件驱动软件开发框架及使用方法,提供不同平台之上的统一抽象架构层,用户在此基础上实现不同的业务逻辑。
为了解决上述问题,本发明提出了一种通用嵌入式事件驱动软件开发框架,具体包括以下步骤:
S1.事件类编写
编写事件基类,获取嵌入式平台普遍具备的外设项,构建事件类别宏,并提供获取和注册宏的接口。对基类宏的每一项进行派生,得到具体驱动事件类。
S2.高层外设驱动类编写
编写外设驱动基类,包括驱动初始化接口、数据读取接口、数据写入接口和自定义数据处理函数回调接口。对S1中的每一个具体驱动事件类,从驱动基类派生出对应的具体外设驱动类,并对每个驱动编写独有的参数配置接口。
S3.底层外设驱动类编写
对于S2中的每一个具体外设驱动类,在不同的嵌入式平台下,进行派生得到具体平台的底层外设驱动类,对底层外设驱动类中的接口使用平台独有的配置方式进行实现。
基于所述的通用嵌入式事件驱动软件开发框架使用方法,具体为:使用嵌入式平台的编译器对所述平台代码进行库编译,用户编码时加载对应平台的库,注册事件类到外设中断接口中,主循环根据中断触发的事件处理对应的外设。
本发明有益效果:
本发明对不同嵌入式平台的外设信息和开发流程进行抽象,实现了基于事件驱动的软件框架,并提供软件框架了使用方法。本发明基于外设事件,提供统一的高层接口,用户可按照固定的模式进行嵌入式开发和软件编码,极大降低了嵌入式开发的难度,并有效提高了代码的通用性和可维护性。
附图说明
图1是本发明实施例的软件框架编写示意图。
图2是本发明实施例的软件框架使用示意图。
具体实施方式
下面结合附图和实施例对本发明的技术方案进行进一步的解释和说明。
图1是本发明实施例的软件框架编写图,采用面向对象的C++编程技术,将程序和数据封装在对象中。设计基于事件驱动的软件框架,提供不同平台之上的统一抽象架构层,与具体应用解耦和,用户在此基础上实现不同的业务逻辑。具体的,包括以下步骤:
S1.事件类编写
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华航无线电测量研究所,未经北京华航无线电测量研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911212374.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:激光投影设备和控制方法
- 下一篇:一种用于卷积神经网络模型的剪枝方法