嵌入式软件中库函数独立分区的实现方法和系统以及设备与流程

文档序号:17159499发布日期:2019-03-20 00:28阅读:229来源:国知局
嵌入式软件中库函数独立分区的实现方法和系统以及设备与流程

本发明实施例涉及嵌入式软件技术领域,特别涉及一种嵌入式软件中库函数独立分区的实现方法和系统以及设备。



背景技术:

嵌入式是当前最热门的it(informationtechnology,信息技术)应用领域之一,其中,嵌入式软件的开发占据重要的地位。为了缩短嵌入式软件的开发周期,嵌入式软件工作通常由多人并行开发,最后集成为一个工程。嵌入式软件并行开发时,可将嵌入式软件部分软件功能打包成库函数供其它软件部分调用。

但是,发明人发现现有技术中至少存在如下问题:

当嵌入式软件中库函数被修改时,需要对整个嵌入式软件工程重新进行集成和编译,使得嵌入式软件的开发和使用的效率一般。



技术实现要素:

本发明实施方式的目的在于提供一种嵌入式软件中库函数独立分区的实现方法和系统以及设备,能够实现使库函数和应用软件都有各自独立的运行空间,互不干扰,减少耦合,而且应用软件能通过库函数入口地址调用库函数,能够实现在库函数被修改时,不需要对整个嵌入式软件工程重新进行集成和编译,提高了嵌入式软件的开发和使用的效率。

为解决上述技术问题,本发明的实施方式提供了一种嵌入式软件中库函数独立分区的实现方法,包括:

在嵌入式软件中,新建库函数工程和用户工程;其中,所述库函数工程用于存储嵌入式软件中的库函数,所述用户工程用于存储嵌入式软件中的应用软件;

将所述库函数工程和用户工程分成两个独立的区域,使所述库函数工程在一单独的存储空间内,使所述用户工程在另一单独的存储空间内;

将所述经分成独立区域后的库函数工程中的库函数创建入口地址;其中,所述创建的入口地址是固定的存储空间地址;

使所述用户工程中的应用软件通过所述创建的库函数入口地址,调用所述库函数工程中的库函数。

本发明的实施方式还提供了一种嵌入式软件中库函数独立分区的实现系统,包括:

工程新建单元、分区单元、创建单元和调用单元;

所述工程新建单元,用于在嵌入式软件中,新建库函数工程和用户工程;其中,所述库函数工程用于存储嵌入式软件中的库函数,所述用户工程用于存储嵌入式软件中的应用软件;

所述分区单元,用于将所述库函数工程和用户工程分成两个独立的区域,使所述库函数工程在一单独的存储空间内,使所述用户工程在另一单独的存储空间内;

所述创建单元,用于将所述经分成独立区域后的库函数工程中的库函数创建入口地址;其中,所述创建的入口地址是固定的存储空间地址;

所述调用单元,用于使所述用户工程中的应用软件通过所述创建的库函数入口地址,调用所述库函数工程中的库函数。

本发明的实施方式还提供了一种智能设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的嵌入式软件中库函数独立分区的实现方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的嵌入式软件中库函数独立分区的实现方法。

本发明实施方式相对于现有技术而言,可以采用独立分区方式,将该库函数工程和用户工程分成两个独立的区域,使该库函数工程在一单独的存储空间内,使该用户工程在另一单独的存储空间内,能够实现使库函数工程中的库函数和用户工程中的应用软件都有各自独立的运行空间,互不干扰,减少耦合。

另外,可以采用建立库函数入口地址数组表的方式,将该经分成独立区域后的库函数工程中的库函数创建入口地址;其中,一个库函数可以对应一个库函数入口地址数组,能够实现使该库函数工程中的库函数通过该创建的库函数入口地址中的入口地址数组供相应的应用软件访问。

另外,通过验证该用户工程中的应用软件在调用该库函数工程中的库函数后是否能自动返回之前的位置执行,验证到该用户工程中的应用软件在调用该库函数工程中的库函数后能自动返回之前的位置执行,则调用该库函数工程中的库函数成功,验证到该用户工程中的应用软件在调用该库函数工程中的库函数后不能自动返回之前的位置执行,则调用该库函数工程中的库函数不成功,重复使该用户工程中的应用软件通过该创建的库函数入口地址,调用该库函数工程中的库函数的过程,能够实现对调用该库函数工程中的库函数成功与否进行验证,保障使用户工程中的应用软件通过创建的库函数入口地址,成功调用库函数工程中的库函数。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明第一实施方式中一种嵌入式软件中库函数独立分区的实现方法的流程图;

图2是根据本发明第二实施方式中一种嵌入式软件中库函数独立分区的实现方法的流程图;

图3是根据本发明第三实施方式中一种嵌入式软件中库函数独立分区的实现系统的结构示意图;

图4是根据本发明第四实施方式中一种嵌入式软件中库函数独立分区的实现系统的结构示意图;

图5是根据本发明第五实施方式中一种智能设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种嵌入式软件中库函数独立分区的实现方法。本实施方式的核心在于应用于智能设备,包括在嵌入式软件中,新建库函数工程和用户工程,进而将该库函数工程和用户工程分成两个独立的区域,使该库函数工程在一单独的存储空间内,使该用户工程在另一单独的存储空间内,进而将该经分成独立区域后的库函数工程中的库函数创建入口地址,进而使该用户工程中的应用软件通过该创建的库函数入口地址,调用该库函数工程中的库函数。通过上述方式,能够实现使库函数和应用软件都有各自独立的运行空间,互不干扰,减少耦合,而且应用软件能通过库函数入口地址调用库函数,能够实现在库函数被修改时,不需要对整个嵌入式软件工程重新进行集成和编译,提高了嵌入式软件的开发和使用的效率。下面对本实施方式的嵌入式软件中库函数独立分区的实现方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。

本实施方式中的一种嵌入式软件中库函数独立分区的实现方法流程如图1所示,具体包括:

步骤101:在嵌入式软件中,新建库函数工程和用户工程;其中,该库函数工程用于存储嵌入式软件中的库函数,该用户工程用于存储嵌入式软件中的应用软件。

步骤102:将该库函数工程和用户工程分成两个独立的区域,使该库函数工程在一单独的存储空间内,使该用户工程在另一单独的存储空间内。

具体的说,可以采用独立分区方式,将该库函数工程和用户工程分成两个独立的区域,使该库函数工程在一单独的存储空间内,使该用户工程在另一单独的存储空间内,能够实现使库函数工程中的库函数和用户工程中的应用软件都有各自独立的运行空间,互不干扰,减少耦合。

步骤103:将该经分成独立区域后的库函数工程中的库函数创建入口地址;其中,该创建的入口地址可以是固定的存储空间地址。

具体的说,可以采用建立库函数入口地址数组表的方式,将该经分成独立区域后的库函数工程中的库函数创建入口地址;其中,一个库函数可以对应一个库函数入口地址数组,能够实现使该库函数工程中的库函数通过该创建的库函数入口地址中的入口地址数组供相应的应用软件访问。

步骤104:使该用户工程中的应用软件通过该创建的库函数入口地址,调用该库函数工程中的库函数。

在本实施方式中,可以采用计算机系统keil将该库函数工程和用户工程分成两个独立的区域,使该库函数工程在一单独的存储空间内,使该用户工程在另一单独的存储空间内。

在本实施方式中,可以将该库函数工程中的库函数独立划分该库函数工程中子工程中的库函数,该子工程的main函数内容可以为空,这样的好处是方便对该库函数工程中的库函数进行管理和方便应用软件对该库函数的访问和调用等,可以包括:

在该库函数工程中新建多个库函数子工程,其中,一个库函数子工程可以用于存储一个或多个库函数,一个库函数子工程中至少存储一个库函数;

