[发明专利]一种多产品线通用代码架构系统有效
申请号: | 201711286652.6 | 申请日: | 2017-12-07 |
公开(公告)号: | CN107967223B | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | 王鹏 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F13/10 | 分类号: | G06F13/10;G06F8/70 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
地址: | 215100 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 产品线 通用 代码 架构 系统 | ||
本发明公开了一种多产品线通用代码架构系统,所述架构系统包括libdvr、libcom、libres、drvbox,其中:libdvr为架构系统的最上层,包含多个互相独立的模块,每个模块完成各自的功能需求,具体的功能通过调用libcom和libres实现;libcom为libdvr库层与drvbox驱动层的中间层,包含I2C模块,GPIO模块,UART模块,MTD模块,thread模块,为libdvr提供使用;libres作libdvr的库层与drvbox驱动层的中间层,用于资源的管理和获取;drvbox作为底层驱动层,供libcom库调用。本发明针对采用不同主控芯片的硬件产品,使用同一套软件框架进行开发,将硬件、产品资源的差异化进行统一管理,屏蔽到底层,实现不管使用哪家的芯片,对上层开发人员来说,都是使用统一的函数库接口。
技术领域
本发明涉及软件系统设计技术领域,具体涉及一种多产品线通用代码架构系统。
背景技术
传统的硬件产品开发一般都是基于SoC芯片厂商打包的方案,这种做法对于单一产品来说利于缩短研发周期,实现产品快速上线。但随着后期产品采用多家SoC厂商的方案以定位不同的市场需求时,由于不同SoC各家厂商方案不尽相同,因此势必要投入更多的研发人员去维护多条产品线,无形中增大了维护成本,而随着更多新产品的投入研发,这种情况只会越来越糟糕,非常不利于研发工作的可持续推进。
发明内容
本发明要解决的技术问题是:针对上述问题,本发明提供一种多产品线通用代码架构系统。
本发明所采用的技术方案为:
一种多产品线通用代码架构系统,所述架构系统包括libdvr、libcom、libres、drvbox,其中:
libdvr为架构系统的最上层,包含多个互相独立的模块,每个模块完成各自的功能需求,具体的功能通过调用libcom和libres实现;每个模块都是一个独立的整体,模块之间尽量减少互相调用,降低模块的耦合性;
libcom为libdvr库层与drvbox驱动层的中间层,包含I2C模块,GPIO模块,UART模块,MTD模块,thread模块,为libdvr提供使用,可以使结构更加清晰化,方便维护;
libres作libdvr库层与drvbox驱动层的中间层,库的功能较为单一,只是用于资源的管理和获取;在这套软件架构中,资源数据的管理和获取是核心部分;
drvbox作为底层驱动层,供libcom库调用。
所述Libres中的资源来源于drvbox,drvbox中的资源来源于产品资源文件。
所述drvbox的主要功能包括GPIO、I2C、资源和看门狗的驱动加载及功能实现,平台资源和产品资源的设计及获取,HWID号的获取。
所述libdvr中的每个模块都包含API文件,设备文件,功能文件及资源文件4部分。
所述模块的实现包括:
在设备文件部分,首先获取设备资源,根据资源中的配置,对设备进行初始化,完成资源的赋值和功能指针的赋值;
在设备文件中不做任何功能的操作,单纯完成设备的创建和初始化;
在功能文件中完成功能的操作,功能文件可能存在多种,例如alarm设备存在gpio和i2c两种方式,通过资源来判断;
在功能文件中创建相应的gpio或i2c设备,此时的功能接口就调用libcom。
libres层在运行时,所有设备的资源都为空,只有在每个模块初始化完成之后,才会实现相应模块的资源获取,资源获取的是从内核态的拷贝。
所述drvbox的实现包括三个部分:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711286652.6/2.html,转载请声明来源钻瓜专利网。