CN115617407A - 一种嵌入式操作系统的硬件驱动方法 - Google Patents
一种嵌入式操作系统的硬件驱动方法 Download PDFInfo
- Publication number
- CN115617407A CN115617407A CN202211282160.0A CN202211282160A CN115617407A CN 115617407 A CN115617407 A CN 115617407A CN 202211282160 A CN202211282160 A CN 202211282160A CN 115617407 A CN115617407 A CN 115617407A
- Authority
- CN
- China
- Prior art keywords
- interface
- operating system
- function
- driving
- middleware
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种嵌入式操作系统的硬件驱动方法,属于机载雷达信息处理的技术领域,具体包括如下步骤:在操作系统上添加驱动中间件;驱动中间件根据操作系统的类型,封装操作系统的控制硬件接口为通用的驱动函数;用户软件访问控制硬件接口时,调用驱动中间件提供的通用的驱动函数。通过本申请的处理方案,满足嵌入式系统软硬件接口适配通用,简便,成熟的需求。
Description
技术领域
本申请涉及机载雷达信息处理的领域,尤其是涉及一种嵌入式操作系统的硬件驱动方法。
背景技术
嵌入式操作系统在机载雷达数据与信息处理领域有着广泛的应用,如风河公司vxWorks,OSE操作系统,国内的天脉、翼辉、锐华、麒麟等操作系统等,为了软硬件适配,针对不同的操作系统往往需要开发一套新的接口程序以驱动硬件的运行,为项目开发和用户程序的适配带来了诸多不便,也导致项目开发时间和人力物力成本大大增加。
目前雷达数据处理与信号处理所应用的硬件接口如RS422,RS485,1553B,ARINC429,SRIO,PCIE,GPIO以及视频等已经过反复验证,其使用方法与驱动程序成熟,但由于操作系统的改变或国产化需求等需要重新适配开发,更改已经固化的驱动程序。存在驱动与操作系统适配改动工作量大,接口调试困难等问题。
发明内容
有鉴于此,本申请提供一种嵌入式操作系统的硬件驱动方法,解决了现有技术中的问题,满足嵌入式系统软硬件接口适配通用,简便,成熟的需求。
本申请提供的一种嵌入式操作系统的硬件驱动方法采用如下的技术方案:
一种嵌入式操作系统的硬件驱动方法,包括如下步骤:
在操作系统上添加驱动中间件;
驱动中间件根据操作系统的类型,封装操作系统的控制硬件接口为通用的驱动函数;
用户软件访问控制硬件接口时,调用驱动中间件提供的通用的驱动函数。
可选的,驱动中间件包括设备结构体定义和全局变量定义,用于驱动函数的处理和适配,用于用户程序的引用。
可选的,结构体定义,将不同操作系统同类接口属性进行统一定义;
全局变量定义,选择不同操作系统和系统接口。
可选的,用户软件初始化时,运行通用的驱动函数,中间件将操作系统接口自身的驱动函数链接至结构体定义的接口属性中,为驱动函数相关的参数赋值,初始化完成后,将完成赋值的结构体返回给用户软件。
可选的,驱动函数包括初始化函数、挂接中断处理函数、接口数据发送、接口数据接收函数以及接口监控和打印函数。
可选的,接口属性包括时钟资源、任务调度方式、互斥锁、自旋锁、多核间通信方式。
可选的,驱动中间件的运行分为初始化、中断处理、数据收发和驱动监控四个阶段,初始化阶段将接口参数、控制寄存器等配置完成,接口处于准备好状态,中断处理提供用户注册函数,保证接口产生中断时用于可以感知和处理,数据收发阶段用户可调用接口数据发送和接收函数用于系统通信,驱动监控阶段,系统将持续监控驱动的运行状况,记录存储驱动的信息。
综上所述,本申请包括以下有益技术效果:
本申请能够有效提升嵌入式系统驱动开发效率,形成标准化、通用化、系列化的驱动接口,减少用户软件开发周期,提高操作系统适配效率,为软件化雷达开发提供驱动层的支持和适配,为嵌入式系统产品三化建设与推进提供有力支撑。
本申请可以应用于嵌入式系统的硬件接口适配,应用于软件化雷达的开发,应用于各种嵌入式处理平台的三化建设。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请嵌入式操作系统的驱动中间件设计的组成框图;
图2是本申请嵌入式操作系统的驱动中间件设计的详细说明;
图3是本申请嵌入式操作系统的驱动中间件设计的调用流程。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本申请,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本申请实施例提供一种嵌入式操作系统的硬件驱动方法。
如图1和图2所示,一种嵌入式操作系统的硬件驱动方法,包括如下步骤:
在操作系统上添加驱动中间件;
驱动中间件根据操作系统的类型,封装操作系统的控制硬件接口为通用的驱动函数;
用户软件访问控制硬件接口时,调用驱动中间件提供的通用的驱动函数。
驱动中间件包括设备结构体定义和全局变量定义,用于驱动函数的处理和适配,用于用户程序的引用。
结构体定义,将不同操作系统同类接口属性进行统一定义;全局变量定义,选择不同操作系统和系统接口。
用户软件初始化时,运行通用的驱动函数,中间件将操作系统接口自身的驱动函数链接至结构体定义的接口属性中,为驱动函数相关的参数赋值,初始化完成后,将完成赋值的结构体返回给用户软件。
驱动中间件提供统一的接口驱动函数DrvDevOpen()初始化函数,DrvIntRegister()挂接中断处理函数,DrvDataSend()接口数据接受函数,DrvDataRec()接口数据发送函数,DrvDevShow()接口监控和打印函数。
接口属性包括时钟资源、任务调度方式、互斥锁、自旋锁、多核间通信方式。驱动中间件根据操作系统的不同选择所需要的不同的系统资源如时钟资源、任务调度方式、互斥锁、自旋锁、多核间通信方式等。
驱动中间件的运行分为初始化、中断处理、数据收发和驱动监控四个阶段,初始化阶段将接口参数、控制寄存器等配置完成,接口处于准备好状态,中断处理提供用户注册函数,保证接口产生中断时用于可以感知和处理,数据收发阶段用户可调用接口数据发送和接收函数用于系统通信,驱动监控阶段,系统将持续监控驱动的运行状况,记录存储驱动的信息。统一的驱动接口处理流程将接口驱动的运行分为初始化、中断处理、数据收发和驱动监控四个阶段,初始化阶段将接口参数、控制寄存器等配置完成,接口处于准备好状态,中断处理提供用户注册函数,保证接口产生中断时用于可以感知和处理,数据收发阶段用户可调用接口数据发送和接收函数用于系统通信,驱动监控阶段,系统将持续监控驱动的运行状况,记录存储驱动的信息。
本申请由通用用户程序CBB,不同的操作系统,驱动中间件和不同的嵌入式硬件系统组成,其中硬件系统主要对应于嵌入式通信接口与核心处理器,用户程序CBB对应于硬件接口的初始化,发送,接收,监控和中断处理,驱动通信中间件负责不同操作系统与用户程序CBB的适配。
通用用户程序CBB包括UART(RS422,RS485,RS232),GPIO,SRIO,PCIE,1553B,ARINC429,TIMER,COUNTER等雷达信息处理系统常用接口的初始化、数据发送、数据接收、中断处理函数。
操作系统为嵌入式领域常用的实时操作系统,包括vxWorks、天脉、锐华、翼辉、OSE、sysbios等。
不同的嵌入式硬件系统包括基于PowerPC系列核心处理器、基于C6678系列核心处理器、基于飞腾系列核心处理器和基于M6678系列核心处理器的嵌入式处理架构。
不同的嵌入书硬件系统包括UART(RS422,RS485,RS232),GPIO,SRIO,PCIE,1553B,ARINC429对外通信接口。
驱动中间件包括统一的结构体、数组和变量定义,统一的函数封装,统一的驱动接口处理流程和不同的操作系统对接函数。统一的结构体、数组和变量定义,统一的函数封装用于用户程序引用。
不同的操作系统对接函数用于适配不同的嵌入式操作系统。
驱动中间件对用户软件提供驱动接口,对嵌入式操作系统进行统一的封装适配。用户软件访问通用接口驱动程序进行硬件接口的访问和控制,主要包括UART、GPIO、SRIO、PCIE、1553B、ARINC429、TIMER、COUNTER等,用户软件与驱动中间件交联,无需识别操作系统。
参考图3,一种嵌入式操作系统的驱动中间件设计的调用流程:
用户软件访问和控制硬件接口时,调用中间件提供的统一封装的驱动函数。
中间件收到用户软件的访问需求时,先判断操作系统类型,根据操作系统类型选择驱动中需要访问的操作系统接口,如任务处理调度接口,时钟接口,寄存器资源等。
中间件获取到操作系统的资源后,根据用户使用需求,控制硬件接口进行接口芯片或逻辑IP等的控制和数据的发送接收访问。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种嵌入式操作系统的硬件驱动方法,其特征在于,包括如下步骤:
在操作系统上添加驱动中间件;
驱动中间件根据操作系统的类型,封装操作系统的控制硬件接口为通用的驱动函数;
用户软件访问控制硬件接口时,调用驱动中间件提供的通用的驱动函数。
2.根据权利要求1所述的嵌入式操作系统的硬件驱动方法,其特征在于,驱动中间件包括设备结构体定义和全局变量定义,用于驱动函数的处理和适配,用于用户程序的引用。
3.根据权利要求1所述的嵌入式操作系统的硬件驱动方法,其特征在于,结构体定义,将不同操作系统同类接口属性进行统一定义;
全局变量定义,选择不同操作系统和系统接口。
4.根据权利要求3所述的嵌入式操作系统的硬件驱动方法,其特征在于,用户软件初始化时,运行通用的驱动函数,中间件将操作系统接口自身的驱动函数链接至结构体定义的接口属性中,为驱动函数相关的参数赋值,初始化完成后,将完成赋值的结构体返回给用户软件。
5.根据权利要求1所述的嵌入式操作系统的硬件驱动方法,其特征在于,驱动函数包括初始化函数、挂接中断处理函数、接口数据发送、接口数据接收函数以及接口监控和打印函数。
6.根据权利要求4所述的嵌入式操作系统的硬件驱动方法,其特征在于,接口属性包括时钟资源、任务调度方式、互斥锁、自旋锁、多核间通信方式。
7.根据权利要求1所述的嵌入式操作系统的硬件驱动方法,其特征在于,驱动中间件的运行分为初始化、中断处理、数据收发和驱动监控四个阶段,初始化阶段将接口参数、控制寄存器等配置完成,接口处于准备好状态,中断处理提供用户注册函数,保证接口产生中断时用于可以感知和处理,数据收发阶段用户可调用接口数据发送和接收函数用于系统通信,驱动监控阶段,系统将持续监控驱动的运行状况,记录存储驱动的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211282160.0A CN115617407A (zh) | 2022-10-19 | 2022-10-19 | 一种嵌入式操作系统的硬件驱动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211282160.0A CN115617407A (zh) | 2022-10-19 | 2022-10-19 | 一种嵌入式操作系统的硬件驱动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115617407A true CN115617407A (zh) | 2023-01-17 |
Family
ID=84864134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211282160.0A Pending CN115617407A (zh) | 2022-10-19 | 2022-10-19 | 一种嵌入式操作系统的硬件驱动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115617407A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116643941A (zh) * | 2023-05-06 | 2023-08-25 | 深圳市赛凌伟业科技有限公司 | 一种嵌入式软件实时运行状态监控方法 |
-
2022
- 2022-10-19 CN CN202211282160.0A patent/CN115617407A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116643941A (zh) * | 2023-05-06 | 2023-08-25 | 深圳市赛凌伟业科技有限公司 | 一种嵌入式软件实时运行状态监控方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5706514A (en) | Distributed execution of mode mismatched commands in multiprocessor computer systems | |
US6732138B1 (en) | Method and system for accessing system resources of a data processing system utilizing a kernel-only thread within a user process | |
US20190361708A1 (en) | Embedded scheduling of hardware resources for hardware acceleration | |
CN112068970B (zh) | 基于异构多核处理器的rpc实现方法及介质 | |
CN103377157B (zh) | 一种用于嵌入式数控系统的双核数据通信方法 | |
CN116243995B (zh) | 通信方法、装置、计算机可读存储介质以及电子设备 | |
CN116541227B (zh) | 故障诊断方法、装置、存储介质、电子装置及bmc芯片 | |
WO2005038652A1 (en) | Optimization of smi handling and initialization | |
US6694401B2 (en) | Method and apparatus for executing real-mode interrupts from within extended SMRAM handler | |
CN115617407A (zh) | 一种嵌入式操作系统的硬件驱动方法 | |
US7418714B2 (en) | Employing three parameter buffer access in connection with SMBus notifications | |
Bertolotti et al. | Modular design of an open-source, networked embedded system | |
CN115176229A (zh) | 一种多核处理器、多核处理器处理方法及相关设备 | |
CN111596962A (zh) | 一种基于高速协议通道的实时微内核系统及其初始化方法 | |
CN109165086A (zh) | 任务执行方法及单片机 | |
CN101246421A (zh) | 一种基于工作流引擎实现的通用框架 | |
CN111506395B (zh) | 一种混合仿真的全数字虚拟运行环境的实现方法及装置 | |
CN114519068A (zh) | 基于中断驱动模型的嵌入式软件控制行为验证平台及方法 | |
US7043565B1 (en) | System and method for transferring data over an external transmission medium | |
Lübbers et al. | Communication and Synchronization in Multithreaded Reconfigurable Computing Systems. | |
CN117149471B (zh) | 通信方法、装置、嵌入式系统、存储介质以及电子设备 | |
Cui et al. | Design and Implementation of a Cloud-Based Software Platform for Dynamically Reconfigurable Wearable Computers | |
CN111404710B (zh) | 一种资源管理方法、装置及设备 | |
CN114610674A (zh) | 一种面向多形态异构计算单元的可编排实时流处理装置 | |
CN117762382A (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 |