FT6678 core board multi-core DSP online upgrading method

By using Nor Flash storage medium and SPI startup mode in FT6678 multi-core DSP, combined with the online upgrade instructions and upgrade program bin files issued by the network, the upgrade failure problems caused by slow startup of the multi-core DSP online upgrade method and equipment power failure in the existing technology are solved, and fast and reliable multi-core DSP online updates are achieved.

CN119690474APending Publication Date: 2025-03-25CHINA ORDNANCE EQUIP GRP AUTOMATION RES INST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411589215.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-08
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

The existing FT6678 multi-core DSP online upgrade method is slow to start, the upgrade process is cumbersome, and it cannot solve the problem of upgrade failure caused by device power failure.

Method used

Nor Flash is used as the program storage medium, and the startup mode of multi-core DSP is set to SPI startup through hardware pin configuration, and the Nor Flash storage medium is divided into boot blocks, update blocks, application blocks and mark verification blocks. Online upgrade instructions are issued through the network, and the upgrade program bin file is received and written, and the MD5 verification value is calculated to confirm that the upgrade is successful.

Benefits of technology

It has achieved rapid completion of online multi-core DSP updates, solved the problem of upgrade failure caused by power loss during online upgrades, and reduced the risk of dismantling equipment. The entire upgrade process can be completed through the network without relying on emulators.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119690474A_ABST
    Figure CN119690474A_ABST
Patent Text Reader

Abstract

The invention discloses an FT6678 core board multi-core DSP (Digital Signal Processor) online upgrading method, which relates to the technical field of electronics, and is characterized in that eight core programs generate a bin file, and the eight core programs are updated by updating one bin file. The method is simple and practical, online program updating of the multi-core DSP can be rapidly completed, and the problem that in the online updating process, equipment power failure occurs, and equipment programs cannot run normally, and the equipment dismounting risk is caused is solved. The whole upgrading process can be completed through a network without depending on an emulator.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of electronic technology, and in particular to a simple and reliable online upgrade method for a multi-core DSP of an FT6678 core board. Background Art

[0002] The FT6678 core board is based on an 8-core DSP processor. The board is 100% designed with domestic chips. The quality levels of the boards are divided into domestic grade I and domestic grade J. It has powerful computing capabilities and is suitable for high-speed real-time signal processing fields such as radar, communication, image, and electronic countermeasures. There are 8 C66x cores (hereinafter represented by 0 to 7 cores) in the FT6678 core board. Each core has an independent computing unit, 12kB internal L2SRAM, multiple cores share 4kB RAM, and off-chip DDR3 memory.

[0003] The existing online upgrade method for FT6678 multi-core DSP stores the code and data of each core in different locations, and updates the code and data of the corresponding location during online upgrade. However, this method starts slowly, the upgrade process is cumbersome, and each core needs to be upgraded accordingly. At the same time, the existing technology cannot solve the practical problems such as power failure of the device during the upgrade process, resulting in upgrade failure and the device becoming a "brick". Summary of the invention

[0004] In view of the above problems, the present invention provides an FT6678 core board multi-core DSP online upgrade method for overcoming the above problems or at least partially solving the above problems.

[0005] The present invention provides the following scheme:

[0006] An online upgrade method for a multi-core DSP of an FT6678 core board, comprising:

[0007] Adopt Nor Flash as program storage medium, set the boot mode of FT6678 core board multi-core DSP to SPI boot through hardware pin configuration, and divide Nor Flash storage medium into boot program segment, update program segment, application program segment and mark check segment;

[0008] After determining that the boot program is running, a Nor Flash mark check segment mark bit is obtained;

[0009] If the flag is valid, the application is obtained;

[0010] If it is determined that the mark bit is invalid, an online upgrade instruction sent through the network is received to the DSP device, and the application segment space is erased;

[0011] Receiving an upgrade program bin file sent through a network, wherein the upgrade program bin file includes 8 upgraded core programs;

[0012] Writing the upgraded 8 core programs into the application segment space and calculating the MD5 checksum;

[0013] Receive the program upgrade completion command sent by the network;

[0014] Read the application segment space data and perform MD5 calculation;

[0015] Determine whether the written MD5 value is consistent with the read data MD5 value;

[0016] If they are consistent, it is determined that the program upgrade is successful;

[0017] If they are inconsistent, it is determined that the program upgrade has failed.

[0018] Preferably, the program solidified in the BOOT ROM module in the multi-core DSP chip of the FT6678 core board is a ROM Boot Loader, and the ROM Boot Loader is used to load the boot program from the Nor Flash 0x00 address to run.

[0019] Preferably: when generating the upgrade program bin file and using the L2SRAM space, a global address is used.

[0020] Preferably: when generating the upgrade program bin file, a boot function is added to core 0, and the entry addresses of the cores 1-7 programs are written into the BOOT_MAGIC_ADDRESS register; core 0 enables cores 1-7 to start executing their respective programs through each core No. 4 interrupt.

