一种轻量级设备控制方法技术

技术编号:20796719 阅读:33 留言:0更新日期:2019-04-06 10:21
本发明专利技术属于计算机系统软件专业技术领域,涉及一种轻量级设备控制方法,该方法用于解决轻量级操作系统在硬件资源极其受限(提供KB量级存储空间资源)的条件下,如何有效进行设备管理的问题。一种轻量级设备控制方法包括五个步骤:第1步.设备对象设计方法;第2步.设备只读配置数据集合设计方法;第3步.设备驱动API操作接口设计方法;第4步.设备初始化级别和优先级设计方法;第5步.轻量级设备管理过程设计方法。实施本发明专利技术所述的方法后,可解决硬件资源受限平台上设备管理问题,为轻量级操作系统设计出一种创新的、区别于传统标准设备管理的方法。

A Lightweight Equipment Control Method

The invention belongs to the technical field of computer system software, and relates to a lightweight device control method, which is used to solve the problem of how to effectively manage the equipment of a lightweight operating system under the condition of extremely limited hardware resources (providing KB storage space resources). A lightweight device control method consists of five steps: the first step is device object design method; the second step is device read-only configuration data integration design method; the third step is device driver API operation interface design method; the fourth step is device initialization level and priority design method; and the fifth step is lightweight device management process design method. After implementing the method described in the present invention, the problem of equipment management on the platform with limited hardware resources can be solved, and an innovative method different from traditional standard equipment management is designed for the lightweight operating system.

【技术实现步骤摘要】
一种轻量级设备控制方法
本专利技术属于计算机系统软件
,具体涉及一种轻量级设备控制方法。
技术介绍
在典型通用操作系统(例如,风河公司VxWorks7.0、VxWorks6.8)中,为了屏蔽硬件设备具体驱动程序的接口差异,实现接口的标准化,需要提供设备抽象层,建立文件描述符表、设备表和驱动表三级结构,把设备抽象为文件来实现,向用户应用程序提供统一的标准操作接口,包括创建、删除、打开、关闭、读取、写入、IO控制,通过查找文件描述符表、设备表和驱动表之间的对应关系,调用具体设备的驱动程序,完成对设备的访问。但是,轻量级操作系统(例如,绿山公司μ-velOSity、风河公司Rocket)运行于硬件资源受限平台上(通用提供的存储空间资源为KB级别),不适宜为设备管理操作设计抽象层,上述典型通用操作系统提供的传统设备管理方法将不再适用于此轻量级的应用场景。为此,提出一种创新的轻量级设备控制方法。
技术实现思路
本专利技术的目的:为了能对轻量级操作系统运行的硬件资源受限平台上外围设备进行有效的控制和管理,特提出本专利技术。本专利技术的技术方案:一种轻量级设备控制方法,其特征在于,轻量级操作系统的链接脚本把设备对象放在内存中,其排序的原则是设备对象被初始化的先后顺序,即在链接脚本中为设备添加设备初始化级别段,在系统配置设备功耗管理能力的条件下,在链接脚本中的设备初始化级别段后面添加一个设备忙状态管理段。所有的设备对象通过轻量级操作系统内核自动进行初始化,设备对象根据其初始化先后顺序进行排列,即通过初始化级别进行排序,同一个初始化级别内根据优先级进行排序;待所有设备都完成初始化操作后,设备驱动的其他设备驱动API操作接口可正常使用,完成设备控制。所述的设备对象包括:设备只读配置数据集合,为只读数据,在编译时确定;设备驱动设备驱动API操作接口,为只读数据,在编译时确定;每个驱动程序实例运行时维护的数据,为运行时可变数据。所述设备只读配置数据集合包括:设备名、设备驱动初始化接口、在配置设备功耗管理能力的条件下的设备驱动功耗控制接口、驱动实例配置数据地址;所述设备驱动API操作接口包括:a.创建设备对象接口。b.获取全局设备对象扩展名的接口。c.通过设备名获取一个设备对象指针的接口。d.声明一个静态设备对象的接口。e.指示设备忙状态的接口。f.清除设备忙状态的接口。g.根据驱动名查找设备对象指针的接口。h.在指定级别,执行所有设备初始化的接口。在轻量级操作系统配置设备功耗管理能力的条件下,提供以下设备操作接口:i.设置设备功耗状态的接口。j.获取设备功耗状态的接口。k.获取设备列表和设备数量的接口。l.检查所有设备忙状态的接口。m.检查单个设备忙状态的接口。所述设备初始化级别和优先级具体实现方法为:初始化级别分为四级,包括:PRE_K_1:用于没有任何依赖的设备,这类设备在配置期间不需要使用任何内核服务,但是中断子系统会被配置,可以设置中断,在该级别上的初始化函数运行在中断栈上;PRE_K_2:用于依赖于已被初始化的PRE_K_1级别的设备,这些设备在配置期间不使用任何内核服务,在该级别上的初始化函数运行在中断栈上;POST_K:用于在配置期间需要依赖于内核服务的设备,在该级别上的初始化函数运行在内核栈的上下文中;APP:用于需要自动配置的应用程序组件,这些设备在配置期间可以使用所有的内核服务,在该级别上的初始化函数运行在内核栈的上下文中;对每一个初始化级别,指定一个相应的优先级,用于区分相同初始化级别的其它设备,优先级是0到99之间的整数值,优先级越低表示越早被初始化,反之,优先级越高表示越晚被初始化。所述设备驱动功耗控制接口包含3个参数,分别为待控制的目标设备对象;控制命令,包括设置设备的功耗状态、获取设备的功耗状态;设备功耗上下文,包括活跃状态、挂起状态、低功耗状态、关闭状态。本专利技术具有的优点效果:实施本专利技术所述的方法后,可解决硬件资源受限平台上设备管理问题,为轻量级操作系统设计出一种创新的、区别于传统标准设备管理的方法。附图说明图1设备对象定义图2设备只读配置数据集合定义图3设备对象的初始化顺序具体实施方式以STM32F407硬件平台上的串口设备为例,来阐述本专利技术中所述的轻量级设备控制方法的具体实施方式,可以参考附图1至图3。本专利技术设计的轻量级设备控制方法分为以下五个主要步骤来完成:第1步.设备对象设计方法STM32F407硬件平台上具体串口设备对象数据结构设计如下:串口设备只读配置数据集合:在第2步说明。串口设备驱动设备驱动API操作接口:包括轮询输入接口、轮询输出接口、中断驱动FIFO填充接口、中断驱动FIFO读出接口、中断驱动发送使能接口、中断驱动发送禁止接口、中断驱动发送就绪接口、中断驱动发送完成接口、中断驱动接收使能接口、中断驱动接收禁止接口、中断驱动接收就绪接口、中断驱动错误使能接口、中断驱动错误禁止接口、中断驱动挂起状态接口、中断驱动中断更新接口、设置回调函数。串口设备驱动运行时维护的数据:包括串口句柄结构定义(例如,串口寄存器基地址、波特率、发送缓冲、接收缓冲、锁对象、串口状态、错误码等)、时钟设备、串口中断用户挂接的回调函数(串口设备配置为中断方式)。第2步.设备只读配置数据集合设计方法串口设备只读配置数据集合:包括串口设备配置信息(例如,端口号、内存映射基地址、寄存器地址、系统时钟频率、每个串口配置IRQ等)、时钟子系统。第3步.设备驱动API操作接口设计方法STM32F407硬件平台上串口设备不具备功耗管理能力,因此,只提供基本操作接口(例如,串口初始化接口),不提供功耗管理接口。第4步.设备初始化级别和优先级设计方法给串口设备确定初始化级别PRE_K_1,并配置串口设备的初始化优先级。第5步.轻量级设备管理过程设计方法STM32F407硬件平台的板级开发人员在开发串口设备驱动程序时,首先需要创建STM32F407平台串口设备对象,板级开发人员需要确定串口设备名称、配置串口驱动实例名称、串口设备对象初始化接口、串口设备配置数据、串口驱动实例配置数据、串口设备初始化级别(PRE_K_1)、配置的串口设备的初始化优先级、串口设备驱动的API接口集合。STM32F407硬件平台的串口设备不具备相应的功耗控制能力,因此,在创建串口设备对象不需要定义功耗控制接口。串口设备对象属于PRE_K_1级别的设备,轻量级操作系统内核在初始化过程中,在内核数据结构初始化之后、PRE_K_2级别的设备初始化之前对串口设备对象进行初始化,待完成其初始化操作后,串口设备对象的其他驱动API接口便可正常工作。即可实现专利技术所达到的效果。本文档来自技高网...

