CN109582391A - 一种基于xml的设备树配置方法 - Google Patents

一种基于xml的设备树配置方法 Download PDF

Info

Publication number
CN109582391A
CN109582391A CN201811471405.8A CN201811471405A CN109582391A CN 109582391 A CN109582391 A CN 109582391A CN 201811471405 A CN201811471405 A CN 201811471405A CN 109582391 A CN109582391 A CN 109582391A
Authority
CN
China
Prior art keywords
xml
device tree
file
xsd
supported
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.)
Granted
Application number
CN201811471405.8A
Other languages
English (en)
Other versions
CN109582391B (zh
Inventor
吕大鹏
杨珂瑶
黄保垒
项涛
王宏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201811471405.8A priority Critical patent/CN109582391B/zh
Publication of CN109582391A publication Critical patent/CN109582391A/zh
Application granted granted Critical
Publication of CN109582391B publication Critical patent/CN109582391B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于XML的设备树配置方法,包括以下步骤:(1)定义符合XML语法规则的设备树描述方案;(2)依照XML Schema Definition规则,定义步骤(1)中所述设备树描述方案的XSD文件,借助支持XSD的图形化XML工具,辅助技术人员采用XML语言对设备树进行配置,得到的配置结果结合步骤(2)中的XSD文件,自动生成自定义链接信息;(3)利用解析工具,将在步骤(2)中得到的设备树转换为标准DTB文件。本发明使得在对设备树进行配置的同时生成链接信息,消除了设备配置和驱动配置不一致的风险。

Description

一种基于XML的设备树配置方法
技术领域
本发明属于计算机软件领域,涉及操作系统设备管理,具体涉及一种设备树配置方法。
背景技术
设备树(DeviceTree)用于描述目标板硬件相关信息,如设备初始化参数、设备间的连接方式等,且设备树可以在BOOT和操作系统内核之间进行传递,使得内核代码中不再需要冗余硬编码,因此在多种操作系统中得到应用。
目前,设备树采用一种称为DTS的ASCII文本格式进行配置,然后通过转换工具DTC(DevicTree Compiler)将其转换为二进制的DTB格式后,提供给操作系统内核。操作系统内核启动时对驱动和设备进行匹配,从而完成设备的加载和管理,如图2所示。
在一些嵌入式场景中,为了满足系统资源的限制要求或基于某种安全性考虑,操作系统在编译链接过程中必须要裁减掉不必要的驱动程序,以达到减小系统映像规模,提高系统可靠性的目的。而裁减的过程一般需要根据目标硬件信息,通过配置文件生成不同的链接条件实现。
在传统的基于DTS(Devicetree Source)的设备树配置方式中,仅可生成用于系统初始化阶段的DTB(DeviceTree Blob)数据,然而当系统映像需要裁减一些不必要的驱动程序模块时,必须根据目标板硬件信息对链接的内容进行配置,然而基于DTS的设备树配置机制,无法直接对产生可应用于链接过程的配置信息,因此会导致目标板硬件信息在设备配置(体现在DTS)和驱动配置(体现在配置文件)中,出现冗余,进而在系统的配置、维护等过程中,产生由信息不一致带来问题的风险.
发明内容
本发明的目的是提出一种基于XML的设备树配置方法,使得在对设备树进行配置的同时生成链接信息,消除了设备配置和驱动配置不一致的风险。
本发明的具体技术方案包括以下步骤:
(1)定义符合XML语法规则的设备树描述方案;
(2)依照XML Schema Definition规则,定义步骤(1)中所述设备树描述方案的XSD文件,借助支持XSD的图形化XML工具,用于实现:
a)辅助技术人员采用XML语言对设备树进行配置,即对XML文件进行约束,实现对XML描述的设备树语法错误检查;
b)根据步骤a)得到的配置结果结合步骤(2)中的XSD文件,自动生成自定义链接信息,消除链接信息与设备树配置不一致的风险;
(3)利用设备树描述文件解析工具,将在步骤(2)中得到的设备树转换为标准DTB文件。
本发明技术方案中,XML(Extensible Markup Langue)即可扩展标记语言,源于网络上不同平台之间交换数据的需求。XML便于扩展,可以十分方便的描述结构数据,因此得到了广泛的应用。XSD(XML Schema Definition)用于描述XML文档的结构,即定义XML用于描述某种数据的规则。通过XSD可以验证一个XML文档中的数据是否满足其所定义的要求,并可以根据该XML文档的内容生成所定义的附加信息。由于XML本身就是一种树形结构,因此十分适用于描述设备树配置数据。
所述步骤(1)设计基于XML的设备树描述语法,具体要求如下:
(1.1)支持NODE和PROPERTY类型的节点;
(1.2)支持标准定义以及用户自定义名称;
(1.3)支持标准属性以及用户自定义属性;
(1.4)支持中断路由引用配置。
所述步骤(2)定义XSD文件,具体要求如下:
(2.1)对系统支持的每种设备,XSD定义设备所支持的可配置属性及其类型;
(2.2)对系统支持的每种设备,XSD定义加载设备驱动的编译信息。
所述步骤(3)实现针对XML设备树的解析工具,具体要求如下;
(3.1)支持将符合XML设备树语法的XML文件,转换为符合设备树标准的DTB;
(3.2)对XML文件中的语法错误,给出提示信息;
(3.3)对XML文件中设备树的语义不一致,给出提示信息。
本发明能够完整支持设备树的XML语法规范,同时基于标准的XML SchemaDefinition规则,支持在通过XML配置设备树的同时,生成自定义链接信息,不仅消除了配置不一致风险,而且便于设计和实现图形化的配置工具,提高配置效率,具体有益效果表现如下:
1)能够在生成设备树的同时生成驱动链接配置信息,生成自定义链接信息,消除了设备配置与驱动配置的不一致的风险;
2)可将对设备树语法错误的检测提前到编辑阶段;
3)可通过基于eclipse框架的集成开发环境、XML编辑工具等,提高设备树的配置效率。
附图说明
图1为本发明系统工作流程示意图。
图2为现有技术设备树工作流程示意图。
图3为本发明实施例的硬件系统框图。
图4为本发明解析工具的组成框图。
具体实施方式
本发明通过定义基于XML的设备树配置方法,实现了只需一次即完成对设备端和驱动端的配置。
具体技术方案包括以下步骤:
(1)定义符合XML语法规则的设备树描述方案;
(2)依照XML Schema Definition规则,定义步骤(1)中所述设备树描述方案的XSD文件,借助支持XSD的图形化XML工具,用于实现:
a)辅助技术人员采用XML语言对设备树进行配置,即对XML文件进行约束,实现对XML描述的设备树语法错误检查;
b)根据步骤a)得到的配置结果结合步骤(2)中的XSD文件,自动生成自定义链接信息;
(3)利用设备树描述文件解析工具,如图4所示,将在步骤(2)中得到的设备树转换为标准DTB文件。
所述步骤(1)设计基于XML的设备树描述语法,具体要求如下:
(1.1)支持NODE和PROPERTY类型的节点;
(1.2)支持标准定义以及用户自定义名称;
(1.3)支持标准属性以及用户自定义属性;
(1.4)支持中断路由引用配置。
所述步骤(2)定义XSD文件,具体要求如下:
(2.1)对系统支持的每种设备,XSD定义设备所支持的可配置属性及其类型;
(2.2)对系统支持的每种设备,XSD定义加载设备驱动的编译信息。
所述步骤(3)实现针对XML设备树的解析工具,具体要求如下;
(3.1)支持将符合XML设备树语法的XML文件,转换为符合设备树标准的DTB;
(3.2)对XML文件中的语法错误,给出提示信息;
(3.3)对XML文件中设备树的语义不一致,给出提示信息。
以如图3所示的硬件设备及其连接情况为例:
1.目标板包含一个CPU、一个中断控制器和一个串口控制器
2.串口控制器寄存器空间为[0xFFE04500,0xFFE04600];中断控制器的寄存器空间为[0xFFE40000,0xFFE80000];
3.串口中断通过中断控制器上报给CPU,中断号为42。
针对上述系统,典型的使用DTS描述的设备树示例,如下:
步骤一:XML描述设备树的定义
XML描述设备树示例方案一:
与DTS采用一一映射,将其中的节点和属性分别保留原名称,并映射为XML文档的节点和属性,如下:
这种方案优点是直观,可以将DTS直接转为XML文件,但后期处理较为复杂。
XML描述设备树示例方案二:
定义一组关键字,将DTS中的节点、属性分别映射到这些关键字上。例如用Node表示一个节点,用Attribute表示一个属性,用Value表示属性的值,则用XML描述如下:
这种方案优点是后期处理XML文件比较简单,但相较于前一种,冗余信息比较多。
XML描述设备树示例方案三:
将设备树中一些频繁的使用的或者通用的属性定义为关键字,如compatible、reg、address-cells、size-cells等,同时保留Node和Attribute关键字,用XML描述如下:
此方案对于通过XSD文件提供语法级别错误检测较为方便。
步骤二:XSD定义
根据XML的描述方案可以定义XSD文件,一方面可以在生成XML文件时提供语法级别错误检测,另一方面可以根据定义生成相应的编译连接信息。
以步骤一中的方案二为例:
对相关定义的约束包括:
每个Node节点都有一个name属性;
每个Node节点包含若干个Attribute子节点和Node子节点。
每个Attribute节点没有子节点,但包含name和value两个属性。
定义如下的XSD文件片段即可实现对上述约束的检测:
步骤三:在XSD中定义编译链接信息
例如,在XML设备树中,通过节点“RS232DEMO”来定义一个232串口设备,则相应的XSD中,增加如下部分:
<element name="RS232DEMO"macro="DRIVERS_RS232_DEMO"/>
通过该定义,当XML设备树中定义了RS232DEMO型串口设备时,可直接生成编译宏DRIVERS_RS232_DEMO,通过在MakeFile中引用该宏,可实现根据设备树配置结果进行条件编译。
步骤四:XML设备树转换为DTB
针对步骤一中的描述方案,按图4所示步骤,生成DTB文件。

