[发明专利]一种基于DSP的实时操作系统启动时间优化方法在审
申请号: | 202211571795.2 | 申请日: | 2022-12-08 |
公开(公告)号: | CN116107644A | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 侯旋;许霄龙;曾令将 | 申请(专利权)人: | 中船重工(武汉)凌久电子有限责任公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F9/445;G06F8/30;G06F8/41 |
代理公司: | 北京中北知识产权代理有限公司 11253 | 代理人: | 李新昂 |
地址: | 430000 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 dsp 实时 操作 系统启动 时间 优化 方法 | ||
本发明公开了一种基于DSP的实时操作系统启动时间优化方法,包括划分独立内存空间,在编译链接脚本中划分出一块独立内存空间,用于存放全局未初始化变量;指定全局未初始化变量位置,通过预编译将全局未初始化变量存放到同一数据段;优化系统启动流程,在系统启动过程中过滤出应用层代码中定义的全局未初始化变量,并跳过初始化。本发明的有益效果是:采用对操作系统启动流程进行优化,过滤出应用层代码中的全局未初始化数据组,并跳过对这些数组的赋值操作,达到缩短启动时间的目的,解决基于DSP的嵌入式实时信号处理系统因多功能、多任务的需求,致使应用软件不断增加的导致系统启动时间变长的问题。
技术领域
本发明涉及一种DSP启动时间优化方法,具体为一种基于DSP的实时操作系统启动时间优化方法,属于DSP启动时间优化技术领域。
背景技术
随着现代化实时嵌入式应用多样化的需求不断加剧,嵌入式产品的多功能、多任务、综合一体化已成为未来嵌入式系统发展的必然趋势。
针对嵌入式实时信号处理的产品,实现多功能、多任务意味着需要实现更复杂的软件功能、更大的软件体量以及对实时操作系统的依赖,这样势必会影响系统的启动时间,但对于高速信号处理等应用领域对等实时性要求极高的系统,系统启动时间作为一项关键指标,不能受到丝毫影响。
应用软件代码增加导致系统启动时间变长的因素主要有两个方面:
一是代码增加导致编译生成的二进制文件变大,在boot阶段搬运的数据增加而影响启动时间,但在实际过程中代码增加导致二进制文件变大的数量级在KB之间,这个量级对boot阶段的影响可以忽略不计;
二是在应用代码中增加了大量的全局未初始化数组,这些数组的大小通常在几百MB,操作系统启动阶段对这些数组进行赋值操作(通常是将这些数组清零)消耗了大量的时间。
发明内容
本发明的目的就在于为了解决上述至少一个技术问题而提供一种基于DSP的实时操作系统启动时间优化方法,能够优化操作系统启动流程,过滤出应用层代码中的全局未初始化数据组,并跳过对这些数组的赋值操作,达到缩短启动时间的目的。
本发明通过以下技术方案来实现上述目的:一种基于DSP的实时操作系统启动时间优化方法,包括DSP编译器,所述DSP编译器在编译过程中自动生成两个全局变量表,分别为__TI_cinit_table和__TI_handler_table;
其中,__TI_cinit_table用于所有数据段的load地址和run地址,__TI_handler_table则用于存放数据解析函数的地址;
其优化方法包括以下步骤:
S1)在DSP编译器的编译链接脚本中划分出一块独立内存空间,并增加应用层代码专用的数据段指向该空间,用于存放全局未初始化变量;
S2)在应用层代码中使用#pragma DATA_SECTION预编译指令,将所有全局未初始化变量存放到专用数据段;
S3)修改操作系统启动阶段中的全局变量初始化流程,过滤出应用层代码中定义的全局未初始化变量,并跳过对这些变量的赋值操作。
作为本发明再进一步的方案:所述S1)中,所划分出一块独立内存空间具体过程包括:
①在编译链接脚本的MEMORY字段中增加一段内存定义,并指定起始地址和大小;
②指定的起始地址应不与已使用的内存冲突,内存大小满足应用层全局未初始化变量的总大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中船重工(武汉)凌久电子有限责任公司,未经中船重工(武汉)凌久电子有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211571795.2/2.html,转载请声明来源钻瓜专利网。