基于Linux系统的低速总线多从设备管理方法、系统与车辆与流程

摘要: 本发明涉及智能设备,具体涉及基于linux系统的低速总线多从设备管理方法、系统与车辆。背景技术:1、随着智能设备与物联网技术的迅猛发展,linux系统凭借其开源...
基于Linux系统的低速总线多从设备管理方法、系统与车辆与流程

本发明涉及智能设备,具体涉及基于linux系统的低速总线多从设备管理方法、系统与车辆。

背景技术:

1、随着智能设备与物联网技术的迅猛发展,linux系统凭借其开源、可裁剪、高稳定性及良好的硬件兼容性等显著优势,在嵌入式系统、服务器、边缘计算及消费电子等多个关键领域得到广泛应用。字符设备作为linux系统中三类设备里涵盖类型最广的一类,因其数据吞吐量较小且具备实时性特点,被广泛应用于设备间的信息交互。

2、现有设备驱动管理方案适用于单一框架,对于多种低速总线上的各类外设,如温度传感器、实时时钟、湿度传感器等跨总线设备,缺乏通用性。在外设代码编写过程中存在框架内容重复实现的问题,导致代码冗余。

技术实现思路

1、鉴于上述现有技术的不足,本技术的目的在于提供一种基于linux系统的低速总线多从设备管理方法、系统与车辆,整体框架轻量且具有低代码冗余,能够广泛应用于具备硬件级设备寻址能力的低速总线外设。

2、为了实现上述目的,本发明采用的技术方案如下:

3、第一方面,本技术实施例提供一种基于linux系统的低速总线多从设备管理方法,该方法包括:通过设备树节点确定在线的基底设备,并基于基底设备对应的总线类型,注册每个基底设备的基底设备驱动;当使用设备驱动加载时,将使用设备的设备描述信息写入公共静态数组;当基底设备驱动的探测函数被调用时,遍历各个使用设备的设备树节点,基于公共静态数组中的设备描述信息判断使用设备是否在线,当判断使用设备在线时,按照设备描述信息注册基底设备驱动的设备功能接口;响应于目标使用设备的调用指令,通过公共静态数组读取目标使用设备的设备描述信息并执行相应的功能操作。

4、根据上述技术手段,通过设备树识别基底设备并按总线类型分别注册基底驱动,为多种低速总线构建统一管理框架;在使用设备驱动加载时将设备描述信息集中写入公共静态数组,实现多从设备信息的统一纳管;在基底驱动探测阶段遍历设备树节点注册功能接口,使硬件拓扑识别与驱动功能挂载相互解耦,实现统一调度并执行功能操作。由此具有框架轻量且降低代码冗余,多外设通用性强的优点。

5、进一步,通过设备树节点确定在线的基底设备,并基于基底设备对应的总线类型,注册每个基底设备的基底设备驱动,包括:基于设备树节点的compatible属性,匹配确定对应的基底设备驱动;获取基底设备的总线类型,基于总线类型选择对应的驱动接口,并将驱动配置信息作为参数传入注册接口进行注册;调用基底设备驱动的probe函数,初始化基底设备驱动并注册结构体内容。

6、根据上述技术手段,通过设备树节点的兼容属性匹配确定基底设备驱动,再根据总线类型选择对应的驱动注册接口并传入配置信息,使不同低速总线均能纳入同一框架管理,实现设备识别精准、多总线兼容及接口标准化。

7、进一步,设备描述信息包括设备名称标识、在线状态标志以及功能接口回调函数集合。

8、根据上述技术手段,三类核心信息统一封装于设备描述信息中,便于公共数组集中管理与快速检索。

9、进一步,当使用设备驱动加载时,将使用设备的设备描述信息写入公共静态数组,包括:当使用设备驱动加载时,在使用设备的私有静态数组中设置设备名称标识和在线状态标志,在私有静态数组中填充功能接口回调函数集合;将私有静态数组拷贝至公共静态数组。