Claims (4)

1.一种基于XML的设备树配置方法,其特征在于包括以下步骤:
(1)定义符合XML语法规则的设备树描述方案;
(2)依照XML Schema Definition规则,定义步骤(1)中所述设备树描述方案的XSD文件,借助支持XSD的图形化XML工具,用于实现:
a)辅助技术人员采用XML语言对设备树进行配置;
b)根据步骤a)得到的配置结果结合步骤(2)中的XSD文件,自动生成自定义链接信息;
(3)利用设备树描述文件解析工具,将在步骤(2)中得到的设备树转换为标准DTB文件。
2.如权利要求1所述的一种基于XML的设备树配置方法,其特征在于所述步骤(1)设计基于XML的设备树描述方案,具体要求如下:
(1.1)支持NODE和PROPERTY类型的节点;
(1.2)支持标准定义以及用户自定义名称;
(1.3)支持标准属性以及用户自定义属性;
(1.4)支持中断路由引用配置。
3.如权利要求1所述的一种基于XML的设备树配置方法,其特征在于所述步骤(2)中,定义步骤(1)中所述设备树描述方案的XSD文件,具体要求如下:
(2.1)对系统支持的每种设备,XSD定义设备所支持的可配置属性及其类型;
(2.2)对系统支持的每种设备,XSD定义加载设备驱动的编译信息。
4.如权利要求1所述的一种基于XML的设备树配置方法,其特征在于所述步骤(3)中利用的设备树描述文件解析工具,具体要求如下;
(3.1)支持将符合XML设备树语法的XML文件,转换为符合设备树标准的DTB;
(3.2)对XML文件中的语法错误,给出提示信息;
(3.3)对XML文件中设备树的语义不一致,给出提示信息。
CN201811471405.8A 2018-12-04 2018-12-04 一种基于xml的设备树配置方法 Active CN109582391B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811471405.8A CN109582391B (zh) 2018-12-04 2018-12-04 一种基于xml的设备树配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811471405.8A CN109582391B (zh) 2018-12-04 2018-12-04 一种基于xml的设备树配置方法