【技术保护点】
1.一种轻量级设备控制方法,其特征在于,轻量级操作系统的链接脚本把设备对象放在内存中,其排序的原则是设备对象被初始化的先后顺序,即在链接脚本中为设备添加设备初始化级别段,在系统配置设备功耗管理能力的条件下,在链接脚本中的设备初始化级别段后面添加一个设备忙状态管理段;所有的设备对象通过轻量级操作系统内核自动进行初始化,设备对象根据其初始化先后顺序进行排列,即通过初始化级别进行排序,同一个初始化级别内根据优先级进行排序;待所有设备都完成初始化操作后,设备驱动的其他设备驱动API操作接口可正常使用,完成设备控制。

【技术特征摘要】
1.一种轻量级设备控制方法,其特征在于,轻量级操作系统的链接脚本把设备对象放在内存中,其排序的原则是设备对象被初始化的先后顺序,即在链接脚本中为设备添加设备初始化级别段,在系统配置设备功耗管理能力的条件下,在链接脚本中的设备初始化级别段后面添加一个设备忙状态管理段;所有的设备对象通过轻量级操作系统内核自动进行初始化,设备对象根据其初始化先后顺序进行排列,即通过初始化级别进行排序,同一个初始化级别内根据优先级进行排序;待所有设备都完成初始化操作后,设备驱动的其他设备驱动API操作接口可正常使用,完成设备控制。2.根据权利要求1的一种轻量级设备控制方法,其特征在于,所述的设备对象包括:设备只读配置数据集合,为只读数据,在编译时确定;设备驱动设备驱动API操作接口,为只读数据,在编译时确定;每个驱动程序实例运行时维护的数据,为运行时可变数据。3.根据权利要求2的一种轻量级设备控制方法,其特征在于,所述设备只读配置数据集合包括:设备名、设备驱动初始化接口、在配置设备功耗管理能力的条件下的设备驱动功耗控制接口、驱动实例配置数据地址。4.根据权利要求2的一种轻量级设备控制方法,其特征在于,所述设备驱动API操作接口包括:a.创建设备对象接口。b.获取全局设备对象扩展名的接口。c.通过设备名获取一个设备对象指针的接口。d.声明一个静态设备对象的接口。e.指示设备忙状态的接口。f.清除设备忙状态的接口。g.根据驱动名查找设备对象指针的接口。h.在指定级别,执行所有设备初始化的...

【专利技术属性】
技术研发人员:郝继锋李运喜徐晓光虞保忠黄保垒杨珂瑶
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1