一种嵌入式操作系统的控制方法技术方案

技术编号:38371044 阅读:9 留言:0更新日期:2023-08-05 17:34
本申请提供一种嵌入式操作系统的控制方法,用于在开发阶段控制嵌入式操作系统,包括以下步骤:启动嵌入式系统并进入主线程;在主线程中持续地调度各个程序运行,以及获取各个外设的状态信息;在嵌入式操作系统遭遇以下情况的至少一种时退出主线程并关闭嵌入式系统:硬关机或硬重启操作,运行于主线程中的程序调用关机或重启函数,嵌入式操作系统进入第一错误状态或第二错误状态;其中,第一错误状态为能够引起HardFault中断的状态,第二错误状态为Sistick刷新率异常的状态。为Sistick刷新率异常的状态。为Sistick刷新率异常的状态。

【技术实现步骤摘要】
一种嵌入式操作系统的控制方法


[0001]本申请属于计算机系统
,进一步地,涉及嵌入式系统控制
,具体地,提供一种嵌入式操作系统的控制方法,用于对开发阶段的嵌入式操作系统进行控制。

技术介绍

[0002]在自动化控制
中,嵌入式系统已经成为不可或缺的一部分,嵌入式系统是以应用为核心,整合软、硬件并对功能、可靠性、成本、体积、功耗等综合性能严格要求的专用计算机系统,被广泛应用于航空、航天、军事、通信、家电等领域。嵌入式系统一般由硬件、嵌入式操作系统以及软件运行环境等部分组成。其中,嵌入式操作系统是嵌入式系统的重要组成部分,它运行于嵌入式系统的芯片平台上,能够有效地管理复杂的系统资源,并为各个外设的驱动程序及应用程序提供运行环境,从而控制各个外设的工作。
[0003]在嵌入式系统的开发过程中,完成系统/硬件设计以及操作系统和驱动程序的移植后,工作重点将聚焦于各类外设的控制及应用程序的开发调试上,以保证其能够精确、稳定地控制各类外设完成设定的功能,在此阶段,需要不断将正处于发开调试中的程序运行于嵌入式操作系统中,以尽可能发现并排除由于各类代码bug以及软硬件不匹配等问题造成的运行错误。
[0004]然而,现有的嵌入式操作系统并未针对开发阶段运行的各种程序专门设计控制逻辑,因此,在嵌入式系统的开发阶段,嵌入式操作系统往往由于各种原因频繁出现系统崩溃、外设控制失效、长时间无响应等异常或错误,在一些离线应用场合,更是可能由此导致错误现场信息丢失以及设备长时间失联等风险。
[0005]为此,亟需提供一种专门针对开发阶段的嵌入式操作系统控制方法,针对不同的异常或错误状态,及时采用响应的处理逻辑,以实现故障现场数据的保存并使系统尽快恢复正常状态。

技术实现思路

