WO2018054060A1 - 一种处理器及BootLoader程序的更新方法、存储介质 - Google Patents

一种处理器及BootLoader程序的更新方法、存储介质 Download PDF

Info

Publication number
WO2018054060A1
WO2018054060A1 PCT/CN2017/082607 CN2017082607W WO2018054060A1 WO 2018054060 A1 WO2018054060 A1 WO 2018054060A1 CN 2017082607 W CN2017082607 W CN 2017082607W WO 2018054060 A1 WO2018054060 A1 WO 2018054060A1
Authority
WO
WIPO (PCT)
Prior art keywords
bootloader program
volatile memory
processor core
controller
processor
Prior art date
Application number
PCT/CN2017/082607
Other languages
English (en)
French (fr)
Inventor
周欣
周俊
Original Assignee
深圳市中兴微电子技术有限公司
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 深圳市中兴微电子技术有限公司 filed Critical 深圳市中兴微电子技术有限公司
Publication of WO2018054060A1 publication Critical patent/WO2018054060A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Definitions

  • the present invention relates to a boot loader (BootLoader) program in an embedded system, and more particularly to a processor and a method and a storage medium for updating a BootLoader program.
  • BootLoader boot loader
  • the BootLoader program is the first piece of code that the embedded system executes after power-on. It runs before the operating system kernel runs, preparing a suitable software and hardware environment for the final call to the operating system kernel.
  • the BootLoader program is implemented based on a specific hardware platform, and different hardware platforms correspond to different BootLoader programs. Therefore, it is especially important to ensure the effective operation of the BootLoader program as well as upgrades and repairs.
  • the BootLoader program when the BootLoader program is stored in the Nand Flash memory, when the embedded system updates the BootLoader program, the BootLoader program needs to be copied to a random access memory (RAM) or a Nor Flash memory.
  • the processor writes the BootLoader program to the Nand Flash memory, which causes the update to be slower.
  • the embodiment of the present invention is to provide a method for updating a processor and a BootLoader program, and a storage medium, so as to speed up the update of the BootLoader program.
  • an embodiment of the present invention provides a processor, including: a processor core, a controller, and a non-volatile memory, wherein the non-volatile memory supports on-chip execution, can be read and written, and can directly
  • the processor core is connected, the processor core is connected to the controller, and the controller is connected to the non-volatile memory, wherein the processor core is configured to send a wipe to the controller In addition to the indication signal, and erasing the first boot load BootLoader program in the non-volatile memory; further configured to receive a status signal from the controller, wherein the status signal is used to indicate the non-volatile
  • the memory is currently in a writable state; in response to the status signal, a second BootLoader program is written to the non-volatile memory; the controller is configured to monitor the first in response to the erase indication signal Whether the BootLoader program is erased or not; after detecting that the first BootLoader program is erased, the status signal is
  • an embodiment of the present invention provides an update method for starting a load of a BootLoader program, which is applied to a processor, where the processor includes: a processor core, a controller, and a nonvolatile memory, the nonvolatile The memory supports on-chip execution, is readable and writable, and can be directly connected to the processor core; the method includes: obtaining a data update instruction, wherein the data update instruction is used to indicate the processor core update
  • the first BootLoader program in the non-volatile memory is a second BootLoader program; executing the data update instruction to generate an erase indication signal; transmitting the erase indication signal to the controller, and erasing the The first BootLoader program in the non-volatile memory, wherein the erasure indication signal is used to instruct the controller to monitor whether the first BootLoader program is erased, and when the first BootLoader is detected After the program erasure is completed, a status signal is generated; the status signal from the
  • an embodiment of the present invention provides an update method for starting a load of a BootLoader program, which is applied to a processor, where the processor includes: a processor core, a controller, and a nonvolatile memory, the nonvolatile The memory supports on-chip execution, can be read and written, and can be directly connected to the processor core;
  • the method includes:
  • the processor core obtains a data update instruction, where the data update instruction is used to instruct the processor core to update the first BootLoader program in the non-volatile memory to be a second BootLoader program;
  • the processor core executes the data update instruction to generate an erase indication signal
  • the processor core sends the erase indication signal to the controller, and erases the first BootLoader program in the non-volatile memory;
  • the controller is configured to monitor whether the first BootLoader program is erased in response to the erasure indication signal;
  • the controller generates a status signal after detecting that the first BootLoader program is erased, wherein the status signal is used to indicate that the non-volatile memory is currently in a writable state;
  • the controller sends the status signal to the processor core
  • the processor core writes the second BootLoader program to the non-volatile memory in response to the status signal.
  • an embodiment of the present invention provides a processor, where the processor includes: an obtaining unit, an executing unit, an erasing unit, a receiving unit, a writing unit, a control unit, and a storage unit, where
  • the obtaining unit is configured to obtain a data update instruction, where the data update instruction is used to update the first BootLoader program in the storage unit to a second BootLoader program;
  • the execution unit is configured to execute the data update instruction to generate an erase indication signal
  • the erasing unit is configured to send the erasure indication signal to the control unit, and to erase the first BootLoader program in the storage unit, wherein the erasure indication signal is used to indicate the
  • the control unit monitors whether the first BootLoader program is erased, and generates a status signal after detecting that the first BootLoader program is erased.
  • the receiving unit is configured to receive the status signal from the control unit, where the status signal is used to indicate that the storage unit is currently in a writable state;
  • the writing unit is configured to directly write the second BootLoader program to the storage unit in response to the status signal.
  • an embodiment of the present invention provides a computer storage medium, where the computer storage medium stores computer executable instructions, where the computer executable instructions are used to execute the update method of the boot loader loader program according to the second aspect.
  • the processor and the update method of the BootLoader program and the storage medium provided by the embodiment of the present invention, wherein the processor includes: a processor core, a controller, and a non-volatile memory, and the non-volatile memory supports on-chip execution and can be performed. Read and write operations and can be directly connected to the processor core.
  • the processor core first sends an erase indication signal to the controller, and erases the first BootLoader program in the non-volatile memory; then, the controller monitors whether the first BootLoader program is erased in response to the erase indication signal; After the first BootLoader program is erased, a status signal is generated, wherein the status signal is used to indicate that the non-volatile memory is currently in a writable state, and a status signal is sent to the processor core; finally, the processor core responds to the status signal, Write the second BootLoader program to the non-volatile memory. In this way, the processor can speed up the update of the BootLoader program.
  • FIG. 1 is a schematic structural diagram of a processor in an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of a method for updating a BootLoader program according to Embodiment 1 of the present invention
  • FIG. 3 is a schematic flowchart of erasing a first BootLoader program according to Embodiment 1 of the present invention
  • FIG. 5 is a schematic structural diagram of a system for updating a BootLoader program according to Embodiment 2 of the present invention.
  • FIG. 6 is a schematic flowchart of a method for updating a BootLoader program according to Embodiment 3 of the present invention.
  • FIG. 7 is a schematic structural diagram of a processing unit in Embodiment 4 of the present invention.
  • FIG. 1 is a schematic structural diagram of a processor according to an embodiment of the present invention.
  • the processor 10 includes: a processor core 101, a controller 102, and a non-volatile Memory 103;
  • the above non-volatile memory supports on-chip execution (XIP, eXecute In Place), can be read and written, and can be directly connected to the processor core, the processor core is connected to the controller, the controller and the non-volatile memory connection.
  • XIP on-chip execution
  • eXecute In Place eXecute In Place
  • the processor in the embodiment of the present invention integrates the processor core, the controller, and the non-volatile memory in the same chip, and can reduce the traces of the printed circuit board (PCB) components.
  • the coupling interference comes to increase the stability of the processor.
  • the processor core can be connected to the controller through the first control bus, and then connected to the non-volatile memory through the data bus and the address bus respectively, and the controller can be connected to the non-volatile memory through the second control bus.
  • the non-volatile memory may be a Nor Flash memory
  • the processor core may be a central processing unit (CPU) core.
  • FIG. 2 is a schematic flowchart of a method for updating a BootLoader program according to Embodiment 1 of the present invention. Referring to FIG. 2, the method includes:
  • S201 The processor core obtains a data update instruction
  • the data update instruction is used to instruct the processor core to update the first BootLoader program in the non-volatile memory to be the second BootLoader program.
  • the above data update instruction may be generated according to a user's operation. In other embodiments of the present invention, it may be generated when the user performs setting in the setting interface of the terminal, and may also be other feasible manners.
  • S202 The processor core executes a data update instruction to generate an erasure indication signal.
  • the processor core executes a data update instruction and generates an erase indication signal, wherein the erase indication signal is used to instruct the controller to monitor whether the first BootLoader program is erased, and when it is detected After the first BootLoader program is erased, a status signal is generated.
  • S203 The processor core sends an erasure indication signal to the controller, and erases the first BootLoader program in the non-volatile memory;
  • the processor core After generating the erase indication signal, the processor core sends the erase indication signal to the controller and erases the first BootLoader program in the non-volatile memory.
  • the processor core in order to erase the first BootLoader program in the non-volatile memory, the processor core also needs to first send a chip select signal corresponding to the non-volatile memory to the controller, select the non-volatile memory, and then The controller controls the non-volatile memory to send its own starting address to the processor core. Finally, the processor core accesses the non-volatile memory according to the obtained starting address from the non-volatile memory. The address space, in turn, erases the first BootLoader program in the non-volatile memory.
  • the processor core may send a chip select signal corresponding to the non-volatile memory to the controller by using the first control bus, and the controller may control the non-volatile storage through the second control bus.
  • the device sends its own start address to the processor core, and the non-volatile memory can send its own start address to the processor core through the address bus.
  • S204 The controller monitors whether the first BootLoader program is erased in response to the erasure indication signal.
  • the controller After receiving the erasure indication signal sent by the processor core, the controller starts to monitor whether the first BootLoader program in the non-volatile memory is erased.
  • the controller can monitor whether the first BootLoader program is erased by monitoring whether the stored flag bits in the non-volatile memory have changed. If the controller detects that the flag has changed, it can be determined that the first BootLoader program has been erased.
  • S205 The controller generates a status signal after detecting that the first BootLoader program is erased.
  • the status signal is used to indicate that the non-volatile memory is currently in a writable state.
  • the controller when the controller detects that the first BootLoader program in the non-volatile memory is erased, it also determines that the non-volatile memory is currently in a writable state, and is ready to notify the processor. The current state of the core non-volatile memory. Therefore, when the controller detects that the first BootLoader program in the non-volatile memory is erased, a corresponding status signal is generated.
  • S206 The controller sends a status signal to the processor core.
  • the controller after generating the status signal, the controller sends the status signal to the processor core to inform the processor that the first BootLoader program in the non-volatile memory has been erased, and is not easy.
  • the current state of the memory is a writable state, and the non-volatile memory can be written.
  • S207 The processor core responds to the status signal, and writes the second BootLoader program to the non-volatile memory.
  • the processor core determines that the current state of the nonvolatile memory is a writable state, and can write to the nonvolatile memory before writing to the nonvolatile memory.
  • the second BootLoader program is a BootLoader program.
  • the processor core first, the processor core generates a write indication signal in response to the status signal, and sends a write indication signal to the controller; then, the controller responds to the write indication signal and controls the non- The volatile memory sends address information to the processor core, wherein the address information is used to indicate the write address of the second BootLoader program; finally, the processor core writes the second BootLoader program to the non-volatile memory according to the address information.
  • the processor core before the processor core sends the write indication signal to the controller, the processor core further needs to resend the chip select signal corresponding to the non-volatile memory to the controller through the first control bus, and select the Non-volatile memory; then, after obtaining the write indication signal, the controller controls the non-volatile memory to send address information to the processor core through the second control bus, and the non-volatile memory passes through the address bus The address information is sent to the processor core; finally, the processor core writes the second BootLoader program to the non-volatile memory through the data bus according to the address information.
  • address information may be a start address of a non-volatile memory or another address in a non-volatile memory address space. In practical applications, those skilled in the art may set according to actual conditions.
  • the processor core after obtaining the address information from the non-volatile memory, the processor core also needs to acquire a second BootLoader program from the external memory, and then write the second BootLoader program to the storage of the non-volatile memory corresponding to the address information. unit.
  • the foregoing second BootLoader program may be stored in an external memory by means of a network download, or may be data directly sent by the user to the external memory, or may be stored in an external memory by other means.
  • the embodiment of the present invention is not limited.
  • the update method of the BootLoader program provided in Embodiment 1 of the present invention may be divided into two stages, wherein the first stage is a process of erasing the first BootLoader program, and the second stage is The process of writing to the second BootLoader program.
  • FIG. 3 is a schematic flowchart of erasing a first BootLoader program according to Embodiment 1 of the present invention.
  • an erasure indication signal Erase, monitor, and status signals.
  • the processor core When the erasing process is implemented, the processor core first sends an erase indication signal to the controller, and erases the first BootLoader program in the non-volatile memory, and then the controller monitors the non-volatile response in response to the erasure indication signal. Whether the first BootLoader program in the memory is erased is completed, and after detecting that the first BootLoader program is erased, a status signal is generated, wherein the status signal is used to indicate that the non-volatile memory is currently in a writable state, and finally The controller sends the status signal to the processor core. In this way, the process of erasing the first BootLoader program is completed.
  • FIG. 4 is a schematic flowchart of writing a second BootLoader program according to Embodiment 1 of the present invention.
  • FIG. 4 in the process of writing a second BootLoader program, there are also four main interactions, which are respectively write instructions. Signal, control, address information, and write.
  • the processor core When the writing process is implemented, the processor core first sends a write indication signal to the controller, and secondly, the controller controls the non-volatile memory to send address information to the processor core in response to the write indication signal, wherein the address information is used by the address information. Instructing the write address of the second BootLoader program, and then the non-volatile memory sends address information to the processor core. Finally, the processor core writes the second BootLoader program to the address information according to the obtained address information. Loss memory storage unit. Thus, the process of writing to the second BootLoader program is complete.
  • the processor provided by the embodiment of the present invention includes: a processor core, a controller, and a non-volatile memory, wherein the non-volatile memory supports on-chip execution, can be read and written, and can be directly processed and processed.
  • the core is connected, the processor core is connected to the controller, and the controller is connected to the non-volatile memory. In this way, the processor can speed up the update of the BootLoader program.
  • FIG. 5 is a schematic structural diagram of a system for updating a BootLoader program according to Embodiment 2 of the present invention.
  • the system 50 includes: a first device 501 and a second device 502.
  • the first device 501 is connected to the second device 502;
  • the first device includes an external memory
  • the second device includes a processor
  • the first device can be connected to the second device through a Joint Test Action Group (JTAG) interface to implement communication between the first device and the second device.
  • JTAG Joint Test Action Group
  • the first device can also be connected to the second device through a serial communication interface, a USB (Universal Serial Bus) interface or the like.
  • the first device is configured to send a data update operation to the second device, where the data update operation is used to instruct the second device to update the first BootLoader program to the second BootLoader program;
  • the second device sends a second BootLoader program;
  • the second device is configured to perform a data update operation, and the first BootLoader program is updated to the second BootLoader program.
  • the first device in order to update the first BootLoader program to the second BootLoader program, the first device sends a data update operation to the second device, and the second device performs a data update operation to generate a data operation instruction.
  • the processor After obtaining the data update instruction, the processor first erases the first BootLoader program in the non-volatile memory inside the processor, and then acquires the second BootLoader program from the external memory in the first device, and finally the second The BootLoader program is written to the non-volatile memory inside the processor.
  • the first BootLoader program is updated to the second BootLoader program.
  • the third embodiment of the present invention provides an update method for starting the load of the BootLoader program, which is applied to the processor in one or more of the above embodiments, wherein the processor includes: a processor core, a controller, and a non-easy Lossless memory, non-volatile memory supports on-chip execution, read and write operations and can be directly connected to the processor core.
  • FIG. 6 is a schematic flowchart of a method for updating a BootLoader program according to Embodiment 3 of the present invention. Referring to FIG. 6, the method includes:
  • the data update instruction is used to instruct the processor core to update the first BootLoader program in the non-volatile memory to be the second BootLoader program.
  • the erasing indication signal is used to instruct the controller to monitor whether the first BootLoader program is erased, and generate a status signal when it is detected that the first BootLoader program is erased.
  • S603 Send an erase indication signal to the controller, and erase the first BootLoader program in the non-volatile memory;
  • the processor core After generating the erase indication signal, the processor core sends the erase indication signal to the controller and erases the first BootLoader program in the non-volatile memory.
  • S604 Receive a status signal from the controller.
  • the status signal is used to indicate that the non-volatile memory is currently in a writable state.
  • the processor core After the processor core obtains the status signal, it can determine that the current state of the non-volatile memory is writable, and can write to the non-volatile memory before writing the second to the non-volatile memory.
  • BootLoader program After the processor core obtains the status signal, it can determine that the current state of the non-volatile memory is writable, and can write to the non-volatile memory before writing the second to the non-volatile memory.
  • S605 The second BootLoader program is written to the non-volatile memory in response to the status signal.
  • the processor core responds to the status signal, and the write indication signal is used to instruct the controller to control the non-volatile memory to send the address information; and then send the write indication signal to the control. And obtaining address information from the non-volatile memory, wherein the address information is used to indicate a write address of the second BootLoader program; finally, the second BootLoader program is written to the non-volatile memory according to the address information.
  • the processor after obtaining the address information from the non-volatile memory, acquires the second BootLoader program from the external memory, and then writes the second BootLoader program to the address information according to the address information.
  • the non-volatile memory is in the storage unit.
  • the first BootLoader program is updated to the second BootLoader program.
  • FIG. 7 is a schematic structural diagram of a processor in Embodiment 4 of the present invention.
  • the processor 70 includes an obtaining unit 701, an executing unit 702, an erasing unit 703, a receiving unit 704, and a write unit.
  • the obtaining unit is configured to obtain a data update instruction, where the data update instruction is configured to update the first BootLoader program in the storage unit to a second BootLoader program; Executing a data update instruction to generate an erase indication signal; the erase unit is configured to send an erase indication signal to the control unit, and to erase the first BootLoader program in the storage unit, wherein the erase indication signal is used to instruct the control unit to monitor Whether the first BootLoader program is erased or not, and after detecting that the first BootLoader program is erased, generating a status signal; the receiving unit is configured to receive a status signal from the control unit, wherein the status signal is used to indicate that the storage unit is currently in the Writeable state; the write unit is configured to respond to the status signal and write the second BootLoader program to the storage unit.
  • the writing unit is further configured to generate a write indication signal in response to the status signal, wherein the write indication signal is used to instruct the control unit to control the storage unit to send the address information;
  • the incoming indication signal is sent to the control unit, and the address information from the storage unit is obtained, wherein the address information is used to indicate the write address of the second BootLoader program; and the second BootLoader program is written to the storage unit according to the address information.
  • the writing unit is further configured to acquire a second BootLoader program from the external memory; and write the second BootLoader program to the storage subunit in the storage unit corresponding to the address information.
  • Each unit in the processor provided by the embodiment of the present invention can be implemented by a processor in an embedded system; of course, it can also be implemented by a logic circuit; in the process of implementation, the processor can be a central processing unit (Central Processing) Unit, CPU, Micro Processor Unit (MPU), Digital Signal Processor (DSP) or Field Programmable Gate Array (FPGA).
  • CPU Central Processing
  • MPU Micro Processor Unit
  • DSP Digital Signal Processor
  • FPGA Field Programmable Gate Array
  • the foregoing update method of the BootLoader program is implemented in the form of a software function module, and is sold or used as an independent product, it may also be stored in a computer readable storage medium.
  • the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions.
  • a computer device (which may be a personal computer, server, or network device, etc.) is caused to perform all or part of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • program codes such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • embodiments of the present invention provide a computer storage medium having stored therein computer executable instructions for executing the above-described update method of the BootLoader program.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
  • the processor core first sends an erasure indication signal to the controller, and erases the first BootLoader program in the non-volatile memory; then, the controller monitors whether the first BootLoader program is wiped in response to the erasure indication signal. After completion, after detecting that the first BootLoader program is erased, a status signal is generated, wherein the status signal is used to indicate that the non-volatile memory is currently in a writable state, and a status signal is sent to the processor core; finally, processing The core responds to the status signal and writes the second BootLoader program to the non-volatile memory. In this way, the processor can speed up the update of the BootLoader program.

