CN105739996A - 一种嵌入式装置研发用户分步开发方法 - Google Patents
一种嵌入式装置研发用户分步开发方法 Download PDFInfo
- Publication number
- CN105739996A CN105739996A CN201610120647.7A CN201610120647A CN105739996A CN 105739996 A CN105739996 A CN 105739996A CN 201610120647 A CN201610120647 A CN 201610120647A CN 105739996 A CN105739996 A CN 105739996A
- Authority
- CN
- China
- Prior art keywords
- module
- user
- development
- library
- research
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种嵌入式装置研发用户分步开发方法:模块研发人员开发模块化元件,提供可重用的符号库。装置集成人员基于符号库搭建装置标准功能,以可视化的方式进行装置功能配置,并设计用户可配置数据,形成标准固件包。用户基于实际需求,进行装置逻辑编程、模块投退、定值整定,形成实际运行固件包。通过分步开发的方式,可显著提升装置的灵活性和可配置能力。
Description
技术领域
本发明公开了一种嵌入式装置研发用户分步开发方法,具体涉及研发-用户分步开发方法,属于嵌入式装置研发领域。
背景技术
控制保护产品正面向平台化、智能化、网络化等方向发展,这样要求嵌入式装置具备灵活的可配置能力和快速集成能力。基于手工编写C语言和配置文件的开发方式或传统的图形化编程方式,已经很难适应不同国家和地区用户需求。需提供可配置方法,支持用户二次开发,满足现场需求,而面向用户的可配置,要求风险可靠,避免用户进行程序编译等复杂度高的操作。另外随着研发分工的细化,装置程序的研发也需分步实现,模块研发人员侧重于单个功能模块的设计,以提高模块的研发质量和运行效率,装置集成研发人员基于可复用的模块库,搭建装置功能,并设计开放给用户的配置接口,以提高装置集成速度。故需设计一种研发-用户分步开发方法,满足嵌入式装置的分角色研发和可配置功能,本案由此产生。
发明内容
本发明的目的是实现嵌入式装置可分角色、分步骤开发。为了达成上述目的,本发明提供一种嵌入式装置研发用户分步开发方法,其特征在于通过模块研发、集成研发、用户二次开发3个步骤完成嵌入式装置功能研发和配置,包括如下步骤:
第一步:通过模块库编辑软件进行模块研发。将嵌入式装置功能进行模块化设计,采用图形化编程的方式,使用功能函数库搭建功能模块,并形成模块源代码文件和目标文件,形成模块库。模块库中包含变量定义头文件、二进制目标文件、模块符号定义文件、压缩的模块源图形化页面文件。
第二步:通过研发版配置软件进行装置功能集成研发。从模块库中挑选必需的功能模块,以图形化配置组合的方式搭建顶层功能,将各模块二进制目标文件和系统程序库链接为可执行程序。设计面向用户可配置数据,包括定值分组、模块投退、装置选型等内容,将模块库、可执行程序、配置页面数据、用户可配置数据打包为标准固件包。
第三步:用户通过用户版配置软件进行二次开发。用户基于标准固件包进行模块投退、逻辑编程、定值整定等用户级配置,形成新的固件包下载到装置运行调试。
其中,所述的第一步中,功能函数库按照IEC61131-3标准设计。通过提取模块图形化页面文件中的输入、输出块,形成模块符号定义文件。
其中,所述的第二步中,在调试模式下,双击模块实例,研发版配置软件可打开模块对应的源图形页面,可对其中的功能块函数管脚进行调试。可设置对用户可见的模块、页面、定值、配置选项等数据。
其中,所述的第三步中,用户版软件仅显示用户可见的模块、页面、定值、配置选项等数据,用户版本的逻辑编程数据处理是免编译的。
采用上述方案后,本发明具有如下有益效果:通过分级分步研发配置,满足了研发可视化编程配置、用户可视化配置需求。模块研发人员基于功能函数库以图形化方式开发功能模块,形成可重用模块库。装置集成人员基于模块库,快速搭建装置功能,形成标准固件包,提高了研发效率。用户基于标准固件包,按照实际需求,进行二次开发,通过免编译的可配置方式实现模块投退和逻辑编程,显著降低了用户级的开发配置风险,并大幅提高了装置灵活性。本方法已经在电力系统继电保护装置中进行了应用,基于本发明开发的装置已经销售到80多个国家,取得较好的效益。
附图说明
图1是本发明中嵌入式装置研发用户分步研发原理图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明,通过3个步骤实现:
1)以可视化编程方式开发单个功能模块。按照IEC61131-3标准,设计提供
一系列通用的、粒度小的功能函数库(例如逻辑函数、延时函数、滤波函数等),在模块库编辑软件中,可新建模块,设置模块的类型名,在模块节点创建若干可视化页面,选择功能函数释放到页面,通过连接线进行功能函数输入输出连线。通过输入块、输出块来定义模块的输入输出接口。分析模块的图形化页面数据,形成模块的变量定义H文件、函数定义C代码文件,并自动形成单个模块的Makefile文件,调用编译器将C文件编译为二进制OBJ文件,将模块添加到模块库中,模块库包括模块的H文件、OBJ文件、压缩的图形化页面文件、图形接口文件等,将上述文件归档到具备版本管理功能的clearcase服务器。
2)以可视化配置方式进行装置功能集成开发。通过研发版配置软件,集成
研发人员从clearcase服务器中下载合适版本的模块库,对模块库进行裁剪,挑选必需的功能模块、预留开放给用户可选模块,以图形化配置组合的方式搭建顶层功能。软件自动形成装置工程Makefile,调用编译器,将裁剪后的模块库对应的OBJ文件和系统程序库链接为可执行文件。
集成研发人员通过软件设计面向用户可配置数据,对装置定值进行分组,设置定值默认值和可见性。设置用户可见的页面、模块,设置用户可投退的模块列表,将模块库、可执行程序、配置页面数据、用户可配置数据打包为标准固件包。固件包是个二进制压缩文件,分文件头和数据区,文件头记录压缩的文件列表和大小和文件CRC,数据区存储压缩后的各个文件数据。
将标准固件包下载到装置,上电运行,在装置调试模式下,双击顶层元件实例,研发版本配置软件解压模块对应的图形化页面,将页面中功能块函数管脚对应的地址下发给装置,装置将对应地址的数据上送给研发版本配置软件,软件根据变量名的数据类型,在管脚附近显示变量的值。
3)用户在用户版配置软件中,基于标准固件包新建装置,显示用户可见的
页面。用户可挑选可见的图形化模块,进行逻辑编程,此过程不需要重新编译(标准固件包中的可执行程序已经链接相关模块的OBJ文件)。基于集成研发提供可配置数据,用户进行模块投退、定值整定等二次开发工作,形成新的固件包,下载到装置运行。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (7)
1.一种嵌入式装置研发用户分步开发方法,其特征在于,具体包括如下步骤:
步骤1:通过模块库编辑软件进行模块研发,将嵌入式装置功能进行模块化设计,采用图形化编程的方式,使用功能函数库搭建功能模块,并形成模块源代码文件和目标文件,形成模块库;
步骤2:通过研发版配置软件进行装置功能集成研发,从模块库中挑选必需的功能模块,以图形化配置组合的方式搭建顶层功能,将各模块二进制目标文件和系统程序库链接为可执行程序;
设计面向用户可配置数据,将模块库、可执行程序、配置页面数据、用户可配置数据打包为标准固件包;
步骤3:用户通过用户版配置软件进行二次开发,用户基于标准固件包进行用户级配置,形成新的固件包下载到装置运行调试。
2.如权利要求1所述的一种嵌入式装置研发用户分步开发方法,其特征在于:步骤1所述模块库中包含变量定义头文件、二进制目标文件、模块符号定义文件、压缩的源图形化页面文件。
3.如权利要求1所述的一种嵌入式装置研发用户分步开发方法,其特征在于:步骤2所述用户可配置数据包括定值分组、模块投退、装置选型。
4.如权利要求1所述的一种嵌入式装置研发用户分步开发方法,其特征在于:步骤3所述用户配置包括模块投退、逻辑编程、定值整定。
5.如权利要求1所述的一种嵌入式装置研发用户分步开发方法,其特征在于:所述的步骤1中,功能函数库按照IEC61131-3标准设计,通过提取模块图形化页面文件中的输入、输出块,形成模块符号定义文件。
6.如权利要求2所述的一种嵌入式装置研发用户分步开发方法,其特征在于:所述的步骤2中,可打开模块对应的源图形页面,可对其中的功能函数管脚进行调试。
7.如权利要求1所述的一种嵌入式装置研发用户分步开发方法,其特征在于:在所述步骤2中,可设置对用户可见的模块、页面、定值、配置选项数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610120647.7A CN105739996A (zh) | 2016-03-03 | 2016-03-03 | 一种嵌入式装置研发用户分步开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610120647.7A CN105739996A (zh) | 2016-03-03 | 2016-03-03 | 一种嵌入式装置研发用户分步开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105739996A true CN105739996A (zh) | 2016-07-06 |
Family
ID=56249128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610120647.7A Pending CN105739996A (zh) | 2016-03-03 | 2016-03-03 | 一种嵌入式装置研发用户分步开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105739996A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775765A (zh) * | 2017-01-12 | 2017-05-31 | 武汉图灵创客科技有限公司 | 图形化编程系统 |
CN108427567A (zh) * | 2018-04-13 | 2018-08-21 | 南京南瑞继保电气有限公司 | 一种装置驱动包自动升级方法 |
CN108595169A (zh) * | 2018-04-28 | 2018-09-28 | 南京南瑞继保电气有限公司 | 一种可视化编程方法、云端服务器及存储介质 |
CN109697065A (zh) * | 2018-12-17 | 2019-04-30 | 蜂巢(武汉)微系统技术有限公司 | 一种嵌入式车载系统的可视化开发方法 |
WO2019218724A1 (zh) * | 2018-05-18 | 2019-11-21 | 上海旺谷计算机科技有限公司 | 软件模块标准化开发方法及软件系统开发方法 |
CN116301754A (zh) * | 2023-03-23 | 2023-06-23 | 深圳市启明智显科技有限公司 | 基于云服务器的嵌入式设备固件开发方法、装置及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268228A1 (en) * | 2003-06-19 | 2004-12-30 | Microsoft Corporation | Framework for creating modular web applications |
CN102087597A (zh) * | 2011-02-14 | 2011-06-08 | 浪潮通信信息系统有限公司 | 一种基于j2ee和构件集的可视化开发平台 |
US8065252B2 (en) * | 2008-11-07 | 2011-11-22 | Sysware Technology Co., Ltd. | Method and system of knowledge component based engineering design |
CN102385509A (zh) * | 2010-08-31 | 2012-03-21 | 苏州大学 | 一种图形化嵌入式开发方法和平台 |
CN102855135A (zh) * | 2012-04-23 | 2013-01-02 | 苏州大学 | 一种图形构件化传感网开发平台及方法 |
CN103399739A (zh) * | 2013-07-19 | 2013-11-20 | 苏州大学 | 一种机器人程序开发平台的生成方法与系统 |
CN103885782A (zh) * | 2014-04-03 | 2014-06-25 | 南京南瑞继保电气有限公司 | 一种可视化编程页面程序库函数封装重用方法 |
CN104778033A (zh) * | 2014-01-09 | 2015-07-15 | 大唐电信科技股份有限公司 | 一种积木式软件的构建方法和装置 |
CN104793954A (zh) * | 2015-04-29 | 2015-07-22 | 南京南瑞继保电气有限公司 | 一种免编译的图形化组合元件封装重用方法 |
CN105117210A (zh) * | 2015-07-28 | 2015-12-02 | 苏州大学 | 一种面向wscn的图形化编程系统 |
CN105224327A (zh) * | 2015-10-08 | 2016-01-06 | 南京南瑞继保电气有限公司 | 一种嵌入式装置变量交换传输地址离线分配方法 |
-
2016
- 2016-03-03 CN CN201610120647.7A patent/CN105739996A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268228A1 (en) * | 2003-06-19 | 2004-12-30 | Microsoft Corporation | Framework for creating modular web applications |
US8065252B2 (en) * | 2008-11-07 | 2011-11-22 | Sysware Technology Co., Ltd. | Method and system of knowledge component based engineering design |
CN102385509A (zh) * | 2010-08-31 | 2012-03-21 | 苏州大学 | 一种图形化嵌入式开发方法和平台 |
CN102087597A (zh) * | 2011-02-14 | 2011-06-08 | 浪潮通信信息系统有限公司 | 一种基于j2ee和构件集的可视化开发平台 |
CN102855135A (zh) * | 2012-04-23 | 2013-01-02 | 苏州大学 | 一种图形构件化传感网开发平台及方法 |
CN103399739A (zh) * | 2013-07-19 | 2013-11-20 | 苏州大学 | 一种机器人程序开发平台的生成方法与系统 |
CN104778033A (zh) * | 2014-01-09 | 2015-07-15 | 大唐电信科技股份有限公司 | 一种积木式软件的构建方法和装置 |
CN103885782A (zh) * | 2014-04-03 | 2014-06-25 | 南京南瑞继保电气有限公司 | 一种可视化编程页面程序库函数封装重用方法 |
CN104793954A (zh) * | 2015-04-29 | 2015-07-22 | 南京南瑞继保电气有限公司 | 一种免编译的图形化组合元件封装重用方法 |
CN105117210A (zh) * | 2015-07-28 | 2015-12-02 | 苏州大学 | 一种面向wscn的图形化编程系统 |
CN105224327A (zh) * | 2015-10-08 | 2016-01-06 | 南京南瑞继保电气有限公司 | 一种嵌入式装置变量交换传输地址离线分配方法 |
Non-Patent Citations (1)
Title |
---|
姚健东: "《一种通用图形化嵌入式开发平台的设计及应用》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775765A (zh) * | 2017-01-12 | 2017-05-31 | 武汉图灵创客科技有限公司 | 图形化编程系统 |
CN106775765B (zh) * | 2017-01-12 | 2020-10-27 | 武汉图灵创客科技有限公司 | 图形化编程系统 |
CN108427567A (zh) * | 2018-04-13 | 2018-08-21 | 南京南瑞继保电气有限公司 | 一种装置驱动包自动升级方法 |
CN108427567B (zh) * | 2018-04-13 | 2021-06-18 | 南京南瑞继保电气有限公司 | 一种装置驱动包自动升级方法 |
CN108595169A (zh) * | 2018-04-28 | 2018-09-28 | 南京南瑞继保电气有限公司 | 一种可视化编程方法、云端服务器及存储介质 |
CN108595169B (zh) * | 2018-04-28 | 2021-07-27 | 南京南瑞继保电气有限公司 | 一种可视化编程方法、云端服务器及存储介质 |
WO2019218724A1 (zh) * | 2018-05-18 | 2019-11-21 | 上海旺谷计算机科技有限公司 | 软件模块标准化开发方法及软件系统开发方法 |
CN109697065A (zh) * | 2018-12-17 | 2019-04-30 | 蜂巢(武汉)微系统技术有限公司 | 一种嵌入式车载系统的可视化开发方法 |
CN116301754A (zh) * | 2023-03-23 | 2023-06-23 | 深圳市启明智显科技有限公司 | 基于云服务器的嵌入式设备固件开发方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105739996A (zh) | 一种嵌入式装置研发用户分步开发方法 | |
TW200504559A (en) | Configurable PLC and SCADA-based control system | |
CN103064356B (zh) | 工业自动化环境中以多种配置进行的应用的多种部署 | |
CN106940773B (zh) | 基于静态污点数据分析的隐私泄漏漏洞检测确认方法 | |
CN108073400A (zh) | 软件自动化构建方法、服务器及存储介质 | |
US8464208B2 (en) | Capturing and utilizing specific module dependency information | |
CN102160037B (zh) | 只需设计一次就能在任何平台应用的移动应用开发框架 | |
CN105653261B (zh) | 基于云计算环境下的开发集成测试方法及系统 | |
CN102591777B (zh) | 一种单元测试代码生成方法及装置 | |
CN103838584B (zh) | 一种移动终端应用的开发方法及装置 | |
CN106406945A (zh) | 一种安卓系统so文件的加载方法及电子设备 | |
CN104793954B (zh) | 一种免编译的图形化组合元件封装重用方法 | |
Rather et al. | A comparative study of software development life cycle models | |
CN105391763A (zh) | 对多个apk文件进行加固的方法和服务器 | |
CN103744684A (zh) | 一种异构软硬件协同开发的方法及系统 | |
CN104462943A (zh) | 业务系统中非侵入式性能监控装置和方法 | |
CN106933642B (zh) | 应用程序的处理方法及处理装置 | |
CN103645905A (zh) | 一种增量数据获取方法及装置 | |
CN104484201A (zh) | 用于ios设备的软件工具开发包更新方法和装置 | |
CN102819717B (zh) | 一种文件保护处理的方法和装置 | |
CN107479939A (zh) | 一种apk安装包重复打包的实现方法 | |
CN103164306B (zh) | 一种测试逻辑的生成方法及装置 | |
Cetina et al. | Strategies for variability transformation at run-time. | |
CN109815651A (zh) | 基于中间代码的iOS应用程序处理方法、系统及介质 | |
CN106020816A (zh) | 一种软件开发工具包sdk下载配置方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160706 |
|
WD01 | Invention patent application deemed withdrawn after publication |