CN117762456A - System-on-chip and upgrading method of system-on-chip starting firmware - Google Patents

System-on-chip and upgrading method of system-on-chip starting firmware Download PDF

Info

Publication number
CN117762456A
CN117762456A CN202311753294.0A CN202311753294A CN117762456A CN 117762456 A CN117762456 A CN 117762456A CN 202311753294 A CN202311753294 A CN 202311753294A CN 117762456 A CN117762456 A CN 117762456A
Authority
CN
China
Prior art keywords
firmware
local
address
stored
chip
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
Application number
CN202311753294.0A
Other languages
Chinese (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.)
Chengdu Haiguang Integrated Circuit Design Co Ltd
Original Assignee
Chengdu Haiguang Integrated Circuit Design 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 Chengdu Haiguang Integrated Circuit Design Co Ltd filed Critical Chengdu Haiguang Integrated Circuit Design Co Ltd
Priority to CN202311753294.0A priority Critical patent/CN117762456A/en
Publication of CN117762456A publication Critical patent/CN117762456A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The embodiment of the application discloses a system-on-chip and an upgrading method of a system-on-chip starting firmware, relates to the technical field of integrated circuits, and aims to reduce a storage area used for upgrading the firmware and reduce chip cost. The system-on-chip includes: a central processing unit; the BOOTROM is connected with the central processing unit through a bus and is used for storing system on chip starting firmware; the PROM is connected with the central processing unit through a bus and is used for storing source local firmware for upgrading; the source local firmware is used for upgrading the target local firmware, and the target local firmware is local failure firmware in system on chip starting firmware stored in the BOOTROM.

Description

