CN112860256A - 一种Linux内核设备树的可视化配置系统和方法 - Google Patents

一种Linux内核设备树的可视化配置系统和方法 Download PDF

Info

Publication number
CN112860256A
CN112860256A CN202110183071.XA CN202110183071A CN112860256A CN 112860256 A CN112860256 A CN 112860256A CN 202110183071 A CN202110183071 A CN 202110183071A CN 112860256 A CN112860256 A CN 112860256A
Authority
CN
China
Prior art keywords
dts
file
module
graphical interface
tree
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
CN202110183071.XA
Other languages
English (en)
Other versions
CN112860256B (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.)
Nanjing Institute Of Software Technology Institute Of Software Chinese Academy Of Sciences
Original Assignee
Nanjing Institute Of Software Technology Institute Of Software Chinese Academy Of Sciences
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 Nanjing Institute Of Software Technology Institute Of Software Chinese Academy Of Sciences filed Critical Nanjing Institute Of Software Technology Institute Of Software Chinese Academy Of Sciences
Priority to CN202110183071.XA priority Critical patent/CN112860256B/zh
Publication of CN112860256A publication Critical patent/CN112860256A/zh
Application granted granted Critical
Publication of CN112860256B publication Critical patent/CN112860256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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/451Execution arrangements for user interfaces

Landscapes

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

Abstract

本发明公开了一种Linux内核设备树的可视化配置系统,包括DTS扫描/解析模块、DTS生成模块、解析/排版模块和图形界面管理模块;DTS扫描/解析模块接收外部发送的DTS文件,将包含的所有DTI文件进行替换和展开,根据树形结构合并相同的节点,形成按节点分类的树形关系数据库结构,生成第一数据库文件;解析/排版模块对解析结果进行处理,生成对应的可显示的图形界面,逆向解析编辑结果以生成第二数据库文件;DTS生成模块将第二数据库文件转换成单一的DTS文件进行输出。本发明能够使软件工程师可以通过可视化图形界面的交互方式完成对整个硬件设备信息的配置,极大的提高操作系统移植过程中软件工程师对设备树配置的效率和准确率。

Description

