支持eCos系统的中断栈处理方法、打印方法及接收机与流程

文档序号:25543302发布日期:2021-06-18 20:40阅读:来源:国知局

技术特征:

1.一种支持ecos系统的中断栈处理方法,包括如下步骤:

s1.当发生中断时,进入中断处理过程;

s2.获取中断栈地址,并进行中断栈地址检查;

s3.根据步骤s2的中断栈地址检查结果,进行中断栈对齐;

s4.中断处理完成后,对中断栈进行恢复,从而完成中断栈处理。

2.根据权利要求1所述的支持ecos系统的中断栈处理方法,其特征在于步骤s2所述的进行中断栈地址检查,具体为在进入ecos中断时,使用golden栈保存完当前数据后,进行栈切换:首先检查进入中断时的栈是否为8字节对齐;检查过程为:对当前sp进行检查:若当前sp的最低3bit全部为0,则说明至少8字节已经对齐,否则为未对齐。

3.根据权利要求2所述的支持ecos系统的中断栈处理方法,其特征在于步骤s3所述的进行中断栈对齐,具体为若步骤s2检查的结果为中断栈未对齐,则向栈中多push一个数据,使得当前栈减4,使当前栈从4字节对齐变成至少8字节对齐,同时对上述的中断栈对齐操作进行记录。

4.根据权利要求3所述的支持ecos系统的中断栈处理方法,其特征在于步骤s4所述的对中断栈进行恢复,具体为在中断处理完成后,在进入interrupt_end之前,根据步骤s3中已记录的中断栈对齐操作,对中断栈进行恢复:若未进行中断栈对齐操作,则直接恢复中断栈;若进行了中断栈对齐操作,则从当前栈中pop一个数据,使得当前栈加4,同时恢复中断栈对齐操作为原始值。

5.一种包括了权利要求1~4之一所述的支持ecos系统的中断栈处理方法的打印方法,其特征在于包括如下步骤:

a.在ecos系统中,进行浮点格式化数据支持;

b.当需要进行双精度浮点打印时,进入中断;

c.采用权利要求1~4之一所述的支持ecos系统的中断栈处理方法进行中断栈处理,完成双精度浮点打印并出中断,从而完成最终的打印。

6.根据权利要求5所述的打印方法啊,其特征在于所述的在ecos系统中,进行浮点格式化数据支持,具体为采用如下步骤进行浮点格式化数据支持:

a.在格式化解析中,增加针对双精度浮点格式“%f”的分支;

b.在“%f”分支中,解析所需打印精度,包括小数点前和小数点后;

c.在执行栈中取出待打印double数据,并按照ieee754标准进行解析;

d.按照ecos系统在线程中打印双精度浮点的方式进行四舍五入,并保持跟线程中打印处理相同;

e.得到最终的格式化后字符串,准备打印。

7.一种接收机,其特征在于包括了权利要求1~4之一所述的支持ecos系统的中断栈处理方法和和权利要求5或6所述的打印方法。


技术总结
本发明公开了一种支持eCos系统的中断栈处理方法,包括发生中断时进入中断处理过程;获取中断栈地址并检查中断栈地址;根据检查结果对齐中断栈;中断处理完成后恢复中断栈,完成中断栈处理。本发明还公开了包括所述支持eCos系统的中断栈处理方法的打印方法。本发明还公开了包括所述支持eCos系统的中断栈处理方法和打印方法的接收机。本发明采用创新性算法进行中断栈的处理,是一种通用的用于eCos系统的软件解决方案,与硬件平台无关,并且与硬件支持不冲突,同时并未增加多余的工作量,而且浮点格式化与线程情况下使用相同处理,确保了同一系统下双精度浮点的格式化标准相同;本发明同时还具有通用性好和简单可靠的优点。

技术研发人员:吴振;刘彦;郝志杰;胡月;丁杰;吴金英;刘勇
受保护的技术使用者:长沙海格北斗信息技术有限公司
技术研发日:2021.02.24
技术公布日:2021.06.18
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1