OV camera firmware burning system and method

By using the bus channel filtering, write command tracking, command path offset checking, and readback field coordination modules in the OV camera firmware burning system, the problem of real-time matching of signal differences in the OV camera firmware burning system is solved, the task path is reasonably organized and the field transmission is consistent, and the accuracy and integrity of firmware writing are ensured.

CN121879780APending Publication Date: 2026-04-17深圳森云智能科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511666172.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-14
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In existing OV camera firmware burning systems, manual identification and parameter verification cannot match signal differences in real time, making it difficult to extract task path features. The lack of a path stripping mechanism leads to field writing position deviations and numbering errors, affecting the accuracy and completeness of task closed-loop verification.

Method used

The system extracts independent path nodes through the bus channel filtering module, identifies offset behavior through the instruction tracking module, identifies channel execution misalignment through the instruction path offset checking module, tracks field displacement through the readback field coordination module, verifies path continuity through the burning closed-loop verification module, establishes the correspondence between the master control node and clock and data signals, filters non-overlapping signal paths, constructs field transmission trajectory and response sequence comparison logic, and enhances the sequence coordination capability of task execution.

Benefits of technology

It achieves the rationality of task execution path organization and the structural coherence of field transmission chain under multi-module conditions, enhances the integrity of field order consistency control and task process closed-loop tracking, and ensures the accuracy and integrity of firmware writing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121879780A_ABST
    Figure CN121879780A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of firmware burning, in particular to an OV camera firmware burning system and method, and the system comprises a bus channel screening module, a write-in instruction tracking module, an instruction path offset checking module, a read-back field collaboration module and a burning closed loop verification module. According to the method, the corresponding relation between the master control node serial number and the clock signal and data signal triggering time point is established, non-overlapping signal channels are screened to extract the first channel task identifier, the comparison logic between the field transmission track and the response sequence is constructed, and the task offset module is identified by combining the channel sequence and serial number mapping; and associating a task number interval according to field displacement characteristics, tracking the sequence difference of fields in the write-in and read-back processes, completing the joint comparison of a transmission path and a field number, enhancing the sequence cooperation capability of a cross-node task, and enhancing the completeness of field sequence consistency control and task process closed-loop tracking.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of firmware burning technology, and in particular to an OV camera firmware burning system and method. Background Technology

[0002] Firmware burning technology involves writing and updating program code in embedded devices. It is a crucial link at the intersection of electronic information and automated manufacturing, widely used in the production and testing of products such as camera modules, motherboards, communication terminals, automotive electronics, and smart devices. It mainly includes unified management of firmware versions, communication protocol adaptation of the writing interface, automatic control of the burning process, integrity verification of written data, multi-tasking and concurrent control of the burning environment, and the capture and handling of anomalies during the burning process. These measures ensure the fast, accurate, and stable writing of firmware to the target hardware. Traditional OV camera firmware burning systems refer to systems where, during camera module production, firmware programs provided by OV are adapted to a USB-to-bus bridge circuit via a USB interface, and then sent to the camera module's internal EEPROM via bus communication to complete the burning process. This process typically relies on Windows-based burning tools to manually trigger the burning command, combined with the camera power supply control circuit synchronously starting the target device. Furthermore, before burning, manual module identification and verification are required to ensure that the firmware's model, address, resolution, and other parameters match the module's hardware information.

[0003] Existing technologies rely on manual identification and parameter verification before programming, which cannot extract task path features based on real-time signal differences. In scenarios with overlapping signals or dense node responses, there is a lack of path stripping mechanisms. During task execution, it is difficult to accurately match the field transmission trajectory and channel order relationship. There is no binding relationship between field numbers and transmission paths. There is a lack of synchronous verification between response node positions and task structures, which can easily lead to field writing position deviations and numbering errors. In cross-module synchronous execution, the consistency between task fields and node responses cannot be guaranteed. The lack of a readback verification strategy for offset fields causes the readback fields to not correspond to the original task numbers, affecting the accuracy of task closed-loop verification and the integrity of field transmission. Summary of the Invention

[0004] To address the technical problems existing in the prior art, this invention provides an OV camera firmware burning system and method. The technical solution is as follows: On the one hand, an OV camera firmware burning system is provided, the system comprising: The bus channel filtering module obtains the trigger points of the bus request clock signal and data signal issued by the expansion card master control node, strips out overlapping signals, extracts independent path nodes, and obtains the task identifier item of the first channel module. The write instruction tracking module extracts the script path and instruction sequence based on the module number in the first channel module task identifier, reads the field transmission order, compares the task and response order, identifies offset behavior, and obtains the firmware write process task list. The instruction path offset checking module extracts the module number and channel order based on the delay module number in the firmware writing process task list, compares the task sequence mapping, identifies the channel execution and misalignment number, and obtains the instruction path offset module set. The readback field collaboration module reads the position and content of the tail field based on the instruction path offset module set module number, tracks the field displacement path, and corresponds to the task number range to obtain a list of readback field order disconnections. The closed-loop verification module extracts the field number and page address from the module number in the readback field sequence disjoint list, analyzes the field transmission order and node response position, compares the transmission behavior path, and obtains the closed-loop status item of the module burning process.

[0005] As a further embodiment of the present invention, the first channel module task identifier includes the master control node number, clock signal trigger time, data signal trigger time, signal timing comparison result, and non-overlapping path index; the firmware writing process task list includes the module number, burning script path, storage area write start address, execution instruction number, response field position, and transmission response mapping information; the instruction path offset module set includes the module number, task order position, physical channel mapping, and order difference identifier; the readback field order disconnection list includes the module number, field position information, field displacement behavior, field number range, and disconnected field content; and the module burning process closed-loop status item includes the module number, page address, field number, field position, and response node order comparison result.

[0006] As a further aspect of the present invention, the bus request clock signal refers to the clock signal trigger point generated when the master node issues a request operation through the bus, which determines the timing control of communication. The data signal trigger point refers to the time point when the falling edge of the data signal is triggered in bus communication, which determines the start and synchronization node of data transmission.

[0007] As a further aspect of the present invention, the script path refers to the path where the firmware burning script file is located, which is extracted from the host computer during the task execution process, and the write instructions loaded and executed. The task sequence mapping refers to comparing and mapping the execution order of module numbers in the task list with their order in the actual physical channel.

[0008] As a further aspect of the present invention, the bus channel filtering module includes: The signal trigger extraction submodule obtains the trigger point of the falling edge of the clock signal and the trigger point of the data signal being pulled low when the master node in the expansion card issues a bus request. It records the trigger point information corresponding to each master node as a time point pair according to the master node number, and obtains the master node signal trigger pair column. The timing sequence comparison submodule, based on the trigger time point data corresponding to the number in the main control node signal trigger pair column, performs an index mapping of the time sequence of the two trigger time points of the clock signal and the data signal, identifies the numbered pairs of similar signal triggers, and obtains the signal trigger sequence mapping set; The path node extraction submodule analyzes whether there is an overlap between the clock signal and data signal trigger intervals of the master control based on the signal trigger sequence mapping set. It then filters out the master control numbers that do not have time domain overlap to obtain the task identifier item of the first channel module.

[0009] As a further aspect of the present invention, the write instruction tracking module includes: The task parameter extraction submodule extracts the burning script path, the start address of writing the end segment of the storage area and the corresponding execution instruction number from the host computer task sequence based on the module number in the task identifier item of the first channel module, and matches the content with the corresponding module number to obtain the writing instruction parameter lookup table. The field order reading submodule collects response field position data during instruction writing based on the task field number and script path in the write instruction parameter lookup table, compares the position of the task field number and the response field number in the sequence, and obtains the field number order comparison result. The response trajectory offset submodule extracts the offset position of the response field and the corresponding task field number based on the data segment where the task field and response field are misaligned in the field number order comparison result. It constructs a retrieval path according to the number order, extracts the correspondence between the fields in the instruction transmission sequence, and obtains the firmware writing process task list.

[0010] As a further aspect of the present invention, the instruction path offset checking module includes: The delay number extraction submodule extracts the corresponding number order and channel order in the task record based on the module number that reports the delay in the firmware writing process task list, and compares the index in the order according to the module number to obtain the task number channel mapping table. The position sequence comparison submodule obtains the index position of the module number and the index position of the channel order in the task sequence based on the number sequence in the task number channel mapping table, aligns the positions according to the number order, filters out data items that deviate from the order, and obtains the index offset sequence. The channel misalignment filtering submodule, based on the index offset sequence, locates data combinations where the module number and channel order are misaligned, extracts the task path information and number distribution of the module corresponding to the misaligned combination, and obtains the instruction path offset module set.

[0011] As a further aspect of the present invention, the readback field collaboration module includes: The field position extraction submodule reads the field position and field content data of the corresponding tail data frame of each module from the storage area based on the module number in the instruction path offset module set, extracts the field index and data start position coordinates, and obtains the field position information sequence corresponding to the end position of the current module field content in the frame. The displacement behavior comparison submodule extracts the starting index position of adjacent module fields based on the field position information sequence, calls the displacement data between field indices, compares the field index movement labels, analyzes the field index stride discontinuity items, and obtains the field displacement difference sequence. The paragraph field filtering submodule, based on the field displacement difference sequence, compares the field number distribution segments in the task table, calls the content of the corresponding number field of the difference item, maps the start and end addresses of the field transmission interval, extracts the paragraph field at the offset position, and obtains the list of disjointed read-back fields.

[0012] As a further aspect of the present invention, the programming closed-loop verification module includes: The task field extraction submodule extracts the field sequence number and page address index of the corresponding task from the task data area based on the module number in the readback field sequence disjoint list, calls the start and end position data of the field content in the task, establishes a corresponding list of field index values ​​and their respective page addresses, and obtains the task field position sequence. The page address location comparison submodule extracts the page address location of the fields based on the task field location sequence, reads the location information of the response field in the storage area, compares the order of the write field page index and the readback field page index, and filters the path according to the intersection range of the field indexes to obtain the set of page address offset fields. The field path sequence comparison submodule extracts the field number and the node order in the transmission path based on the page address offset field set, compares the position of the field number received by the node in sequence, classifies the field numbers that are moved forward or backward, filters out mismatch items between the field number and the path node order, and obtains the closed-loop status item of the module burning process.

[0013] On the other hand, an OV camera firmware burning method, which is executed based on the aforementioned OV camera firmware burning system, includes the following steps: S1: Obtain the trigger time of the bus request clock signal and data signal issued by the expansion card master control node, compare the trigger order of the signals according to the node number, strip the overlapping segments of the signals, filter out the signal paths without conflicts, and obtain the task identifier of the first channel module. S2: Based on the module number in the first channel module task identifier, extract the burning script path, tail address and instruction number, obtain the response fields and instruction order during the execution process, match the field receiving order and task line number, identify misaligned field transmission behavior, and obtain the firmware writing process task list. S3: Based on the module number of the feedback delay in the firmware writing process task list, extract the task number and physical channel number, compare the position of the number in the task path and channel order, identify the nodes with misaligned order, and obtain the instruction path offset module set. S4: Based on the module number in the instruction path offset module set, read the field position and content of the readback frame, extract the field position of the module before and after for comparison, track the field displacement behavior, and extract the field content of the corresponding field and the task field number to obtain the field content of the readback field sequence disjoint list. S5: Based on the module number in the readback field sequence disjoint list, extract the page address, field number and transmission path, match the position of the field in the task and readback, identify the path continuity relationship between the field and the node, and obtain the module burning process closed loop status item.

[0014] Compared with the prior art, the advantages and positive effects of the present invention are as follows: In this invention, by establishing a correspondence between the master control node number and the triggering points of clock and data signals, the first channel task identifier is extracted by screening non-overlapping signal paths, a comparison logic between field transmission trajectories and response sequences is constructed, and the task offset module is identified by combining channel order and number mapping. Based on the field displacement characteristics, the task number range is associated, and the order difference of fields during the writing and reading processes is tracked. The joint comparison of transmission paths and field numbers is completed, which strengthens the sequence coordination capability of cross-node tasks, enhances the integrity of field order consistency control and task process closed-loop tracking, and promotes the organizational rationality of task execution paths and the structural coherence of field transmission chains under multi-module conditions. Attached Figure Description

[0015] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0016] Figure 1 This is a system flowchart of the present invention; Figure 2 This is a system block diagram of the present invention; Figure 3 This is a flowchart of the bus channel filtering module in this invention; Figure 4 This is a flowchart of the write instruction tracking module in this invention; Figure 5 This is a flowchart of the instruction path offset checking module in this invention; Figure 6 This is a flowchart of the readback field collaboration module in this invention; Figure 7 This is a flowchart of the closed-loop verification module for programming in this invention; Figure 8 This is a flowchart of the method steps of the present invention. Detailed Implementation

[0017] The technical solution of the present invention will now be described with reference to the accompanying drawings.

[0018] In embodiments of the present invention, words such as "exemplarily," "for example," etc., are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" in the present invention should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present the concept in a concrete manner. Furthermore, in embodiments of the present invention, the meaning expressed by "and / or" can be both, or either one.

[0019] In the embodiments of this invention, the terms "image" and "picture" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction between them, they convey the same meaning. Similarly, the terms "of," "corresponding (relevant)," and "corresponding" may sometimes be used interchangeably. It should be noted that, without emphasizing the distinction between them, they convey the same meaning.

[0020] In this embodiment of the invention, sometimes a subscript such as W1 may be written in a non-subscript form such as W1. When the difference is not emphasized, the meaning they express is the same.

[0021] To make the technical problems, technical solutions and advantages of the present invention clearer, a detailed description will be given below in conjunction with the accompanying drawings and specific embodiments.

[0022] This invention provides an OV camera firmware burning system, such as... Figures 1-2 The diagram shown illustrates the OV camera firmware burning system, which includes: The bus channel filtering module obtains the falling edge sequence of the clock signal and the low-level trigger sequence of the data signal when the multiple master control nodes connected to the expansion card issue bus requests. It extracts the two trigger points of the master control node, compares the time sequence of the clock signal and data signal trigger positions with the node number as the index, removes the signal overlap behavior of the node, and transfers the master control signal path corresponding to the non-overlapping signal into the execution path to obtain the first channel module task identifier item. The write instruction tracking module extracts the burning script path, the start address of the tail storage area and the corresponding execution instruction number from the host computer task sequence based on the module number in the first channel module task identifier. During the execution of the write instruction, it reads the position of the response field and the instruction transmission order, matches the input field with the task issuance number, analyzes the field trajectory actions where the transmission order and response position are misaligned, and obtains the firmware writing process task list. The instruction path offset checking module is based on the module number that provides feedback delay in the firmware writing process task list. It calls the corresponding module number order and physical channel order in the task record, maps the position of each module number and the corresponding channel in the task execution sequence, and identifies modules whose execution path and channel order are inconsistent with the task path by comparing the order difference between the mapped positions with the task path, thus obtaining the instruction path offset module set. The readback field collaboration module reads the field position information and field content from the tail readback data frame in the storage area based on the module number in the instruction path offset module set. It compares the current module field position with the previous module field position, tracks the displacement behavior between fields, and locates the relationship between the field transmission position and the field writing number based on the field content in the task table. It reads the field content that shows displacement characteristics in consecutive field segments to obtain the readback field sequence disjoint list. The closed-loop verification module for programming is based on the module number in the list of disjointed read-back fields. It extracts the page address, field content and task field number of the numbered task from the task data area, analyzes the position of the write field and read-back field in the page address space during task issuance, reads the position of the response field, and compares the transmission behavior according to the field number and the node order in the transmission path to obtain the closed-loop status item of the module programming process.

[0023] The first channel module task identifier includes the master control node number, clock signal trigger time, data signal trigger time, signal timing comparison result, and non-overlapping path index. The firmware writing process task list includes the module number, burning script path, storage area write start address, execution command number, response field position, and transmission response mapping information. The command path offset module set includes the module number, task order position, physical channel mapping, and order difference identifier. The readback field order disjoint list includes the module number, field position information, field displacement behavior, field number range, and disjointed field content. The module burning process closed-loop status item includes the module number, page address, field number, field position, and response node order comparison result.

[0024] Specifically, such as Figure 2 , 3 As shown, the bus channel filtering module includes: The signal trigger extraction submodule obtains the trigger point of the falling edge of the clock signal and the trigger point of the data signal being pulled low when the master node in the expansion card issues a bus request. It records the trigger point information corresponding to each master node as a time point pair according to the master node number, and obtains the master node signal trigger pair column. First, select any master control node, such as master control node A1, and collect the level change of the clock signal line during the falling phase when it initiates a bus request. Then, use logic analysis tools to extract the position information of the level transition point at that moment. Next, read the trigger change position of the corresponding data signal line during the low-level pull-down phase. According to the logic channel numbering order, unify the trigger point information of the clock signal and data signal under the same master control into a single data pair. Process the remaining master control nodes numbered A2, A3, etc., one by one, and record the specific trigger position of each data pair. If the clock signal trigger for master control A2 is at position P3 and the data signal trigger is at position P4, then use P3 and P4 as the trigger information corresponding to that number. Then, use this trigger point data pair... The sequence number is used as a mapping item and is uniformly output in the time information list. To avoid jitter interference during signal recording, the relative position stability of each trigger signal needs to be judged. If the difference between the trigger point positions of a certain node's clock signal and data signal exceeds 2 units of channel interval width in the acquired signals, it will not be retained as a valid data pair. Otherwise, it will be written into the current signal trigger sequence according to the standard record. For example, when the clock signal trigger signal with number A3 is located at P5 and the data signal is located at P6, if the distance between P6 and P5 is 1 unit, the valid trigger pair condition is met. The data items of A3→P5 and P6 are written into the result set. After all master control nodes have been processed, a complete data pair sequence is formed as the output result, and the master control node signal trigger pair column is obtained.

[0025] The timing sequence comparison submodule uses the trigger time point data corresponding to the number in the master control node signal trigger pair column to perform time sequence index mapping on the two trigger time points of the clock signal and data signal, identify the numbered pairs of similar signal triggers, and obtain the signal trigger sequence mapping set; First, for each master control node, extract the falling edge trigger time data of the clock signal and data signal. Then, process the clock signal and data signal timings using a unified time sequence index. In practice, assuming the falling edge of the clock signal for master control node N1 is T1 and the falling edge of the data signal is T2, extract the clock signal and data signal sequences for all master control nodes and arrange them in ascending order. Record the index position of each trigger time point in the sequence. Then, calculate the index positions of the clock signal trigger point and data signal trigger point for each number after sorting, obtaining the positional relationship between the number and its trigger time on a unified time axis. For example, the clock signal trigger point of number N1 ranks 5th among all clock signals, and the data signal trigger point ranks 1st among all clock signals. If a data signal is ranked 6th, then the corresponding sequence number is clock signal → 5, data signal → 6, recorded as a sequential index pair. For example, if the clock signal and data signal of number N2 are ranked 7th and 8th respectively, their corresponding sequential index pairs are 7 and 8. Then, the relative distance between all master control number sequential index pairs is judged. If the index difference between the clock signal and data signal trigger times of two sets of master control numbers is less than the set amplitude threshold of 3 bits, then the two are marked as number pairs with similar signal triggers. For example, the clock signal index difference between numbers N1 and N2 is 2, and the data signal index difference is 2, which meets the trigger similarity condition. N1 and N2 are recorded as a valid number pair. After all number pairs are analyzed, the number combinations that meet the sequential proximity judgment condition are output in sequence to obtain the signal trigger sequence mapping set.

[0026] The path node extraction submodule is based on the signal trigger sequence mapping to the numbered pairs of signals with non-overlapping trigger intervals. It analyzes whether there is an overlapping area between the clock signal and data signal trigger interval of the master control corresponding to the number, filters out the master control numbers that do not have time domain overlap, and obtains the task identifier item of the first channel module. First, extract the start and end times of the clock signal and data signal triggers corresponding to the master control numbers in the numbered pairs. Construct a set of time interval information for the trigger time periods of each master control number. Then, determine whether there is any overlap in time intervals between the numbered pairs. In practical applications, if the clock signal trigger time period of master control number A is 5-10 and the data signal trigger time period is 8-13, and the clock signal of number B is 14-19 and the data signal is 15-20, then since the trigger time periods of groups A and B do not overlap, they can be identified as non-overlapping numbered pairs. If the trigger time period of any type of signal in a numbered pair overlaps with the trigger time period of the signal of another number, then that numbered pair is no longer considered. For subsequent screening, we continue to screen all numbered pairs of master control numbers that do not overlap in time range between the clock signal and the data signal triggering signals. Then, we further extract the numbers that meet this criterion to establish a set of master control nodes corresponding to the numbers. In this set, we select the node with the earlier number and no signal overlap as the starting reference for the path. For example, if the master control numbers are M1, M2, and M3, and the corresponding clock signal and data signal triggering time periods are arranged sequentially in the task flow and the time intervals do not overlap, then we prioritize extracting the number M1 as the reference number for the first channel module task. Finally, based on the judgment result of whether the master control signals corresponding to the numbers overlap, we obtain the first channel module task identifier.

[0027] Specifically, such as Figure 2 , 4 As shown, the write instruction tracing module includes: The task parameter extraction submodule extracts the burning script path, the start address of writing the end segment of the storage area and the corresponding execution instruction number from the host computer task sequence based on the module number in the first channel module task identifier item. It matches the content with the corresponding module number to obtain the writing instruction parameter lookup table. First, extract the task entity corresponding to each module number. Then, sequentially search the task description entry associated with that module number from the host computer's task sequence. Identify the task script path field, the storage area end-write start address field, and the task instruction number field from this entry, and extract their contents. For example, if the module number is M7, and the corresponding task entry contains the script path / write / path / m7.hex, the storage area address 0x1F8000, and the execution instruction number 1223, then these three items should be recorded as the basic parameters for the task corresponding to that number. Next, search for task entries for other module numbers in the task sequence and execute the same process. The process involves constructing a one-to-one mapping between module numbers and task parameters. Then, the extracted parameter values ​​are checked for their assigned numbers to determine if each parameter belongs to the current module number. If a mismatch exists, the item is marked as an outlier and removed. Subsequently, a number-parameter control group list is generated by sorting the numbers. If there are three module tasks with numbers M3, M5, and M7, and the address corresponding to M5 is missing or the number instruction is empty, the item corresponding to M5 will be removed during the comparison process. Only the items with complete parameter records, M3 and M7, are retained. Finally, the mapping records between all module numbers and corresponding script paths, and between write addresses and task instruction numbers are summarized to obtain a write instruction parameter comparison table.

[0028] The field order reading submodule collects response field position data during instruction writing based on the task field number and script path in the instruction parameter lookup table, compares the position of the task field number and the response field number in the sequence, and obtains the field number order comparison result. First, extract the script path content associated with each write task item by item, and locate the loading position of the field number. Combining this with the field number sequence defined in the task record, load the data content of each segment in the corresponding script file one by one, extract the number positions in the field structure, and establish a correspondence list between field numbers and path positions. For example, if field number F003 is located in the eighth segment of the script path, it is marked as sequence number 8. Simultaneously, during the instruction writing process, call the instruction trigger condition corresponding to the task number. During the actual write action, collect the return position of the response field in the instruction channel, and record its corresponding number and timing index position in the transmission path. For example, if number F003 appears in the fifth position in the write response, its response sequence is 5. Then, the collected data will be... The obtained response number sequence is compared one by one with the task field number sequence. Number F003 is marked as 8 in the task number and as 5 in the response position. The difference is 3. If the difference exceeds the allowable interval range set by the number movement judgment benchmark, it is judged as an abnormal sequence. All number pairs are processed repeatedly to form a field sequence error distribution chart. Through actual data examples, it can be seen that the numbers F001, F002, and F003 are in the order of 1, 2, and 3 in the task, but appear as 2, 3, and 1 in the response. The differences are 1, 1, and -2, respectively. According to the preset judgment benchmark of ±1, only number F003 is regarded as a misaligned number. Finally, the difference statistics results are sorted according to the number to obtain the field number sequence comparison results.

