一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于驱动中间件的SoC芯片实现系统、方法、介质及设备与流程

2021-11-25 00:15:00 来源:中国专利 TAG:

基于驱动中间件的soc芯片实现系统、方法、介质及设备
技术领域
1.本发明涉及集成电路技术领域,具体地,涉及一种基于驱动中间件的soc芯片实现系统、方法、介质及设备。


背景技术:

2.soc即系统级芯片,也称为片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。soc是一个微小型系统,将微处理器、模拟ip核、数字ip核和存储器(或片外存储控制接口)集成在单一芯片上,它通常是客户定制的,或是面向特定用途的标准产品,具备较强的灵活性和易扩展性。
3.本发明主要针对使用eclipse开发soc芯片驱动中间件的场景,提出了一种可跨平台、兼容性强的驱动中间件设计方法,该方案可快速开发soc芯片功能、无需对代码进行修改即可完成产品的定制开发。
4.专利文献cn204833731u(申请号:cn201520628474.0)公开了交通物联网车路协同中间件,采用36pin邮票孔封装,包括嵌入式主控单元、串口模块、电源管理模块、通讯模块、传感器检测模块、语音模块、北斗模块、编码器、存储模块和内存模块;所述的嵌入式主控单元分别与串口模块、电源管理模块、通讯模块、传感器检测模块、语音模块、北斗模块、编码器、存储模块和内存模块相连接。然而该专利无法解决基于soc芯片的系统逻辑资源修改带来驱动软件修改的问题,以及基于soc芯片的系统软硬件开发周期长,容易出差错的问题。


技术实现要素:

5.针对现有技术中的缺陷,本发明的目的是提供一种基于驱动中间件的soc芯片实现系统、方法、介质及设备。
6.根据本发明提供的基于驱动中间件的soc芯片实现系统,包括:
7.软件开发环境:与驱动中间件层传递配置参数,通过界面参数修改进行产品功能裁剪;
8.驱动中间层:初始化处理器芯片,对硬件资源层的外设进行功能配置;
9.硬件资源层:集成多核处理器和fpga逻辑资源,通过fpga逻辑资源扩展功能接口。
10.优选的,所述软件开发环境包括soc芯片扩展串口,所述soc芯片扩展串口的配置属性包括基础属性和定制属性;
11.所述基本属性包括扩展串口数量、基地址、串口组件间基地址偏移值、中断号、中断优先级、串口缓存区最大缓存消息数量和串口缓存区单个消息的最大长度;
12.所述定制属性包括串口id配置、波特率、中断号、中断优先级、时钟、串口缓存区最大数量和串口缓存区单个消息的最大长度。
13.优选的,所述软件开发环境包括:
14.网络组件:基于开发环境进行可视化网络参数定义,包括ip地址配置、phy地址配置和mtu配置;
15.can组件:基于开发环境进行可视化can参数定义的组合,包括can设备数量、can设备id、基地址和系统中断号;
16.uart组件:基于开发环境进行可视化uart参数定义,包括uart id、波特率、停止位、奇偶校验位和寄存器基地址;
17.rio组件:基于开发环境进行可视化rapidio参数定义,包括rio的地址和rio主从设备定义;
18.gpio组件:基于开发环境进行可视化gpio参数定义,包括gpio的基地址、输入输出方向和默认电平。
19.优选的,所述驱动中间层包括串口驱动中间件,所述串口驱动中间件的初始化属性由软件开发环境配置组件指定,并依据属性参数完成相关配置驱动的初始化,实现功能裁剪、使用数量裁剪、寄存器基地址修改、波特率动态配置,以及时钟频率和中断配置。
20.优选的,所述驱动中间层包括:
21.网络驱动库:网络设备的初始化、中断注册、接收中断处理、发送中断处理和网络协议栈挂接;
22.uart驱动库:uart设备的初始化、中断注册、接收中断处理、发送中断处理;
23.rio驱动库:rio设备的初始化、中断注册、接收中断处理和发送中断处理;
24.can驱动库:can设备的初始化、中断注册、接收中断处理和发送中断处理;
25.gpio驱动库:gpio设备的初始化和输入输出接口的实现。
26.优选的,所述硬件资源层包括:以太网设备、can设备、uart设备、rio设备和gpio设备。
27.根据本发明提供的基于驱动中间件的soc芯片实现方法,执行:
28.步骤1:在软件开发环境与驱动中间件层之间传递配置参数,通过界面参数修改进行产品功能裁剪;
29.步骤2:通过驱动中间层对处理器芯片进行初始化,对硬件资源层的外设进行功能配置;
30.步骤3:通过硬件资源层,集成多核处理器和fpga逻辑资源,并通过fpga逻辑资源扩展功能接口。
31.优选的,所述步骤2包括:
32.步骤2.1:初始化串口规则库;
33.步骤2.2:遍历配置参数,检验配置参数是否有效,若有效则对参数进行配置,挂接tty层需要使用的函数,否则进行错误处理后结束流程;
34.步骤2.3:申请次设备号,注册设备并中断挂载;
35.步骤2.4:判断待配置串口是否为调试串口,若是则注册输入输出设备后结束流程,否则视为业务通信串口并结束配置流程。
36.根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的方法的步骤。
37.根据本发明提供的一种基于驱动中间件的soc芯片实现设备,包括:控制器;
38.所述控制器包括所述的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的基于驱动中间件的soc芯片实现方法的步骤;或者,所述控制
器包括所述的基于驱动中间件的soc芯片实现系统。
39.与现有技术相比,本发明具有如下的有益效果:
40.(1)本发明解决了基于soc芯片的系统逻辑资源修改带来驱动软件修改问题;
41.(2)本发明通过图形化界面操作,降低了驱动开发的复杂度,缩短了基于soc芯片的系统软硬件开发时间;
42.(3)本发明提供的方案设计简单,使用灵活方便,可在软件相关领域推广,通过模块跨平台设计,实现了不同平台的兼容性。
附图说明
43.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
44.图1为soc芯片驱动中间件业务层次图;
45.图2为本发明初始化流程图;
46.图3为配置参数界面图;
47.图4为基本属性配置图;
48.图5为扩展串口定制属性配置图。
具体实施方式
49.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
50.实施例1:
51.如图1,根据本发明提供的基于驱动中间件的soc芯片实现系统,包括:软件开发环境:与驱动中间件层传递配置参数,通过界面参数修改进行产品功能裁剪;驱动中间层:初始化处理器芯片,对硬件资源层的外设进行功能配置;硬件资源层:集成多核处理器和fpga逻辑资源,通过fpga逻辑资源扩展功能接口。
52.所述软件开发环境包括soc芯片扩展串口,所述soc芯片扩展串口的配置属性包括基础属性和定制属性;所述基本属性包括扩展串口数量、基地址、串口组件间基地址偏移值、中断号、中断优先级、串口缓存区最大缓存消息数量和串口缓存区单个消息的最大长度;所述定制属性包括串口id配置、波特率、中断号、中断优先级、时钟、串口缓存区最大数量和串口缓存区单个消息的最大长度。
53.所述软件开发环境包括:网络组件:基于开发环境进行可视化网络参数定义,包括ip地址配置、phy地址配置和mtu配置;can组件:基于开发环境进行可视化can参数定义的组合,包括can设备数量、can设备id、基地址和系统中断号;uart组件:基于开发环境进行可视化uart参数定义,包括uart id、波特率、停止位、奇偶校验位和寄存器基地址;rio组件:基于开发环境进行可视化rapidio参数定义,包括rio的地址和rio主从设备定义;gpio组件:基于开发环境进行可视化gpio参数定义,包括gpio的基地址、输入输出方向和默认电平。
54.所述驱动中间层包括串口驱动中间件,所述串口驱动中间件的初始化属性由软件
开发环境配置组件指定,并依据属性参数完成相关配置驱动的初始化,实现功能裁剪、使用数量裁剪、寄存器基地址修改、波特率动态配置,以及时钟频率和中断配置。所述驱动中间层包括:网络驱动库:网络设备的初始化、中断注册、接收中断处理、发送中断处理和网络协议栈挂接;uart驱动库:uart设备的初始化、中断注册、接收中断处理、发送中断处理;rio驱动库:rio设备的初始化、中断注册、接收中断处理和发送中断处理;can驱动库:can设备的初始化、中断注册、接收中断处理和发送中断处理;gpio驱动库:gpio设备的初始化和输入输出接口的实现。
55.所述硬件资源层包括:以太网设备、can设备、uart设备、rio设备和gpio设备。
56.根据本发明提供的基于驱动中间件的soc芯片实现方法,执行:步骤1:在软件开发环境与驱动中间件层之间传递配置参数,通过界面参数修改进行产品功能裁剪;步骤2:通过驱动中间层对处理器芯片进行初始化,对硬件资源层的外设进行功能配置;步骤3:通过硬件资源层,集成多核处理器和fpga逻辑资源,并通过fpga逻辑资源扩展功能接口。
57.所述步骤2包括:步骤2.1:初始化串口规则库;步骤2.2:遍历配置参数,检验配置参数是否有效,若有效则对参数进行配置,挂接tty层需要使用的函数,否则进行错误处理后结束流程;步骤2.3:申请次设备号,注册设备并中断挂载;步骤2.4:判断待配置串口是否为调试串口,若是则注册输入输出设备后结束流程,否则视为业务通信串口并结束配置流程。
58.根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的方法的步骤。
59.根据本发明提供的一种基于驱动中间件的soc芯片实现设备,包括:控制器;所述控制器包括所述的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的基于驱动中间件的soc芯片实现方法的步骤;或者,所述控制器包括所述的基于驱动中间件的soc芯片实现系统。
60.实施例2:
61.实施例2为实施例1的优选例。
62.本发明涉及的一种适用于soc芯片的驱动中间件设计方法,涉及到硬件平台、嵌入式操作系统、系统资源组件、ide开发环境。通过一种图形化的配置界面,关联驱动中间件层的参数输入,实现soc芯片的功能的灵活化设计,整个方案采用了组件化设计理念,保障了开发环境、驱动中间件和硬件的解耦关系。
63.业务的最底层是各soc类嵌入式平台主板硬件资源,其主要以xilinx、复旦微等soc处理器芯片为代表,这类模块的特点是内部集成多核处理器、集成fpga逻辑资源,可以通过fpga逻辑资源灵活扩展串口、can、1553、429、gpio等功能接口。
64.驱动中间件层是硬件运行的基础,包含处理器芯片的初始化,内存、网络等外设的功能配置,是所有通用驱动的组合,其中每一类驱动通过参数化完成功能的初始化定制,同时提供接口向嵌入式操作系统进行注册,保障操作系统运行的必要资源控制。
65.以串口驱动中间件为例,其初始化属性均由开发环境配置组件指定,并依据属性参数完成相关配置驱动的初始化,实现功能的可裁剪、使用数量的可裁剪、寄存器基地址的可修改、波特率可动态配置、时钟频率、中断的可配置,满足了不同应用场景下的需求,其初始化流程如图2所示。
66.软件开发环境是软件开发人员工作的平台,在本方案中主要利用开发环境完成与驱动中间件层的配置参数传递操作,通过简易的界面参数修改,完成对不同产品功能的裁剪。图3显示了配置参数界面的直观展示,用户通过开发环境的直观操作完成对soc芯片扩展功能组件的配置管理,包括了soc芯片扩展的串口、扩展can、扩展ad/da、扩展支持核间通信等基础软件功能。
67.如图4,以soc扩展串口功能为例,其主要配置属性分为基础属性和定制属性两类,基本属性配置视图应包含扩展串口数量,基地址,串口组件间基地址偏移值、中断号、中断优先级配置,口缓存区最大缓存消息数量,串口缓存区单个消息的最大长度,并有默认的配置数据。
68.如图5,定制属性配置是对基础属性的一种补充修改,包含串口id配置,波特率、中断号、中断优先级、时钟、串口缓存区最大数量,串口缓存区单个消息的最大长度等配置。
69.本发明涉及的一种适用于soc芯片的驱动中间件设计方法,主要应用于soc类高度定制化设备,可避免逻辑功能的修改对驱动、上层应用程序的修改影响,基于c语言实现的保障了该设计方法具备跨多种操作系统平台能力,便于在各类硬件平台上快速移植使用,具有较强的实用和推广价值。
70.具体地,本发明提供了一种基于eclipse集成开发环境研制方法,在eclipse中配置开发资源组件,基于eclipse开发环境创建通用驱动库,完成主流扩展串口、can、1553、429、ad等设备的驱动功能开发。
71.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
72.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献