System-on-chip and upgrading method of system-on-chip starting firmware
Technical Field
The present disclosure relates to the field of integrated circuits, and in particular, to a system on chip, an upgrade method for a system on chip start firmware, a system on chip start method, a computer device, and a readable storage medium.
Background
Firmware on the BOOTROM in the chip controls the basic operation of the hardware equipment, provides a safety function to protect the equipment from malicious attack, and is vital to the normal operation and management of the hardware equipment. It is typically written by the device manufacturer, and the on-chip firmware is cured on the BOOTROM inside the chip, not supporting the upgraded feature, and cannot be modified once the chip is streamed. If the on-chip firmware is executing abnormally, the chip will fail, and the problem will be fatal.
In order to overcome the problem that the chip fails due to abnormal execution of the firmware in the chip, in the prior art, when the firmware in the BOOTROM needs to be upgraded, firmware (source firmware) for upgrading corresponding to the firmware in the BOOTROM is stored in a memory, the firmware is used for replacing the firmware to be upgraded to operate, and a larger storage area is required for storing the firmware for upgrading, so that the problem of higher cost of the chip is caused.
Disclosure of Invention
In view of this, the embodiments of the present application provide a system on chip, an upgrade method for a system on chip start firmware, a system on chip start method, a computer device, and a readable storage medium, which can reduce a storage area used for upgrading the firmware and reduce a chip cost.
In a first aspect, embodiments of the present application provide a system on a chip, including: a central processing unit; the BOOTROM is connected with the central processing unit through a bus and is used for storing system on chip starting firmware; the PROM is connected with the central processing unit through a bus and is used for storing source local firmware for upgrading; the source local firmware is used for upgrading the target local firmware, and the target local firmware is local failure firmware in system on chip starting firmware stored in the BOOTROM.
According to a specific implementation manner of the embodiment of the application, the PROM is further used for storing a firmware local upgrade table; the firmware local upgrade table is used for determining the source local firmware; the system on chip further comprises a firmware upgrade controller; the firmware upgrading controller is used for determining the source local firmware according to the firmware local upgrading table stored in the PROM, and upgrading the local failure firmware in the system-on-chip starting firmware stored in the BOOTROM after the system-on-chip is powered on or reset by using the source local firmware.
According to a specific implementation manner of the embodiment of the present application, the firmware upgrade controller includes: the upgrading table reading module is used for reading the firmware local upgrading table stored in the PROM; and the address mapping module is used for mapping the address of the starting firmware stored in the BOOTROM to the address space of the ROM, and modifying the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM according to the firmware local upgrading table.
According to a specific implementation manner of the embodiment of the present application, the firmware upgrade controller includes: the upgrading table reading module is used for reading the firmware local upgrading table stored in the PROM; and the address mapping module is used for mapping the addresses of the effective firmware in the boot firmware stored in the BOOTROM to the address space of the ROM, and mapping the addresses of the source local firmware stored in the PROM to the address space of the ROM according to the firmware local upgrade table.
According to a specific implementation manner of the embodiment of the present application, the firmware local upgrade table includes an address of a source local firmware, an address of a target local firmware, and a length of the source local firmware or the target local firmware.
According to a specific implementation manner of the embodiment of the application, the method further includes: and the SRAM is used for storing effective firmware from the BOOTROM for the CPU to read, and/or is used for storing source local firmware from the PROM for the CPU to read.
In a second aspect, an embodiment of the present application provides a method for upgrading system on chip boot firmware, including: reading a firmware local upgrade table stored in a PROM; and determining a source local firmware according to the firmware local upgrading table stored in the PROM, and upgrading local failure firmware in the system on chip starting firmware stored in the BOOTROM by using the source local firmware.
According to a specific implementation manner of the embodiment of the present application, the upgrading, according to the firmware local upgrade table and the source local firmware stored in the PROM, the local failure firmware in the system on chip boot firmware stored in the BOOTROM includes: mapping an address of the system on chip boot firmware stored in the BOOTROM to an address space of the ROM; and according to the firmware local upgrading table stored in the PROM, modifying the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM.
According to a specific implementation manner of the embodiment of the present application, the upgrading, according to the firmware local upgrade table and the source local firmware stored in the PROM, the local failure firmware in the system on chip boot firmware stored in the BOOTROM includes: and according to the firmware local upgrade table stored in the PROM, mapping the address of the effective firmware in the boot firmware stored in the BOOTROM to the address space of the ROM, and mapping the address of the source local firmware stored in the PROM to the address space of the ROM.
In a third aspect, an embodiment of the present application provides a system on a chip starting method, including: powering up or resetting the central processing unit; mapping the starting address of the central processing unit into a space address of the ROM; the central processing unit runs the effective firmware according to the space address of the ROM and the address of the effective firmware stored in the BOOTROM, and runs the source local firmware according to the space address of the ROM and the address of the source local firmware for upgrading stored in the PROM; the source local firmware is used for upgrading the local failure firmware stored in the BOOTROM.
According to a specific implementation manner of the embodiment of the present application, before mapping the boot address of the central processing unit to the space address of the ROM, the method further includes: mapping the address of the boot firmware stored in the BOOTROM to the address space of the ROM; reading a firmware local upgrade table stored in a PROM; the firmware local upgrade table comprises an address of a source local firmware, an address of a target local firmware and a length of the source local firmware or the target local firmware; and according to the firmware local upgrading table, modifying the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM.
According to a specific implementation manner of the embodiment of the present application, before mapping the boot address of the central processing unit to the space address of the ROM, the method further includes: reading a firmware local upgrade table stored in a PROM; according to the firmware local upgrading table, mapping the address of the effective firmware in the starting firmware stored in the BOOTROM to the address space of the ROM, and mapping the address of the source local firmware stored in the PROM to the address space of the ROM; the source local firmware stored in the PROM is used for upgrading local failure firmware in the starting firmware stored in the BOOTROM.
According to a specific implementation manner of the embodiment of the present application, the running of the effective firmware by the central processing unit according to the space address of the ROM and the address of the effective firmware stored in the BOOTROM includes: judging an operation carrier of the effective firmware by the central processing unit; if the operation carrier of the effective firmware is ROM, the CPU directly operates the effective firmware; if the operation carrier of the effective firmware is SRAM, copying the effective firmware into the SRAM according to the address of the effective firmware stored in the BOOTROM, and reading and operating the effective firmware from the SRAM by the central processing unit.
According to a specific implementation manner of the embodiment of the present application, the central processing unit runs the source local firmware according to the space address of the ROM and the address of the source local firmware for upgrading stored in the PROM, and includes: judging an operation carrier of the source local firmware by the central processing unit; if the running carrier of the source local firmware is ROM, the central processing unit directly runs the source local firmware; and if the running carrier of the source local firmware is SRAM, copying the source local firmware into the SRAM according to the address of the source local firmware stored in the PROM, and reading and running the source local firmware from the SRAM by the central processing unit.
In a fourth aspect, an embodiment of the present application provides an upgrade apparatus for system on a chip start firmware, including: the reading module is used for reading the firmware local upgrade table stored in the PROM; the firmware local upgrade table comprises an address of a source local firmware, an address of a target local firmware and a length of the source local firmware or the target local firmware; the upgrading module is used for upgrading the local failure firmware in the system-on-chip starting firmware stored in the BOOTROM according to the firmware local upgrading table and the source local firmware stored in the PROM
In a fifth aspect, an embodiment of the present application provides a system on a chip starting device, including: the power-on module is used for powering on or resetting the central processing unit; the mapping module is used for mapping the starting address of the central processing unit into a space address of the ROM; the running module is used for running the effective firmware according to the space address of the ROM and the address of the effective firmware stored in the BOOTROM by the central processing unit, and running the source local firmware according to the space address of the ROM and the address of the source local firmware for upgrading stored in the PROM; the source local firmware is used for upgrading the local failure firmware stored in the BOOTROM.
In a sixth aspect, embodiments of the present application provide a computer device, comprising: a motherboard, a system on a chip, the system on a chip being disposed on the motherboard; the off-chip memory is arranged on the main board and is connected with the on-chip system through an off-chip bus; wherein the system-on-chip is a system-on-chip as described in any of the foregoing implementations.
In a seventh aspect, embodiments of the present application provide a computer readable storage medium storing one or more programs, where the one or more programs are executable by one or more processors to implement the method for upgrading a system-on-chip boot firmware described in any one of the foregoing implementations, or implement the method for booting a system-on-chip described in any one of the foregoing implementations.
The BOOTROM and the PROM are respectively connected with the central processing unit through buses, the BOOTROM stores the system-on-chip starting firmware, the PROM stores source local firmware for upgrading, and the source local firmware can upgrade local failure firmware in the system-on-chip starting firmware stored in the BOOTROM, that is, in the embodiment, the local failure firmware in the system-on-chip starting firmware can be upgraded, and the storage area occupied by the source local firmware for upgrading the local failure firmware in the PROM is smaller, so that the cost of the system-on-chip is reduced.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of a system-on-chip according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a firmware local upgrade table and source local firmware stored in a PROM3 according to one embodiment of the present application;
FIG. 3 is a diagram illustrating a firmware local upgrade table according to an embodiment of the present application;
FIG. 4 is a diagram illustrating a system memory address space according to an embodiment of the present disclosure;
FIG. 5 is a schematic diagram of mapping addresses of boot firmware stored in BOOTROM2 to an address space of ROM by a firmware upgrade controller in an embodiment of the present application;
FIG. 6 is a schematic diagram of mapping addresses of valid firmware in BOOTROM to an address space of ROM and mapping addresses of source local firmware in PROM to an address space of ROM by a firmware upgrade controller in an embodiment of the present application;
FIG. 7 is a schematic diagram of mapping addresses of final source local firmware in a PROM to an address space of a ROM in an embodiment of the present application;
FIG. 8 is a flowchart illustrating a method for upgrading a system on chip boot firmware according to an embodiment of the present application;
FIG. 9 is a flowchart illustrating a method for upgrading a system on chip boot firmware according to an embodiment of the present application;
FIG. 10 is a flowchart illustrating a method for system on a chip according to an embodiment of the present disclosure;
FIG. 11 is a flowchart illustrating a method for system on a chip according to another embodiment of the present disclosure;
FIG. 12 is a flowchart of a system-on-chip start-up method according to another embodiment of the present disclosure;
FIG. 13 is a schematic diagram of mapping, by a firmware upgrade controller, an address of source local firmware corresponding to a first partition in a BOOTROM to an address space of the ROM in an embodiment of the present application;
FIG. 14 is a schematic diagram of mapping, by a firmware upgrade controller, an address of a first partition in a BOOTROM to an address space of the ROM in one embodiment of the present application;
FIG. 15 is a flowchart illustrating a method for starting a system on a chip according to another embodiment of the present disclosure;
FIG. 16 is a schematic diagram of an upgrade apparatus for system on chip boot firmware according to an embodiment of the present application;
fig. 17 is a schematic structural diagram of a system-on-chip starting device according to an embodiment of the present application.
Detailed Description
Embodiments of the present application are described in detail below with reference to the accompanying drawings. It should be understood that the described embodiments are merely some, but not all, of the embodiments of the present application. All other embodiments, based on the embodiments herein, which would be apparent to one of ordinary skill in the art without making any inventive effort, are intended to be within the scope of the present application.
In order that those skilled in the art will better understand the technical concepts, embodiments and advantages of the examples of the present application, a detailed description will be given below by way of specific examples.
Fig. 1 is a schematic structural diagram of a system-on-chip provided in an embodiment of the present application, as shown in fig. 1, where the system-on-chip of the embodiment may include: a central processing unit 1, a BOOTROM2 and a PROM3.
The BOOTROM2 is connected to a central processing unit (CPU, central Processing Unit) 1 via a bus for storing system on chip boot firmware.
The BOOTROM2 in this embodiment is a ROM in the system on a chip for storing system boot firmware. The system boot firmware stored on BOOTROM2, once stored therein, cannot be modified.
The PROM3 is connected to the central processing unit through a bus, and is used for storing the source local firmware for upgrading.
PROM3 is a programmable read only memory. Data can be written into the PROM3 via the IO interface, which can only be dedicated to those data after the PROM3 has been programmed and cannot be reprogrammed.
In this embodiment, the source local firmware for upgrade may be stored through the IO interface using a programming device. In this embodiment, the source local firmware is used to upgrade the target local firmware, which is a local failure firmware in the system on chip boot firmware stored in the BOOTROM 2.
The local failure firmware may be local firmware to the boot firmware and an exception occurs at runtime.
In this embodiment, the system on chip boot firmware may be divided into a plurality of partitions in advance, and the local failure firmware is one partition of the plurality of partitions.
The source local firmware is used for upgrading the target local firmware, and can replace the target local firmware to run in the starting process of the system on chip, so that the starting of the system on chip is realized.
In this embodiment, the BOOTROM2 and the PROM3 are respectively connected to the central processor 1 through a bus, the BOOTROM2 stores the system on chip start firmware, the PROM3 stores the source local firmware for upgrading, and the source local firmware can upgrade the local failure firmware in the system on chip start firmware stored in the BOOTROM2, that is, in this embodiment, the local failure firmware in the system start firmware can be upgraded, and the storage area occupied by the source local firmware for upgrading the local failure firmware in the PROM3 is smaller, thereby reducing the cost of the system on chip.
In some examples, PROM3 may also be used to store a firmware local upgrade table that is used to determine the source local firmware.
The firmware local upgrade table may be stored in PROM3 through the IO interface.
Referring to FIG. 2, in a specific example, a firmware local upgrade table may be used to determine a plurality of source local firmware, each of which may upgrade a different local failed firmware. In the embodiment, T0 is used for determining D0, and T1 is used for determining D1, that is, when the firmware local upgrade table and the source local firmware are stored, the available space of the PROM3 is respectively stored from two ends of the available space of the PROM3, so that the available space can be closed towards the middle of the address space of the PROM3, and the utilization rate of the PROM3 space can be improved.
In some examples, the firmware local upgrade table includes an address of the source local firmware, an address of the target local firmware, and a length of the source local firmware or the target local firmware.
The address of the source local firmware may be the physical address of the source local firmware in PROM 3; the address of the target local firmware may be the physical address of the local disabling firmware in BOOTROM 2.
Referring to fig. 3, partition 1 and partition 3 in the BOOTROM are target local firmware (local failure firmware), source local firmware 1 corresponding to partition 1 in the BOOTROM is stored in PROM3, source local firmware 3 corresponding to partition 3 in the BOOTROM is also stored, and the correspondence of address 1 of the target local firmware, address 1 of the source local firmware, and length of the target local firmware, and the correspondence of address 3 of the target local firmware, address 3 of the source local firmware, and length of the target local firmware 3 are included in the firmware local upgrade table in the BOOTROM.
In still other examples, the firmware local upgrade table may include an address and a length of the target local firmware, where the address of the source local firmware may determine the address of the source local firmware by storing a predetermined rule of the source local firmware in the PROM and storing addresses of other source local firmware, for example, storing different source local firmware in a sequential order at one end of an available space of the PROM, where in this embodiment, the source local firmware corresponding to the target local firmware is a first source local firmware, before the first source local firmware value, the address of the stored second source local firmware is T3, and the length of the second source local firmware is d, and then the address of the first source local firmware in this embodiment is t3+d.
In other examples, the firmware local upgrade table may include the address of the target local firmware, and in the case where each local firmware is fixed in length, the address of the source local firmware may determine the address of the source local firmware in a similar manner to the previous embodiment.
In still another embodiment, the firmware local upgrade table may include an identifier, and the address of the target local firmware may be determined according to the identifier and the correspondence between the identifier and the address of the local firmware, and in the case of a fixed length, the address of the source local firmware may be determined in a similar manner to the previous embodiment.
The firmware local upgrade table of the above embodiment may be used by the firmware upgrade controller, so as to modify the mapping relationship between the address of the local failure firmware in the boot firmware stored in the BOOTROM and the address space of the ROM into the mapping relationship between the address of the source local firmware stored in the PROM and the address space of the ROM.
In some examples, the system on chip in this embodiment may also include a firmware upgrade controller.
The firmware upgrading controller is used for determining the source local firmware according to the firmware local upgrading table stored in the PROM3, and upgrading the local failure firmware in the system on chip starting firmware stored in the BOOTROM2 after the system on chip is powered on or reset by using the source local firmware.
In some examples, the firmware upgrade controller may include: an upgrade table reading module and an address mapping module; the upgrading table reading module is used for reading the firmware local upgrading table stored in the PROM 3; the address mapping module is used for mapping the address of the starting firmware stored in the BOOTROM2 to the address space of the ROM, and modifying the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM2 and the address space of the ROM into the mapping relation between the address of the source local firmware stored in the PROM3 and the address space of the ROM according to the firmware local upgrading table.
In this embodiment, the address space of the ROM may be a virtual address space or a physical address space.
In the structure of the system on chip shown in fig. 1, there are mainly a RAM area and a ROM area, in the layout of the address space of the system memory in fig. 4, the SRAM, PROM and BOOTROM all have specific hardware entities corresponding to each other, the address space of the ROM has no hardware corresponding to each other, and the entity corresponding to the address space of the ROM selects the hardware mapped to the BOOTROM or PROM according to the configuration.
In this embodiment, the address of the boot firmware stored in the BOOTROM2 may be mapped to the address space of the ROM, so that the hardware entity corresponding to the address space of the ROM is the BOOTROM2. During an upgrade or system on chip start-up, the central processor 1 is able to read the boot firmware stored in the BOOTROM2 through the address space of the ROM.
In order for the central processing unit 1 to be able to read the source local firmware stored in the PROM3 so as to use the source local firmware stored in the PROM3 to replace the local disabling firmware for operation, in this embodiment, the mapping relationship between the address of the local disabling firmware in the boot firmware stored in the BOOTROM2 and the address space of the ROM may be modified into the mapping relationship between the address of the source local firmware stored in the PROM3 and the address space of the ROM according to the firmware local upgrading table, so that the entity corresponding to the address space of the ROM is the PROM3, and during the process of operating the boot firmware, the central processing unit 1 may read the source local firmware from the PROM3, and may not read the local disabling firmware from the BOOTROM 2.
Referring to fig. 5, in the case that there is no local disabled firmware in the BOOTROM, that is, there is no local firmware to be upgraded, there is no data related to the local firmware in the local firmware upgrade table, and in this case, the data sources of the ROM are BOOTROMs.
Referring to fig. 6, in the case that there is a local failure firmware in the BOOTROM, there is a source local firmware corresponding to the local failure firmware in the PROM, the address of the local failure firmware, the address of the source local firmware, and the length of the local failure firmware are stored in the firmware local upgrade table, and according to the information in the firmware local upgrade table, the mapping relationship between the address of the local failure firmware in the boot firmware stored in the BOOTROM2 and the address space of the ROM is modified into the mapping relationship between the address of the source local firmware stored in the PROM3 and the address space of the ROM by the firmware upgrade controller, where one data source of the ROM is the PROM3 and the other data sources are the BOOTROM.
In the case of two or more locally disabled firmware in a BOOTROM, the process is similar to that described above.
Referring to fig. 7, if there are multiple source local firmware that upgrades the same local failure firmware in the BOOTROM2 in the PROM3, the last source local firmware stored in the PROM3 is used as the final source local firmware, that is, the mapping relationship between the address of the local failure firmware in the boot firmware stored in the BOOTROM2 and the address space of the ROM is modified into the mapping relationship between the address of the final source local firmware stored in the PROM3 and the address space of the ROM.
As an alternative embodiment, the firmware upgrade controller may include: an upgrade table reading module and an address mapping module; the upgrading table reading module is used for reading the firmware local upgrading table stored in the PROM 3; and the address mapping module is used for mapping the addresses of the valid firmware in the boot firmware stored in the BOOTROM2 to the ROM address space, and mapping the addresses of the source local firmware stored in the PROM3 to the ROM address space according to the firmware local upgrade table.
In this embodiment, the addresses of the valid firmware in the boot firmware stored in the BOOTROM2 are mapped to the address space of the ROM, and the addresses of the source local firmware stored in the PROM3 are mapped to the address space of the ROM according to the firmware local upgrade table, so that the central processing unit 1 is facilitated to read the valid firmware in the boot firmware stored in the BOOTROM2 and the source local firmware stored in the PROM3 through the address space of the ROM.
In order to facilitate the central processing unit 1 to obtain the valid firmware and the source local firmware from one storage unit, the system on chip in this embodiment further includes an SRAM4.SRAM4 is used to store valid firmware from BOOTROM2 for reading by central processor 1 and/or to store source local firmware from PROM3 for reading by central processor 1.
The effective firmware of the BOOTROM2 can be copied into the SRAM4, so that the CPU 1 can read the effective firmware of the BOOTROM2 from the SRAM 4; the source local firmware of the PROM3 may also be copied into the SRAM4, so that the central processor 1 may read the source local firmware of the PROM3 from the SRAM 4; the valid firmware of the BOOTROM2 and the source local firmware of the PROM3 may also be copied into the SRAM4, so that the central processor 1 may read the valid firmware of the BOOTROM2 and the source local firmware of the PROM3 from the SRAM4.
Fig. 8 is a flowchart of an upgrade method of a system on chip boot firmware according to an embodiment of the present application, as shown in fig. 8, where the upgrade method of the system on chip boot firmware according to the embodiment may include:
s101, reading a firmware local upgrade table stored in the PROM.
The firmware local upgrade table is used to determine the source local firmware.
S102, determining a source local firmware according to a firmware local upgrading table stored in the PROM, and upgrading local failure firmware in the system on chip starting firmware stored in the BOOTROM by using the source local firmware.
In this embodiment, a firmware local upgrade table and source local firmware are stored in the PROM.
Because the firmware local upgrade table includes the address of the source local firmware and the address of the target local firmware, the target local firmware and the source local firmware can be determined according to the firmware local upgrade table, and further, the local failure firmware in the system on chip start firmware stored in the BOOTROM can be upgraded by using the source local firmware stored in the PROM.
In this embodiment, the local disabling firmware in the system on chip starting firmware stored in the BOOTROM is updated by reading the firmware local updating table stored in the PROM and according to the firmware local updating table and the source local firmware stored in the PROM, so that the local disabling firmware in the system starting firmware can be updated, thereby being convenient for reducing the cost of the system on chip.
In some examples, upgrading the local disabling firmware in the boot-up firmware of the system on chip stored in the BOOTROM according to the firmware local upgrade table and the source local firmware stored in the PROM (S102) may include:
S102a, mapping the address of the system on chip boot firmware stored in the BOOTROM to the address space of the ROM.
In this embodiment, the address space of the ROM may be a virtual address space or a physical address space.
In this embodiment, the address of the boot firmware stored in the BOOTROM may be mapped to the address space of the ROM, so that the cpu can read the boot firmware stored in the BOOTROM through the address space of the ROM during the upgrade or system on chip boot process.
S102b, according to the firmware local upgrade table stored in the PROM, the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM is modified into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM.
In order for the central processing unit to be able to read the source local firmware stored in the PROM so as to use the source local firmware stored in the PROM to replace the local disabling firmware for operation, in this embodiment, the mapping relationship between the address of the local disabling firmware in the boot firmware stored in the BOOTROM and the address space of the ROM may be modified into the mapping relationship between the address of the source local firmware stored in the PROM and the address space of the ROM according to the firmware local upgrade table stored in the PROM, so that during the process of operating the boot firmware, the central processing unit may read the source local firmware from the PROM, without reading the local disabling firmware from the BOOTROM.
As an alternative implementation manner, upgrading the local disabling firmware in the system on chip boot firmware stored in the BOOTROM according to the firmware local upgrading table and the source local firmware stored in the PROM (S102) may include:
s102c, according to the firmware local upgrade table stored in the PROM, mapping the address of the effective firmware in the boot firmware stored in the BOOTROM to the address space of the ROM, and mapping the address of the source local firmware stored in the PROM to the address space of the ROM.
In this embodiment, the addresses of the valid firmware in the boot firmware stored in the BOOTROM are mapped to the address space of the ROM, and the addresses of the source local firmware stored in the PROM are mapped to the address space of the ROM according to the firmware local upgrade table, so that the central processing unit is convenient to read the valid firmware in the boot firmware stored in the BOOTROM and the source local firmware stored in the PROM through the address space of the ROM.
The following describes the embodiments of the present application in detail with reference to a specific example.
Referring to fig. 9, the method for upgrading the system on chip start firmware of the present embodiment may include:
1. and (5) performing self-checking by using the BOOTROM.
ROM self-checking passes, and the system is normal; otherwise, the system is in an abnormal state.
1) BOOTROM data processing
a. And (5) BOOTROM data self-checking.
b. The data of the BOOTROM is mapped to the address space of the ROM.
2) ROM data upgrade processing (PROM data processing): the firmware upgrade controller checks the validity of the local firmware upgrade table, and maps the address of the source local firmware to the address space of the designated target ROM.
a. Reading a first piece of information of a firmware local upgrade table;
b. if no upgrade information exists, executing e;
c. according to the upgrade information, the address space mapping of the ROM is modified from the BOOTROM to the PROM;
d. then reading the next piece of upgrading information of the firmware local upgrading table, and jumping to the step b;
e. the ROM upgrade data processing is completed.
Fig. 10 is a flowchart of a system on chip start-up method according to an embodiment of the present application, as shown in fig. 10, where the system on chip start-up method according to the embodiment may include:
s201, powering up or resetting the central processing unit.
S202, mapping the starting address of the CPU into a space address of the ROM.
The boot address of the central processing unit is mapped to the space address of the ROM, so that the boot firmware can be read through the space address of the ROM by using the boot address and then mapping the boot address to the space address of the ROM in the boot process of the central processing unit.
S203, the central processing unit runs the effective firmware according to the space address of the ROM and the address of the effective firmware stored in the BOOTROM, and runs the source local firmware according to the space address of the ROM and the address of the source local firmware for upgrading stored in the PROM.
In this embodiment, the effective firmware is an effective part of boot firmware stored in the BOOTROM; the local disabling firmware is a disabling portion of the boot firmware stored in the BOOTROM.
In this embodiment, the source local firmware is used to upgrade the local failure firmware stored in the BOOTROM.
In this embodiment, after the central processing unit is powered on or reset, the starting address of the central processing unit is mapped to the space address of the ROM, the central processing unit operates the effective firmware according to the space address of the ROM and the address of the effective firmware stored in the BOOTROM, and operates the source local firmware according to the space address of the ROM and the address of the source local firmware for upgrading stored in the PROM, and operates the source local firmware instead of operating the local disabling firmware stored in the BOOTROM, thereby implementing upgrading of the local disabling firmware stored in the BOOTROM.
The following describes the embodiments of the present application in detail with reference to a specific example.
Referring to fig. 11, the system on chip starting method of the present embodiment may include:
1. ROM self-test.
This process may be referred to in relation to the previous embodiments.
2. And judging whether the CPU is reset or not.
3. If the reset is released, the processor reads the instruction from the first address of the ROM.
In the ROM self-test process, a mapping relationship from ROM to BOOTROM or PROM has been established, based on which the processor can read data from the BOOTROM or PROM according to the address of the ROM.
4. The on-chip firmware starts running.
5. The system is started normally.
In some examples, before mapping the boot address of the central processor to the spatial address of the ROM, the method of this embodiment may further include:
204. the addresses of boot firmware stored in the BOOTROM are mapped to the address space of the ROM.
In this embodiment, the address space of the ROM may be a virtual address space or a physical address space.
In this embodiment, the address of the boot firmware stored in the BOOTROM may be mapped to the address space of the ROM, so that the cpu can read the boot firmware stored in the BOOTROM through the address space of the ROM during the upgrade or system on chip boot process.
205. And reading a firmware local upgrade table stored in the PROM.
In this embodiment, the firmware local upgrade table includes an address of a source local firmware, an address of a target local firmware, and a length of the source local firmware or the target local firmware.
206. And according to the firmware local upgrading table, modifying the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM.
The mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM is modified into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM, so that the central processing unit can read the source local firmware from the PROM without reading the local failure firmware from the BOOTROM in the process of running the starting firmware.
As an alternative embodiment, before mapping the boot address of the central processor to the spatial address of the ROM (204), the method may further comprise:
207. and reading a firmware local upgrade table stored in the PROM.
In this embodiment, the firmware local upgrade table includes an address of a source local firmware, an address of a target local firmware, and a length of the source local firmware or the target local firmware.
208. According to the firmware local upgrade table, mapping the address of the effective firmware in the boot firmware stored in the BOOTROM to the address space of the ROM, and mapping the address of the source local firmware stored in the PROM to the address space of the ROM.
In this embodiment, the source local firmware stored in the PROM is used to upgrade the local failure firmware in the boot firmware stored in the BOOTROM.
In this embodiment, the addresses of the valid firmware in the boot firmware stored in the BOOTROM are mapped to the address space of the ROM, and the addresses of the source local firmware stored in the PROM are mapped to the address space of the ROM according to the firmware local upgrade table, so that the central processing unit is convenient to read the valid firmware in the boot firmware stored in the BOOTROM and the source local firmware stored in the PROM through the address space of the ROM.
In some examples, the central processor running the valid firmware based on the ROM space address and the address of the valid firmware stored in the BOOTROM may include:
203a, the central processing unit judges the running carrier of the effective firmware.
203b, if the running carrier of the effective firmware is ROM, the CPU directly runs the effective firmware.
If the running carrier of the effective firmware is ROM, the effective firmware can be directly run according to the space address of the ROM and the address of the effective firmware stored in the BOOTROM.
203c, if the running carrier of the effective firmware is SRAM, copying the effective firmware into the SRAM according to the address of the effective firmware stored in the BOOTROM, and reading and running the effective firmware from the SRAM by the central processor.
If the running carrier of the effective firmware is ROM, the effective firmware is copied into SRAM, and the CPU reads and runs the effective firmware from the SRAM.
In some examples, the central processor running the source local firmware based on the ROM space address and the address of the source local firmware for upgrade stored in the PROM may include:
s203d, the central processing unit judges the running carrier of the source local firmware.
And S203e, if the running carrier of the source local firmware is ROM, the central processing unit directly runs the source local firmware.
S204, if the operation carrier of the source local firmware is SRAM, copying the source local firmware into the SRAM according to the address of the source local firmware stored in the PROM, and reading and operating the source local firmware from the SRAM by the central processing unit.
And judging the running carrier for the source local firmware, and loading the source local firmware into the SRAM when the running carrier is judged to be the SRAM, so that the central processing unit can read and run the source local firmware from the SRAM.
The following describes the embodiments of the present application in detail with reference to a specific example.
Referring to fig. 12, the system on chip starting method of the present embodiment may include:
1. the first partition of boot firmware is executed from the ROM.
The boot firmware is divided into a plurality of partitions, and the first partition in this embodiment is the first partition of the boot firmware, which is the start of the firmware, and can only be executed in the ROM.
2. It is determined whether the execution of the on-chip component is complete.
3. If the execution is not complete, it is determined whether the next partition of the on-chip firmware is running in RAM.
It may be determined whether the next partition firmware needs to be loaded into RAM for execution based on the partition currently being executed.
4. If the partition needs to run in the RAM, copying the next partition into the SRAM; if no execution in RAM is required, the next partition is executed in ROM.
If the processor needs to run in the RAM, the processor needs to be configured to jump to the corresponding address of the RAM to execute the next partition.
Other partitions than the first partition of the present embodiment may be executed in ROM or RAM.
As an alternative, the firmware local upgrade table marks the partition that needs to be upgraded with a TAG.
Referring to fig. 13, in the case where the firmware upgrade controller upgrades only the first partition, a firmware partial upgrade table and source partial firmware are stored in the PROM, wherein the firmware partial upgrade table is marked as upgrade to the first partition using TAG, and at this time, the address of the source partial firmware in the PROM is mapped to the address space of the ROM by the firmware upgrade controller. Referring to fig. 14, when there is no first partition in the TAG flag in the PROM, i.e., the first partition does not need to be upgraded, mapping, by the firmware upgrade controller, the address of the first partition valid firmware in the BOOTROM to the address space of the ROM; for the non-first partition, the addresses in the BOOTROM are mapped to the ROM's address space by the firmware upgrade controller.
The data of the source local firmware of the PROM can be obtained through the firmware local upgrading table, and the firmware upgrading of the non-first partition is realized.
In some embodiments, the firmware local upgrade table may include an identification of the target local firmware, an address of the source local firmware, and a length of the source local firmware, while the address of the target local firmware is information known to the software, i.e., the address of the target local firmware is included in the software (firmware).
In still other embodiments, the firmware local upgrade table may include an identification of the target local firmware, a length of the source local firmware, and an address of the source local firmware may determine the address of the source local firmware by storing predetermined rules of the source local firmware in the PROM and addresses of other source local firmware stored.
In other embodiments, the firmware local upgrade table may include an identification of the target local firmware, an identification of the source local firmware, from which an address of the source local firmware may be derived.
In other examples, the information in the upgrade table may be included in the source local firmware, through which the address and length of the source local firmware may be obtained.
Referring to fig. 15, after the first partition is executed, it is determined that the on-chip firmware is not executed, and the method of this embodiment further includes:
5. Determining whether the next partition of the on-chip firmware is in the PROM according to the TAG in the firmware local upgrade table.
6. If in the PROM, copying the next partition from the PROM into the SRAM; if not in PROM, the next partition is copied from BOOTROM to SRAM.
7. Executing the next partition intra-slice firmware.
Fig. 16 is a schematic structural diagram of an upgrade apparatus for system on chip start firmware according to an embodiment of the present application, as shown in fig. 16, where the upgrade apparatus for system on chip start firmware of the present embodiment includes: a reading module 11, configured to read a firmware local upgrade table stored in a PROM; the firmware local upgrade table comprises an address of a source local firmware, an address of a target local firmware and a length of the source local firmware or the target local firmware; and the upgrading module 12 is used for upgrading the local failure firmware in the system on chip starting firmware stored in the BOOTROM according to the firmware local upgrading table and the source local firmware stored in the PROM.
The device of the present embodiment may be used to implement the technical solution of the method embodiment shown in fig. 8, and its implementation principle and technical effects are similar, and are not described here again.
According to the device, the local failure firmware in the system on chip starting firmware stored in the BOOTROM is updated according to the firmware local updating table stored in the PROM and the source local firmware, so that the local failure firmware in the system starting firmware can be updated, and the cost of the system on chip is reduced conveniently.
As an optional implementation manner, the upgrade module is specifically configured to: mapping an address of the system on chip boot firmware stored in the BOOTROM to an address space of the ROM; and according to the firmware local upgrading table stored in the PROM, modifying the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM.
As an optional implementation manner, the upgrade module is specifically configured to: and according to the firmware local upgrade table stored in the PROM, mapping the address of the effective firmware in the boot firmware stored in the BOOTROM to the address space of the ROM, and mapping the address of the source local firmware stored in the PROM to the address space of the ROM.
The device of the above embodiment may be used to implement the technical solution of the above method embodiment, and its implementation principle and technical effects are similar, and are not repeated here.
Fig. 17 is a schematic structural diagram of a system on chip starting device according to an embodiment of the present application, as shown in fig. 17, where the system on chip starting device of the present embodiment includes: a power-up module 21 for powering up or resetting the central processing unit; a mapping module 22, configured to map a start address of the central processing unit to a space address of the ROM; an operation module 23, configured to operate the effective firmware according to the space address of the ROM and the address of the effective firmware stored in the BOOTROM, and operate the source local firmware according to the space address of the ROM and the address of the source local firmware for upgrading stored in the PROM; the source local firmware is used for upgrading the local failure firmware stored in the BOOTROM.
The device of this embodiment may be used to implement the technical solution of the method embodiment shown in fig. 10, and its implementation principle and technical effects are similar, and are not described here again.
After the central processing unit is powered on or reset, the device maps the starting address of the central processing unit into the space address of the ROM, the central processing unit operates the effective firmware according to the space address of the ROM and the address of the effective firmware stored in the BOOTROM, and operates the source local firmware according to the space address of the ROM and the address of the source local firmware for upgrading stored in the PROM, and the source local firmware is used for replacing and operating the local failure firmware stored in the BOOTROM, so that the local failure firmware stored in the BOOTROM is upgraded, and the cost of the system on chip is conveniently reduced due to the fact that the source local firmware is used for upgrading the local failure firmware stored in the BOOTROM.
As an alternative embodiment, the device is further configured to: before the mapping module maps the starting address of the central processing unit to the space address of the ROM, mapping the address of starting firmware stored in the BOOTROM to the address space of the ROM; reading a firmware local upgrade table stored in a PROM; the firmware local upgrade table comprises an address of a source local firmware, an address of a target local firmware and a length of the source local firmware or the target local firmware; and according to the firmware local upgrading table, modifying the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM.
As an alternative embodiment, the device is further configured to: before the mapping module maps the starting address of the central processing unit into a space address of the ROM, reading a firmware local upgrading table stored in the PROM; according to the firmware local upgrading table, mapping the address of the effective firmware in the starting firmware stored in the BOOTROM to the address space of the ROM, and mapping the address of the source local firmware stored in the PROM to the address space of the ROM; the source local firmware stored in the PROM is used for upgrading local failure firmware in the starting firmware stored in the BOOTROM.
As an optional implementation manner, the operation module is specifically configured to: judging an operation carrier of the effective firmware by the central processing unit; if the operation carrier of the effective firmware is ROM, the CPU directly operates the effective firmware; if the operation carrier of the effective firmware is SRAM, copying the effective firmware into the SRAM according to the address of the effective firmware stored in the BOOTROM, and reading and operating the effective firmware from the SRAM by the central processing unit.
As an optional implementation manner, the operation module is specifically configured to: judging an operation carrier of the source local firmware by the central processing unit; if the running carrier of the source local firmware is ROM, the central processing unit directly runs the source local firmware; and if the running carrier of the source local firmware is SRAM, copying the source local firmware into the SRAM according to the address of the source local firmware stored in the PROM, and reading and running the source local firmware from the SRAM by the central processing unit.
The device of the above embodiment may be used to implement the technical solution of the above method embodiment, and its implementation principle and technical effects are similar, and are not repeated here.
The present application also provides a computer device comprising: motherboard, system on chip and off chip memory; the on-chip system and the off-chip memory are arranged on the main board, and the off-chip memory is connected with the on-chip system through an off-chip bus; in this embodiment, the system-on-chip is the system-on-chip in any of the foregoing embodiments.
Accordingly, embodiments of the present application further provide a computer readable storage medium storing one or more programs executable by one or more processors to implement any of the method for upgrading system-on-chip boot firmware provided in the foregoing embodiments; or, any of the system-on-chip starting methods provided in the foregoing embodiments is implemented, so that corresponding technical effects can also be achieved, and the foregoing details have been described herein and are not repeated herein.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In this specification, each embodiment is described in a related manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments.
In particular, for the device embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference is made to the description of the method embodiments in part.
For convenience of description, the above apparatus is described as being functionally divided into various units/modules, respectively. Of course, the functions of each unit/module may be implemented in one or more pieces of software and/or hardware when implementing the present application.
Those skilled in the art will appreciate that implementing all or part of the above-described methods in accordance with the embodiments may be accomplished by way of a computer program stored on a computer readable storage medium, which when executed may comprise the steps of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), or the like.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions easily conceivable by those skilled in the art within the technical scope of the present application should be covered in the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (18)

1. A system on a chip, comprising:
a central processing unit;
the BOOTROM is connected with the central processing unit through a bus and is used for storing system on chip starting firmware;
the PROM is connected with the central processing unit through a bus and is used for storing source local firmware for upgrading; the source local firmware is used for upgrading the target local firmware, and the target local firmware is local failure firmware in system on chip starting firmware stored in the BOOTROM.
2. The system on a chip of claim 1, wherein the PROM is further configured to store a firmware local upgrade table; the firmware local upgrade table is used for determining the source local firmware;
the system on chip further comprises a firmware upgrade controller; the firmware upgrading controller is used for determining the source local firmware according to the firmware local upgrading table stored in the PROM, and upgrading the local failure firmware in the system-on-chip starting firmware stored in the BOOTROM after the system-on-chip is powered on or reset by using the source local firmware.
3. The system on a chip of claim 2, wherein the firmware upgrade controller comprises:
the upgrading table reading module is used for reading the firmware local upgrading table stored in the PROM;
and the address mapping module is used for mapping the address of the starting firmware stored in the BOOTROM to the address space of the ROM, and modifying the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM according to the firmware local upgrading table.
4. The system on a chip of claim 2, wherein the firmware upgrade controller comprises:
the upgrading table reading module is used for reading the firmware local upgrading table stored in the PROM;
and the address mapping module is used for mapping the addresses of the effective firmware in the boot firmware stored in the BOOTROM to the address space of the ROM, and mapping the addresses of the source local firmware stored in the PROM to the address space of the ROM according to the firmware local upgrade table.
5. The system on a chip of claim 2, wherein the firmware local upgrade table includes an address of a source local firmware, an address of a target local firmware, and a length of the source local firmware or the target local firmware.
6. The system on a chip of claim 1, further comprising:
and the SRAM is used for storing effective firmware from the BOOTROM for the CPU to read, and/or is used for storing source local firmware from the PROM for the CPU to read.
7. An upgrade method for system-on-chip boot firmware, comprising:
reading a firmware local upgrade table stored in a PROM;
and determining source local firmware according to the firmware local upgrading table stored in the PROM, and upgrading local failure firmware in the system on chip starting firmware stored in the BOOTROM by using the source local firmware.
8. The method for upgrading system on chip boot firmware according to claim 7, wherein upgrading local disabling firmware in the system on chip boot firmware stored in the BOOTROM according to the firmware local upgrade table and the source local firmware stored in the PROM includes:
mapping an address of the system on chip boot firmware stored in the BOOTROM to an address space of the ROM;
and according to the firmware local upgrading table stored in the PROM, modifying the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM.
9. The method for upgrading system on chip boot firmware according to claim 7, wherein upgrading local disabling firmware in the system on chip boot firmware stored in the BOOTROM according to the firmware local upgrade table and the source local firmware stored in the PROM includes:
and according to the firmware local upgrade table stored in the PROM, mapping the address of the effective firmware in the boot firmware stored in the BOOTROM to the address space of the ROM, and mapping the address of the source local firmware stored in the PROM to the address space of the ROM.
10. A system-on-chip starting method is characterized in that the method comprises the following steps of. Comprising the following steps:
powering up or resetting the central processing unit;
mapping the starting address of the central processing unit into a space address of the ROM;
the central processing unit runs the effective firmware according to the space address of the ROM and the address of the effective firmware stored in the BOOTROM, and runs the source local firmware according to the space address of the ROM and the address of the source local firmware for upgrading stored in the PROM; the source local firmware is used for upgrading the local failure firmware stored in the BOOTROM.
11. The system-on-chip boot method of claim 10, wherein before mapping the boot address of the central processor to the spatial address of the ROM, the method further comprises:
Mapping the address of the boot firmware stored in the BOOTROM to the address space of the ROM;
reading a firmware local upgrade table stored in a PROM; the firmware local upgrade table comprises an address of a source local firmware, an address of a target local firmware and a length of the source local firmware or the target local firmware;
and according to the firmware local upgrading table, modifying the mapping relation between the address of the local failure firmware in the starting firmware stored in the BOOTROM and the address space of the ROM into the mapping relation between the address of the source local firmware stored in the PROM and the address space of the ROM.
12. The system-on-chip boot method of claim 10, wherein before mapping the boot address of the central processor to the spatial address of the ROM, the method further comprises:
reading a firmware local upgrade table stored in a PROM;
according to the firmware local upgrading table, mapping the address of the effective firmware in the starting firmware stored in the BOOTROM to the address space of the ROM, and mapping the address of the source local firmware stored in the PROM to the address space of the ROM; the source local firmware stored in the PROM is used for upgrading local failure firmware in the starting firmware stored in the BOOTROM.
13. The system on a chip boot method according to claim 10, wherein the central processing unit runs the valid firmware according to a space address of the ROM and an address of the valid firmware stored in the BOOTROM, comprising:
judging an operation carrier of the effective firmware by the central processing unit;
if the operation carrier of the effective firmware is ROM, the CPU directly operates the effective firmware;
if the operation carrier of the effective firmware is SRAM, copying the effective firmware into the SRAM according to the address of the effective firmware stored in the BOOTROM, and reading and operating the effective firmware from the SRAM by the central processing unit.
14. The system on a chip start-up method of claim 10, wherein the central processor runs the source local firmware based on a spatial address of the ROM and an address of the source local firmware for upgrade stored in the PROM, comprising:
judging an operation carrier of the source local firmware by the central processing unit;
if the running carrier of the source local firmware is ROM, the central processing unit directly runs the source local firmware;
and if the running carrier of the source local firmware is SRAM, copying the source local firmware into the SRAM according to the address of the source local firmware stored in the PROM, and reading and running the source local firmware from the SRAM by the central processing unit.
15. An upgrade apparatus for system-on-chip boot firmware, comprising:
the reading module is used for reading the firmware local upgrade table stored in the PROM; the firmware local upgrade table comprises an address of a source local firmware, an address of a target local firmware and a length of the source local firmware or the target local firmware;
and the upgrading module is used for upgrading the local failure firmware in the system on chip starting firmware stored in the BOOTROM according to the firmware local upgrading table and the source local firmware stored in the PROM.
16. A system-on-chip starting device, characterized in that. Comprising the following steps:
the power-on module is used for powering on or resetting the central processing unit;
the mapping module is used for mapping the starting address of the central processing unit into a space address of the ROM;
the running module is used for running the effective firmware according to the space address of the ROM and the address of the effective firmware stored in the BOOTROM by the central processing unit, and running the source local firmware according to the space address of the ROM and the address of the source local firmware for upgrading stored in the PROM; the source local firmware is used for upgrading the local failure firmware stored in the BOOTROM.
17. A computer device, comprising:
the main board is provided with a plurality of grooves,
the system on chip is arranged on the main board;
the off-chip memory is arranged on the main board and is connected with the on-chip system through an off-chip bus;
wherein the system on chip is the system on chip of any of the preceding claims 1-6.
18. A computer readable storage medium storing one or more programs executable by one or more processors to implement the method of upgrading system-on-chip boot firmware of any of the preceding claims 7-9; or, implementing the system-on-chip start-up method of any of the preceding claims 10-14.
CN202311753294.0A 2023-12-18 2023-12-18 System-on-chip and upgrading method of system-on-chip starting firmware Pending CN117762456A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311753294.0A CN117762456A (en) 2023-12-18 2023-12-18 System-on-chip and upgrading method of system-on-chip starting firmware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311753294.0A CN117762456A (en) 2023-12-18 2023-12-18 System-on-chip and upgrading method of system-on-chip starting firmware

Publications (1)

Publication Number Publication Date
CN117762456A true CN117762456A (en) 2024-03-26

Family

ID=90313799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311753294.0A Pending CN117762456A (en) 2023-12-18 2023-12-18 System-on-chip and upgrading method of system-on-chip starting firmware

Country Status (1)

Country Link
CN (1) CN117762456A (en)

Similar Documents

Publication Publication Date Title
CN109478135B (en) Computer system and method for rebooting a computer system
US9626181B2 (en) Systems and methods to securely inject binary images and code into firmware
JP5540155B2 (en) Providing platform independent memory logic
US8423991B2 (en) Embedded network device and firmware upgrading method
US9507604B2 (en) Boot method and boot system
US9733950B2 (en) Boot sequencing for multi boot devices
JP5307196B2 (en) Providing a system integrated with silicon code
US20120191960A1 (en) Booting computing devices
CN115605844A (en) Microcode (microcode) hot upgrading method for bare computer cloud deployment
CN110737481A (en) Starting method of embedded LINUX operating system based on multiple backup bootstrap programs
CN107567629A (en) Dynamic firmware module loader in credible performing environment container
WO2012071852A1 (en) Method and apparatus for upgrading bootstrap program
US20200363974A1 (en) System and Method for Tying Non-Volatile Dual Inline Memory Modules to a Particular Information Handling System
CN103455750A (en) High-security verification method and high-security verification system for embedded devices
US11500648B2 (en) Method for fast booting processors in a multi-processor architecture
CN117130672A (en) Server start flow control method, system, terminal and storage medium
CN113064637A (en) Method and system for booting from a separate BIOS image file
KR101844095B1 (en) Method and apparatus for executing bootloader
US20200364040A1 (en) System and Method for Restoring a Previously Functional Firmware Image on a Non-Volatile Dual Inline Memory Module
US20190146804A1 (en) Method for synchronization of system management data
CN117762456A (en) System-on-chip and upgrading method of system-on-chip starting firmware
CN111258617B (en) Electronic equipment
CN110286953B (en) Method and device for starting embedded system, embedded device and storage medium
CN112463244B (en) CPU starting method and device, electronic equipment and computer readable storage medium
CN115878204B (en) Processing method and device of operating system, computer equipment and medium

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