CN109324838B - 单片机程序的执行方法、执行装置及终端 - Google Patents
单片机程序的执行方法、执行装置及终端 Download PDFInfo
- Publication number
- CN109324838B CN109324838B CN201811012747.3A CN201811012747A CN109324838B CN 109324838 B CN109324838 B CN 109324838B CN 201811012747 A CN201811012747 A CN 201811012747A CN 109324838 B CN109324838 B CN 109324838B
- Authority
- CN
- China
- Prior art keywords
- target resource
- chip microcomputer
- file
- resource object
- absolute address
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44573—Execute-in-place [XIP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请适用于计算机技术领域,提供了一种单片机程序的执行方法、执行装置、终端及计算机可读存储介质,所述执行方法包括:获取目标资源对象;将所述目标资源对象整理生成目标资源文件;从目标资源文件中读取所述目标资源对象的绝对地址;控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作。本申请能够提高单片机程序的执行效率。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种单片机程序的执行方法、执行装置、终端及计算机可读存储介质。
背景技术
单片微型计算机(Single Chip Microcomputer)简称单片机,是指集成在一个芯片上的微型计算机,它的各种功能部件(例如CPU、存储器、接口电路等等)都制作在一块集成芯片上,构成一个完整的微型计算机。单片机程序是指用于指示单片机完成一个特定功能的指令序列,单片机程序的执行过程可能会涉及多个资源文件的调用。
然而,受限于体积,单片机的存储空间有限,相关的资源文件一般需要单独存放到外部存储设备中,例如,存储到TF卡(Trans-flash Card)中。单片机程序执行过程中,由于读取外部资源费时多,可能造成单片机卡顿、甚至死机,导致单片机程序的执行效率不高。
发明内容
有鉴于此,本申请提供了一种单片机程序的执行方法、执行装置、终端及计算机可读存储介质,以解决现有技术中单片机程序的执行效率不高的问题。
本申请的第一方面提供了一种单片机程序的执行方法,所述执行方法包括:
获取目标资源对象;
将所述目标资源对象整理生成目标资源文件,其中,所述目标资源文件中包括所述目标资源对象的绝对地址;
从所述目标资源文件中读取所述目标资源对象的绝对地址;
控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作。
基于第一方面,在第一种可能的实现方式中,所述将所述目标资源对象整理生成目标资源文件具体包括:
获取所述目标资源对象中的初始资源文件,其中,所述初始资源文件用于存储与所述单片机程序关联的资源对象的标识和存储路径;
将所述初始资源文件转换成目标资源文件,其中,所述目标资源文件用于指示所述目标资源对象的绝对地址,所述绝对地址基于所述标识以及所述存储路径得到。
基于第一方面,在第二种可能的实现方式中,所述将所述初始资源文件转换成目标资源文件,包括:
读取所述初始资源文件中存储的第一数据,其中,所述第一数据包括标识数据和存储路径数据;
将所述第一数据转换为指定格式的第二数据,生成用于保存所述第二数据的中间文件;
基于所述中间文件,生成目标资源文件。
基于第一方面,在第三种可能的实现方式中,所述基于所述中间文件,生成目标资源文件,包括:
对所述中间文件进行校验;
若校验通过,则基于所述中间文件,生成目标资源文件。
基于第一方面,在第四种可能的实现方式中,所述初始资源文件包括Excel格式的文件。
基于第一方面,在第五种可能的实现方式中,所述目标资源文件中的资源对象之间通过链表进行连接。
基于第一方面,在第六种可能的实现方式中,在控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作之后,还包括:
控制所述单片机程序跳转至与所述目标资源对象通过链表连接的下一个资源对象的绝对地址,并执行与所述下一个资源对象对应的操作。
本申请的第二方面提供了一种单片机程序的执行装置,所述执行装置包括:
资源对象获取单元,用于获取目标资源对象;
资源文件生成单元,用于将资源对象获取单元获取的目标资源对象整理生成目标资源文件,其中,所述目标资源文件中包括所述目标资源对象的绝对地址;
绝对地址读取单元,用于从资源文件生成单元生成的目标资源文件中读取所述目标资源对象的绝对地址;
控制单元,用于控制所述单片机程序跳转至所述绝对地址读取单元读取的绝对地址,并执行与所述目标资源对象对应的操作。
在第二方面第一种可能的实现方式中,该执行装置还包括:
资源文件获取单元,用于获取所述目标资源对象中的初始资源文件,其中,所述初始资源文件用于存储与所述单片机程序关联的资源对象的标识和存储路径。
资源文件转换单元,用于将所述资源文件获取单元获取的初始资源文件转换成目标资源文件,其中,所述目标资源文件用于指示所述目标资源对象的绝对地址,所述绝对地址基于所述标识以及所述存储路径得到。
在第二方面第二种可能的实现方式中,该执行装置还包括:
数据读取单元,用于读取所述初始资源文件中存储的第一数据,其中,所述第一数据包括标识数据和存储路径数据。
中间文件生成单元,用于将所述数据读取单元读取的第一数据转换为指定格式的第二数据,生成用于保存所述第二数据的中间文件。
所述资源文件转换单元还用于,基于所述中间文件生成单元生成的中间文件,生成目标资源文件。
在第二方面第三种可能的实现方式中,该执行单元还包括:
文件校验单元,用于对所述中间文件生成单元生成的中间文件进行校验;
所述资源文件转换单元还用于,基于所述文件校验单元检验通过的中间文件,生成目标资源文件。
在第二方面第四种可能的实现方式中,所述初始资源文件包括Excel格式的文件。
在第二方面第五种可能的实现方式中,所述目标资源文件中的资源对象之间通过链表进行连接。
在第二方面第六种可能的实现方式中,所述控制单元还用于:在控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作之后,控制所述单片机程序跳转至与所述目标资源对象通过链表连接的下一个资源对象的绝对地址,并执行与所述下一个资源对象对应的操作。
本申请的第三方面提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如任一项所述单片机程序的执行方法的步骤。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如任一项所述单片机程序的执行方法的步骤。
本申请与现有技术相比存在的有益效果是:
本申请通过获取目标资源对象并将获取的目标资源对象整理生成目标资源文件;再从目标资源文件中读取所述目标资源对象的绝对地址;控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作;解决了现有技术中单片机程序的执行效率不高的问题,也即,单片机程序在执行过程中,在需要调用目标资源对象时,由于可以从生成的目标资源文件中直接读取到目标资源对象的绝对地址,从而可以减少资源对象的查找和读取时间,提高单片机程序的执行效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的单片机程序的执行方法的实现流程图;
图2是本申请实施例提供的图1所示实施例中步骤102的一个实现流程图;
图3是本申请实施例提供的单片机程序的执行装置的结构示意图;
图4是本申请实施例提供的终端的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
单片机程序也即单片机内部存储的应用程序,单片机依赖于单片机程序来实现特定的功能,而单片机程序的执行过程可能涉及大量的资源对象的调用以及程序的跳转,故,单片机程序的架构直接影响单片机程序的执行效率。本申请应用于单片机,提供了一种单片机程序的执行方法,通过对单片机程序涉及的资源对象进行整理,以梳理单片机程序的执行过程,从而减少单片机程序进行资源对象读取和调用的时间,提高单片机程序的执行效率。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。
参见图1,其示出了本申请实施例提供的单片机程序的执行方法的实现流程图,详述如下:
在步骤101中、获取目标资源对象。
在本申请实施例中,首先执行单片机的主程序,单片机的主程序可以存储在单片机的闪存(Flash Memory)中,主程序运行时具备该单片机的中央处理器控制权。主程序运行过程中,可以调用存储在外部存储设备中的资源对象,例如,当接收到来自用户的触发指令、或者其它预先定义的触发事件时,响应于上述触发指令或触发事件,主程序调用存储在存储设备TF卡中的资源文件中的菜单数据并执行相应的操作。
在本申请实施例中,所述目标资源对象表示单片机的主程序响应于用户的操作指令或者预定义的触发事件,需要调用的存储于外部存储空间的资源对象。该目标资源对象可以为菜单数据、也可以为一个可独立执行的应用程序。具体的,可以获取该目标资源对象的标识。
需要说明的是,在本申请实施例中,所述的单片机程序包括单片机的主程序以及在所述主程序运行过程中调用的函数、应用程序以及其它资源对象。
在步骤102中、将所述目标资源对象整理生成目标资源文件,其中,所述目标资源文件中包括所述目标资源对象的绝对地址。
在本申请实施例中,对获取的目标资源对象进行整理,生成目标资源文件。具体的,可以根据主程序中目标资源对象的调用顺序,对目标资源对象进行排序;还可以获取目标资源对象的存储信息,并基于该存储信息得到该目标资源对象的绝对地址。最终生成的目标资源文件为经过排序,可以直接指示当前所需的目标资源对象的绝对地址的文件。绝对地址为就是文件、资源在网络或本地的绝对位置;在本申请实施例中体现为目标资源对象在目标资源文件中的绝对位置,即通过该绝对位置可在目标资源文件中找到对应的目标资源文件。
在步骤103中、从所述目标资源文件中读取所述目标资源对象的绝对地址。
在本申请实施例中,根据生成的目标资源文件,可以方便的定位到当前所需的目标资源对象,主程序在定位到该目标资源对象之后,读取该目标资源对象的绝对地址,便可以直接跳转至该绝对地址,并继续执行下一步的操作。
在本申请实施例中,所述绝对地址是指直接指向存储器的具体存储单元的地址。
在一种应用场景中,可以通过定义绝对宏的方式来访问目标资源文件中目标资源对象的绝对地址,例如用“#include<absacc.h>”即可使用其中定义的宏来访问绝对地址。
在另一种应用场景中,可以通过在数据定义后加上_at_const来读取到绝对地址,例如,“idata struct link list_at_0x40”可以指定链表(list)结构从绝对地址40h开始。
在步骤104中、控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作。
在本申请实施例中,从目标资源文件中读取到目标资源对象对应的绝对地址之后,控制单片机程序跳转至所述绝对地址,可以直接得到该目标资源对象的信息,并执行与所述目标资源对象对应的操作。
在一种应用场景中,假设单片机程序的功能为根据用户的操作指令进行动态菜单显示,动态菜单信息存储于外部的TF卡中,单片机程序启动后响应于用户的操作指令,读取目标资源文件中与所述操作指令对应的菜单的绝对地址,从该绝对地址中直接读取菜单信息并进行显示。由于是通过绝对地址直接进行菜单的读取操作,避免了从资源文件中的海量数据信息中进行查找和寻址的过程,节省了资源读取时间,提高了单片机程序的执行速度。
由上可知,本申请通过获取目标资源对象并将获取的目标资源对象整理生成目标资源文件;再从目标资源文件中读取所述目标资源对象的绝对地址;控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作;解决了现有技术中单片机程序的执行效率不高的问题,也即,单片机程序在执行过程中,在需要调用目标资源对象时,由于可以从生成的目标资源文件中直接读取到目标资源对象的绝对地址,从而可以减少资源对象的查找和读取时间,提高单片机程序的执行效率。
图2示出了本申请提供的图1所示实施例中步骤102的一个实现流程图,详述如下:
在步骤201中、获取目标资源对象中的初始资源文件。
在本申请实施例中,目标资源对象中预先设置有初始资源文件,所述初始资源文件用于存储与所述单片机程序关联的资源对象的标识和存储路径;为了便于修改、更新或扩展,所述初始资源文件可以预先指定内容格式,也可以预先指定文件格式,例如,通过Excel表格来记录资源对象的标识和存储路径。
需要说明的是,该初始资源文件可以根据实际需要定义其格式,例如可以为Word格式、Excel格式或者其它格式;在本实施例中,为了提高读取的便利性,所述初始资源文件采用Excel格式的文件,例如xml文件,在该文件中以每行记录一个资源对象,资源对象所在行的列内容中记录该资源对象的各参数,包括函数名、存储地址。这样还有利于编程人员对初始资源文件进行修改、更新或扩展。
在步骤202中、将所述初始资源文件转换成目标资源文件。
在本申请实施例中,所述目标资源文件用于指示所述目标资源对象的绝对地址,所述绝对地址基于所述标识以及所述存储路径得到。初始资源文件是为了方便开发人员进行修改、更新或扩展,因此可以通过可读性较好的格式或语言进行描述和记录;而通常该种语言难以被单片机程序直接读取或识别,故需要将初始资源文件转换为单片机程序可直接读取识别的文件,也即,需要将该初始资源文件转换成目标资源文件。
可选的,上述步骤202可以通过以下方式实现:
步骤2021、读取所述初始资源文件中存储的第一数据,其中,所述第一数据包括标识数据和存储路径数据。
步骤2022、将所述第一数据转换为指定格式的第二数据,生成用于保存所述第二数据的中间文件。
步骤2023、基于所述中间文件,生成目标资源文件。
在本申请实施例中,为了使单片机程序可以直接读取识别初始资源文件中记录的资源对象标识以及存储路径,可以通过预先设计的一个转换程序或者编译程序,将所述初始资源文件中的数据转换为单片机程序可直接识别和读取的数据,其中,用于存储单片机程序可直接识别和读取的数据的文件即目标资源文件。
本实施例中,为了提高单片机程序运行的准确性,首先将所述初始资源文件转换成中间文件,并对所述中间文件进行校验,例如验证中间文件是否存在数据丢失。为了提高校验速度,该中间文件可以具有固定的格式,例如,通过双引号标识菜单,通过逗号作为分隔符以分割不同的信息内容。
本实施例中,若校验通过,表示初始资源文件记录无误,则可以基于所述校验通过的中间文件,进一步的生成单片机程序可直接读取的目标资源文件。
可选的,所述目标资源文件中的资源对象之间通过链表进行连接。
为了进一步提高单片机程序的执行速度,可以将目标资源文件中的各资源对象进行排序,并通过链表进行连接,也即,每个资源对象中可以存储有下一个资源对象的绝对地址,单片机程序在执行完本次操作之后可以根据链表的地址指向,继续进行跳转并执行下一个对应的操作。
可选的,在控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作之后,还包括:
控制所述单片机程序跳转至与所述目标资源对象通过链表连接的下一个资源对象的绝对地址,并执行与所述下一个资源对象对应的操作。
在本申请实施例中,由于目标资源文件中的各资源对象之间通过链表进行了连接,单片机程序在当前的绝对地址执行完与本次资源对象对应的操作之后,可以直接跳转至本次资源对象中指向的下一个资源对象的绝对地址,以执行下一个资源对象对应的操作。当然,目标资源文件中的资源对象也可以通过链表的方式指示单片机程序返回执行主程序对应的操作。
由上可知,本申请通过获取目标资源对象并将获取的目标资源对象整理生成目标资源文件;再从目标资源文件中读取所述目标资源对象的绝对地址;控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作;解决了现有技术中单片机程序的执行效率不高的问题,也即,单片机程序在执行过程中,在需要调用目标资源对象时,由于可以从生成的目标资源文件中直接读取到目标资源对象的绝对地址,从而可以减少资源对象的查找和读取时间,提高单片机程序的执行效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
以下为本申请的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
图3示出了本申请实施例提供的单片机程序的执行装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分,详述如下:
如图3所示,单片机程序的执行装置装置3包括:资源对象获取单元31,资源文件生成单元32,绝对地址读取单元33和控制单元34。
资源对象获取单元31,用于获取目标资源对象。
资源文件生成单元32,用于将资源对象获取单元获取的目标资源对象整理生成目标资源文件,其中,所述目标资源文件中包括所述目标资源对象的绝对地址。
绝对地址读取单元33,用于从资源文件生成单元生成的目标资源文件中读取目标资源对象的绝对地址。
控制单元34,用于控制所述单片机程序跳转至绝对地址读取单元33读取的绝对地址,并执行与所述目标资源对象对应的操作。
可选的,单片机程序的执行装置3还包括:
资源文件获取单元,用于获取所述目标资源对象中的初始资源文件,其中,所述初始资源文件用于存储与所述单片机程序关联的资源对象的标识和存储路径。
资源文件转换单元,用于将所述资源文件获取单元获取的初始资源文件转换成目标资源文件,其中,所述目标资源文件用于指示所述目标资源对象的绝对地址,所述绝对地址基于所述标识以及所述存储路径得到。
可选的,单片机程序的执行装置3还包括:
数据读取单元,用于读取所述初始资源文件中存储的第一数据,其中,所述第一数据包括标识数据和存储路径数据;
中间文件生成单元,用于将所述数据读取单元读取的第一数据转换为指定格式的第二数据,生成用于保存所述第二数据的中间文件;
所述资源文件转换单元还用于,基于所述中间文件生成单元生成的中间文件,生成目标资源文件。
可选的,单片机程序的执行装置装置3还包括:
文件校验单元,用于对所述中间文件生成单元生成的中间文件进行校验;
所述资源文件转换单元还用于,基于所述文件校验单元检验通过的中间文件,生成目标资源文件。
可选的,所述资源文件获取单元获取的初始资源文件为Excel格式的文件。
可选的,所述资源文件转换单元生成的目标资源文件中的资源对象之间通过链表进行连接。
可选的,控制单元34还用于,在控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作之后,控制所述单片机程序跳转至与所述目标资源对象通过链表连接的下一个资源对象的绝对地址,并执行与所述下一个资源对象对应的操作。
由上可知,本申请通过获取目标资源对象并将获取的目标资源对象整理生成目标资源文件;再从目标资源文件中读取所述目标资源对象的绝对地址;控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作;解决了现有技术中单片机程序的执行效率不高的问题,也即,单片机程序在执行过程中,在需要调用目标资源对象时,由于可以从生成的目标资源文件中直接读取到目标资源对象的绝对地址,从而可以减少资源对象的查找和读取时间,提高单片机程序的执行效率。
图4是本申请一实施例提供的终端的示意图。如图4所示,该实施例的终端4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个单片机程序的执行方法实施例中的步骤,例如图1所示的步骤101至步骤104。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图3所示单元31至34的功能。
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端4中的执行过程。例如,所述计算机程序42可以被分割成资源对象获取单元,资源文件生成单元,绝对地址读取单元和控制单元,各单元具体功能如下:
资源对象获取单元,用于获取目标资源对象;
资源文件生成单元,用于将资源对象获取单元获取的目标资源对象整理生成目标资源文件,其中,所述目标资源文件中包括所述目标资源对象的绝对地址;
绝对地址读取单元,用于从资源文件生成单元生成的目标资源文件中读取所述目标资源对象的绝对地址;
控制单元,用于控制所述单片机程序跳转至所述绝对地址读取单元读取的绝对地址,并执行与所述目标资源对象对应的操作。
所述终端4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端4的示例,并不构成对终端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述终端4的内部存储单元,例如终端4的硬盘或内存。所述存储器41也可以是所述终端4的外部存储设备,例如所述终端4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种单片机程序的执行方法,其特征在于,所述执行方法包括:
获取目标资源对象;其中,所述目标资源对象表示单片机的主程序响应于用户的操作指令或者预定义的触发事件,需要调用的存储于外部存储空间的资源对象;
将所述目标资源对象整理生成目标资源文件,其中,所述目标资源文件中包括所述目标资源对象的绝对地址;
从所述目标资源文件中读取所述目标资源对象的绝对地址;
在需要调用目标资源对象时,控制所述单片机程序直接跳转至所述绝对地址,从所述绝对地址中直接读取信息并进行显示,并执行与所述目标资源对象对应的操作。
2.根据权利要求1所述的单片机程序的执行方法,其特征在于,所述将所述目标资源对象整理生成目标资源文件,具体包括:
获取所述目标资源对象中的初始资源文件,其中,所述初始资源文件用于存储与所述单片机程序关联的资源对象的标识和存储路径;
将所述初始资源文件转换成目标资源文件,其中,所述目标资源文件用于指示所述目标资源对象的绝对地址,所述绝对地址基于所述标识以及所述存储路径得到。
3.根据权利要求2所述的单片机程序的执行方法,其特征在于,所述将所述初始资源文件转换成目标资源文件,包括:
读取所述初始资源文件中存储的第一数据,其中,所述第一数据包括标识数据和存储路径数据;
将所述第一数据转换为指定格式的第二数据,生成用于保存所述第二数据的中间文件;
基于所述中间文件,生成目标资源文件。
4.根据权利要求3所述的单片机程序的执行方法,其特征在于,所述基于所述中间文件,生成目标资源文件,包括:
对所述中间文件进行校验;
若校验通过,则基于所述中间文件,生成目标资源文件。
5.根据权利要求2至4任一项所述的单片机程序的执行方法,其特征在于,所述初始资源文件包括Excel格式或Word格式的文件。
6.根据权利要求5所述的单片机程序的执行方法,其特征在于,所述目标资源文件中的资源对象之间通过链表进行连接。
7.根据权利要求6所述的单片机程序的执行方法,其特征在于,在控制所述单片机程序跳转至所述绝对地址,并执行与所述目标资源对象对应的操作之后,还包括:
控制所述单片机程序跳转至与所述目标资源对象通过链表连接的下一个资源对象的绝对地址,并执行与所述下一个资源对象对应的操作。
8.一种单片机程序的执行装置,其特征在于,所述执行装置包括:
资源对象获取单元,用于获取目标资源对象;其中,所述目标资源对象表示单片机的主程序响应于用户的操作指令或者预定义的触发事件,需要调用的存储于外部存储空间的资源对象;
资源文件生成单元,用于将资源对象获取单元获取的目标资源对象整理生成目标资源文件,其中,所述目标资源文件中包括所述目标资源对象的绝对地址;
绝对地址读取单元,用于从资源文件生成单元生成的目标资源文件中读取所述目标资源对象的绝对地址;
控制单元,用于在需要调用目标资源对象时,控制所述单片机程序直接跳转至所述绝对地址读取单元读取的绝对地址,从所述绝对地址中直接读取信息并进行显示,并执行与所述目标资源对象对应的操作。
9.一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述单片机程序的执行方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述单片机程序的执行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811012747.3A CN109324838B (zh) | 2018-08-31 | 2018-08-31 | 单片机程序的执行方法、执行装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811012747.3A CN109324838B (zh) | 2018-08-31 | 2018-08-31 | 单片机程序的执行方法、执行装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109324838A CN109324838A (zh) | 2019-02-12 |
CN109324838B true CN109324838B (zh) | 2022-05-10 |
Family
ID=65264193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811012747.3A Active CN109324838B (zh) | 2018-08-31 | 2018-08-31 | 单片机程序的执行方法、执行装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109324838B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538488B (zh) * | 2020-04-17 | 2023-05-02 | 荏原冷热***(中国)有限公司 | 一种单片机驱动程序生成方法及装置 |
CN112882423B (zh) * | 2021-01-26 | 2021-10-15 | 深圳市航顺芯片技术研发有限公司 | 单片机、单片机控制方法、装置、智能终端及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1222985A (zh) * | 1996-05-03 | 1999-07-14 | 艾利森电话股份有限公司 | 在多级流水线结构中处理条件跳转的方法 |
CN101673214A (zh) * | 2009-10-26 | 2010-03-17 | 上海交通大学 | 剖分信息收集***及其收集方法 |
CN101763273A (zh) * | 2008-12-26 | 2010-06-30 | 上海闻泰电子科技有限公司 | 一种在嵌入式***的扩展存储器中动态装入代码的方法 |
CN102354281A (zh) * | 2011-07-11 | 2012-02-15 | 中国科学院深圳先进技术研究院 | 一种无线传感网络中内核装置及其实现方法 |
CN104035793A (zh) * | 2014-05-22 | 2014-09-10 | 浙江大学 | 基于单片机的在应用无线编程方法 |
CN105224305A (zh) * | 2014-07-01 | 2016-01-06 | 华为技术有限公司 | 函数调用路径编解码方法、装置及*** |
CN106095416A (zh) * | 2016-06-01 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种在应用程序中的跳转处理方法、装置及智能终端 |
CN106874054A (zh) * | 2017-03-06 | 2017-06-20 | 四川天邑康和通信股份有限公司 | 一种直放站内模块程序在线升级方法与*** |
CN108241516A (zh) * | 2018-02-09 | 2018-07-03 | 深圳科立讯通信有限公司 | 嵌入式***程序加载方法、装置、计算机设备和存储介质 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7114042B2 (en) * | 2003-05-22 | 2006-09-26 | International Business Machines Corporation | Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment |
US7882339B2 (en) * | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
US7886141B2 (en) * | 2007-10-27 | 2011-02-08 | Asix Electronics Corporation | Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems |
CN101625643B (zh) * | 2009-05-08 | 2012-01-04 | 四川和芯微电子股份有限公司 | 一种8051单片机地址映射方法 |
CN101615128B (zh) * | 2009-07-31 | 2012-05-23 | 北京华环电子股份有限公司 | 一种单片机在线升级的方法及装置 |
CN103077056B (zh) * | 2012-12-31 | 2015-12-23 | 中国电子科技集团公司第十五研究所 | 使用少量ROM资源的Bootlorder实现方法 |
CN104714846B (zh) * | 2013-12-17 | 2018-06-05 | 华为技术有限公司 | 资源处理方法、操作***及设备 |
CN103744709B (zh) * | 2014-01-23 | 2017-02-15 | 华为技术有限公司 | 补丁加载方法及装置 |
US20150261535A1 (en) * | 2014-03-11 | 2015-09-17 | Cavium, Inc. | Method and apparatus for low latency exchange of data between a processor and coprocessor |
CN105224370B (zh) * | 2015-10-21 | 2019-03-08 | 安一恒通(北京)科技有限公司 | 一种加载elf文件的方法和装置 |
CN105259834B (zh) * | 2015-10-28 | 2017-09-12 | 华中科技大学 | 一种固件可重构的手机数据采集控制器 |
CN105700427A (zh) * | 2016-01-13 | 2016-06-22 | 武汉合康动力技术有限公司 | 一种单片机程序跑飞的修正方法 |
CN107885540A (zh) * | 2016-09-28 | 2018-04-06 | 腾讯科技(深圳)有限公司 | 一种加载应用程序静态资源的方法、装置及终端 |
CN107729352B (zh) * | 2017-08-30 | 2020-07-31 | 深圳壹账通智能科技有限公司 | 页面资源加载方法及终端设备 |
CN107729040A (zh) * | 2017-09-28 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种单片机的iap方法及*** |
CN107894920A (zh) * | 2017-11-09 | 2018-04-10 | 广东欧珀移动通信有限公司 | 资源配置方法及相关产品 |
CN108108094A (zh) * | 2017-12-12 | 2018-06-01 | 深圳和而泰数据资源与云技术有限公司 | 一种信息处理方法、终端及计算机可读介质 |
CN108268039A (zh) * | 2018-01-19 | 2018-07-10 | 广东美的智能机器人有限公司 | 移动机器人的路径规划方法及*** |
CN108459885A (zh) * | 2018-03-26 | 2018-08-28 | 深圳市元征科技股份有限公司 | 一种资源分散加载的方法及其单片机 |
-
2018
- 2018-08-31 CN CN201811012747.3A patent/CN109324838B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1222985A (zh) * | 1996-05-03 | 1999-07-14 | 艾利森电话股份有限公司 | 在多级流水线结构中处理条件跳转的方法 |
CN101763273A (zh) * | 2008-12-26 | 2010-06-30 | 上海闻泰电子科技有限公司 | 一种在嵌入式***的扩展存储器中动态装入代码的方法 |
CN101673214A (zh) * | 2009-10-26 | 2010-03-17 | 上海交通大学 | 剖分信息收集***及其收集方法 |
CN102354281A (zh) * | 2011-07-11 | 2012-02-15 | 中国科学院深圳先进技术研究院 | 一种无线传感网络中内核装置及其实现方法 |
CN104035793A (zh) * | 2014-05-22 | 2014-09-10 | 浙江大学 | 基于单片机的在应用无线编程方法 |
CN105224305A (zh) * | 2014-07-01 | 2016-01-06 | 华为技术有限公司 | 函数调用路径编解码方法、装置及*** |
CN106095416A (zh) * | 2016-06-01 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种在应用程序中的跳转处理方法、装置及智能终端 |
CN106874054A (zh) * | 2017-03-06 | 2017-06-20 | 四川天邑康和通信股份有限公司 | 一种直放站内模块程序在线升级方法与*** |
CN108241516A (zh) * | 2018-02-09 | 2018-07-03 | 深圳科立讯通信有限公司 | 嵌入式***程序加载方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109324838A (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542399B (zh) | 软件开发方法、装置、终端设备及计算机可读存储介质 | |
CN109814939B (zh) | 一种动态加载方法、目标文件的制作方法及装置 | |
CN111428462B (zh) | 通讯协议模板构建的方法及终端设备 | |
CN108388598B (zh) | 电子装置、数据存储方法及存储介质 | |
CN107239392B (zh) | 一种测试方法、装置、终端及存储介质 | |
CN111104421A (zh) | 一种基于数据接口标准配置的数据查询方法及装置 | |
CN111782216B (zh) | 页面生成方法、服务器和存储介质 | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN108170425B (zh) | 一种程序代码的修改方法、修改装置及终端设备 | |
CN111143446A (zh) | 数据对象的数据结构转换处理方法、装置及电子设备 | |
CN109324838B (zh) | 单片机程序的执行方法、执行装置及终端 | |
CN109542398B (zh) | 一种业务***生成方法、装置及计算机可读存储介质 | |
CN110750440A (zh) | 数据测试方法及终端设备 | |
CN113407254B (zh) | 表单生成方法、装置、电子设备及存储介质 | |
CN110968339B (zh) | 前端构建工具的方法、装置以及电子设备 | |
CN113032275A (zh) | 字段测试方法、装置、电子设备及存储介质 | |
CN115757174A (zh) | 一种数据库的差异检测方法及装置 | |
CN113822002B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN115270198A (zh) | Pdf文档的签名方法、装置及存储介质 | |
CN111228815B (zh) | 处理游戏的配置表的方法、装置、存储介质和*** | |
CN113760237A (zh) | 编译地址的更新方法、装置、终端设备及可读存储介质 | |
CN113722321A (zh) | 数据导出方法、装置和电子设备 | |
CN114356912A (zh) | 一种向数据库写入数据的方法及计算机设备 | |
CN113296827A (zh) | 不同语言的转换方法、装置及终端设备 | |
CN114443375A (zh) | 测试方法及装置、电子装置及计算机可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |