Firmware off-line burning device and system

The DIP switch controls the selection module to enable offline updates of BMC or BIOS firmware via an external programmer, solving the problem of offline updates being impossible in server motherboards with compact layouts, optimizing space layout and reducing costs.

CN223842408UActive Publication Date: 2026-01-27GUANGDONG HONGQIN COMM TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202422153225.2
Authority / Receiving Office
CN · China
Patent Type
Utility models(China)
Current Assignee / Owner
Filing Date
2024-09-02
Publication Date
2026-01-27
Estimated Expiration
2034-09-02

AI Technical Summary

Technical Problem

In server motherboard layouts with compact designs, existing offline programming methods require manual soldering of SPI FLASH chips, increasing repair difficulty and the risk of damage. This makes it impossible to complete offline updates of BMC or BIOS firmware without placing a socket.

Method used

By controlling the switching between different input and output channels of the selection module connected to the BMC, PCH, and external programmer via DIP switches, offline updates of the BMC or BIOS firmware by the external programmer can be achieved, avoiding the need to solder the SPI FLASH chip.

Benefits of technology

The server motherboard space layout has been optimized, reducing costs and simplifying the firmware update process, thus reducing maintenance difficulty and the risk of damage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN223842408U_ABST
    Figure CN223842408U_ABST
Patent Text Reader

Abstract

The utility model provides a firmware offline burning device and system. In the scheme, a dial switch is used for controlling a channel switching relation between different input channels connected with a BMC, a PCH and an external burner and output channels connected with a BMCFLASH and a BIOSFLASH, so that offline updating of the external burner to different firmware under different conditions is realized. By means of the method, the device for achieving updating of the BMC firmware or the BIOS firmware by completing off-line burning of the firmware through the external burner without placing a socket or welding a BMCFLASH chip or a BIOSFLASH chip is provided for the server mainboard with the compact layout, the space layout of the server mainboard is optimized, and meanwhile cost is saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of electronic engineering technology, and in particular to a firmware offline burning device and system. Background Technology

[0002] During the manufacturing process, firmware updates are typically required for a large number of devices. Firmware flashing methods include online flashing and offline flashing. In some special application scenarios, such as aerospace and industrial control, online flashing may face cybersecurity risks; when there is no network connection and a large number of devices need to be updated in batches, offline flashing becomes the only feasible firmware update method.

[0003] Modern server systems typically include a Baseboard Management Controller (BMC) for managing the server's operational status locally and remotely, and a Basic Input Output System (BIOS) for hardware initialization and operating system boot during system startup. When firmware updates are needed in the BMC or BIOS flash memory for feature updates or bug fixes, the current offline flashing method involves soldering a socket onto the server motherboard, removing the BMC or BIOS flash chip during flashing, and then replacing it afterward. However, in the mass production stage of server motherboards, to reduce costs, the socket is generally removed. Since sockets occupy significant structural space, many compact components cannot be accommodated. When offline updates are required, the Serial Peripheral Interface Flash (SPI FLASH) chip used to store the BMC and BIOS firmware must be manually soldered, increasing repair difficulty and the risk of board damage.

[0004] Therefore, how to achieve offline firmware burning without placing a socket or desoldering the SPI FLASH chip has become an urgent problem to be solved. Utility Model Content

[0005] This application provides a firmware offline burning device and system to solve the problem of not placing a socket and not desoldering the FLASH chip when updating the BMC firmware and BIOS firmware on the server motherboard offline, so as to complete the firmware offline burning.

[0006] In a first aspect, this application provides a firmware offline burning device, comprising:

[0007] Select the module and DIP switch;

[0008] The input channels of the selection module are connected to the BMC, PCH, and external programmer, respectively, and the output channels of the selection module are connected to the BMC_FLASH and BIOS_FLASH, respectively.

[0009] The selection module controls the channel switching between the input channel and the output channel according to the value of the DIP switch, so that the external programmer can program the BMC firmware or BIOS firmware.

[0010] In one specific implementation, the selection module is simulated using a complex programmable logic device (CPLD).

[0011] In one specific implementation, the selection module is a three-input, two-output selector;

[0012] The selector's three input channels are connected to the BMC, the PCH, and the external programmer, respectively, and the selector's two output channels are connected to the BMC_FLASH and BIOS_FLASH, respectively.

[0013] In one specific implementation, one input channel of the selection module is connected to the external programmer via a connector.

