CN106648615A - 一种基于VxWorks的BSP代码开发系统 - Google Patents
一种基于VxWorks的BSP代码开发系统 Download PDFInfo
- Publication number
- CN106648615A CN106648615A CN201610977119.3A CN201610977119A CN106648615A CN 106648615 A CN106648615 A CN 106648615A CN 201610977119 A CN201610977119 A CN 201610977119A CN 106648615 A CN106648615 A CN 106648615A
- Authority
- CN
- China
- Prior art keywords
- bsp
- configuration
- module
- hardware
- core
- 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/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于VxWorks的BSP代码开发系统,包含配置工具模块和核心BSP模块,所述配置工具模块用于根据用户在可视化界面完成的硬件资源的选择以及硬件参数的配置生成XML配置文件提交给核心BSP模块;所述核心BSP模块用于解析XML配置文件,编译生成可执行文件。本发明在很大程度上提高软件产品的可移植性和开发效率,增加产品的技术成熟度;减少因手工维护代码带来的错误,提高了软件产品的质量。
Description
技术领域
本发明涉及基于VxWorks操作系统实现的嵌入式航电设备及其开发,特别涉及对BSP(Board Support Package)的开发。
背景技术
目前,随着机载软件复杂度的增加,其重要程度越来越明显,业内对软件产品质量的关注度也越来越高,如何在提高软件产品开发效率的同时,提高软件产品质量,已成为业内热议的话题。
软件的代码自动生成技术,能在一定程度上减少手工维护代码带来的错误,能有效提高软件质量,在代码自动生成技术基础上的图形化开发技术,又能有效提高软件开发效率,提高产品的技术成熟度和开发者的设计层次。
对于上层应用软件开发领域,Rhapsody等代码自动生成工具已被广泛使用,其应用效果也被广泛证实。
然而对于BSP等底层软件而言,由于其具有与硬件关系密切,可重用性强,软件算法简单等特点,不适用于上层应用软件的开发架构及相应的代码自动生成工具。而架构和工具的缺乏,导致了以下问题:
a)缺乏统一接口,影响了上层应用程序的可移植性;
b)重复开发现象严重,影响了软件开发效率;
c)手工维护代码程度高,严重影响软件质量、可维护性和成熟度;
d)BSP中对寄存器的配置无规可循,严重影响软件的可重用性,影响二次开发及故障分析的效率。
发明内容
本发明的发明内容在于提供了一种基于VxWorks的BSP代码开发系统,实现了PC端图形化开发软件对BSP软件的配置,从而实现了BSP的图形化开发和代码自动生成技术。该发明可在很大程度上提高软件产品的可移植性和开发效率,增加产品的技术成熟度;减少因手工维护代码带来的错误,提高了软件产品的质量;同时使开发者不必过于关注底层代码细节的描述,而是更关注于软件架构设计,提高了开发人员的设计层次。另外,相关驱动软件作为通用化的可重用软件管理,项目中遇到的问题可及时回溯到可重用软件中,并及时发布至其他项目,避免重复解决相同的问题。
本发明的发明目的通过以下技术方案实现:
一种基于VxWorks的BSP代码开发系统,包含配置工具模块和核心BSP模块,其特征在于:
所述配置工具模块用于根据用户在可视化界面完成的硬件资源的选择以及硬件参数的配置生成XML配置文件提交给核心BSP模块;
所述核心BSP模块用于解析XML配置文件,编译生成可执行文件。
优选地,所述配置工具模块还用于在配置完成后生成CMM文件,所述CMM文件用于TRACE 32仿真器调试使用。
优选地,所述配置工具模块还用于在配置完成后生成的BSP配置报告式,所述BSP配置报告反映配置结果,用于后续软件文档的编写。
优选地,核心BSP模块包含硬件驱动软件模型库和BSP配置文件,所述硬件驱动软件模型库是根据各硬件资源封装的代码库;所述BSP配置文件为由核心BSP模块对XML配置文件解析后产生的.h形式的文件;核心BSP模块根据BSP配置文件从硬件驱动软件模型库调用硬件资源,并根据对硬件参数的配置完成可执行文件的生成。
附图说明
图1为本发明一种基于VxWorks的BSP代码开发系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。
本发明提出了一种基于VxWorks的BSP代码开发系统,并基于此系统实现了PC端图形化开发软件对BSP软件的配置,从而实现了BSP的图形化开发和代码自动生成技术。
一、设计架构
设计按照工程经验,梳理出经常变更的硬件资源作为可配置内容,并按照GJB5000A软件开发流程,对相应硬件资源进行驱动软件的开发,形成通用化、标准化、组件化的驱动库,供BSP使用。
设计分为核心BSP模块和配置工具模块两部分,其中核心BSP模块将上述可配置内容,通过宏定义形式封装至BSP配置文件中,实现只更改宏定义即可完成从硬件驱动软件模型库中对硬件驱动选择。例如,核心BSP中可能针对常见的不同硬件,包含了几种常见的以太网驱动,这些以太网驱动存在于硬件驱动软件模型库中,而BSP配置文件的宏定义中则需要决定针对本次设计具体要从硬件驱动软件模型库中选择哪种硬件驱动,以及这种硬件驱动的性能参数等进行定义。而BSP配置文件中的部分代码是由配置工具模块生成的。
配置工具模块设计了一套可视化图形界面,将上述常用的硬件资源的可配置内容整合到图形界面中,以实现用户通过该配置工具模块完成实际硬件资源的选择,以及硬件参数的配置,从而完成BSP软件配置。
配置工具模块和核心BSP模块的架构关系如图1所示。通过配置工具模块能够完成核心BSP配置和CMM配置,配置工具模块根据用户对硬件驱动程序的选择和可配置内容的设置生成对应的XML配置文件,以保存配置信息。
在XML配置文件的生成后,核心BSP模块通过解析XML中保存的用户配置信息,来生成.h形式的文件,以供核心BSP模块的编译使用。
此外,根据XML配置文件能够以Word的形式生成BSP配置报告,可用于BSP的需求和设计文档,并且能够对BSP开发中涉及到的配置设计项以及基于标准BSP所进行的改型配置项内容均可一目了然的查看,取代了原有通过查看代码或文档了解BSP配置设计的复杂方式。
二、核心BSP模块
设计的关键环节在于通用BSP的设计,即对BSP中常用配置相关的定义和接口在头文件(.h形式的文件)中进行统一设计和管理,对BSP中可配置项进行划分和定义,与BSP中的驱动软件分开,使得驱动软件能够以通用化软件模块的形式出现在不同配置的BSP中。而对于可配置项则提供配置工具模块,所有基于标准BSP的改型设计不再通过修改代码的方式完成,全部由配置工具模块完成配置操作。此外,设计还对BSP的启动时间做了优化,通过修改FLASH片选参数和修改MMU的方式,将BSP的启动时间控制在最短状态,使得后续开发能基于一套高性能的通用化软件进行。用于可配置的硬件资源包括:
1、片选
2、PCIE控制器
3、LAWBAR及LAWAR设置
4、内存参数配置
5、跳转功能配置
6、以太网
7、晶振频率
8、MMU管理
9、DMA控制器驱动
10、FLASH驱动
11、RTC驱动
12、电压处理芯片驱动
13、温度处理芯片驱动
14、常用BIT
15、文件系统
其中,片选、PCIE控制器、晶振频率等均将对应寄存器值在BSP配置文件中以宏定义的形式供配置;FLASH、RTC、电压、温度等驱动的配置,都是将常用硬件驱动封装成统一接口的库形式,在BSP配置文件中通过包含该库实现调用。
三、配置工具模块
配置工具模块通过下拉列表、数据填充等形式,直观的对硬件进行配置,生成XML配置文件,供BSP编译使用,同时还具备以下功能:
a)对常见错误进行检测,能有效避免地址冲突、常见寄存器错误等问题;
b)自动解析寄存器配置值,自动打开对应数据手册,供设计者查看,并以注释的形式写入BSP可配置文件中;
c)自动生成配置报告,对配置内容进行归纳总结;
d)自动生成CMM等仿真器配置文件,供仿真器调试使用;
e)自动生成XML配置文件,保存当前配置信息,以备下次使用。
本发明提供的一种基于VxWorks的BSP代码开发系统,可在一定程度上提高软件开发阶段的工作效率,降低其工作难度,提高其成熟度和软件开发者的设计层次,减少因手工维护代码引入的错误,从而保证了软件质量。该设计方法极大的丰富了对于航空电子系统机载计算机VxWorks操作系统下BSP软件的开发方法,同时可被借鉴应用于其他操作系统底层软件的开发。该专利的应用独立于硬件平台,适用范围广,具有显著的市场前景和经济效益。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (4)
1.一种基于VxWorks的BSP代码开发系统,包含配置工具模块和核心BSP模块,其特征在于:
所述配置工具模块用于根据用户在可视化界面完成的硬件资源的选择以及硬件参数的配置生成XML配置文件提交给核心BSP模块;
所述核心BSP模块用于解析XML配置文件,编译生成可执行文件。
2.根据权利要求1所述一种基于VxWorks的BSP代码开发系统,其特征在于所述配置工具模块还用于在配置完成后生成CMM文件,所述CMM文件用于TRACE 32仿真器调试使用。
3.根据权利要求1所述的一种基于VxWorks的BSP代码开发系统,其特征在于所述配置工具模块还用于在配置完成后生成的BSP配置报告式,所述BSP配置报告反映配置结果,用于后续软件文档的编写。
4.根据权利要求1所述的一种基于VxWorks的BSP代码开发系统,其特征在于所述核心BSP模块包含硬件驱动软件模型库和BSP配置文件,所述硬件驱动软件模型库是根据各硬件资源封装的代码库;所述BSP配置文件为由核心BSP模块对XML配置文件解析后产生的.h形式的文件;核心BSP模块根据BSP配置文件从硬件驱动软件模型库调用硬件资源,并根据对硬件参数的配置完成可执行文件的生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610977119.3A CN106648615A (zh) | 2016-11-07 | 2016-11-07 | 一种基于VxWorks的BSP代码开发系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610977119.3A CN106648615A (zh) | 2016-11-07 | 2016-11-07 | 一种基于VxWorks的BSP代码开发系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106648615A true CN106648615A (zh) | 2017-05-10 |
Family
ID=58805227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610977119.3A Pending CN106648615A (zh) | 2016-11-07 | 2016-11-07 | 一种基于VxWorks的BSP代码开发系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648615A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450387A (zh) * | 2017-06-20 | 2017-12-08 | 江苏银基烯碳能源科技有限公司 | 对电池管理系统进行二次开发的系统 |
CN108121627A (zh) * | 2017-12-13 | 2018-06-05 | 苏州长风航空电子有限公司 | 一种VxWorks操作系统调试方法 |
CN108874456A (zh) * | 2018-06-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种服务器软件的生成方法、装置、设备及存储介质 |
CN108897581A (zh) * | 2018-06-07 | 2018-11-27 | 北京奇艺世纪科技有限公司 | 一种服务部署方法、装置及电子设备 |
CN109508202A (zh) * | 2018-09-27 | 2019-03-22 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 嵌入式操作系统的驱动开发系统、方法及介质 |
CN109522056A (zh) * | 2018-11-14 | 2019-03-26 | 天津津航计算技术研究所 | VxWorks系统下大容量存储设备的主机控制器驱动实现方法 |
CN111309309A (zh) * | 2020-02-20 | 2020-06-19 | 杭州涂鸦信息技术有限公司 | 基于设备的软件开发方法及其系统和装置 |
CN112764739A (zh) * | 2021-01-20 | 2021-05-07 | 上海创景信息科技有限公司 | 基于国产操作系统的标准化bsp图形化配置系统及方法 |
CN113407469A (zh) * | 2021-06-10 | 2021-09-17 | 浙江华创视讯科技有限公司 | 一种参数配置方法及装置、存储介质及电子装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360305A (zh) * | 2011-10-09 | 2012-02-22 | 中国航天科技集团公司第五研究院第五一三研究所 | 用于航天计算机的VxWorks操作系统裁剪定制方法 |
CN103955387A (zh) * | 2014-04-25 | 2014-07-30 | 国家电网公司 | 一种VxWorks系统中BSP的设计方法 |
-
2016
- 2016-11-07 CN CN201610977119.3A patent/CN106648615A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360305A (zh) * | 2011-10-09 | 2012-02-22 | 中国航天科技集团公司第五研究院第五一三研究所 | 用于航天计算机的VxWorks操作系统裁剪定制方法 |
CN103955387A (zh) * | 2014-04-25 | 2014-07-30 | 国家电网公司 | 一种VxWorks系统中BSP的设计方法 |
Non-Patent Citations (2)
Title |
---|
楼骥洲等: ""基于XML的BSP敏捷开发方法"", 《计算机应用研究》 * |
韩山等编著: "《ARM微处理器应用开发技术详解与实例分析》", 31 July 2007 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450387A (zh) * | 2017-06-20 | 2017-12-08 | 江苏银基烯碳能源科技有限公司 | 对电池管理系统进行二次开发的系统 |
CN108121627B (zh) * | 2017-12-13 | 2021-03-09 | 苏州长风航空电子有限公司 | 一种VxWorks操作系统调试方法 |
CN108121627A (zh) * | 2017-12-13 | 2018-06-05 | 苏州长风航空电子有限公司 | 一种VxWorks操作系统调试方法 |
CN108897581A (zh) * | 2018-06-07 | 2018-11-27 | 北京奇艺世纪科技有限公司 | 一种服务部署方法、装置及电子设备 |
CN108897581B (zh) * | 2018-06-07 | 2022-03-04 | 北京奇艺世纪科技有限公司 | 一种服务部署方法、装置及电子设备 |
CN108874456A (zh) * | 2018-06-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种服务器软件的生成方法、装置、设备及存储介质 |
CN109508202B (zh) * | 2018-09-27 | 2021-07-30 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 嵌入式操作系统的驱动开发系统、方法及介质 |
CN109508202A (zh) * | 2018-09-27 | 2019-03-22 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 嵌入式操作系统的驱动开发系统、方法及介质 |
CN109522056A (zh) * | 2018-11-14 | 2019-03-26 | 天津津航计算技术研究所 | VxWorks系统下大容量存储设备的主机控制器驱动实现方法 |
CN109522056B (zh) * | 2018-11-14 | 2021-11-16 | 天津津航计算技术研究所 | VxWorks系统下大容量存储设备的主机控制器驱动实现方法 |
CN111309309A (zh) * | 2020-02-20 | 2020-06-19 | 杭州涂鸦信息技术有限公司 | 基于设备的软件开发方法及其系统和装置 |
CN111309309B (zh) * | 2020-02-20 | 2023-09-22 | 杭州涂鸦信息技术有限公司 | 基于设备的软件开发方法及其系统和装置 |
CN112764739A (zh) * | 2021-01-20 | 2021-05-07 | 上海创景信息科技有限公司 | 基于国产操作系统的标准化bsp图形化配置系统及方法 |
CN113407469A (zh) * | 2021-06-10 | 2021-09-17 | 浙江华创视讯科技有限公司 | 一种参数配置方法及装置、存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106648615A (zh) | 一种基于VxWorks的BSP代码开发系统 | |
Bowen et al. | The industrial take-up of formal methods in safety-critical and other areas: A perspective | |
CN1828597B (zh) | 简单样式 | |
CN1928816A (zh) | 嵌入式系统软件的模型驱动与构件化开发方法 | |
CN109032577B (zh) | 一种数据仿真方法 | |
Molcho et al. | Computer aided manufacturability analysis: Closing the knowledge gap between the designer and the manufacturer | |
Sabetzadeh et al. | Using SysML for modeling of safety-critical software-hardware interfaces: Guidelines and industry experience | |
CN104965781A (zh) | 一种生成测试用例的方法及装置 | |
US20070277165A1 (en) | Debugging Interpreted Input | |
EP3982268B1 (en) | Chassis simulation method and apparatus, server, storage medium and program product | |
CN113919158A (zh) | 一种用于飞行控制面板的仿真方法、装置及存储介质 | |
CN113515348A (zh) | 一种基于时机动作流的模拟器建模方法及装置 | |
KR101460794B1 (ko) | 미디어 아트 콘텐츠 생성 방법 및 시스템 | |
Liu et al. | The practice of formal methods in safety-critical systems | |
US20090182544A1 (en) | Multiple chassis emulation environment | |
CN104238438A (zh) | 一种plc通用平台及其设计方法 | |
CN104077225A (zh) | 基于JavaScript的脚本调试方法和脚本调试装置 | |
Ge et al. | Formal development process of safety-critical embedded human machine interface systems | |
CN105278939A (zh) | 基于DotNet Framework类库的制作控件的方法及装置 | |
Rapos et al. | Simevo: A toolset for simulink test evolution & maintenance | |
Kan et al. | Detecting safety‐related components in statecharts through traceability and model slicing | |
CN104765616B (zh) | 一种自动生成io模型的方法及系统 | |
CN103810335A (zh) | 一种面向复杂系统并行仿真的组件式描述方法 | |
CN113485879A (zh) | 一种基于labview调用vivado-tcl脚本自动化测试方法 | |
Tabacaru et al. | A meta-modeling-based approach for automatic generation of fault-injection processes |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |