CN106909480B - 一种嵌入式***交叉调试方法和装置 - Google Patents
一种嵌入式***交叉调试方法和装置 Download PDFInfo
- Publication number
- CN106909480B CN106909480B CN201710039314.6A CN201710039314A CN106909480B CN 106909480 B CN106909480 B CN 106909480B CN 201710039314 A CN201710039314 A CN 201710039314A CN 106909480 B CN106909480 B CN 106909480B
- Authority
- CN
- China
- Prior art keywords
- program
- application program
- memory
- debugging
- directory entry
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种嵌入式***交叉调试方法,包括以下步骤:步骤S1:上电启动,加载运行操作***;步骤S2:判断是否要更新程序,若是则进入步骤S3,若否则进入步骤S9;步骤S3:操作***加载并运行程序更新模块;步骤S4:JTAG下载修改后的应用程序到内存;步骤S5:JTAG写入程序信息到预定内存;步骤S6:程序更新模块根据程序信息将内存的应用程序写入外存固件区;步骤S7:在固件区文件***目录项中添加一条指向应用程序的记录;步骤8:提示更新结束并重启;步骤S9:进入正常的应用加载状态,从固件区文件***目录项的末尾往前检索应用对应的最新目录项;步骤S10:通过最新目录项加载应用程序并运行调试。本发明还提供一种用于实现上述方法的装置。
Description
技术领域
本发明涉及一种调试方法和装置,特别是一种高效的嵌入式***交叉调试方法和装置。
背景技术
嵌入式***交叉调试方法一般分为两种,一种是基于JTAG的片上调试方法,一种是基于调试代理的远程调试方法。
请参阅图1,其为基于JTAG的片上调试方法的连接框图。JTAG是一种国际标准芯片测试协议,目前大多数CPU体系都支持JTAG。基于JTAG的片上调试方法最突出的代表就是JLink调试器,其定义了一个软件调试层面的RDI接口标准,然后JLink调试器将调试环境软件(IAR、KEIL等)发出的RDI接口转化为JTAG命令,对芯片进行调试。该方法多适用于嵌入式***底层驱动调试、裸***调试和单应用调试。
请参阅图2,其为基于调试代理的远程调试方法的连接框图。基于调试代理的远程调试方法是在目标机上运行一个调试代理程序,与宿主机的调试器进行通信交互,一起配合完成调试的任务。该方法主要使用软件陷入来模拟断点以接管CPU来完成调试,GDB远程调试是主要代表。一般地,基于调试代理的远程调试方法有两种方式。一种是gdbserver,其能在目标机的***上独立运行,用于调试有操作***的应用程序;另一种是stub,其和嵌入式***程序一起链接运行,一般用于调试***程序。其中,Gdbserver比较容易,但需要操作***支持;stub调试比较难,需要针对具体的芯片体系进行移植。两者的工作原理是相似的,GDB调试基于串口协议或者TCP/IP协议。由于调试代理、串口驱动或者TCP/IP驱动需要占用大量的内存空间,因此该方法一般用于内存资源比较丰富的嵌入式***的调试。
嵌入式***一般分资源宽裕型***和资源紧缺型***,前者CPU处理能力强、内存资源丰富(一般在M字节级以上),如能支持Linux内核运行的嵌入式***,而其一般都是选用基于调试代理的远程调试方法来进行开发;而后者的CPU处理能力一般、内存资源有限(一般在100K字节以下),多见于单片机控制器类成本敏感的消费类电子***,***程序难以和stub程序一起在内存中运行,因此难以选择基于调试代理的远程调试方法来进行开发,而是选择基于JTAG的片上调试方法或者直接串口打印的方式来进行调试。但是,在资源紧缺型嵌入式***上,针对带操作***(如基于UCOS内核、FreeRTOS内核)的应用程序进行调试,基于JTAG的片上调试方法也是难以胜任的。特别是对将应用程序存入外存(这也是极大地节省内存成本的常用手段),在需要运行时才进行加载的嵌入式***,基于JTAG的片上调试方法的效率是比较低的。例如以下场景:
一般带嵌入式操作***的电子产品往往都具有多个应用,例如一些带LCD屏的音频播放器,它除了有音乐应用,也有图片应用、FM应用、电子书应用等等,同时还可以充当一个U盘进行文件拷贝。该***同时可能运行一到两个应用,例如听音乐看电子书,而其他应用则不能同时运行。这些应用程序和操作***、UI资源文件、配置文件都是存在于外存(如nand flash或者nor flash)的固件区,对使用用户不可见;而音乐文件、电子书等则是存在于外存的用户区,对使用用户可见。从中可看成,各个应用程序是分时复用宝贵的内存资源。由于成本敏感,内存资源的大小是经过精心设计的。对于单个应用程序,也会将代码分为常驻内存类型和可切换类型。例如,对性能影响比较大的解码部分代码就需要常驻内存,而选择文件相关的代码则可以在需要时才加载到内存。同时,还可能固化一部分内核的代码以节省内存。这样,就能做到以100K左右的内存来支撑整个***的运行。这类***最大的特点就是:应用程序在非运行状态时存储在外存中,在应用运行时才会***作***加载到内存中,同时对可切换类型的代码进行调度切换。
如果要调试这种带操作***类型的应用程序,由于内存的原因,是不可能选择基于调试代理的远程调试方法的;而在选择基于JTAG的片上调试方法时则会遇到以下问题:
由于没有STUB在目标机运行,所以基于JTAG的片上调试方法只能通过JTAG协议接口来对内存进行读写。而上述应用程序包括常驻代码和可切换类型代码,在未运行时需要存储到外存中,在需要的时候才能由定制的操作***加载到内存中。很明显,JTAG接口无法将代码写到外存中去。因此,需要通过其他的手段将固件(包括操作***、所有的应用程序、UI资源文件、配置文件)烧写到固件区,才能使用基于JTAG的片上调试方法进行调试。即基于JTAG的片上调试方法不能满足这类***的写外存需求,只能先通过其他方式写外存之后,再使用JTAG进行调试(读内存、设置断点等)。
请同时参阅图3,其为现有技术中调试带操作***类型的应用程序的流程图。因此,调试这种带操作***类型的应用程序一般的流程如下:
(1)调试过程中遇到问题,停止调试,修改程序,编译链接该应用程序。
(2)打包固件,将操作***、所有的应用程序、UI资源文件、配置文件等打包成一个固件。
(3)烧写固件,一般使用USB量产工具,或者直接的外存烧写工具。
(4)启动***,并运行到该程序,进入调试状态。
然而,现有技术的这种调试方式最大的问题就是效率很低。因为每次修改程序,都要重新打包整个固件,一般要耗费10分钟,甚至更长;同时,还要重新烧写整个固件,烧写前还要先擦除外存,这里也要耗费不少时间。另外,由于烧写固件和JTAG调试是两套不同的工具,来回切换也需要消耗不少时间。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供了一种能够高效地进行调试的嵌入式***交叉调试方法和装置。
本发明通过以下的方案实现:一种嵌入式***交叉调试方法,包括以下步骤:
步骤S1:上电启动,加载并运行操作***;
步骤S2:判断是否有接收到进入“更新程序”的触发命令,若是,则进入步骤S3;
步骤S3:操作***加载程序更新模块及外存对应的驱动程序,并运行该模块程序,接管CPU控制权;
步骤S4:利用JTAG下载修改后的应用程序到内存;
步骤S5:利用JTAG写入应用程序名称、写入内存的起始地址、应用程序大小三个信息到预定内存地址;
步骤S6:当程序更新模块监控到所述预定内存发生变化后,解析该预定内存中的内容,将之前写入到内存中的应用程序(步骤S4)写入到外存的固件区;
步骤S7:在***固件区的文件***目录项中添加一条指向新增应用程序的目录记录。
作为本发明的进一步改进,还包括步骤S8:通过LED灯提示更新结束,并执行***重启。
作为本发明的进一步改进,在步骤S2中,当判断没有接收到进入“更新程序”的触发命令时,执行以下步骤:
步骤S9:进入正常加载状态,从外存固件区文件***的目录项末尾开始往前检索对应的应用目录项,最先检索到的目录项即是最新的应用程序对应的目录项;
步骤S10:根据最新目录项加载最新的应用程序,并开始运行该应用程序;
步骤S11:再次启动JTAG调试,进入正常的调试状态。
本发明还提供了一种嵌入式***交叉调试装置,包括:
启动模块,用于加载并启动操作***;
判断加载模块,用于判断是否有接收到进入“更新程序”的触发命令;如果收到,则进入程序更新状态,由操作***加载程序更新模块并运行;如果没收到,则进入正常的应用加载状态。
程序更新模块,对预订内存块的内容进行监控。若监控到所述预定内存发生变化后,解析该预定内存中的内容,将之前通过JTAG写入到内存中的应用程序写到外存的固件区;
目录新增模块,用于在***固件区的文件***目录项中添加一条指向新增应用程序的目录记录。
作为本发明的进一步改进,还包括提醒模块,用于通过控制LED灯提示更新结束,并执行***重启。
作为本发明的进一步改进,还包括:
检索模块,用于进入正常加载状态时,从外存***固件区文件***的目录项末尾开始往前检索对应的应用目录项,最先检索到的目录项即是最新的应用程序对应的目录项;
加载模块,用于根据最新目录项加载最新的应用程序,并开始运行该应用程序;
调试模块,用于启动JTAG调试,进入正常的调试状态。
相比于现有技术,本发明是通过对操作***进行局部修改,新增一个“更新程序”状态,将写入到内存的应用程序通过驱动程序写入到外存的***固件区,并在***固件区的文件***目录项中新增一条指向该应用程序的目录项。这时,***固件区将存在该应用程序的两个版本,一个是旧版本,一个是新版本;同时***固件区的文件目录项也存在两条记录,分别指向旧版本和新版本的应用程序。但是新版本应用程序对应的目录项位于文件***目录项的末尾,而旧版本应用程序对应的目录项则位于文件***目录项的前面。因此,在***重启后的正常状态下,操作***将从文件***目录项的末尾开始向前检索对应的目录项,最先检索到的目录项即是最新的应用程序对应的目录项。接着,操作***根据最新目录项加载最新的应用程序并运行。此时,再次启动JTAG调试即可进入正常的调试状态,而调试的目标是更新后的应用程序。
相比于现有技术,本发明不需要重新打包整个固件、不需要擦除和烧写整个固件、不需要切换调试工具和烧写工具,仅仅是利用JTAG调试工具下载修改后的应用程序,并重启***。整个过程将调试效率大大提高。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1是基于JTAG的片上调试方法的连接框图。
图2是基于调试代理的远程调试方法的连接框图。
图3是现有技术中调试带操作***类型的应用程序的流程图。
图4是本发明的嵌入式***交叉调试方法的步骤流程图。
图5是本发明的嵌入式***交叉调试装置的模块框图。
具体实施方式
为了解决现有技术中在修改应用程序时,需要重新打包整个固件并进行固件擦除烧写,才能再次进行调试,所耗时间过长的缺陷,本发明提供了一种能够更高效地完成应用程序的更新,以便节约调试时间的调试方法和装置。具体通过以下的实施例进行介绍。
在本发明中,通过对操作***进行局部修改,新增了一个“更新程序”的状态,将写入到预定内存的应用程序通过驱动程序写入到外存的***固件区,并在***固件区的文件***目录项中新增一条对应该应用程序的目录项记录。这样在***重启后的正常状态下,操作***将可以加载到新的应用程序并运行。以下介绍调试的过程。
请参阅图4,其为本发明的嵌入式***交叉调试方法的步骤流程图。
本发明提供了一种嵌入式***交叉调试方法,包括以下步骤:
步骤S1:上电启动,加载并运行操作***。
步骤S2:判断是否有接收到进入“更新程序”的触发命令,若是,则进入步骤S3;当判断没有接收到进入“更新程序”的触发命令时,执行步骤S9。
在本步骤中,可以通过在操作***启动过程中增加一个按键检测,当检测到按下时,***将进入“更新程序”状态。如果按键没有按下,即代表进入正常的程序加载运行状态。而作为其他变形方式,也可以通过其他形式实现进入“更新程序”状态。
步骤S3:操作***加载程序更新模块程序和外存对应的驱动程序,并运行该模块程序接管CPU控制权。
在本步骤中,当***将进入“更新程序”状态时,可以在启动JTAG调试接管控制权后,通过JTAG将应用程序(bin格式)下载到指定的内存,需确保该该内存区域不被其他模块占用。
步骤S4:利用JTAG下载修改后的应用程序到内存。
步骤S5:利用JTAG写入应用程序名称、写入内存的起始地址、应用程序大小三个信息到预定内存地址。
在本步骤中,用户需要通过JTAG调试命令写入应用程序名称、应用程序下载到内存中的地址、应用程序的长度三个信息写到与程序更新模块商定好的内存块。
步骤S6:当程序更新模块监控到所述预定内存发生变化后,解析该预定内存中的内容,将之前写入到内存中的应用程序写入到外存的***固件区。
在本步骤中,更新程序会一直监控这块预定内存,当更新程序模块监控到这块内存发生变化后,会解析这块内存的内容,将应用程序从内存写入到固件区。
步骤S7:在***固件区的文件***目录项中添加一条指向新增应用程序的目录项记录。
在本步骤中,当将新的应用程序写入到固件区后,需要在固件区的文件***目录项中添加一条记录指向新的应用程序。由于外存一般是flash,不能直接修改旧的目录项,所以要在有效目录项的最后增加一条记录。
步骤S8:通过LED灯提示更新结束,并执行***重启。
在本步骤中,当程序更新的过程完成后可以通过LED指示灯来通知用户,代表更新程序完成,可以重启并再次调试。而作为其他的变形方式,也可以通过其他形式进行提醒。
步骤S9:进入正常加载状态,从外存的***固件区文件***目录项的末尾开始往前检索对应的应用目录项,最先检索到的目录项即是最新的应用程序对应的目录项。
在本步骤中,当在启动过程中,如按键没有按下,操作***会进入正常的应用加载运行状态。当要加载某个应用时,先从固件区文件***目录项的末尾开始往前检索对应的应用目录项。最先检索到的目录项即是最新的应用程序对应的目录项。
步骤S10:根据最新目录项加载最新的应用程序,并开始运行该应用程序。
步骤S11:启动JTAG调试,进入正常的调试状态。
请同时参阅图5,其为本发明的嵌入式***交叉调试装置的模块框图。另外,结合本发明的***调试方法,本发明还提供了一种用于实现上述方法的嵌入式***交叉调试装置,包括:启动模块1、判断加载模块2、程序更新模块3、目录新增模块4、提醒模块5、检索模块6、加载模块7和调试模块8。
首先,通过所述启动模块1,启动并加载运行操作***。
接着,通过所述判断加载模块2,判断是否有接收到进入“更新程序”的触发命令。若有接收到触发命令,进入“更新程序状态”,操作***加载程序更新模块及外存对应的驱动程序,并运行该模块程序,接管CPU控制权。
然后,所述程序更新模块3,对预定内存进行监控。当监控到所述预定内存发生变化后,解析该预定内存中的内容,将该预定内存中的应用程序写入到外存的***固件区。
接着,通过所述目录新增模块4,在***固件区的文件***目录项添加一条指向新增应用程序的目录项记录。
最后,通过提醒模块5,用于通过控制LED灯提示更新结束,并执行***重启。
如果所述判断加载模块没有收到触发命令时,则进入正常的应用加载状态时,执行以下的处理流程:
通过检索模块6,从外存的***固件区文件***目录项的末尾开始往前检索对应的应用目录项,最先检索到的目录项即是最新的应用程序对应的目录项。
再由所述加载模块7,根据最新目录项加载最新的应用程序,并开始运行该应用程序。
最后,启动JTAG调试,进入正常的调试状态。
综上所述,相比于现有技术,本发明是通过对操作***进行局部修改,新增一个“更新程序”状态,将写入到内存的应用程序通过驱动程序写入到外存的***固件区,并在***固件区的文件***目录项中新增一条指向该应用程序的目录项。这时,***固件区将存在该应用程序的两个版本,一个是旧版本,一个是新版本;同时***固件区的文件目录项也存在两条记录,分别指向旧版本和新版本的应用程序。但是新版本应用程序对应的目录项位于文件***目录项的末尾,而旧版本应用程序对应的目录项则位于文件***目录项的前面。因此,在***重启后的正常状态下,操作***将从文件***目录项的末尾开始向前检索对应的目录项,最先检索到的目录项即是最新的应用程序对应的目录项。接着,操作***根据最新目录项加载最新的应用程序并运行。此时,再次启动JTAG调试即可进入正常的调试状态,而调试的目标是更新后的应用程序。
相比于现有技术,本发明不需要重新打包整个固件、不需要擦除和烧写整个固件、不需要切换调试工具和烧写工具,仅仅是利用JTAG调试工具下载修改后的应用程序,并重启***。整个过程将调试效率大大提高。
本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。
Claims (6)
1.一种嵌入式***交叉调试方法,其特征在于,包括以下步骤:
步骤S1:上电启动,加载运行操作***;
步骤S2:判断是否有接收到进入“更新程序”的触发命令,若是,则进入步骤S3;
步骤S3:操作***加载程序更新模块及外存对应的驱动程序,并运行该模块程序,接管CPU控制权;
步骤S4:利用JTAG下载修改后的应用程序到内存;
步骤S5:利用JTAG写入应用程序名称、写入内存的起始地址、应用程序大小三个信息到预定内存地址;
步骤S6:当程序更新模块监控到所述预定内存发生变化后,解析该预定内存中的内容,
将之前写入内存中的应用程序写到外存的固件区;
步骤S7:在该固件区的文件***目录项中添加一条指向新增应用程序的目录记录。
2.根据权利要求1所述嵌入式***交叉调试方法,其特征在于:还包括步骤S8:通过LED灯提示更新结束,并执行***重启。
3.根据权利要求1所述嵌入式***交叉调试方法,其特征在于:在步骤S2中,当判断没有接收到进入“更新程序”的触发命令时,执行以下步骤:
步骤S9:进入正常的应用加载状态,从外存固件区的文件***目录项末尾开始往前检索对应的应用目录项;最先检索到的目录项即是最新的应用程序对应的目录项;
步骤S10:通过最新目录项加载最新的应用程序,并开始运行该应用程序;
步骤S11:再次启动JTAG调试,进入正常的调试状态。
4.一种嵌入式***交叉调试装置,其特征在于,包括:
启动模块,用于加载并启动操作***;
判断加载模块,用于判断是否有接收到进入“更新程序”的触发命令;如果收到,则进入程序更新状态,由操作***加载程序更新模块并运行;如果没收到,则进入正常的应用加载状态;
程序更新模块,对预定 内存的内容进行监控;若监控到所述预定内存发生变化后,解析该预定内存中的内容,将之前通过JTAG写入到内存中的应用程序写到外存的固件区;
目录新增模块,用于在***固件区的文件***目录项中添加一条指向新增应用程序的目录记录。
5.根据权利要求4所述嵌入式***交叉调试装置,其特征在于:还包括提醒模块,用于通过控制LED灯提示更新结束,并执行***重启。
6.根据权利要求4所述嵌入式***交叉调试装置,其特征在于,还包括:
检索模块,用于进入正常加载状态时,从外存***固件区的文件***目录项的末尾开始往前检索对应的应用目录项;最先检索到的目录项即是最新的应用程序对应的目录项;
加载模块,用于通过最新目录加载最新的应用程序,并开始运行该应用程序;
调试模块,用于启动JTAG调试,进入正常的调试状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710039314.6A CN106909480B (zh) | 2017-01-19 | 2017-01-19 | 一种嵌入式***交叉调试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710039314.6A CN106909480B (zh) | 2017-01-19 | 2017-01-19 | 一种嵌入式***交叉调试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106909480A CN106909480A (zh) | 2017-06-30 |
CN106909480B true CN106909480B (zh) | 2020-09-11 |
Family
ID=59207166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710039314.6A Active CN106909480B (zh) | 2017-01-19 | 2017-01-19 | 一种嵌入式***交叉调试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106909480B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764151B (zh) * | 2019-09-29 | 2021-07-13 | 中国人民解放军海军工程大学 | 一种能够融合于探测***中的调试***及方法 |
CN111124440A (zh) * | 2019-12-17 | 2020-05-08 | 湖南国科微电子股份有限公司 | 芯片软件烧录方法、芯片软件烧录数据处理方法和装置 |
CN111061614B (zh) * | 2019-12-23 | 2023-07-04 | 无锡中感微电子股份有限公司 | 一种内存实时监控处理方法和*** |
CN112711527B (zh) * | 2020-12-16 | 2024-02-06 | 北京科银京成技术有限公司 | 一种实时进程的调试方法、装置、目标机和存储介质 |
CN114237724B (zh) * | 2021-11-24 | 2024-03-12 | 珠海全视通信息技术有限公司 | 驱动动态加载方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7428661B2 (en) * | 2001-09-21 | 2008-09-23 | Sam Michael | Test and debug processor and method |
CN101110035B (zh) * | 2007-08-20 | 2010-04-14 | 中兴通讯股份有限公司 | 具有jtag接口终端的程序下载方法 |
CN102541579A (zh) * | 2010-12-17 | 2012-07-04 | 沈阳新邮通信设备有限公司 | 嵌入式***应用程序动态加载的方法 |
-
2017
- 2017-01-19 CN CN201710039314.6A patent/CN106909480B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106909480A (zh) | 2017-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106909480B (zh) | 一种嵌入式***交叉调试方法和装置 | |
CN109933348B (zh) | 一种电子控制单元中Bootloader的更新方法和装置 | |
US7185321B1 (en) | Method and system for debugging through supervisory operating codes and self modifying codes | |
CN103227812B (zh) | 智能设备中支持断点续传的下载方法和装置 | |
CN105988843A (zh) | 移动终端固件升级方法及固件升级装置 | |
CN105760191A (zh) | 嵌入式***设备程序烧写量产方法 | |
WO2013007068A1 (zh) | 一种面向硬件设备功能的自动测试***及方法 | |
CN110119282B (zh) | 一种基于通用嵌入式计算机的物联网终端及*** | |
CN102346673A (zh) | 一种手机***升级的方法及装置 | |
WO2015154538A1 (zh) | 存储器的启动方法及装置 | |
CN109739769A (zh) | Bootrom加载功能自动化测试方法及装置 | |
CN102609290A (zh) | 电子产品的软件升级方法 | |
CN115408013A (zh) | Zynq UltraScale+MPSoC平台的固件和文件自动烧写方法 | |
CN105045718A (zh) | 基于Linux嵌入式***的调试***、方法及修改方法 | |
CN110007935B (zh) | 一种程序升级的处理方法、装置及设备 | |
CN113377586B (zh) | 一种服务器自动化检测方法、装置及存储介质 | |
CN113900693A (zh) | 一种固件升级方法、装置、***、电子设备及存储介质 | |
CN109683935B (zh) | 应用程序升级方法、装置、变频器以及存储介质 | |
CN102298531B (zh) | 在嵌入式***中对闪存文件***进行升级的方法 | |
CN103810087A (zh) | 测试应用程序性能的方法和装置 | |
CN112799683A (zh) | 一种终端设备程序烧写和测试方法 | |
CN114237654A (zh) | 一种ota升级方法及*** | |
CN114528141A (zh) | 一种嵌入式***内核态下程序缺陷修复的方法和装置 | |
CN109428936B (zh) | App的升级方法、装置、***、电子设备及存储介质 | |
CN111831314A (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 |