[发明专利]一种基于DSP的实时操作系统启动时间优化方法在审

专利信息
申请号: 202211571795.2 申请日: 2022-12-08
公开(公告)号: CN116107644A 公开(公告)日: 2023-05-12
发明(设计)人: 侯旋;许霄龙;曾令将 申请(专利权)人: 中船重工(武汉)凌久电子有限责任公司
主分类号: G06F9/4401 分类号: G06F9/4401;G06F9/445;G06F8/30;G06F8/41
代理公司: 北京中北知识产权代理有限公司 11253 代理人: 李新昂
地址: 430000 湖*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 dsp 实时 操作 系统启动 时间 优化 方法
【权利要求书】:

1.一种基于DSP的实时操作系统启动时间优化方法,其特征在于:包括DSP编译器,所述DSP编译器在编译过程中自动生成两个全局变量表,分别为__TI_cinit_table和__TI_handler_table;

其中,__TI_cinit_table用于所有数据段的load地址和run地址,__TI_handler_table则用于存放数据解析函数的地址;

所述实时操作系统启动时间优化方法包括以下步骤:

S1)在DSP编译器的编译链接脚本中划分出一块独立内存空间,并增加应用层代码专用的数据段指向该空间,用于存放全局未初始化变量;

S2)在应用层代码中使用#pragma DATA_SECTION预编译指令,将所有全局未初始化变量存放到专用数据段;

S3)修改操作系统启动阶段中的全局变量初始化流程,过滤出应用层代码中定义的全局未初始化变量,并跳过对这些变量的赋值操作。

2.根据权利要求1所述的实时操作系统启动时间优化方法,其特征在于:所述S1)中,所述划分出一块独立内存空间具体过程包括:

S11)在编译链接脚本的MEMORY字段中增加一段内存定义,并指定起始地址和大小;

S12)指定的起始地址应不与已使用的内存冲突,内存大小满足应用层全局未初始化变量的总大小。

3.根据权利要求1所述的实时操作系统启动时间优化方法,其特征在于:所述S1)中,所述DSP编译器的编译链接脚本中描述整个系统静态内存的划分,包括对各个数据段的定义以及专供应用层使用的数据段,所述数据段分别对应片上L2 SRAM、片上共享内存MSM以及片外扩展内存DDR3不同的内存区间。

4.根据权利要求1所述的实时操作系统启动时间优化方法,其特征在于:所述S3)中,所述全局变量初始化流程包括:

S31)从__TI_cinit_table中获取加载地址以及运行地址;

S32)根据加载地址从__TI_handler_table中获取解析函数;

S33)调用对应的解析函数将全局变量数据从加载地址解析到运行地址。

5.根据权利要求4所述的实时操作系统启动时间优化方法,其特征在于,所述解析函数包含三类:

__TI_zero_init,初始化清零,用于实现对未初始化全局变量清零

__TI_decompress_rle24,RLE编码格式解压,用于实现对已初始化全局变量赋值;

和__TI_decompress_none,无编码解压,用于实现对已初始化全局变量赋值。

6.根据权利要求5所述的实时操作系统启动时间优化方法,其特征在于:所述S3)中,所述过滤出应用层代码中定义的全局未初始化变量包括:

判断该全局变量的地址是否属于S1)中描述的独立内存空间,以及该全局变量对应的数据解析函数是否为__TI_zero_init。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中船重工(武汉)凌久电子有限责任公司,未经中船重工(武汉)凌久电子有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211571795.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top