System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 嵌入式系统中任意变量改装定参数的通用方法技术方案_技高网

嵌入式系统中任意变量改装定参数的通用方法技术方案

技术编号:40800722 阅读:4 留言:0更新日期:2024-03-28 19:26
本发明专利技术属于参数装定技术领域,具体涉及一种嵌入式系统中任意变量改装定参数的通用方法,主要用于设置和修改随使用条件变化的参数,以提高系统应对复杂条件的能力。本方法的关键技术是定义一个结构体数组把需要改为装定参数的变量信息封装成统一格式,并使用统一接口完成对变量存取及修改。本发明专利技术的突出优点是,增加装定参数时不需要修改系统原有代码,全部参数可由上位机使用统一格式管理,硬件上只要求目标系统具有可擦写非易失存储芯片,或者微处理器程序存储芯片具有在线烧写功能即可。

【技术实现步骤摘要】

本专利技术属于参数装定,具体涉及一种嵌入式系统中任意变量改装定参数的通用方法


技术介绍

1、嵌入式系统广泛应用于各个领域,拓宽了很多传统设备的使用范围,这都得益于嵌入式系统硬件和软件的有机结合。嵌入式系统硬件是在制造时就确定的,使用过程中不能改变,通过在软件中改变对硬件的使用方法或使用优化的算法控制硬件就可以改变或提高系统的性能。

2、嵌入式系统软件的改变主要分为两种形式,即软件代码升级和改变控制参数。代码升级需要修改软件源代码,修改后的软件版本必须重新经过测试,并烧写到系统中。改变参数是通过调整控制算法的关键变量,以提高系统适应性的做法,对变量的操作独立于代码,因此不需要修改软件算法。

3、对于未使用可变参数的嵌入式系统,要针对某一特殊情况对软件进行调整,就必须采用软件代码升级的方式。如果系统采用了可变参数,但对参数的操作和外部调用接口没有考虑可扩展性的需求,只针对当前参数的具体情况,则每当需要增加或改变参数时就必须修改代码进行处理。

4、在对使用嵌入式系统的武器装备不断提出更高要求的背景下,以前完全固化代码的装备在应对特殊使用环境时会面临需要不断升级代码的情况,而只对特定参数进行处理的系统在需要增加新参数时也需要较多的改动。

5、针对上述情况,为了更好的发挥嵌入式系统软件的作用,算法中应把可能随使用环境变化的变量参数化,并保存到断电非易失存储器中,并且对参数的操作应使用统一形式,以保证对参数进行增删、修改时代码改动最小。


技术实现思路>

1、(一)要解决的技术问题

2、本专利技术要解决的技术问题是:对设计时未考虑使用可装定参数的嵌入式系统,在不增加硬件和几乎不改变系统原有代码的情况下,提出将任意变量改为可装定参数的通用方法,以提高现有系统适应不同工作条件的能力。

3、(二)技术方案

4、为了解决上述技术问题,本专利技术提供一种嵌入式系统中任意变量改装定参数的通用方法,所述方法包括如下步骤:

5、步骤1:使用一个信息封装数组,将装定参数的信息封装成统一格式的;

6、步骤2:全部装定参数统一保存在存储空间中,使用统一的参数存取接口函数完成参数存取和修改,参数存取接口函数对外部隐藏参数存取的具体实现过程;

7、步骤3:通过通讯接口向上位机提供装定参数管理的统一调用接口。

8、其中,所述步骤1中,所述信息封装数组中,数组的每一项均为一个结构体,用于描述一个装定参数的字节长度及程序执行时的变量地址。

9、其中,所述步骤1中,装定参数的字节长度和变量地址直接由编程语言提供的内置功能获得,不需要手工计算。

10、其中,所述步骤2中,所述参数存取接口函数,根据数组给出的信息,将装定参数从存储空间中读出,或将装定参数按顺序存储到连续的存储区域空间,并通过返回值指示读取或写入是否成功。

11、其中,所述步骤2中,装定参数统一保存在断电非易失存储器上一块连续的存储空间中。

12、其中,所述步骤2中,所述装定参数的存储空间是单独的非易失存储芯片。

13、其中,所述步骤2中,所述装定参数的存储空间是具有在线编程功能的代码存储区。

14、其中,所述步骤3中的向上位机提供的装定参数管理的统一调用接口,其为根据信息封装数组给出的信息,制定统一的数据传输格式。

15、其中,所述步骤3中,所述统一调用接口的操作方式不受参数类型和个数的影响。

16、(三)有益效果

17、与现有技术相比较,本专利技术解决了两个关键技术:将任意变量封装为统一格式,以及实现参数的断电存储。

18、变量格式封装:基于嵌入式软件通常采用c语言的实际情况,定义结构体

19、

20、这里定义的结构体数组灵活使用了c语言的指针类型,其中para1,para2等是要改为装定参数的全局变量,在软件执行时地址是固定的。通过本专利技术定义的结构体数组,可由编译器自动提取装定参数的数据长度和存储地址,并将任何数据类型强制转换为一段连续字节数组,因此就可用统一的方式进行操作。

21、参数断电存储:原系统中已有i2c或spi等接口的非易失存储芯片时,可直接取一块存储区域并借用原来的读写接口;另外任何嵌入式系统一定有代码存储区,且绝大多数支持在线烧写功能,还有一些芯片直接带有独立的断电非易失参数存储区,对于这些系统,则可使用专用的代码烧写接口函数将可装定参数烧写在代码存储芯片的空闲区域或专门的参数存储区。

22、解决了上述两个关键技术后,在系统原有代码之外增加统一的参数读写接口函数和上位机参数管理接口,代码初始化时只要调用参数读取接口函数即更新了参数值,调用参数写入接口函数即保存了现有参数值。原有代码其余部分无需修改,即实现了增加装定参数的升级过程。

本文档来自技高网...

【技术保护点】

1.一种嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述方法包括如下步骤:

2.如权利要求1所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤1中,所述信息封装数组中,数组的每一项均为一个结构体,用于描述一个装定参数的字节长度及程序执行时的变量地址。

3.如权利要求2所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤1中,装定参数的字节长度和变量地址直接由编程语言提供的内置功能获得,不需要手工计算。

4.如权利要求1所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤2中,所述参数存取接口函数,根据数组给出的信息,将装定参数从存储空间中读出,或将装定参数按顺序存储到连续的存储区域空间,并通过返回值指示读取或写入是否成功。

5.如权利要求1所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤2中,装定参数统一保存在断电非易失存储器上一块连续的存储空间中。

6.如权利要求1所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤2中,所述装定参数的存储空间是单独的非易失存储芯片。

7.如权利要求1所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤2中,所述装定参数的存储空间是具有在线编程功能的代码存储区。

8.如权利要求1所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤3中的向上位机提供的装定参数管理的统一调用接口,其为根据信息封装数组给出的信息,制定统一的数据传输格式。

9.如权利要求8所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤3中,所述统一调用接口的操作方式不受参数类型和个数的影响。

10.如权利要求1所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述方法属于参数装定技术领域。

...

【技术特征摘要】

1.一种嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述方法包括如下步骤:

2.如权利要求1所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤1中,所述信息封装数组中,数组的每一项均为一个结构体,用于描述一个装定参数的字节长度及程序执行时的变量地址。

3.如权利要求2所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤1中,装定参数的字节长度和变量地址直接由编程语言提供的内置功能获得,不需要手工计算。

4.如权利要求1所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤2中,所述参数存取接口函数,根据数组给出的信息,将装定参数从存储空间中读出,或将装定参数按顺序存储到连续的存储区域空间,并通过返回值指示读取或写入是否成功。

5.如权利要求1所述的嵌入式系统中任意变量改装定参数的通用方法,其特征在于,所述步骤2中,装定参数...

【专利技术属性】
技术研发人员:李红才陈刚刘建国胡智玺王航洲熊庆荣冯玉红何雪梅付勇鲁唯
申请(专利权)人:西安现代控制技术研究所
类型:发明
国别省市:

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

1