CN102043622A - 一种电子控制器基础软件通用配置器 - Google Patents
一种电子控制器基础软件通用配置器 Download PDFInfo
- Publication number
- CN102043622A CN102043622A CN2010105861418A CN201010586141A CN102043622A CN 102043622 A CN102043622 A CN 102043622A CN 2010105861418 A CN2010105861418 A CN 2010105861418A CN 201010586141 A CN201010586141 A CN 201010586141A CN 102043622 A CN102043622 A CN 102043622A
- Authority
- CN
- China
- Prior art keywords
- configuration
- configuration item
- item
- electronic controller
- basic software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种电子控制器基础软件通用配置器,包括解析器、图形配置界面生成模块、参数配置模块、后台解析模块、后台解析模块以及项目资源管理模块。通过,将配置项,即对象放置在配置描述文件中,然后通过解析器解析成配置项模板树,图形配置界面生成模块根据配置项模板树生成图形化配置界面,这样实现了配置对象与图形配置界面分离,当配置对象发生修改时,只需要修改配置描述文件,即可改变图形配置界面,因而,本发明的电子控制器基础软件通用配置器能适应不同电子控制器的配置需求,满足嵌入式软件***开发的需要。
Description
技术领域
本发明属于嵌入式软件开发技术领域,更为具体地讲,涉及一种电子控制器基础软件通用配置器。
背景技术
汽车电子平台是分布式、异构的环境,其上的电子控制器(Electronic ControlUnit,ECU)可多达70个,并且类型各异。不同电子控制器上的基础软件有所差异,而且不同的应用对底层的基础软件服务需求是不同的。当应用软件以及运行时环境(Run Time Environment,RTE)部署到具体的电子控制器时,应根据实际应用需求,尽量降低运行时环境和基础软件对电子控制器资源的消耗情况,从而提高整个电子控制器软件的性能,这样就存在一个面向电子控制器配置应用、配置运行时环境、配置基础软件服务的需求。
构件化的软件开发流程将汽车平台上的配置分为两个层次,一个是***级的配置,另一个是面向单个电子控制器的配置。***级的配置信息主要包含电子控制器资源、***约束和应用信息。面向电子控制器的配置主要包含:操作***(Operating System,OS)的配置、通信栈的配置、微控制器抽象层的配置、ECU特定的运行时环境的配置,其配置过程如图1所示。电子控制器基础软件通用配置器是完成ECU配置描述到ECU可执行代码的工具。
嵌入式***是面向特定领域的计算***,要实现嵌入式***的可定制,配置是关键工作。
配置技术的发展经历了从命令行方式到图形化配置工具的过程,目前大多数嵌入式集成开发环境都提供了图形化的配置工具来降低配置难度,提高开发效率。但是大多数主流开发环境中的配置工具在通用性和易用性方面性能较差。通过对这些配置工具的深入分析,我们发现造成这一现象的主要原因是配置对象与配置程序是一种紧耦合的关系。当配置对象发生修改时,必须修改配置程序,使得配置工具不具有通用性。对于汽车电子软件这样一种在生产线上装配构件来生成应用软件的开发过程,配置工作贯穿整个开发过程,且配置对象数量多、复杂度高,如果仍然沿用现有的方法开发配置工具,是无法满足汽车电子软件的开发需求的。
发明内容
本发明目的在于提供一种电子控制器基础软件通用配置器,能够适应不同电子控制器基础软件的配置需求,以满足嵌入式软件***开发的需要。
为实现上述目的,本发明电子控制器基础软件通用配置器,其特征在于,包括:
一解析器,用于对电子控制器的配置描述文件进行解析,获得配置项模板树;配置描述文件定义了需要配置各个配置项,配置项模板树采用多叉树结构保存配置项;
一图形配置界面生成模块,用于根据配置项模板树生成图形化配置界面;
一参数配置模块,用于提供配置参数的编辑、复制、粘贴和保存功能,以便用户在图形配置界面下,对各配置项参数值进行配置;
一后台解析模块,根据用户配置的各配置项参数值,自动生成可参与编译、链接的配置源码文件;
一项目资源管理模块,以配置项为基本单位对配置过程进行管理。
本发明的发明目的是这样实现的:
本发明电子控制器基础软件通用配置器,将配置项,即对象放置在配置描述文件中,然后通过解析器解析成配置项模板树,图形配置界面生成模块根据配置项模板树生成图形化配置界面,这样实现了配置对象与图形配置界面分离,当配置对象发生修改时,只需要修改配置描述文件,即可改变图形配置界面,因而,本发明的电子控制器基础软件通用配置器能适应不同电子控制器的配置需求,满足嵌入式软件***开发的需要。
附图说明
图1是汽车电子嵌入式软件配置过程图;
图2是本发明电子控制器基础软件通用配置器一种具体实施方式原理框图;
图3是配置项模板树结构示意图;
图4是图形化配置界面生成流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图2是本发明电子控制器基础软件通用配置器一种具体实施方式原理框图。
在本实施例中,如图1所示,电子控制器基础软件通用配置器包括解析器1、图形配置界面生成模块2、参数配置模块3、后台解析模块4以及项目资源管理模块5。
解析器1对电子控制器的配置描述文件进行解析,获得配置项模板树;配置描述文件定义了需要配置的各个配置项,配置项模板树采用多叉树结构保存配置项,即需要配置的对象,包括名称、类型、参数值范围等属性。
在本实施例中,解析器1还对配置中间文件进行解析,配置中间文件用于保存用户在图形配置界面下,配置得到的各配置项参数值,供用户配置时参考。
在本实施例中,采用XML与XML Schema实现配置中间文件与配置描述文件。XML与XML Schema都是W3C的推荐标准。XML提供了一种描述数据和交换数据的有效手段。XML Schema的主要目的是用来定义一类XML文档,Schema文件可以用来指导XML文件的生成以及对XML文件的规范性和有效性进行验证。在本发明中,配置描述文件的作用也是指导配置中间文件的生成,因此使用XML Schema来作为配置项描述文件的语言,而配置中间文件用XML来描述。对于配置描述文件的解析,采用SAX方式。SAX无需将整个xml文档加载到内存中,因而具有简单快速的特点,但缺点是不能随机读取。配置中间文件中记录了全部或部分配置项的参数值,采用DOM方式进行解析,并保存到配置项信息树。
配置描述文件既是实现通用配置项与图形化配置界面分离的关键,也是实现后台解析对各种数据类型支持的关键。
在本实施例中,配置描述文件采用xml schema技术来存储配置项信息,其后缀扩展名为.xsd,分别由xml文件声明、根标签schema以及子标签element组成。本发明中,将配置项的信息存放在element标签中,采用多个element标签来存放多个配置项信息。配置描述文件的格式示意如下:
element标签是存储配置项信息的载体,本***采用了element下多层标签与多个属性的方式记录配置项信息。具体地,element标签可以看成一个容器,一个用来容纳配置项类型、配置项是否可见以及配置项输出到哪个文件等的容器,而具体的配置项内容则由element的子标记attribute来提供。一个简单的element标签示例如下所示:
该示例中,给出一个name为PwmGeneral的配置项容器,其配置项类型为macro,并将配置结果输出在pwm\\cfg\\include\\Pwm_Cfg.h文件中。其所包含的配置项则规定于attribute子标签中。
具体的,element的标签及其作用见表1所示:
表1
Attribute标签是element标签的子标签,用于存放具体配置项的名字、默认值、配置值的类型以及对应宏名等信息。一个简单的attribute标签示例如下所示:
该示例中,定义了一个配置项PwmDevErorDetect,其宏名为PWM_DEV_ERROR_DETECT,类型为布尔型,默认值为true。
具体的,attribute的标签及其作用见表2所示。
表2
电子控制器基础软件通用配置器在启动初始化完成后,会用DOM解析器解析配置中间文件,载入上次的配置项的参数值并保存到配置项信息树中。经过Sax解析器解析配置描述文件得到各个配置项,并保存到配置项模板树中。图形化界面生成模块2会自动根据配置项模板树以及配置项信息树生成图形化配置界面。
在本实施例中,根据配置项自动生成的配置界面包含三个区域:1)可配置项列表区域,列表以树型结构显示各个配置项结点以及配置项所包含的容器,并包含一列操作功能按钮及右键菜单;2)当前配置项属性信息编辑区域,提供当前配置项结点所包含可配置参数的编辑以及参数范围检测功能;3)当前配置项属性的提示信息,列出属性参数功能、子项、配置约束和备注信息。
参数配置模块3用于提供配置参数的编辑、复制、粘贴和保存功能,以便用户在图形配置界面下,对各配置项参数值进行配置,同时,将各配置项参数值存入配置中间文件中,电子控制器基础软件通用配置器下次启动时载入,供下次用户对电子控制器基础软件进行配置时参考。
后台解析模块4根据用户配置的各配置项参数值,自动生成可参与编译、链接的配置源码文件。配置源码文件根据参数类型,即预编译型(Pre-Compile)、链接型(Link-Time)和生成后型(Post-Build),分为三种类型的.h和.c文件,即头文件和源代码文件。
项目资源管理模块5以配置项为基本单位对配置过程进行管理。
从本实施例,我们可以看出,图形化配置界面的自动生成过程中,本发明的电子控制器基础软件通用配置器实现了配置项与配置界面的分离,并且自动适配配置项的变化,因而,具有通用性。
图3是配置项模板树结构示意图。
在本实施例中,对于图形化配置界面的自动生成,还涉及一个关键内容,即即配置项模板树与配置项信息树的设计。配置项模板树与信息树均采用多叉树结构保存配置项及配置项参数值。如图2所示,一个电子控制器基础软件配置对应一个根节点,即一根配置项模板树,配置项或配置项容器构成多叉树的节点,配置项容器包括配置项或子配置项容器,呈多叉树结构。
图4是图形化配置界面生成流程图。
如图4所示,在本实施例中,电子控制器基础软件通用配置器初始化后,首先判断是否存在中间文件,如果存在,则用DOM解析器对其进行解析,得到配置项信息树。
如果不存在中间文件,SAX解析器直接解析配置描述文件,得到配置项模板文件,生成图形化配置界面。
如果存在中间文件,SAX解析器解析配置描述文件时,结合配置项信息树,得到配置项模板文件,生成图形化配置界面。
当用户配置完毕,点击保存功能时,后台解析模块根据当前配置项参数以及对应的配置描述规范,生成配置源码文件。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (4)
1.一种电子控制器基础软件通用配置器,其特征在于,包括:
一解析器,用于对电子控制器的配置描述文件进行解析,获得配置项模板树;配置描述文件定义了需要配置各个配置项,配置项模板树采用多叉树结构保存配置项;
一图形配置界面生成模块,用于根据配置项模板树生成图形化配置界面;
一参数配置模块,用于提供配置参数的编辑、复制、粘贴和保存功能,以便用户在图形配置界面下,对各配置项参数值进行配置;
一后台解析模块,根据用户配置的各配置项参数值,自动生成可参与编译、链接的配置源码文件;
一项目资源管理模块,以配置项为基本单位对配置过程进行管理。
2.根据权利要求1所述的电子控制器基础软件通用配置器,其特征在于,所述的解析器还对配置中间文件进行解析,配置中间文件用于保存用户在图形配置界面下,配置得到的各配置项参数值,供用户配置时参考。
3.根据权利要求2所述的电子控制器基础软件通用配置器,其特征在于,采用XML与XML Schema实现配置中间文件与配置描述文件;
对于配置描述文件的解析,采用SAX方式,采用DOM方式进行解析,并保存到配置项信息树。
4.根据权利要求1所述的电子控制器基础软件通用配置器,其特征在于,所述的图形化配置界面包含三个区域:1)可配置项列表区域,列表以树型结构显示各个配置项结点以及配置项所包含的容器,并包含一列操作功能按钮及右键菜单;2)当前配置项属性信息编辑区域,提供当前配置项结点所包含可配置参数的编辑以及参数范围检测功能;3)当前配置项属性的提示信息,列出属性参数功能、子项、配置约束和备注信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105861418A CN102043622A (zh) | 2010-12-14 | 2010-12-14 | 一种电子控制器基础软件通用配置器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105861418A CN102043622A (zh) | 2010-12-14 | 2010-12-14 | 一种电子控制器基础软件通用配置器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102043622A true CN102043622A (zh) | 2011-05-04 |
Family
ID=43909781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105861418A Pending CN102043622A (zh) | 2010-12-14 | 2010-12-14 | 一种电子控制器基础软件通用配置器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102043622A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102646039A (zh) * | 2012-02-29 | 2012-08-22 | 河海大学 | 基于XML Schema的软件界面生成***及方法 |
CN103186582A (zh) * | 2011-12-29 | 2013-07-03 | 青岛海尔软件有限公司 | 基于设备描述文件的数据解析方法 |
CN103499931A (zh) * | 2013-10-17 | 2014-01-08 | 北京经纬恒润科技有限公司 | 一种控制器设计方法及装置 |
CN105096098A (zh) * | 2014-05-21 | 2015-11-25 | 苏州市大创信息运用有限公司 | 基于递归和继承算法的设备配置树管理方法 |
CN105373386A (zh) * | 2015-11-25 | 2016-03-02 | 广州华多网络科技有限公司 | 命令行程序的处理方法和装置 |
CN106444613A (zh) * | 2016-11-15 | 2017-02-22 | 爱普(福建)科技有限公司 | 一种设备驱动控制器组件的实现方法及*** |
CN106874358A (zh) * | 2016-12-28 | 2017-06-20 | 曙光信息产业(北京)有限公司 | 一种文件管理方法和装置 |
WO2018058612A1 (zh) * | 2016-09-30 | 2018-04-05 | 深圳市华傲数据技术有限公司 | 配置方法及*** |
CN105117215B (zh) * | 2015-08-05 | 2018-12-07 | 深圳市元征科技股份有限公司 | 汽车功能的开发方法及装置 |
CN109960538A (zh) * | 2017-12-21 | 2019-07-02 | 深圳市金证科技股份有限公司 | 一种配置界面管理方法、配置界面管理装置及电子设备 |
CN111240677A (zh) * | 2020-01-13 | 2020-06-05 | 浙江吉利汽车研究院有限公司 | 一种机器人可视化界面生成方法、装置及计算机存储介质 |
CN112835565A (zh) * | 2021-01-29 | 2021-05-25 | 山东浪潮通软信息科技有限公司 | 一种生成组件配置器的方法、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202665A (zh) * | 2007-12-06 | 2008-06-18 | 中兴通讯股份有限公司 | 图形用户界面的生成方法 |
CN101645010A (zh) * | 2009-08-20 | 2010-02-10 | 深圳市珍爱网信息技术有限公司 | 代码自动生成***及方法 |
CN101751028A (zh) * | 2009-12-01 | 2010-06-23 | 重庆邮电大学 | 汽车电控单元通用标定***及实现方法 |
-
2010
- 2010-12-14 CN CN2010105861418A patent/CN102043622A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202665A (zh) * | 2007-12-06 | 2008-06-18 | 中兴通讯股份有限公司 | 图形用户界面的生成方法 |
CN101645010A (zh) * | 2009-08-20 | 2010-02-10 | 深圳市珍爱网信息技术有限公司 | 代码自动生成***及方法 |
CN101751028A (zh) * | 2009-12-01 | 2010-06-23 | 重庆邮电大学 | 汽车电控单元通用标定***及实现方法 |
Non-Patent Citations (2)
Title |
---|
李志华等: "基于XML DOM的网上汽车零部件信息采集***的设计与实现", 《计算机工程与应用》, no. 20, 31 December 2002 (2002-12-31) * |
裴朝等: "汽车电子OSEK配置器的设计与实现", 《单片机与嵌入式***应用》, no. 2, 28 February 2007 (2007-02-28) * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186582A (zh) * | 2011-12-29 | 2013-07-03 | 青岛海尔软件有限公司 | 基于设备描述文件的数据解析方法 |
CN102646039A (zh) * | 2012-02-29 | 2012-08-22 | 河海大学 | 基于XML Schema的软件界面生成***及方法 |
CN103499931A (zh) * | 2013-10-17 | 2014-01-08 | 北京经纬恒润科技有限公司 | 一种控制器设计方法及装置 |
CN103499931B (zh) * | 2013-10-17 | 2016-03-30 | 北京经纬恒润科技有限公司 | 一种控制器设计方法及装置 |
CN105096098A (zh) * | 2014-05-21 | 2015-11-25 | 苏州市大创信息运用有限公司 | 基于递归和继承算法的设备配置树管理方法 |
CN105117215B (zh) * | 2015-08-05 | 2018-12-07 | 深圳市元征科技股份有限公司 | 汽车功能的开发方法及装置 |
CN105373386A (zh) * | 2015-11-25 | 2016-03-02 | 广州华多网络科技有限公司 | 命令行程序的处理方法和装置 |
WO2018058612A1 (zh) * | 2016-09-30 | 2018-04-05 | 深圳市华傲数据技术有限公司 | 配置方法及*** |
CN110312990A (zh) * | 2016-09-30 | 2019-10-08 | 深圳市华傲数据技术有限公司 | 配置方法及*** |
CN106444613A (zh) * | 2016-11-15 | 2017-02-22 | 爱普(福建)科技有限公司 | 一种设备驱动控制器组件的实现方法及*** |
CN106444613B (zh) * | 2016-11-15 | 2019-06-07 | 爱普(福建)科技有限公司 | 一种设备驱动控制器组件的实现方法及*** |
CN106874358A (zh) * | 2016-12-28 | 2017-06-20 | 曙光信息产业(北京)有限公司 | 一种文件管理方法和装置 |
CN109960538A (zh) * | 2017-12-21 | 2019-07-02 | 深圳市金证科技股份有限公司 | 一种配置界面管理方法、配置界面管理装置及电子设备 |
CN111240677A (zh) * | 2020-01-13 | 2020-06-05 | 浙江吉利汽车研究院有限公司 | 一种机器人可视化界面生成方法、装置及计算机存储介质 |
CN111240677B (zh) * | 2020-01-13 | 2023-09-05 | 浙江吉利汽车研究院有限公司 | 一种机器人可视化界面生成方法、装置及计算机存储介质 |
CN112835565A (zh) * | 2021-01-29 | 2021-05-25 | 山东浪潮通软信息科技有限公司 | 一种生成组件配置器的方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102043622A (zh) | 一种电子控制器基础软件通用配置器 | |
Krahn et al. | Monticore: Modular development of textual domain specific languages | |
US9122770B2 (en) | System and method for creating, managing, and reusing schema type definitions in services oriented architecture services, grouped in the form of libraries | |
US9134971B2 (en) | Extensible device object model | |
CN101957758B (zh) | 面向服务的架构应用***中实现Web Service快速发布的方法 | |
Katasonov et al. | Towards ontology-driven development of applications for smart environments | |
US20070028208A1 (en) | Runtime generative programming method and system | |
CN102566984B (zh) | 一种配置参数的方法及装置 | |
US20100083213A1 (en) | Application builder for industrial automation | |
US8805887B2 (en) | Packaging system to facilitate declarative model-driven development | |
US10133766B2 (en) | Accessing and editing virtually-indexed message flows using structured query langauge (SQL) | |
Selic | The less well known uml: A short user guide | |
CN100517222C (zh) | 支持转换引擎与映射规则相分离的模型转换装置及其方法 | |
CN104699518B (zh) | 一种基于微内核插件的万用抄表机适配器及其实现方法 | |
CN104657142A (zh) | 一种基于OSGi技术的CCFD*** | |
CN102455903B (zh) | 一种用户应用界面的生成方法 | |
CN109582391A (zh) | 一种基于xml的设备树配置方法 | |
Rademacher et al. | Deriving microservice code from underspecified domain models using DevOps-enabled modeling languages and model transformations | |
CN114047970A (zh) | 一种autosar架构软件的配置方法及*** | |
WO2014209253A1 (en) | Generating a logical representation from a physical flow | |
El-Khoury et al. | Supporting the linked data approach to maintain coherence across rich EMF models | |
CN101055521B (zh) | 映射规则的可视化生成方法及*** | |
CN110795067A (zh) | 一种需求原型可复用方法 | |
CN116414386A (zh) | 一种基于vue的插件式开发***及方法 | |
Kühlwein et al. | Firmware synthesis for ultra-thin iot devices based on model integration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110504 |