[0014] In one specific embodiment, the CPLD is further provided with a verification module for verifying the programming results.

[0015] In one specific embodiment, the DIP switch is connected to the signal input pin of the CPLD.

[0016] In one specific embodiment, the connector is an SPI connector.

[0017] In one specific embodiment, the DIP switch is a four-position dual in-line DIP switch or an eight-position dual in-line DIP switch.

[0018] In one specific embodiment, it further includes: the external programmer, used to program the BMC firmware or BIOS firmware according to the firmware update file to be programmed.

[0019] Secondly, this application provides a firmware offline burning system, including: a terminal device and the firmware offline burning device described in the first aspect.

[0020] This application provides a firmware offline programming device and system. In this solution, a DIP switch controls the channel switching relationship between different input channels connected to the BMC, PCH, and external programmer, and different output channels connected to the BMC_FLASH and BIOS_FLASH, respectively. This enables the external programmer to perform offline updates of different firmware under different conditions. Through this method, a device is provided for compact server motherboards that allows for offline programming of BMC or BIOS firmware without installing sockets or desoldering the BMC_FLASH or BIOS_FLASH chips. This achieves BMC or BIOS firmware updates, optimizes the server motherboard's space layout, and saves costs. Attached Figure Description

[0021] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0022] Figure 1 This is a schematic diagram of a firmware offline burning system according to an embodiment of this application.

[0023] Figure 2 This is a schematic diagram of the structure of a firmware offline burning device according to an embodiment of this application.

[0024] Figure 3 This is a schematic diagram of a second embodiment of a firmware offline burning device provided in this application.

[0025] Explanation of reference numerals in the attached figures:

[0026] 201: Selection Module; 202: DIP Switch; 203: BMC; 204: Platform Controller Hub (PCH); 205: External Programmer; 206: BMC_FLASH; 207: BIOS_FLASH; 300: Server Motherboard; 301: Verification Module; 302: Complex Programmable Logic Device (CPLD); 303: SPI Connector; 304: Light Emitting Diode (LED); 305: Inter-Integrated Circuit (I2C) Protocol.

[0027] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0028] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses consistent with some aspects of this application as detailed in the appended claims.

[0029] Before introducing the embodiments of this application, the technical keywords involved in the embodiments of this application will be explained first:

[0030] BMC is used to manage the server's operating status locally and remotely; BIOS is used to perform hardware initialization and operating system boot during system startup.

[0031] SPI is used to enable efficient data transmission between master and slave devices; SPI FLASH is used to store data and firmware. Flash memory is a non-volatile memory technology used to store data and program code.

[0032] CPLD is used to implement various control logics.

[0033] The PCH communicates with the BIOS Flash via the SPI bus.

[0034] An 8-position dual in-line package switch (SW-DIP8) is used in electronic devices that require manual configuration, such as setting the device address, selecting different operating modes, and configuring hardware parameters.

[0035] BMC_FLASH is a flash memory used to store BMC firmware, configuration data, and log information; BIOS_FLASH is a flash memory used to store BIOS firmware, configuration data, and log information.

[0036] SPI_IN_1, SPI_IN_2, and SPI_IN_3 refer to the first, second, and third input channels of the selection module, respectively; SPI_OUT_1 and SPI_OUT_2 refer to the first and second output channels of the selection module, respectively.

[0037] I2C is used for data transmission and exchange of control signals between integrated circuits.

[0038] 3V3 refers to a power supply voltage of 3.3 volts, which provides stable power support for components.

[0039] LED is a semiconductor electronic component that converts electrical energy into light energy.

[0040] The application background of the embodiments of this application will be explained next:

[0041] Firmware updates are a crucial step in the manufacturing process to ensure proper device functionality, fix vulnerabilities, and improve performance. Firmware flashing, which involves writing new firmware programs into the device, is particularly important for mass production. In practice, firmware flashing methods mainly include online flashing and offline flashing. Online flashing directly writes firmware into the device via a network connection. This method is convenient and fast, suitable for scenarios where devices are already deployed in a network environment and have high real-time requirements. However, in some special application scenarios, such as aerospace and industrial control, where information security and system stability are extremely important, the network connection may become a potential entry point for attacks, leading to system intrusion or data leakage. Offline flashing uses dedicated flashing tools or equipment to physically write firmware directly into the device's storage medium, and then inserts the storage medium into the device for firmware updates. This method is particularly suitable when there is no network connection or when updating a large number of devices in batches. For example, in the mass production process of equipment on a production line, offline flashing can quickly write the latest firmware file into each device, ensuring consistent and secure firmware versions. Therefore, offline flashing provides a secure, reliable, and efficient firmware update solution for situations with high network security requirements, limited network connectivity, or the need for batch device updates.