[0029] The response trajectory offset submodule extracts the offset position of the response field and the corresponding task field number based on the data segment where the task field and response field are misaligned in the field number order comparison result. It constructs a retrieval path according to the number order, extracts the correspondence between the fields in the instruction transmission sequence, and obtains the firmware writing process task list. First, the order discrepancy between the task field number and the response field number is located. Through field number offset statistics, all field numbers with misaligned order are extracted and associated with the task field number index. In specific implementation, for example, if number F007 is the 7th position in the task field but appears as the 10th position in the response field (i.e., an offset of 3), this number field is extracted as the offset field. Then, a number order retrieval path is constructed based on the field numbers, organizing the retrieval channels according to the ascending order of the numbers. The positioning information of each number segment in the write instruction is parsed. For example, if field F007 is located in path segment 3 in the script file and its execution order is 5th, then it is recorded as... Record the field number, path segment number, and execution order index, and record the position of each occurrence of the field in the instruction transmission sequence to form a transmission trajectory index table for the field in the writing process. At the same time, compare the trajectory tables of all offset field numbers to determine if there are any misalignments where the number is in a low position and the response is in a high position. Combined with the transmission sequence timeline record, establish a one-to-one mapping between the field number and its instruction execution time period. For example, if the number F007 responds in the 5th instruction time slice and the number F008 responds in the 4th slice, then the number F007 has a response lag. Finally, combine and sort the trajectory paths of all offset fields according to the field number order to obtain the firmware writing process task list.

[0030] Specifically, such as Figure 2 , 5 As shown, the instruction path offset checking module includes: The delay number extraction submodule extracts the corresponding number order and channel order in the task record based on the module number that reports the delay in the firmware writing process task list. It then compares the index in the order according to the module number to obtain the task number channel mapping table. First, retrieve all the corresponding ID entries for the delay feedback modules from the task list and compare them one by one with the ID sequence in the task record table. In practice, taking module ID M013 as an example, this ID is the 9th in the task record, but the feedback time is marked as delayed. Find its sequential position in the task record based on this ID, and simultaneously extract its transmission channel ID position from the channel control record. If this module ID is the 4th in the channel sequence, then mark and record the correspondence between ID position 9 and channel position 4. Then, process all extracted delay IDs according to... A mapping is performed using a dual index of task number and channel order. A mapping table is established to associate the actual execution order of each number in the task execution sequence with the channel order of its corresponding transmission channel. For example, number M013 is mapped to channel T4, number M011 is mapped to T2, number M009 is mapped to T5, etc. During the mapping process, the task execution index position is compared with the channel index and the difference is confirmed to record whether there is an offset between the channel number and the execution order. Finally, the execution order index, channel order index and number matching are organized according to the module number dimension to obtain the task number channel mapping table.

[0031] The position sequence comparison submodule obtains the index position of the module number and the index position of the channel order in the task sequence based on the number sequence in the task number channel mapping table, aligns the positions according to the number order, filters out data items that deviate from the order, and obtains the index offset sequence. First, extract the task index position and channel sequence index position corresponding to each module number separately. For example, module number M005 is the 2nd position in the task sequence and the 5th position in the channel sequence. First, establish a task sequence index set and a channel sequence index set, and then match the position of each item in the set according to the module number sequence. If the number sequence is M001, M002, M003, M004, M005, then compare the task position and channel position of M001 in sequence to obtain the position difference value. Then, perform the same process for the remaining numbers in sequence. During the process, if a number is between the task position and the channel position... If the difference value is positive, it means that the number is in an advanced state during task execution; if it is negative, it is in a delayed state. Continue to summarize the positional differences of each item based on the number sequence, and compare the task index position with the channel sequence position item by item during the summarization process. When the two values ​​are inconsistent, they are marked as offset items. For example, if the task index of number M004 is 3 and the channel index is 6, then its offset value is 3, and it is marked as an offset item. After all the numbers are processed, all offset item numbers, task indexes, channel indexes, offset directions and offset distances are summarized to form a set of data reflecting the misalignment of the number positions, and finally the index offset sequence is obtained.

[0032] The channel misalignment filtering submodule is based on the index offset sequence to locate data combinations where the module number and channel order are misaligned. It extracts the task path information and number distribution of the modules corresponding to the numbers in the misaligned combinations to obtain the instruction path offset module set. First, the set of numbers marked as misaligned in each offset item is retrieved. For example, numbers M007 and M009 are sorted earlier in the channel sequence than in the task sequence. The misalignment status of these numbers is recorded, and the task path information associated with them in the entire task path is located. By searching the corresponding path segment set in the task path database using the number as an index, parameters such as instruction call order, number of path segments, and field write step size are extracted. The positional distribution is compared with the corresponding task paths of other non-misaligned numbers in the task sequence. Specifically, the path segment numbers of each task path are arranged in order to form a path segment sequence, and then the numbered path segments are constructed according to the number arrangement. The mapping diagram is used to observe whether there are any intersections in the misaligned numbered path segments. For example, if the path segment with number M009 appears at the beginning of the task sequence but its number is at the end of the task, forming a sequence misalignment mapping, such numbered path combinations are identified as misaligned combinations. All path segments corresponding to misaligned numbers are called and their index spacing in the task path is counted. Combinations with a distance greater than the preset path spacing benchmark value are marked and the number and path are verified and matched again. Finally, by reordering the number order in all path segments, number items with inconsistent number and channel order and obvious path intersections are filtered out, and the instruction path offset module set is finally obtained.

[0033] Specifically, such as Figure 2 , 6 As shown, the readback field collaboration module includes: The field position extraction submodule reads the field position and field content data of the corresponding tail data frame of each module from the storage area based on the module number in the instruction path offset module set, extracts the field index and data start position coordinates, and obtains the field position information sequence by corresponding to the end position of the frame where the field content of the current module is located. First, according to the index position, modules with numbers M006, M008, M011, etc., that exhibit transmission offsets in the task path are called one by one. Their corresponding storage address segments are extracted. By reading the preset field identifier bits in the tail data frame, the field number is obtained, and the storage byte content of the field corresponding to that number is read. In the content area corresponding to each field number, the coordinates of the data start bit are located. The data start bit is usually offset by a specific displacement from the start flag bit in the data frame structure. For example, the start bit of field M006 is set to the 128th bit from the end of the data frame. The content of 8 consecutive bytes starting from the specified position is read as the content segment of the field. The field index is further extracted, and the field number is compared with the field index identifier in the script through the script parameters to verify whether their correspondence matches. Then, the relative position of the content of each module field in the end of the frame is located and recorded to form a field position mapping table with the number as the index and the field starting position as the value. This mapping table is used to build the displacement path model in the subsequent field path tracing process. Finally, the one-to-one correspondence sequence between the number and the field starting position coordinate and the field content is extracted from all field information to obtain the field position information sequence.

[0034] The displacement behavior comparison submodule extracts the starting index position of adjacent module fields based on the field position information sequence, calls the displacement data between field indices, compares the field index movement labels, analyzes the field index stride discontinuity items, and obtains the field displacement difference sequence. First, the field position list is numbered and rearranged according to the module number order. The starting positions of the fields corresponding to modules M001 to M012 are rearranged according to their actual numbers. Then, the difference in field index positions between each pair of adjacent modules is extracted. For example, when extracting the starting positions of the fields in the storage frame of modules M002 and M003, the starting positions are found to be addresses 320 and 352 respectively. The displacement between them is 32 bytes. Continue to obtain the difference in the starting positions of the fields between modules M003 and M004, M004 and M005, etc. During this process, the change range of each field displacement data needs to be marked. The difference between the index positions of two adjacent fields is appended with a number to form a "field movement number". For example, the starting position of field M005 is at address 320. 84. If the starting position of field M004 is 352, its label is +32. If a position jump occurs in a certain segment, such as the starting position of field M008 suddenly jumping from 416 to 640, the interval of this field is 224 bytes. When recording, it is marked as +224 in the field label column. Then, the stability of the stride between adjacent segments is checked for each movement label sequence. If the movement of the preceding and following fields is consecutively +32, +32, +32, it is considered as equal stride. If there is a jump of +32, +224, +32, the middle 224 part is considered as a stride discontinuity item. Continue to traverse the entire field index information, summarize the number of all field pairs with abnormal displacement increments, and finally obtain all the combinations of discontinuous field displacements and their labels to obtain the field displacement difference sequence.

[0035] The paragraph field filtering submodule is based on the field displacement difference sequence. It compares the field number distribution segments in the task table, calls the content of the corresponding number field of the difference item, maps the start and end addresses of the field transmission interval, extracts the paragraph field at the offset position, and obtains the list of disjointed read-back fields. First, the mapping relationship between the field numbers listed in the task table and the corresponding modules is invoked to determine the task field location corresponding to each difference number field. For example, if field number F073 is located in the tail instruction area of ​​module M007 in the task table, then the starting address and length corresponding to F073 need to be accurately obtained from the task table as starting address 420 and length 64 bytes. Next, each field number in the difference sequence is extracted, and the numbering segment to which the index field belongs is mapped through the task number. For example, if field numbers F074 to F079 belong to module M008, then the starting address of field F074 is read as 484, and the ending address of field F079 is read as 580, thus mapping the entire field transmission interval to [484, 580]. At this time, if field number F077 is marked as having a jump in the sequence, then... The changes in the content of the field number before and after are taken, and the content of the field is checked by reading the content within the address range of the field in the storage area. The offset field number is compared with the corresponding position of its actual data segment, and the execution order of the field in the writing script path is rearranged according to the task field order. In this way, it can be determined that F077 is actually written after F075 but the response record is after F079. Then, the field is marked as a response offset item, and the position of the item belongs to the segment of module M008. Similarly, the task lookup table is continued for each field number and the start and end addresses of the field are extracted. All field numbers with displacement anomalies and located within the task segment of the corresponding field number are summarized. Finally, all segment fields with position offsets and transmission order that are out of sync with the task fields are screened out, resulting in a list of out-of-order readback fields.

[0036] Specifically, such as Figure 2 , 7 As shown, the programming closed-loop verification module includes: The task field extraction submodule extracts the field sequence number and page address index of the corresponding task from the task data area based on the module number in the readback field sequence disjoint list, calls the start and end position data of the field content in the task, and establishes a corresponding list of field index values ​​and their respective page addresses to obtain the task field position sequence. First, for each item number, locate its position range in the task data area. Read the task index information corresponding to the module number and extract the field sequence list. For example, if the task start sequence number of module number M021 in the task data area is F110 and the end sequence number is F119, then the field sequence number range of this module is F110 to F119. Next, find the page address index corresponding to each field sequence number in the task record. For example, field F112 is located in storage page P48, and the corresponding physical address starts at 1920. Then, sequentially extract the start and end positions of the content of each field from F110 to F119, marking its relative offset in the storage page. For example, F112 in page P48 has a start offset of 64 and an end offset of 95, with a field length of 32 bits. Similarly, field F113 has a start offset of 96 and an end offset of 127, with a field length of 32 bits. In this way, the address start and end ranges and field numbers of all fields under this module are matched accordingly. The first step involves summarizing the combination information of field numbers and page addresses according to the sorted field numbers. For example, F110 corresponds to page P47, F111 corresponds to page P47, F112 to F115 corresponds to page P48, etc. A bidirectional mapping from field index number to page address is established for each field. When processing multiple module numbers, the corresponding field sequences need to be extracted separately and their page mapping in the data area needs to be processed independently. For example, in the module number M022, if field F124 has a cross-page write situation, its starting position of the starting page P49 is extracted as 256 and the ending position of the ending page P50 is extracted as 15. Field F124 is defined as a cross-page field and its starting and ending page positions are noted as P49-P50 in the mapping table. After completing the address mapping for all module numbers and their corresponding field numbers, the final output is a field page address lookup table containing four pieces of information: field number, starting page address, ending page address, and index position, thus obtaining the task field position sequence.