[0006]为解决上述现有技术中存在的问题,本申请通过实施例提供一种嵌入式操作系统的控制方法,所述控制方法用于对开发阶段的嵌入式操作系统进行控制,包括以下步骤:
[0007]启动嵌入式操作系统并进入主线程;
[0008]在所述主线程中持续地调度各个程序运行,以及获取各个外设的状态信息;
[0009]在所述嵌入式操作系统遭遇以下情况的至少一种时,退出所述主线程并关闭所述嵌入式操作系统:
[0010]情况一,硬关机或硬重启操作,
[0011]情况二,运行于主线程中的程序调用关机或重启函数,
[0012]情况三,所述嵌入式操作系统进入第一错误状态,其中,所述第一错误状态为能够引起所述嵌入式操作系统触发HardFault中断的状态,
[0013]情况四,所示嵌入式操作系统进入第二错误状态,其中,所述第二错误状态为能够
引起所述嵌入式操作系统的Sistick刷新率异常的状态。
[0014]优选地,所述嵌入式操作系统在出现以下现象的至少一种时进入所述第一错误状态:所述嵌入式操作系统的内存溢出、出现野指针、爆栈。
[0015]优选地,所述状态信息通过各个外设触发接收中断的方式获取。
[0016]优选地,所述控制方法还包括以下步骤:将获取的所述状态信息保存至所述嵌入式操作系统的内存。
[0017]进一步地,在所述嵌入式操作系统进入第一错误状态后,于所述嵌入式操作系统触发HardFault中断前执行以下步骤:
[0018]S110,中断当前正在执行的程序;
[0019]S120,执行以下循环:
[0020]S121,重置看门狗的倒计时数据,
[0021]S122,依次将至少一个外设的状态信息从所述嵌入式操作系统的内存发送至外部存储设备,
[0022]S123,判断是否已将全部外设的状态信息从所述嵌入式操作系统的内存发送至外部存储设备,如判断结果为是,则退出循环,否则返回执行步骤S121。
[0023]优选地,所述控制方法还包括以下步骤:周期或非周期地将所述状态信息从所述嵌入式操作系统的内存发送至外部存储设备。
[0024]优选地,步骤S110与步骤S120在所述嵌入式操作系统的应用层执行。
[0025]优选地,所述第二错误状态通过运行于所述嵌入式操作系统之外的硬件定时器中断确定。
[0026]进一步地,所述硬件定时器中断基于以下步骤确定所述嵌入式操作系统是否进入第二错误状态:
[0027]A100,以固定的时间间隔触发硬件定时器中断,
[0028]A200,在每次定时器中断中捕获所述嵌入式操作系统的Sistick并存储至所述嵌入式操作系统的内存;
[0029]A300,比较每次定时器中断所捕获的Sistick与前一次定时器中断所捕获的Sistick的差值;
[0030]A400,如果所述差值大于预设的阈值,则确定所述嵌入式操作系统进入第二错误状态,否则返回执行步骤A100。
[0031]进一步地,在所述嵌入式操作系统进入第二错误状态后,执行以下步骤:
[0032]S210,获取所述嵌入式操作系统的Systick数据并存储至外部存储设备;
[0033]S220,退出主线程并重启所述嵌入式操作系统。
[0034]本申请的实施例提供的一种嵌入式操作系统的控制方法,针对开发阶段嵌入式操作系统进入主线程后并调度各种程序的过程中所遭遇的各种异常或错误状况,由于各类异常或错误的成因不同,系统在异常或错误状况下表现不同,所以需要采取的不同的应对措施,以保证嵌入式操作系统能够有效地应对各类突发状况,并能够及时、完整地获取分析异常/错误成因所需的信息,以助于对正在开发中的程序的调试修改。
附图说明
[0035]图1为根据本申请实施例提供的一种嵌入式操作系统的控制方法的流程图;
[0036]图2为根据本申请实施例的嵌入式操作系统进入第一错误状态后执行步骤的流程图。
具体实施方式
[0037]以下,基于优选的实施方式并参照附图对本申请进行进一步说明。以下描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例,并且不应被理解为对本申请要求保护的技术方案的范围的限制。
[0038]此外,本说明书中所使用的术语,如“包括”、“具有”及其同源词,仅用于表示特定的特征、变量、数值、步骤、元件或上述各项的组合,不应被理解为排除至少一个其它特征、变量、数值、步骤、元件或上述各项的组合的存在的可能性;并且,本说明书中所使用的例如“第一”、“第二”等词汇,仅用于区分描述,不应被理解为指示或暗示相对重要性。
[0039]除非另有限定,否则本说明书中所使用的技术术语和科学术语的含义与本领域的技术人员通常理解的含义相同。
[0040]本申请的实施例提供一种嵌入式操作系统的控制方法,图1示出了在一些优选的实施例中,该控制方法的流程图,如图1所示,该控制方法包括以下步骤:
[0041]步骤100,启动嵌入式操作系统并进入主线程;
[0042]步骤200,在所述主线程中持续地调度各个程序运行,以及获取各个外设的状本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种嵌入式操作系统的控制方法,其特征在于,所述控制方法用于对开发阶段的嵌入式操作系统进行控制,包括以下步骤:启动嵌入式操作系统并进入主线程;在所述主线程中持续地调度各个程序运行,以及获取各个外设的状态信息;在所述嵌入式操作系统遭遇以下情况的至少一种时,退出所述主线程并关闭所述嵌入式操作系统:情况一,硬关机或硬重启操作,情况二,运行于所述主线程中的程序调用关机或重启函数,情况三,所述嵌入式操作系统进入第一错误状态,其中,所述第一错误状态为能够引起所述嵌入式操作系统触发HardFault中断的状态,情况四,所示嵌入式操作系统进入第二错误状态,其中,所述第二错误状态为能够引起所述嵌入式操作系统的Sistick刷新率异常的状态。2.根据权利要求1所述的嵌入式操作系统的控制方法,其特征在于,所述嵌入式操作系统在出现以下现象的至少一种时进入所述第一错误状态:所述嵌入式操作系统的内存溢出、出现野指针、爆栈。3.根据权利要求1所述的嵌入式操作系统的控制方法,其特征在于,所述状态信息通过各个外设触发接收中断的方式获取。4.根据权利要求1所述的嵌入式操作系统的控制方法,其特征在于,还包括以下步骤:将获取的所述状态信息保存至所述嵌入式操作系统的内存。5.根据权利要求4所述的嵌入式操作系统的控制方法,其特征在于,在所述嵌入式操作系统进入第一错误状态后,于所述嵌入式操作系统触发HardFault中断前执行以下步骤:S110,中断当前正在执行的程序;S120,执行以下循环:S121,重置看门狗的倒计时数据,S122,依次将至少一个外设的状态信息...

【专利技术属性】
技术研发人员:魏登亮邓子祺李赫黄钰栋岳晨昊郑禾丰袁涵
申请(专利权)人:山东铂金动力科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1