[0042] The BMC and BIOS are two core components of modern server systems. The BMC manages the server's operational status locally and remotely, providing functions such as remote power control, hardware monitoring, and fault diagnosis. The BIOS performs hardware initialization and operating system boot during server system startup, ensuring the server system can start and run correctly. When firmware in the BMC or BIOS flash memory needs to be updated for feature updates or vulnerability fixes, an offline flashing method is typically used. Existing offline flashing methods usually involve soldering a socket onto the server motherboard, allowing the BMC or BIOS flash chip to be removed during flashing and then replaced afterward. However, in the mass production stage of server motherboards, many manufacturers choose to remove this socket to reduce costs and optimize motherboard layout, saving both hardware costs and structural space. Therefore, in projects with compact motherboard layouts where a socket cannot be installed, offline updates to the BMC or BIOS firmware require technicians to manually solder the SPI FLASH chip used to store the BMC and BIOS firmware. This method is not only cumbersome and complex, increasing the difficulty and risk of repair, but it can also damage the server motherboard, potentially rendering the entire motherboard unusable.

[0043] In conclusion, how to provide a convenient and secure offline BMC / BIOS firmware update device for compact server motherboards while ensuring cost control and space optimization is an urgent problem to be solved in server system design and maintenance.

[0044] Based on the aforementioned technical problems, the inventors, during their research on offline firmware update methods, discovered that by using a DIP switch, the channel switching relationship between different input channels connected to the BMC, PCH, and external programmer, and between different output channels connected to the BMC_FLASH and BIOS_FLASH, can be controlled. This allows for offline firmware burning via an external programmer without installing a socket or desoldering the BMC_FLASH or BIOS_FLASH chips. Based on this, this application provides a firmware offline burning device and system.

[0045] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.

[0046] Figure 1 This is a schematic diagram of the structure of a firmware offline burning system according to an embodiment of this application, as shown in the following figure. Figure 1As shown, the system includes at least: a terminal device, an external programmer, and the firmware offline programming device provided in this application. The firmware update file to be programmed is stored in the terminal device as a binary file or image file. The external programmer is connected to the terminal device via a Universal Serial Bus (USB) or other interface, and then connected to the firmware storage interface in the firmware offline programming device. After connection, the firmware update file to be programmed is loaded through the programmer control software on the terminal device, the correct target device and interface settings are selected, and programming begins. The external programmer transfers the firmware update file from the terminal device to the storage in the firmware offline programming device. This process takes several minutes to tens of minutes, depending on the size of the firmware update file and the speed of the external programmer.

[0047] The terminal device can be a local personal computer (PC), a dedicated firmware update device, or an embedded system such as a single-board computer like a Raspberry Pi (RPi). It can be connected to an external programmer via a common USB, serial port, or network interface for offline firmware burning. The external programmer can connect to the terminal device and the target storage chip in the offline firmware burning device via various interfaces to perform offline firmware burning. The server motherboard in the offline firmware burning device is equipped with a BMC for managing the server's operating status locally and remotely, and a BIOS for hardware initialization and operating system boot during system startup. During offline firmware burning, the firmware in the BMC and BIOS is typically stored in the BMC_FLASH chip and BIOS_FLASH chip, respectively. The external programmer uses DIP switches to control the switching between different input and output channels of the selection module, transferring the firmware update data to be burned to the target storage chip.

[0048] This application provides a firmware offline burning system, including a terminal device, an external programmer, and other key components such as a selection module and a toggle switch that are directly or indirectly connected to the firmware offline burning device in practical applications. One end of the external programmer is connected to the terminal device storing the firmware update file to be burned via USB or another interface, and the other end is connected to a component in the firmware offline burning device. After connection, the firmware update file to be burned is loaded through the programmer control software on the terminal device, the correct target device and interface settings are selected, and burning begins. Through this method, the external programmer transmits the firmware update file data from the terminal device to the target firmware storage chip, completing the offline firmware update while ensuring cost control and space optimization.

[0049] The physical devices mentioned above are illustrative in the figures and are not the only ones. This application does not make any specific limitations on the specific form and type of the specific devices involved.

[0050] Figure 2 This is a schematic diagram of a firmware offline burning device according to an embodiment of this application, as shown in the following figure. Figure 2 As shown, the core components of this device include a selection module 201 and a DIP switch 202, which together constitute the basic operation and control center of the firmware offline burning device, responsible for selection and configuration functions during the burning process. Secondly, to fully demonstrate the working environment and functional expansion of the burning device in practical applications, Figure 2 It also includes other key components that are directly or indirectly connected to the selection module 201: BMC 203, PCH 204, external programmer 205, and BMC_FLASH chip 206 and BIOS_FLASH chip 207 to be updated.

[0051] The input channels of the selection module 201 are connected to the BMC 203, PCH 204, and external programmer 205, respectively. The output channels of the selection module 201 are connected to the flash memory chip BMC_FLASH 206 for storing BMC firmware and the flash memory chip BIOS_FLASH 207 for storing BIOS firmware, respectively. The DIP switch 202 is connected to the signal input pins of the external devices of the selection module 201.

[0052] Specifically, the selection module 201 is a three-input, two-output selector, meaning it includes three input channels and two output channels. The three input channels are connected to the BMC 203, PCH 204, and external programmer 205, respectively; the two output channels are connected to the BMC_FLASH 206 and BIOS_FLASH 207, respectively. The DIP switch 202 is either a four-bit or eight-bit dual-in-line package (DIP). The eight-bit DIP switch SW-DIP8 uses a DIP package for easy installation on server motherboards and features eight independent switches, each corresponding to a binary bit, enabling 256 different combinations from 00000000 to 11111111. The SW-DIP8 resembles a standard integrated circuit package, with two rows of four pins each, for a total of eight pins. Each pin corresponds to the output of a toggle switch. When the toggle switch is in the "on" or "off" state, the corresponding pin outputs a high-level or low-level signal. This external programmer 205 is a device used to write firmware update files to be programmed into a programmable FLASH memory. Its core components include a controller, a memory interface, and a communication interface. The controller manages the programming process, including data transmission, address management, and programming control. The memory interface connects to the target memory and supports various memory types and programming protocols. The communication interface is used for data exchange with terminal devices or other control devices. Common communication interfaces include USB, serial port, parallel port, and network interface. The external programmer is typically connected to an input channel of the selection module via a connector.

[0053] The selection module 201 controls the channel switching between the input channel and the output channel according to the value of the DIP switch 202, so that the external programmer 205 can program the BMC firmware or BIOS firmware.

[0054] Specifically, when the value of DIP switch 202 is "010", the third input channel SPI_IN_3 of selection module 201 is connected to the first output channel SPI_OUT_1. At this time, the external programmer 205 accesses BMC_FLASH 206 and completes the update of BMC firmware according to the firmware update file to be programmed. When the value of DIP switch 202 is "011", the third input channel SPI_IN_3 of selection module 201 is connected to the second output channel SPI_OUT_2. At this time, the external programmer 205 accesses BIOS_FLASH 207 and completes the update of BIOS firmware according to the firmware update file to be programmed.

[0055] Furthermore, the firmware offline burning device provided in this application embodiment also supports online BMC update of BIOS_FLASH. Specifically, when the value of the DIP switch 202 is "001", the first input channel SPI_IN_1 and the second output channel SPI_OUT_2 of the selection module 201 are connected. At this time, the BMC 203 accesses BIOS_FLASH 207 and updates BIOS_FLASH 207 online. It should be noted that when the firmware does not need to be updated, the value of the DIP switch 202 is "000", the first input channel SPI_IN_1 and the first output channel SPI_OUT_1 of the selection module 201 are connected, and the second input channel SPI_IN_2 and the second output channel SPI_OUT_2 are connected. At this time, the BMC 203 accesses BMC_FLASH 206, and the PCH 204 accesses BIOS_FLASH 207. This firmware offline burning device is used for normal booting of the BMC firmware and BIOS firmware.

[0056] This embodiment provides a wireless communication acquisition device, the core components of which include a selection module 201 and a DIP switch 202. This device uses the DIP switch 202 to control the channel switching relationship between the selection module 201 and different input channels connected to BMC 203, PCH 204, and external programmer 205, and between different output channels connected to BMC_FLASH 206 and BIOS_FLASH 207, respectively, enabling offline programming of BMC_FLASH 206 or BIOS_FLASH 207. Through this method, a device is provided for compact server motherboards that allows for updating BMC firmware or BIOS firmware based on the firmware update file to be programmed without placing sockets or desoldering the BMC_FLASH or BIOS_FLASH chips, thus optimizing the server motherboard's space layout and saving costs.

[0057] Figure 3 This is a schematic diagram of a second embodiment of a firmware offline burning device provided in this application, as shown below. Figure 3 As shown, based on the above embodiment, the device further includes a verification module 301, used to verify the burning results.

[0058] The verification module 301 is simulated and built into the CPLD 302. One end is connected to the third input channel SPI_IN_3 of the selection module 201. The external programmer 205 is connected to the third input channel SPI_IN_3 via a connector, preferably an SPI connector 303. The other end of the verification module 301 is connected to a powered LED 304 for verifying the firmware programming result. The selection module 201 is simulated using the complex programmable logic device CPLD 302. The external programmer 205 is connected to one input channel of the selection module 201 via the SPI connector 303. The DIP switch SW-DIP8 202 is connected to the signal input pin of the CPLD 302. In the above-mentioned BMC 203 accessing BMC_FLASH 206 and PCH 204 accessing BIOS_FLASH 207, the firmware offline burning device is used for the normal startup of BMC firmware and BIOS firmware. The value of DIP switch 202 is "000", which connects the first input channel SPI_IN_1 and the first output channel SPI_OUT_1 of the selection module 201201, and connects the second input channel SPI_IN_2 and the second output channel SPI_OUT_2. BMC 203 and CPLD 302 exchange data transmission and control signals through I2C 305.

[0059] In one specific embodiment, the firmware offline burning device further includes the aforementioned LED 304, which indicates whether the external programmer 205 has successfully burned the BMC firmware or BIOS firmware.

[0060] Specifically, when the BMC firmware or BIOS firmware needs to be updated offline, the DIP switch 202 instructs the CPLD 302 to switch the input channel of the selection module 201 to the third input channel SPI_IN_3. The external programmer 205 is then connected via the SPI connector 303. The external programmer 205 can then perform an offline update of the BMC firmware or BIOS firmware based on the firmware update file to be programmed. The programming process typically lasts from a few minutes to tens of minutes, depending on the firmware update file and the speed of the external programmer. During this process, the SPI data stream carries the data from the firmware update file, which is transmitted from the external programmer 205 to the BMC_FLASH 206 or BIOS_FLASH 207 via the SPI interface. To ensure data integrity and consistency during transmission, the verification module 301 built into the CPLD 302 performs a hash operation on the SPI data stream to monitor its status in real time.

[0061] Hash operations are a process of calculating a fixed-length hash value, also known as a digest or checksum, on transmitted data using a hash function. This hash value is one-way; that is, the original data cannot be deduced from the hash value, but the same original data will produce the same hash value using the same hash function. Commonly used hash functions in practical applications include... , wait.

[0062] Each hash function has its specific application scenarios and security features. For example, the main function of MD5 is to convert input data of arbitrary length into a fixed-length 128-bit (16-byte) hash value. Due to its poor collision resistance, it has been gradually replaced by more secure hash functions in many security applications. However, it can still be used in some non-security-critical applications, such as file verification and data integrity verification, because of its fast calculation speed and simple implementation.

[0063] SHA-256 is a hash function in the SHA-2 (Secure Hash Algorithm 2, SHA-2) family. Its main function is to convert input data of arbitrary length into a fixed-length 256-bit (32-byte) hash value. First, the input data is padded to make its length a multiple of 512 bits. Padding is done by adding a "1" bit to the end of the input data, followed by enough "0" bits to make the final message length 64 bits shorter than a multiple of 512. Finally, the length of the original input data is appended as a 64-bit integer to the end of the padded input data. Next, the SHA-256 algorithm initializes eight 32-bit registers (H0 to H7) with specific constant values ​​(the fractional part of the square root of the first eight prime numbers). The padded input data is divided into several 512-bit blocks, and each block is further divided into 16 smaller 32-bit blocks. Then, a series of complex bit operations and non-linear function operations are performed on each 512-bit block, using 64 constant values ​​(the fractional parts of the cube roots of the first 64 prime numbers) and the data of the current input data block for 64 rounds of operations, updating the values ​​of eight registers. After processing all input data blocks, the values ​​of the eight registers are concatenated to form a 256-bit hash value, which is the final SHA-256 hash value. Because it is very difficult to find another different input data with the same hash value based on known input data, or to deduce the original input data from the hash value of an input data, SHA-256 has high collision resistance, high resistance to pre-mapping, and high resistance to second pre-mapping, making it very reliable in fields such as digital signatures, certificate generation, and file integrity verification.