[0037] The page address location comparison submodule extracts the page address location of the field based on the task field location sequence, reads the location information of the response field in the storage area, compares the order of the write field page index and the readback field page index, and filters the path according to the intersection range of the field indexes to obtain the set of page address offset fields. First, extract the page address index Pj corresponding to field number Fi item by item, and record the start position (offset-start) and end position (offset-end) of the field within the page during the write operation to construct a field write path positioning table. Then, retrieve the actual storage page address of the field number during the readback phase from the storage area. By reading the actual page address Pk where field number Fi falls during the data readback process, establish a readback path record table. Next, compare the page index difference between Pj and Pk and sort them by position to determine if the write path and readback path are consistent. If field number Fi corresponds to page Pj of 52 during the write phase, but falls into page Pk of 50 during the readback phase, it is determined that the field has experienced a path offset, and the field is marked as an offset item. Further, based on the order in which the field numbers appear in the task list, compare all readback paths with... The fields with different write paths are sorted to obtain a set of interleaved fields. Then, the page address and index position marked in the task field position sequence are extracted for these field numbers. It is determined whether the field transmission order in the task area overlaps with the actual response order in the storage area. If field numbers F111 and F113 have overlapping page addresses and inconsistent order, they are classified as address conflict fields and recorded as path deviation field numbers. Then, range analysis is performed on these fields to determine whether their offsets are concentrated in consecutive task segments. The interval formed by the maximum and minimum page addresses in the offset fields is extracted. For example, if fields F120 to F125 are all distributed between page addresses 51 and 55, then this segment is a potential page address offset segment. By filtering field numbers with overlapping ranges, a set is formed, and finally, the set of page address offset fields is obtained.

[0038] The field path sequence comparison submodule extracts the field number and the node order in the transmission path based on the page address offset field set, compares the position of the received field number of the node in sequence, classifies the field number that is moved forward and backward, filters the field number and path node order mismatch items, and obtains the closed loop status item of the module burning process. First, the logical order value Ti of each field number in the transmission path is extracted sequentially, and an index mapping table between field numbers and node sequences is established. Then, the receiving log of each node in each transmission path is called to read the position Ri of field number Fi in the node's receiving sequence. The logical order Ti of Fi in the sending sequence is compared with its actual receiving order Ri. For example, if field F112 is in position 8 when sent, but appears in position 5 at the receiving node, then the field number is recorded as shifted forward. Conversely, if F115 is in position 9 when sent, but appears in position 12 at the receiving node, then it is recorded as a field number shifted backward. Next, all field numbers are classified and statistically analyzed to construct sets of forward-shifted fields and sets of backward-shifted fields, and the sending and receiving fields are filtered from the sets. Field numbers with a positional difference of more than 3 digits are identified as misaligned field numbers. The corresponding transmission path number and receiving node index are then extracted from these misaligned numbers. The module number Mj in the task table is retrieved. Combining this with the field number list under each module number, it is determined whether multiple consecutive field numbers appear in the misalignment set. If all fields F220 to F225 in module M26 appear in the misalignment set, and the corresponding node order is reversed or skipped, the module is marked as a transmission path abnormal module. Finally, all misaligned field numbers are aggregated according to the module number to form a field path comparison table corresponding to the module. Based on this table, the field receiving order comparison status of each module is output as a judgment benchmark, ultimately obtaining the closed-loop status item of the module burning process.

[0039] Please see Figure 8 An OV camera firmware flashing method is performed based on the aforementioned OV camera firmware flashing system, and includes the following steps: S1: Obtain the trigger time of the bus request clock signal and data signal issued by the expansion card master control node, compare the trigger order of the signals according to the node number, strip the overlapping segments of the signals, filter out the signal paths without conflicts, and obtain the task identifier of the first channel module. S2: Based on the module number in the first channel module task identifier, extract the burning script path, tail address and instruction number, obtain the response fields and instruction order during the execution process, match the field receiving order and task line number, identify misaligned field transmission behavior, and obtain the firmware writing process task list. S3: Based on the module number of feedback delay in the firmware writing process task list, extract the task number and physical channel number, compare the position of the number in the task path and channel order, identify the nodes with misaligned order, and obtain the instruction path offset module set. S4: Based on the module number in the instruction path offset module set, read the field position and content of the readback frame, extract the field position of the module before and after for comparison, track the field displacement behavior, and extract the field content of the corresponding field and the task field number to obtain the field content of the readback field sequence disjoint list. S5: Based on the module number in the readback field sequence disjoint list, extract the page address, field number and transmission path, match the position of the bit field in the task and readback, identify the path continuity relationship between the field and the node, and obtain the closed loop status item of the module burning process.

[0040] 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.

Claims

1. An OV camera firmware burning system, characterized in that, The system includes: The bus channel filtering module obtains the trigger points of the bus request clock signal and data signal issued by the expansion card master control node, strips out overlapping signals, extracts independent path nodes, and obtains the task identifier item of the first channel module. The write instruction tracking module extracts the script path and instruction sequence based on the module number in the first channel module task identifier, reads the field transmission order, compares the task and response order, identifies offset behavior, and obtains the firmware write process task list. The instruction path offset checking module extracts the module number and channel order based on the delay module number in the firmware writing process task list, compares the task sequence mapping, identifies the channel execution and misalignment number, and obtains the instruction path offset module set. The readback field collaboration module reads the position and content of the tail field based on the instruction path offset module set module number, tracks the field displacement path, and obtains the readback field sequence disjoint list corresponding to the task number range. The closed-loop verification module extracts the field number and page address from the module number in the readback field sequence disjoint list, analyzes the field transmission order and node response position, compares the transmission behavior path, and obtains the closed-loop status item of the module burning process.

2. The OV camera firmware burning system according to claim 1, characterized in that: The first channel module task identifier includes the master control node number, clock signal trigger time, data signal trigger time, signal timing comparison result, and non-overlapping path index. The firmware writing process task list includes the module number, burning script path, storage area write start address, execution instruction number, response field position, and transmission response mapping information. The instruction path offset module set includes the module number, task order position, physical channel mapping, and order difference identifier. The readback field order disjoint list includes the module number, field position information, field displacement behavior, field number range, and disjointed field content. The module burning process closed-loop status item includes the module number, page address, field number, field position, and response node order comparison result.

3. The OV camera firmware burning system according to claim 1, characterized in that, The bus request clock signal refers to the clock signal triggered when the master node issues a request operation through the bus, which is used to determine the timing control of communication. The data signal trigger point refers to the time point when the falling edge of the data signal is triggered in bus communication, which determines the start and synchronization node of data transmission.

4. The OV camera firmware burning system according to claim 1, characterized in that, The script path refers to the path where the firmware burning script file is located, which is extracted from the host computer during the task execution process, and the write instructions that are loaded and executed. The task sequence mapping refers to comparing and mapping the execution order of module numbers in the task list with their order in the actual physical channel.

5. The OV camera firmware burning system according to claim 1, characterized in that, The bus channel filtering module includes: The signal trigger extraction submodule obtains the trigger point of the falling edge of the clock signal and the trigger point of the data signal being pulled low when the master control node in the expansion card issues a bus request. It records the trigger point information corresponding to each master control node as a time point pair according to the master control number, and obtains the master control node signal trigger pair column. The timing sequence comparison submodule performs an index mapping of the timing sequence of the clock signal and the data signal based on the trigger time point data corresponding to the number in the main control node signal trigger pair column, identifies the numbered pairs of similar signal triggers, and obtains the signal trigger sequence mapping set. The path node extraction submodule analyzes whether there is an overlap between the clock signal and data signal trigger intervals of the master control based on the signal trigger sequence mapping set. It then filters out the master control numbers that do not have time domain overlap to obtain the task identifier item of the first channel module.

6. The OV camera firmware burning system according to claim 1, characterized in that, The write instruction tracking module includes: The task parameter extraction submodule extracts the burning script path, the start address of writing the end segment of the storage area and the corresponding execution instruction number from the host computer task sequence based on the module number in the task identifier item of the first channel module, and matches the content with the module number to obtain the writing instruction parameter lookup table. The field order reading submodule collects response field position data during instruction writing based on the task field number and script path in the write instruction parameter lookup table, compares the positions of the task field number and response field number in the sequence, and obtains the field number order comparison result. The response trajectory offset submodule extracts the offset position of the response field and the corresponding task field number based on the data segment where the task field and response field are misaligned in the field number order comparison result. It constructs a retrieval path according to the number order, extracts the correspondence between the fields in the instruction transmission sequence, and obtains the firmware writing process task list.

7. The OV camera firmware burning system according to claim 1, characterized in that, The instruction path offset checking module includes: The delay number extraction submodule extracts the corresponding number order and channel order in the task record based on the module number that reports the delay in the firmware writing process task list, and compares the index in the order according to the module number to obtain the task number channel mapping table. The position sequence comparison submodule obtains the index position of the module number and the index position of the channel order in the task sequence based on the number sequence in the task number channel mapping table, aligns the positions according to the number order, filters out data items that deviate from the order, and obtains the index offset sequence. The channel misalignment filtering submodule, based on the index offset sequence, locates data combinations where the module number and channel order are misaligned, extracts the task path information and number distribution of the module corresponding to the misaligned combination, and obtains the instruction path offset module set.

8. The OV camera firmware burning system according to claim 1, characterized in that, The readback field collaboration module includes: The field position extraction submodule reads the field position and field content data of the corresponding tail data frame of each module from the storage area based on the module number in the instruction path offset module set, extracts the field index and data start position coordinates, and obtains the field position information sequence corresponding to the end position of the current module field content in the frame. The displacement behavior comparison submodule extracts the starting index position of adjacent module fields based on the field position information sequence, calls the displacement data between field indices, compares the field index movement labels, analyzes the field index stride discontinuity items, and obtains the field displacement difference sequence. The paragraph field filtering submodule, based on the field displacement difference sequence, compares the field number distribution segments in the task table, calls the content of the corresponding number field of the difference item, maps the start and end addresses of the field transmission interval, extracts the paragraph field at the offset position, and obtains the list of disjointed read-back fields.

9. The OV camera firmware burning system according to claim 1, characterized in that, The programming closed-loop verification module includes: The task field extraction submodule extracts the field sequence number and page address index of the corresponding task from the task data area based on the module number in the readback field sequence disjoint list, calls the start and end position data of the field content in the task, establishes a corresponding list of field index values ​​and their respective page addresses, and obtains the task field position sequence. The page address location comparison submodule extracts the page address location of the fields based on the task field location sequence, reads the location information of the response field in the storage area, compares the order of the write field page index and the readback field page index, and filters the path according to the intersection range of the field indexes to obtain the set of page address offset fields. The field path sequence comparison submodule extracts the field number and the node order in the transmission path based on the page address offset field set, compares the position of the field number received by the node in sequence, classifies the field numbers that are moved forward or backward, filters out mismatch items between the field number and the path node order, and obtains the closed-loop status item of the module burning process.

10. A method for burning firmware to an OV camera, characterized in that, The OV camera firmware burning system according to any one of claims 1-9 includes the following steps: S1: Obtain the trigger time of the bus request clock signal and data signal issued by the expansion card master node, compare the trigger order of the signals according to the node number, strip the overlapping segments of the signals, filter out the signal paths without conflicts, and obtain the task identifier of the first channel module. S2: Based on the module number in the first channel module task identifier, extract the burning script path, tail address and instruction number, obtain the response fields and instruction order during the execution process, match the field receiving order and task line number, identify misaligned field transmission behavior, and obtain the firmware writing process task list. S3: Based on the module number of the feedback delay in the firmware writing process task list, extract the task number and physical channel number, compare the position of the number in the task path and channel order, identify the nodes with misaligned order, and obtain the instruction path offset module set. S4: Based on the module number in the instruction path offset module set, read the field position and content of the readback frame, extract the field position of the module before and after for comparison, track the field displacement behavior, and extract the field content of the corresponding field and the task field number to obtain the field content of the readback field sequence disjoint list. S5: Based on the module number in the readback field sequence disconnection list, extract the page address, field number and transmission path, match the position of the field in the task and readback, identify the path continuity relationship between the field and the node, and obtain the closed loop status item of the module burning process.