一种Linux内核设备树的可视化配置系统和方法
技术领域
本发明涉及设备树配置技术领域,具体而言涉及一种Linux内核设备树的可视化配置系统和方法。
背景技术
设备树(Device Tree)是一种描述硬件资源的数据结构,它通过bootloader将硬件资源传给内核,使得内核和硬件资源描述相对独立。Device Tree可以描述的信息包括CPU的数量和类别、内存基地址和大小、总线和桥、外设连接、中断控制器和中断使用情况、GPIO控制器和GPIO使用情况、Clock控制器和Clock使用情况。
目前,设备树采用一种称为DTS和DTSI的ASCII文本格式进行配置,然后通过转换工具DTC(DevicTree Compiler)将其转换为二进制的DTB格式后,提供给操作系统内核。操作系统内核启动时对驱动和设备进行匹配,从而完成设备的加载和管理。
在嵌入式应用领域,同一款CPU可能用于不同的硬件产品,因此DTS文件中存在非常多层级很深的包含和依赖关系。如果采用文本方式直接手工配置DTS/DTSI文件不仅不直观,容易犯错,而且效率低下,不利于软件工程师对整个硬件设备信息的配置有全面的认知。
发明内容
本发明针对现有技术中的不足,提供一种Linux内核设备树的可视化配置系统和方法,能够使软件工程师可以通过可视化图形界面的交互方式完成对整个硬件设备信息的配置,极大的提高操作系统移植过程中软件工程师对设备树配置的效率和准确率。
为实现上述目的,本发明采用以下技术方案:
一种Linux内核设备树的可视化配置系统,所述可视化配置系统包括DTS扫描/解析模块、DTS生成模块、解析/排版模块和图形界面管理模块;
所述DTS扫描/解析模块接收外部发送的DTS文件,从最顶层依次向下扫描,将包含的所有DTI文件进行替换和展开,依照DTS语法格式进行解析,根据树形结构合并相同的节点,形成按节点分类的树形关系数据库结构,生成第一数据库文件;
所述解析/排版模块对DTS扫描/解析模块生成的第一数据库文件进行解析,调用图形界面管理模块对解析结果进行处理,生成对应的可显示的图形界面,根据用户输入的针对图形界面的配置指令对生成的图形界面进行编辑,逆向解析编辑结果以生成第二数据库文件;
所述DTS生成模块按照DTS语法结构,将第二数据库文件转换成单一的DTS文件进行输出。
为优化上述技术方案,采取的具体措施还包括:
进一步地,所述DTS扫描/解析模块接收到的DTS文件包括外部设备导入的包含多级DTI结构的DTS文件,也包括DTS生成模块生成的单一的DTS文件。
进一步地,所述第一数据库文件和第二数据库文件采用ison作为数据库存储格式。
进一步地,所述根据用户输入的针对图形界面的配置指令对生成的图形界面进行编辑是指:
将图形元素与节点一一对应,通过对图形元素进行编辑以完成对节点信息进行编辑,编辑方式包括:
新增或者删除节点和对应的节点信息、修改节点层级或者对应的节点信息,以及选择任何一个节点以查看其对应的节点信息。
本发明还提及一种基于前述可视化配置系统的Linux内核设备树的可视化配置方法,所述可视化配置方法包括以下步骤:
S1,接收外部发送的DTS文件,从最顶层依次向下扫描,将包含的所有DTI文件进行替换和展开,依照DTS语法格式进行解析,根据树形结构合并相同的节点,形成按节点分类的树形关系数据库结构,生成第一数据库文件;
S2,对DTS扫描/解析模块生成的第一数据库文件进行解析,对解析结果进行处理,生成对应的可显示的图形界面,根据用户输入的针对图形界面的配置指令对生成的图形界面进行编辑,逆向解析编辑结果以生成第二数据库文件;
S3,按照DTS语法结构,将第二数据库文件转换成单一的DTS文件;
S4,输出转换生成的单一的DTS文件,或者将转换生成的单一的DTS文件作为外部发送的DTS文件,重新执行步骤S1至步骤S3,以对转换生成的单一的DTS文件做进一步的配置处理。
本发明的有益效果是:
能够使软件工程师可以通过可视化图形界面的交互方式完成对整个硬件设备信息的配置,极大的提高操作系统移植过程中软件工程师对设备树配置的效率和准确率。
附图说明
图1是本发明的Linux内核设备树的可视化配置系统的结构示意图。
图2是本发明的其中一个排版结果例子示意图。
图3是双击展开external-bus的结果视图示意图。
图4是双击展开i2c@1,0的结果视图示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
结合图1,本发明提及一种Linux内核设备树的可视化配置系统,所述可视化配置系统包括DTS扫描/解析模块、DTS生成模块、解析/排版模块和图形界面管理模块。
所述DTS扫描/解析模块接收外部发送的DTS文件,从最顶层依次向下扫描,将包含的所有DTI文件进行替换和展开,依照DTS语法格式进行解析,根据树形结构合并相同的节点,形成按节点分类的树形关系数据库结构,生成第一数据库文件。
所述解析/排版模块对DTS扫描/解析模块生成的第一数据库文件进行解析,调用图形界面管理模块对解析结果进行处理,生成对应的可显示的图形界面,根据用户输入的针对图形界面的配置指令对生成的图形界面进行编辑,逆向解析编辑结果以生成第二数据库文件。
所述DTS生成模块按照DTS语法结构,将第二数据库文件转换成单一的DTS文件进行输出。
本发明的目的在于实现设备树DTS配置文件的可视化配置,方便硬件设备信息的配置,通过对DTS文件的解析对其进行可视化配置,再将配置结果根据DTS语法保存为单一DTS文件。
具体技术方案包括以下步骤:
步骤1,DTS扫描/解析模块从最顶层DTS文件开始扫描,将所有包含的DTI文件进行替换和展开后,依照DTS语法格式进行解析。步骤1中DTS文件可以是本方法生成的单一DTS文件,也可以是从外部导入的包含多级DTI结构的DTS文件。
步骤2,DTS扫描/解析模块,解析完DTS文件后,根据树形结构合并相同的(NODE)节点,形成按节点分类的树形关系数据库结构,生成数据库文件。步骤2中的数据库文件可以是任何格式的文件,本次实施中,考虑到DTS语法格式与json语法格式的相似性,可以选择采用json作为数据库存储格式。
步骤3,解析/排版模块根据数据库描述文件排版产生图形界面。
步骤3排版生成图形界面与DTS内容的例子如下,图2是对应的排版结果示意图:
Figure BDA0002942017680000031
Figure BDA0002942017680000041
Figure BDA0002942017680000051
Figure BDA0002942017680000061
步骤4,工程师通过图形界面编辑(新增,修改,删除等)图形元素,保存后解析/排版模块逆向生成数据库文件。图3是双击展开extemal-bus的结果视图示意图。图4是双击展开i2c@1,0的结果视图示意图。
步骤5,DTS生成模块,根据解析数据库结构,按照DTS语法结构,生成单一的DTS文件。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (5)