10、根据上述技术手段,将私有数组与公共数组分离,驱动开发者仅需填充私有数组,通过统一拷贝即可完成注册,能够降低开发门槛。

11、进一步,遍历各个使用设备的设备树节点,基于公共静态数组中的设备描述信息判断使用设备是否在线,包括:调用基底设备驱动的probe函数,循环遍历各个使用设备的设备树节点;从公共静态数组中识别设备名称标识和在线状态标志,判断使用设备是否在线;若使用设备在线,则将公共静态数组中在线状态标志的属性标志位置为1。

12、根据上述技术手段,基于设备树遍历与公共数组校验双重确认在线状态,硬件拓扑识别与驱动管理解耦,配置灵活。

13、进一步,响应于目标使用设备的调用指令,通过公共静态数组读取目标使用设备的设备描述信息并执行相应的功能操作,包括:接收用户态应用程序的调用指令,其中,调用指令中携带目标使用设备的目标名称标识和目标操作类型标识;将目标名称标识与公共静态数组中的设备名称标识进行匹配,确定目标使用设备;基于公共静态数组中的在线状态标志判断目标使用设备是否在线,当目标使用设备在线时,读取公共静态数组的功能接口回调函数集合,按照目标操作类型标识执行对应的功能接口回调函数。

14、根据上述技术手段,用户态通过统一接口携带设备名称与操作类型发起调用,经公共数组匹配与在线校验后执行回调,实现调用流程标准化。

15、进一步,注册每个基底设备的基底设备驱动包括静态配置方式和动态配置方式,其中,静态配置方式在linux系统内核启动流程通过静态接口初始化,动态配置方式在linux系统运行时通过动态接口加载。

16、根据上述技术手段,本技术同时支持内核启动静态加载与运行时动态加载两种方式,适配不同部署场景,配置灵活。

17、进一步,该基于linux系统的低速总线多从设备管理方法还包括:响应于基底设备驱动的注销指令,调用注销函数,通过设备树节点的compatible属性,匹配确定对应的基底设备驱动;获取基底设备的总线类型,基于总线类型选择对应的注销接口,并将驱动配置信息作为参数传入注销接口;调用基底设备驱动的remove函数对基底设备驱动进行注销。

18、根据上述技术手段,提供与注册流程对称的完整注销机制,通过兼容属性匹配与总线类型选择注销接口,实现驱动安全卸载与资源回收。

19、第二方面,本技术实施提供一种linux系统的低速总线多从设备管理系统,该linux系统的低速总线多从设备管理系统包括:基底设备驱动注册模块,用于通过设备树节点确定在线的基底设备,并基于基底设备对应的总线类型,注册每个基底设备的基底设备驱动;使用设备驱动加载模块,用于当使用设备驱动加载时,将使用设备的设备描述信息写入公共静态数组;设备功能接口注册模块,用于当基底设备驱动的探测函数被调用时,遍历各个使用设备的设备树节点,基于公共静态数组中的设备描述信息判断使用设备是否在线,当判断使用设备在线时,按照设备描述信息注册基底设备驱动的设备功能接口;设备功能接口调用模块,用于响应于目标使用设备的调用指令,通过公共静态数组读取目标使用设备的设备描述信息并执行相应的功能操作。

20、第三方面,本技术实施提供一种车辆,包括车身以及如第二方面的基于linux系统的低速总线多从设备管理系统。

21、本发明的有益效果:本技术通过按总线类型分别注册基底驱动构建多总线统一框架,以公共静态数组集中纳管所有从设备的设备名称、在线状态与功能回调,借助设备树遍历确认硬件在线状态、私有数组拷贝完成功能接口注册,实现硬件拓扑识别与驱动功能挂载的解耦;用户态通过统一接口经公共数组调度执行操作。整体框架轻量且具有低代码冗余,能够广泛应用于具备硬件级设备寻址能力的低速总线外设。