Publications (2)

Publication Number Publication Date
CN109582391A true CN109582391A (zh) 2019-04-05
CN109582391B CN109582391B (zh) 2022-05-24

Family

ID=65927074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811471405.8A Active CN109582391B (zh) 2018-12-04 2018-12-04 一种基于xml的设备树配置方法

Country Status (1)

Country Link
CN (1) CN109582391B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112464032A (zh) * 2019-12-24 2021-03-09 上海汇招信息技术有限公司 清标方法
CN112860256A (zh) * 2021-02-08 2021-05-28 中科院软件研究所南京软件技术研究院 一种Linux内核设备树的可视化配置系统和方法
CN115794259A (zh) * 2023-02-01 2023-03-14 麒麟软件有限公司 通过acpi生成设备树的方法
WO2024113904A1 (zh) * 2022-11-28 2024-06-06 苏州元脑智能科技有限公司 一种兼容多项目设备树的方法、系统、设备和存储介质

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464866A (zh) * 2007-12-19 2009-06-24 新奥特(北京)视频技术有限公司 一种基于xml实现编目信息格式转换的方法
CN101819596A (zh) * 2010-04-28 2010-09-01 烽火通信科技股份有限公司 一种基于内存的xml脚本缓存容器
CN102236714A (zh) * 2011-07-05 2011-11-09 广东星海数字家庭产业技术研究院有限公司 一种基于xml的交互应用多媒体信息检索方法
CN102339252A (zh) * 2011-07-25 2012-02-01 大连理工大学 基于xml中间模型以及缺陷模式匹配的静态检测系统
CN102609506A (zh) * 2012-02-03 2012-07-25 杭州杰唐信息技术有限公司 一种通过映射生成hl7消息的方法
CN103123646A (zh) * 2012-12-11 2013-05-29 北京航空航天大学 将xml文档自动转化为oml文档的转换方法及装置
CN103246545A (zh) * 2013-05-07 2013-08-14 中国人民解放军国防科学技术大学 面向多虚拟域可定制的PICe外设设备树生成方法
CN103778566A (zh) * 2014-01-17 2014-05-07 广东电网公司电力科学研究院 基于三维可视化展示的火电厂监测方法
CN103902269A (zh) * 2012-12-27 2014-07-02 中国科学院声学研究所 一种通过xml文件生成mib文件的系统及方法
US20140207828A1 (en) * 2013-01-24 2014-07-24 International Business Machines Corporation Decomposing xml schema documents into subsets
US20140372868A1 (en) * 2013-06-18 2014-12-18 Fujitsu Limited Grammar generation for xml schema definitions
CN104933224A (zh) * 2015-05-25 2015-09-23 国家电网公司 一种智能变电站用电子设备快速配置器
CN105320744A (zh) * 2015-09-24 2016-02-10 四川长虹电器股份有限公司 Xbrl分类标准自定义链接库的解析方法
CN105468856A (zh) * 2015-11-27 2016-04-06 中国电力科学研究院 基于多关键字匹配的scd文件中电能计量设备识别方法
CN105607941A (zh) * 2015-11-25 2016-05-25 上海斐讯数据通信技术有限公司 一种安卓项目中配置编译的装置和方法
US20160188620A1 (en) * 2014-12-31 2016-06-30 Verizon Patent And Licensing Inc. Auto suggestion in search with additional properties
CN105988786A (zh) * 2015-02-06 2016-10-05 北京仿真中心 利用uml与xml映射建立数据流程一体化模型的方法
CN106326488A (zh) * 2016-09-07 2017-01-11 国家电网公司 一种基于xml的输变电设备状态数据交换适配器及其使用方法
CN106656614A (zh) * 2016-12-29 2017-05-10 山东鲁能智能技术有限公司 基于配电终端设备xml文件的定制转发表生成方法及系统
CN107145343A (zh) * 2017-04-05 2017-09-08 烽火通信科技股份有限公司 一种动态适配外围设备的系统及方法
US20170357626A1 (en) * 2016-06-09 2017-12-14 Fujitsu Limited Document encoding
CN107632828A (zh) * 2016-07-18 2018-01-26 迈普通信技术股份有限公司 多dts文件支持方法、编译装置及嵌入式设备
CN108279940A (zh) * 2016-12-30 2018-07-13 华为软件技术有限公司 一种web容器中的模块加载方法和装置

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464866A (zh) * 2007-12-19 2009-06-24 新奥特(北京)视频技术有限公司 一种基于xml实现编目信息格式转换的方法
CN101819596A (zh) * 2010-04-28 2010-09-01 烽火通信科技股份有限公司 一种基于内存的xml脚本缓存容器
CN102236714A (zh) * 2011-07-05 2011-11-09 广东星海数字家庭产业技术研究院有限公司 一种基于xml的交互应用多媒体信息检索方法
CN102339252A (zh) * 2011-07-25 2012-02-01 大连理工大学 基于xml中间模型以及缺陷模式匹配的静态检测系统
CN102609506A (zh) * 2012-02-03 2012-07-25 杭州杰唐信息技术有限公司 一种通过映射生成hl7消息的方法
CN103123646A (zh) * 2012-12-11 2013-05-29 北京航空航天大学 将xml文档自动转化为oml文档的转换方法及装置
CN103902269A (zh) * 2012-12-27 2014-07-02 中国科学院声学研究所 一种通过xml文件生成mib文件的系统及方法
US20140207828A1 (en) * 2013-01-24 2014-07-24 International Business Machines Corporation Decomposing xml schema documents into subsets
CN103246545A (zh) * 2013-05-07 2013-08-14 中国人民解放军国防科学技术大学 面向多虚拟域可定制的PICe外设设备树生成方法
US20140372868A1 (en) * 2013-06-18 2014-12-18 Fujitsu Limited Grammar generation for xml schema definitions
CN103778566A (zh) * 2014-01-17 2014-05-07 广东电网公司电力科学研究院 基于三维可视化展示的火电厂监测方法
US20160188620A1 (en) * 2014-12-31 2016-06-30 Verizon Patent And Licensing Inc. Auto suggestion in search with additional properties
CN105988786A (zh) * 2015-02-06 2016-10-05 北京仿真中心 利用uml与xml映射建立数据流程一体化模型的方法
CN104933224A (zh) * 2015-05-25 2015-09-23 国家电网公司 一种智能变电站用电子设备快速配置器
CN105320744A (zh) * 2015-09-24 2016-02-10 四川长虹电器股份有限公司 Xbrl分类标准自定义链接库的解析方法
CN105607941A (zh) * 2015-11-25 2016-05-25 上海斐讯数据通信技术有限公司 一种安卓项目中配置编译的装置和方法
CN105468856A (zh) * 2015-11-27 2016-04-06 中国电力科学研究院 基于多关键字匹配的scd文件中电能计量设备识别方法
US20170357626A1 (en) * 2016-06-09 2017-12-14 Fujitsu Limited Document encoding
CN107632828A (zh) * 2016-07-18 2018-01-26 迈普通信技术股份有限公司 多dts文件支持方法、编译装置及嵌入式设备
CN106326488A (zh) * 2016-09-07 2017-01-11 国家电网公司 一种基于xml的输变电设备状态数据交换适配器及其使用方法
CN106656614A (zh) * 2016-12-29 2017-05-10 山东鲁能智能技术有限公司 基于配电终端设备xml文件的定制转发表生成方法及系统
CN108279940A (zh) * 2016-12-30 2018-07-13 华为软件技术有限公司 一种web容器中的模块加载方法和装置
CN107145343A (zh) * 2017-04-05 2017-09-08 烽火通信科技股份有限公司 一种动态适配外围设备的系统及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112464032A (zh) * 2019-12-24 2021-03-09 上海汇招信息技术有限公司 清标方法
CN112860256A (zh) * 2021-02-08 2021-05-28 中科院软件研究所南京软件技术研究院 一种Linux内核设备树的可视化配置系统和方法
CN112860256B (zh) * 2021-02-08 2024-03-08 中科院软件研究所南京软件技术研究院 一种Linux内核设备树的可视化配置系统和方法
WO2024113904A1 (zh) * 2022-11-28 2024-06-06 苏州元脑智能科技有限公司 一种兼容多项目设备树的方法、系统、设备和存储介质
CN115794259A (zh) * 2023-02-01 2023-03-14 麒麟软件有限公司 通过acpi生成设备树的方法

Also Published As

Publication number Publication date
CN109582391B (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
CN109582391A (zh) 一种基于xml的设备树配置方法
CN108121542B (zh) 一种基于MyBatis的SQL语句的配置方法、系统
EP1630702B1 (en) System and method for automatically generating xml schema for validating xml input documents
CN100483419C (zh) 一种数据格式的校验方法及装置
US20070174763A1 (en) System and method for developing and enabling model-driven XML transformation framework for e-business
US20070027670A1 (en) User Interface Update System
WO2012034440A1 (zh) 一种数据库升级脚本的生成方法和装置
CN108762743A (zh) 一种数据表操作代码生成方法及装置
CN102043622A (zh) 一种电子控制器基础软件通用配置器
CN102253984A (zh) 查询语句处理装置和查询语句处理方法
CN103902269A (zh) 一种通过xml文件生成mib文件的系统及方法
CN109995643A (zh) 业务邮件推送方法及装置
US20080033968A1 (en) Methods and apparatus for input specialization
US7237222B1 (en) Protocol for controlling an execution process on a destination computer from a source computer
CN101499015A (zh) 一种高级语言转换成其它高级语言的方法及转换器
CN102520963B (zh) 基于强类型关系映射实现业务逻辑处理的方法及系统
US9372902B2 (en) Accessing and editing virtually-indexed message flows using structured query langauge (SQL)
KR100841079B1 (ko) 엑스엠엘 기반의 원격 유지 보수 시스템
CN102111160B (zh) 用于反应式系统测试的编解码系统及其编解码器
WO2007076676A1 (fr) Procede pour la production automatique de code de codage/decodage des unites de donnees de protocole (pdu) base sur une definition de notation de syntaxe abstraite numero 1 (asn.1)
US9262374B1 (en) Model driven command language translator
US8255356B2 (en) Apparatus and method of generating document
CN102207837A (zh) 一种基于虚拟打印方式获取数据的方法及系统
US9600454B2 (en) Method and system for effective schema generation via programmatic analysys
CN100438522C (zh) 创建与协议无关的管理器/代理关系的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant