System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种产品开发包与操作系统和硬件分离的方法及系统技术方案_技高网

一种产品开发包与操作系统和硬件分离的方法及系统技术方案

技术编号:40352294 阅读:7 留言:0更新日期:2024-02-09 14:36
本发明专利技术一种产品开发包与操作系统和硬件分离的方法及系统。解决了现有产品开发难度高、任务量大,产品应用与底层操作系统、硬件分离不彻底的问题。将系统分离成产品开发包、平台抽象层和BSP层;产品开发包分层为行业解决方案、产品通用功能库和应用服务层,功能库将产品功能抽象模块化形成的功能函数,应用服务层将程序功能封装形成的服务,行业解决方案组合调用功能函数形成产品,功能函数通过调用服务实现;平台抽象层将操作系统和硬件设备进行抽象提供统一接口,服务通过接口访问BSP层底层系统和硬件。利用产品开发包形式进行功能组合来开发产品,不需关注具体的复杂实现,提供零代码或低代码开发效果,简化开发流程,降低开发难度。

【技术实现步骤摘要】

本专利技术涉及软件工程设计,尤其是涉及一种产品开发包与操作系统和硬件分离的方法及系统


技术介绍

1、嵌入式系统在各种领域都有广泛的应用,包括工业控制、消费电子、医疗设备等。随着技术的发展,嵌入式系统的硬件和软件变得越来越复杂,越来越多的应用需要在不同的硬件平台上运行。然而,由于硬件平台的差异,开发人员需要针对不同的硬件平台编写不同的代码,这大大增加了开发和维护的难度。因此,如何实现嵌入式应用与系统和硬件的分离,对硬件和软件进行有效的抽象和管理,使得应用可以在不同的硬件平台上运行,成为了一个亟待解决的问题。

2、在传统的嵌入式系统中,应用层直接依赖于硬件层,这导致硬件和软件紧密耦合,难以维护和升级。此外,不同的硬件设备需要有不同的应用软件,这增加了开发和维护的成本。因此,需要一种方式将应用层与硬件层分离,以实现硬件的抽象和通用化。

3、嵌入式应用与硬件分层是一种设计方法,通过将整个系统划分为若干个层次,以实现各层之间的独立开发和协同工作。这种结构通常包括硬件层、驱动层、操作系统层和应用层。其中,

4、硬件层:这是整个嵌入式系统的基础,涉及到单片机及其接口等的编程和设计。开发者需要对硬件有深入的理解和操作能力。

5、驱动层:这一层的主要任务是提供硬件的驱动程序,使得上层软件能够更好地访问和控制硬件设备。

6、操作系统层:这一层提供了操作系统的功能,包括进程管理、内存管理、文件系统等。通过操作系统,开发者可以更有效地管理系统资源,并创建出复杂的应用程序。

7、应用层:这是最终用户直接接触到的层次,包括各种应用程序和界面。这一层的设计与用户的交互密切相关,需要考虑用户体验和界面设计等因素。

8、但目前这种设计方法还存在以下缺点:

9、1.嵌入式产品应用与底层操作系统、硬件分离不彻底,模块化程度低,程序复用率低,跨平台能力低。

10、2.产品开发者需要深入了解产品原理,二次开发任务量大,开发难度大,难以满足快速开发产品需求。


技术实现思路

1、本专利技术主要是解决了现有技术中产品开发难度高、任务量大,以及产品应用与底层操作系统、硬件分离不彻底,模块化程度低、程序复用率低、跨平台能力低的问题,提供了一种产品开发包与操作系统和硬件分离的方法及系统。

2、本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种产品开发包与操作系统和硬件分离的方法,包括:

3、将系统分离成包括产品开发包的应用开发,以及包括平台抽象层和bsp层的设备开发;

4、将产品开发包分层为行业解决方案、产品通用功能库和应用服务层,所述产品通用功能库将产品功能抽象模块化形成功能函数,所述应用服务层将程序功能封装形成服务,行业解决方案组合调用功能函数形成产品,功能函数通过调用服务实现;

5、所述平台抽象层将操作系统和硬件设备进行抽象,为应用开发和bsp层提供统一接口,所述服务通过平台抽象层提供的接口访问bsp层底层系统和硬件。

6、本专利技术方法根据产品开发将系统分层架构分成应用开发和设备开发,应用开发只需关注业务逻辑开发,开发应用不需要关注底层实现,只需了解有哪些接口。设备开发开发硬件和系统相关的底层功能。系统软件按照功能不同划分为多个层次,分层从上到下依次为产品开发包、平台抽象层、bsp层,各层之间通过定义的抽象接口进行通信和协作,实现系统的解耦和高可扩展性,同时也方便不同团队之间的协作开发。

7、作为一种优选方案,设定服务对应一个服务对象实例,服务包括多种能力,服务能力对应设置服务处理函数,功能函数发起服务调用,执行对应的服务处理函数,调用服务提供的能力。

8、设置每个服务在程序中对应一个服务对象实例,通过service_id唯一标识,一个服务具备多种能力,用ability_id标识,服务能力的控制参数为ability_params,服务能力的处理函数为服务处理函数,由用户开发注册,含多个能力处理分支,每个分支为某个服务能力具体的复杂实现。产品功能函数发起服务调用,使用服务对象实例、ability_id、ability_params作为形参,通过服务分发机制分配一个线程,执行对应的服务处理函数,调用服务提供的能力。

9、作为一种优选方案,所述的行业解决方案组合调用功能函数形成产品,功能函数通过调用服务实现,具体包括:

10、进行初始化,包括设备进行os初始化、设备驱动初始化、应用服务初始化和产品功能库初始化;

11、当有外部触发或检测到触发状态,触发产品功能时,调用产品功能库中对应的功能函数;

12、调用服务调用函数,访问服务提供的能力;

13、进行服务分发,对服务分配线程,执行服务处理函数。

14、本方案在上电后进行初始化,初始化具体包括,

15、os初始化,内部调用第三方os的初始化函数,完成os系统环境初始化。

16、设备驱动初始化,完成设备驱动框架底层依赖的注册。

17、应用服务初始化,注册底层依赖接口,注册服务能力处理函数,创建线程池,创建服务的实例函数,将服务绑定到线程池。

18、产品功能库各类app初始化,加载依赖的服务,获取服务的实例对象。

19、初始化完成后,程序正常运行,可选择订阅服务事件,订阅当前或其他服务的事件,注册事件回调函数。当订阅事件发生时,调用注册的事件回调函数。

20、当有外部触发或检测到触发状态,触发产品功能时,调用产品通用功能库中对应的功能函数app_xxxfunc();产品通用功能库功能函数通过应用服务提供的能力实现,服务屏蔽了产品功能的复杂实现逻辑,对上提供服务调用这种简单的接口,产品通用功能库的功能函数app_xxxfunc()通过执行简单的服务调用,以类似发送命令的方式,访问服务提供的能力。

21、进一步调用服务调用函数service_call(),通过形参传入服务对象实例、ability_id、ability_params、输出回调函数,访问服务提供的能力。服务的执行结果可通过输出回调函数获取。

22、发起服务调用后,进入服务分发环节。先向服务绑定的线程池发送消息,若是同步调用,接下来阻塞等待输出信号,若是异步调用,直接返回退出。线程池收到消息后,分配一个空闲线程,执行服务注册的服务处理函数。

23、作为一种优选方案,所述的服务通过平台抽象层提供的接口访问bsp层底层系统和硬件,具体包括:

24、进行服务分布式状态判断,进行本地调用服务或远程调用服务;

25、调用服务包括:

26、执行服务处理函数的能力分支,

27、服务能力调用平台抽象层接口,

28、平台抽象层接口调用bsp层接口;

29、服务处理函数执行结束,进行调用机制判断,输出结果信号。

30、在服务调用前还本文档来自技高网...

【技术保护点】

1.一种产品开发包与操作系统和硬件分离的方法,其特征在于,包括:

2.根据权利要求1所述的一种产品开发包与操作系统和硬件分离的方法,其特征是设定服务对应一个服务对象实例,服务包括多种能力,服务能力对应设置服务处理函数,功能函数发起服务调用,执行对应的服务处理函数,调用服务提供的能力。

3.根据权利要求1所述的一种产品开发包与操作系统和硬件分离的方法,其特征是所述的行业解决方案组合调用功能函数形成产品,功能函数通过调用服务实现,具体包括:

4.根据权利要求3所述的一种产品开发包与操作系统和硬件分离的方法,其特征是所述的服务通过平台抽象层提供的接口访问BSP层底层系统和硬件,具体包括:

5.根据权利要求4所述的一种产品开发包与操作系统和硬件分离的方法,其特征是所述步骤的平台抽象层接口调用BSP层接口,具体包括:

6.一种产品开发包与操作系统和硬件分离的系统,用于实施权利要求1-5任一项中所述的方法,其特征在于,包括:应用开发的产品开发包,设备开发的平台抽象层和BSP层,

7.根据权利要求6所述的一种产品开发包与操作系统和硬件分离的系统,其特征是所述服务对应一个服务对象实例,具备多种能力,服务能力包括服务处理函数,功能函数发起服务调用,执行对应的服务处理函数,调用服务提供的能力。

8.根据权利要求6或7所述的一种产品开发包与操作系统和硬件分离的系统,其特征是所述服务通过设备形式连接在设备总线上,设备基于设备总线调用其他设备的服务。

9.根据权利要求8所述的一种产品开发包与操作系统和硬件分离的系统,其特征是所述平台抽象层包括OS内核抽象层和硬件设备抽象层,

10.根据权利要求8所述的一种产品开发包与操作系统和硬件分离的系统,其特征是所述BSP层包括第三方OS和芯片原厂驱动库。

...

【技术特征摘要】

1.一种产品开发包与操作系统和硬件分离的方法,其特征在于,包括:

2.根据权利要求1所述的一种产品开发包与操作系统和硬件分离的方法,其特征是设定服务对应一个服务对象实例,服务包括多种能力,服务能力对应设置服务处理函数,功能函数发起服务调用,执行对应的服务处理函数,调用服务提供的能力。

3.根据权利要求1所述的一种产品开发包与操作系统和硬件分离的方法,其特征是所述的行业解决方案组合调用功能函数形成产品,功能函数通过调用服务实现,具体包括:

4.根据权利要求3所述的一种产品开发包与操作系统和硬件分离的方法,其特征是所述的服务通过平台抽象层提供的接口访问bsp层底层系统和硬件,具体包括:

5.根据权利要求4所述的一种产品开发包与操作系统和硬件分离的方法,其特征是所述步骤的平台抽象层接口调用bsp层接口,具体包括:

6.一种产品开发包与操...

【专利技术属性】
技术研发人员:贾灵王薪宇刘伟赵国凯冯诗敏
申请(专利权)人:利尔达科技集团股份有限公司
类型:发明
国别省市:

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

1