Firmware update method for complex programmable logic devices
By establishing specific pin and bus connections between the CPLD and the baseboard management controller, and using update commands to automate CPLD firmware updates, the problems of universality and convenience of existing tools are solved, the hardware structure is simplified, and system restarts are avoided.
Patent Information
- Application Number
- CN201811110580.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2018-09-21
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2038-09-21
AI Technical Summary
Existing CPLD firmware update tools are insufficient in terms of universality and convenience. In particular, they cannot work properly when the integrated circuit bus settings are mismatched, and the lack of an interrupt enable pin complicates the hardware structure.
By electrically connecting the general-purpose input/output pins and integrated circuit bus of the baseboard management controller to the non-interruptible enable pins and integrated circuit bus of the CPLD, the firmware update process is realized by inputting update commands using the local operating system. This includes clearing the old firmware, formatting, and burning the new firmware, ensuring the universality and convenience of the update process.
It improves the universality and convenience of CPLD firmware updates, avoids system shutdown and baseboard management controller restart, and simplifies the hardware structure.
Smart Images

Figure CN109189435B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a firmware update method, and more particularly to a firmware update method for a complex programmable logic device of a server. Background Technology
[0002] During server research, development, testing, and maintenance, it is often necessary to update Complex Programmable Logic Devices (CPLDs). The offline update tool (Diamond Programmer) provided by Lattice requires the support of a hardware JTAG connector, so its versatility is not good. Therefore, some researchers have developed a software tool (fcpld_v1.0) that can update the firmware version running inside the CPLD to get rid of the hardware constraints.
[0003] However, the CPLD update software uses fixed settings for the integrated circuit bus. If the settings of the integrated circuit bus used by the Baseboard Management Controller (BMC) to connect to the CPLD differ from those in the update software, the update software cannot perform the function of writing the CPLD via the BMC's integrated circuit bus. Instead, the settings for the integrated circuit bus in the update software program must be modified. Therefore, this type of CPLD update tool with pre-fixed integrated circuit bus settings lacks versatility. On the other hand, currently, enabling the CPLD's interruptless enable pin involves inserting a jumper cap, but this method increases hardware complexity.
[0004] In view of this, there is indeed a need for an improved CPLD firmware update method that can at least solve the above-mentioned shortcomings. Summary of the Invention
[0005] In view of the above, according to an embodiment of the present invention, a firmware update method for complex programmable logic devices is provided. When performing firmware updates, there is no hardware constraint and no need to consider the integrated circuit bus settings of the board management controller, which greatly improves the universality and convenience on different motherboards.
[0006] According to an embodiment of the present invention, a firmware update method for a complex programmable logic device (CPL) is provided, comprising: electrically connecting a general-purpose input / output pin of a baseboard management controller (BMC) to a non-interrupt enable pin of the CPL; electrically connecting a first integrated circuit bus of the BMC to a second integrated circuit bus of the CPL; inputting and transmitting an update instruction to the BMC via a local operating system; enabling the non-interrupt enable pin according to the update instruction; clearing the first firmware of the CPL according to the update instruction; and writing a second firmware to the CPL according to the update instruction.
[0007] According to an embodiment of the present invention, a firmware update method for a complex programmable logic device includes update instructions containing general input / output pin parameters, integrated circuit bus parameters, and update file addresses.
[0008] According to an embodiment of the present invention, a firmware update method for a complex programmable logic device is provided, wherein a baseboard management controller enables an interrupt-free enable pin based on general-purpose input / output pin parameters.
[0009] According to an embodiment of the present invention, a firmware update method for a complex programmable logic device is provided, wherein a substrate management controller clears the first firmware based on integrated circuit bus parameters.
[0010] According to an embodiment of the present invention, the firmware update method for a complex programmable logic device further includes formatting the complex programmable logic device according to integrated circuit bus parameters before the second firmware is burned to the complex programmable logic device and after the first firmware is cleared.
[0011] According to an embodiment of the present invention, a firmware update method for a complex programmable logic device further includes, before the second firmware is burned to the complex programmable logic device and after the first firmware is cleared, the substrate management controller downloads the second firmware from memory according to the update file address.
[0012] According to an embodiment of the present invention, a firmware update method for a complex programmable logic device is provided, wherein a substrate management controller records a second firmware onto the complex programmable logic device based on integrated circuit bus parameters.
[0013] According to an embodiment of the present invention, a firmware update method for a complex programmable logic device further includes, after burning the second firmware to the complex programmable logic device, verifying whether the version of the second firmware is the latest version through a verification program; if the second firmware is the latest version, maintaining the second firmware in the programmable logic component; if the second firmware is not the latest version, clearing the second firmware and returning to the program that inputs the update instruction.
[0014] According to an embodiment of the present invention, a firmware update method for a complex programmable logic device (CPLD) involves sending a file address to a board management controller (BMDC). The BMDC then enables an uninterruptible enable pin and writes a new firmware file to the CPLD based on general-purpose input / output pin parameters. Since the user inputs the integrated circuit bus parameters when a firmware update is needed, unlike previous firmware update programs where the integrated circuit bus parameters were fixed values, this improves the universality and convenience of firmware updates across different motherboards. Furthermore, it ensures that firmware updates do not cause system shutdown or BMDC restarts.
[0015] The foregoing description of the disclosure and the following description of the embodiments are intended to demonstrate and explain the spirit and principles of the present invention, and to provide a further explanation of the scope of the patent application of the present invention. Attached Figure Description
[0016] Figure 1 This is an architectural diagram of a hardware device within a server according to an embodiment of the present invention.
[0017] Figure 2 This is a flowchart illustrating a firmware update method for a complex programmable logic device according to a first embodiment of the present invention.
[0018] Figure 3 This is a flowchart illustrating a firmware update method for a complex programmable logic device according to a second embodiment of the present invention.
[0019] Component designation explanation
[0020] 1 server
[0021] 10 Motherboard
[0022] 12. Baseboard Management Controller
[0023] 122 General Purpose Input / Output Pins
[0024] 124 First Integrated Circuit Bus
[0025] 126 control pins
[0026] 128 input pins
[0027] 14 Complex Programmable Logic Devices
[0028] 142 interruptless enable pin
[0029] 144 Second Integrated Circuit Bus
[0030] 16 Memory
[0031] 2. Local Operating System
[0032] S update command Detailed Implementation
[0033] The following detailed description of the features and advantages of the present invention in the embodiments is sufficient to enable anyone skilled in the art to understand the technical content of the present invention and implement it accordingly. Based on the disclosure, patent claims, and drawings in this specification, anyone skilled in the art can easily understand the related objectives and advantages of the present invention. The following embodiments further illustrate the points of the present invention in detail, but are not intended to limit the scope of the present invention in any way.
[0034] Please refer to Figure 1 , Figure 1 This is a hardware device architecture diagram of a server drawn according to an embodiment of the present invention. Figure 1 As shown, server 1 may include a motherboard 10, a baseboard management controller 12, a complex programmable logic device (CPLD) 14, and a memory 16. The baseboard management controller 12, the CPLD 14, and the memory 16 are electrically connected to the motherboard 10. The baseboard management controller 12 has a general purpose input / output (GPIO) pin 122, a first integrated circuit bus 124, a control pin 126, and an input pin 128. The CPLD 14 has a hitless enable pin 142 and a second integrated circuit bus 144. The GPIO pin 122 of the baseboard management controller 12 is electrically connected to the hitless enable pin 142 of the CPLD 14, the first integrated circuit bus 124 of the baseboard management controller 12 is electrically connected to the second integrated circuit bus 144 of the CPLD 14, and the control pin 126 of the baseboard management controller 12 is electrically connected to the memory 16. The user can input and transmit update commands S to the input pin 128 of the board management controller 12 via the local operating system 2. The update command S input by the user can include general-purpose input / output pin parameters, integrated circuit bus parameters, and update file address. In this way, the board management controller 12 can first clear the old version of the firmware file of the complex programmable logic device 14 according to the content of the update command S, and then burn the firmware file stored in the memory 16 to the complex programmable logic device 14.
[0035] Figure 2 This is a firmware update method for a complex programmable logic device based on the first embodiment of the present invention. (See also:) Figure 1 and Figure 2In step S201, the general-purpose input / output pin 122 of the baseboard management controller 12 is electrically connected to the uninterruptible enable pin 142 of the complex programmable logic device 14. In step S202, the first integrated circuit bus 124 of the baseboard management controller 12 is electrically connected to the second integrated circuit bus 144 of the complex programmable logic device 14. In other embodiments, the order of steps S201 and S202 can be interchanged, or they can be executed simultaneously. In step S203, when the user needs to update the firmware of the complex programmable logic device 14, an update command S can be input and transmitted to the input pin 128 of the baseboard management controller 12 through the local operating system 2. The update command S input by the user may include general-purpose input / output pin parameters, integrated circuit bus parameters, and update file address. In step S204, the baseboard management controller 12 enables the uninterruptible enable pin 142 of the complex programmable logic device 14 according to the general-purpose input / output pin parameters in the input update command S. In step S205, the baseboard management controller 12 clears the first firmware stored in the complex programmable logic device 14 according to the integrated circuit bus parameters in the input update instruction S. In step S206, the baseboard management controller 12 formats the complex programmable logic device 14 according to the integrated circuit bus parameters in the input update instruction S. In step S207, the baseboard management controller 12 downloads a second firmware from a storage location in the memory 16 according to the update file address in the input update instruction S. In step S208, the baseboard management controller 12 writes the second firmware downloaded from the memory 16 to the complex programmable logic device 14 according to the integrated circuit bus parameters in the input update instruction S.
[0036] Figure 3 This is a firmware update method for a complex programmable logic device according to the second embodiment of the present invention. Figure 3 The content of steps S301 to S308 in the embodiment is the same as Figure 2The steps S201 to S208 of the embodiment are the same, the difference being that the third embodiment also includes steps S309 to S311. In step S309, after the baseboard management controller 12 writes the second firmware to the complex programmable logic device 14 according to the update instruction S, a verification program can further verify whether the version of the second firmware written to the programmable logic device 14 is the latest firmware file. If the version of the second firmware is verified to be the latest firmware file, then step S310 is executed; if the version of the second firmware is verified to be not the latest firmware file, then step S311 is executed. In step S310, the second firmware in the programmable logic device 14 is maintained. In step S311, the baseboard management controller 12 clears the second firmware of the programmable logic device 14, and then returns to step S303. After returning to step S303, when the update file address in the new update instruction input by the user indicates that the second firmware downloaded by the baseboard management controller 12 from another new storage location in the memory 16 is the latest version, then the execution of steps S309 to S311 is stopped.
[0037] According to an embodiment of the present invention, a firmware update method for complex programmable logic devices (CPLDs) is provided. When a user inputs and transmits general-purpose input / output pin parameters, integrated circuit bus parameters, and an update file address to the board management controller via the local operating system, the board management controller enables the non-interruptible enable pin and writes the new firmware file to the CPLD based on the general-purpose input / output pin parameters. Since the user inputs the integrated circuit bus parameters when a firmware update is needed, unlike previous firmware update programs where the integrated circuit bus parameters were fixed values, this improves the universality and convenience of firmware updates on different motherboards. Furthermore, it ensures that firmware updates do not cause system shutdown or board management controller restarts.
[0038] While the present invention has been disclosed above with reference to the foregoing embodiments, it is not intended to limit the invention. Any modifications and refinements made without departing from the spirit and scope of the invention are within the scope of patent protection of the present invention. For details regarding the scope of protection defined in the present invention, please refer to the appended claims.
Claims
1. A firmware update method for a complex programmable logic component, characterized in that, include: A general-purpose input / output pin of a baseboard management controller is electrically connected to a non-interrupt enable pin of a complex programmable logic component; A first integrated circuit bus of the substrate management controller is electrically connected to a second integrated circuit bus of the complex programmable logic component; An update command is input and transmitted to the baseboard management controller via a local operating system; wherein the update command includes a general-purpose input / output pin parameter, an integrated circuit bus parameter, and an update file address; The baseboard management controller enables the uninterruptible enable pin according to the update instruction; wherein the baseboard management controller enables the uninterruptible enable pin according to the general-purpose input / output pin parameters; The baseboard management controller clears a first firmware of the complex programmable logic component according to the update instruction; and The baseboard management controller records a second firmware to the complex programmable logic component according to the update instruction; After the user inputs and transmits general-purpose input / output pin parameters, integrated circuit bus parameters, and update file addresses to the baseboard management controller via the local operating system, the baseboard management controller enables the non-interruptible enable pins and writes new firmware files to the complex programmable logic component according to the general-purpose input / output pin parameters.
2. The firmware update method for complex programmable logic components as described in claim 1, characterized in that, The baseboard management controller clears the first firmware according to the integrated circuit bus parameters.
3. The firmware update method for complex programmable logic components as described in claim 1, characterized in that, The method also includes formatting the complex programmable logic component according to the integrated circuit bus parameters before burning the second firmware to the complex programmable logic component and after clearing the first firmware.
4. The firmware update method for a complex programmable logic component as described in claim 1, characterized in that, The method also includes downloading the second firmware from a memory based on the update file address before burning the second firmware to the complex programmable logic component and after clearing the first firmware.
5. The firmware update method for a complex programmable logic component as described in claim 1, characterized in that, The substrate management controller records the second firmware to the complex programmable logic component according to the integrated circuit bus parameters.
6. The firmware update method for a complex programmable logic component as described in claim 1, characterized in that, It also includes verifying, after burning the second firmware to the complex programmable logic component, whether the version of the second firmware is the latest version through a verification program. If the second firmware is the latest version, the second firmware in the programmable logic component is maintained; if the second firmware is not the latest version, the second firmware is cleared and the program that inputs the update command is returned.
Citation Information
Patent Citations
System for data acquisition and signal treatment of testing flat wheel
CN101206162A
Signal conversion device and method as well as communication equipment
CN101989244A
Method and system for conducting dynamic upgrading on chip, and substrate management controller
CN102308281A
Server and firmware updating method thereof
CN103809990A
Server capable of directly updating setting by using substrate management controller
CN104331300A