1.一种Linux内核设备树的可视化配置系统,其特征在于,所述可视化配置系统包括DTS扫描/解析模块、DTS生成模块、解析/排版模块和图形界面管理模块;
所述DTS扫描/解析模块接收外部发送的DTS文件,从最顶层依次向下扫描,将包含的所有DTI文件进行替换和展开,依照DTS语法格式进行解析,根据树形结构合并相同的节点,形成按节点分类的树形关系数据库结构,生成第一数据库文件;
所述解析/排版模块对DTS扫描/解析模块生成的第一数据库文件进行解析,调用图形界面管理模块对解析结果进行处理,生成对应的可显示的图形界面,根据用户输入的针对图形界面的配置指令对生成的图形界面进行编辑,逆向解析编辑结果以生成第二数据库文件;
所述DTS生成模块按照DTS语法结构,将第二数据库文件转换成单一的DTS文件进行输出。
2.根据权利要求1所述的Linux内核设备树的可视化配置系统,其特征在于,所述DTS扫描/解析模块接收到的DTS文件包括外部设备导入的包含多级DTI结构的DTS文件,也包括DTS生成模块生成的单一的DTS文件。
3.根据权利要求1所述的Linux内核设备树的可视化配置系统,其特征在于,所述第一数据库文件和第二数据库文件采用ison作为数据库存储格式。
4.根据权利要求1所述的Linux内核设备树的可视化配置系统,其特征在于,所述根据用户输入的针对图形界面的配置指令对生成的图形界面进行编辑是指:
将图形元素与节点一一对应,通过对图形元素进行编辑以完成对节点信息进行编辑,编辑方式包括:
新增或者删除节点和对应的节点信息、修改节点层级或者对应的节点信息,以及选择任何一个节点以查看其对应的节点信息。
5.一种基于权利要求1-4任意一项中所述可视化配置系统的Linux内核设备树的可视化配置方法,其特征在于,所述可视化配置方法包括以下步骤:
S1,接收外部发送的DTS文件,从最顶层依次向下扫描,将包含的所有DTI文件进行替换和展开,依照DTS语法格式进行解析,根据树形结构合并相同的节点,形成按节点分类的树形关系数据库结构,生成第一数据库文件;
S2,对DTS扫描/解析模块生成的第一数据库文件进行解析,对解析结果进行处理,生成对应的可显示的图形界面,根据用户输入的针对图形界面的配置指令对生成的图形界面进行编辑,逆向解析编辑结果以生成第二数据库文件;
S3,按照DTS语法结构,将第二数据库文件转换成单一的DTS文件;
S4,输出转换生成的单一的DTS文件,或者将转换生成的单一的DTS文件作为外部发送的DTS文件,重新执行步骤S1至步骤S3,以对转换生成的单一的DTS文件做进一步的配置处理。
CN202110183071.XA 2021-02-08 2021-02-08 一种Linux内核设备树的可视化配置系统和方法 Active CN112860256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110183071.XA CN112860256B (zh) 2021-02-08 2021-02-08 一种Linux内核设备树的可视化配置系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110183071.XA CN112860256B (zh) 2021-02-08 2021-02-08 一种Linux内核设备树的可视化配置系统和方法

Publications (2)

Publication Number Publication Date
CN112860256A true CN112860256A (zh) 2021-05-28
CN112860256B CN112860256B (zh) 2024-03-08

Family

ID=75988502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110183071.XA Active CN112860256B (zh) 2021-02-08 2021-02-08 一种Linux内核设备树的可视化配置系统和方法

Country Status (1)