[0064] In one specific implementation, the verification module 301, built into the CPLD 302, performs a hash operation on the SPI data stream to monitor its status in real time. Simultaneously, the external programmer or the firmware update file to be programmed also provides one or more expected hash values, which are calculated using the same hash function when the firmware update file is generated. During the programming process, the verification module 301 compares the real-time calculated hash value with the expected hash value. If the real-time calculated hash value matches the expected hash value, it indicates that the SPI data stream has maintained integrity and consistency during transmission, and the firmware update file has been successfully programmed into BMC_FLASH 206 or BIOS_FLASH 207. At this point, LED 304 on the server motherboard 300 is illuminated as an indication. If the real-time calculated hash value does not match the expected hash value, LED 304 remains off, indicating an anomaly in the SPI data stream transmission, and the firmware update fails.

[0065] This embodiment provides an offline firmware update device, which also includes a verification module 301 for verifying the firmware burning result. This module monitors the SPI data stream in real time during the burning process. It compares the hash value of the transmitted SPI data stream with the hash value of the firmware update file to be burned. If they match, it indicates that the firmware update file has been successfully burned into BMC_FLASH 206 or BIOS_FLASH 207, and simultaneously, LED 304 on the server motherboard 300 illuminates to indicate that the BMC firmware or BIOS firmware update is complete. If they do not match, LED 304 remains off, indicating a burning error and firmware update failure. Through this method, the CPLD can effectively monitor and verify data integrity during the firmware update process, ensuring that the BMC firmware or BIOS firmware update is reliable and accurate. This method not only improves system security but also reduces the risk of firmware update failure due to data transmission errors.

[0066] One end of the external programmer connects to the terminal device via USB, and the other end connects to the CPLD 302 on the server motherboard 300. The programmer control software on the terminal device loads the firmware update file to be programmed, selects the correct target device and interface settings, and begins programming. The external programmer 205 then transfers the firmware update file from the terminal device to BMC_FLASH 206 or BIOS_FLASH 207, completing the BMC firmware or BIOS firmware update.

[0067] The external programming devices mentioned above are all exemplary in the figures and are not the only ones. This application does not make any specific limitations on the specific form and type of the specific devices involved.

[0068] Other embodiments of this application will readily conceive of upon consideration of the specification. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0069] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. A firmware offline burning device, characterized in that, include: The selection module and DIP switch are included, wherein the selection module is simulated by a complex programmable logic device (CPLD). The input channels of the selection module are connected to the Baseboard Management Controller (BMC), the Platform Controller Hub (PCH), and the external programmer, respectively. The output channels of the selection module are connected to the BMC_FLASH and the BIOS_FLASH, respectively. The selection module controls the channel switching between the input channel and the output channel according to the value of the DIP switch, so as to perform online updates to the BIOS_FLASH, or to enable an external programmer to program the BMC firmware, or to enable an external programmer to program the BIOS firmware.

2. The firmware offline flashing device according to claim 1, characterized in that, The selection module is a three-input, two-output selector; The selector's three input channels are connected to the BMC, the PCH, and the external programmer, respectively, and the selector's two output channels are connected to the BMC_FLASH and BIOS_FLASH, respectively.

3. The firmware offline flashing device according to claim 1, characterized in that, One input channel of the selection module is connected to the external programmer via a connector.

4. The firmware offline burning device according to claim 1, characterized in that, The CPLD also includes a verification module for verifying the programming results.

5. The firmware offline burning device according to claim 1, characterized in that, The DIP switch is connected to the signal input pin of the CPLD.

6. The firmware offline burning device according to claim 3, characterized in that, The connector is an SPI connector.

7. The firmware offline burning device according to claim 1 or 5, characterized in that, The DIP switch is a four-position dual-in-line DIP switch or an eight-position dual-in-line DIP switch.

8. The firmware offline flashing device according to claim 1, characterized in that, Also includes: The external programmer is used to program the BMC firmware or BIOS firmware according to the firmware update file to be programmed.

9. A firmware offline burning system, characterized in that, include: The terminal device and the firmware offline burning device according to any one of claims 1 to 8.