CN107357609A - 一种基于mcu仿真器的升级方法及装置 - Google Patents
一种基于mcu仿真器的升级方法及装置 Download PDFInfo
- Publication number
- CN107357609A CN107357609A CN201710493208.5A CN201710493208A CN107357609A CN 107357609 A CN107357609 A CN 107357609A CN 201710493208 A CN201710493208 A CN 201710493208A CN 107357609 A CN107357609 A CN 107357609A
- Authority
- CN
- China
- Prior art keywords
- data
- mcu
- folder
- file
- written
- 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 48
- 238000012795 verification Methods 0.000 claims description 58
- 238000001514 detection method Methods 0.000 claims description 25
- 238000012360 testing method Methods 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 2
- 235000013399 edible fruits Nutrition 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
Classifications
-
- 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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于MCU仿真器的升级方法及装置,与PC连接的MCU仿真器将自身初始化为USB设备,并在PC上显示目标MCU固件文件夹和Flash Loader文件夹,所述MCU仿真器与目标MCU连接,所述方法包括:检测在PC上显示的目标MCU固件文件夹和Flash Loader文件夹中,是否均被写入数据;若是,运行写入到Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到目标MCU固件文件夹中的第二数据,对所述目标MCU升级。实现了同一MCU仿真器对不同型号的目标MCU的升级,提高了MCU仿真器的通用性,方便了目标MCU的升级,并减轻了用户负担,提高了用户体验。
Description
技术领域
本发明涉及计算机及网络技术领域,尤其涉及一种基于微控制单元(Microcontroller Unit,MCU)仿真器的升级方法及装置。
背景技术
MCU仿真器是一种在电子产品开发阶段对目标MCU进行软硬件调试的开发工具。配合集成开发环境使用MCU仿真器可以对目标MCU程序进行单步跟踪调试,也可以使用断点、全速等调试手段,并可观察各种变量、易挥发性随机存取存储器(RamdomAccessMemory,RAM)及寄存器的实时数据,跟踪程序的执行情况,同时还可以对目标MCU硬件电路进行实时的调试。利用MCU仿真器可以迅速找到并排除目标MCU程序中的逻辑错误,大大缩短目标MCU开发的周期,在目标MCU的开发中发挥着重要的作用。
然而现有技术中,MCU仿真器中预先被写入了对目标MCU升级的烧写程序,该烧写程序用于实现对对应型号的目标MCU的升级。因此在使用MCU仿真器对目标MCU进行升级时,针对不同型号的目标MCU需要选择与该型号的目标MCU对应的MCU仿真器,一种型号的MCU仿真器只能给一种型号的目标MCU仿真器进行升级,因此MCU仿真器的通用性低,用户在对不同型号目标MCU升级时需要使用对应型号的MCU仿真器,给用户带来了负担与不便,影响了用户的体验。
发明内容
本发明提供一种基于MCU仿真器的升级方法及装置,用以解决现有技术中MCU仿真器通用性低,给用户带来负担与不便,影响用户的体验的问题。
本发明公开了一种基于微控制单元MCU仿真器的升级方法,与PC连接的所述MCU仿真器将自身初始化为USB设备,并在所述PC上显示目标MCU固件文件夹和烧写程序FlashLoader文件夹,所述MCU仿真器与目标MCU连接,所述方法包括:
检测在所述PC上显示的所述目标MCU固件文件夹和所述Flash Loader文件夹中,是否均被写入数据;
若是,运行写入到所述Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到所述目标MCU固件文件夹中的第二数据,对所述目标MCU升级。
进一步地,在所述PC上还显示有仿真器固件文件夹,所述方法还包括:
检测在所述PC上显示的所述仿真器固件文件夹中是否被写入数据;
如果是,采用写入到所述仿真器固件文件夹中的第三数据,对所述MCU仿真器的主控MCU升级。
进一步地,所述检测在所述PC上显示的文件夹中是否被写入数据包括:
将当前待检测的文件夹作为第一目标文件夹,根据所述第一目标文件夹在自身闪存Flash中被分配的存储空间,判断自身Flash中对应存储空间中是否存在数据。
进一步地,对MCU升级之前,所述方法还包括:
针对每个被写入数据的文件夹,将该文件夹作为第二目标文件夹,获取所述第二目标文件夹中的校验数据;根据所述第二目标文件夹中被写入的数据,确定待校验数据,判断所述待校验数据与所述校验数据是否一致;
如果是,进行后续步骤。
进一步地,所述校验数据包括以下至少一种:
文件标题File Header和CRC校验码。
进一步地,所述方法还包括:
如果所述待校验数据与所述校验数据一致,输出校验通过信息;如果所述待校验数据与所述校验数据不一致,输出校验未通过信息。
进一步地,所述检测在所述PC上显示的文件夹中是否被写入数据之前,所述方法还包括:
识别用户选择的工作模式是否为升级模式Upgrade Mode;
如果是,进行后续步骤。
本发明公开了一种基于微控制单元MCU仿真器的升级装置,与PC连接的所述MCU仿真器将自身初始化为USB设备,并在所述PC上显示目标MCU固件文件夹和烧写程序FlashLoader文件夹,所述MCU仿真器与目标MCU连接,所述装置包括:
检测模块,用于检测在所述PC上显示的所述目标MCU固件文件夹和所述FlashLoader文件夹中,是否均被写入数据,如果检测结果为是,触发升级模块;
升级模块,用于运行写入到所述Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到所述目标MCU固件文件夹中的第二数据,对所述目标MCU升级。
进一步地,在所述PC上还显示有仿真器固件文件夹,所述检测模块,还用于检测在所述PC上显示的所述仿真器固件文件夹中是否被写入数据,如果检测结果为是,触发升级模块;
所述升级模块,还用于采用写入到所述仿真器固件文件夹中的第三数据,对所述MCU仿真器的主控MCU升级。
进一步地,所述检测模块,具体用于将当前待检测的文件夹作为第一目标文件夹,根据所述第一目标文件夹在自身闪存Flash中被分配的存储空间,判断自身Flash中对应存储空间中是否存在数据。
进一步地,所述装置还包括:
校验模块,用于针对每个被写入数据的文件夹,将该文件夹作为第二目标文件夹,获取所述第二目标文件夹中的校验数据;根据所述第二目标文件夹中被写入的数据,确定待校验数据,判断所述待校验数据与所述校验数据是否一致,如果判断结果为是,触发升级模块。
进一步地,所述装置还包括:
指示模块,用于如果校验模块判断结果为是,输出校验通过信息;如果校验模块判断结果为否,输出校验未通过信息。
进一步地,所述装置还包括:
识别模块,用于识别用户选择的工作模式是否为升级模式Upgrade Mode,如果是,触发检测模块。
本发明提供了一种基于MCU仿真器的升级方法及装置,与PC连接的所述MCU仿真器将自身初始化为USB设备,并在所述PC上显示目标MCU固件文件夹和烧写程序Flash Loader文件夹,所述MCU仿真器与目标MCU连接,所述方法包括:检测在所述PC上显示的所述目标MCU固件文件夹和所述Flash Loader文件夹中,是否均被写入数据;若是,运行写入到所述Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到所述目标MCU固件文件夹中的第二数据,对所述目标MCU升级。由于在本发明实施例中,MCU仿真器在与PC连接时将自身初始化为USB设备,并在所述PC上显示目标MCU固件文件夹和Flash Loader文件夹,运行写入到Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到目标MCU固件文件夹中的第二数据,对所述目标MCU升级,实现了同一MCU仿真器对不同型号的目标MCU的升级,提高了MCU仿真器的通用性,方便了目标MCU的升级,并减轻了用户负担,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种基于MCU仿真器的升级过程示意图;
图2为本发明实施例2提供的一种初始化为USB设备后的MCU仿真器示意图;
图3为本发明实施例3提供的一种Flash的存储空间分布示意图;
图4为本发明实施例4提供的一种PC对目标数据处理过程示意图;
图5为本发明实施例5提供的一种MCU仿真器结构示意图;
图6为本发明实施例5提供的一种主控MCU内嵌Flash存储空间分布示意图;
图7为本发明实施例6提供的一种基于MCU仿真器的升级装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种基于MCU仿真器的升级过程示意图,该过程包括:
S101:检测在PC上显示的目标MCU固件文件夹和Flash Loader文件夹中,是否均被写入数据。
本发明实施例提供的升级方法应用于MCU仿真器,其中,MCU仿真器在与PC连接时,可以将自身初始化为USB设备(USB Mass Device),并在与其连接的PC上显示目标MCU固件文件夹和烧写程序(Flash Loader)文件夹。用户可以在PC上通过拖拽、复制粘贴等方式,将对目标MCU升级时所用的烧写程序对应的第一数据写入到Flash Loader文件夹中,将对目标MCU升级时对应的第二数据写入目标MCU固件文件夹中。
具体的,MCU仿真器在检测目标MCU固件文件夹和Flash Loader文件夹中,是否被写入数据时,可以通过检测目标MCU固件文件夹和Flash Loader文件夹是否为空,确定目标MCU固件文件夹和Flash Loader文件夹是否被写入数据,也可以通过检测目标MCU固件文件夹和Flash Loader文件夹占用存储空间的大小是否为零,确定目标MCU固件文件夹和FlashLoader文件夹是否被写入数据。在本发明实施例中检测文件夹中是否被写入数据是现有技术,不再进行赘述。
S102:若是,运行写入到Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到目标MCU固件文件夹中的第二数据,对目标MCU升级。
在对目标MCU升级时,MCU仿真器需要运行烧写程序,将目标MCU的升级程序写入目标MCU中。具体的,如果目标MCU固件文件夹和Flash Loader文件夹中均被写入数据,则说明烧写程序对应的第一数据被拖拽或复制到Flash Loader文件夹中,目标MCU的第一升级程序对应的第二数据也被拖拽或复制到目标MCU固件文件夹中,此时MCU仿真器运行写入到所述Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到所述目标MCU固件文件夹中的第二数据,对所述目标MCU升级。
若否,则说明烧写程序对应的第一数据未被拖拽或复制到Flash Loader文件夹中,和/或目标MCU的第一升级程序对应的第二数据未被拖拽或复制到目标MCU固件文件夹中,因为对目标MCU升级时,MCU仿真器需要运行烧写程序,将目标MCU的第一升级程序写入目标MCU中,缺少烧写程序和/或目标MCU的第一升级程序,MCU仿真器均无法对目标MCU进行升级。因此当Flash Loader文件夹和/或目标MCU固件文件夹中未被写入数据时,不对目标MCU进行升级。
由于在本发明实施例中,MCU仿真器在与PC连接时将自身初始化为USB设备,并在所述PC上显示目标MCU固件文件夹和Flash Loader文件夹,运行写入到Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到目标MCU固件文件夹中的第二数据,对所述目标MCU升级,实现了同一MCU仿真器对不同型号的目标MCU的升级,提高了MCU仿真器的通用性,方便了目标MCU的升级,并减轻了用户负担,提高了用户体验。
实施例2:
为了便于对MCU仿真器升级,在上述实施例的基础上,在本发明实施例中,在PC上还显示有仿真器固件文件夹,所述方法还包括:
检测在PC上显示的仿真器固件文件夹中是否被写入数据;
如果是,采用写入到仿真器固件文件夹中的第三数据,对MCU仿真器的主控MCU升级。
具体的,MCU仿真器还可以在与其连接的PC上显示仿真器固件文件夹,用户可以在PC上通过拖拽、复制粘贴等方式,将对MCU仿真器升级时对应的第三数据写入仿真器固件文件夹中,如果MCU仿真器检测到在仿真器固件文件夹中被写入数据,则说明对MCU仿真器升级时的第二升级程序对应的第三数据被拖拽或复制到仿真器固件文件夹中,采用写入到仿真器固件文件夹中的第三数据,对所述MCU仿真器的主控MCU升级。
图2为本发明实施例提供的一种初始化为USB设备后的MCU仿真器示意图。其中MCU仿真器通过USB数据线(USB Cable)与用于软件开发的PC连接,在PC上显示预先设置的仿真器固件文件夹、目标MCU固件文件夹和Flash Loader文件夹,用户可以在PC上通过拖拽、复制粘贴等方式,将数据写入仿真器固件文件夹、目标MCU固件文件夹和/或Flash Loader文件夹中。另外MCU仿真器还通过联合测试工作组(JTAC,Joint Test Action Group)/串行线调试(Serial Wire Debug,SWD)Cable与目标MCU连接。
实施例3:
为了实现对文件夹中是否写入数据的检测,在上述各实施例中,在本发明实施例中,所述检测在所述PC上显示的文件夹中是否被写入数据包括:
将当前待检测的文件夹作为第一目标文件夹,根据所述第一目标文件夹在自身闪存(Flash)中被分配的存储空间,判断自身Flash中对应存储空间中是否存在数据。
在PC上显示的文件夹包括:仿真器固件文件夹、目标MCU固件文件夹和FlashLoader文件夹,针对上述任一在PC上显示的文件夹,在对该文件夹中是否被写入数据进行检测时,都可以采用上述过程。
具体的,在本发明实施例中,在MCU仿真器的内部设置有Flash,并在所述Flash中创建有在所述PC上显示的仿真器固件文件夹、目标MCU固件文件夹和Flash Loader文件夹,Flash的存储空间用于存储写入到仿真器固件文件夹、目标MCU固件文件夹和Flash Loader文件夹中的数据。每个文件夹被分配的存储空间可以相同,也可以不同,具体的可以统计烧写程序、第一升级程序和第二升级程序的数据量,从而为每个文件夹分配对应的存储空间,只要保证为每个文件夹分配的存储空间能够保存对应的数据即可。
Flash的存储空间分布如图3所示,其中目标MCU固件文件夹在Flash中被分配的存储空间的首地址为存储地址1,目标MCU固件文件夹被分配的存储空间为第一存储空间,该第一存储空间用于存储写入目标MCU固件文件夹中的数据;Flash Loader文件夹在Flash中被分配的存储空间的首地址为存储地址2,Flash Loader文件夹被分配的存储空间为第二存储空间,该第二存储空间用于存储写入Flash Loader文件夹中的数据;仿真器固件文件夹在Flash中被分配的存储空间的首地址为存储地址3,仿真器固件文件夹被分配的存储空间为第三存储空间,该第三存储空间用于存储写入仿真器固件文件夹中的数据。
具体的,将当前待检测的文件夹作为第一目标文件夹,根据第一目标文件夹在自身Flash中被分配的存储空间,判断自身Flash中对应存储空间中是否存在数据,如果是,则确定该第一目标文件夹中被写入数据,如果否,确定该第一目标文件夹中没有被写入数据。
例如:当前待检测的文件夹为目标MCU固件文件夹,将目标MCU固件文件夹作为第一目标文件夹,判断自身Flash中对应目标MCU固件文件夹的第一存储空间中是否存在数据,如果是,确定目标MCU固件文件夹中被写入数据,如果否,确定目标MCU固件文件夹中没有被写入数据。
实施例4:
为了保证对MCU升级的准确性,在上述各实施例的基础上,在本发明实施例中,对MCU升级之前,所述方法还包括:
针对每个被写入数据的文件夹,将该文件夹作为第二目标文件夹,获取所述第二目标文件夹中的校验数据;根据所述第二目标文件夹中被写入的数据,确定待校验数据,判断所述待校验数据与所述校验数据是否一致;
如果是,进行后续步骤。
在本发明实施例中,对MCU进行升级,具体指的是对目标MCU进行升级,或者对主控MCU进行升级,另外MCU仿真器还可以通过识别MCU固件文件夹和Flash Loader文件夹中是否均被写入数据,确定是否对目标MCU进行升级,并在确定是对目标MCU进行升级后,对MCU固件文件夹和Flash Loader文件夹中被写入的数据的准确性进行校验;通过识别仿真器固件文件夹中是否被写入数据,确定是否对主控MCU进行升级,并在确定是对主控MCU进行升级后,对仿真器固件文件夹中被写入的数据的准确性进行校验。
为了保证文件夹中被写入数据的准确性,并且在对MCU升级的过程中不会出现卡死等问题,在本发明实施例,文件夹中被写入的数据中包含校验数据。具体的,MCU仿真器针对每个被写入数据的文件夹,将该文件夹作为第二目标文件夹,获取该第二目标文件夹中的校验数据,并根据该第二目标文件夹中被写入的数据,采用预先设置的校验数据生成算法生成待校验数据,判断所述待校验数据是否与所述校验数据一致,如果一致,说明写入该第二目标文件夹中的数据准确,进行后续对MCU升级的步骤。
为了进一步保证对MCU升级的准确性,所述校验数据包括以下至少一种:
文件标题(File Header)和循环冗余校验(Cyclic Redundancy Check,CRC)校验码。
文件夹中包含的检验数据可以只有File Header,也可以只有CRC校验码,当然为了更好的保证数据的准确性,文件夹中包含的校验数据可以同时包含File Header和CRC校验码。
MCU仿真器针对每个被写入数据的文件夹,将该文件夹作为第二目标文件夹,获取该第二目标文件夹中的校验数据,如果该第二目标文件夹中的校验数据为CRC校验码,根据该第二目标文件夹中被写入的数据及预先设置的CRC算法生成待校验CRC校验码,校验所述CRC校验码是否与待校验CRC校验码相同,如果是,说明该第二目标文件夹中被写入的数据准确,进行后续对MCU升级的步骤。如果该第二目标文件夹中的校验数据为File Header,根据该第二目标文件夹中被写入的数据、该第二文件夹的名称及预先设置的File Header算法生成待校验File Header,校验所述File Header是否与待校验File Header相同,如果是,说明该第二文件夹中被写入的数据数据准确,进行后续对MCU升级的步骤。
如果该第二目标文件夹中的校验数据为CRC校验码和File Header,根据该第二目标文件夹中被写入的数据及预先设置的CRC算法,生成待校验CRC校验码,判断所述CRC校验码是否与生成的待校验CRC校验码相同,如果是,根据该第二目标文件夹中被写入的数据、该第二文件夹的名称及预先设置的File Header算法,生成待校验File Header,判断所述File Header是否与生成的待校验File Header相同,如果是,说明该第二文件夹中被写入的数据准确,进行后续对MCU升级的步骤。当然了,也可以是根据该第二目标文件夹中被写入的数据、该第二文件夹的名称及预先设置的File Header算法生成待校验File Header,校验所述File Header与待校验File Header相同后,继续根据该第二目标文件夹中被写入的数据及预先设置的CRC算法生成待校验CRC校验码,校验所述CRC校验码是否与待校验CRC校验码相同,并在校验结果为是后,进行后续对MCU升级的步骤。
图4为本发明实施例提供的一种PC对目标数据处理过程示意图,具体的,针对原始数据,PC对原始数据进行数据处理,针对原始数据生成File Header、和CRC校验码,其中原始数据为对目标MCU进行升级的第一升级程序、对目标MCU进行升级程序烧写的烧写程序、对主控MCU进行升级的第二升级程序中的任意一种。
实施例5:
为了不影响MCU仿真器的正常工作,在上述各实施例的基础上,在本发明实施例中,所述检测在所述PC上显示的文件夹中是否被写入数据之前,所述方法还包括:
识别用户选择的工作模式是否为升级模式(Upgrade Mode);
如果是,进行后续步骤。
具体的,识别用户选择的工作模式是否为Upgrade Mode,如果是,说明需要对MCU仿真器的主控MCU升级和/或目标MCU进行升级,进行后续检测在PC上显示的文件夹中是否被写入数据的步骤。
另外为了便于用户对MCU是否升级成功的获知,所述方法还包括:
如果所述待校验数据与所述校验数据一致,输出校验通过信息;如果所述待校验数据与所述校验数据不一致,输出校验未通过信息。
其中输出的校验通过信息或校验未通过信息可以是语音信息,也可以是文字信息,当然为了便于显示也可以输出不同颜色的指示信号。具体的可以在MCU仿真器上设置指示灯,当校验通过时,可以控制该指示灯显示绿色,当校验未通过时,可以控制该指示灯显示红色。
图5为本发明实施例提供的一种MCU仿真器结构示意图,MCU仿真器通过自身的USB接口(USB Connector)与PC连接,通过JTAG/SWD Connector与目标MCU连接,用户可以通过模式选择开关选择MCU仿真器的工作模式,其中MCU仿真器的工作模式包括Upgrade Mode和正常模式(Normal Mode)。
MCU仿真器在上电后,主控MCU首先运行如图6所示的主控MCU内嵌的Flash地址1中的引导程序(Bootloader)识别用户选择的工作模式,如果用户选择的工作模式为NormalMode,运行如图6所示的主控MCU内嵌的Flash地址2中的仿真器固件程序,MCU仿真器正常工作,具有对目标MCU的调试功能,该模式下MCU防止器可以配合PC的调试软件完成对目标MCU的基本调试操作如单步(Single-Step)、断点设置(Breakpoint Setting)、自由运行(Free-Run)等。
如果用户选择的工作模式为Upgrade Mode,主控MCU将MCU仿真器初始化为USBMass Device,并在与MCU仿真器连接的PC上显示在Flash中预先设置的仿真器固件文件夹、目标MCU固件文件夹、Flash Loader文件夹。主控MCU检测到目标MCU固件文件夹和FlashLoader文件夹中均被写入数据后,验证目标MCU固件文件夹和Flash Loader文件夹中被写入数据是否准确,并在验证通过后,运行写入到所述Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到所述目标MCU固件文件夹中的第二数据,对所述目标MCU升级;主控MCU检测到仿真器固件文件夹中被写入数据后,验证仿真器固件文件夹中被写入的数据是否准确,并在验证通过后,采用写入到所述仿真器固件文件夹中的第三数据,对主控MCU升级。
另外主控MCU还可以在验证对应的数据正确后,控制状态指示灯显示绿色,因为校验通过了,所以后续对MCU进行升级也基本能升级成功,在验证对应的数据不正确后,控制状态指示灯显示红色,因为校验未通过,因此升级过程一定会失败。
实施例6:
图7为本发明实施例提供的一种基于MCU仿真器的升级装置结构示意图,所述装置包括:
检测模块71,用于检测在所述PC上显示的所述目标MCU固件文件夹和所述FlashLoader文件夹中,是否均被写入数据,如果检测结果为是,触发升级模块;
升级模块72,用于运行写入到所述Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到所述目标MCU固件文件夹中的第二数据,对所述目标MCU升级。
所述检测模块71,还用于检测在所述PC上显示的所述仿真器固件文件夹中是否被写入数据,如果检测结果为是,触发升级模块;
所述升级模块72,还用于采用写入到所述仿真器固件文件夹中的第三数据,对所述MCU仿真器的主控MCU升级。
所述检测模块71,具体用于将当前待检测的文件夹作为第一目标文件夹,根据所述第一目标文件夹在自身闪存Flash中被分配的存储空间,判断自身Flash中对应存储空间中是否存在数据。
所述装置还包括:
校验模块73,用于针对每个被写入数据的文件夹,将该文件夹作为第二目标文件夹,获取所述第二目标文件夹中的校验数据;根据所述第二目标文件夹中被写入的数据,确定待校验数据,判断所述待校验数据与所述校验数据是否一致,如果判断结果为是,触发升级模块。
所述装置还包括:
指示模块74,用于如果校验模块判断结果为是,输出校验通过信息;如果校验模块判断结果为否,输出校验未通过信息。
所述装置还包括:
识别模块75,用于识别用户选择的工作模式是否为升级模式Upgrade Mode,如果是,触发检测模块。
本发明公开了一种基于MCU仿真器的升级方法及装置,与PC连接的所述MCU仿真器将自身初始化为USB设备,并在所述PC上显示目标MCU固件文件夹和烧写程序Flash Loader文件夹,所述MCU仿真器与目标MCU连接,所述方法包括:检测在所述PC上显示的所述目标MCU固件文件夹和所述Flash Loader文件夹中,是否均被写入数据;若是,运行写入到所述Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到所述目标MCU固件文件夹中的第二数据,对所述目标MCU升级。由于在本发明实施例中,MCU仿真器在与PC连接时将自身初始化为USB设备,并在所述PC上显示目标MCU固件文件夹和Flash Loader文件夹,运行写入到Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到目标MCU固件文件夹中的第二数据,对所述目标MCU升级,实现了同一MCU仿真器对不同型号的目标MCU的升级,提高了MCU仿真器的通用性,方便了目标MCU的升级,并减轻了用户负担,提高了用户体验。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种基于微控制单元MCU仿真器的升级方法,其特征在于,与PC连接的所述MCU仿真器将自身初始化为USB设备,并在所述PC上显示目标MCU固件文件夹和烧写程序FlashLoader文件夹,所述MCU仿真器与目标MCU连接,所述方法包括:
检测在所述PC上显示的所述目标MCU固件文件夹和所述Flash Loader文件夹中,是否均被写入数据;
若是,运行写入到所述Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到所述目标MCU固件文件夹中的第二数据,对所述目标MCU升级。
2.如权利要求1所述的方法,其特征在于,在所述PC上还显示有仿真器固件文件夹,所述方法还包括:
检测在所述PC上显示的所述仿真器固件文件夹中是否被写入数据;
如果是,采用写入到所述仿真器固件文件夹中的第三数据,对所述MCU仿真器的主控MCU升级。
3.如权利要求1或2所述的方法,其特征在于,所述检测在所述PC上显示的文件夹中是否被写入数据包括:
将当前待检测的文件夹作为第一目标文件夹,根据所述第一目标文件夹在自身闪存Flash中被分配的存储空间,判断自身Flash中对应存储空间中是否存在数据。
4.如权利要求1或2所述的方法,其特征在于,对MCU升级之前,所述方法还包括:
针对每个被写入数据的文件夹,将该文件夹作为第二目标文件夹,获取所述第二目标文件夹中的校验数据;根据所述第二目标文件夹中被写入的数据,确定待校验数据,判断所述待校验数据与所述校验数据是否一致;
如果是,进行后续步骤。
5.如权利要求4所述的方法,其特征在于,所述校验数据包括以下至少一种:
文件标题File Header和CRC校验码。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述待校验数据与所述校验数据一致,输出校验通过信息;如果所述待校验数据与所述校验数据不一致,输出校验未通过信息。
7.如权利要求1或2所述的方法,其特征在于,所述检测在所述PC上显示的文件夹中是否被写入数据之前,所述方法还包括:
识别用户选择的工作模式是否为升级模式Upgrade Mode;
如果是,进行后续步骤。
8.一种基于微控制单元MCU仿真器的升级装置,其特征在于,与PC连接的所述MCU仿真器将自身初始化为USB设备,并在所述PC上显示目标MCU固件文件夹和烧写程序FlashLoader文件夹,所述MCU仿真器与目标MCU连接,所述装置包括:
检测模块,用于检测在所述PC上显示的所述目标MCU固件文件夹和所述Flash Loader文件夹中,是否均被写入数据,如果检测结果为是,触发升级模块;
升级模块,用于运行写入到所述Flash Loader文件夹中的第一数据对应的烧写程序,采用写入到所述目标MCU固件文件夹中的第二数据,对所述目标MCU升级。
9.如权利要求8所述的装置,其特征在于,在所述PC上还显示有仿真器固件文件夹,所述检测模块,还用于检测在所述PC上显示的所述仿真器固件文件夹中是否被写入数据,如果检测结果为是,触发升级模块;
所述升级模块,还用于采用写入到所述仿真器固件文件夹中的第三数据,对所述MCU仿真器的主控MCU升级。
10.如权利要求8或9所述的装置,其特征在于,所述检测模块,具体用于将当前待检测的文件夹作为第一目标文件夹,根据所述第一目标文件夹在自身闪存Flash中被分配的存储空间,判断自身Flash中对应存储空间中是否存在数据。
11.如权利要求8或9所述的装置,其特征在于,所述装置还包括:
校验模块,用于针对每个被写入数据的文件夹,将该文件夹作为第二目标文件夹,获取所述第二目标文件夹中的校验数据;根据所述第二目标文件夹中被写入的数据,确定待校验数据,判断所述待校验数据与所述校验数据是否一致,如果判断结果为是,触发升级模块。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
指示模块,用于如果校验模块判断结果为是,输出校验通过信息;如果校验模块判断结果为否,输出校验未通过信息。
13.如权利要求8或9所述的装置,其特征在于,所述装置还包括:
识别模块,用于识别用户选择的工作模式是否为升级模式Upgrade Mode,如果是,触发检测模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710493208.5A CN107357609A (zh) | 2017-06-26 | 2017-06-26 | 一种基于mcu仿真器的升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710493208.5A CN107357609A (zh) | 2017-06-26 | 2017-06-26 | 一种基于mcu仿真器的升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107357609A true CN107357609A (zh) | 2017-11-17 |
Family
ID=60272506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710493208.5A Pending CN107357609A (zh) | 2017-06-26 | 2017-06-26 | 一种基于mcu仿真器的升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107357609A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112198865A (zh) * | 2020-09-29 | 2021-01-08 | 中电海康无锡科技有限公司 | 一种mcu低功耗模式切换的测试方法、装置及系统 |
CN113590143A (zh) * | 2021-08-03 | 2021-11-02 | 北京宇系航通科技有限公司 | 基于usb的mcu程序下载方法、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097541A (zh) * | 2006-06-26 | 2008-01-02 | 凌阳科技股份有限公司 | 一种仿真器及其与目标板接口的适配方法 |
-
2017
- 2017-06-26 CN CN201710493208.5A patent/CN107357609A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097541A (zh) * | 2006-06-26 | 2008-01-02 | 凌阳科技股份有限公司 | 一种仿真器及其与目标板接口的适配方法 |
Non-Patent Citations (1)
Title |
---|
奚海蛟: "《ARM体系结构与外设接口实战开发》", 30 June 2012 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112198865A (zh) * | 2020-09-29 | 2021-01-08 | 中电海康无锡科技有限公司 | 一种mcu低功耗模式切换的测试方法、装置及系统 |
CN113590143A (zh) * | 2021-08-03 | 2021-11-02 | 北京宇系航通科技有限公司 | 基于usb的mcu程序下载方法、电子设备及存储介质 |
CN113590143B (zh) * | 2021-08-03 | 2023-11-17 | 北京北航天宇长鹰无人机科技有限公司 | 基于usb的mcu程序下载方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247859B (zh) | 逻辑电路设计的验证方法、装置、电子设备及存储介质 | |
US8972785B2 (en) | Classifying processor testcases | |
US4644487A (en) | Method and apparatus for verifying the design of digital electronic components | |
CN104199773B (zh) | 获取代码覆盖信息的方法及装置 | |
CN108614777A (zh) | 一种基于真实业务的金融交易测试系统及测试方法 | |
US8271252B2 (en) | Automatic verification of device models | |
US9262299B1 (en) | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system | |
CN110619210A (zh) | 一种模拟器检测方法及系统 | |
US8868976B2 (en) | System-level testcase generation | |
US20060253842A1 (en) | Modelling of programmable devices | |
US20140019929A1 (en) | Partial Instruction-by-instruction checking on acceleration platforms | |
CN110597675B (zh) | 芯片的测试方法、装置、存储介质及烧录器 | |
CN109902005A (zh) | 一种自动化测试的方法和系统 | |
CN113157508B (zh) | 嵌入式系统的测试方法、系统、装置、设备及存储介质 | |
CN106021101B (zh) | 对移动终端进行测试的方法及装置 | |
CN112506759A (zh) | 伺服系统控制软件的自动化测试方法、装置及存储介质 | |
CN107784230B (zh) | 页面漏洞的修复方法及装置 | |
CN104699617A (zh) | 一种游戏用自动化测试方法 | |
CN107357609A (zh) | 一种基于mcu仿真器的升级方法及装置 | |
CN113626326A (zh) | 一种基于图像识别的拖拽式的零代码前端自动化测试系统 | |
US8589734B2 (en) | Verifying correctness of processor transactions | |
US10802852B1 (en) | Method for interactive embedded software debugging through the control of simulation tracing components | |
CN103365772B (zh) | 软件测试自动评价装置以及方法 | |
US7243059B2 (en) | Simulation of hardware based on smart buffer objects | |
CN107145381A (zh) | 面向实践教学的mips‑cpu测试工具 |
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 |
Application publication date: 20171117 |
|
RJ01 | Rejection of invention patent application after publication |