Abstract

本发明实施例公开了一种处理器,包括:处理器核心、控制器以及非易失性存储器,处理器核心,配置为向控制器发送擦除指示信号,并擦除非易失性存储器中的第一启动装载BootLoader程序;还配置为接收来自控制器的状态信号,状态信号用于指示非易失性存储器当前处于可写入状态;响应状态信号,将第二BootLoader程序写入非易失性存储器;控制器,配置为响应擦除指示信号,监测第一BootLoader程序是否擦除完成;当监测到第一BootLoader程序擦除完成后,生成状态信号;向处理器核心发送状态信号。本发明实施例同时公开了一种启动装载BootLoader程序的更新方法、存储介质。

Description

一种处理器及BootLoader程序的更新方法、存储介质
相关申请的交叉引用
本申请基于申请号为201610851750.9、申请日为2016年09月26日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本发明涉及嵌入式系统中的启动装载(BootLoader)程序,尤其涉及一种处理器及BootLoader程序的更新方法、存储介质。
背景技术
在嵌入式系统中,BootLoader程序是嵌入式系统在加电后执行的第一段代码,在操作系统内核运行之前运行,为最终调用操作系统内核准备合适的软硬件环境。同时,BootLoader程序是基于特定硬件平台来实现的,不同的硬件平台对应不同的BootLoader程序。因此,保证BootLoader程序的有效运行以及升级与修复显得尤为重要。
在现有技术中,当BootLoader程序存储在Nand Flash存储器中,嵌入式系统更新BootLoader程序时,需要先将BootLoader程序复制到随机存取存储器(Random Access Memory,RAM)或Nor Flash存储器中,再通过处理器将BootLoader程序写入Nand Flash存储器,会导致更新速度较慢。
发明内容
有鉴于此,本发明实施例期望提供一种处理器及BootLoader程序的更新方法、存储介质,以实现加快BootLoader程序的更新速度。
为达到上述目的,本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种处理器,包括:处理器核心、控制器以及非易失性存储器,所述非易失性存储器支持芯片内执行、可进行读写操作且可直接与所述处理器核心连接,所述处理器核心与所述控制器连接,所述控制器与所述非易失性存储器连接,其中,所述处理器核心,配置为向所述控制器发送擦除指示信号,并擦除所述非易失性存储器中的第一启动装载BootLoader程序;还配置为接收来自所述控制器的状态信号,其中,所述状态信号用于指示所述非易失性存储器当前处于可写入状态;响应所述状态信号,将第二BootLoader程序写入所述非易失性存储器;所述控制器,配置为响应所述擦除指示信号,监测所述第一BootLoader程序是否擦除完成;当监测到所述第一BootLoader程序擦除完成后,生成所述状态信号;向所述处理器核心发送所述状态信号。
第二方面,本发明实施例提供一种启动装载BootLoader程序的更新方法,应用于处理器,其中,所述处理器包括:处理器核心、控制器以及非易失性存储器,所述非易失性存储器支持芯片内执行、可进行读写操作且可直接与所述处理器核心连接;所述方法包括:获得数据更新指令,其中,所述数据更新指令,用于指示所述处理器核心更新所述非易失性存储器中的第一BootLoader程序为第二BootLoader程序;执行所述数据更新指令,生成擦除指示信号;向所述控制器发送所述擦除指示信号,并擦除所述非易失性存储器中的所述第一BootLoader程序,其中,所述擦除指示信号用于指示所述控制器监测所述第一BootLoader程序是否擦除完成,并当监测到所述第一BootLoader程序擦除完成后,生成状态信号;接收来自所述控制器的所述状态信号,其中,所述状态信号用于指示所述非易失性存储器当前处于可写入状态;响应所述状态信号,将所述第二BootLoader程序写入所述非易失性存储器。
第三方面,本发明实施例提供一种启动装载BootLoader程序的更新方法,应用于处理器,其中,所述处理器包括:处理器核心、控制器以及非易失性存储器,所述非易失性存储器支持芯片内执行、可进行读写操作且可直接与所述处理器核心连接;
所述方法包括:
所述处理器核心获得数据更新指令,其中,所述数据更新指令,用于指示所述处理器核心更新所述非易失性存储器中的第一BootLoader程序为第二BootLoader程序;
所述处理器核心执行所述数据更新指令,生成擦除指示信号;
所述处理器核心向所述控制器发送所述擦除指示信号,并擦除所述非易失性存储器中的所述第一BootLoader程序;
所述控制器响应所述擦除指示信号,监测所述第一BootLoader程序是否擦除完成;
所述控制器当监测到所述第一BootLoader程序擦除完成后,生成状态信号,其中,所述状态信号用于指示所述非易失性存储器当前处于可写入状态;
所述控制器向所述处理器核心发送所述状态信号;
所述处理器核心响应所述状态信号,将所述第二BootLoader程序写入所述非易失性存储器。
第四方面,本发明实施例提供一种处理器,所述处理器包括:获得单元、执行单元、擦除单元、接收单元、写入单元、控制单元以及存储单元,其中,
所述获得单元,配置为获得数据更新指令,其中,所述数据更新指令,用于将所述存储单元中的第一BootLoader程序更新为第二BootLoader程序;
所述执行单元,配置为执行所述数据更新指令,生成擦除指示信号;
所述擦除单元,配置为向所述控制单元发送所述擦除指示信号,并擦除所述存储单元中的所述第一BootLoader程序,其中,所述擦除指示信号用于指示所述控制单元监测所述第一BootLoader程序是否擦除完成,并当监测到所述第一BootLoader程序擦除完成后,生成状态信号;
所述接收单元,配置为接收来自所述控制单元的所述状态信号,其中,所述状态信号用于指示所述存储单元当前处于可写入状态;
所述写入单元,配置为响应所述状态信号,将所述第二BootLoader程序直接写入所述存储单元。
第五方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行第二方面所述的启动装载BootLoader程序的更新方法。
本发明实施例所提供的处理器及BootLoader程序的更新方法、存储介质,其中,处理器包括:处理器核心、控制器以及非易失性存储器,非易失性存储器支持芯片内执行、可进行读写操作且可直接与处理器核心连接。处理器核心先向控制器发送擦除指示信号,并擦除非易失性存储器中的第一BootLoader程序;然后,控制器响应擦除指示信号,监测第一BootLoader程序是否擦除完成;当监测到第一BootLoader程序擦除完成后,生成状态信号,其中,状态信号用于指示非易失性存储器当前处于可写入状态,并向处理器核心发送状态信号;最后,处理器核心响应状态信号,将第二BootLoader程序写入非易失性存储器。这样,采用该处理器能够加快BootLoader程序的更新速度。
附图说明
图1为本发明实施例中的处理器的结构示意图;
图2为本发明实施例一中的BootLoader程序的更新方法的流程示意图;
图3为本发明实施例一中的擦除第一BootLoader程序的流程示意图;
图4为本发明实施例一中的写入第二BootLoader程序的流程示意图;
图5为本发明实施例二中的更新BootLoader程序的系统的结构示意图;
图6为本发明实施例三中的BootLoader程序的更新方法的流程示意图;
图7为本发明实施例四中的处理单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
本发明实施例提供一种处理器,图1为本发明实施例中的处理器的结构示意图,参见图1所示,该处理器10包括:处理器核心101、控制器102以及非易失性存储器103;
这里,上述非易失性存储器支持芯片内执行(XIP,eXecute In Place)、可进行读写操作且可直接与处理器核心连接,处理器核心与控制器连接,控制器与非易失性存储器连接。
需要说明的是,本发明实施例中的处理器将处理器核心、控制器以及非易失性存储器集成在同一芯片内,可以减少印制电路板(PCB,Printed Circuit Board)各部件走线带来的耦合干扰,增加处理器的稳定性。
在实际应用中,处理器核心可以通过第一控制总线与控制器连接,再分别通过数据总线以及地址总线与非易失性存储器连接,控制器可以通过第二控制总线与非易失性存储器连接。
在实际应用中,上述非易失性存储器可以为Nor Flash存储器,上述处理器核心可以为中央处理器(CPU,Central Processing Unit)核心。
下面结合上述实施例中的处理器,对本发明实施例提供的BootLoader程序的更新方法进行说明。
图2为本发明实施例一中的BootLoader程序的更新方法的流程示意图,参见图2所示,该方法包括:
S201:处理器核心获得数据更新指令;
这里,数据更新指令用于指示处理器核心更新非易失性存储器中的第一BootLoader程序为第二BootLoader程序。
需要说明的是,上述数据更新指令可以根据用户的操作生成。在本发明的其他实施例中,可以是通过用户在终端的设置界面进行设置时生成的,还可以是其他可行的方式。
S202:处理器核心执行数据更新指令,生成擦除指示信号;
这里,处理器核心在获得数据更新指令之后,会执行数据更新指令,并生成擦除指示信号,其中,擦除指示信号用于指示控制器监测第一BootLoader程序是否擦除完成,并当监测到第一BootLoader程序擦除完成后,生成状态信号。
S203:处理器核心向控制器发送擦除指示信号,并擦除非易失性存储器中的第一BootLoader程序;
这里,处理器核心在生成擦除指示信号后,会将该擦除指示信号发送给控制器,并擦除非易失性存储器中的第一BootLoader程序。
在实施过程中,为了擦除非易失性存储器中的第一BootLoader程序,处理器核心还需要先向控制器发送该非易失性存储器对应的片选信号,选中该非易失性存储器,然后,控制器会控制该非易失性存储器向处理器核心发送自己的起始地址,最后,处理器核心会根据获得的来自非易失性存储器的起始地址,来访问该非易失性存储器的地址空间,进而,擦除非易失性存储器中的第一BootLoader程序。
在实际应用中,处理器核心可以第一控制总线向控制器发送非易失性存储器对应的片选信号,控制器可以通过第二控制总线控制非易失性存储 器向处理器核心发送自己的起始地址,非易失性存储器可以通过地址总线向处理器核心发送自己的起始地址。
S204:控制器响应擦除指示信号,监测第一BootLoader程序是否擦除完成;
这里,控制器在收到处理器核心发送的擦除指示信号后,会开始监测非易失性存储器中的第一BootLoader程序是否擦除完成。
在实施过程中,控制器可以通过采用监测非易失性存储器中的存储的标志位是否发生变化的方式,来监测第一BootLoader程序是否擦除完成。如果控制器监测到该标志位发生了变化,则可以确定第一BootLoader程序已经擦除完成。
S205:控制器当监测到第一BootLoader程序擦除完成后,生成状态信号;
这里,状态信号用于指示非易失性存储器当前处于可写入状态。
在本发明的其他实施例中,控制器在监测到非易失性存储器中的第一BootLoader程序擦除完成时,也确定了非易失性存储器当前处于可写入状态,可以准备通知处理器核心非易失性存储器当前的状态。因此,当控制器监测到非易失性存储器中的第一BootLoader程序擦除完成后,会生成相应的状态信号。
S206:控制器向处理器核心发送状态信号;
在本发明的其他实施例中,控制器在生成状态信号后,会向处理器核心发送该状态信号,告知处理器核心非易失性存储器中的第一BootLoader程序已经擦除完成,且非易失性存储器当前的状态为可写入状态,可以对非易失性存储器进行写入操作。
S207:处理器核心响应状态信号,将第二BootLoader程序写入非易失性存储器。
这里,处理器核心在获得状态信号以后,确定了非易失性存储器当前的状态为可写入状态,可以对非易失性存储器进行写入操作,才会向非易失性存储器中写入第二BootLoader程序。
在本发明的其他实施例中,首先,处理器核心会响应状态信号,生成写入指示信号,并将写入指示信号发送给控制器;然后,控制器会响应写入指示信号,并控制非易失性存储器向处理器核心发送地址信息,其中,地址信息用于指示第二BootLoader程序的写入地址;最后,处理器核心再根据地址信息,将第二BootLoader程序写入非易失性存储器。
在实施过程中,在处理器核心将写入指示信号发送给控制器之前,处理器核心还需要先通过第一控制总线向控制器重新发送该非易失性存储器对应的片选信号,选中该非易失性存储器;然后,控制器在获得写入指示信号之后,才会通过第二控制总线控制该非易失性存储器向处理器核心发送地址信息,该非易失性存储器会通过地址总线向处理器核心发送地址信息;最后,处理器核心会根据地址信息,通过数据总线向非易失性存储器中写入第二BootLoader程序。
需要说明的是,上述地址信息可以是非易失性存储器的起始地址,也可以是非易失性存储器地址空间中的其他地址,在实际应用中,本领域技术人员可以根据实际情况来设置。
进一步地,处理器核心在获得来自非易失性存储器的地址信息后,还需要获取来自外部存储器的第二BootLoader程序,然后将第二BootLoader程序写入地址信息对应的非易失性存储器的存储单元。
在实际应用中,上述第二BootLoader程序可以是通过网络下载的方式来存储到外部存储器中,还可以是用户直接向外部存储器中发送的数据,当然,还可以是通过其他方式存储到外部存储器中,这里,本发明实施例不做限定。
在本发明的其他实施例中,从整体上可以将本发明实施例一提供的BootLoader程序的更新方法分为两个阶段,其中,第一阶段为擦除第一BootLoader程序的过程,第二阶段为写入第二BootLoader程序的过程。
下面分别针对第一阶段和第二阶段,详细说明处理器中的处理器核心、控制器以及非易失性存储器的交互过程。
首先,说明第一阶段即擦除第一BootLoader程序的过程中涉及的交互。
图3为本发明实施例一中的擦除第一BootLoader程序的流程示意图,参见图3所示,在擦除第一BootLoader程序的过程中,主要有四次交互,分别为擦除指示信号、擦除、监测以及状态信号。
在实现擦除过程时,首先处理器核心会向控制器发送擦除指示信号,并擦除非易失性存储器中的第一BootLoader程序,然后控制器会响应该擦除指示信号,监测非易失性存储器中的第一BootLoader程序是否擦除完成,并当监测到第一BootLoader程序擦除完成后,生成状态信号,其中,状态信号用于指示非易失性存储器当前处于可写入状态,最后,控制器向处理器核心发送该状态信号。如此,擦除第一BootLoader程序的过程就完成了。
然后,说明第二阶段即写入第二BootLoader程序的过程中涉及的交互。
图4为本发明实施例一中的写入第二BootLoader程序的流程示意图,参见图4所示,在写入第二BootLoader程序的过程中,同样也主要有四次交互,分别为写入指示信号、控制、地址信息以及写入。
在实现写入过程时,首先处理器核心会向控制器发送写入指示信号,其次控制器会响应写入指示信号,控制非易失性存储器向处理器核心发送地址信息,其中,地址信息用于指示第二BootLoader程序的写入地址,然后非易失性存储器会向处理器核心发送地址信息,最后,处理器核心根据获得的地址信息,将第二BootLoader程序写入地址信息对应的非易失性存储器的存储单元。如此,写入第二BootLoader程序的过程就完成了。
至此,便完成了将第一BootLoader程序更新为第二BootLoader程序。由上述内容可知,本发明实施例提供的处理器包括:处理器核心、控制器以及非易失性存储器,其中,非易失性存储器支持芯片内执行、可进行读写操作且可直接与处理器核心连接,处理器核心与控制器连接,控制器与非易失性存储器连接。这样,采用该处理器能够加快BootLoader程序的更新速度。
实施例二
基于前述实施例,在实际应用中,图5为本发明实施例二中的更新BootLoader程序的系统的结构示意图,参见图5所示,该系统50包括:第一设备501以及第二设备502,第一设备501与第二设备502连接;
这里,上述第一设备包括外部存储器,上述第二设备包括处理器。
在实际应用中,第一设备可以通过联合测试工作组(JTAG,Joint Test Action Group)接口与第二设备连接,实现第一设备与第二设备之间的通信。当然,第一设备还可以通过串行通信接口、通用串行总线(USB,Universal Serial Bus)接口等其他接口来与第二设备连接。
在本发明的其他实施例中,第一设备配置为向第二设备发送数据更新操作,其中,数据更新操作用于指示第二设备将第一BootLoader程序更新为第二BootLoader程序;还配置为向第二设备发送第二BootLoader程序;第二设备配置为执行数据更新操作,并将第一BootLoader程序更新为第二BootLoader程序。
在本发明的其他实施例中,为了实现将第一BootLoader程序更新为第二BootLoader程序,第一设备会向第二设备发送数据更新操作,第二设备会执行数据更新操作,生成数据操作指令,处理器在获得数据更新指令后,会先擦除处理器内部的非易失性存储器中的第一BootLoader程序,再从第一设备中的外部存储器获取第二BootLoader程序,最后将该第二 BootLoader程序写入到处理器内部的非易失性存储器中,如此,便实现了将第一BootLoader程序更新为第二BootLoader程序。
实施例三
基于同一发明构思,本发明实施例三提供一种启动装载BootLoader程序的更新方法,应用于上述一个或者多个实施例中的处理器,其中,处理器包括:处理器核心、控制器以及非易失性存储器,非易失性存储器支持芯片内执行、可进行读写操作且可直接与处理器核心连接。
图6为本发明实施例三中的BootLoader程序的更新方法的流程示意图,参见图6所示,该方法包括:
S601:获得数据更新指令;
这里,数据更新指令,用于指示处理器核心更新非易失性存储器中的第一BootLoader程序为第二BootLoader程序。
S602:执行数据更新指令,生成擦除指示信号;
这里,擦除指示信号用于指示控制器监测第一BootLoader程序是否擦除完成,并当监测到第一BootLoader程序擦除完成后,生成状态信号。
S603:向控制器发送擦除指示信号,并擦除非易失性存储器中的第一BootLoader程序;
这里,处理器核心在生成擦除指示信号后,会将该擦除指示信号发送给控制器,并擦除非易失性存储器中的第一BootLoader程序。
S604:接收来自控制器的状态信号;
这里,状态信号用于指示非易失性存储器当前处于可写入状态。
处理器核心获得状态信号以后,就可以确定非易失性存储器当前的状态为可写入状态,可以对非易失性存储器进行写入操作,才会向非易失性存储器中写入第二BootLoader程序。
S605:响应状态信号,将第二BootLoader程序写入非易失性存储器。
在实施过程中,处理器核心会响应状态信号,先生成写入指示信号,其中,写入指示信号用于指示控制器控制非易失性存储器发送地址信息;然后将写入指示信号发送给控制器,并获得来自非易失性存储器的地址信息,其中,地址信息用于指示第二BootLoader程序的写入地址;最后根据地址信息,将第二BootLoader程序写入非易失性存储器。
在本发明的其他实施例中,处理器会在获得来自非易失性存储器的地址信息之后,获取来自外部存储器的第二BootLoader程序,再根据地址信息,将第二BootLoader程序写入地址信息对应的非易失性存储器的存储单元中。
至此,便完成了将第一BootLoader程序更新为第二BootLoader程序。
实施例四
基于同一发明构思,图7为本发明实施例四中的处理器的结构示意图,参见图7所示,该处理器70包括获得单元701、执行单元702、擦除单元703、接收单元704、写入单元705、控制单元706以及存储单元707。
在本发明的其他实施例中,获得单元,配置为获得数据更新指令,其中,数据更新指令,用于将所述存储单元中的第一BootLoader程序更新为第二BootLoader程序;执行单元,配置为执行数据更新指令,生成擦除指示信号;擦除单元,配置为向控制单元发送擦除指示信号,并擦除存储单元中的第一BootLoader程序,其中,擦除指示信号用于指示控制单元监测第一BootLoader程序是否擦除完成,并当监测到第一BootLoader程序擦除完成后,生成状态信号;接收单元,配置为接收来自控制单元的状态信号,其中,状态信号用于指示存储单元当前处于可写入状态;写入单元,配置为响应状态信号,将第二BootLoader程序写入存储单元。
进一步地,写入单元,还配置为响应状态信号,生成写入指示信号,其中,写入指示信号用于指示控制单元控制存储单元发送地址信息;将写 入指示信号发送给控制单元,并获得来自存储单元的地址信息,其中,地址信息用于指示第二BootLoader程序的写入地址;根据地址信息,将第二BootLoader程序写入存储单元。
进一步地,写入单元,还配置为获取来自外部存储器的第二BootLoader程序;将第二BootLoader程序写入地址信息对应的存储单元中的存储子单元。
这里需要指出的是:以上处理器核心实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明处理器核心实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。
本发明实施例提供的处理器中的各单元,都可以通过嵌入式系统中的处理器来实现;当然也可通过逻辑电路实现;在实施的过程中,处理器可以为中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的BootLoader程序的更新方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
相应地,本发明的实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行上述的BootLoader程序的更新方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
工业实用性
本发明实施例中,处理器核心先向控制器发送擦除指示信号,并擦除非易失性存储器中的第一BootLoader程序;然后,控制器响应擦除指示信号,监测第一BootLoader程序是否擦除完成;当监测到第一BootLoader程序擦除完成后,生成状态信号,其中,状态信号用于指示非易失性存储器当前处于可写入状态,并向处理器核心发送状态信号;最后,处理器核心响应状态信号,将第二BootLoader程序写入非易失性存储器。这样,采用该处理器能够加快BootLoader程序的更新速。