Country Link
CN (1) CN112860256B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626017A (zh) * 2021-07-06 2021-11-09 曙光信息产业(北京)有限公司 异构程序的分析方法、装置、计算机设备和存储介质
CN115544968A (zh) * 2022-11-28 2022-12-30 苏州浪潮智能科技有限公司 一种兼容多项目设备树的方法、系统、设备和存储介质
CN115794259A (zh) * 2023-02-01 2023-03-14 麒麟软件有限公司 通过acpi生成设备树的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582391A (zh) * 2018-12-04 2019-04-05 中国航空工业集团公司西安航空计算技术研究所 一种基于xml的设备树配置方法
CN109739884A (zh) * 2018-11-26 2019-05-10 国电南瑞科技股份有限公司 一种电力监控系统图形提示信息服务设计方法
CN110348233A (zh) * 2019-07-01 2019-10-18 电子科技大学 一种基于arm的多级安全操作系统实现方法
CN112068896A (zh) * 2020-08-10 2020-12-11 珠海全志科技股份有限公司 Dts修改的方法、装置及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739884A (zh) * 2018-11-26 2019-05-10 国电南瑞科技股份有限公司 一种电力监控系统图形提示信息服务设计方法
CN109582391A (zh) * 2018-12-04 2019-04-05 中国航空工业集团公司西安航空计算技术研究所 一种基于xml的设备树配置方法
CN110348233A (zh) * 2019-07-01 2019-10-18 电子科技大学 一种基于arm的多级安全操作系统实现方法
CN112068896A (zh) * 2020-08-10 2020-12-11 珠海全志科技股份有限公司 Dts修改的方法、装置及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
导数题: ""树状显示dts设备树文件之间的包含关系(设备树树状图显示)(图形化显示设备树)"", pages 1 - 5, Retrieved from the Internet <URL:《https://blog.csdn.net/daoshuti/article/details/81568519》> *
张茂天 等: ""基于设备树的MPC8247嵌入式Linux系统开发"", 《计算机应用》, 1 May 2013 (2013-05-01), pages 1485 - 1488 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626017A (zh) * 2021-07-06 2021-11-09 曙光信息产业(北京)有限公司 异构程序的分析方法、装置、计算机设备和存储介质
CN113626017B (zh) * 2021-07-06 2023-10-31 曙光信息产业(北京)有限公司 异构程序的分析方法、装置、计算机设备和存储介质
CN115544968A (zh) * 2022-11-28 2022-12-30 苏州浪潮智能科技有限公司 一种兼容多项目设备树的方法、系统、设备和存储介质
CN115794259A (zh) * 2023-02-01 2023-03-14 麒麟软件有限公司 通过acpi生成设备树的方法

Also Published As

Publication number Publication date
CN112860256B (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
CN112860256B (zh) 一种Linux内核设备树的可视化配置系统和方法
CN109086199B (zh) 一种自动化生成测试脚本的方法、终端和可存储介质
CN108595171B (zh) 对象的模型生成方法、装置、设备及存储介质
JPH08202545A (ja) ターゲット言語コードを生成するためのオブジェクト指向システム及びその方法
CN104317589A (zh) 一种用于加载动态链接库的代码自动生成方法及装置
US10755055B2 (en) Language recognition method, apparatus, and system
CN100511140C (zh) 构件化软件系统实现脚本语言调用多输出参数接口的方法
CN108153522B (zh) 基于模型转换由midcore生成Spark和Hadoop程序代码的方法
CN114035785A (zh) 一种基于自然语言需求的aadl模型组合验证性质自动生成方法
CN110187886A (zh) 一种文档网站生成方法及终端
CN114047970A (zh) 一种autosar架构软件的配置方法及系统
CN110941655A (zh) 一种数据格式转换方法及装置
US20100088656A1 (en) Property checking system, property checking method, and computer-readable storage medium
CN111831288B (zh) 一种自动生成Thrift IDL数据结构及自动转换函数的方法及系统
CN116774993A (zh) 代码转换方法、装置及存储介质
CN113254027A (zh) 一种半导体设备控制程序转换方法、系统、设备和存储介质
CN111241346A (zh) 一种对象序列化方法、装置、机器可读介质以及系统
WO2008075087A1 (en) Code translator and method of automatically translating modelling language code to hardware language code
JP2002287961A (ja) 業務アプリケーション開発システム及び方法
CN113010184B (zh) 一种实现Axure工程转换至Qt工程方法
CN109933332B (zh) 一种应用于敏捷芯片开发的硬件编译系统
JP2551935B2 (ja) 図的言語処理方式
JP4895374B2 (ja) ソフトウェア成果物生成方法及びそのシステム
CN116644214A (zh) 一种freemarker生成JSON的方法和装置
CN114721665A (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