[0021] Preferably: if it is determined that the mark bit is valid, the application is obtained and an MD5 check is performed, and parsing is performed after the check succeeds; if the check fails, the update program is read.

[0022] Preferably: after determining that the program upgrade is successful, the mark bit is updated to a valid mark and the MD5 value is written.

[0023] According to the specific embodiments provided by the present invention, the present invention discloses the following technical effects:

[0024] The embodiment of the present application provides an online upgrade method for a multi-core DSP of a FT6678 core board, generates a bin file for 8 core programs, and completes the update of 8 core programs by updating a bin file. The method is simple and practical, and can quickly complete the online update program of the multi-core DSP, solve the problem of power failure of the device during the online upgrade process, and the problem that the device program cannot run normally, which causes the risk of dismantling the device. The entire upgrade process can be completed through the network without relying on the simulator.

[0025] Of course, any product implementing the present invention does not necessarily need to achieve all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0027] Figure 1 It is a flow chart of an online upgrade method of a multi-core DSP of a FT6678 core board provided by an embodiment of the present invention;

[0028] Figure 2 It is a Nor Flash program distribution diagram provided by an embodiment of the present invention;

[0029] Figure 3 is a DSP startup flow chart provided by an embodiment of the present invention;

[0030] Figure 4 is a command parsing rule diagram provided by an embodiment of the present invention;

[0031] Figure 5 It is a diagram illustrating the definition of BOOT_MAGIC_ADDRESS provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0032] The technical scheme in the embodiment of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiment of the present invention. Obviously, the described embodiment is only a part of the embodiment of the present invention, not all of the embodiments. Based on the embodiment of the present invention, all other embodiments obtained by ordinary technicians in this field belong to the scope of protection of the present invention.

[0033] See also Figure 1 , is a FT6678 core board multi-core DSP online upgrade method provided by an embodiment of the present invention, such as Figure 1 As shown, the method may include:

[0034] Adopt Nor Flash as program storage medium, set the boot mode of FT6678 core board multi-core DSP to SPI boot through hardware pin configuration, and divide Nor Flash storage medium into boot program segment, update program segment, application program segment and mark check segment;

[0035] After determining that the boot program is running, obtain the Nor Flash mark check segment mark bit; in specific implementation, the embodiment of the present application can provide that the program solidified in the BOOT ROM module in the multi-core DSP chip of the FT6678 core board is a ROM BootLoader, and the ROM Boot Loader is used to realize loading the boot program from the Nor Flash 0x00 address to run.

[0036] If the mark bit is determined to be valid, the application is obtained; in specific implementation, the embodiment of the present application can provide that if the mark bit is determined to be valid, the application is obtained and an MD5 check is performed, and parsing is performed after the check is successful; if the check fails, the update program is read.

[0037] If it is determined that the mark bit is invalid, an online upgrade instruction sent through the network is received to the DSP device, and the application segment space is erased;

[0038] An upgrade program bin file sent through a network is received, wherein the upgrade program bin file includes 8 upgraded core programs; in specific implementation, the embodiment of the present application may provide for using a global address when generating the upgrade program bin file and using L2SRAM space.

[0039] Furthermore, when generating the upgrade program bin file, a boot function is added to core 0, and the entry addresses of the core 1-7 programs are written into the BOOT_MAGIC_ADDRESS register; core 0 enables cores 1-7 to start executing their respective programs through the core No. 4 interrupt.

[0040] Writing the upgraded 8 core programs into the application segment space and calculating the MD5 checksum;

[0041] Receive the program upgrade completion command sent by the network;

[0042] Read the application segment space data and perform MD5 calculation;

[0043] Determine whether the written MD5 value is consistent with the read data MD5 value;

[0044] If they are consistent, it is determined that the program upgrade is successful; in specific implementation, after determining that the program upgrade is successful, the mark bit is updated to a valid mark and the MD5 value is written.

[0045] If they are inconsistent, it is determined that the program upgrade has failed.

[0046] The FT6678 core board multi-core DSP online upgrade method provided in the embodiment of the present application is simple and practical, and can quickly complete the multi-core DSP online update program, solving the problem that the device loses power during the online upgrade process and the device program cannot run normally. The entire upgrade process can be completed through the network without relying on the simulator. The method generates a bin file for 8 core programs and completes the update of 8 core programs by updating a bin file.

[0047] The purpose of this method is to make the online upgrade of multi-core DSP simpler and more practical on the basis of stability and reliability.

[0048] Use Nor Flash as the program storage medium. Set the boot mode of the FT6678 multi-core DSP to SPI boot through hardware pin configuration. Divide the Nor Flash storage medium into 4 parts. Figure 2 .

[0049] Boot program segment: fixed startup program, no subsequent upgrades.

[0050] Update program segment: realize online program update, the program does not perform online upgrade.

[0051] Application segment: implements specific applications. The program has online upgrade function.

[0052] Mark verification segment: stores program marks and verification positions.

[0053] The program startup process is as follows Figure 3 shown.

[0054] A. The program fixed in the BOOT ROM module of the FT6678 multi-core DSP chip is the ROM Boot Loader (RBL). RBL loads the boot program from the Nor Flash 0x00 address.

[0055] B. After the boot program runs, it first obtains the Nor Flash mark check segment flag bit. If the flag bit is valid, the application is obtained; if the flag bit is invalid, the update program is obtained.

[0056] C. Reading the application requires an MD5 check. If the check succeeds, the application is parsed. If the check fails, the application is updated.

[0057] D. Boot program analysis requires reference Figure 4 The rules are used to parse the upgrade program and copy the parsed data to a suitable storage location.

[0058] like Figure 5As shown in the figure, when generating a multi-core bin file, you need to consider the memory allocation and usage of each core. When using L2SRAM space, you should use the global address to avoid the generated bin file address not being correctly parsed.

[0059] When generating a multi-core bin file, a boot function is added to core 0, and the entry addresses of cores 1-7 programs are written into the BOOT_MAGIC_ADDRESS register; core 0 uses interrupt No. 4 of each core to enable cores 1-7 to start executing their respective programs. This completes the startup of multiple core programs.

[0060] E. After the program is parsed, jump to the program for execution.

[0061] Online upgrade process Figure 1 shown.

[0062] A. Send online upgrade instructions to DSP devices through the network;

[0063] B. After receiving the upgrade instruction, erase the application segment space.

[0064] C. Send the upgrade program bin file through the network.

[0065] D. Write the program into the application segment space and calculate the MD5 checksum.

[0066] E. Receive the program upgrade completion command sent by the network.

[0067] F. Read the application segment space data and perform MD5 calculation.

[0068] G. Determine whether the written MD5 value is consistent with the read data MD5 value; if they are consistent, the program upgrade is successful; if they are inconsistent, the program upgrade fails;

[0069] H. If the MD5 values ​​are consistent, update the flag to a valid flag and write the MD5 value.

[0070] In summary, the FT6678 core board multi-core DSP online upgrade method provided in this application is simple and reliable, and can realize the online update of the DSP multi-core program, thereby solving the risk of equipment dismantling caused by upgrade failure.

[0071] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0072] It can be known from the description of the above implementation methods that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments of the present application or certain parts of the embodiments.

[0073] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can refer to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system or system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can refer to the partial description of the method embodiment. The system and system embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without creative work.

[0074] The above description is only a preferred embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention are included in the protection scope of the present invention.

Claims

1. A method for online upgrading of multi-core DSP of FT6678 core board, characterized in that: include: Adopt Nor Flash as program storage medium, set the boot mode of FT6678 core board multi-core DSP to SPI boot through hardware pin configuration, and divide Nor Flash storage medium into boot program segment, update program segment, application program segment and mark check segment; After determining that the boot program is running, obtain the Nor Flash mark check segment mark bit; If the flag is valid, the application is obtained; If it is determined that the mark bit is invalid, an online upgrade instruction sent through the network is received to the DSP device, and the application segment space is erased; Receiving an upgrade program bin file sent through a network, wherein the upgrade program bin file includes 8 upgraded core programs; Writing the upgraded 8 core programs into the application segment space and calculating the MD5 checksum; Receive the program upgrade completion command sent by the network; Read the application segment space data and perform MD5 calculation; Determine whether the written MD5 value is consistent with the read data MD5 value; If they are consistent, it is determined that the program upgrade is successful; If they are inconsistent, it is determined that the program upgrade has failed.

2. The FT6678 core board multi-core DSP online upgrade method according to claim 1 is characterized in that: The program solidified in the BOOT ROM module of the multi-core DSP chip of the FT6678 core board is a ROM Boot Loader, and the ROM Boot Loader is used to load the boot program from the Nor Flash 0x00 address and run it.

3. The FT6678 core board multi-core DSP online upgrade method according to claim 1 is characterized in that: When generating the upgrade program bin file and using the L2SRAM space, a global address is used.

4. The FT6678 core board multi-core DSP online upgrade method according to claim 1 is characterized in that: When generating the upgrade program bin file, a boot function is added to core 0, and the entry addresses of the core 1-7 programs are written into the BOOT_MAGIC_ADDRESS register; core 0 enables cores 1-7 to start executing their respective programs through the No. 4 interrupt of each core.

5. The FT6678 core board multi-core DSP online upgrade method according to claim 1 is characterized in that: If the mark bit is determined to be valid, the application is obtained and an MD5 check is performed. If the check succeeds, the application is parsed. If the check fails, the update program is read.

6. The FT6678 core board multi-core DSP online upgrade method according to claim 1 is characterized in that: After confirming that the program upgrade is successful, update the mark bit to a valid mark and write the MD5 value.