CN114398026A - 程序运行方法、装置、编程器和计算机可读存储介质 - Google Patents
程序运行方法、装置、编程器和计算机可读存储介质 Download PDFInfo
- Publication number
- CN114398026A CN114398026A CN202111651512.0A CN202111651512A CN114398026A CN 114398026 A CN114398026 A CN 114398026A CN 202111651512 A CN202111651512 A CN 202111651512A CN 114398026 A CN114398026 A CN 114398026A
- Authority
- CN
- China
- Prior art keywords
- program
- storage medium
- volatile storage
- target service
- general function
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000008571 general function Effects 0.000 claims abstract description 84
- 230000006870 function Effects 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 230000009191 jumping Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种程序运行方法、装置、编程器和计算机可读存储介质,所述方法包括:在非易失性存储介质中运行通用功能程序;通过所述通用功能程序从外部器件中获取对应的目标业务程序;将所述目标业务程序写入易失性存储介质;在所述易失性存储介质中运行所述目标业务程序。采用本申请的方法能够解决内部存储空间不足的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其是一种程序运行方法、装置、编程器和计算机可读存储介质。
背景技术
在芯片编程中,由于业务程序需求不尽相同,常常会有多个不同的业务程序。同时受限于存储介质的大小,在编程器中无法支持多个业务程序的存储和运行。然而,在芯片编程中,经常会遇到不同业务程序需要反复加载运行的情况。传统的方式是将程序写入编程器内部存储中运行。然而,传统的方式,存在内部存储空间不足的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种程序运行方法、装置、编程器和计算机可读存储介质,能够解决内部存储空间不足的问题。
一种程序运行方法,所述方法包括:
在非易失性存储介质中运行通用功能程序;
通过所述通用功能程序从外部器件中获取对应的目标业务程序;
将所述目标业务程序写入易失性存储介质;
在所述易失性存储介质中运行所述目标业务程序。
一种程序运行装置,所述装置包括:
通用功能程序运行模块,用于在非易失性存储介质中运行通用功能程序;
目标业务程序获取模块,用于通过所述通用功能程序从外部器件中获取对应的目标业务程序;
目标业务程序写入模块,用于将所述目标业务程序写入易失性存储介质;
目标业务程序运行模块,用于在所述易失性存储介质中运行所述目标业务程序。
一种编程器,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请实施例中各方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例中各方法的步骤。
上述程序运行方法、装置、编程器和计算机可读存储介质,在非易失性存储介质中运行通用功能程序,通过该通用功能程序从外部器件中获取对应的目标业务程序,即业务程序存储在外部器件中,能够解决内部存储空间不足的问题;将目标业务程序写入易失性存储介质,在易失性存储介质中运行目标业务程序;充分利用了非易失性存储介质和易失性存储介质,能够避免非易失性存储介质因频繁擦写而导致的损坏问题;此外在易失性存储介质中运行目标业务程序,能够提高程序运行速度。
附图说明
图1为一个实施例中程序运行方法的应用环境图;
图2为一个实施例中程序运行方法的流程示意图;
图3为另一个实施例中程序运行方法的应用环境图;
图4为一个实施例中程序运行的示意图;
图5为一个实施例中程序运行装置的结构框图;
图6为一个实施例中编程器的内部结构图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
在一个实施例中,如图1所示,为一个实施例中程序运行方法的应用环境图。图1中包括编程器10。编程器10中包括单片机100。单片机又称微控制单元(MicrocontrollerUnit,MCU)。单片机100中包括非易失性存储介质110和易失性存储介质120。非易失性存储介质110用于存储介质通用功能程序。易失性存储介质120用于存储业务程序。
在一个实施例中,如图2所示,为一个实施例中程序运行方法的流程示意图,以图2的步骤应用于编程器中10为例,其中包括:
步骤202,在非易失性存储介质中运行通用功能程序。
其中,通用功能程序是指实现固定不变的、通用的功能的程序。通用功能程序包括但不限于固件数据、系统应用程序。通用功能程序存储在非易失性存储介质中。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。
具体地,在编程器出厂时,将通用功能程序烧录到非易失性存储介质中。单片机基于非易失性存储介质启动,并在非易失性存储介质中运行通用功能程序。
步骤204,通过通用功能程序从外部器件获取对应的目标业务程序。
其中,目标业务程序是指通过通用功能程序调用的业务程序。目标业务程序位于外部器件的业务程序集中。外部器件具体可以是外部的存储介质,或者外部的计算机设备。外部的计算机设备如服务器、手机、电脑等。
具体地,编程器可通过通用功能程序,从服务器中或者从终端设备中获取目标业务程序。
进一步地,编程器通过通用功能程序接收外部器件发送的目标业务程序。以外部器件为终端设备为例,终端设备上运行的编程器客户端软件可以获取目标业务程序标识,通过编程器客户端软件可以从终端设备的存储介质中获取目标业务程序标识对应的目标业务程序。终端设备的存储介质中存储有业务程序集。终端设备向编程器发送该目标业务程序。编程器通过通用功能程序,接收终端设备发送的目标业务程序。
步骤206,将目标业务程序写入易失性存储介质。
其中,易失性存储介质可以是RAM(Random Access Memory,随机存取存储器),也叫主存,是与CPU直接交换数据的内部存储器。
具体地,单片机通过通用功能程序将目标业务程序写入易失性存储介质。
步骤208,在易失性存储介质中运行目标业务程序。
上述程序运行方法,在非易失性存储介质中运行通用功能程序,通过该通用功能程序从外部器件中获取对应的目标业务程序,即业务程序存储在外部器件中,能够解决内部存储空间不足的问题;将目标业务程序写入易失性存储介质,在易失性存储介质中运行目标业务程序;充分利用了非易失性存储介质和易失性存储介质,能够避免非易失性存储介质因频繁擦写而导致的损坏问题;此外在易失性存储介质中运行目标业务程序,能够提高程序运行速度。
在一个实施例中,程序运行方法应用于编程器。通过通用功能程序从外部器件中获取对应的目标业务程序,包括:通过通用功能程序从终端设备中获取与芯片选项所对应的目标业务程序;芯片选项是在终端设备的编程器控制界面中选取的。
其中,编程器是一种可以操作(读、写、擦等)可编程器件内部数据的工具。编程器通常与终端设备连接,再配合在终端设备上运行的编程器客户端软件使用。芯片选项是指在终端设备的编程器控制界面上所显示的用于指示待编程芯片的选项。
具体地,如图3所示,为另一个实施例中程序运行方法的应用环境图。其中,编程器310与终端设备320连接。连接方式可以是有线连接,也可以是无线连接。终端设备具体可以是手机、电脑、平板等。当从编程器客户端软件的编程器控制界面中选择进入某个芯片选项进行操作时,编程器客户端软件获取此芯片选项关联的目标业务程序标识。终端设备中存储有业务程序集。编程器客户端软件从终端设备的存储介质中获取该目标业务程序标识对应的目标业务程序。编程器客户端软件将目标业务程序下发给编程器。编程器通过通用功能程序从终端设备中获取到与芯片选项所对应的目标业务程序。编程器在易失性存储介质中运行目标业务程序,完成对该芯片选项对应的芯片的编程操作。
本实施例中,在编程器对芯片的编程的场景中,由于不同的芯片选项的业务程序有所不同,涉及的芯片选项种类繁多,因此业务程序存储在终端设备中,并通过通用功能程序从终端设备中获取与芯片选项所对应的目标业务程序,能够解决编程器内部存储空间不足的问题,也提高编程器的通用性。此外,由于业务程序存储于终端设备中,当业务程序需要更新时,只需要在终端设备中更新业务程序集,提高业务程序更新的便利性。
在一个实施例中,通过通用功能程序从外部器件中获取对应的目标业务程序,包括:响应于终端设备所发送的对芯片选项的编程请求,编程请求中包括芯片选项对应的目标业务程序标识;通过通用功能程序向服务器发送目标业务程序标识,发送的目标业务程序标识用于指示服务器返回对应的目标业务程序。
其中,业务程序标识用于唯一地标识业务程序。业务程序标识具体可以由数字、字母、符号、文字中至少一种组成。业务程序标识包括但不限于唯一的文件名、唯一的ID(Identity, 身份标识)、业务程序的哈希值。编程请求可用于对芯片选项所对应的芯片进行读、写和擦等操作。服务器中存储有多个芯片选项的业务程序。一个芯片选项对应一个业务程序标识。一个业务程序标识可以对应多个芯片选项。
具体地,终端设备获取从编程器控制界面所选取的芯片选项,根据该芯片选项确定对应的目标业务程序标识。终端设备根据目标业务程序标识生成编程请求,并将编程请求发送至编程器。编程器中包含通信模块。编程器响应于终端设备所发送的对芯片选项的编程请求,该编程请求中包括芯片选项对应的目标业务程序标识。编程器通过通用功能程序以及该通信模块向服务器发送目标业务程序标识。服务器根据该目标业务程序标识向编程器返回对应的目标业务程序。
本实施例中,通过响应于终端设备所发送的对芯片选项的编程请求,且编程请求中包括芯片选项对应的目标业务程序标识,通过通用功能程序向服务器发送目标业务程序标识,使得服务器返回对应的目标业务程序,不需要在易失性存储介质和非易失性存储介质中存储过多的业务数据,同时能支持对多种芯片的编程。
在一个实施例中,在易失性存储介质中运行目标业务程序,包括:切换至目标业务程序对应的中断向量,跳转至易失性存储介质,在易失性存储介质中执行目标业务程序。
具体地,中断向量是指微机系统中存放中断服务函数地址的入口地址。目标业务程序对应的中断向量用于指示该目标业务程序中断服务函数的入口地址。编程器切换至目标业务程序对应的中断向量,跳转至易失性存储介质,在易失性存储介质中执行目标业务程序。
本实施例中,切换至目标业务程序对应的中断向量,跳转至易失性存储介质并执行目标业务程序,能够保证中断向量和业务程序相匹配,避免程序出错跑飞。
在一个实施例中,在易失性存储介质中运行目标业务程序之后,程序运行方法还包括:切换至通用功能程序对应的中断向量,跳转至非易失性存储介质,在非易失性存储介质中继续运行通用功能程序。
本实施例中,在运行目标业务程序之后,需要返回通用功能程序,因此切换至通用功能程序对应的中断向量,跳转至非易失性存储介质,在非易失性存储介质中继续运行通用功能程序,能够返回通用功能程序,并且能够保证中断向量和业务程序相匹配,避免程序出错跑飞。
在一个实施例中,在易失性存储介质中运行目标业务程序之后,可将目标业务程序所占用的存储释放,也可以不释放。例如,当获取到新的编程请求时,释放原有的业务程序。或者,当获取到新的编程请求时,通过通用功能程序获取新的业务程序,利用新的业务程序覆盖原有的业务程序。
在一个实施例中,该非易失性存储介质包括闪存;该易失性存储介质包括随机存取存储器。
具体地,闪存(FLASH EEPROM Memory,FLASH)是一种非易失性存储介质,在没有电流供应的条件下也能够长久地保持数据。
随机存取存储器包括SRAM(Static Random Access Memory,静态随机存取存储器)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。SRAM只要保持通电,里面存储的数据就可以恒常保持。DRAM里面所存储的数据需要周期性更新。易失性存储介质优选为SRAM。由于SRAM通常为MCU内部集成,使用方便,且SRAM执行速度比DRAM快。
本实施例中,通过在非易失性存储介质中运行通用功能程序,将程序中经常变更的功能即业务程序放在随机存取存储器中实现,能够充分利用闪存和随机存取存储器的资源,实现成本低;并且不会因频繁擦写而使得闪存损坏,从而闪存的硬件损耗少,寿命更长。
在一个实施例中,该程序运行方法还包括:响应于对通用功能程序的更新请求,在闪存中更新通用功能程序。
其中,更新请求可以是升级请求、增加通用功能程序的请求、减少通用功能程序的请求、修改通用功能程序的请求等不限于此。
具体地,编程器接收终端设备发送的对通用功能程序的更新请求,并响应于对通用功能程序的更新请求,在闪存中更新通用功能程序。
本实施例中,响应于对通用功能程序的更新请求,在闪存中更新通用功能程序,能够对通用功能程序进行升级,提高设备的通用性。
在一个实施例中,通用编程器需要支持多种芯片的读写,涉及不同的接口、协议、参数等,显然全部集成在一个程序中很难实现。编程器的内部存储空间有限,也难以同时满足要求。
以应用于编程器中的MCU、非易失性存储介质为FLASH、易失性存储介质为RAM、通用功能程序为程序A、目标业务程序为程序B1、外部器件为终端设备为例进行说明。如图4所示,为一个实施例中程序运行的示意图。图中包括程序A、程序B1、其它业务程序如程序B2、程序B3…程序Bn。
组成部分:FLASH中的程序A和RAM中的程序B1
(1)FLASH程序部分:程序A
程序中固定不变、通用的功能放在内部FLASH实现。其次,FLASH中的程序至少支持以下功能:从终端设备中获取程序B1、将程序B1加载到RAM中运行。
(2)RAM程序部分:程序B1
程序中经常变更的需求放在内部RAM实现。RAM中的程序至少支持以下功能:特定的业务功能、返回FLASH中运行。
实现流程步骤:
①出厂时烧录程序A到MCU的FLASH中。MCU从FLASH中启动,运行程序A。
②当需要执行特定业务功能时,程序A从编程器客户端获取业务程序B1。
③程序A将获取的程序B1写入RAM中,切换到程序B1的中断向量,跳入RAM中执行程序B1。
④程序B1执行特定业务功能后,切换到程序A的中断向量,跳入FLASH中执行程序A。
如果需求的业务功能有变更,只需要更换程序B1,重复②-④的流程即可。
以通用编程器为例,例如读写一个X芯片选项是一个需求,对应业务程序B1;读写一个Y芯片选项是一个需求,对应一个业务程序B2。当先读写X芯片选项,再读写Y芯片选项时,程序切换顺序为A→B1→A→B2→A。
上述实施例应用于编程器对芯片的编程场景。由于不同芯片的编程方式有所不同,且涉及的芯片型号种类繁多,业务需求较多,使用上述方式可以更好地满足需求。具体在于:解决了编程器的内部存储空间不足的问题;充分利用了MCU内部的FLASH和RAM资源,实现成本低;避免频繁擦写FLASH导致FLASH损坏的问题,使得FLASH寿命长且硬件损耗小;业务程序在RAM中的运行速度远高于FLASH。此外,由于业务程序存储于终端设备中,当业务程序需要更新时,只需要在终端设备中更新业务程序集,提高业务程序更新的便利性。
在一个实施例中,一种程序运行方法,包括:
步骤(a1),在非易失性存储介质中运行通用功能程序。非易失性存储介质包括闪存。
步骤(a2),通过通用功能程序从终端设备中获取与芯片选项所对应的目标业务程序;芯片选项是在终端设备的编程器控制界面中选取的。
步骤(a3),将目标业务程序写入易失性存储介质。易失性存储介质包括随机存取存储器。
步骤(a4),切换至目标业务程序对应的中断向量,跳转至易失性存储介质,在易失性存储介质中执行目标业务程序。
步骤(a5),切换至通用功能程序对应的中断向量,跳转至非易失性存储介质,在非易失性存储介质中继续运行通用功能程序。
步骤(a6),响应于对通用功能程序的更新请求,在闪存中更新通用功能程序。
本实施例中,在非易失性存储介质中运行通用功能程序,通过该通用功能程序从外部器件中获取对应的目标业务程序,即业务程序存储在外部器件中,能够解决内部存储空间不足的问题;将目标业务程序写入易失性存储介质,在易失性存储介质中运行目标业务程序;充分利用了非易失性存储介质和易失性存储介质,能够避免非易失性存储介质的频繁擦写而导致的损坏问题;此外在易失性存储介质中运行目标业务程序,能够提高运行速度。
应该理解的是,虽然上述步骤(a1)至步骤(a6)中的各个步骤按照标号指示依次显示,但是这些步骤并不是必然按照箭头或者数字指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述步骤(a1)至步骤(a6)中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,为一个实施例中程序运行装置的结构框图。图5提供了一种程序运行装置,该装置可以采用软件模块或者硬件模块,或者二者的结合,该装置具体包括:通用功能程序运行模块502、目标业务程序获取模块504、目标业务程序写入模块506和目标业务程序运行模块508,其中:
通用功能程序运行模块502,用于在非易失性存储介质中运行通用功能程序;
目标业务程序获取模块504,用于通过所述通用功能程序从外部器件中获取对应的目标业务程序;
目标业务程序写入模块506,用于将所述目标业务程序写入易失性存储介质;
目标业务程序运行模块508,用于在所述易失性存储介质中运行所述目标业务程序。
上述程序运行装置,在非易失性存储介质中运行通用功能程序,通过该通用功能程序从外部器件中获取对应的目标业务程序,即业务程序存储在外部器件中,能够解决内部存储空间不足的问题;将目标业务程序写入易失性存储介质,在易失性存储介质中运行目标业务程序;充分利用了非易失性存储介质和易失性存储介质,能够避免非易失性存储介质因频繁擦写而导致的损坏问题;此外在易失性存储介质中运行目标业务程序,能够提高程序运行速度。
在一个实施例中,目标业务程序获取模块504,用于通过通用功能程序从终端设备中获取与芯片选项所对应的目标业务程序;芯片选项是在终端设备的编程器控制界面中选取的。
本实施例中,在编程器对芯片的编程的场景中,由于不同的芯片选项的业务程序有所不同,涉及的芯片选项种类繁多,因此业务程序存储在终端设备中,并通过通用功能程序从终端设备中获取与芯片选项所对应的目标业务程序,解决编程器内部存储空间不足的问题,也能够提高编程器的通用性。此外,由于业务程序存储于终端设备中,当业务程序需要更新时,只需要在终端设备中更新业务程序集,提高业务程序更新的便利性。
在一个实施例中,目标业务程序获取模块504,用于响应于终端设备所发送的对芯片选项的编程请求,编程请求中包括芯片选项对应的目标业务程序标识;通过通用功能程序向服务器发送目标业务程序标识,发送的所述目标业务程序标识用于指示服务器返回对应的目标业务程序。
本实施例中,通过响应于终端设备所发送的对芯片选项的编程请求,且编程请求中包括芯片选项对应的目标业务程序标识,通过通用功能程序向服务器发送目标业务程序标识,使得服务器返回对应的目标业务程序,不需要在易失性存储介质和非易失性存储介质中存储过多的业务数据,同时能支持对多种芯片的编程。
在一个实施例中,目标业务程序运行模块508,用于切换至目标业务程序对应的中断向量,跳转至易失性存储介质,在易失性存储介质中执行目标业务程序。
本实施例中,切换至目标业务程序对应的中断向量,跳转至易失性存储介质并执行目标业务程序,能够保证中断和程序相匹配,避免程序出错跑飞。
在一个实施例中,通用功能程序运行模块502,切换至通用功能程序对应的中断向量,跳转至非易失性存储介质,在非易失性存储介质中继续运行通用功能程序。
本实施例中,在运行目标业务程序之后,需要返回通用功能程序,因此切换至通用功能程序对应的中断向量,跳转至非易失性存储介质,在非易失性存储介质中继续运行通用功能程序,能够返回通用功能程序,并且能够保证中断向量和业务程序相匹配,避免程序出错跑飞。
在一个实施例中,该非易失性存储介质包括闪存;该易失性存储介质包括随机存取存储器。
本实施例中,通过在非易失性存储介质中运行通用功能程序,将程序中经常变更的功能即业务程序放在随机存取存储器中实现,能够充分利用闪存和随机存取存储器的资源,实现成本低;并且不会因频繁擦写而使得闪存损坏,从而闪存的硬件损耗少,寿命更长。
在一个实施例中,该程序运行装置还包括更新模块。更新模块用于响应于对通用功能程序的更新请求,在闪存中更新通用功能程序。
本实施例中,响应于对通用功能程序的更新请求,在闪存中更新通用功能程序,能够对通用功能程序进行升级,提高设备的通用性。
关于程序运行装置的具体限定可以参见上文中对于程序运行方法的限定,在此不再赘述。上述程序运行装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于编程器中的处理器中,也可以以软件形式存储于编程器中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种编程器,其内部结构图可以如图6所示。该编程器包括处理器和存储器。处理器和存储器可以位于单片机中。处理器具体可以是CPU(CentralProcessing Unit,中央处理器)。该编程器的处理器用于提供计算和控制能力。存储器具体包括非易失性存储介质和易失性存储介质。该编程器还包括通信接口。该编程器的通信接口用于与外部的终端设备进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种程序运行方法。该编程器的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的编程器的限定,具体的编程器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种编程器,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。编程器的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得编程器执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例中流程。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种程序运行方法,其特征在于,所述方法包括:
在非易失性存储介质中运行通用功能程序;
通过所述通用功能程序从外部器件中获取对应的目标业务程序;
将所述目标业务程序写入易失性存储介质;
在所述易失性存储介质中运行所述目标业务程序。
2.根据权利要求1所述的方法,其特征在于,应用于编程器,所述通过所述通用功能程序从外部器件中获取对应的目标业务程序,包括:
通过所述通用功能程序从终端设备中获取与芯片选项对应的目标业务程序;所述芯片选项是在所述终端设备的编程器控制界面中选取的。
3.根据权利要求1所述的方法,其特征在于,所述通过所述通用功能程序从外部器件中获取对应的目标业务程序,包括:
响应于终端设备所发送的对芯片选项的编程请求;所述编程请求中包括所述芯片选项对应的目标业务程序标识;
通过所述通用功能程序向服务器发送所述目标业务程序标识,发送的所述目标业务程序标识用于指示所述服务器返回对应的目标业务程序。
4.根据权利要求1所述的方法,其特征在于,所述在所述易失性存储介质中运行所述目标业务程序,包括:
切换至所述目标业务程序对应的中断向量,跳转至所述易失性存储介质,在所述易失性存储介质中执行所述目标业务程序。
5.根据权利要求1所述的方法,其特征在于,所述在所述易失性存储介质中运行所述目标业务程序之后,所述方法还包括:
切换至所述通用功能程序对应的中断向量,跳转至所述非易失性存储介质,在所述非易失性存储介质中继续运行所述通用功能程序。
6.根据权利要求1所述的方法,其特征在于,所述非易失性存储介质包括闪存;所述易失性存储介质包括随机存取存储器。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应于对所述通用功能程序的更新请求,在所述闪存中更新所述通用功能程序。
8.一种程序运行装置,其特征在于,所述装置包括:
通用功能程序运行模块,用于在非易失性存储介质中运行通用功能程序;
目标业务程序获取模块,用于通过所述通用功能程序从外部器件中获取对应的目标业务程序;
目标业务程序写入模块,用于将所述目标业务程序写入易失性存储介质;
目标业务程序运行模块,用于在所述易失性存储介质中运行所述目标业务程序。
9.一种编程器,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111651512.0A CN114398026A (zh) | 2021-12-31 | 2021-12-31 | 程序运行方法、装置、编程器和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111651512.0A CN114398026A (zh) | 2021-12-31 | 2021-12-31 | 程序运行方法、装置、编程器和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114398026A true CN114398026A (zh) | 2022-04-26 |
Family
ID=81229827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111651512.0A Pending CN114398026A (zh) | 2021-12-31 | 2021-12-31 | 程序运行方法、装置、编程器和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114398026A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933595A (en) * | 1996-06-20 | 1999-08-03 | Sharp Kabushiki Kaisha | Computer apparatus having electrically rewritable nonvolatile memory, and nonvolatile semiconductor memory |
CN201869296U (zh) * | 2010-12-09 | 2011-06-15 | 青岛海信信芯科技有限公司 | 一种电视机 |
CN102184114A (zh) * | 2011-05-19 | 2011-09-14 | 深圳创维数字技术股份有限公司 | 一种程序运行方法及机顶盒 |
CN102479105A (zh) * | 2010-11-25 | 2012-05-30 | 比亚迪股份有限公司 | 一种单片机程序调用方法及系统 |
CN102591692A (zh) * | 2012-01-11 | 2012-07-18 | 株洲南车时代电气股份有限公司 | 一种电力机车微机控制柜控制软件升级更新方法 |
CN105808298A (zh) * | 2016-03-08 | 2016-07-27 | 大连楼兰科技股份有限公司 | 一种单片机下模块的动态加载方法 |
US20210182052A1 (en) * | 2018-11-30 | 2021-06-17 | Tencent Technology (Shenzhen) Company Limited | Method, device, and apparatus for updating application program, and storage medium |
-
2021
- 2021-12-31 CN CN202111651512.0A patent/CN114398026A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933595A (en) * | 1996-06-20 | 1999-08-03 | Sharp Kabushiki Kaisha | Computer apparatus having electrically rewritable nonvolatile memory, and nonvolatile semiconductor memory |
CN102479105A (zh) * | 2010-11-25 | 2012-05-30 | 比亚迪股份有限公司 | 一种单片机程序调用方法及系统 |
CN201869296U (zh) * | 2010-12-09 | 2011-06-15 | 青岛海信信芯科技有限公司 | 一种电视机 |
CN102184114A (zh) * | 2011-05-19 | 2011-09-14 | 深圳创维数字技术股份有限公司 | 一种程序运行方法及机顶盒 |
CN102591692A (zh) * | 2012-01-11 | 2012-07-18 | 株洲南车时代电气股份有限公司 | 一种电力机车微机控制柜控制软件升级更新方法 |
CN105808298A (zh) * | 2016-03-08 | 2016-07-27 | 大连楼兰科技股份有限公司 | 一种单片机下模块的动态加载方法 |
US20210182052A1 (en) * | 2018-11-30 | 2021-06-17 | Tencent Technology (Shenzhen) Company Limited | Method, device, and apparatus for updating application program, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8423991B2 (en) | Embedded network device and firmware upgrading method | |
CN103412769B (zh) | 外接卡参数配置方法、设备以及系统 | |
WO2016078263A1 (zh) | 升级控制设备、终端、终端升级方法及系统、存储介质 | |
CN103154900A (zh) | 编入程序更新方法、编入程序更新程序、电子设备、网络系统 | |
CN103914324A (zh) | 一种自动烧写嵌入式设备固件的方法及其系统 | |
CN110119282B (zh) | 一种基于通用嵌入式计算机的物联网终端及系统 | |
CN104267981A (zh) | 一种加载桌面上的应用布局的方法及装置 | |
CN111026417A (zh) | 一种嵌入式设备的升级方法及嵌入式设备 | |
CN113505105B (zh) | 移动终端恢复出厂设置处理方法、装置、移动终端及介质 | |
CN110825419A (zh) | 一种固件刷新方法、装置及电子设备和存储介质 | |
KR102516583B1 (ko) | 전자 장치 및 전자 장치의 업데이트 제어 방법 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
CN101102562A (zh) | 一种phs手机实现nor flash兼容的方法 | |
CN103678099A (zh) | 一种实现硬件平台与软件平台通讯的方法以及装置 | |
CN107423075B (zh) | 驱动的注册方法以及用户终端 | |
CN117573175A (zh) | 不复位控制芯片的固件实时更新方法、系统及存储介质 | |
CN114398026A (zh) | 程序运行方法、装置、编程器和计算机可读存储介质 | |
CN103345413A (zh) | 一种代码更新方法、装置及电子设备 | |
CN111694580B (zh) | 存储设备升级及初始化的方法、装置、电子设备 | |
CN109697077B (zh) | 硬盘固件启动方法、装置及设备 | |
CN106294143B (zh) | 芯片的寄存器的调试方法及装置 | |
CN108958795A (zh) | 一种嵌入式系统中BootLoader代码重利用方法和开发板 | |
CN104793964B (zh) | java卡及其应用更新方法、应用于java卡的终端、智能卡系统 | |
CN101339513B (zh) | 基本输入/输出系统数据更新方法 | |
CN102023873A (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 |