CN109165011A - 基于单片机软件分层设计的方法、系统、设备及存储介质 - Google Patents
基于单片机软件分层设计的方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN109165011A CN109165011A CN201811004566.6A CN201811004566A CN109165011A CN 109165011 A CN109165011 A CN 109165011A CN 201811004566 A CN201811004566 A CN 201811004566A CN 109165011 A CN109165011 A CN 109165011A
- Authority
- CN
- China
- Prior art keywords
- layer
- interface
- driving
- target device
- unified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开一种基于单片机软件分层设计的方法、系统、设备及存储介质,其中基于单片机软件分层设计的方法,包括如下步骤:将各目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;将各目标设备的所述驱动隔离层的接口统一为第一标准接口;将各目标设备的所述功能层的接口统一为第二标准接口;调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务。本发明通过分层设计的方法将目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;同时将驱动隔离层的接口统一为第一标准接口、将功能层的接口统一为第二标准接口,因此能够实现跨硬件平台的移植,提高单片机软件代码的可移植性、保密性、易维护性及实用性。
Description
技术领域
本发明涉及单片机领域,尤其涉及一种基于单片机软件分层设计的方法、系统、设备及存储介质。
背景技术
随着计算机技术的不断发展,单片机应用也越来越广泛,越来越离不开我们的生活,各种电子产品、数码产品、智能IC卡、工业自动化控制、数据处理等都广泛使用了单片机。传统单片机软件开发是基于驱动和应用模式,应用层直接调用驱动层底层接口函数实现应用功能,这样造成应用层和驱动层的代码耦合较大,不容易分离。假设系统A由应用层A和驱动层A组成,系统B由应用层B和驱动层B组成。应用层A直接调用驱动层A的接口,应用层B直接调用驱动层B的接口,且驱动层A和驱动层B的接口是不一样的,因此,应用层A调用驱动层A的代码跟应用层B调用驱动层B的代码也是不一样的。当需要移植系统A中的应用到系统B中时,即将应用层A移植到应用层B中,由于应用层A不含有调用驱动层B的代码,因此,不能直接使用,所以需要编写新的代码到应用层A中,使应用层A可以调用驱动层B工作。同理,当需要移植不同系统中的驱动层时,也是需要重新编写代码,这样使得软件应用和驱动的可移植性和维护性较差,造成时间和成本的浪费。驱动层和应用层一起编译则会造成了各自代码都公开给对方,不能做到完全隔离保密,很容易出现公司核心技术的泄漏。
鉴于以上弊端,实有必要提供一种基于单片机软件分层设计的方法、系统、设备及存储介质以克服以上缺陷。
发明内容
本发明的目的是为了提供一种基于单片机软件分层设计的方法、系统、设备及存储介质以解决背景技术中至少一处不足。
为了实现上述目的,本发明提供一种基于单片机软件分层设计的方法,包括如下步骤:
将各目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;
将各目标设备的所述驱动隔离层的接口统一为第一标准接口;
将各目标设备的所述功能层的接口统一为第二标准接口;
调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务。
在一个优选实施方式中,所述将目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层的步骤中,包括:
将各目标设备的单片机软件中接收人机交互信息的部分划分为应用层;
将各目标设备的单片机软件中存储与应用服务相关的功能函数的部分划分为功能层;
将各目标设备的单片机软件中处理功能函数并生成指令的部分划分为驱动隔离层;
将各目标设备的单片机软件中直接作用于硬件平台的部分划分为驱动层。
在一个优选实施方式中,所述将所述驱动隔离层的接口统一为第一标准接口的步骤中,包括:
获取各目标设备中的所述驱动隔离层的接口的源代码;
通过指定的第一转换函数将各所述驱动隔离层的接口的源代码转换成统一的第一标准代码。
在一个优选实施方式中,在所述通过指定的第一转换函数将各所述驱动隔离层的接口的源代码转换成统一的第一标准代码的步骤之前,包括如下步骤:
判断对应的驱动层的接口是否处于上机状态;
若是,则执行所述通过指定的第一转换函数将各所述驱动隔离层的接口的源代码转换成统一的第一标准代码的步骤。
在一个优选实施方式中,所述将所述功能层的接口统一为第二标准接口的步骤中,包括:
获取各目标设备中的所述功能层的接口的源代码;
通过指定的第二转换函数将各所述功能层的接口的源代码转换成统一的第二标准代码。
在一个优选实施方式中,在所述通过制定的第二转换函数将各所述功能层的接口的源代码转换成统一的第二标准代码的步骤之前,包括如下步骤:
判断对应的驱动隔离层的第一标准接口是否处于上机状态;
若是,则执行所述通过制定的第二转换函数将各所述功能层的接口的源代码转换成统一的第二标准代码的步骤。
在一个优选实施方式中,所述调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务的步骤中,包括:
各目标设备的应用层调用所述第二标准接口,启动对应的功能层;
所述功能层调用对应的第一标准接口,启动对应的驱动隔离层;
所述驱动隔离层调用对应的驱动层的接口,启动对应的驱动层;
所述驱动层驱动对应的硬件平台。
为了实现上述目的,本发明提供一种基于单片机软件分层设计的系统,包括:
驱动层模块,用于驱动硬件平台,并提供驱动层模块的接口;
驱动隔离层模块,调用所述驱动层模块的接口与所述驱动层模块连接,并提供统一的第一标准接口;
功能层模块,调用所述第一标准接口与所述驱动隔离层模块连接,并提供统一的第二标准接口;
应用层模块,调用所述第二标准接口与所述功能层模块连接,用于接收服务指令。
为了实现上述目的,本发明提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述程序时实现如上述实施例中任意一项上述的方法。
为了实现上述目的,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例中任意一项上述的方法。
与现有技术相比,本发明提供的基于单片机软件分层设计的方法、系统、设备及存储介质的有益效果在于:将目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;驱动隔离层调用驱动层的接口与驱动层连接;功能层调用驱动隔离层的接口与驱动隔离层连接;应用层调用功能层的接口与功能层连接;同时将驱动隔离层的接口统一为第一标准接口、将功能层的接口统一为第二标准接口,因此能够实现跨硬件平台的移植,提高单片机软件代码的可移植性和实用性。应用层、功能层及驱动层相互独立,可以单独编译,从而提高单片机软件代码的保密性和可维护性。
附图说明
图1为本发明一实施例的基于单片机软件分层设计的方法的流程示意图。
图2为本发明一实施例的基于单片机软件分层设计的方法的流程示意图。
图3为本发明一实施例的基于单片机软件分层设计的方法的流程示意图。
图4为本发明一实施例的基于单片机软件分层设计的方法的流程示意图。
图5为本发明一实施例的基于单片机软件分层设计的方法的流程示意图。
图6为本发明一实施例的基于单片机软件分层设计的系统的模块结构示意图。
图7为本发明一实施例的基于单片机软件分层设计的系统的模块结构示意图。
图8为本发明一实施例的基于单片机软件分层设计的系统的模块结构示意图。
图9为本发明一实施例的基于单片机软件分层设计的系统的模块结构示意图。
图10为本发明一实施例的基于单片机软件分层设计的系统的模块结构示意图。
图11为本发明一实施例的一种计算机设备的结构示意图。
100、分层模块;101、应用层模块;102、功能层模块;103、驱动隔离层模块;104、驱动层模块;200、第一转换模块;201、第一获取模块;202、第一函数模块;300、第二转换模块;301、第二获取模块;302、第二函数模块;400、应用模块;401、第一调用模块;402、第二调用模块;403、第三调用模块;404、第四调用模块;12、计算机设备;14、外部设备;16、处理单元;18、总线;20、网络适配器;22、(I/O)接口;24、显示器;28、系统存储器;30、随机存取存储器(RAM);32、高速缓存存储器;34、存储系统;40、程序/实用工具;42、程序模块。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
另外,在本发明中涉及“第一”“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种基于单片机软件分层设计的方法,包括如下步骤:
S01,将各目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;
S02,将各目标设备的所述驱动隔离层的接口统一为第一标准接口;
S03,将各目标设备的所述功能层的接口统一为第二标准接口;
S04,调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务。
如所述步骤S01,将目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层,根据软件的运行功能进行划分,从而得出上述应用层、功能层、驱动隔离层及驱动层。
如所述步骤S02,将各目标设备的所述驱动隔离层的接口统一为第一标准接口,通过代码转换的方式将所述驱动隔离层的接口统一为第一标准接口。
如所述步骤S03,将各目标设备的所述功能层的接口统一为第二标准接口,也是通过的代码装换的方式将所述功能层的接口统一为第二标准接口。
如所述步骤S04,调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务,所述应用层调用所述第二标准接口以启动所述功能层,所述功能层调用所述第一标准接口以启动所述驱动隔离层,所述驱动隔离层驱动所述驱动层以实现应用服务。
请参阅图2,在本实施例中,在上述基于单片机软件分层设计的方法中,所述将各目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层的步骤,包括如下步骤:
S11,将各目标设备的单片机软件中接收人机交互信息的部分划分为应用层;
S12,将各目标设备的单片机软件中存储与应用服务相关的功能函数的部分划分为功能层;
S13,将各目标设备的单片机软件中处理功能函数的数据的部分划分为驱动隔离层;
S14,将各目标设备的单片机软件中直接作用于硬件平台的部分划分为驱动层。
所述驱动层为最底层,所述驱动隔离层建立在所述驱动层的基础上,所述功能层建立在所述驱动隔离层的基础上,所述应用层建立在所述功能层的基础上。相邻层之间通过软件接口联系起来,非相邻层没有直接的联系。
通过上述的划分方式,使得每个软件层分工明确,方便后续对单独一个软件层进行移植、修改和维护等工作。
请参阅图3,在本实施例中,在上述基于单片机软件分层设计的方法中,所述将所述驱动隔离层的接口统一为第一标准接口的步骤,包括:
S21,获取各目标设备中的所述驱动隔离层的接口的源代码;
S22,通过指定的第一转换函数将各所述驱动隔离层的接口的源代码转换成统一的第一标准代码。
从而实现,不同软件系统中的驱动隔离层的接口的代码是一致的,因此,不同软件系统中的功能层调用驱动隔离层的接口的接口函数是一样的,进而提高驱动层的可移植性和保密性,也为功能层的可移植性提供基础。例如,如果软件系统A需要调用软件系统B的驱动层的功能时,将软件系统B的驱动层移植到软件系统A中,软件系统A的驱动隔离层自动对移植过来的软件系统B的驱动层进行封装,从而不需要修改任何程序代码即可在软件系统A中实现软件系统B中的驱动层的功能,因此,软件系统B中的驱动层的内部程序代码也不需要泄露,进而提高了驱动层的保密性。
进一步的,在本实施例中,在上述基于单片机软件分层设计的方法中,所述通过指定的第一转换函数将各所述驱动隔离层的接口的源代码转换成统一的第一标准代码的步骤之前,包括如下步骤:
判断对应的驱动层的接口是否处于上机状态;
若是,则执行所述通过指定的第一转换函数将各所述驱动隔离层的接口的源代码转换成统一的第一标准代码的步骤。
若否,则继续执行所述判断对应的驱动层的接口是否处于上机状态的步骤。
在确保所述驱动隔离层可以调用对应的驱动层的接口的条件下对所述驱动隔离层的接口的源代码进行转换,可以提高软件的运行效率。
请参阅图4,在本实施例中,在上述基于单片机软件分层设计的方法中,所述将所述功能层的接口统一为第二标准接口的步骤,包括:
S31,获取各目标设备中的所述功能层的接口的源代码;
S32,通过指定的第二转换函数将各所述功能层的接口的源代码转换成统一的第二标准代码。
从而实现,不同软件系统中的功能层的接口的代码是一致的,因此,不同软件系统中的应用层调用功能层的接口的接口函数是一样的,从而提高功能层和应用层的可移植性和保密性。例如,如果软件系统A需要调用软件系统B的功能层的功能时,将软件系统B的功能层移植到软件系统A中,由于不同软件系统中的驱动隔离层的接口均为第一标准接口、不同软件系统中的功能层调用第一标准接口的接口函数是一致的;因此,软件系统B的功能层移植到软件系统A中后,功能层可以直接调用原软件系统A的驱动隔离层的接口,即第一标准接口;又由于不同软件系统中的功能层的接口均为第二标准接口,不同软件系统中的应用层调用第二标准接口的接口函数是一致的,因此,软件系统B的功能层移植到软件系统A中后,软件系统A的应用层可以直接调用原软件系统B的功能层的接口,即第二标准接口从而不需要修改任何程序代码即可在软件系统A中实现软件系统B中的功能层的功能,因此,软件系统B中的功能层的内部程序代码也不需要泄露,进而提高了功能层的保密性。同理,不同软件系统中的应用层也可以直接移植使用,此处不在赘述。
进一步的,在本实施例中,在上述基于单片机软件分层设计的方法中,所述通过制定的第二转换函数将各所述功能层的接口的源代码转换成统一的第二标准代码的步骤之前,包括如下步骤:
判断对应的驱动隔离层的第一标准接口是否处于上机状态;
若是,则执行所述通过制定的第二转换函数将各所述功能层的接口的源代码转换成统一的第二标准代码的步骤。
若否,则继续执行所述判断对应的驱动隔离层的第一标准接口是否处于上机状态的步骤。
在确保所述功能层可以调用对应的驱动隔离层的接口的条件下对所述功能层的接口的源代码进行转换,可以提高软件的运行效率。
请参阅图5,在本实施例中,在上述基于单片机软件分层设计的方法中,所述调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务的步骤,包括:
S41,各目标设备的应用层调用对应的第二标准接口,启动对应的功能层;
S42,所述功能层调用对应的第一标准接口,启动对应的驱动隔离层;
S43,所述驱动隔离层调用对应的驱动层的接口,启动对应的驱动层;
S44,所述驱动层驱动对应的硬件平台。
具体的,应用层一般为人机交互界面,当所述应用层接收到服务指令时,所述应用层通过调用对应的第二标准接口以启动对应的功能层,所述功能层内对应的功能函数被调出;所述功能层调用对应的第一标准接口,启动对应的驱动隔离层,使所述驱动隔离层对所述功能层内被调出的功能函数进行处理并生成相应的指令,所述驱动隔离层调用对应的驱动层的接口,启动对应的驱动层,所述驱动隔离层将指令发送给所述驱动层,所述驱动层根据接收到的指令驱动对应的硬件平台,从而实现应用服务。
所述驱动层的接口、驱动隔离层的接口、功能层的接口均指软件开发者或者提供者等向用户提供的用于调用该软件的接口,例如应用编程接口等。其主要目的是让应用程序开发人员得以调用一组例程功能,而无须考虑其底层的源代码、或理解其内部工作机制的细节。
进一步的,所述应用层、功能层及驱动层相互独立,因此,所述应用层、功能层和驱动层可以单独移植。此外,所述应用层、功能层、驱动隔离层及驱动层均可单独编译。因此提高了各自代码的保密性,不易被盗用或随意篡改。
本发明提供的一种基于单片机软件分层设计的方法,将目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;驱动隔离层调用驱动层的接口;功能层调用驱动隔离层的接口;应用层调用功能层的接口;同时将驱动隔离层的接口统一为第一标准接口、将功能层的接口统一为第二标准接口,因此能够实现跨硬件平台的移植,提高单片机软件代码的可移植性和实用性。应用层、功能层及驱动层相互独立,可以单独编译,从而提高单片机软件代码的保密性和可维护性。
请参阅图6,本发明提供一种基于单片机软件分层设计的系统,包括
分层模块100,用于将各目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;
第一转换模块200,用于将各目标设备的所述驱动隔离层的接口统一为第一标准接口;
第二转换模块300,用于将各目标设备的所述功能层的接口统一为第二标准接口;
应用模块400,用于调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务。
上述分层模块100,用于将各目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层,根据软件的运行功能进行划分,从而得出上述应用层、功能层、驱动隔离层及驱动层。
上述第一转换模块200,用于将各目标设备的所述驱动隔离层的接口统一为第一标准接口,通过代码转换的方式将所述驱动隔离层的接口统一为第一标准接口
上述第二转换模块300,用于将各目标设备的所述功能层的接口统一为第二标准接口,也是通过的代码装换的方式将所述功能层的接口统一为第二标准接口。
上述应用模块400,用于调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务,所述应用层调用所述第二标准接口以启动所述功能层,所述功能层调用所述第一标准接口以启动所述驱动隔离层,所述驱动隔离层驱动所述驱动层以实现应用服务。
请参阅图7,在本实施例中,在上述基于单片机软件分层设计的系统中,上述分层模块100包括:
应用层模块101,用于接收人机交互信息;
功能层模块102,用于存储与应用服务相关的功能函数;
驱动隔离层模块103,用于处理功能函数;
驱动层模块104,用于驱动硬件平台。
所述驱动层模块104为最底层,所述驱动隔离层模块103建立在所述驱动层模块104的基础上,所述功能层模块102建立在所述驱动隔离层模块103的基础上,所述应用层模块101建立在所述功能层模块102的基础上。相邻模块之间通过软件接口联系起来,非相邻模块没有直接的联系。
请参阅图8,在本实施例中,在上述基于单片机软件分层设计的系统中,所述第一转换模块200,包括:
第一获取模块201,用于获取各目标设备中的所述驱动隔离层的接口的源代码;
第一函数模块202,用于将各所述驱动隔离层的接口的源代码转换成统一的第一标准代码。
进一步的,在本实施例中,在上述基于单片机软件分层设计的系统中,所述第一转换模块200,还包括:
第一判断模块,用于判断对应的驱动层的接口是否处于上机状态;
若是,则启动所述第一函数模块202。
所述第一函数模块202在所述第一判断模块203判断为是的前提下启动,可以提高系统的运行效率。
请参照图9,在本实施例中,在上述基于单片机软件分层设计的系统中,所述第二转换模块300,包括:
第二获取模块301,用于获取各目标设备中的所述功能层的接口的源代码;
第二函数模块302,用于将各所述功能层的接口的源代码转换成统一的第二标准代码。
请参阅图9,在本实施例中,在上述基于单片机软件分层设计的系统中,所述第二转换模块300,还包括:
第二判断模块,用于判断对应的驱动隔离层的第一标准接口是否处于上机状态;
若是,则启动所述第二函数模块302。
所述第二函数模块302在所述第二判断模块303判断为是的前提下启动,可以提高系统的运行效率。
请参阅图10,在本实施例中,在上述基于单片机软件分层设计的系统中,所述应用模块400,包括:
第一调用模块401,用于调用对应的第二标准接口,启动对应的功能层;
第二调用模块402,用于调用对应的第一标准接口,启动对应的驱动隔离层;
第三调用模块403,用于调用对应的驱动层的接口,启动对应的驱动层;
第四调用模块404,用于驱动对应的硬件平台。
所述应用层模块101接收服务指令后,所述第一转换模块200用于将各目标设备的所述驱动隔离层的接口统一为第一标准接口;然后,所述第一调用模块401启动所述功能层模块102;所述第二转换模块300用于将各目标设备的所述功能层的接口统一为第二标准接口;然后所述第二调用模块402启动所述驱动隔离层模块103,所述第三调用模块403启动所述驱动层模块104,所述第四调用模块404用于驱动对应的硬件平台以实现应用服务。
所述应用层模块101、功能层模块102及驱动层模块104相互独立,因此,所述应用层模块101、功能层模块102和驱动层模块104可以单独移植。此外,所述应用层模块101、功能层模块102、驱动隔离层模块103及驱动层模块104均可单独编译。因此提高了各自代码的保密性,不易被盗用或随意篡改。
本发明还提供一种计算机设备,上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线18结构中的一种或多种,包括存储器总线18或者存储器控制器,外围总线18,图形加速端口,处理器或者使用多种总线18结构中的任意总线18结构的局域总线18。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线18,微通道体系结构(MAC)总线18,增强型ISA总线18、音视频电子标准协会(VESA)局域总线18以及外围组件互连(PCI)总线18。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图11中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD~ROM,DVD~ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图11中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统34等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于单片机分层设计的方法。
也即,上述处理单元16执行上述程序时实现:将各目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;将各目标设备的所述驱动隔离层的接口统一为第一标准接口;将各目标设备的所述功能层的接口统一为第二标准接口;调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的处理音视频的方法:
也即,该被处理器执行时实现:将各目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;将各目标设备的所述驱动隔离层的接口统一为第一标准接口;将各目标设备的所述功能层的接口统一为第二标准接口;调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机克顿信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPOM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD~ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,改计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明提供的基于单片机软件分层设计的方法、系统、设备及存储介质的有益效果在于:将目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;驱动隔离层调用驱动层的接口与驱动层连接;功能层调用驱动隔离层的接口与驱动隔离层连接;应用层调用功能层的接口与功能层连接;同时将驱动隔离层的接口统一为第一标准接口、将功能层的接口统一为第二标准接口,因此能够实现跨硬件平台的移植,提高单片机软件代码的可移植性和实用性。应用层、功能层及驱动层相互独立,可以单独编译,从而提高单片机软件代码的保密性和可维护性
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于单片机软件分层设计的方法,其特征在于:包括如下步骤:
将各目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;
将各目标设备的所述驱动隔离层的接口统一为第一标准接口;
将各目标设备的所述功能层的接口统一为第二标准接口;
调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务。
2.如权利要求1所述的基于单片机软件分层设计的方法,其特征在于:所述将目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层的步骤中,包括:
将各目标设备的单片机软件中接收人机交互信息的部分划分为应用层;
将各目标设备的单片机软件中存储与应用服务相关的功能函数的部分划分为功能层;
将各目标设备的单片机软件中处理功能函数并生成指令的部分划分为驱动隔离层;
将各目标设备的单片机软件中直接作用于硬件平台的部分划分为驱动层。
3.如权利要求1所述的基于单片机软件分层设计的方法,其特征在于:所述将所述驱动隔离层的接口统一为第一标准接口的步骤中,包括:
获取各目标设备中的所述驱动隔离层的接口的源代码;
通过指定的第一转换函数将各所述驱动隔离层的接口的源代码转换成统一的第一标准代码。
4.如权利要求3所述的基于单片机软件分层设计的方法,其特征在于:在所述通过指定的第一转换函数将各所述驱动隔离层的接口的源代码转换成统一的第一标准代码的步骤之前,包括如下步骤:
判断对应的驱动层的接口是否处于上机状态;
若是,则执行所述通过指定的第一转换函数将各所述驱动隔离层的接口的源代码转换成统一的第一标准代码的步骤。
5.如权利要求3所述的基于单片机软件分层设计的方法,其特征在于:所述将所述功能层的接口统一为第二标准接口的步骤中,包括:
获取各目标设备中的所述功能层的接口的源代码;
通过指定的第二转换函数将各所述功能层的接口的源代码转换成统一的第二标准代码。
6.如权利要求5所述的基于单片机软件分层设计的方法,其特征在于:在所述通过制定的第二转换函数将各所述功能层的接口的源代码转换成统一的第二标准代码的步骤之前,包括如下步骤:
判断对应的驱动隔离层的第一标准接口是否处于上机状态;
若是,则执行所述通过制定的第二转换函数将各所述功能层的接口的源代码转换成统一的第二标准代码的步骤。
7.如权利要求5所述的基于单片机软件分层方法,其特征在于:所述调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务的步骤中,包括:
各目标设备的应用层调用对应的第二标准接口,启动对应的功能层;
所述功能层调用对应的第一标准接口,启动对应的驱动隔离层;
所述驱动隔离层调用对应的驱动层的接口,启动对应的驱动层;
所述驱动层驱动对应的硬件平台。
8.一种基于单片机软件分层设计的系统,其特征在于:包括:
分层模块,用于将各目标设备的单片机软件分为应用层、功能层、驱动隔离层及驱动层;
第一转换模块,用于将各目标设备的所述驱动隔离层的接口统一为第一标准接口;
第二转换模块,用于将各目标设备的所述功能层的接口统一为第二标准接口;
应用模块,用于调用各目标设备的所述第二标准接口和所述第一标准接口,实现应用服务。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811004566.6A CN109165011A (zh) | 2018-08-30 | 2018-08-30 | 基于单片机软件分层设计的方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811004566.6A CN109165011A (zh) | 2018-08-30 | 2018-08-30 | 基于单片机软件分层设计的方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109165011A true CN109165011A (zh) | 2019-01-08 |
Family
ID=64893469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811004566.6A Pending CN109165011A (zh) | 2018-08-30 | 2018-08-30 | 基于单片机软件分层设计的方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109165011A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857663A (zh) * | 2020-07-17 | 2020-10-30 | 济南浪潮数据技术有限公司 | 一种软件设计方法、系统及电子设备和存储介质 |
CN114489587A (zh) * | 2022-01-28 | 2022-05-13 | 山东思科赛德矿业安全工程有限公司 | 一种基于分层架构思想的单片机程序构建方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426197A (zh) * | 2015-12-30 | 2016-03-23 | 北京迪创伟业科技有限公司 | 针对嵌入式产品的分层式设计方法 |
CN106484436A (zh) * | 2016-10-26 | 2017-03-08 | 合肥润客软件科技有限公司 | 一种基于软件开发平台中多目标交叉调试系统 |
CN106802869A (zh) * | 2017-01-17 | 2017-06-06 | 东方网力科技股份有限公司 | 类串口设备的驱动模型及驱动系统 |
-
2018
- 2018-08-30 CN CN201811004566.6A patent/CN109165011A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426197A (zh) * | 2015-12-30 | 2016-03-23 | 北京迪创伟业科技有限公司 | 针对嵌入式产品的分层式设计方法 |
CN106484436A (zh) * | 2016-10-26 | 2017-03-08 | 合肥润客软件科技有限公司 | 一种基于软件开发平台中多目标交叉调试系统 |
CN106802869A (zh) * | 2017-01-17 | 2017-06-06 | 东方网力科技股份有限公司 | 类串口设备的驱动模型及驱动系统 |
Non-Patent Citations (2)
Title |
---|
国内贸易部等: "《商业自动化教程》", 30 June 1997, 清华大学出版社 * |
陈铁军等主编: "《单片机原理及应用技术》", 31 August 2014, 西南交通大学出版社 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857663A (zh) * | 2020-07-17 | 2020-10-30 | 济南浪潮数据技术有限公司 | 一种软件设计方法、系统及电子设备和存储介质 |
CN111857663B (zh) * | 2020-07-17 | 2022-06-17 | 济南浪潮数据技术有限公司 | 一种软件设计方法、系统及电子设备和存储介质 |
CN114489587A (zh) * | 2022-01-28 | 2022-05-13 | 山东思科赛德矿业安全工程有限公司 | 一种基于分层架构思想的单片机程序构建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101268445B (zh) | 用于向多核环境中的应用程序提供实时线程服务的方法、装置 | |
CN110096338A (zh) | 智能合约执行方法、装置、设备及介质 | |
CN103154922B (zh) | 虚拟usb复合装置枚举 | |
CN102939588B (zh) | 不依赖于管理程序平台的数据中心管理的方法和装置 | |
US10575121B2 (en) | System and method for instantiation of services at a location based on a policy | |
CN102253855B (zh) | 一种传递共享内存的方法和装置 | |
CN102902544B (zh) | 一种电话支付终端软件平台的实现方法 | |
CN102567399B (zh) | 一种访问数据库的方法和装置 | |
CN104657149A (zh) | 一种存储系统的管理模块的软件框架实现方法 | |
CN109165011A (zh) | 基于单片机软件分层设计的方法、系统、设备及存储介质 | |
CN116319390B (zh) | 一种多模态网络资源抽象及编排方法和系统 | |
CN107247634A (zh) | 一种机器人动态异步远程过程调用的方法和装置 | |
CN116149797B (zh) | 面向异构场景的ai统一计算方法、装置、设备及介质 | |
CN105656947A (zh) | 一种交易中间件与第三方系统交互的方法、装置和系统 | |
CN108319849A (zh) | 基于安卓双容器系统的设备策略管理系统及管理域实现方法 | |
CN205103599U (zh) | 一种跨境贸易bpo应用云终端装置 | |
CN109684103A (zh) | 一种接口调用方法、装置、服务器及存储介质 | |
CN109992489A (zh) | 一种用于监控用户设备中应用的执行行为的方法与设备 | |
CN117389647A (zh) | 插件生成方法、应用程序开发方法、装置、设备及介质 | |
CN111190983B (zh) | 一种变电站图模与输电线路拼接装置、系统和方法 | |
CN105677505B (zh) | 一种基于串口管理ipmi的方法 | |
CN109246161A (zh) | 控制器的调度方法、装置和计算机可读存储介质 | |
CN111090430B (zh) | 一种嵌入式系统下的应用软件开发系统 | |
CN116225419A (zh) | 后端事务处理的无代码开发方法、装置、存储介质及设备 | |
CN109254856A (zh) | 智能pos服务端提供接口给客户端的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190108 |