CN113220276A - 一种跨平台的嵌入式软件架构系统 - Google Patents
一种跨平台的嵌入式软件架构系统 Download PDFInfo
- Publication number
- CN113220276A CN113220276A CN202110591546.9A CN202110591546A CN113220276A CN 113220276 A CN113220276 A CN 113220276A CN 202110591546 A CN202110591546 A CN 202110591546A CN 113220276 A CN113220276 A CN 113220276A
- Authority
- CN
- China
- Prior art keywords
- layer
- hardware
- general
- interface
- various
- 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
- 230000006870 function Effects 0.000 claims description 26
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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/36—Software reuse
Abstract
本发明公开了一种跨平台的嵌入式软件架构系统。目前嵌入式领域软件开发效率及质量,以及后期维护还存在诸多问题。本发明的架构系统的架构层次自上而下依次包括终端方案层、中间服务层、通用系统层、通用接口层、核心系统层、设备驱动层、硬件抽象层、硬件驱动层。本发明通过提高代码的复用率、提高软件开发的并行度等手段,在资源有限的情况下,提升软件开发的效率、缩短软件开发的周期、提高软件产品的质量、减少后期维护成本。
Description
技术领域
本发明属于嵌入式软件技术领域,具体涉及一种跨平台的嵌入式软件架构系统。
背景技术
目前,嵌入式产业快速发展,嵌入式软件技术也得到了飞速发展。微处理器从8位到16位、32位甚至64位;从支持单一品种的CPU芯片到支持多种品种的多核心的SOC芯片。核心系统也从简单的前后台系统发展到微型核心系统(如ECOS/UCOS),甚至全功能的核心系统(如Linux、Android、WINCE)。并形成包括嵌入式核心系统、文件系统、网络系统、图形系统、中间件在内的嵌入式软件体系。嵌入式逐渐告别电子技术领域单枪匹马的单片机时代,迈入微电子学科、计算机学科、通信学科、电子技术学科等多学科交叉融合的嵌入式系统时代。
嵌入式软件开发,一般具有以下一些特点:软件规模越来越大;软件开发团队由不同的多个独立团队协助开发;客户需求千变万化;软件开发周期越来越短;终端产品对降低成本的要求越来越高。
因此,在有限的资源下,如何提升软件开发的效率、提高软件产品的质量、减少后期维护成本,成为一个难题。
发明内容
本发明的目的就是针对当前嵌入式软件及硬件的特点,提供一种跨平台的嵌入式软件架构系统。
本发明架构系统的架构层次自上而下依次包括终端方案层、中间服务层、通用系统层、通用接口层、核心系统层、设备驱动层、硬件抽象层、硬件驱动层;其中:
所述的终端方案层,利用中间服务层提供的服务,实现界面逻辑中设计的各种功能;终端方案层仅依赖中间服务层,其他各层对终端方案层透明;
所述的中间服务层,包含服务总线和各种通用服务;通用服务关注各种业务逻辑的实现,直接调用通用系统层提供的各种接口,屏蔽通用系统层各种系统的具体实现方式和实现原理;
所述的通用系统层,根据中间服务层需求调用通用接口层的接口,实现各种系统功能,并屏蔽通用系统层以下所有层的具体实现方式和实现原理;
所述的通用接口层,对外提供统一接口,对核心系统层和设备驱动层进行抽象,屏蔽通用接口层以下所有层的具体实现方式和实现原理;
所述的核心系统层,为各种核心系统的具体实现;
所述的设备驱动层,与操作系统紧密耦合,实现通用硬件设备的管理控制功能,与具体的硬件设备无关;
所述的硬件抽象层,是对硬件功能的抽象,与具体的硬件无关;根据具体终端方案的需求,选择对应的硬件功能;
所述的硬件驱动层,是具体硬件功能的实现,与具体的硬件紧密耦合,当硬件改变时,只需实现该硬件对应的硬件抽象层的功能即可,其余各层不受任何影响。
本发明采用面向对象的思想,对各种通用功能进行抽象,加强功能模块的通用性,进而达到一次开发长期广泛使用的目的,提高了代码的复用率。如当终端应用方案发生变化时,只用进行终端方案层的开发,其他各层保持不变可以延续使用,终端方案的开发的工作量就大大减轻;当底层硬件设备更新换代时,只用更新最底层的硬件驱动层,其他代码都无需改变,硬件设备的更新将变得非常容易。
本发明采用的分层结构,能够极大的降低了软件系统的耦合性,各层只用做到和其他层的良好对接,而不用关心其他层的具体细节;在各层接口设计好之后,各层开发人员可以同时开发,相关层开发完成后,再进行联合调试,提高了软件开发的并行度。本发明通过提高代码的复用率、提高软件开发的并行度等手段,在资源有限的情况下,提升软件开发的效率、缩短软件开发的周期、提高软件产品的质量、减少后期维护成本。
附图说明
图1为本发明的整体架构系统图。
具体实施方式
下面结合附图和实施例对本发明的技术方案做进一步的说明。需要注意,附图仅用于示例说明,不能理解为对本专利的限制。同时,可以以各种形式实现本发明,而不应被这里阐述的实施方式所限制。提供以下实施方式是让本发明更容易被理解,更完整地展示给本领域相关技术人员。
如图1所示,一种跨平台的嵌入式软件架构系统,架构层次自上而下依次包括终端方案层1、中间服务层2、通用系统层3、通用接口层4、核心系统层5、设备驱动层6、硬件抽象层7、硬件驱动层8;图中点画线表示各层分界。其中,最上层(终端方案层)随具体终端方案变化而变化;最下层(硬件驱动层)随底层具体硬件变化而变化;其余各层只会在缺少某种功能支持时进行扩展,而且这种扩展对整个架构以及架构中的原有功能不会造成太大的影响,一定程度上保证了系统具有很好的可扩展性的同时又不失稳定性。在此基础之上,新的硬件、新的应用方案将会在较短的时间内开发完毕,推向市场。
终端方案层1,利用中间服务层2提供的服务,实现界面逻辑中设计的各种功能,如网络电视(IPTV)、机顶盒(STB)、媒体播放器(Media Player)、游戏设备(Game Player)等的各项功能。终端方案层1仅仅依赖中间服务层2,其他各层对终端方案层1透明。
中间服务层2,包含服务总线(Service BUS)和各种通用服务;服务总线负责各种服务的注册、调度、消息分发;通用服务包括播放服务(Play Service)、界面服务(UIService)、条件访问服务(CA Service)、测试服务(Test Service)等,通用服务关注各种业务逻辑的实现,直接调用通用系统层3提供的各种接口,屏蔽通用系统层3各种系统的具体实现方式和实现原理。
通用系统层3,根据中间服务层2需求,调用通用接口层4的接口,实现各种系统功能,包括播放系统(Play System)、界面系统(UI System)、条件访问系统(CA System)、测试系统(Test System)等,屏蔽通用系统层3以下所有层的具体实现方式和实现原理。通用系统层3是各种通用功能的实现:对上满足中间服务层2需求,对下调用通用接口层4的接口实现具体的功能。
通用接口层4,对外提供统一接口,包括操作系统接口(OSAPI)、文件系统接口(FSAPI)、网络系统接口(NETAPI)、硬件设备接口(HW Device API)等,通用接口层4对核心系统层5和设备驱动层6进行抽象,屏蔽通用接口层4以下所有层的具体实现方式和实现原理。
核心系统层5,是各种核心系统的具体实现,包含操作系统(OS)、文件系统(FS)、网络系统(NET)等,操作系统可以是Linux、Ecos等,文件系统可以是FAT、NTFS等,网络系统可以是TCP/IP等。
设备驱动层6,包含一个通用的设备驱动(Device Driver)、一套内核态操作系统接口的抽象及实现(Kernel API)、通用设备管理接口(Device Mgr)、通用设备控制接口(Device Control)等,设备驱动层6与操作系统紧密耦合,实现通用硬件设备的管理控制功能,与具体的硬件设备无关。
硬件抽象层7,包含Framebuffer抽象层(FB-HAL)、编解码抽象层(CODEC-HAL)、图形处理单元抽象层(GPU-HAL)、解复用抽象层(Demux-HAL)等,是对硬件功能的抽象,与具体的硬件无关;根据具体终端方案的需求,选择对应的硬件功能。
硬件驱动层8,包含Framebuffer驱动(FB-Driver)、编解码驱动(CODEC-Driver)、图形处理单元驱动(GPU-Driver)、解复用驱动(Demux-Driver)等,是具体硬件功能的实现,与具体的硬件紧密耦合,当硬件改变时,只需实现该硬件对应的硬件抽象层的功能即可,其余各层不受任何影响。
Claims (1)
1.一种跨平台的嵌入式软件架构系统,其特征在于,架构层次自上而下依次包括终端方案层、中间服务层、通用系统层、通用接口层、核心系统层、设备驱动层、硬件抽象层、硬件驱动层;其中:
所述的终端方案层,利用中间服务层提供的服务,实现界面逻辑中设计的各种功能;终端方案层仅依赖中间服务层,其他各层对终端方案层透明;
所述的中间服务层,包含服务总线和各种通用服务;通用服务关注各种业务逻辑的实现,直接调用通用系统层提供的各种接口,屏蔽通用系统层各种系统的具体实现方式和实现原理;
所述的通用系统层,根据中间服务层需求调用通用接口层的接口,实现各种系统功能,并屏蔽通用系统层以下所有层的具体实现方式和实现原理;
所述的通用接口层,对外提供统一接口,对核心系统层和设备驱动层进行抽象,屏蔽通用接口层以下所有层的具体实现方式和实现原理;
所述的核心系统层,为各种核心系统的具体实现;
所述的设备驱动层,与操作系统紧密耦合,实现通用硬件设备的管理控制功能,与具体的硬件设备无关;
所述的硬件抽象层,是对硬件功能的抽象,与具体的硬件无关;根据具体终端方案的需求,选择对应的硬件功能;
所述的硬件驱动层,是具体硬件功能的实现,与具体的硬件紧密耦合,当硬件改变时,只需实现该硬件对应的硬件抽象层的功能即可,其余各层不受任何影响。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110591546.9A CN113220276A (zh) | 2021-05-28 | 2021-05-28 | 一种跨平台的嵌入式软件架构系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110591546.9A CN113220276A (zh) | 2021-05-28 | 2021-05-28 | 一种跨平台的嵌入式软件架构系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113220276A true CN113220276A (zh) | 2021-08-06 |
Family
ID=77099154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110591546.9A Pending CN113220276A (zh) | 2021-05-28 | 2021-05-28 | 一种跨平台的嵌入式软件架构系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220276A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002189A (zh) * | 2022-04-21 | 2022-09-02 | 上海蓝箭鸿擎科技有限公司 | 一种面向航天器的高分离度分布式系统软件架构 |
CN117519783A (zh) * | 2024-01-08 | 2024-02-06 | 利尔达科技集团股份有限公司 | 一种产品开发包与操作系统和硬件分离的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050002170A (ko) * | 2003-06-30 | 2005-01-07 | 주식회사 대우일렉트로닉스 | 디지털 텔레비젼의 임베디드 오에스 소프트웨어 통합 시스템 |
US20060090000A1 (en) * | 2004-10-25 | 2006-04-27 | Hanrahan Michael J | Method of improving communications data throughput on embedded systems and reducing the load on the operating system and central processing unit |
CN102200913A (zh) * | 2011-06-20 | 2011-09-28 | 奇瑞汽车股份有限公司 | 一种基于模型的自动变速箱软件开发平台的分层设计方法 |
CN103944259A (zh) * | 2014-02-24 | 2014-07-23 | 北京科东电力控制系统有限责任公司 | 一种用于配电终端的控制系统 |
US20160350096A1 (en) * | 2015-05-26 | 2016-12-01 | eConais, Inc. | Systems and methods for providing interoperable applications to embedded electronic devices |
CN112667216A (zh) * | 2021-02-10 | 2021-04-16 | 开放智能机器(上海)有限公司 | 一种边缘计算终端软件框架及其运行方法 |
-
2021
- 2021-05-28 CN CN202110591546.9A patent/CN113220276A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050002170A (ko) * | 2003-06-30 | 2005-01-07 | 주식회사 대우일렉트로닉스 | 디지털 텔레비젼의 임베디드 오에스 소프트웨어 통합 시스템 |
US20060090000A1 (en) * | 2004-10-25 | 2006-04-27 | Hanrahan Michael J | Method of improving communications data throughput on embedded systems and reducing the load on the operating system and central processing unit |
CN102200913A (zh) * | 2011-06-20 | 2011-09-28 | 奇瑞汽车股份有限公司 | 一种基于模型的自动变速箱软件开发平台的分层设计方法 |
CN103944259A (zh) * | 2014-02-24 | 2014-07-23 | 北京科东电力控制系统有限责任公司 | 一种用于配电终端的控制系统 |
US20160350096A1 (en) * | 2015-05-26 | 2016-12-01 | eConais, Inc. | Systems and methods for providing interoperable applications to embedded electronic devices |
CN112667216A (zh) * | 2021-02-10 | 2021-04-16 | 开放智能机器(上海)有限公司 | 一种边缘计算终端软件框架及其运行方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002189A (zh) * | 2022-04-21 | 2022-09-02 | 上海蓝箭鸿擎科技有限公司 | 一种面向航天器的高分离度分布式系统软件架构 |
CN117519783A (zh) * | 2024-01-08 | 2024-02-06 | 利尔达科技集团股份有限公司 | 一种产品开发包与操作系统和硬件分离的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113220276A (zh) | 一种跨平台的嵌入式软件架构系统 | |
US9854296B2 (en) | Distributed system architecture for control of a set top box | |
US5822585A (en) | System and method for cooperative processing using object-oriented framework | |
CN101216838B (zh) | 基于web标记的xml界面配置文件分发系统及方法 | |
CN105487882A (zh) | 应用软件试用系统、方法及其服务器与使用者装置 | |
US20040107421A1 (en) | Methods and systems for cooperative scheduling of hardware resource elements | |
JP2003535383A (ja) | レガシーデータストラクチャ用オブジェクト特性メタモデルエミュレータ | |
US20170161057A1 (en) | Plug-in-based artifact-management subsystem | |
US20170163732A1 (en) | Inter-task communication within application-release-management pipelines | |
CN103970545A (zh) | 采用JNI调用方式在Android系统中使用LTE Modem的方法 | |
CN205103599U (zh) | 一种跨境贸易bpo应用云终端装置 | |
CN109522128A (zh) | 分段式多线程任务执行方法及装置 | |
JP2001344127A (ja) | システム開発方法、記憶媒体、情報処理装置、情報端末装置、情報処理システム及び情報処理方法 | |
CN111966508A (zh) | 一种消息的批量发送方法、装置、计算机设备和存储介质 | |
CN112130888A (zh) | 应用程序更新的方法、装置、设备和计算机存储介质 | |
KR101190597B1 (ko) | 로봇 소프트웨어 컴포넌트를 위한 메소드 포트 장치 및 구성 방법 | |
WO2023138001A1 (zh) | 一种新型界面换肤系统及其方法 | |
CN102694865A (zh) | 一种Web Service服务端及其大批量数据传输方法 | |
CN109816546A (zh) | 一种基于j2ee架构的农场农事管理平台及方法 | |
CN105468448A (zh) | 一种面向异构众核环境的从核系统调用实现方法 | |
CN112527535B (zh) | 一种基于原生WebView扩展应用的互动方法及终端 | |
US20120072201A1 (en) | Language translation reuse in different systems | |
CN102567070A (zh) | 手机软件调试方法及其模拟器 | |
Kumar | Web Services and IT Management: Web services aren’t just for application integration anymore. | |
Klingauf et al. | Embedded software development on top of transaction-level models |
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: 20210806 |
|
RJ01 | Rejection of invention patent application after publication |