CN115220978B - Chip starting method and device including online debugging mode, chip and equipment - Google Patents

Chip starting method and device including online debugging mode, chip and equipment Download PDF

Info

Publication number
CN115220978B
CN115220978B CN202211134905.9A CN202211134905A CN115220978B CN 115220978 B CN115220978 B CN 115220978B CN 202211134905 A CN202211134905 A CN 202211134905A CN 115220978 B CN115220978 B CN 115220978B
Authority
CN
China
Prior art keywords
starting
chip
mode
program
debugging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211134905.9A
Other languages
Chinese (zh)
Other versions
CN115220978A (en
Inventor
李海斌
王罡
毕晓东
吴江源
邹阳
张俞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hanbo Semiconductor Shanghai Co ltd
Original Assignee
Hanbo Semiconductor Shanghai Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hanbo Semiconductor Shanghai Co ltd filed Critical Hanbo Semiconductor Shanghai Co ltd
Priority to CN202211134905.9A priority Critical patent/CN115220978B/en
Publication of CN115220978A publication Critical patent/CN115220978A/en
Application granted granted Critical
Publication of CN115220978B publication Critical patent/CN115220978B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2247Verification or detection of system hardware configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

The disclosure provides a chip starting method, a chip starting device, a chip and equipment comprising an online debugging mode, and relates to the technical field of computers, in particular to the technical field of chips. The implementation scheme is as follows: acquiring a target request related to chip starting, wherein the target request comprises a starting program identifier to be selected and starting mode information, the starting mode information is used for indicating a starting mode of the chip, the starting program identifier to be selected can indicate a starting program to be selected in a plurality of starting programs, and the starting mode of the chip comprises an online debugging mode; updating starting parameter information based on the starting program identifier to be selected and the starting mode information, wherein the starting parameter information comprises a debugging identifier which is used for indicating whether debugging is carried out or not; and starting the chip based on the starting parameter information.

Description

Chip starting method and device including online debugging mode, chip and equipment
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a chip starting method and apparatus including an online debugging mode, a chip, an electronic device, a computer-readable storage medium, and a computer program product.
Background
The debugging process of the starting program of the chip usually needs to be programmed by manpower, and the starting process of the remote configuration chip cannot be realized.
The approaches described in this section are not necessarily approaches that have been previously conceived or pursued. Unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. Similarly, unless otherwise indicated, the problems mentioned in this section should not be considered as having been acknowledged in any prior art.
Disclosure of Invention
The present disclosure provides a chip start-up method, apparatus, chip, electronic device, computer-readable storage medium and computer program product comprising an online debug mode.
According to an aspect of the present disclosure, there is provided a chip start-up method including an online debugging mode. The method comprises the following steps: acquiring a target request related to chip starting, wherein the target request comprises a starting program identifier to be selected and starting mode information, the starting mode information is used for indicating a starting mode of the chip, the starting program identifier to be selected can indicate a starting program to be selected in a plurality of starting programs, and the starting mode of the chip comprises an online debugging mode; updating starting parameter information based on the starting program identifier to be selected and the starting mode information, wherein the starting parameter information comprises a debugging identifier which is used for indicating whether debugging is carried out or not; and starting the chip based on the starting parameter information.
According to another aspect of the present disclosure, there is provided a chip start-up apparatus including an online debugging mode. The device includes: the chip starting method comprises the steps that a first obtaining unit is configured to obtain a target request related to chip starting, the target request comprises a starting program identifier to be selected and starting mode information, the starting mode information is used for indicating a starting mode of the chip, the starting program identifier to be selected can indicate a starting program to be selected in a plurality of starting programs, and the starting mode of the chip comprises an online debugging mode; the second obtaining unit is configured to update starting parameter information based on the starting program identifier to be selected and the starting mode information, the starting parameter information comprises a debugging identifier, and the debugging identifier is used for indicating whether to perform debugging or not; and a starting unit configured to start the chip based on the starting parameter information.
According to yet another aspect of the present disclosure, there is provided a chip comprising: at least one processor; and a memory having a computer program stored thereon, wherein the computer program, when executed by the processor, causes the processor to perform the above-mentioned method.
According to yet another aspect of the present disclosure, there is provided an electronic device including the chip described above.
According to yet another aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, causes the processor to carry out the above-mentioned method.
According to yet another aspect of the present disclosure, a computer program product is provided, comprising a computer program which, when executed by a processor, causes the processor to carry out the above-mentioned method.
According to one or more embodiments of the disclosure, by configuring the boot parameters by using the target request and then starting the chip based on the boot parameters, the boot program for executing the boot can be flexibly adjusted, thereby realizing the remote debugging of the chip.
These and other aspects of the disclosure will be apparent from and elucidated with reference to the embodiments described hereinafter.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the embodiments and, together with the description, serve to explain the exemplary implementations of the embodiments. The illustrated embodiments are for purposes of illustration only and do not limit the scope of the claims. Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.
Fig. 1 shows a flowchart of a startup method of a chip according to an exemplary embodiment of the present disclosure;
fig. 2 is a schematic diagram illustrating a storage structure of a start-up program and start-up parameter information of a chip according to an exemplary embodiment of the present disclosure;
fig. 3A and 3B illustrate a flowchart of a start-up method of a chip according to an exemplary embodiment of the present disclosure;
fig. 4 illustrates a block diagram of a start-up apparatus of a chip according to an exemplary embodiment of the present disclosure;
fig. 5 shows a block diagram of an electronic device according to an exemplary embodiment of the present disclosure.
Detailed Description
In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, the timing relationship, or the importance relationship of the elements, and such terms are used only to distinguish one element from another. In some examples, a first element and a second element may refer to the same instance of the element, while in some cases they may refer to different instances based on the context of the description.
Generally, a chip needs to be started based on a start-up program, and by executing the start-up program, modules such as a processor, a memory, and a communication interface in the chip can be detected and initialized, so that the chip can communicate with other external devices and execute corresponding application programs.
In the related art, when a start-up program of a chip needs to be debugged, the chip may be started based on the start-up program to be debugged, and when the start-up program to be debugged has an error, the chip may not normally communicate with the outside, that is, an external instruction may not be obtained or an application program may not be executed. In this case, the start-up procedure of the chip needs to be reconfigured by means of manual programming. It can be seen that this implementation is limited by physical space and cannot implement remote debugging of the chip.
Based on this, the present disclosure provides a chip starting method including an online debugging mode, which can flexibly adjust a starting mode of a chip and a starting program for executing starting by configuring starting parameters by using a target request related to chip starting and then starting the chip based on the starting parameters, thereby realizing remote debugging of the chip.
Fig. 1 shows a flow chart of a start-up method 100 of a chip according to an exemplary embodiment of the disclosure. As shown in fig. 1, the method 100 includes:
step S110, acquiring a target request related to chip starting, wherein the target request comprises a starting program identifier to be selected and starting mode information, the starting mode information is used for indicating a starting mode of the chip, the starting program identifier to be selected can indicate a starting program to be selected in a plurality of starting programs, and the starting mode of the chip comprises an online debugging mode;
step S120, updating starting parameter information based on the starting program identifier to be selected and the starting mode information, wherein the starting parameter information comprises a debugging identifier which is used for indicating whether debugging is carried out or not; and
and step S130, starting the chip based on the starting parameter information.
Thereby, the information contained in the target request can be used to indicate the starting mode of the chip and the starting program to be selected, the starting parameter information is configured based on the information, and the chip is started based on the configured starting parameter, so that the chip can be started according to the information indicated by the target request. The starting parameters are utilized to control the chip to be started, so that the starting program for executing the chip to be started can be flexibly adjusted by adjusting the starting parameters under the condition that the starting program possibly has errors, and the starting process of the chip is prevented from being influenced by the starting program with errors. It should be understood that the target request may be a remote request, that is, the start parameter information of the chip is remotely configured, and the remote debugging of the chip may be implemented by configuring the start mode of the chip to be an online debugging mode by using the remote request.
The chip may refer to various types of chips such as a microprocessor, a graphic processor, a tensor processor, a neural network processor, a communication control chip, a digital signal processing chip, an SOC (System on chip) chip, and the like, for example, without limitation.
Illustratively, the target request can be sent manually under the condition that the chip is working normally, and the process of manually configuring and sending the target request is not limited by physical distance under the condition that the chip establishes communication connection with other devices or equipment, so that the starting parameter information of the chip can be remotely and flexibly configured. The target request may be, for example, a debug request or an update request, thereby enabling remote debugging or updating of the chip boot program.
Illustratively, the plurality of boot programs and boot parameter information may be stored in a memory communicatively coupled to the chip, such as a flash memory. In the normal working process of the chip, the chip can be used for modifying the plurality of starting programs and the starting parameter information, so that the chip can read the starting parameter information in the restarting process, and obtain and execute the corresponding starting program based on the starting parameter information, thereby realizing the starting process of the control chip.
According to some embodiments, the startup parameter information further comprises a selected startup procedure identification. Therefore, the debugging identifier and the selected starting program identifier can be used for indicating the starting program for executing the chip starting conveniently and efficiently, and the chip starting efficiency is improved.
In some examples, each of the plurality of boot programs has a uniquely determined identifier, the selected boot program identifier and the debug identifier may be implemented by using variable tags, and the boot program to be obtained and used for executing chip boot may be determined by reading a value of a corresponding variable.
For example, the start parameter information may be in other forms, such as an address pointer to indicate a selected start program of a plurality of start programs, or a start program for executing chip start, which is not limited herein.
According to some embodiments, updating the boot parameter information in step S120 based on the to-be-selected boot program identifier and the boot mode information includes: responding to the starting mode information indicating that the starting mode of the chip is an online debugging mode, and determining the current starting program identifier as the selected starting program identifier; and updating the debugging identification so that the updated debugging identification indicates debugging. Therefore, when the target request is a debugging request, the selected startup program identifier in the startup parameter information is not updated, only the debugging identifier is updated to indicate debugging, so that startup program debugging can be executed, and when the debugging program has an error, the chip can be restarted based on the startup program corresponding to the selected startup program identifier in the startup parameter information, so that the chip can be restarted successfully.
Further, according to some embodiments, the start parameter information further includes the start program identifier to be selected, and the starting the chip in step S130 based on the start parameter information includes: responding to the starting mode information to indicate that the starting mode of the chip is an online debugging mode, and acquiring a starting program to be selected based on the starting program identification to be selected; and starting the chip by using the starting program to be selected so as to test the starting program to be selected. Therefore, the startup parameter information can be used for indicating the execution of the debugging and the startup program to be debugged which needs to be executed simply and efficiently, and further executing and testing the startup program to be debugged.
Illustratively, the selected start-up program identifier may be a start-up program used to instruct the chip to restart.
In one example, the selected initiator identifier may be a pointer to initiator a, and the target request may include initiator B to be selected and indicate an online debugging mode, i.e., for indicating debugging initiator B. By using the method as described above, the boot program B can be acquired based on the boot program identifier to be selected, and then the boot program B is executed and tested, in the case where the debugging identifier indicates to perform debugging.
As described above, the start-up procedure is used to initialize the modules of the processor, the memory, the communication interface, etc. in the chip, so that the chip can communicate with other external devices and execute the corresponding application programs. In the above example, the starting the chip by using the to-be-selected starting program to test the to-be-selected starting program includes: and executing the starting program B to be debugged to initialize the chip, further testing the basic function of the chip, and determining whether the starting program B has errors or not based on the basic function.
The test of the selected start-up program may be performed by executing a pre-configured test program. For example, when the function of the to-be-selected start-up program is to initialize the communication function of the chip, a communication test program may be configured in advance for testing whether the to-be-selected start-up program can normally initialize the communication function of the chip.
It should be understood that other ways of starting the chip based on the start parameter information are also possible. For example, in one example, the plurality of boot programs includes only two boot programs, in which case the boot parameter information includes only the selected boot program identifier and the debug identifier as described above, and booting the chip based on the boot parameter information includes: responding to the starting mode information indicating that the starting mode of the chip is an online debugging mode, and acquiring another starting program different from the selected starting program in the two starting programs based on the selected starting program identification; and starting the chip by using the other starting program so as to test the starting program to be selected. Therefore, the combination judgment can be carried out by utilizing the identification information contained in the startup parameter information, the startup program required to be executed is simply and efficiently indicated, and the chip is started based on the startup program.
In a practical application scenario, there are the following possibilities: errors may exist in the boot program to be debugged, which may cause the chip to be unable to initialize normally, and further unable to operate and communicate normally.
Based on this, according to some embodiments, step S130 further comprises: and after the starting program to be selected is used for starting, updating the debugging identification again so as to enable the debugging identification after updating again to indicate that debugging is not carried out. Therefore, debugging is not executed when the chip is restarted, the chip is restarted by the starting program corresponding to the starting program identifier selected from the starting parameters, and the chip can be successfully restarted.
Further, according to some embodiments, the method 100 further comprises: and restarting the chip based on the updated starting parameter information in response to the test failure of the starting program to be selected. By updating the debugging identification, the chip can be restarted based on a non-debugging mode under the condition that the starting program to be debugged has errors, so that the restarting process of the chip is prevented from being influenced by the errors of the starting program to be debugged, and the normal operation of the chip is ensured.
With continued reference to the above-described example, in the case where the startup parameter information only includes the selected startup program identifier and the debugging identifier as described above, a combined judgment may be performed by using the two pieces of identification information to determine the startup program to be executed. After updating the debugging identifier, the process of restarting the chip includes: and responding to the updated debugging identification indication without debugging, and acquiring the selected starting program based on the selected starting program identification so as to start the chip. Illustratively, the selected start-up program identifier may be a start-up program applied when the chip is instructed to restart, so that the updated start-up parameter information can instruct to restart by using the current start-up program, and further the chip can be restarted by using the start-up program with a normal function when the start-up program to be debugged has an error, thereby ensuring normal operation of the chip.
After determining that the test for the to-be-selected startup program does not pass, the method may further search and modify a problem existing in the startup program based on the test result, and then repeatedly perform the startup and test steps by using the modified to-be-selected startup program, so as to implement debugging of the startup program.
It should be understood that the start-up procedure to be selected may replace the current start-up procedure after the test passes. Therefore, after the test of the startup program to be selected is completed, the startup parameter information may be updated again, so that the updated startup parameter information can indicate that the startup program to be selected is utilized for startup.
Based on this, according to some embodiments, the method 100 further comprises: and in response to the test passing of the starting program to be selected, updating the selected starting program identifier to the starting program identifier to be selected. Therefore, after the test of the starting program to be selected is finished, the starting parameter information can be simply, conveniently and efficiently utilized to control the subsequent chip starting process, so that the chip can be started by utilizing the starting program to be selected.
It should be understood that the startup mode of the chip is not limited to the online debugging mode, and for example, in an actual application scenario, an update request may be sent to the chip to update the startup program for execution in the startup process in a case where it is determined that the startup program to be updated is normal in function.
Based on this, according to some embodiments, the startup mode of the chip further includes an online update mode, and updating the startup parameter information based on the startup program identifier to be selected and the startup mode information in step S120 includes: in response to the starting mode information indicating that the starting mode of the chip is an online updating mode, updating the selected starting program identifier to the starting program identifier to be selected; and updating the debugging identification so that the updated debugging identification indicates that debugging is not performed, so that the chip can be restarted by the starting program corresponding to the starting program identification to be selected to update the starting program.
It should be understood that updating the debug flag may include a case where the debug flag before and after the update is inconsistent, and may also include a case where the debug flag before and after the update is consistent.
Further, according to some embodiments, the booting the chip based on the boot parameter information in step S130 includes: responding to the starting mode information to indicate that the starting mode of the chip is an online updating mode, and acquiring a selected starting program based on the updated selected starting program identifier; and restarting the chip by using the selected starting program. Therefore, the startup parameter information can be used for indicating the startup program to be debugged, which needs to be executed, simply and efficiently, and then the chip startup program is executed and updated.
Example embodiments of the present disclosure will be further described below in conjunction with examples.
Fig. 2 illustrates a schematic diagram of a storage structure of a start-up program and start-up parameter information of a chip according to an exemplary embodiment of the present disclosure. Fig. 3A and 3B illustrate a flowchart of a start-up method of a chip according to an exemplary embodiment of the present disclosure.
Referring to fig. 2, in some examples, the plurality of boot programs includes a boot program a and a boot program B, and the boot parameter information and the boot program are stored in a memory communicatively coupled to the chip, which may be, for example, a flash memory. In the normal working process of the chip, the chip can be used for modifying the starting program of the starting parameter information in the flash memory, and the respective storage address information of the above contents can be recorded. In other examples, the chip may also read and write the startup parameter information and the startup program in the flash memory according to predefined storage address information, so as to improve stability of data storage.
In the above example, on the basis that each boot program has a uniquely determined identifier (a or B), the selected boot program identifier and the debugging identifier may be implemented by using two variable tags, respectively, for example, the selected boot program may be indicated by assigning a value (a or B) to the variable Select _ flag, and the Debug _ flag may be assigned a value (1 or 0) to indicate whether to Debug. In the chip starting process, the starting parameter information is read from a flash memory, then a corresponding starting program to be executed is obtained based on the starting parameter information, and the chip is started based on the starting program.
In some embodiments, the chip may be booted using a method of booting the chip as shown in FIG. 3. Fig. 3A and 3B show flowcharts of a chip start-up method in the online debug mode and the online update mode, respectively. As shown in fig. 3A, when the start mode of the chip is the online debugging mode, the start method of the chip includes:
s1, acquiring a target request related to chip starting, wherein the target request comprises a starting program identifier to be selected and starting mode information. The target request may be manually configured and sent to the chip.
In this example, the target request is used to instruct debugging or updating for the boot program B, that is, the boot program currently utilized by the chip is the boot program a (i.e., the current value of the variable Select _ flag is a), and the boot program to be selected is the boot program B.
Step S2, in response to determining that the start mode of the chip is the online debugging mode, determining the current start program identifier a as the selected start program identifier, and continuing to execute the following steps S3 to S10:
and S3, updating the debugging identification Debug _ flag so that the updated debugging identification Debug _ flag indicates debugging. As described above, the Debug flag is implemented by using the variable flag Debug _ flag, i.e. the variable Debug _ flag may be assigned to 1 in this step to indicate debugging.
Step S2 may be implemented by using an executable assignment statement for the variable Select _ flag, and step S3 may be implemented by using an executable assignment statement for the variable Debug _ flag. It can be seen that there are the following possibilities in the application flow: the current identifier already meets the corresponding requirements, so that no update of the identifier is required, i.e. no corresponding assignment statement needs to be executed. However, in an actual application scenario, a corresponding process can be implemented by using a unified executable file containing the assignment statement, which is simpler and faster.
And S4, acquiring a starting program B to be selected based on the debugging identification and the selected starting program identification. That is, when the debugging identifier indicates to perform debugging and the selected initiator identifier is still determined to be the current initiator identifier, the initiator B to be selected is obtained based on the initiator identifier to be selected in the target request. In this example, the boot program B to be selected may be acquired from the flash memory according to pre-stored address information or predefined address information.
And S5, starting the chip by using the starting program B to be selected. By executing the startup program B to be selected, modules such as a processor, a memory, a communication interface and the like in the chip can be initialized, so that the chip can communicate with other external devices and execute corresponding application programs.
And S6, updating the debugging identification Debug _ flag so that the updated debugging identification Debug _ flag indicates that debugging is not performed. As described previously, updating the identification in the startup parameter information may be accomplished using an executable assignment statement for the corresponding variable. It should be appreciated that in some examples, the executable assignment statement may be inserted into a corresponding executable file of the initiator, and may be inserted into a front sequence of the executable file, so that the initiator can update the debug flag as early as possible during execution. For example, after the communication function between the chip and the flash memory is initialized, the stored debugging identifier may be updated, so that the starting parameter information may be prevented from being affected by an error of the starting program.
And S7, testing the starting program to be selected. In this example, each function of the chip may be tested by executing a pre-configured test program to determine whether the to-be-selected start-up program B can normally initialize the corresponding function of the chip.
And S8, judging whether the test of the starting program to be selected passes or not.
And responding to the test passing of the starting program to be selected, executing step S9, and updating the selected starting program identifier to the starting program identifier B to be selected. On this basis, the chip can be started by using the starting program B which has passed the test in the next starting process in combination with the debugging identifier updated in step S6.
And responding to the test failure of the starting program to be selected, executing the step S10, and restarting the chip based on the updated starting parameter information. And (4) combining the debugging identifier updated in the step (S6), the chip can be started by using the original starting program A in the next starting process, so that the restarting process of the chip is prevented from being influenced by the error of the starting program B to be debugged, and the normal operation of the chip is ensured.
As shown in fig. 3B, when the startup mode of the chip is the online update mode, the startup method of the chip includes:
s11, acquiring a target request related to chip starting, wherein the target request comprises a starting program identifier to be selected and starting mode information.
And S12, in response to the fact that the starting mode of the chip is determined to be the online updating mode, updating the selected starting program identifier into the program identifier to be selected. That is, the variable Select flag may be assigned a value of B at this step to indicate that the selected startup procedure is startup procedure B.
And S13, updating the debugging identification so that the updated debugging identification indicates that debugging is not performed. I.e., the variable Debug _ flag may be assigned a value of 0 at this step to indicate that no debugging is to be performed.
And S14, acquiring the starting program B to be selected based on the debugging identifier and the selected starting program identifier. That is to say, when the debugging identifier indicates that no debugging is performed and the selected initiator identifier is updated to the initiator identifier to be selected, the initiator B to be selected is obtained based on the initiator identifier to be selected in the target request.
And S15, starting the chip by using the starting program B to be selected.
It can be seen that in the above flow, the embodiments of steps S12-S13 are similar to the above steps S2-S3 in fig. 3A, and can be implemented by using executable assignment statements for variables, for example, and the embodiments of steps S14-S15 are similar to the steps S4-S5 in fig. 3A. That is, when the chip is in the online update mode, the startup of the chip can be realized with the flow shown in fig. 3A, although the execution of steps S6-S10 shown in fig. 3A is not essential. Therefore, in an actual application scenario, the corresponding process can be completed by executing the same executable file capable of implementing the steps, and convenience can be improved without affecting normal work of the chip.
According to another aspect of the present disclosure, a starting device of a chip is also provided. Fig. 4 shows a block diagram of a start-up apparatus 400 of a chip according to an exemplary embodiment of the present disclosure. As shown in fig. 4, the apparatus 400 includes:
a first obtaining unit 410, configured to obtain a target request related to chip startup, where the target request includes a startup program identifier to be selected and startup mode information, the startup mode information is used to indicate a startup mode of the chip, the startup program identifier to be selected can indicate a startup program to be selected from multiple startup programs, and the startup mode of the chip includes an online debugging mode;
a second obtaining unit 420, configured to update the startup parameter information based on the startup program identifier to be selected and the startup mode information; and
a starting unit 430 configured to start the chip based on the starting parameter information.
It can be understood that operations and technical effects of the units 410 to 430 in the apparatus 400 are similar to those of the steps S110 to S130 in fig. 1, and are not described herein again.
According to another aspect of the present disclosure, there is provided a chip comprising: at least one processor; and a memory on which a computer program is stored, wherein the computer program, when executed by the processor, causes the processor to execute the method for starting the chip.
According to another aspect of the present disclosure, there is provided an electronic device including the chip described above.
According to another aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, causes the processor to execute the startup method of the chip described above.
According to another aspect of the present disclosure, a computer program product is provided, comprising a computer program which, when executed by a processor, causes the processor to carry out the method of booting the chip described above.
Fig. 5 is a block diagram illustrating an example of an electronic device according to an exemplary embodiment of the present disclosure. It should be noted that the structure shown in fig. 5 is only one example, and according to a specific implementation, the electronic device of the present disclosure may include only one or more of the components shown in fig. 5.
The electronic device 500 may be, for example, a general purpose computer (e.g., various computers such as a laptop computer, a tablet computer, etc.), a mobile phone, a personal digital assistant. According to some embodiments, the electronic device 500 may be a cloud computing device and a smart device.
According to some embodiments, the electronic device 500 may be configured to process at least one of images, text, and audio, and transmit the processing results to an output device for provision to a user. The output device may be, for example, a display screen, a device including a display screen, or an audio output device such as an earphone, a speaker, or an oscillator. For example, the electronic device 500 may be configured to perform object detection on an image, transmit the object detection result to a display device for display, and the electronic device 500 may be further configured to perform enhancement processing on the image, and transmit the enhancement result to the display device for display. The electronic device 500 may be further configured to recognize text in the image and transmit the recognition result to the display device for display and/or convert the recognition result into sound data and transmit to the sound output device for playing. The electronic device 500 may also be configured to recognize and process audio and transmit the recognition results to a display device for display and/or convert the processing results into sound data and transmit to a sound output device for playback.
The electronic device 500 may include an image processing circuit 503, and the image processing circuit 503 may be configured to perform various image processing on an image. The image processing circuit 503 may be configured to, for example, perform at least one of the following image processing on the image: denoising an image, geometrically correcting the image, extracting features of the image, detecting and/or identifying objects in the image, enhancing the image, detecting and/or identifying text contained in the image, and so on.
The electronic device 500 may also include a text recognition circuit 504, the text recognition circuit 504 configured to perform text detection and/or recognition (e.g., OCR processing) on text regions in an image to obtain text data. The word recognition circuit 504 may be implemented by a dedicated chip, for example. The electronic device 500 may also include a voice conversion circuit 505, the voice conversion circuit 505 configured to convert the textual data into voice data. The voice conversion circuit 505 may be implemented by a dedicated chip, for example.
The electronic device 500 may also include an audio processing circuit 506, the audio processing circuit 506 configured to convert audio to text, thereby obtaining audio corresponding text data. The audio processing circuit 506 may also be configured to process audio corresponding text data, which may include, for example, keyword extraction, intent recognition, intelligent recommendation, intelligent question answering, and the like. The audio processing circuit 506 may be implemented by a dedicated chip, for example. The voice conversion circuit 505 may be further configured to convert the audio processing result into voice data suitable for application scenarios such as voice assistant or virtual customer service.
For example, one or more of the various circuits described above may be implemented by programming hardware (e.g., programmable logic circuitry including Field Programmable Gate Arrays (FPGAs) and/or Programmable Logic Arrays (PLAs)) with an assembly language or a hardware programming language (such as VERILOG, VHDL, C + +) using logic and algorithms according to the present disclosure.
According to some embodiments, the electronic device 500 may further include an output device 507, which output device 507 may be any type of device for presenting information, which may include but is not limited to a display screen, a terminal with display functionality, headphones, speakers, a vibrator, a printer, and/or the like.
According to some embodiments, the electronic device 500 may also include an input device 508, which input device 508 may be any type of device for inputting information to the electronic device 500, which may include, but is not limited to, various sensors, mice, keyboards, touch screens, buttons, joysticks, microphones, and/or remote controls, among others.
According to some embodiments, the electronic device 500 may further include a communication device 509, which communication device 509 may be any type of device or system that enables communication with external devices and/or with a network, and may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication device, and/or a chipset, such as a bluetooth device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and/or the like.
According to some embodiments, the electronic device 500 may further comprise a processor 501. The processor 501 may be any type of processor and may include, but is not limited to, one or more general purpose processors and/or one or more special purpose processors (e.g., special purpose processing chips). The processor 501 may be, for example, but not limited to, a central processing unit CPU, a graphics processor GPU, or various dedicated Artificial Intelligence (AI) computing chips, or the like.
The electronic device 500 may further comprise a working memory 502 and a storage device 511. The processor 501 may be configured to be able to retrieve and execute computer readable instructions stored in the working memory 502, the storage device 511, or other computer readable medium, such as program code of the operating system 502a, program code of the application program 502b, and the like. The working memory 502 and the storage device 511 are examples of computer-readable storage media for storing instructions that can be executed by the processor 501 to implement the various functions described above. The working memory 502 may include both volatile and non-volatile memory (e.g., RAM, ROM, etc.). Storage devices 511 may include hard disk drives, solid state drives, removable media, including external and removable drives, memory cards, flash memory, floppy disks, optical disks (e.g., CDs, DVDs), storage arrays, network attached storage, storage area networks, and so forth. Both working memory 502 and storage device 511 may be referred to herein collectively as memory or computer-readable storage media, and may be non-transitory media capable of storing computer-readable, processor-executable program instructions as computer program code that may be executed by processor 501 as a particular machine configured to implement the operations and functions described in the examples herein.
According to some embodiments, the processor 501 may control and schedule at least one of the image processing circuit 503, the text recognition circuit 504, the voice conversion circuit 505, the audio processing circuit 506, and various other devices and circuits included in the electronic device 500. According to some embodiments, at least some of the various components described in FIG. 5 may be interconnected and/or in communication by a bus 510.
Software elements (programs) may reside in the working memory 502 including, but not limited to, an operating system 502a, one or more application programs 502b, drivers, and/or other data and code.
According to some embodiments, instructions for performing the aforementioned control and scheduling may be included in operating system 502a or one or more application programs 502 b.
According to some embodiments, instructions to perform the method steps described in the present disclosure may be included in one or more application programs 502b, and the various modules of the electronic device 500 described above may be implemented by instructions of the one or more application programs 502b being read and executed by the processor 501. In other words, the electronic device 500 may comprise a processor 501 and a memory (e.g. working memory 502 and/or storage device 511) storing a program comprising instructions which, when executed by the processor 501, cause the processor 501 to perform a method according to various embodiments of the present disclosure.
According to some embodiments, some or all of the operations performed by at least one of the image processing circuit 503, the word recognition circuit 504, the voice conversion circuit 505, and the audio processing circuit 507 may be implemented by instructions read and executed by the processor 501 from one or more application programs 502 b.
Executable code or source code of instructions of the software elements (programs) may be stored in a non-transitory computer-readable storage medium, such as the storage device 511, and may be stored in the working memory 502 (possibly compiled and/or installed) upon execution. Accordingly, the present disclosure provides a computer readable storage medium storing a program comprising instructions that, when executed by a processor of an electronic device, cause the electronic device to perform a method as described in various embodiments of the present disclosure. According to another embodiment, the executable code or source code of the instructions of the software elements (programs) may also be downloaded from a remote location.
It will also be appreciated that various modifications may be made according to particular requirements. For example, customized hardware might also be used and/or individual circuits, units, modules, or elements might be implemented in hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. For example, some or all of the circuits, units, modules, or elements encompassed by the disclosed methods and apparatus may be implemented by programming hardware (e.g., programmable logic circuitry including Field Programmable Gate Arrays (FPGAs) and/or Programmable Logic Arrays (PLAs)) in an assembly language or hardware programming language such as VERILOG, VHDL, C + +, using logic and algorithms in accordance with the present disclosure.
According to some embodiments, the processors 501 in the electronic device 500 may be distributed over a network. For example, some processes may be performed using one processor while other processes may be performed by another processor that is remote from the one processor. Other modules of the electronic device 500 may also be similarly distributed. As such, the electronic device 500 may be interpreted as a distributed computing system that performs processing at multiple locations. The processor 501 of the electronic device 500 may also be a processor of a cloud computing system, or a processor incorporating a blockchain.
Although embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it is to be understood that the above-described methods, systems and apparatus are merely exemplary embodiments or examples and that the scope of the present invention is not limited by these embodiments or examples, but only by the claims as issued and their equivalents. Various elements in the embodiments or examples may be omitted or may be replaced with equivalents thereof. Further, the steps may be performed in an order different from that described in the present disclosure. Further, various elements in the embodiments or examples may be combined in various ways. It is important that as technology evolves, many of the elements described herein may be replaced with equivalent elements that appear after the present disclosure.

Claims (11)

1. A method for starting a chip including an online debug mode, the method comprising:
acquiring a target request related to chip starting, wherein the target request comprises a starting program identifier to be selected and starting mode information, the starting mode information is used for indicating a starting mode of the chip, the starting program identifier to be selected can indicate a starting program to be selected in a plurality of starting programs, the starting mode of the chip comprises an online debugging mode and an online updating mode, the target request is a remote debugging request or updating request, the debugging request is used for remotely configuring starting parameter information of the chip to configure the starting mode of the chip to be the online debugging mode, and the updating request is used for remotely configuring the starting parameter information of the chip to configure the starting mode of the chip to be the online updating mode;
updating the starting parameter information based on the starting program identifier to be selected and the starting mode information, wherein the starting parameter information comprises a debugging identifier which is used for indicating whether debugging is carried out or not; and
and starting the chip based on the starting parameter information.
2. The method of claim 1, wherein the startup parameter information further comprises a selected startup procedure identification.
3. The method of claim 2, wherein said updating startup parameter information based on said startup procedure identification to be selected and startup mode information comprises:
in response to the boot mode information indicating that the boot mode of the chip is an online debug mode,
determining the current starting program identifier as the selected starting program identifier; and
and updating the debugging identification so that the updated debugging identification indicates debugging.
4. The method of claim 3, wherein the boot parameter information further includes the boot program identification to be selected, and the booting the chip based on the boot parameter information comprises:
in response to the boot mode information indicating that the boot mode of the chip is an online debug mode,
acquiring a starting program to be selected based on the starting program identification to be selected;
and starting the chip by using the starting program to be selected so as to test the starting program to be selected.
5. The method of claim 4, wherein the booting the chip based on the boot parameter information further comprises:
and after the starting program to be selected is used for starting, updating the debugging identification again so as to enable the debugging identification after updating again to indicate that debugging is not carried out.
6. The method of claim 5, wherein the method further comprises:
and restarting the chip based on the updated starting parameter information in response to the test failure of the starting program to be selected.
7. The method of claim 4, wherein the method further comprises:
and in response to the test passing of the starting program to be selected, updating the selected starting program identifier to the starting program identifier to be selected.
8. A chip start-up apparatus including an online debug mode, the apparatus comprising:
a first obtaining unit, configured to obtain a target request related to chip startup, where the target request includes a startup program identifier to be selected and startup mode information, the startup mode information is used to indicate a startup mode of the chip, the startup program identifier to be selected can indicate a startup program to be selected from a plurality of startup programs, the startup mode of the chip includes an online debugging mode and an online update mode, the target request is a remote debugging request or an update request, the debugging request is used to remotely configure startup parameter information of the chip to configure the startup mode of the chip as the online debugging mode, and the update request is used to remotely configure the startup parameter information of the chip to configure the startup mode of the chip as the online update mode;
the second obtaining unit is configured to update the starting parameter information based on the starting program identifier to be selected and the starting mode information, the starting parameter information includes a debugging identifier, and the debugging identifier is used for indicating whether to perform debugging or not; and
a starting unit configured to start the chip based on the starting parameter information.
9. A chip, comprising:
at least one processor; and
a memory having a computer program stored thereon, the computer program,
wherein the computer program, when executed by the processor, causes the processor to perform the method of any of claims 1-7.
10. An electronic device comprising the chip of claim 9.
11. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 1-7.
CN202211134905.9A 2022-09-19 2022-09-19 Chip starting method and device including online debugging mode, chip and equipment Active CN115220978B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211134905.9A CN115220978B (en) 2022-09-19 2022-09-19 Chip starting method and device including online debugging mode, chip and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211134905.9A CN115220978B (en) 2022-09-19 2022-09-19 Chip starting method and device including online debugging mode, chip and equipment

Publications (2)

Publication Number Publication Date
CN115220978A CN115220978A (en) 2022-10-21
CN115220978B true CN115220978B (en) 2023-02-03

Family

ID=83617421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211134905.9A Active CN115220978B (en) 2022-09-19 2022-09-19 Chip starting method and device including online debugging mode, chip and equipment

Country Status (1)

Country Link
CN (1) CN115220978B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566303A (en) * 1993-05-31 1996-10-15 Mitsubishi Denki Kabushiki Kaisha Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's
JP2000010814A (en) * 1998-05-13 2000-01-14 Axis Ab Chip with debugging capability
US6502209B1 (en) * 1998-05-13 2002-12-31 Axis Ab Chip with debug capability
CN101944072A (en) * 2010-09-01 2011-01-12 中兴通讯股份有限公司 Method and equipment for configuring starting mode of terminal equipment
CN108153616A (en) * 2016-12-06 2018-06-12 北京京存技术有限公司 A kind of storage chip startup program detection method and device
CN113986375A (en) * 2021-10-22 2022-01-28 山东云海国创云计算装备产业创新中心有限公司 SoC chip starting method and device

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516428B2 (en) * 1999-01-22 2003-02-04 Infineon Technologies Ag On-chip debug system
US20020099953A1 (en) * 2000-11-30 2002-07-25 International Business Machines Corporation Debugging of chipcards
US6934834B2 (en) * 2001-08-31 2005-08-23 Hewlett-Packard Development Company, L.P. Computer program for controlling the manner in which an operating system launches a plurality of application programs
US6895530B2 (en) * 2003-01-24 2005-05-17 Freescale Semiconductor, Inc. Method and apparatus for controlling a data processing system during debug
CN100359486C (en) * 2004-11-24 2008-01-02 中兴通讯股份有限公司 Method and apparatus for debugging internal core state programm of operation system
US7584456B1 (en) * 2005-01-14 2009-09-01 Altera Corporation Method and apparatus for debugging embedded systems having read only memory
CN101150460A (en) * 2007-11-14 2008-03-26 华为技术有限公司 Method and system for automatic debugging and testing of network devices
CN101458725B (en) * 2007-12-14 2012-01-25 上海海尔集成电路有限公司 Microcontroller chip and debug method thereof
CN101673237B (en) * 2009-09-02 2011-09-28 太仓市同维电子有限公司 Network type method for debugging starting procedure
US20130031419A1 (en) * 2011-07-28 2013-01-31 International Business Machines Corporation Collecting Debug Data in a Secure Chip Implementation
US20130198566A1 (en) * 2012-01-27 2013-08-01 Lsi Corporation Method and Apparatus for Debugging System-on-Chip Devices
CN103970551A (en) * 2013-01-29 2014-08-06 安凯(广州)微电子技术有限公司 Selection method and device for embedded processor start mode
US9292413B2 (en) * 2013-08-13 2016-03-22 International Business Machines Corporation Setting breakpoints in a code debugger used with a GUI object
CN105278974A (en) * 2014-06-30 2016-01-27 深圳市中兴微电子技术有限公司 Chip starting method and device
CN104298579B (en) * 2014-10-20 2016-12-07 大唐移动通信设备有限公司 A kind of logic chip and comprise the board card device of this logic chip
US9836386B2 (en) * 2014-12-18 2017-12-05 Red Hat Israel, Ltd. Automatic switch to debugging mode
US9606175B2 (en) * 2014-12-26 2017-03-28 Intel Corporation Reprogramming a port controller via its own external port
US9639425B1 (en) * 2015-01-13 2017-05-02 Marvell International Ltd. Signature-based sleep recovery operation flow
KR102415388B1 (en) * 2015-11-13 2022-07-01 삼성전자주식회사 System on chip and secure debugging method thereof
CN105786576B (en) * 2016-03-17 2019-06-04 硅谷数模半导体(北京)有限公司 Chip adjustment method and device based on serial ports
CN108021385A (en) * 2017-12-29 2018-05-11 北京神州龙芯集成电路设计有限公司 A kind of programming system and method for onboard SPI Flash
CN108804313B (en) * 2018-05-22 2021-05-18 联想(北京)有限公司 Method and device for remotely debugging program and server
CN110032482A (en) * 2019-04-11 2019-07-19 盛科网络(苏州)有限公司 Sheet sand covered device and method
CN110888766B (en) * 2019-11-18 2023-08-01 珠海泰芯半导体有限公司 Chip starting method
CN111124440A (en) * 2019-12-17 2020-05-08 湖南国科微电子股份有限公司 Chip software burning method, chip software burning data processing method and device
CN111464333A (en) * 2020-03-06 2020-07-28 浙江大华技术股份有限公司 Remote debugging method, computer equipment, storage device and remote debugging system
DE102020122702A1 (en) * 2020-08-31 2022-03-03 Infineon Technologies Ag System on chip and method for operating a system on chip
CN114020682A (en) * 2021-10-18 2022-02-08 爱芯元智半导体(上海)有限公司 Chip working mode control method and device, chip and storage medium
CN114327516A (en) * 2021-12-29 2022-04-12 苏州洪芯集成电路有限公司 Circuit and method for modifying chip system memory to burn
CN114625639A (en) * 2022-03-03 2022-06-14 上海先楫半导体科技有限公司 Debugging method, system and chip based on system on chip

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566303A (en) * 1993-05-31 1996-10-15 Mitsubishi Denki Kabushiki Kaisha Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's
JP2000010814A (en) * 1998-05-13 2000-01-14 Axis Ab Chip with debugging capability
US6502209B1 (en) * 1998-05-13 2002-12-31 Axis Ab Chip with debug capability
CN101944072A (en) * 2010-09-01 2011-01-12 中兴通讯股份有限公司 Method and equipment for configuring starting mode of terminal equipment
CN108153616A (en) * 2016-12-06 2018-06-12 北京京存技术有限公司 A kind of storage chip startup program detection method and device
CN113986375A (en) * 2021-10-22 2022-01-28 山东云海国创云计算装备产业创新中心有限公司 SoC chip starting method and device

Also Published As

Publication number Publication date
CN115220978A (en) 2022-10-21

Similar Documents

Publication Publication Date Title
CN106933593B (en) System switching method and device based on mobile terminal
CN111881019B (en) User interface testing method and device
CN106648685B (en) Intelligent terminal system application processing method and device and intelligent terminal
US10191751B2 (en) Information processing device for generating application programming interface information
US9501388B2 (en) Method and system for creating reference data
CN106126424A (en) A kind of visual automated testing method of script, device and mobile terminal
US20150186126A1 (en) System and Method of Automating Installation of Applications
CN113961259A (en) Boot program loading starting method, device, system, electronic equipment and medium
CN111158987B (en) Health check method and device for micro-service architecture
CN115220978B (en) Chip starting method and device including online debugging mode, chip and equipment
CN113377586A (en) Automatic server detection method and device and storage medium
CN115391066B (en) Data interaction method and device for chip and artificial intelligent chip
CN104079432A (en) Method and device for processing abnormity of network equipment
CN110018918B (en) Method and device for repairing terminal abnormity, mobile terminal and storage medium
CN111381978A (en) Method for accessing application program, storage medium and smart television
CN115357355A (en) Method, device and equipment for software cross-system migration and readable storage medium
CN112068713B (en) Event processing method, device, electronic equipment and readable medium
CN113778485A (en) System operation method and device of electronic chip, electronic chip and storage medium
CN113010195B (en) System upgrading method, storage medium and terminal equipment
CN108279937B (en) Parameter calling method and device, storage medium and electronic equipment
US20160316052A1 (en) Apparatus and method for correcting an input number
CN112214404A (en) Mobile application testing method and device, storage medium and electronic equipment
CN105278993A (en) Linux system based drive module upgrading method and apparatus
CN115827080B (en) Embedded equipment adaptation method and device based on serial port communication and computer equipment
CN115496035B (en) Chip verification method, device, chip, electronic equipment and medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant