针对国产嵌入式操作系统的统一配置系统和方法技术方案

技术编号:36111650 阅读:8 留言:0更新日期:2022-12-28 14:14
本发明专利技术提供了一种针对国产嵌入式操作系统的统一配置系统和方法,包括:功能组件配置模块:对嵌入式操作系统模块、功能组件进行配置,包括组件资源选配、依赖关系定义和参数定义;操作系统配置模块:对嵌入式操作系统模块功能组件进行配置,包括功能裁剪和参数设置;代码生成模块:包括模板引擎和代码模板,所述模板引擎用于解析代码模板并按照代码模板生成代码,所述代码模板是完全开放的可编辑文本,准备好的数据传递给代码模板之后,由模板引擎处理并按代码模板格式进行显示。本发明专利技术提供开发式的配置模型,可以满足不同国产嵌入式操作系统的配置需求,生成其所需的配置代码。生成其所需的配置代码。生成其所需的配置代码。

【技术实现步骤摘要】
针对国产嵌入式操作系统的统一配置系统和方法


[0001]本专利技术涉及嵌入式操作系统
,具体地,涉及一种针对国产嵌入式操作系统的统一配置系统和方法。

技术介绍

[0002]目前大多数嵌入式操作系统的配套开发环境都提供了图形化的配置工具来进行配置,但是目前大部分嵌入式操作系统开发环境中的配置功能都只能支持一种嵌入式操作系统,不能够同时支持多个嵌入式操作系统,这就造成了嵌入式应用软件在使用不同的嵌入式操作系统时需要分别使用不同的嵌入式软件开发环境进行配置,无疑增大了用户使用难度,并且非常不便捷。
[0003]专利文献CN111209048A(申请号:CN201911388433.8)公开了一种嵌入式操作系统动态配置方法和装置,其中方法包括:设备的启动装载加载实时操作系统的DTS文件,所述DTS文件中存储有功能ID与DTS节点的映射表;启动装载读取板卡上预留区域存储的配置信息,解析出对应的功能ID,根据所述功能ID配置确定对应的DTS节点信息,并将所述DTS节点信息发送给设备的实时操作系统;实时操作系统对DTS节点信息进行解析并执行设备的驱动程序,如果驱动与DTS节点信息匹配且DTS节点状态为开启时,执行驱动使对应的功能开启。
[0004]文献“基于XML的嵌入式操作系统配置工具的设计与实现,电子科技大学,2006

0”提出了基于XML的可扩展的嵌入式操作系统配置工具的设计思想和配置模型。该配置工具通过使用XML Schema和XML将配置内容与配置界面代码分离开来,使配置工具具有灵活的可扩展性。该文献没有针对国产嵌入式操作系统的特点进行配置模型的定义,只是论述了一个宽泛的通用性配置模型。而本专利技术针对国产嵌入式操作系统的特点,如功能组件裁剪、参数设置、配置代码与核心代码配合等,专门设计定制了一组配置模型。该文献的配置模型采用XML保存数据,但是以xml格式储存的数据有其局限性,首先要比以其他数据库格式储存占有的空间要大的多,因为它除了要保存原始数据外还需要保存元数据进行描述,此外XML+XSLT的成本和复杂性较高,缺乏所见即所得能力,增加了模型开发者的开发难度。而本专利技术的配置模型采用YAML语言,其特点是:容易阅读、容易与脚本语言交互、并且不同于XML语言的重格式轻数据,YAML语言以数据为核心,重数据轻格式,大大简化模型开发者的开发难度。
[0005]文献“基于国产天脉1型操作系统的嵌入式软件开发配置,信息通信,2016

12”依据工程经验,结合天脉1底层配置特点,详细论述其配置方式及各组件含义。该文献针对天脉1型操作系统的开发配置技术进行了论述,但并不能直接适用于其他国产嵌入式操作系统如锐华嵌入式操作系统、凌久嵌入式操作系统、领睿嵌入式操作系统,并且纵观其配置特点,并没有相关扩展的预留,说明这种配置技术并没有可扩展性,是天脉1型操作系统的定制开发配置技术。而本专利技术针对国产嵌入式操作系统如锐华嵌入式操作系统、凌久嵌入式操作系统、领睿嵌入式操作系统,包括天脉嵌入式操作系统的配置需求和现有方式进行了
深入调研,梳理了共性需求,提炼定制了由功能组件模型、系统模型、配置模板等一系列配置模型组合而成的配置技术,可以满足这些共性需求;并且考虑到各嵌入式操作系统自己的特殊需求以及后续对其他嵌入式操作系统的支持,选取了YAML语言和freemarker语言进行组合配置,实现了配置模型的可扩展性和可定制性。
[0006]文献“基于规则引擎的嵌入式操作系统可配置技术研究与实现,南京航空航天大学,2010

03”提出了一个基于规则引擎的嵌入式操作系统配置模型,详细说明了规则引擎技术在操作系统配置过程中的应用,从规则语言、规则文件、规则解析、规则执行等方面进行论述。该文献有个最大的问题,格式转换的问题,XML格式的配置数据在输入给代码生成器的时候需要进行数据格式转换,格式转换涉及到规则语言、规则文件、规则解析、规则执行,过于复杂,嵌入式操作系统厂商开发人员想要实现自行定制,面临较高的技术门槛。而本专利技术,选取了YAML语言和freemarker语言进行组合配置,freemarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。所谓模板,就是一份已经写好了基本内容,有着固定格式的文档,其中空出或者用占位符标识的内容,由使用者来填充,不同的使用者给出的数据是不同的。在模板中的占位符,在模板运行时,由模板引擎来解析模板,并采用动态数据替换占位符部分的内容,并且freemarker的ftl格式模板可以直接访问到yaml格式的配置模型中的数据,二者无缝结合,因此,本专利技术可以生成各嵌入式操作系统需要的C/C++代码、makefile,甚至文档等。

技术实现思路

[0007]针对现有技术中的缺陷,本专利技术的目的是提供一种针对国产嵌入式操作系统的统一配置系统和方法。
[0008]根据本专利技术提供的针对国产嵌入式操作系统的统一配置系统,包括:
[0009]功能组件配置模块:对嵌入式操作系统模块、功能组件进行配置,包括组件资源选配、依赖关系定义和参数定义;
[0010]操作系统配置模块:对嵌入式操作系统模块功能组件进行配置,包括功能裁剪和参数设置;
[0011]代码生成模块:包括模板引擎和代码模板,所述模板引擎用于解析代码模板并按照代码模板生成代码,所述代码模板是完全开放的可编辑文本,准备好的数据传递给代码模板之后,由模板引擎处理并按代码模板格式进行显示。
[0012]优选的,所述组件资源包括功能组件的运行库、头文件在内的开发阶段需要的资源,通过组件资源选配功能,组件模型建立与组件资源的绑定关系;
[0013]所述依赖关系定义功能是对功能组件之间的相互依赖关系进行定义,通过对功能组件之间依赖关系的管理,对操作系统模块功能组件进行基于依赖关系的配置;
[0014]所述参数定义功能支持对功能组件定义整型、浮点型、布尔型、枚举型、字符串型参数,以及相应的取值范围、默认值,参数的赋值工作在操作系统配置阶段进行,根据参数类型、取值范围对配置的数据进行校验。
[0015]优选的,所述功能裁剪包括:设置功能组件所提供功能的打开/关闭状态,并在设置过程中根据功能组件之间的依赖关系自动修改依赖的功能组件状态,当一个功能组件处于打开状态时,其绑定的组件资源会在应用开发时被自动调用;
[0016]所述参数设置包括:对打开状态的功能组件所定义的参数进行赋值。
[0017]优选的,嵌入式操作系统开发者根据嵌入式操作系统内核代码的实现方式编写相应的代码模板,用户根据应用开发需要定制自己代码模板或者修改已有的嵌入式操作系统代码模板,最后通过在组件模型的代码模板配置项配置和系统模型绑定;
[0018]在系统配置完成后,系统配置功能根据系统模型中打开的服务和功能在相应的组件模型中读取到绑定的代码模板,通过调用模板引擎解析代码模板,将代码模板中需要的系统模型数据传递给代码模板,从而生成配置代码。
[0019]优本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对国产嵌入式操作系统的统一配置系统,其特征在于,包括:功能组件配置模块:对嵌入式操作系统模块、功能组件进行配置,包括组件资源选配、依赖关系定义和参数定义;操作系统配置模块:对嵌入式操作系统模块功能组件进行配置,包括功能裁剪和参数设置;代码生成模块:包括模板引擎和代码模板,所述模板引擎用于解析代码模板并按照代码模板生成代码,所述代码模板是完全开放的可编辑文本,准备好的数据传递给代码模板之后,由模板引擎处理并按代码模板格式进行显示。2.根据权利要求1所述的针对国产嵌入式操作系统的统一配置系统,其特征在于,所述组件资源包括功能组件的运行库、头文件在内的开发阶段需要的资源,通过组件资源选配功能,组件模型建立与组件资源的绑定关系;所述依赖关系定义功能是对功能组件之间的相互依赖关系进行定义,通过对功能组件之间依赖关系的管理,对操作系统模块功能组件进行基于依赖关系的配置;所述参数定义功能支持对功能组件定义整型、浮点型、布尔型、枚举型、字符串型参数,以及相应的取值范围、默认值,参数的赋值工作在操作系统配置阶段进行,根据参数类型、取值范围对配置的数据进行校验。3.根据权利要求1所述的针对国产嵌入式操作系统的统一配置系统,其特征在于,所述功能裁剪包括:设置功能组件所提供功能的打开/关闭状态,并在设置过程中根据功能组件之间的依赖关系自动修改依赖的功能组件状态,当一个功能组件处于打开状态时,其绑定的组件资源会在应用开发时被自动调用;所述参数设置包括:对打开状态的功能组件所定义的参数进行赋值。4.根据权利要求1所述的针对国产嵌入式操作系统的统一配置系统,其特征在于,嵌入式操作系统开发者根据嵌入式操作系统内核代码的实现方式编写相应的代码模板,用户根据应用开发需要定制自己代码模板或者修改已有的嵌入式操作系统代码模板,最后通过在组件模型的代码模板配置项配置和系统模型绑定;在系统配置完成后,系统配置功能根据系统模型中打开的服务和功能在相应的组件模型中读取到绑定的代码模板,通过调用模板引擎解析代码模板,将代码模板中需要的系统模型数据传递给代码模板,从而生成配置代码。5.根据权利要求1所述的针对国产嵌入式操作系统的统一配置系统,其特征在于,采用Freemaker实现模板引擎,配置模型的实现语言是YAML,在YAML语言中数据结构以Map形式存储,Freemaker以Map形式存取外部数据,配置模型中的数据可直接作为模板引擎的外部数据,从而实现代码模板通过模板引擎对配置模型的数据访问。6.一种针对国...

【专利技术属性】
技术研发人员:陈昊钦
申请(专利权)人:华东计算技术研究所中国电子科技集团公司第三十二研究所
类型:发明
国别省市:

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

1