Method for remotely programming chip program based on Ethernet

By dividing the boot and application projects of the dual-core DSP chip and implementing an encryption verification mechanism, remote Ethernet programming is achieved, solving the reliability and flexibility issues in existing technologies, improving the upgrade efficiency and security of the DSP chip, and making it suitable for remote operation and maintenance of industrial IoT devices.

CN121433701APending Publication Date: 2026-01-30东方电气风电股份有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511608932.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-05
Publication Date
2026-01-30

AI Technical Summary

Technical Problem

Existing Ethernet-based chip programming solutions suffer from insufficient reliability, poor protocol compatibility, and traditional methods cannot meet the flexible deployment needs of industrial sites. In particular, the lack of native Ethernet support in DSP chips leads to low firmware update efficiency and security risks.

Method used

It adopts a dual-core DSP chip structure, divides the program into a boot project and an app project, remotely programs via Ethernet, introduces encrypted transmission and integrity verification mechanisms, and combines a dual-core collaborative mechanism to achieve synchronous programming, and has status judgment and automatic rollback functions.

Benefits of technology

It significantly improves the reliability and efficiency of chip upgrades, reduces on-site maintenance costs, is suitable for harsh industrial environments, supports batch push of encrypted firmware, and ensures stable equipment operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121433701A_ABST
    Figure CN121433701A_ABST
Patent Text Reader

Abstract

The invention discloses a method for remotely programming a chip program based on Ethernet, which comprises the following steps of: dividing a DSP (Digital Signal Processor) program into a boot project and an app project, distributing an independent FLASH area through a CMD file and configuring different initial addresses; during primary programming, a boot project and an app project are written in at the same time through an emulator, and then the app project is remotely updated; the developer uses the CCS to package the program to be upgraded into a bin file, and the bin file is converted into an encrypted binary file through an encryption algorithm; the upper computer initiates an upgrade request and sends an encrypted file to a device cache, an app project completes request monitoring, judges the state of the device, then skips to a boot program entry and resets a flag bit; the boot program receives the file, the integrity is verified after decryption, an error is fed back if the verification fails, and dual-core collaborative programming is executed according to the file type if the verification succeeds: the CPU 1 program is directly written into the corresponding FLASH area; the CPU 2 program transmits data through the shared memory, and transfers the FLASH control authority to the CPU 2 to complete writing; and if upgrading succeeds, skipping to an app entry to run the updated program.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of embedded development technology, and in particular relates to a method for remotely programming chips via Ethernet. Background Technology

[0002] DSP chips in converter controllers typically employ traditional programming methods, such as JTAG emulators or serial communication, requiring manual on-site operation, which is inefficient and poses security risks. With the increasing intelligence of industrial equipment, remote firmware updates have become essential. However, most DSP chips lack native Ethernet support, requiring reliance on external network modules or custom hardware interfaces, increasing system complexity and development difficulty.

[0003] Existing Ethernet-based programming solutions suffer from insufficient reliability and poor protocol compatibility. For example, network transmission may be susceptible to data errors due to interference, and DSP Flash programming processes typically lack automatic verification mechanisms, making firmware corruption easy. Furthermore, traditional methods rely on hardware jumpers or manual mode switching, which cannot meet the flexible deployment requirements of industrial environments.

[0004] To address the aforementioned issues, this application proposes an optimized method for programming the TI28379 chip via Ethernet. By improving the network protocol stack, introducing a verification mechanism, and implementing Flash control access management, reliable remote updates of the DSP firmware are achieved. This technology can significantly improve the maintenance efficiency of converter controllers, reduce downtime, and is suitable for high-reliability applications such as new energy power generation and industrial drives. Summary of the Invention

[0005] The purpose of this application is to overcome the problems of insufficient reliability and poor protocol compatibility in existing Ethernet-based programming schemes, and to disclose a method for remotely programming chips via Ethernet.

[0006] The objective of this application is achieved through the following technical solution: A method for remotely programming a chip via Ethernet, wherein the chip has a dual-core structure, the method comprising: The DSP program is divided into a boot project and an app project, and independent FLASH regions are allocated and different starting addresses are configured through CMD files. During the initial programming, the boot project and app project are written simultaneously via an emulator. Subsequent updates to the app project are performed remotely. Developers use CCS to package the program to be upgraded into a bin file, convert it into an encrypted binary file using an encryption algorithm, and attach program metadata; The host computer initiates an upgrade request and sends an encrypted file to the device cache. The app project listens for the request, determines the device status, and then jumps to the boot program entry point and resets the flag. The boot program receives the file, decrypts it, and verifies its integrity. If it fails, it reports an error; if it succeeds, it performs dual-core collaborative burning based on the file type: CPU1 program directly writes to the corresponding FLASH area; CPU2 program transfers data through shared memory and transfers FLASH control to CPU2 to complete the writing. If the upgrade is successful, the user will be redirected to the app entry point to run the updated program; if it fails, the user will automatically roll back to the old version and finally report the status to the host computer via Ethernet.

[0007] According to a preferred embodiment, the boot project's CMD file is configured to allocate the FLASH-A and FLASH-B regions, while the app project allocates all remaining FLASH.

[0008] According to a preferred embodiment, the boot project is responsible for the upgrade logic, including: receiving the upgrade program file, completing program integrity verification, and completing the rollback operation after upgrade failure; the app project is used to implement business functions.

[0009] According to a preferred embodiment, the program metadata includes: a version number and a checksum.

[0010] According to a preferred embodiment, the app project listens for user upgrade requests through W5300 hardware and proprietary protocols; Upon receiving a user's remote upgrade request, the system determines whether the upgrade conditions are met based on the current device status. If the device is running, it will be stopped first. Once the upgrade conditions are met, the program will jump to the boot program entry address and reset the upgrade request flag.

[0011] According to a preferred embodiment, after the boot program starts, it starts a TCP / IP service, receives a remote upgrade file from the host computer, decrypts the binary program to be upgraded, and verifies the integrity of the binary program.

[0012] According to a preferred embodiment, the chip is a TI28379 chip and has a dual-core shared memory mechanism.

[0013] According to a preferred embodiment, if the boot program fails to verify the binary program, it will send back upgrade failure information via Ethernet; if the verification is successful, it will perform dual-core information judgment. If the result is a CPU1 program upgrade, the original program is read from the FLASH area of ​​CPU1 and cached, and the program to be upgraded is written to the FLASH area of ​​CPU1. If the upgrade is a CPU2 program upgrade, the control of the FLASH peripheral is transferred to CPU2, and the program to be upgraded is transferred to the CPU2 cache through the dual-core shared memory mechanism. The original program is read from the FLASH area of ​​CPU2 and cached, and the program to be upgraded is written to the FLASH area of ​​CPU2.

[0014] According to a preferred implementation, when the upgrade process is successfully completed, the program jumps to the app program entry address, the new program completes the upgrade, and the new program is put into operation; if the program upgrade encounters an error, the backup original program is used to perform the app program rollback operation, and after the rollback is completed, the program jumps to the app program entry address. Furthermore, information regarding program verification failure, program upgrade failure, and program upgrade success is remotely fed back to the host computer via Ethernet, allowing users to obtain the upgraded status.

[0015] According to a preferred embodiment, the Ethernet uses a proprietary TCP / IP application layer protocol based on W5300.

[0016] The aforementioned main solution and its various further alternative solutions can be freely combined to form multiple solutions, all of which are solutions that can be adopted and are claimed in this application. Those skilled in the art, after understanding the solution of this application, will realize that there are many combinations based on the prior art and common general knowledge, all of which are technical solutions to be protected in this application, and will not be exhaustively listed here.

[0017] The beneficial effects of this application are: First, by dividing the DSP program into a dual-project architecture of boot project and app project, the business logic and upgrade function are decoupled. The boot project is dedicated to handling the remote upgrade process (including file reception, verification, rollback, etc.), while the app project focuses on the operation of business functions. This design ensures the reliability of the upgrade process and avoids business interruption.

[0018] Secondly, the use of encrypted transmission and integrity verification mechanisms (such as hash verification or CRC verification) effectively prevents the risk of data tampering or loss during network transmission. At the same time, the dual-core collaborative mechanism (shared memory + dynamic switching of FLASH permissions) solves the problem of synchronous programming of the TI28379 dual-core DSP, significantly improving the upgrade efficiency of multi-core chips.

[0019] In addition, the system has status judgment capabilities, which can detect the operating status of the equipment and remind it to shut down safely to avoid hardware damage caused by hot flashing; if the upgrade fails, it will automatically roll back to the old version of the program to ensure that the equipment is always in a working state, which greatly reduces the downtime risk of on-site maintenance.

[0020] Compared to the traditional JTAG programming method, this application enables remote operation via Ethernet, which is especially suitable for industrial scenarios such as wind power converters that are deployed in harsh or dispersed environments. It can reduce on-site maintenance costs by more than 90% and also supports batch push of encrypted firmware, providing a standardized solution for remote operation and maintenance of industrial IoT devices. Attached Figure Description

[0021] Figure 1 This is the control logic diagram of the method for remotely programming chips via Ethernet, as described in this application. Detailed Implementation

[0022] The following specific examples illustrate the implementation of this application. Those skilled in the art can easily understand other advantages and effects of this application from the content disclosed in this specification. This application can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this application. It should be noted that, unless otherwise specified, the following embodiments and features can be combined with each other. It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.

[0023] In the description of this application, it should also be noted that, unless otherwise expressly specified and limited, the terms "set up," "install," "connect," and "link" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.

[0024] Furthermore, it should be noted that unless otherwise specified in this application, the specific structures, connections, positions, power sources, etc. involved are all things that a person skilled in the art can know without creative effort based on the prior art.

[0025] Example Combination Figure 1 This application will be further described. This application discloses a method for remotely programming a chip via Ethernet, specifically including the following method.

[0026] The DSP program based on the 28379 chip is divided into two projects: the boot project and the app project. The boot project's CMD file configures the allocation of the FLASH-A and FLASH-B regions, while the app project allocates all the remaining FLASH memory. The two projects are configured with different starting addresses. The app project contains the user-implemented functionality, i.e., the business logic; the boot project is responsible for receiving upgrade program files, performing program integrity verification, and handling rollback operations in case of upgrade failure. Initial program flashing requires flashing both the boot and app programs using a simulator; subsequent remote upgrades only require remotely upgrading the app project. The developer compiles the program to be upgraded into an out file using CCS. The out file is then packaged into a bin file using hex2000.exe and mkhex4bin.exe tools, and converted into an encrypted binary file using an encryption algorithm, with the program length information, core information, etc. appended.

[0027] The user clicks the upgrade button on the host computer to send a program upgrade request and caches the binary file to be upgraded. The application program on the 28379 chip listens for the user's upgrade request through the W5300 hardware and proprietary protocol. After receiving the user's remote upgrade request, it determines whether the upgrade conditions are met based on the current device status. If the device is running, it requires the device to be stopped first. After specifying the upgrade conditions, the program jumps to the boot program entry address and resets the upgrade request flag.

[0028] After the boot program starts, it initiates a TCP / IP service to receive remote upgrade files from the host computer. It decrypts the binary program to be upgraded and verifies its integrity. If verification fails, it sends an upgrade failure message over Ethernet; if verification succeeds, it performs a dual-core information check.

[0029] If the result is a CPU1 program upgrade, the original program is read from the FLASH area of ​​CPU1 and cached, and the program to be upgraded is written to the FLASH area of ​​CPU1. If the upgrade is a CPU2 program upgrade, the control of the FLASH peripheral is transferred to CPU2, and the program to be upgraded is transferred to the CPU2 cache through the dual-core shared memory mechanism. The original program is read from the FLASH area of ​​CPU2 and cached, and the program to be upgraded is written to the FLASH area of ​​CPU2.

[0030] If the upgrade process is successful, the program will redirect to the app's entry point, the new app will be upgraded, and the new app will be running. If the upgrade encounters an error, the backup of the original app will be used to perform a rollback operation. After the rollback is complete, the program will redirect to the app's entry point.

[0031] Information such as program verification failure, program upgrade failure, and program upgrade success is remotely fed back to the host computer via Ethernet, allowing the user to obtain the status after the upgrade.

[0032] The Ethernet-based remote programming method for the TI28379 chip proposed in this application has the following significant advantages: First, by dividing the DSP program into a dual-project architecture of boot project and app project, the business logic and upgrade function are decoupled. The boot project is dedicated to handling the remote upgrade process (including file reception, verification, rollback, etc.), while the app project focuses on the operation of business functions. This design ensures the reliability of the upgrade process and avoids business interruption.

[0033] Secondly, the use of encrypted transmission and integrity verification mechanisms (such as hash verification or CRC verification) effectively prevents the risk of data tampering or loss during network transmission. At the same time, the dual-core collaborative mechanism (shared memory + dynamic switching of FLASH permissions) solves the problem of synchronous programming of the TI28379 dual-core DSP, significantly improving the upgrade efficiency of multi-core chips.

[0034] In addition, the system has status judgment capabilities, which can detect the operating status of the equipment and remind it to shut down safely to avoid hardware damage caused by hot flashing; if the upgrade fails, it will automatically roll back to the old version of the program to ensure that the equipment is always in a working state, which greatly reduces the downtime risk of on-site maintenance.

[0035] Compared to the traditional JTAG programming method, this application enables remote operation via Ethernet, which is especially suitable for industrial scenarios such as wind power converters that are deployed in harsh or dispersed environments. It can reduce on-site maintenance costs by more than 90% and also supports batch push of encrypted firmware, providing a standardized solution for remote operation and maintenance of industrial IoT devices.

[0036] Through the above description of the embodiments, those skilled in the art can clearly understand that the present invention can be implemented by means of software plus necessary general-purpose hardware, and of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product is stored in a readable storage medium, such as a computer floppy disk, hard disk, or optical disk, and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0037] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

[0038] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for programming a chip remotely based on Ethernet, characterized in that, The chip has a dual-core structure, and the method for remotely programming the chip based on Ethernet comprises the following steps: Divide the DSP program into a boot project and an app project, allocate independent FLASH regions through a CMD file, and configure different starting addresses; Write the boot project and the app project through a simulator at the first programming, and remotely update the app project subsequently; The developer uses CCS to pack the program to be upgraded into a bin file, converts it into an encrypted binary file through an encryption algorithm, and adds program metadata; The host computer initiates an upgrade request and sends the encrypted file to the device cache, the app project completes the request listening, judges the device state, then jumps to the boot program entry and resets the flag bit; The boot program receives the file, decrypts it, checks the integrity, feeds back an error if the check fails, and performs dual-core cooperative programming according to the file type if the check succeeds: the CPU1 program is directly written into the corresponding FLASH region; the CPU2 program transmits data through shared memory and transfers the FLASH control authority to CPU2 to complete the writing; If the upgrade is successful, jump to the app entry to run the updated program; if the upgrade fails, automatically roll back to the old version, and finally feed back the state to the host computer through Ethernet.

2. The method for Ethernet-based remote programming of chips as claimed in claim 1, wherein, The CMD file of the boot project is configured to allocate the FLASH-A and FLASH-B regions, and the app project allocates all the remaining FLASH.

3. The method for programming chip remotely based on Ethernet of claim 2, wherein, The boot project is used to be responsible for the upgrade logic, including receiving the upgrade program file, completing the program integrity check, and completing the rollback operation after the upgrade fails; the app project is used to implement the business function.

4. The method for programming a chip over Ethernet as claimed in claim 1, wherein, The program metadata includes the version number and the check code.

5. The method for Ethernet-based remote programming of chips as claimed in claim 1, wherein, The app project listens to the user upgrade request through the w5300 hardware and a private protocol; After receiving the user remote upgrade request, it judges whether the upgrade condition is met according to the current device state, stops the device first if it is running, jumps to the boot program entry address after the upgrade condition is met, and resets the upgrade request flag bit.

6. The method for programming a chip over Ethernet as claimed in claim 5, wherein, The boot program starts the TCP / IP service after starting, receives the remote upgrade file from the host computer, decrypts the binary program to be upgraded, and checks the integrity of the binary program.

7. The method for programming a chip over Ethernet as claimed in claim 6, wherein, The chip is a TI28379 chip and has a dual-core shared memory mechanism.

8. The method for programming a chip over Ethernet as claimed in claim 7, wherein, The boot program feeds back the upgrade failure information through Ethernet if the binary program check fails, and performs dual-core information judgment if the check is successful; If the judgment result is the CPU1 program, read the original program from the FLASH region of CPU1 and cache it, and write the program to be upgraded to the FLASH region of CPU1; If it is the CPU2 program upgrade, transfer the FLASH device control authority to CPU2, and transmit the program to be upgraded to CPU2 through the dual-core shared memory mechanism, read the original program from the FLASH region of CPU2 and cache it, and write the program to be upgraded to the FLASH region of CPU2.

9. The method for remotely programming a chip over Ethernet as claimed in claim 8, wherein, When the upgrading process is successfully completed, the program jumps to the app program entry address, the new program completes the upgrading, and the new program is put into operation; if the program upgrading appears an exception, a rollback operation of the app program is executed using the backup original program, and after the rollback is completed, the program jumps to the app program entry address; The information of the program verification failure, the program upgrading failure and the program upgrading success is remotely fed back to the upper computer through the Ethernet, so that a user obtains a state after upgrading.

10. The method for Ethernet-based remote programming of chips as claimed in claim 1, wherein, The Ethernet uses a TCP / IP application layer private protocol based on W5300.