CN112732275B - 一种列车软件分区与集成方法 - Google Patents
一种列车软件分区与集成方法 Download PDFInfo
- Publication number
- CN112732275B CN112732275B CN201910971798.7A CN201910971798A CN112732275B CN 112732275 B CN112732275 B CN 112732275B CN 201910971798 A CN201910971798 A CN 201910971798A CN 112732275 B CN112732275 B CN 112732275B
- Authority
- CN
- China
- Prior art keywords
- operating system
- partition
- boot
- sub
- partitions
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
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
一种列车软件分区与集成方法,包括以下步骤:用于通过仿真器将引导加载程序U‑Boot烧写至闪存中的存储步骤;用于启动所述U‑Boot的启动步骤;用于通过访问网口下载引导程序、根操作系统和其他子操作系统于ROM最前端区域的下载步骤;用于激活引导程序的激活步骤;用于分配CPU资源、独立RAM区域和ROM区域的步骤;用于启动根操作系统的启动步骤;用于启动子操作系统的启动步骤;用于通过访问网口下载组件、配置文件与应用程序于相应ROM区域的下载步骤;用于加载所述通用组件于所述RAM区域运行的启动步骤;用于加载所述应用软件于所述RAM区域运行的启动步骤;用于周期性访问各个分区的运行步骤。
Description
技术领域
本发明涉及列车控制系统领域,特别涉及列车软件分区与集成方法。
背景技术
列车控制系统是列车安全有效行驶的保障,现有的列车控制系统由许多个子系统组成,例如牵引,制动,显示屏,门控等,子系统在物理上隔离,每个子系统都由一套完整的硬件及配套软件完成具体的功能,再通过MVB,以太网,CAN等网络通信实现数据交互。于是目前列车控制系统面临的弊端就是:硬件资源浪费,软件内存虚高,系统之间数据交互不便捷。
因此,为了节约硬件资源,节省内存空间,简化系统间的数据传输,需要一种全新的列车软件分区与集成方法。
发明内容
本发明提出了一种可在单个硬件(单板)上实现多种组合功能的列车软件分区与集成方法,其可以在同一个硬件上,通过集成不同的软件,各个软件可以独立编译和运行,源码彼此不可见,单个软件出现问题不会影响整体,同时各软件之间通过一个通信管道进行通信实现数据交互,实现应用程序快速高效交互,减少原来的网络通信与通信带来的延时抖动。
为解决上述技术问题,本发明采用下述技术方案:
一种列车软件分区与集成方法,其特征在于,包括以下步骤:
用于通过仿真器将引导加载程序U-Boot烧写至闪存中的存储步骤;
用于启动所述U-Boot的启动步骤;
用于通过访问网口下载引导程序、根操作系统和其他子操作系统于ROM最前端区域的下载步骤;
用于激活引导程序的激活步骤;
用于分配CPU资源、独立RAM区域和ROM区域的步骤;
用于启动根操作系统的启动步骤;
用于启动子操作系统的启动步骤;
用于通过访问网口下载通用组件、配置文件与应用程序于相应ROM区域的下载步骤;
用于加载所述通用组件于所述RAM区域运行的启动步骤;
用于加载所述应用程序于所述RAM区域运行的启动步骤;
用于周期性访问各个分区的运行步骤,所述列车软件分区与集成方法将硬件系统划分为软件分区管理层、操作系统层、通用组件层和应用程序层,所述软件分区管理层包含所述引导程序,所述引导程序根据已规划配置,在操作系统层划分一个或多个操作系统分区;所述操作系统层中包含一种或几种子操作系统,每个所述操作系统分区包含一个子操作系统,上电后所述引导程序以轮询的方式周期性访问每个所述子操作系统;所述通用组件层和应用程序层根据所述操作系统分区分成单独的分区,所述分区包括通用组件分区和应用程序分区;所述通用组件分区包括一个或多个所述组件;所述应用程序分区包含一个所述应用程序。
进一步地,所述引导程序为每个所述子操作系统分配一个独立的ROM区域,所述引导程序为每个所述分区分配一个独立的ROM区域用于储存所述分区所需程序和配置文件,所述引导程序为每个组件和应用程序分配一个独立的ROM区域。
进一步地,所述子操作系统通过编译后生成一个独立的操作系统加载程序,所述引导程序在所述操作系统分区里为每个所述操作系统加载程序分配一块独立的RAM区域并引导所述子操作系统运行。
进一步地,所述子操作系统包含一个启动函数,当所述子操作系统运行后所述启动函数自动运行,所述启动函数为相应分区中每个组件生成一个线程并启动所述组件,当所有组件启动完毕之后所述启动函数运行相应分区中的所述应用程序。
进一步地,所述分区各自集成各自所需的组件,不同分区之间能够集成相同的组件,所述子操作系统向所述应用程序层和用户提供系统接口函数,所述组件由用户通过所述系统接口函数编程实现,所述组件在其分区对应的操作系统上编译。
进一步地,所述应用程序通过调用组件的接口函数实现其功能,所述应用程序由用户编程实现。
进一步地,所述软件分区管理层提供管路,所述应用程序分区之间通过所述管路实现数据交互。
本发明通过设计一种列车软件分区和集成方法,通过不同的管理结构,实现了多方面的效果。本发明在同一个硬件系统上进行分区,每个分区独立运行,彼此之间不受影响,不会因为一个分区失效影响其他分区软件系统。每个分区可运行操作系统,可以运行多个通用组件或者使用集成的统一组件,可以运行应用程序。每个形成完整的功能。分区之间可以高速高效通信。
通过上述分区与集成,可以将关键的,安全相关的控制功能集成在一个硬件系统上,减少成本,提高安全性,减少网络通信带来的不确定性以及网络带宽受限的影响,保证列车核心控制功能。
附图说明
本发明的以上技术内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所请求保护的技术方案的示例。在附图中,相同的附图标记代表相同或类似的元素。
图1是本发明一实施例的列车软件分区和集成方法的分层结构图,其中通用组件层根据操作系统划分;
图2是本发明一实施例的列车软件分区和集成方法的分层结构图,其中通用组件层统一,操作系统唯一。
具体实施方式
以下在具体实施方式中叙述本发明的详细特征以及优点,其内容足以使本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书、权利要求及附图,本领域技术人员可轻易地理解本发明相关的目的及优点。
如图1所示的列车软件分区与集成方法的分层结构,其中列车控制系统被划分成软件分区管理层、操作系统层、通用组件层和应用程序层。
所述软件分区管理层包含一段引导程序,所述引导程序根据已规划配置,划分多个操作系统分区。所述通用组件层和应用程序层根据所述操作系统分区分成单独的分区,所述分区包括通用组件分区和应用程序分区。加载程序通过仿真器下载至ROM空间。所述引导程序引导根操作系统和自槽左系统运行。所述引导程序为每个通用组件层的组件和应用程序层的应用程序分配一个独立的ROM空间。所述引导程序为每个分区分配一个独立的ROM空间,用于储存每个分区的配置文件。
操作系统层包括一种或几种操作系统,每个操作系统分区包括一个子操作系统,例如同一个分区管理上可以运行Linux、Vxworks或QNX。子操作系统可以加载各组件和应用程序。所述子操作系统提供接口函数。所述分区集成所需的组件,所述分区之前的组件彼此独立,不同分区之间可以集成相同的组件。所述子操作系统包括一个启动函数。
所述通用组件分区包括一个或多个组件。用户通过所述接口函数编写通用组件层的组件。所述组件需要在其集成分区的子操作系统上进行编译。所述启动函数为其分区内的每个组件生成一个线程并启动。
所述应用程序分区包含一个完整的应用程序。所述应用程序可以调用其分区内的组件的接口函数。所述应用程序由用户自定义编程实现。所述启动函数在系统内组件都启动完毕之后,启动运行其分区内的应用程序。
所述分区之间能通过分区管理层提供的管路实现通信以保证应用程序直线的数据交互。
如图2所示,另公开一件实施例,其中操作系统层同一,所述操作系统层只包含一个操作系统。
列车控制系统上电后由软件分区管理层运行引导程序,所述引导程序根据已规划配置将每个操作系加载到独立的内存空间运行,以轮询的方式周期性访问每个操作系统。每个操作系统运行后,自动运行该操作系统中的启动函数,启动函数里会把每个组件生成一个线程并启动。在所有通用组件层组件启动完毕之后,应用程序由操作系统的启动函数启动运行。
这里基于的术语和表述方式只是用于描述,本发明并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。
同样,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本发明的权利要求书的范围内。
Claims (7)
1.一种列车软件分区与集成方法,其特征在于,包括以下步骤:
用于通过仿真器将引导加载程序U-Boot烧写至闪存中的存储步骤;
用于启动所述U-Boot的启动步骤;
用于通过访问网口下载引导程序、根操作系统和其他子操作系统于ROM最前端区域的下载步骤;
用于激活引导程序的激活步骤;
用于分配CPU资源、独立RAM区域和ROM区域的步骤;
用于启动根操作系统的启动步骤;
用于启动子操作系统的启动步骤;
用于通过访问网口下载通用组件、配置文件与应用程序于相应ROM区域的下载步骤;
用于加载所述通用组件于所述RAM区域运行的启动步骤;
用于加载所述应用程序于所述RAM区域运行的启动步骤;
用于周期性访问各个分区的运行步骤,
所述列车软件分区与集成方法将硬件系统划分为软件分区管理层、操作系统层、通用组件层和应用程序层,
所述软件分区管理层包含所述引导程序,所述引导程序根据已规划配置,在操作系统层划分一个或多个操作系统分区;
所述操作系统层中包含一种或几种子操作系统,每个所述操作系统分区包含一个子操作系统,上电后所述引导程序以轮询的方式周期性访问每个所述子操作系统;
所述通用组件层和应用程序层根据所述操作系统分区分成单独的分区,所述分区包括通用组件分区和应用程序分区;
所述通用组件分区包括一个或多个所述组件;
所述应用程序分区包含一个所述应用程序。
2.根据权利要求1所述的列车软件分区与集成方法,其特征在于,所述引导程序为每个所述子操作系统分配一个独立的ROM区域,所述引导程序为每个所述分区分配一个独立的ROM区域用于储存所述分区所需程序和配置文件,所述引导程序为每个组件和应用程序分配一个独立的ROM区域。
3.根据权利要求1所述的列车软件分区与集成方法,其特征在于,所述子操作系统通过编译后生成一个独立的操作系统加载程序,所述引导程序在所述操作系统分区里为每个所述操作系统加载程序分配一块独立的RAM区域并引导所述子操作系统运行。
4.根据权利要求1所述的列车软件分区与集成方法,其特征在于,所述子操作系统包含一个启动函数,当所述子操作系统运行后所述启动函数自动运行,所述启动函数为相应分区中每个组件生成一个线程并启动所述组件,当所有组件启动完毕之后所述启动函数运行相应分区中的所述应用程序。
5.根据权利要求1所述的列车软件分区与集成方法,其特征在于,所述分区各自集成各自所需的组件,不同分区之间能够集成相同的组件,所述子操作系统向所述应用程序层和用户提供系统接口函数,所述组件由用户通过所述系统接口函数编程实现,所述组件在其分区对应的操作系统上编译。
6.根据权利要求1所述的列车软件分区与集成方法,其特征在于,所述应用程序通过调用组件的接口函数实现其功能,所述应用程序由用户编程实现。
7.根据权利要求1所述的列车软件分区与集成方法,其特征在于,所述软件分区管理层提供管路,所述应用程序分区之间通过所述管路实现数据交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910971798.7A CN112732275B (zh) | 2019-10-14 | 2019-10-14 | 一种列车软件分区与集成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910971798.7A CN112732275B (zh) | 2019-10-14 | 2019-10-14 | 一种列车软件分区与集成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732275A CN112732275A (zh) | 2021-04-30 |
CN112732275B true CN112732275B (zh) | 2022-06-03 |
Family
ID=75588344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910971798.7A Active CN112732275B (zh) | 2019-10-14 | 2019-10-14 | 一种列车软件分区与集成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732275B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024547A (zh) * | 2012-12-28 | 2013-04-03 | 北京赛科世纪数码科技有限公司 | 一种启动控制方法、启动控制装置及数字电视机顶盒 |
CN103577211A (zh) * | 2012-08-08 | 2014-02-12 | 上海赤炫信息科技有限公司 | 一种新的Android ROM系统打包和烧录、更新方式 |
CN107403098A (zh) * | 2017-06-13 | 2017-11-28 | 北京溢思得瑞智能科技研究院有限公司 | 可信工业控制计算机启动阶段的主动安全防护方法及可信工业控制计算机 |
CN109240748A (zh) * | 2017-07-07 | 2019-01-18 | 深圳市中兴微电子技术有限公司 | 应用于嵌入式系统的镜像启动及适配的方法、系统 |
CN109807900A (zh) * | 2019-03-19 | 2019-05-28 | 西北工业大学 | 一种工业机器人组件化控制系统的软件架构 |
-
2019
- 2019-10-14 CN CN201910971798.7A patent/CN112732275B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577211A (zh) * | 2012-08-08 | 2014-02-12 | 上海赤炫信息科技有限公司 | 一种新的Android ROM系统打包和烧录、更新方式 |
CN103024547A (zh) * | 2012-12-28 | 2013-04-03 | 北京赛科世纪数码科技有限公司 | 一种启动控制方法、启动控制装置及数字电视机顶盒 |
CN107403098A (zh) * | 2017-06-13 | 2017-11-28 | 北京溢思得瑞智能科技研究院有限公司 | 可信工业控制计算机启动阶段的主动安全防护方法及可信工业控制计算机 |
CN109240748A (zh) * | 2017-07-07 | 2019-01-18 | 深圳市中兴微电子技术有限公司 | 应用于嵌入式系统的镜像启动及适配的方法、系统 |
CN109807900A (zh) * | 2019-03-19 | 2019-05-28 | 西北工业大学 | 一种工业机器人组件化控制系统的软件架构 |
Non-Patent Citations (1)
Title |
---|
基于Linux的嵌入式车载导航系统的设计;孙永林;《微计算机信息》;20090315(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112732275A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101823505B1 (ko) | 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법 | |
US20060206904A1 (en) | Systems and methods for supporting device access from multiple operating systems | |
US11740921B2 (en) | Coordinated container scheduling for improved resource allocation in virtual computing environment | |
EP2128759B1 (en) | Operating system startup control method and information processing apparatus | |
US20200174669A1 (en) | Management method and apparatus for multi-system shared memory | |
CN112000463B (zh) | 一种基于cuda的gpu资源分配方法、系统、终端及存储介质 | |
CN113296950B (zh) | 处理方法、装置、电子设备及可读存储介质 | |
GB2473136A (en) | Allocating resources to partitions in a data processing system at start up according to a configuration profile | |
ITTO980869A1 (it) | Elaboratore con sistema per predisporre un record di avviamento con partizione modificabile del dispositivo di memoria. | |
CN111857951A (zh) | 容器化部署平台及部署方法 | |
CN113296926B (zh) | 一种资源分配方法、计算设备及存储介质 | |
CN115480931A (zh) | 一种核间通信处理方法、装置及计算机系统 | |
CN115617364A (zh) | Gpu虚拟化部署方法、系统、计算机设备和存储介质 | |
CN112732275B (zh) | 一种列车软件分区与集成方法 | |
CN116249962A (zh) | 用于车载设备应用起动的池管理 | |
CN109478151B (zh) | 网络可访问数据卷修改 | |
CN113391821B (zh) | 一种非对称多处理器嵌入式操作系统 | |
CN113821306A (zh) | 资源隔离方法、装置和终端设备 | |
CN112948336A (zh) | 数据加速方法及缓存单元、电子设备及存储介质 | |
CN112905118A (zh) | 一种集群的存储池创建方法 | |
CN114157569A (zh) | 集群系统及其构建方法和构建装置 | |
Janardhanan et al. | Study of execution parallelism by resource partitioning in Hadoop YARN | |
CN118550595B (zh) | 一种Linux系统组织管理RTOS系统的方法及系统 | |
CN111880891B (zh) | 基于微内核的可扩展虚拟机监控器及嵌入式系统 | |
CN112148431B (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 |