对该多个库函数子工程中需要调用的库函数创建关联该库函数子工程的入口地址,供应用软件对该需要调用的库函数进行访问和调用等,使相应的库函数子工程形成独立的可调试的子工程。

本发明的第二实施方式涉及一种嵌入式软件中库函数独立分区的实现方法。第二实施方式在第一实施方式的基础上做了进一步改进,主要改进之处在于:在本发明第二实施方式中,在该使该用户工程中的应用软件通过该创建的库函数入口地址,调用该库函数工程中的库函数之后,还可以包括:验证该用户工程中的应用软件在调用该库函数工程中的库函数后是否能自动返回之前的位置执行,验证到该用户工程中的应用软件在调用该库函数工程中的库函数后能自动返回之前的位置执行,则调用该库函数工程中的库函数成功,验证到该用户工程中的应用软件在调用该库函数工程中的库函数后不能自动返回之前的位置执行,则调用该库函数工程中的库函数不成功,重复使该用户工程中的应用软件通过该创建的库函数入口地址,调用该库函数工程中的库函数的过程,能够实现对调用该库函数工程中的库函数成功与否进行验证,保障使用户工程中的应用软件通过创建的库函数入口地址,成功调用库函数工程中的库函数。

本实施方式中的一种嵌入式软件中库函数独立分区的实现方法流程如图2所示,具体包括:

步骤201:在嵌入式软件中,新建库函数工程和用户工程;其中,该库函数工程用于存储嵌入式软件中的库函数,该用户工程用于存储嵌入式软件中的应用软件。

步骤202:将该库函数工程和用户工程分成两个独立的区域,使该库函数工程在一单独的存储空间内,使该用户工程在另一单独的存储空间内。

步骤203:将该经分成独立区域后的库函数工程中的库函数创建入口地址;其中,该创建的入口地址可以是固定的存储空间地址。

步骤204:使该用户工程中的应用软件通过该创建的库函数入口地址,调用该库函数工程中的库函数。

步骤205:验证该用户工程中的应用软件在调用该库函数工程中的库函数后是否能自动返回之前的位置执行,验证到该用户工程中的应用软件在调用该库函数工程中的库函数后能自动返回之前的位置执行,则调用该库函数工程中的库函数成功,验证到该用户工程中的应用软件在调用该库函数工程中的库函数后不能自动返回之前的位置执行,则调用该库函数工程中的库函数不成功,重复使该用户工程中的应用软件通过该创建的库函数入口地址,调用该库函数工程中的库函数的过程。

由于本实施方式中步骤201-204与第一实施方式中步骤101-104大致相同,为避免重复,此处不再赘述。

本发明实施方式相对于现有技术而言,通过验证该用户工程中的应用软件在调用该库函数工程中的库函数后是否能自动返回之前的位置执行,验证到该用户工程中的应用软件在调用该库函数工程中的库函数后能自动返回之前的位置执行,则调用该库函数工程中的库函数成功,验证到该用户工程中的应用软件在调用该库函数工程中的库函数后不能自动返回之前的位置执行,则调用该库函数工程中的库函数不成功,重复使该用户工程中的应用软件通过该创建的库函数入口地址,调用该库函数工程中的库函数的过程,能够实现对调用该库函数工程中的库函数成功与否进行验证,保障使用户工程中的应用软件通过创建的库函数入口地址,成功调用库函数工程中的库函数。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

下面进行举例说明本实施方式:

本举例是以基于stm32(armcortex-m内核单片机)芯片为例对本实施方式进行举例说明。在本举例中,可以在嵌入式软件中,新建库函数工程和用户工程,其中,该库函数工程用于存储嵌入式软件中的库函数,该用户工程用于存储嵌入式软件中的应用软件,进而可以采用计算机系统keil将该库函数工程和用户工程分成两个独立的区域,使该库函数工程在一单独的存储空间内,使该用户工程在另一单独的存储空间内,进则可以使库函数工程中的main函数为空,实现一个更新继电器输出的函数upddo,并创建一个库函数入口地址数组表,固定库函数所在的存储空间地址,进而可以在用户工程中通过该库函数入口地址数组表对应的地址来调用所需库函数,进而可以使继电器按照应用软件给出的入口地址对应的值进行输出,同时用户工程在调用库函数后能自动返回之前的位置执行,则验证到库函数独立分区域的方式可行,能够实现使库函数和应用软件都有各自独立的运行空间,互不干扰,减少耦合,而且应用软件能通过库函数入口地址调用库函数,能够实现在库函数被修改时,不需要对整个嵌入式软件工程重新进行集成和编译,提高了嵌入式软件的开发和使用的效率,还能够实现对调用该库函数工程中的库函数成功与否进行验证,保障使用户工程中的应用软件通过创建的库函数入口地址,成功调用库函数工程中的库函数。

本发明第三实施方式涉及一种嵌入式软件中库函数独立分区的实现系统,如图3所示。本实施例中,该嵌入式软件中库函数独立分区的实现系统300包括:工程新建单元301、分区单元302、创建单元303和调用单元304。

该工程新建单元301,用于在嵌入式软件中,新建库函数工程和用户工程;其中,该库函数工程用于存储嵌入式软件中的库函数,该用户工程用于存储嵌入式软件中的应用软件。

该分区单元302,用于将该库函数工程和用户工程分成两个独立的区域,使该库函数工程在一单独的存储空间内,使该用户工程在另一单独的存储空间内。

该创建单元303,用于将该经分成独立区域后的库函数工程中的库函数创建入口地址;其中,该创建的入口地址可以是固定的存储空间地址。

该调用单元304,用于使该用户工程中的应用软件通过该创建的库函数入口地址,调用该库函数工程中的库函数。

可选地,该分区单元302,可以具体用于:

采用独立分区方式,将该库函数工程和用户工程分成两个独立的区域,使该库函数工程在一单独的存储空间内,使该用户工程在另一单独的存储空间内。

可选地,该创建单元303,可以具体用于:

采用建立库函数入口地址数组表的方式,将该经分成独立区域后的库函数工程中的库函数创建入口地址;其中,一个库函数可以对应一个库函数入口地址数组。

不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第四实施方式涉及一种嵌入式软件中库函数独立分区的实现系统。第四实施方式与第三实施方式大致相同,区别于第三实施方式,本实施方式所述嵌入式软件中库函数独立分区的实现系统400还包括:验证单元401。

该验证单元401,用于验证该用户工程中的应用软件在调用该库函数工程中的库函数后是否能自动返回之前的位置执行,验证到该用户工程中的应用软件在调用该库函数工程中的库函数后能自动返回之前的位置执行,则调用该库函数工程中的库函数成功,验证到该用户工程中的应用软件在调用该库函数工程中的库函数后不能自动返回之前的位置执行,则调用该库函数工程中的库函数不成功,重复使该用户工程中的应用软件通过该创建的库函数入口地址,调用该库函数工程中的库函数的过程。

由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

本发明第五实施方式涉及一种智能设备,如图5所示,包括:至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述的嵌入式软件中库函数独立分区的实现方法。

其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。

处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器502可以被用于存储处理器501在执行操作时所使用的数据。

本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

以上实施方式,需要说明的是,为保证脉冲型伺服驱动器出厂参数为默认参数,在测试过程中,无论测试结果是测试通过结果还是测试有故障的结果,测试过程中修改过的参数都可以在程序最后改回默认参数。

以上实施方式,需要说明的是,测试所用电机,可以确保脉冲型伺服驱动器能自动读取编码器里的电机参数,编码器零位。

以上实施方式,需要说明的是,刚性影响电机速度波动,可能造成测试故障误报,要依据实际测试电机,可以在程序中设置刚性相关参数。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1