一种嵌入式任务栈空间分析方法技术

技术编号:40553635 阅读:21 留言:0更新日期:2024-03-05 19:13
本发明专利技术涉及一种嵌入式任务栈空间分析方法,属于计算机软件领域。本发明专利技术通过代码静态扫描方法,确认所计算任务的函数调用关系图,通过反汇编手段确认各函数使用任务栈的大小,再根据任务具体内容分析递归函数使用情况和函数指针调用情况,根据架构要求确认中断和异常函数使用任务栈空间的情况,最终形成指定任务完整的函数调用关系图和任务栈使用数值,通过计算调用关系最大求和路径,分析出指定任务的任务栈空间最大使用数值。或通过计算任一调用图路径之和,分析出该分支下的任务栈空间使用情况。本发明专利技术能够大幅度改善任务栈空间分析时耗时较长计算困难的问题。

【技术实现步骤摘要】

本专利技术属于计算机软件领域,具体涉及一种嵌入式任务栈空间分析方法


技术介绍

1、在嵌入式多任务系统中,应用软件的实现逻辑被切分为一个个任务,或者叫线程。每个任务都拥有自己的任务栈空间,并在任务初始化创建时完成对任务栈空间大小的配置。任务栈用于存放该任务使用函数的局部变量、cpu寄存器的值或保存任务的上下文内容等数据,因为任务的复杂程度不同,所以不同任务需要的任务栈大小也不一样。

2、要分析任务栈空间情况,最主要是分析任务运行中使用的任务栈最大空间大小,要计算该部分内容,必须明确函数的嵌套关系、函数的局部变量、形参、返回地址和状态保存操作等,从而确认各部分内容使用的栈空间大小。这部分内容要考虑的因素过多,并且对底层知识理解要求较为深刻。所以目前比较普适的做法是,先设置一个较大的任务栈,反复验证运行确保不会出现栈溢出后,检查任务栈分配空间内的使用情况,确定最大使用情况,将该数值认定为任务栈空间最小配置数,再根据具体需求和环境进行扩大使用。

3、在嵌入式领域中,受环境空间和硬件大小的限制,硬件能够提供的存储空间是极为有限和宝贵的,如果本文档来自技高网...

【技术保护点】

1.一种嵌入式任务栈空间分析方法,其特征在于,该方法包括如下步骤:

2.如权利要求1所述的嵌入式任务栈空间分析方法,其特征在于,任务栈的空间大小与任务入口函数的函数调用与嵌套有关,为计算某任务的任务栈实际使用大小,通过代码静态扫描获得该任务入口函数的函数调用关系图。

3.如权利要求2所述的嵌入式任务栈空间分析方法,其特征在于,如果任务中有中断嵌套或递归函数,实际应用中任务栈空间分配多大,要根据具体的嵌套层数或最大递归次数进行具体计算。

4.如权利要求1所述的嵌入式任务栈空间分析方法,其特征在于,如果任务通过函数指针实现函数的间接调用,函数指针根据不同程...

【技术特征摘要】

1.一种嵌入式任务栈空间分析方法,其特征在于,该方法包括如下步骤:

2.如权利要求1所述的嵌入式任务栈空间分析方法,其特征在于,任务栈的空间大小与任务入口函数的函数调用与嵌套有关,为计算某任务的任务栈实际使用大小,通过代码静态扫描获得该任务入口函数的函数调用关系图。

3.如权利要求2所述的嵌入式任务栈空间分析方法,其特征在于,如果任务中有中断嵌套或递归函数,实际应用中任务栈空间分配多大,要根据具体的嵌套层数或最大递归次数进行具体计算。

4.如权利要求1所述的嵌入式任务栈空间分析方法,其特征在于,如果任务通过函数指针实现函数的间接调用,函数指针根据不同程序指向不同的函数,在计算时需要额外计算。

5.如权利要求1所述的嵌入式任务栈空间分析方法,其特征在于,通过反汇编方法,明确获取各个函数...

【专利技术属性】
技术研发人员:薛渊文陈树峰李明磊吴海强韩伟伦蒋欣欣施志强
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:

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

1