Claims (11)

  1. 一种处理器,所述处理器包括:处理器核心、控制器以及非易失性存储器,所述非易失性存储器支持芯片内执行、可进行读写操作且可直接与所述处理器核心连接,所述处理器核心与所述控制器连接,所述控制器与所述非易失性存储器连接,其中,
    所述处理器核心,配置为向所述控制器发送擦除指示信号,并擦除所述非易失性存储器中的第一启动装载BootLoader程序;还配置为接收来自所述控制器的状态信号,其中,所述状态信号用于指示所述非易失性存储器当前处于可写入状态;响应所述状态信号,将第二BootLoader程序写入所述非易失性存储器;
    所述控制器,配置为响应所述擦除指示信号,监测所述第一BootLoader程序是否擦除完成;当监测到所述第一BootLoader程序擦除完成后,生成所述状态信号;向所述处理器核心发送所述状态信号。
  2. 根据权利要求1所述的处理器,其中,所述处理器核心,还配置为获得数据更新指令,其中,所述数据更新指令,用于指示所述处理器核心更新所述非易失性存储器中的所述第一BootLoader程序为所述第二BootLoader程序;执行所述数据更新指令,生成所述擦除指示信号。
  3. 根据权利要求1所述的处理器,其中,所述处理器核心,还配置为在响应所述状态信号后,生成写入指示信号;将所述写入指示信号发送给所述控制器,并获得来自所述非易失性存储器的地址信息,其中,所述地址信息用于指示所述第二BootLoader程序的写入地址;根据所述地址信息,将所述第二BootLoader程序写入所述非易失性存储器;
    相应地,
    所述控制器,还配置为响应所述写入指示信号,控制所述非易失性存储器向所述处理器核心发送所述地址信息;
    所述非易失性存储器,还配置为向所述处理器核心发送所述地址信息。
  4. 根据权利要求3所述的处理器,其中,所述处理器核心,还配置为在获得来自所述非易失性存储器的所述地址信息后,获取来自外部存储器的所述第二BootLoader程序;将所述第二BootLoader程序写入所述地址信息对应的所述非易失性存储器的存储单元。
  5. 一种启动装载BootLoader程序的更新方法,应用于处理器,其中,所述处理器包括:处理器核心、控制器以及非易失性存储器,所述非易失性存储器支持芯片内执行、可进行读写操作且可直接与所述处理器核心连接;
    所述方法包括:
    所述处理器核心获得数据更新指令,其中,所述数据更新指令,用于指示所述处理器核心更新所述非易失性存储器中的第一BootLoader程序为第二BootLoader程序;
    所述处理器核心执行所述数据更新指令,生成擦除指示信号;
    所述处理器核心向所述控制器发送所述擦除指示信号,并擦除所述非易失性存储器中的所述第一BootLoader程序;
    所述控制器响应所述擦除指示信号,监测所述第一BootLoader程序是否擦除完成;
    所述控制器当监测到所述第一BootLoader程序擦除完成后,生成状态信号,其中,所述状态信号用于指示所述非易失性存储器当前处于可写入状态;
    所述控制器向所述处理器核心发送所述状态信号;
    所述处理器核心响应所述状态信号,将所述第二BootLoader程序写入所述非易失性存储器。
  6. 根据权利要求5所述的方法,其中,所述处理器核心响应所述状态信号,将所述第二BootLoader程序写入所述非易失性存储器,包括:
    所述处理器核心响应所述状态信号,生成写入指示信号;
    所述处理器核心将所述写入指示信号发送给所述控制器;
    所述控制器响应所述写入指示信号,控制所述非易失性存储器向所述处理器核心发送地址信息,其中,所述地址信息用于指示所述第二BootLoader程序的写入地址;
    所述处理器核心根据所述地址信息,将所述第二BootLoader程序写入所述非易失性存储器。
  7. 一种启动装载BootLoader程序的更新方法,应用于处理器,其中,所述处理器包括:处理器核心、控制器以及非易失性存储器,所述非易失性存储器支持芯片内执行、可进行读写操作且可直接与所述处理器核心连接;
    所述方法包括:
    获得数据更新指令,其中,所述数据更新指令,用于指示所述处理器核心更新所述非易失性存储器中的第一BootLoader程序为第二BootLoader程序;
    执行所述数据更新指令,生成擦除指示信号;
    向所述控制器发送所述擦除指示信号,并擦除所述非易失性存储器中的所述第一BootLoader程序,其中,所述擦除指示信号用于指示所述控制器监测所述第一BootLoader程序是否擦除完成,并当监测到所述第一BootLoader程序擦除完成后,生成状态信号;
    接收来自所述控制器的所述状态信号,其中,所述状态信号用于指示所述非易失性存储器当前处于可写入状态;
    响应所述状态信号,将所述第二BootLoader程序写入所述非易失性 存储器。
  8. 根据权利要求7所述的方法,其中,所述响应所述状态信号,将所述第二BootLoader程序写入所述非易失性存储器,包括:
    响应所述状态信号,生成写入指示信号,其中,所述写入指示信号用于指示所述控制器控制所述非易失性存储器发送地址信息;
    将所述写入指示信号发送给所述控制器,并获得来自所述非易失性存储器的所述地址信息,其中,所述地址信息用于指示所述第二BootLoader程序的写入地址;
    根据所述地址信息,将所述第二BootLoader程序写入所述非易失性存储器。
  9. 根据权利要求8所述的方法,其中,在所述获得来自所述非易失性存储器的所述地址信息之后,所述方法还包括:
    获取来自外部存储器的所述第二BootLoader程序;
    相应地,所述根据所述地址信息,将所述第二BootLoader程序写入所述非易失性存储器,包括:
    将所述第二BootLoader程序写入所述地址信息对应的所述非易失性存储器的存储单元。
  10. 一种处理器,所述处理器包括:获得单元、执行单元、擦除单元、接收单元、写入单元、控制单元以及存储单元,其中,
    所述获得单元,配置为获得数据更新指令,其中,所述数据更新指令,用于将所述存储单元中的第一BootLoader程序更新为第二BootLoader程序;
    所述执行单元,配置为执行所述数据更新指令,生成擦除指示信号;
    所述擦除单元,配置为向所述控制单元发送所述擦除指示信号,并擦除所述存储单元中的所述第一BootLoader程序,其中,所述擦除指示 信号用于指示所述控制单元监测所述第一BootLoader程序是否擦除完成,并当监测到所述第一BootLoader程序擦除完成后,生成状态信号;
    所述接收单元,配置为接收来自所述控制单元的所述状态信号,其中,所述状态信号用于指示所述存储单元当前处于可写入状态;
    所述写入单元,配置为响应所述状态信号,将所述第二BootLoader程序直接写入所述存储单元。
  11. 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行权利要求7至9任一项所述的启动装载BootLoader程序的更新方法。
PCT/CN2017/082607 2016-09-26 2017-04-28 一种处理器及BootLoader程序的更新方法、存储介质 WO2018054060A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610851750.9A CN107870775A (zh) 2016-09-26 2016-09-26 一种处理器及BootLoader程序的更新方法
CN201610851750.9 2016-09-26

Publications (1)

Publication Number Publication Date
WO2018054060A1 true WO2018054060A1 (zh) 2018-03-29

Family

ID=61690160

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/082607 WO2018054060A1 (zh) 2016-09-26 2017-04-28 一种处理器及BootLoader程序的更新方法、存储介质

Country Status (2)

Country Link
CN (1) CN107870775A (zh)
WO (1) WO2018054060A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112803938A (zh) * 2020-12-31 2021-05-14 美智光电科技股份有限公司 存储方法和装置、开关装置、存储器装置和可读存储介质
CN113568629A (zh) * 2020-04-28 2021-10-29 中车株洲电力机车研究所有限公司 基于can的软件升级方法、装置、计算机设备和存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102324263B1 (ko) * 2018-09-12 2021-11-08 주식회사 엘지에너지솔루션 비휘발성 메모리 업데이트 장치 및 방법
CN111198718A (zh) * 2019-12-27 2020-05-26 广东高云半导体科技股份有限公司 一种基于fpga的处理器启动方法和处理器
CN111796839B (zh) * 2020-07-07 2024-04-09 北京经纬恒润科技股份有限公司 控制器程序管理方法和装置
US11640308B2 (en) * 2021-02-19 2023-05-02 Macronix International Co., Ltd. Serial NAND flash with XiP capability
WO2023035233A1 (en) * 2021-09-10 2023-03-16 Schneider Electric It Corporation Cost effective firmware upgrade algorithm for resource constrained microprocessors
CN115981751B (zh) * 2023-03-10 2023-06-06 之江实验室 一种近存计算系统以及近存计算方法、装置、介质及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299276A (zh) * 2010-11-08 2013-09-11 金雅拓股份有限公司 嵌入式装置的软件更新过程
CN105573797A (zh) * 2015-12-18 2016-05-11 广州市中海达测绘仪器有限公司 嵌入式系统的可逆离线升级方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194675A (ja) * 2011-03-15 2012-10-11 Panasonic Corp 情報機器及び情報機器への非常アクセス方法
CN103823642B (zh) * 2014-03-17 2017-06-13 深圳市道通科技股份有限公司 用于Flash均衡存储的方法及系统
CN105653478B (zh) * 2015-12-29 2019-07-26 致象尔微电子科技(上海)有限公司 串行闪存控制器、串行闪存控制方法及串行闪存控制系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299276A (zh) * 2010-11-08 2013-09-11 金雅拓股份有限公司 嵌入式装置的软件更新过程
CN105573797A (zh) * 2015-12-18 2016-05-11 广州市中海达测绘仪器有限公司 嵌入式系统的可逆离线升级方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568629A (zh) * 2020-04-28 2021-10-29 中车株洲电力机车研究所有限公司 基于can的软件升级方法、装置、计算机设备和存储介质
CN112803938A (zh) * 2020-12-31 2021-05-14 美智光电科技股份有限公司 存储方法和装置、开关装置、存储器装置和可读存储介质
CN112803938B (zh) * 2020-12-31 2023-04-07 美智光电科技股份有限公司 存储方法和装置、开关装置、存储器装置和可读存储介质

Also Published As

Publication number Publication date
CN107870775A (zh) 2018-04-03

Similar Documents

Publication Publication Date Title
WO2018054060A1 (zh) 一种处理器及BootLoader程序的更新方法、存储介质
CN105808270B (zh) 固件变量更新方法
JP6199940B2 (ja) ネットワークの基本入出力システムの管理設備、方法及び非一時的なコンピュータ読取可能な媒体
KR20070077463A (ko) 컴퓨터 시스템 초기화 방법과 초기화 코드 로딩 방법 및dram 디바이스와 이를 포함하는 내장형 시스템
TWI710952B (zh) 韌體更新方法及電腦系統
US8924769B2 (en) Software burning system and burning control method
KR102179829B1 (ko) 런 타임 배드 셀을 관리하는 스토리지 시스템
US9542196B2 (en) Communication terminal and method for providing configuration data for a modem with system boot firmware
CN105718281A (zh) 一种触摸屏固件升级方法及装置
US20150154029A1 (en) Electronic apparatus and operational method thereof
CN112947977A (zh) 一种软件在线升级方法及系统
US20130080755A1 (en) Method for speeding up the boot time of electric device and electric device using the same
WO2016078263A1 (zh) 升级控制设备、终端、终端升级方法及系统、存储介质
KR20200142219A (ko) 전자 장치 및 그의 저장 공간 이용 방법
TWI591479B (zh) 用於初始化電子裝置的埠之設備和方法
WO2015196479A1 (zh) 程序数据的更新方法及设备
CN107766097B (zh) 基于端点装置提供的启动指令执行启动操作的电子装置
WO2018049798A1 (zh) 一种缓存分区重构的方法和装置
KR20190109979A (ko) 전자 장치 및 전자 장치의 업데이트 제어 방법
CN112667442B (zh) 基于非易失内存器件启动系统的控制方法、装置及设备
US10453422B2 (en) Electronic apparatus and driving method thereof
TWI431530B (zh) 嵌入式系統及其程式更新方法
KR101143909B1 (ko) 클라우드 컴퓨팅을 기반으로 하는 듀얼 백업 시스템
US9632805B2 (en) Data storage device and error correction method thereof
TW201913391A (zh) 快閃記憶體裝置的重新啟動方法以及使用該方法的裝置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17852134

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17852134

Country of ref document: EP

Kind code of ref document: A1