CN115098146B - 一种烧录方法、装置、介质及终端 - Google Patents

一种烧录方法、装置、介质及终端 Download PDF

Info

Publication number
CN115098146B
CN115098146B CN202210813522.8A CN202210813522A CN115098146B CN 115098146 B CN115098146 B CN 115098146B CN 202210813522 A CN202210813522 A CN 202210813522A CN 115098146 B CN115098146 B CN 115098146B
Authority
CN
China
Prior art keywords
burning
interval
burned
microcontroller
data
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
Application number
CN202210813522.8A
Other languages
English (en)
Other versions
CN115098146A (zh
Inventor
刘吉平
李美菊
王翔
郑增忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Hangshun Chip Technology R&D Co Ltd
Original Assignee
Shenzhen Hangshun Chip Technology R&D Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Hangshun Chip Technology R&D Co Ltd filed Critical Shenzhen Hangshun Chip Technology R&D Co Ltd
Priority to CN202210813522.8A priority Critical patent/CN115098146B/zh
Publication of CN115098146A publication Critical patent/CN115098146A/zh
Application granted granted Critical
Publication of CN115098146B publication Critical patent/CN115098146B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种烧录方法、装置、介质及终端,所述烧录方法中先获取微控制器的各存储区间的区间描述信息;将各区间描述信息存储至预设烧录算法文件,生成目标烧录算法文件,响应于接收到的烧录启动指令,调用微控制器,以使微控制器根据目标烧录算法文件中区间描述信息的区间操作标识,将待烧录文件烧录至微控制器的闪存。由此可知,本申请通过获取的微控制器的各存储区间的区间描述信息,生成目标烧录算法文件,微控制器可以根据目标烧录算法文件中的区间描述信息的区间操作标识完成实现烧录,可以无需再配置不同或者更换烧录算法文件,提高了烧录的普适性以及烧录的速度。

Description

一种烧录方法、装置、介质及终端
技术领域
本发明涉及计算机数据存储技术领域,特别涉及一种烧录方法、介质及终端。
背景技术
闪存(flash memory,flash)由于其具备电子可擦除可编程、快速读取数据以及断电不丢失等特点,在嵌入式领域越来越广泛地被用作存放数据的载体。其中,微控制器(Microcontroller Unit,MCU)作为嵌入式系统中的控制单元,大部分应用程序都存储在微控制器对应的闪存上。目前,应用程序需要通过编程器以烧录的方式写入相应的闪存中。
现有的编程器主要可以分为专用型编程器和通用型编程器两类。专用型编程器是根据微控制器芯片特别定制的,只能够烧录一款或几款特定微控制器;通用型编程器可以烧录多款不同微控制器,但是由于一微控制器可能对应有多个不同的闪存,而不同的闪存则需要配合不同的烧录算法文件。
然而,在嵌入式系统的产品海量生产时,可能存在大量不同型号的微控制器。在这种情况下,要实现微控制器中闪存的烧录就需要定制大量不同的专用型编程器使用,或者是配置大量不同的烧录算法文件使用通用性编程器。而不论使用上述两种方法中的哪一种,操作都较为繁琐,不具有普适性,影响嵌入式系统产品的生产效率。
故,亟需一种具有普适性、能够提高烧录效率的烧录方法。
发明内容
本发明旨在提供一种烧录方法、装置、终端及介质,用于提高烧录的普适性以及烧录效率。
本发明所采用的技术方案如下:
一种烧录方法,其包括:
获取微控制器的各存储区间的区间描述信息;其中,所述微控制器的各存储区间为预先对微控制器的闪存进行划分得到的,所述区间描述信息至少包括:存储区间的区间操作标识;
将各所述区间描述信息存储至预设烧录算法文件,生成目标烧录算法文件;所述预设烧录算法文件用于配合编程器对待烧录文件进行烧录;
响应于接收到的烧录启动指令,调用所述微控制器,以使所述微控制器根据所述目标烧录算法文件中区间描述信息的区间操作标识,将所述待烧录文件烧录至所述微控制器的闪存。
可选地,所述待烧录文件至少包括一个待烧录数据;
所述响应于接收到的烧录启动指令,调用所述微控制器,以使所述微控制器根据所述目标烧录算法文件中区域描述信息的区间操作标识,将待烧录文件至所述微控制器的闪存,具体包括:
响应于接收到的烧录启动指令,调用所述微控制器,以使所述微控制器根据所述目标烧录算法文件确定所述待烧录数据对应的存储区间;以及
根据所述待烧录数据对应的存储区间的区间操作标识,对所述待烧录数据进行处理,并将处理后的待烧录数据烧录至对应的存储区间并
继续执行所述待烧录文件中的下一待烧录数据,将下一待烧录数据烧录至相应的存储区间的步骤,直至所述待烧录文件中的待烧录数据均烧录完成。
可选地,所述区间描述信息还包括:区间地址;
所述微控制器根据所述目标烧录算法文件确定所述待烧录数据对应的存储区间,具体包括:
所述微控制器根据目标烧录算法,确定所述待烧录数据对应的烧录地址;
根据所述待烧录数据对应的烧录地址以及各存储区间的区间地址,确定所述待烧录数据对应的存储区间。
可选地,在所述待烧录文件烧录至所述微控制器的闪存之前,所述方法还包括:
根据获取的开发需求信息,确定各所述存储区间的区间地址是否具有相应的特殊操作需求信息;
在所述区间地址具有相应的特殊操作需求信息的情况下,根据所述特殊操作需求生成对应的特殊操作标识;在所述区间地址不具有相应的特殊操作需求信息的情况下,生成普通操作标识。
可选地,所述微控制器根据所述待烧录数据对应的存储区间的区间操作标识,对将所述待烧录数据烧录至相应的存储区间,具体包括:
在所述存储区间的操作标识为特殊操作标识的情况下,所述微控制器根据所述特殊操作标识所对应的所述特殊操作需求信息对所述待烧录数据进行特殊处理,并将特殊处理后的待烧录数据烧录至相应的存储空间;其中,特殊处理后的待烧录数据与特殊处理前的待烧录数据不同。
可选地,所述烧录方法还包括:
在所述存储区间的操作标识为普通操作标识的情况下,所述微控制器直接将所述待烧录数据烧录至相应的存储空间。
可选地,所述闪存为所述微控制器的集成闪存或外挂闪存。
一种烧录装置,其包括:
获取单元,用于获取微控制器的各存储区间的区间描述信息;其中,所述微控制器的各存储区间为预先对微控制器的闪存进行划分得到的,所述区间描述信息至少包括:存储区间的区间操作标识;
生成单元,用于将各所述区间描述信息存储至预设烧录算法文件,生成目标烧录算法文件;所述预设烧录算法文件用于配合编程器对待烧录文件进行烧录;
烧录单元,用于响应于接收到的烧录启动指令,调用所述微控制器,以使所述微控制器根据所述目标烧录算法文件中区间描述信息的区间操作标识,将所述待烧录文件烧录至所述微控制器的闪存。
一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的烧录方法中的步骤。
一种终端,其包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上任一所述的烧录方法中的步骤,或者如上任一所述的图像处理方法中的步骤。
有益效果:与现有技术相比,本发明提供了一种烧录方法、装置、介质及终端,先获取微控制器的各存储区间的区间描述信息,其中微控制器的各存储区间为预先对微控制器的闪存进行划分得到的,区间描述信息至少包括:区间操作标识。然后将各所述区间描述信息存储至预设烧录算法文件,生成目标烧录算法文件。响应于接收到的烧录启动指令,调用微控制器,以使微控制器根据所述目标烧录算法文件中区间描述信息中的区间操作标识对待烧录文件将待烧录文件烧录至所述微控制器的闪存。由此可知,在本申请实施例中,接收到烧录启动指令后,调用微控制器,从而使微控制器根据获取的微控制器的各存储区间的区间描述信息中的区间操作标识,将待烧录文件烧录至相应的存储区间,也就是说针对微控制器不同的闪存无需再配置不同或者更换烧录算法文件,通过生成的目标烧录算法文件利用微控制器的自身资源即可完成不同的闪存的烧录,提高了烧录的普适性,提高烧录的速度。
附图说明
图1为现有技术中烧录方法的应用场景示意图;
图2为本申请实施例提供的一种烧录方法的应用场景示意图;
图3为本申请实施例提供的一种烧录方法的流程图;
图4为本申请实施例提供的一种烧录方法的烧录操作的流程示意图;
图5为本申请实施例提供的一种烧录方法中步骤S30的流程图;
图6为本申请实施例提供的一种烧录方法中待烧录文件烧录至微控制器的闪存过程的一个流程示意图;
图7为本申请实施例提供的一种烧录方法中擦除操作的一个流程示意图;
图8为本申请实施例提供的一种烧录方法中编程操作中的一个流程示意图;
图9为本申请实施例提供的一种烧录方法中烧录结果的示例图;
图10为本申请实施例提供的一种烧录装置的结构示意图;
图11为本申请实施例提供的一种终端的结构原理图。
具体实施方式
本发明提供了一种烧录方法、装置、介质及终端,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
随着科学技术的飞速发展,产品的智能化程度也越来越过,越来越多的产品使用嵌入式系统并将微控制器作为产品的控制单元。为了将产品的程序存储至相应的微控制器的闪存,需要相应的编程器(即烧录器)将相应的程序烧录至微控制器的闪存。其中,闪存属于闪存器件的一种非易失性内容,在没有电流供应的条件下也能够长久地保持数据,大多用于嵌入式系统;编程器是指可以通过微控制器对闪存进行编程,将数据写入存储器件的装置。
目前的编程器可以分为两类:专用型和通用型。专用型为定制编程器,只能特定的烧录一款或者几款特定型号的微控制器,不具有普适性。而通用型编程器虽然可以适用于不同的微控制器,但是需要配合相应的烧录算法文件。图1为通用编程器)在现有技术中的应用场景图。如图1所示,通用编程器通过连接线与微控制器连接,并配有相应的烧录算法文件,文件A通过通用编程器以及烧录算法文件,经过连接线传输将文件A烧录至微控制器的FLASH_A中,烧录成功后FLASH_A中存在有相应的文件A。但是,在一个微控制器对应有多个不同的闪存的情况下,由于对写入的待烧录数据的要求不同,不同的闪存就需要多个烧录算法文件,较为繁琐。因此,现有技术中不论是采用专用编程器还是采用通用编程器来对微控制器的闪存进行烧录,其普适性都较低,在产品海量生产过程中的成本较高,影响产品生产的效率。
为了解决上述问题,在本发明实施例中,可以获取微控制器的各存储区间的区间描述信息,其中,微控制器的存储区间是预先对微控制器的各闪存进行划分得到的,区间描述信息至少包括:存储区间的区间操作标识,并将上述区间描述信息存储至预设烧录算法文件中,从而生成目标烧录算法文件,在接收到烧录启动指令之后,调用微控制器,以使微控制器根据目标烧录算法文件中区域描述信息的区间操作标识对待烧录文件进行处理,将处理后的待烧录文件烧录至微控制器的闪存中。可见,本发明实施例中首先根据预先划分的各存储区间的区间描述信息生成目标烧录算法文件,然后在接收到烧录启动指令之后调用微控制器,微控制器根据生成的目标烧录算法文件中区间描述信息的区间操作标识,完成待烧录文件的烧录。也就是说,在本发明实施例中可以通过利用微控制器的自身资源对待烧录文件进行处理,以实现不同的闪存的烧录,无需再专门配置不同的烧录算法文件,即可实现一烧录算法文件对微控制器中多个不同的闪存的烧录,从而提高烧录方法的普适性、嵌入式产品的生产效率。
举例说明,本发明实施例可以应用到如图2所示的场景。在该场景中,通用编程器预先配置烧录算法文件,通用编程器通过连接线与微控制器连接,且该微控制器具有若干内部的集成闪存:IN_FLASH_A…IN_FLASH_N,以及若干挂载的外挂闪存:EXT_FLASH_1…EXT_FLASH_M。首先,将微控制器中的IN_FLASH_A…IN_FLASH_N以及EXT_FLASH_1…EXT_FLASH_M进行分区,得到各存储区间以及各存储区间的区间描述信息,并将各存储区间的区间描述信息存储至烧录算法文件,生成目标算法烧录文件。微控制器通过各存储区间的区间操作标识,利用自身资源对文本A进行处理得到文本B,并将文本B写入相应的存储区间中。
需要注意的是,上述应用场景仅是为了便于理解本发明而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
下面结合附图,通过对实施例的描述,对发明内容进一步说明。
图3为本发明实施例提供烧录方法的一种流程图。如图3所示,本发明实施例提供的烧录方法可以包括:
S10,获取微控制器的各存储区间的区间描述信息。
其中,微控制器的各存储区间为预先对微控制器的各闪存进行划分得到的,区间描述信息至少包括:存储区间的区间操作标识。所述区间操作标识用于表示存储区间在烧录时的操作需求,例如加密、签名或者直接烧录等
在本申请的一些实施例中,在之前步骤S10之前,可以基于用户操作得到的开发需求信息,对微控制器的各闪存进行划分,从而相应的存储区间。上述开发需求信息可以是终端设备基于用户的操作生成的,例如用户通过对电脑的进行操作,电脑基于用户的操作生成相应的开发需求信息。例如:基于用户操作得到的开发需求信息,一微控制器的flash_1可以划分为两部分,一部分用于存储密钥密文,另一部分存储其他明文信息。这里所提到的输入设备可以是鼠标、键盘、平板电脑等输入设备,在本申请实施例中不做具体限定。
具体地,由于在一个嵌入式系统内,不同的闪存对应有不同的地址空间,因此可以按照开发需求以及各闪存的地址空间,对微控制器的各闪存进行划分,从而得到多个不同属性的存储区间,并确定每个存储区间的区间描述信息。例如,一微控制器具有闪存_A和闪存_B,按照开发需求对其进行划分,得到闪存_A的存储区间为A1、A2、A3,闪存_B的存储区间为B1、B2,此时该微控制器的存储区间包括:A1、A2、A3、B1、B2,其中A1、B2用于存储密钥密文信息,A2、A3、B2用于存储其他明文信息。需要说明的是,在本发明实施例中,微控制器对应的闪存可以包括微控制器内部集成的集成闪存,也可以包括微控制器外部挂载的外挂闪存。例如,一微控制器对应有集成闪存A、集成闪存B、外挂闪存C。
S20,将各所述区间描述信息存储至预设烧录算法文件中,生成目标烧录算法文件。
其中,预设烧录算法文件用于配合编程器对待烧录文件进行烧录。
具体地,可以先提前为通用编程器预设好相应的烧录算法文件(即预设算法文件),在得到各存储区间的区间描述信息后,将各区间描述信息存储至预设烧录算法文件中,以生成目标烧录算法文件。
在本发明实施例中,可以在执行步骤S20之前设置数据烧录所需要的预设烧录算法文件,也可以在执行步骤S10之前设置数据烧录所需要的预设烧录算法文件,亦或者在选择好通用编程器后设置,具体设置预设烧录算法文件的时间在本申请中不做具体限定,只需在生成目标烧录算法文件之前完成即可。
本发明实施例中的预设烧录算法文件可以是现有的烧录算法文件,并且预设烧录算法文件可以支持闪存的初始化、擦写、编程、校验四个操作,以完成待烧录数据的烧录。如图4所示,编程器连接待烧录芯片(微控制器)后,对微控制器的闪存进行初始化,初始化完成后擦除指定闪存空间,随后对擦除后的指定闪存空间进行编程,并将编程写入的内容进行校验,校验通过即完成此次待烧录数据的烧录,烧录结束;校验未通过则需要重新擦除指定闪存空间,并重新对指定闪存空间编程并对写入的内容再次进行校验,直至校验通过。
需要说明的是,上述对指定空间编程即为将待烧录数据写入指定闪存空间。烧录过程包括但不限于:闪存初始化、擦写、编程以及校验四个阶段。烧录算法文件需要针对每个阶段,描述每个阶段的分区信息以及每个阶段的实现方式。
S30,响应于接收到的烧录启动指令,调用微控制器,以使微控制器根据目标烧录算法文件中区间描述信息的区间操作标识将待烧录文件烧录至微控制器的闪存。
在本发明实施例中,基于用户的相关操作可以生成相应的烧录启动指令,该烧录启动指令用于指示此次烧录开始。上述待烧录文件可以是由至少一个待烧录数据组成,在此次烧录过程中需要将待烧录文件中的所有的待烧录数据均烧录至相应的微控制器,才能够表示此次烧录完成。
具体地,如图5所示,响应于接收到的烧录启动指令,调用微控制器,以使微控制器根据目标烧录算法文件中区间描述信息的区间操作标识,将待烧录文件烧录至微控制器的闪存,可以通过以下方式实现:
S31,响应于接收到的烧录启动指令,调用微控制器,以使微控制器根据目标烧录算法文件确定待烧录数据对应的存储区间。
由上述可知,待烧录文件可以由多个待烧录数据按照一定的顺序排列组成,例如待烧录数据a、b、c、d按照顺序组成待烧录文件{a,b,c,d}。每个待烧录数据都具有对应的烧录地址,通过各待烧录数据对应的烧录地址,即可确定各待烧录数据烧录至微控制器的闪存中的位置。
在本申请的一些实施例中,上述区间描述信息还包括:区间地址。
具体地,微控制器根据目标烧录算法,确定待烧录数据对应的烧录地址;然后根据待烧录数据对应的烧录地址以及各存储区间的区间地址,确定所述待烧录数据对应的存储区间。
具体地,微控制器根据目标烧录算法文件确定待烧录数据的烧录地址,再根据待烧录数据的烧录地址以及各存储区间的区间地址,确定该烧录地址所对应的存储区间,即为该待烧录数据对应的存储区间。例如,待烧录数据的烧录地址为0x40022204-0x40022007,该烧录地址所属的存储区间为存储区间A。
在本申请实施例中,上述区间地址用于表示该存储区间的起始地址和结束地址。也就是说在对微控制器的闪存进行划分时,即可确定每个存储区间的起始地址和结束地址,并根据该存储区间的起始地址和结束地址生成该存储区间的区间地址。由于在微控制器中地址是唯一的,因此通过区间地址即可确定唯一对应的存储区间。
亦或者,上述区间描述信息也可以是包括:区间地址标识。也就是说在对闪存进步划分后,为得到的每一个存储区间分配一特定的区间地址标识,以通过该区间地址标识确定唯一对应的存储区间。例如,一微控制器的集成闪存_1,划分为两个存储空间,其区间地址标识可以为1A、1B用于分别标识集成闪存_1的两个存储区间。需要说明的是,区间地址标识与存储区间的对应关系也可以通过存储区间的起始地址和结束地址相关联,以使能够使得通过区间地址标识找到唯一与其对应的存储区间。
S32,微控制器根据根据待烧录数据对应的存储区间的区间操作标识,对待烧录数据进行处理,并将处理后的待烧录数据烧录至对应的存储区间。在本发明的一些实施例中,上述区间操作标识至少可以包括:普通操作标识、特殊操作标识。因此,在待烧录文件烧录至微控制器的闪存之前,本发明实施例提供的烧录方法还包括以下步骤:
根据获取的开发需求信息,确定各存储区间的区间地址是否具有相应的特殊操作需求信息;在区间地址具有相应的特殊操作需求信息的情况下,根据特殊操作需求生成对应的特殊操作标识;在区间地址不具有相应的特殊操作需求信息的情况下,生成普通操作标识。
上述特殊操作需求信息用于表示烧录后的烧录数据与烧录前的待烧录数据不同。在本发明实施例中,上述特殊操作需求信息可以用于表示加密、签名等操作需求,例如:某区间地址A对应的特殊操作需求为密钥加密,烧录前待烧录数据为c1,经过密钥加密后烧录至微控制器中的烧录数据为c2,烧录数据c2即为待烧录数据c1通过密钥加密获得的。
基于此,在本申请的一些实施例中,步骤S32具体可以通过以下方式实现:
在存储区间的区间操作标识为特殊操作标识的情况下,微控制器根据特殊操作标识所对应的特殊操作需求信息,对该存储区间的待烧录数据进行特殊处理,并将特殊处理后的待烧录数据烧录至相应的存储区间。其中,特殊处理后的待烧录数据与特殊处理前的待烧录数据不同。
在存储区间的区间操作标识为普通操作标识的情况下,微控制器直接将待烧录数据烧录至相应的存储区间。
举例说明,一待烧录文件M的待烧录数据m1、m2分别对应的存储区间为微控制器的A1区间、A2区间,根据A1区间的区间描述信息确定A1区间的区间操作标识为特殊操作标识,该特殊操作标识对应的特殊操作需求信息为:密钥加密;此时微控制器的自身资源对待烧录数据m1进行密钥加密处理,得到待烧录数据m1*,并将密钥加密处理后的得到的待烧录数据m1*烧录至A1区间。根据A2区间的区间描述信息确定A2区间的区间操作标识为普通操作标识,此时微控制器直接将待烧录数据m2烧录至A2区间,不需要进行特殊处理。
也就是说,如图6所示,在待烧录数据写入的地址所属的存储区间IN_闪存_A为特殊地址的情况下,对写入IN_闪存_A的待烧录数据进行特殊操作;在待烧录数据写入的地址所属的存储区间IN_闪存_B为普通地址的情况下,对写入IN_闪存_A的待烧录数据进行普通操作;在待烧录数据写入的地址所属的存储区间IN_闪存_N为普通地址的情况下,对写入IN_闪存_N的待烧录数据进行普通操作;在待烧录数据写入的地址为EXT_闪存_1为普通地址的情况下,对写入EXT_闪存_1的待烧录数据进行普通操作;在待烧录数据写入的地址所属的存储区间EXT_闪存_M为普通地址的情况下,对写入EXT_闪存_M的待烧录数据进行普通操作。需要说明的是,这里所提到的操作至少包含:初始化、擦除、编程、校验四个操作。其中,特殊地址即为需要具有特殊操作需求的地址。
在本发明实施例中,通过获取开发需求信息对微控制器的闪存进行划分,得到多个存储区间,根据开发需求信息的不同,得到的每个存储区间的操作要求也有所不同。在烧录过程中,待烧录数据对应的存储区间具有特殊操作需求的情况下,微控制器利用自身资源对待烧录数据进行特殊操作,并将特殊操作后的待烧录数据烧录至相应的存储区间,以满足不同的需求。也就是说,在本发明实施例中无需更换多个或配置多个不同的烧录算法文件,通过定制特殊的烧录算法文件实现不同闪存的烧录,而是通过分区划分,利用微控制器自身的资源实现不同闪存的烧录,提高了烧录的普适性,并且在一定程度上充分的利用微控制器的自身资源,缓解了烧录算法文件的压力,更适用于海量产品的生产,节约生产成本,提高生产的效率。
S33,继续执行待烧录文件中的下一待烧录数据,将下一待烧录数据烧录至相应的存储区间的步骤,直至待烧录文件中的待烧录数据均烧录完成。
由上述可知,待烧录文件中包括多个按照一定顺序排列的待烧录数据。因此,在待烧录文件烧录过程中,按照排列顺序对待烧录数据烧录,每个待烧录数据的烧录都需要经过闪存的初始化、擦除、编程、校验四个操作。其中,闪存的初始化、擦除、编程、校验四个操作如图3所示,在此不再加以赘述。
基于此,在本申请实施例提供的烧录方法中,对待烧录文件中的首个待烧录数据按照上述步骤S31-S33所述的方法进行烧录,在首个待烧录数据烧录完成后,在根据上述步骤S31-S33所述的方法对下一待烧录数据进行烧录,直至待烧录文件中的所有的待烧录数据均烧录完成。
举例说明,一微控制器芯片对应有两块闪存,其中闪存_1为系统区域,闪存_2为用户区域,并且系统区域划分为两部分,一部分存储密钥密文,一部分存储其他明文信息。也就是说该微控制器芯片按照开发需求,将其对应的两块flash_1和flash_2划分为3个存储区间,分别为系统区间A、系统区间B、用户区间(系统区间A和系统区间B组成系统区间),其中,系统区间A用于存储密钥密文、系统区间B用于存储其他明文信息,用户区间也用于存储其他明文信息。在待烧录文件烧录过程中每个待烧录数据的闪存初始化和校验动作是相同的,在此不再加以赘述,而擦除、编程的动作是不同的,因此,在擦除过程中对于待烧录文件中的一待烧录数据的擦除过程,如图7所示:确定待烧录数据的烧录地址(即图7所示的擦除地址),在擦除地址为系统区间的情况下,对系统区间相对应的地址进行擦除;在擦除地址为用户区间的情况下,对用户区间的相对应位置进行擦除。
如图8所示,在待烧录数据编程过程中,确定待烧录数据的烧录地址是否为密钥存储地址,也就是说确定待烧录数据对应的存储区间是否为系统区间A,在该待烧录数据的烧录地址为密钥存储地址的情况下,调用微控制器,微控制器通过其自身资源对待烧录数据进行加密,得到加密后的待烧录数据,再将加密后的待烧录数据写入系统区间A的相应地址;在待烧录数据的烧录地址并不是密钥存储地址的情况下,确定该待烧录数据的烧录地址是否为系统区间的其他地址,也就是待烧录数据对应的存储区间是否为系统区间B,在待烧录数据对应的存储区间为系统区间B的情况下,按照通用的操作,微控制器直接将该待烧录数据写入对应的系统区间B的相应地址;在待烧录数据的烧录地址并不是系统区间的其他地址的情况下,确定该待烧录数据的烧录地址是否为用户区地址,也就是说确定该待烧录数据对应的存储区间是否为用户区间,在该待烧录数据对应的存储区间为用户区间的情况下,微控制器直接将待烧录数据写入用户区间的相应地址,从而完成待烧录数据的编程过程,并执行校验操作。并在校验操作完成后烧录待烧录文件中的下一待烧录数据,直至待烧录文件全部烧录完成。
例如:待烧录数据为密钥明文,并且该密钥明文写入Flash_1的系统区间A,该系统区间A用于存储密钥密文信息,因此需要调用微控制器,微控制器通过自身资源对密钥明文加密后进行编程操作,烧录至Flash_1的系统区间A的数据为密钥明文加密后的密钥密文;待烧录数据为系统区明文,则该系统区明文写入Flash_1的系统区间B,该系统区间B用于存储其他明文信息,微控制器直接将该系统区明文写入Flash_1的系统区间B即可,存储在Flash_1的系统区间B的数据为系统区明文;同理,若待烧录数据为用户区明文,则该用户区明文写入Flash_2(即写入用户区间),微控制器也直接将该用户区明文写入Flash_2即可,烧录前后对比如图9所示。
在本发明实施例提供的烧录方法中,获取预先划分的微控制器的各存储区间的区间描述信息生成目标烧录算法文件,微控制器根据待烧录文件中各待烧录数据多对应的存储区间的区间描述信息,对各待烧录数据进行相应的特殊操作,以实现不同的存储空间的存储要求,而无需配置或更换多个不同的烧录算法文件以满足不同的存储要求,充分利用了微控制器的自身资源,提高了烧录的普适性,无需定制专门的编程器或者是专门的烧录算法文件,更适用于海量产品的生产,提高生产效率,节约生产成本。
基于上述烧录方法,本发明还提供了一种烧录装置,如图10所示其包括:获取单元40,、生成单元41、烧录单元42。其中,获取单元40用于获取微控制器微控制器的各存储区间的区间描述信息;其中,所述微控制器的各存储区间为预先对微控制器的闪存闪存进行划分得到的,所述区间描述信息至少包括:存储区间的区间操作标识;生成单元41用于将各所述区间描述信息存储至预设烧录算法文件,生成目标烧录算法文件;其中,预设烧录算法文件用于配合编程器对待烧录文件进行烧录;烧录单元42用于响应于接收到的烧录启动指令,调用微控制器,以使所述微控制器根据所述目标烧录算法文件中区间描述信息的区间操作标识,将待烧录文件烧录至所述微控制器的闪存。
此外,基于上述烧录方法,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例所述的烧录方法中的步骤。
基于上述烧录方法,本发明还提供了一种终端,如图11所示,其包括至少一个处理器(processor)50;显示屏51;以及存储器(memory)52,还可以包括通信接口(Communications Interface)53和总线54。其中,处理器50、显示屏51、存储器52和通信接口53可以通过总线54完成相互间的通信。显示屏51设置为显示初始设置模式中预设的用户引导界面。通信接口53可以传输信息。处理器50可以调用存储器52中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器52中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器52作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器50通过运行存储在存储器52中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器52可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述装置、存储介质以及终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种烧录方法,其特征在于,所述方法包括:
获取微控制器的各存储区间的区间描述信息;其中,所述微控制器的各存储区间为预先对所述微控制器的闪存进行划分得到的,所述区间描述信息至少包括:存储区间的区间操作标识;所述区间操作标识用于表示存储区间在烧录时的操作需求;
将各所述区间描述信息存储至预设烧录算法文件,生成目标烧录算法文件;所述预设烧录算法文件用于配合编程器对待烧录文件进行烧录;
响应于接收到的烧录启动指令,调用所述微控制器,以使所述微控制器根据所述目标烧录算法文件,确定所述待烧录文件中各待烧录数据的存储区间,并根据所述存储区间的所述区间操作标识,将所述待烧录文件的各所述待烧录数据烧录至所述微控制器的闪存。
2.根据权利要求1所述的烧录方法,其特征在于,所述响应于接收到的烧录启动指令,调用所述微控制器,以使所述微控制器根据所述目标烧录算法文件,确定所述待烧录文件中各待烧录数据的存储区间,并根据所述存储区间的所述区间操作标识,将所述待烧录文件的各所述待烧录数据烧录至所述微控制器的闪存,具体包括:
响应于接收到的烧录启动指令,调用所述微控制器,以使所述微控制器根据所述目标烧录算法文件确定所述待烧录数据对应的存储区间;以及
根据所述待烧录数据对应的存储区间的区间操作标识,将所述待烧录数据烧录至相应的存储区间;并
继续执行将所述待烧录文件中的下一待烧录数据至相应的存储区间的步骤,直至所述待烧录文件中的待烧录数据均烧录完成。
3.根据权利要求2所述的烧录方法,其特征在于,所述区间描述信息还包括:区间地址;
所述微控制器根据所述目标烧录算法文件中确定所述待烧录数据对应的存储区间,具体包括:
所述微控制器根据目标烧录算法文件,确定所述待烧录数据对应的烧录地址;
根据所述待烧录数据对应的烧录地址以及各存储区间的区间地址,确定所述待烧录数据对应的存储区间。
4.根据权利要求2所述的烧录方法,其特征在于,在所述待烧录文件烧录至所述微控制器的闪存之前,所述方法还包括:
根据获取的开发需求信息,确定各所述存储区间的区间地址是否具有相应的特殊操作需求信息;
在所述区间地址具有相应的特殊操作需求信息的情况下,根据所述特殊操作需求生成对应的特殊操作标识;
在所述区间地址不具有相应的特殊操作需求信息的情况下,生成普通操作标识。
5.根据权利要求4所述的烧录方法,其特征在于,所述微控制器根据所述待烧录数据对应的存储区间的操作标识,将所述待烧录文件烧录至相应的存储区间,具体包括:
在所述存储区间的操作标识为特殊操作标识的情况下,所述微控制器根据所述特殊操作标识所对应的特殊操作需求信息,对所述存储区间对应的待烧录数据进行特殊处理,以使得特殊处理后的待烧录数据烧录至相应的存储空间;
其中,特殊处理后的待烧录数据与特殊处理前的待烧录数据不同。
6.根据权利要求4所述的烧录方法,其特征在于,所述烧录方法还包括:
在所述存储区间的操作标识为普通操作标识的情况下,所述微控制器直接将所述待烧录数据烧录至对应的存储区间。
7.根据权利要求1所述的烧录方法,其特征在于,所述闪存为所述微控制器的集成闪存或外挂闪存。
8.一种烧录装置,其特征在于,所述装置包括:
获取单元,用于获取微控制器的各存储区间的区间描述信息;其中,所述微控制器的各存储区间为预先对微控制器的闪存进行划分得到的,所述区间描述信息至少包括:存储区间的区间操作标识;所述区间操作标识用于表示存储区间在烧录时的操作需求;
生成单元,用于将各所述区间描述信息存储至预设烧录算法文件,生成目标烧录算法文件;所述预设烧录算法文件用于配合编程器对待烧录文件进行烧录;
烧录单元,用于响应于接收到的烧录启动指令,调用所述微控制器,以使所述微控制器根据所述目标烧录算法文件,确定所述待烧录文件中各待烧录数据的存储区间,并根据所述存储区间的所述区间操作标识,将所述待烧录文件的各所述待烧录数据烧录至所述微控制器的闪存。
9.一种终端,其特征在于,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如权利要求1~7任意一项所述的烧录方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1~7任意一项所述的烧录方法中的步骤。
CN202210813522.8A 2022-07-12 2022-07-12 一种烧录方法、装置、介质及终端 Active CN115098146B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210813522.8A CN115098146B (zh) 2022-07-12 2022-07-12 一种烧录方法、装置、介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210813522.8A CN115098146B (zh) 2022-07-12 2022-07-12 一种烧录方法、装置、介质及终端

Publications (2)

Publication Number Publication Date
CN115098146A CN115098146A (zh) 2022-09-23
CN115098146B true CN115098146B (zh) 2023-04-18

Family

ID=83297123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210813522.8A Active CN115098146B (zh) 2022-07-12 2022-07-12 一种烧录方法、装置、介质及终端

Country Status (1)

Country Link
CN (1) CN115098146B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170435A (zh) * 2007-09-20 2008-04-30 中兴通讯股份有限公司 一种解决非对称数字用户线调制解调器软件丢失的方法
CN101520734A (zh) * 2008-12-17 2009-09-02 康佳集团股份有限公司 一种升级闪存中数据的方法及其网络电视和交互式机顶盒
CN102455972A (zh) * 2010-10-25 2012-05-16 英业达股份有限公司 编程装置
CN103744694B (zh) * 2013-12-24 2017-08-11 武汉烽火众智数字技术有限责任公司 基于Nand闪存的动态分区搜索装置及其方法
CN109165025A (zh) * 2018-08-01 2019-01-08 京信通信系统(中国)有限公司 芯片离线烧录方法、装置、系统、计算机存储介质及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161081B2 (en) * 2001-03-16 2012-04-17 Michael Philip Kaufman System and method for generating automatic user interface for arbitrarily complex or large databases
CN102360569B (zh) * 2011-08-24 2017-04-12 中兴通讯股份有限公司 非易失闪存芯片烧录方法、系统及装置
CN102722516B (zh) * 2012-01-17 2014-12-17 晨星软件研发(深圳)有限公司 一种针对NAND Flash烧录文件的生成方法及相应的装置
CN104317622B (zh) * 2014-10-30 2018-05-29 深圳市捷顺科技实业股份有限公司 一种嵌入式设备程序烧录处理方法和系统
CA2957584A1 (en) * 2016-02-12 2017-08-12 Coho Data, Inc. Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems
CN110196729B (zh) * 2018-11-30 2022-02-08 腾讯科技(深圳)有限公司 应用程序更新方法、设备和装置及存储介质
CN113377389A (zh) * 2021-06-30 2021-09-10 西安诺瓦星云科技股份有限公司 数据的处理方法、装置、计算机可读存储介质及处理器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170435A (zh) * 2007-09-20 2008-04-30 中兴通讯股份有限公司 一种解决非对称数字用户线调制解调器软件丢失的方法
CN101520734A (zh) * 2008-12-17 2009-09-02 康佳集团股份有限公司 一种升级闪存中数据的方法及其网络电视和交互式机顶盒
CN102455972A (zh) * 2010-10-25 2012-05-16 英业达股份有限公司 编程装置
CN103744694B (zh) * 2013-12-24 2017-08-11 武汉烽火众智数字技术有限责任公司 基于Nand闪存的动态分区搜索装置及其方法
CN109165025A (zh) * 2018-08-01 2019-01-08 京信通信系统(中国)有限公司 芯片离线烧录方法、装置、系统、计算机存储介质及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Girish Kumar M S 等."Write Pattern Format Algorithm (WPFA) for Reliable NAND-based SSDs".《International Journal of Engineering Research &amp Technology》.2015,第4卷(第4期),1425-1430. *
姚远 等."基于C# 的OTP存储器烧录器上位机软件的设计与实现".《电子设计工程》.2016,第24卷(第13期),30-33. *

Also Published As

Publication number Publication date
CN115098146A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
CN105718281B (zh) 一种触摸屏固件升级方法及装置
CN104317622A (zh) 一种嵌入式设备程序烧录处理方法和系统
CN111309364A (zh) 芯片程序的升级方法、装置及存储介质
CN112948893A (zh) 一种基于批量硬件烧录的固件加密方法
WO2016078263A1 (zh) 升级控制设备、终端、终端升级方法及系统、存储介质
CN106919865B (zh) 非易失性存储器数据加密系统
CN102880487A (zh) 一种一键式烧录网卡固件的方法
CN107168750B (zh) 一种固件升级保护方法及系统
CN115098146B (zh) 一种烧录方法、装置、介质及终端
CN104750532A (zh) 一种基于Android的双系统土地核查PAD及启动方法
CN110471675B (zh) 一种程序烧录方法、系统、装置及计算机可读存储介质
TW201833421A (zh) 可更新韌體的電子鎖系統
CN103914309A (zh) 一种基于嵌入式系统平台的ip、mac地址设置方法
TWI768255B (zh) 雲端部署開機映像的電子裝置、開機映像的雲端部署系統及其方法
CN112799683A (zh) 一种终端设备程序烧写和测试方法
TWI614684B (zh) 即時韌體更新方法及其電腦可讀取媒介
CN112764787B (zh) 一种基于UDS的安全升级Bootloader设计方法
US20090187898A1 (en) Method for securely updating an autorun program and portable electronic entity executing it
CN115729568A (zh) 程序烧录保护方法、装置、烧录器及板卡
EP2846259B1 (en) Method and apparatus for controlling memory startup
CN113792020A (zh) 一种数据处理方法、装置、终端及存储介质
CN112905120A (zh) 一种锁盘升级方法、装置、电子设备和存储介质
CN112507402A (zh) Flash存储器读保护处理方法及装置
CN110888653A (zh) 存储器中固件读写的控制方法、系统、电子设备、芯片
CN107480000B (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