CN1632763A - Automatic debugging and mistake correcting method and system for assembly program in embedded module - Google Patents

Automatic debugging and mistake correcting method and system for assembly program in embedded module Download PDF

Info

Publication number
CN1632763A
CN1632763A CN 200410077558 CN200410077558A CN1632763A CN 1632763 A CN1632763 A CN 1632763A CN 200410077558 CN200410077558 CN 200410077558 CN 200410077558 A CN200410077558 A CN 200410077558A CN 1632763 A CN1632763 A CN 1632763A
Authority
CN
China
Prior art keywords
label
page address
execution
page
source program
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.)
Pending
Application number
CN 200410077558
Other languages
Chinese (zh)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN 200410077558 priority Critical patent/CN1632763A/en
Publication of CN1632763A publication Critical patent/CN1632763A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Abstract

It is an assembler program automatic fault-finding method, which comprises the following steps: to read and analyze the assembler program Y and to get the said whole variables of the said program according to the grammar and orders of the special chip and to generate the relation form A between the variable and the web address; to pre-process the assembler program and standardize the program to form one assembler program easy to be identified and inspected; to test the web page accuracy of the program and to fine the error of the report page.

Description

The automatic debugging that is used for the flush bonding module assembly routine method and system of correcting mistakes
[technical field]
The present invention relates to a kind of automatic debugging that is used for flush bonding module assembler source program method and system of correcting mistakes, particularly the page fault in the assembler source program is carried out the method and system that automatic debugging is corrected mistakes.
[background technology]
Current, the most of products in household electric appliances and the communications industry all will be used the flush bonding module system.Along with the develop rapidly of microelectric technique, CPU has become low-cost device.Under possible situation, various electromechanical equipments or have embedded the flush bonding module system that CPU constitutes.As handheld devices such as digital camera, MP3 player, PDA, game machine and mobile phone handsets and various information household appliances etc. the more multimedia and the communication facilities of high performance requirements are arranged.For example, mobile phone handsets need functions such as multihead display, web page browsing, text message transmission, the high capacity address book of being with locating function and phonetic dialing at present; The high-level efficiency data compression of up-to-date digital camera and video camera, identification and various Intelligent treatment etc. automatically need to increase the DSP function; Telephone exchange needs distributed treatment and adopts multi-processor structure.Also to be applied to the flush bonding module system as traditional products such as televisor, washing machine, micro-wave oven, automobile audio and electronic toys.
The core of flush bonding module system is calculating unit able to programme, i.e. processor.This can have a variety of selections, and some new selections had been increased in recent years again: remove general processor GPP (Gereral PurposeProcessor) commonly used in the past, flush bonding processor EP (Embedded Processor), microcontroller MCU (Micro-ControlUnit), outside the digital signal processor DSP (Digital Signal Processor), development is very fast at present, can also have various application specific processor ASP (Application Specific Processor) or Application Specific Standard Product ASSP (Application Specific Standard Product) to what we provided new selection.They all design at some application-specific, as are used for the application specific processor of HDTV, ADSL, Cable Modem etc.The program of these processors or with the compilation language compilation, or with writing higher level lanquage and mixing of compilation, but the core will be with the language compilation that collects to raise the efficiency.
For some DSP and single-chip microcomputer, between data interval and program area (section of being called is also arranged) of paging, as early stage PC, every section internal memory and data all are the 64k bytes.One page of different is DSP and single-chip microcomputer is 64 or 128 or the individual storage unit of other n powers of 2 (n for greater than 0 positive integer).The TI DSP that is familiar with everybody is an example, and TI C28XX series is that 64 words are one page, and TI C2XX/C24X/24XX is that 128 words are one page.
Shown in Figure 1 is the corresponding relation of variable and page or leaf in the TI DSP data space, and wherein DP is the page address of DSP, and what indicate current use is which page or leaf of data space, and Offset be a page bias internal address.This structure is similar to PC commonly used, and what the DP register of different is DSP indicated is page number, and the specific address computing formula is: every page of number of memory cells+offset address of DP page register *; And the PC segment register indicates is the base address, and the specific address computing formula is: sector address * 16+ offset address.
Find out easily that from figure the page address and the pass of page or leaf stored unit are more than 1 pair, i.e. corresponding n storage unit of page or leaf, n is 2 k power (K is>0 positive integer).Owing in the DSP data space, all may have several stick units in each page or leaf, such as m, so the actual corresponding n-m storage unit of each page address.When writing assembly routine, programmer tends to use the variable that much is distributed in the same page not, and the page or leaf bias internal address of these variablees may be identical, in program run, will indicate it when operating different variablees and belong to which page ability and correctly use.Because variable is many; in compiling procedure; the programmer forgets the situation of switching page or leaf possibly and causes makeing mistakes; cause and read or store data and make mistakes; and then cause judging and make mistakes or produce illegal address function; serious also can cause system crash or systemic-function seriously disorderly, can not realize the set task dispatching of program.If problem is serious, the consequence of batch process is with hardly imaginable.Therefore people wish and can just find out such mistake in the development phase.
Present error-checking method generally is to use hand inspection, but hand inspection is often wasted time and energy, and gets half the result with twice the effort, even because Fu Za system a little, procedure quantity also tend to reach row up to ten thousand, tens0000 in addition hundreds of thousands capable, the difficulty of hand inspection is big well imagines.
[summary of the invention]
The invention provides a kind of automatic debugging that is used for flush bonding module assembly routine method and system of correcting mistakes, can self-verifying page address mistake and useless code in the assembler source program, can also realize correcting automatically page fault and deletion invalid code.
The technical solution adopted for the present invention to solve the technical problems is: a kind of automatic error-checking method that is used for the flush bonding module assembly routine may further comprise the steps:
101, read and analyze assembler source program Y, obtain whole variablees that described assembler source program Y uses according to the grammer and the instruction thereof of certain chip, the described variable of regeneration and with its relation list A of page address one to one;
102, described assembler source program Y is carried out pre-service, standard assembler source program Y makes one of formation be easy to the assembler source program B that discerns and check;
103, described assembler source program B is carried out page or leaf switch the correctness inspection, find and the report page fault.
In the step 102, described pre-service comprises step:
201, read assembler source program Y;
202, note, the useless pseudoinstruction among the deletion assembler source program Y, add the number of entering a profession positional information, setting up the corresponding relation with assembler source program Y code line, with convenient when finding the page address mistake position of accurate alignment error;
203, Y compiles to assembler source program, and the grand code that carries out among the assembler source program Y is substituted, and inserts a structure label below each subroutine and function call, generates the assembler source program B of assembler source program Y pure code form.
In the step 103, with sequential organization and redirect branched structure described assembler source program B is carried out page or leaf and switch the correctness inspection.
In the step 103, with sequential organization described assembler source program B is carried out page or leaf earlier and switch the correctness inspection, with the redirect branched structure described assembler source program B is carried out page or leaf again and switch the correctness inspection.
Describedly with sequential organization described assembler source program B is carried out the method that page or leaf switches the correctness inspection and is:
501, begin to check from described assembler source program B;
502, put the F that is labeled as that enters subroutine or function first;
503, order reads an instruction among the assembler source program B;
504, if the instruction of reading is the variable operational order, execution in step 505, otherwise execution in step 506;
505, if underlined F then is made as the current page address page address in the instruction, remove flag F then, execution in step 503; If there is not flag F, the page address of current page address and described performance variable is compared, if it is identical then do not have the page address mistake, execution in step 503, if it is inequality, then there is page fault in this place of mark, and the current page address is updated to the page address of described performance variable, and execution in step 503 then;
506, if the instruction of reading is a page switching command, the current page address is made as page address in the instruction, simultaneously clear flag F (composing null value promptly for the F mark), execution in step 503 then;
507, if the instruction of reading is absolute redirect or subroutine or function call or function and subroutine return instruction, then execution in step 502, otherwise execution in step 503;
508,, then abandon execution in step 503 if the instruction of reading is not above-mentioned listed instruction.
Describedly with the redirect branched structure described assembler source program B is carried out the method that page or leaf switches the correctness inspection and is:
601, will check out the institute's labeled set that obtains with sequential organization and close, form set E, comprise label title and its position in assembler source program B or assembler source program Y of each label;
602, the outlet page address of whole page addresss when finding out the jumping into or directly enter of each label among the described set E and subroutine, function;
603, find the page address of first variable operational order behind all these labels of each label among the described set E or the page address of first page switching, i.e. label outlet page address information;
604, according to the label of front inlet, outlet page address, with the replacement that circulates of described set E middle outlet page address group, obtain all subroutines or function the inlet page address, export page address;
605, the entry address of the structure label at all subroutines and function call place is replaced with inlet page address, the outlet page address of the subroutine (or function) before this structure label;
606, the entry address and the exit address of all labels among the more described set E (comprising the structure label) judge whether to exist the page address mistake;
607, vicious local contrast assembler source program Y finds out concrete Error Location with mark in sequential organization inspection and the inspection of redirect branched structure, generates a page fault report then.
The method of the outlet page address of whole page addresss when finding out the jumping into or directly enter of each label among the described set E in the step 602 and subroutine, function is:
701, begin to read from described assembler source program B;
702, put the flag F that is labeled as that enters subroutine or function first, tagging F is firm effective marker G;
703,704 to 710 up to assembler source program B end below carrying out, and assembler source program B finishes then execution in step 711, otherwise execution in step 704;
704, order reads instruction among the assembler source program B;
705, if the instruction of reading is the variable operational order, execution in step 706, otherwise execution in step 707;
706, if underlined F is made as page address in the instruction with the current page address, remove flag F then, execution in step 704; If there is not flag F, direct execution in step 704;
707, if reading command is a page or leaf switching command, the current page address is made as page address in the instruction, remove flag F, execution in step 704 then, otherwise execution in step 708;
708, if reading command is redirect or subroutine or function call, then in these instructions a label must be arranged, if flag F for removing, then records the current page address among the label set E, execution in step 709, be removing if flag F is set and mark G, then the current page address recorded among the label set E execution in step 709, if flag F is set and mark G is set, then direct execution in step 709; If reading command is not redirect or subroutine or function call then direct execution in step 709;
709, if reading command is absolute redirect or subroutine or function call or function and subroutine return instruction, then put the flag F that is labeled as that enters subroutine or function first, tagging F is firm effective marker G; Continue to judge that if reading command is function and subroutine return instruction, record current page address is the outlet page address of the subroutine of checking, execution in step 704; Reading command is not absolute redirect or subroutine or function call or function and subroutine return instruction else if, execution in step 710;
710, if the instruction of reading is a label, and flag F is the removing state, then also the current page address recorded among the label set E; If the instruction of reading is label and flag F is set, and mark G is set, and then writing down this label that has just read is subroutine or function entrance label, record " being subroutine information " is in set E, and the record current page be this label, remove mark G then, execution in step 704; If the instruction of reading is label and flag F is set, and mark G is the removing state, then the current page address recorded among the label set E; What read else if is other instruction execution in step 704.
711, check each label among the label set E, the label of jumping in the label page address (step 708 produces in 710 implementations) is carried out iteration, dispose up to all labels, replace with till the page address of concrete numerical value.
In the step 603, find the page address of first variable operational order page address behind all these labels of each label among the described set E or first page switching, i.e. the method for label outlet page address information is:
801, from described assembler source program B beginning; The label L zero clearing.
802, execution in step 803 to 808 finishes up to assembler source program B, the execution in step 809 if assembler source program B finishes, otherwise execution in step 803;
803, order reads instruction among the assembler source program B;
804, if the instruction of reading is a label, then whether set of judge mark L, if there is not set, tagging L then, expression needs first page address and page or leaf switch instances behind the record label, and writes down this label in set E, execution in step 803.If the instruction of reading is label and set label L, then the label record that will just read is write down this position of the label that has just read in assembler source program in set E, and the position renewal of the label that will just read in set E, execution in step 803;
805, if reading command is the variable operational order, the current page address is made as the page address in the instruction, if label L is set then writes down the current page address in set E, and record nothing page or leaf handover instruction information writes down the position of variable operational order in assembler source program that this has just read in set E, clear L mark, execution in step 803, the execution in step 803 if the L mark does not have set, otherwise execution in step 806.
806, if reading command is the page or leaf switching command, the current page address is made as page address in the instruction, if label L is set then writes down the current page address in set E, and record page handover instruction information in the relevant information of the current page address of firm record, write down the position of page or leaf switching command in assembler source program that this has just read, clear label L, execution in step 803 then, the execution in step 803 if label L does not have set, otherwise execution in step 807;
807, if reading command is redirect or subroutine or function call, then in these instructions a label K must be arranged, label K is recorded among the set E execution in step 808, execution in step 803 if L is labeled as set if label L does not have set; The instruction of reading else if is that subroutine is returned or function returns, clear label L, and execution in step 803, if other instructions, then execution in step 803;
808, if reading command is absolute redirect or subroutine or function call, then clear label L, execution in step 803, otherwise execution in step 803.
809, check the attribute of each label among the label set E, label (producing in step 804,807 implementations) in first variable operation or the used page address of page or leaf switching command behind each label among the set E is carried out iteration, dispose up to all labels, replace with till the page address of concrete numerical value, when replacing, also to replace over the position of page address in assembler source program Y together, make things convenient for the realization of method of the automatic modification page address mistake of back.
First page address and page or leaf switch instances behind the needs records label are represented in described label L set.
In the step 606, judge whether to exist the method for page address mistake to be:
901, close from institute's labeled set whether the inlet page address that reads a label the E and outlet page address and label exit address are a page switching command attribute, each label in handling E;
902, the outlet page address of judging the label just read is single or a plurality of, if single, execution in step 903, otherwise execution in step 905;
903, judge whether label outlet page address has a page switching command, if the outlet page address that the page or leaf switching command forms, then this label place does not have the page address mistake, execution in step 901; Otherwise execution in step 904;
904, judge whether label inlet page address is all identical and identical with the label exit address, if identical then this label place does not have the page address mistake, execution in step 901, otherwise there is the page address mistake in this label place of mark, execution in step 901;
905, judge that label outlet page address is all formed by the page or leaf switching command, if then this label place does not have the page address mistake, execution in step 901, otherwise execution in step 906;
906, judge whether the inlet page address is all identical, if not all identical, then there is the page address mistake in this label place of mark, execution in step 901, otherwise execution in step 907;
907, judge the inlet page address and whether export page address all identical, if identical then this label place does not have the page address mistake, execution in step 901, otherwise there is the page address mistake in this label place of mark, execution in step 901.
In the step 103 of described a kind of automatic error-checking method that is used for the flush bonding module assembly routine, after having reported page fault, in assembler source program B, all labels are checked: for each label, if this label is not quoted by jump instruction and not by subroutine and function instruction calls, there is not other instruction that this label is quoted yet, and its front instruction is absolute jump instruction or is on the file header or unconditional subroutine return instruction or unconditional function link order, reports that then this section code is an invalid code.
A kind of method of correcting mistakes automatically that is used for the flush bonding module assembly routine, after carrying out automatic mistake, also carry out following steps:
1101, order is closed the inlet page address that reads a label the E and outlet page address and label exit address from institute's labeled set, and execution in step 1102 then, and labeled set closes last label execution in step 1108 again among the E up to handling;
1102, the outlet page address of judging the label just read is single or a plurality of, if single, execution in step 1103, otherwise execution in step 1105;
1103, judge whether label outlet page address has a page switching command, if the outlet page address that the page or leaf switching command forms, then this label place does not have the page address mistake, execution in step 1101; Otherwise execution in step 1104;
1104, judge whether label inlet page address is all identical and identical with the label exit address, if it is identical then this label place does not have the page address mistake, execution in step 1101, otherwise there is the page address mistake in this label place, adds the page address switching command and corrected behind this label, and adding the implantation site is each front that does not have the position of outlet page address in assembler source program Y code line of page switching command behind this label, numerical value is this outlet page address, and execution in step 1101 then;
1105, judge that label outlet page address is all formed by the page or leaf switching command, if then this label place does not have the page address mistake, execution in step 1101, otherwise execution in step 1106;
1106, judge whether the inlet page address is all identical, if it is not all identical, then there is the page address mistake in this label place, add the page address switching command and corrected behind this label, adding the implantation site is each front that does not have the position of outlet page address in assembler source program Y code line of page switching command behind this label, and numerical value is this outlet page address, execution in step 1101, otherwise execution in step 1107;
1107, judge whether the inlet page address is all identical with the outlet page address, if it is identical then this label place does not have the page address mistake, execution in step 1101, otherwise there is the page address mistake in this label place, adds the page address switching command and corrected behind this label, after adding the implantation site and being this label, each does not have the front of the position of outlet page address in assembler source program Y code line of page switching command, and numerical value is this outlet page address, execution in step 1101;
1108, be output as a file after assembler source program Y revised the page address mistake, the result after the automatic error correction is reported out.
The present invention also provides a kind of system based on the method for the invention, comprising:
Generate page address relation list module, read and analyze assembler source program Y, obtain whole variablees that described assembler source program Y uses according to the grammer and the instruction thereof of certain chip, the described variable of regeneration and with its relation list A of page address one to one;
Pretreatment module is carried out pre-service with described assembler source program Y, and standard assembler source program Y makes one of formation be easy to the assembler source program B that discerns and check;
The page or leaf switch detection module is carried out page or leaf to described assembler source program B and is switched the correctness inspection, finds and the report page fault;
Automatically the module of correcting mistakes has the place of page fault to correct to demarcation, is output as a file afterwards, and the result after the automatic error correction is reported out.
Also comprise the invalid code detection module, in assembler source program B, all labels are checked, if for invalid code then in page fault report, report invalid code.
The invention has the beneficial effects as follows: 1. by the present invention, can check out the page address mistake in the assembler source program rapidly and accurately, can also check out the invalid code in the program, and revise automatically, save manpower, guarantee efficiently carrying out of development.2. the present invention is easy to realize, can utilize C on various existing popular computer operating systems (as Windows series operating system, Unix, Linux etc.), C++, and VC, VB supervisor design language is realized.3. inventive concept is applied widely, can be widely used in the error detection that there are the assembler source program of page or leaf or section differentiation in all data spaces or the program space.Comprise dsp processor, MCU, the page address bug check of the assembler source program of chips such as MPU with page or leaf/section characteristic storage space.
[description of drawings]
Fig. 1 be on the TI DSP data space variable with the page or leaf mapping table.
Fig. 2 is system model figure of the present invention.
Fig. 3 is an overall plan process flow diagram of the present invention.
Fig. 4 is a pretreated process flow diagram described in the inventive method.
Fig. 5 is the process flow diagram of sequential search method in the inventive method.
Fig. 6 is the process flow diagram of redirect branch inspection method in the inventive method.
Fig. 7 a scanning assembler source program B obtains the process flow diagram of the inlet page address of each label.
Fig. 7 b scanning assembler source program B obtains the process flow diagram of the inlet page address of each label.
Fig. 8 a scanning assembler source program B obtains the process flow diagram of each label outlet page address.
Fig. 8 b scanning assembler source program B obtains the process flow diagram of each label outlet page address.
Fig. 9 is a redirect branch page fault decision flow chart in the inventive method.
Figure 10 the present invention checks the flow process of invalid code
Figure 11 a kind of process flow diagram that is used for the method for correcting mistakes automatically of flush bonding module assembly routine of the present invention.
[embodiment]
With specific embodiment the present invention is done to set forth further with reference to the accompanying drawings below.
As shown in Figure 2, a kind of automatic debugging that is used for flush bonding module assembly routine system of correcting mistakes comprises:
Generate page address relation list module, read and analyze assembler source program Y, obtain whole variablees that described assembler source program Y uses according to the grammer and the instruction thereof of certain chip, the described variable of regeneration and with its relation list A of page address one to one;
Pretreatment module is carried out pre-service with described assembler source program Y, and standard assembler source program Y makes one of formation be easy to the assembler source program B that discerns and check;
The page or leaf switch detection module is carried out page or leaf to described assembler source program B and is switched the correctness inspection, finds and the report page fault;
Automatically the module of correcting mistakes has the place of page fault to correct to demarcation, is output as a file afterwards, and the result after the automatic error correction is reported out.
Also comprise the invalid code detection module, in assembler source program B, all labels are checked, if for invalid code then in page fault report, report invalid code.
To shown in Figure 4, the automatic error-checking method based on system of the present invention may further comprise the steps as Fig. 3:
At first, read and analyze assembler source program Y, obtain whole variablees that described assembler source program Y uses according to the grammer and the instruction thereof of certain chip, generate described variable and with its relation list A of page address one to one;
Then, note, the useless pseudoinstruction among the deletion assembler source program Y, add the number of entering a profession positional information, setting up the corresponding relation with assembler source program Y code line, with convenient when finding the page address mistake position of accurate alignment error; Y compiles to assembler source program, grand among the assembler source program Y is carried out code substitute, and inserts a structure label below each subroutine and function call, generate assembler source program Y pure code form, be easy to the assembler source program B that discerns and check.
The All Files of assembler source program Y to be detected can be merged into a file, and the note in the deletion assembler source program, the alignment code adds numbering and the line position in merging preceding document that this code line place merges preceding document before every line code.The purpose that merges is all subroutines and function and all label that conveniently finds program to use.
At last, with sequential organization described assembler source program B is carried out page or leaf earlier and switch the correctness inspection, with the redirect branched structure described assembler source program B is carried out page or leaf again and switch the correctness inspection, find and the report page fault.
As shown in Figure 5, above-mentionedly with sequential organization described assembler source program B is carried out the method that page or leaf switches the correctness inspection and is:
At first, begin to check from described assembler source program B; Put the F that is labeled as that enters subroutine or function first.
Order reads an instruction among the assembler source program B then.If the instruction of reading is the variable operational order, then judges whether underlined F, otherwise judge whether it is a page switching command.If underlined F then is made as the current page address page address in the instruction, remove flag F then, order reads next the bar instruction among the assembler source program B; If there is not flag F, the page address of current page address and described performance variable is compared, if it is identical then do not have the page address mistake, order reads next the bar instruction among the assembler source program B, if it is inequality, then there is page fault in this place of mark, and the current page address is updated to the page address of described performance variable, and order reads next bar instruction among the assembler source program B then.If the instruction of reading is a page switching command, the current page address is made as page address in the instruction, simultaneously clear flag F (composing null value promptly for the F mark), order reads next bar instruction among the assembler source program B then.If the instruction of reading is absolute redirect or subroutine or function call or function and subroutine return instruction, then put the F that is labeled as that enters subroutine or function first, otherwise order reads next the bar instruction among the assembler source program B.
If the instruction of reading is not above-mentioned listed instruction, then abandon, order reads next the bar instruction among the assembler source program B, all instructions in having judged assembler source program B.
, above-mentionedly with the redirect branched structure described assembler source program B is carried out the method that page or leaf switches the correctness inspection and is shown in Fig. 8 b as Fig. 6:
At first, will check out the institute's labeled set that obtains with sequential organization and close, form set E.Each label has following attribute (specific to a label time, some attribute can be sky) among the set E: 1, label title; 2, the position of label in assembler source program B or assembler source program Y; 3, redirect or directly enter the page address that each branch of label brings; 4, first variable operation that occurs behind the label or the page address information in the page or leaf switching command comprise concrete page address numerical value, and whether each page address is that page switching command forms, and page address switching command or variable operate in the position in the assembler source program etc.; 5, whether label is subroutine or function entrance label; When 6, label is subroutine or function, the outlet page address information of subroutine or function.Check out the attribute 1 and 2 that can obtain label with sequential organization.Search the S set that can obtain the title of all subroutines and function call among the assembler source program B in all label procedures in addition, the assembly instruction of dissimilar chips may be different, for example can instruct with detection CALL in the TI DSP assembly routine to obtain function and subroutine title.
Then, the outlet page address of whole page addresss when finding out the jumping into or directly enter of each label among the described set E and subroutine, function: at first, begin to read from described assembler source program B, put the flag F that is labeled as that enters subroutine or function first, tagging F is firm effective marker G.Then, order reads instruction among the assembler source program B, if the instruction of reading is the variable operational order, then judge whether underlined F, if underlined F is made as page address in the instruction with the current page address, remove flag F then, order reads next bar instruction among the assembler source program B; If there is not flag F, directly order reads next bar instruction among the assembler source program B.If reading command is a page or leaf switching command, the current page address is made as page address in the instruction, remove flag F, order reads next bar instruction among the assembler source program B then.If reading command is redirect or subroutine or function call, then in these instructions a label must be arranged, if flag F is for removing, then the current page address is recorded in the attribute 3 of this label among the label set E, and judge whether the instruction of reading is absolute redirect or subroutine or function call or function and subroutine return instruction; Be removing if flag F is set and mark G, then the current page address recorded in the attribute 3 of this label among the label set E, judge again whether the instruction of reading is absolute redirect or subroutine or function call or function and subroutine return instruction; If flag F is set and mark G is set, judge directly then whether the instruction of reading is absolute redirect or subroutine or function call or function and subroutine return instruction; If reading command is not redirect or subroutine or function call then judges directly whether the instruction of reading is absolute redirect or subroutine or function call or function and subroutine return instruction.If reading command is absolute redirect or subroutine or function call or function and subroutine return instruction, then put the flag F that is labeled as that enters subroutine or function first, tagging F is firm effective marker G; Continue to judge that if reading command is function and subroutine return instruction, then the outlet page address with the subroutine of checking records as the current page address in the attribute 6 of subroutine label, order reads next bar instruction among the assembler source program B then.If the instruction of reading is a label, and flag F is the removing state, then also the current page address recorded in the attribute 3 of this label among the label set E; If the instruction of reading is label and flag F is set, and mark G is set, then writing down this label that has just read is subroutine or function entrance label, record " being subroutine information " is in the attribute 5 of gathering this label among the E, and the record current page is this label, remove mark G then, order reads next bar instruction among the assembler source program B; If the instruction of reading is label and flag F is set, and mark G is the removing state, then the current page address recorded in the attribute 3 of this label among the label set E; What read else if is other instructions, and then order reads next bar instruction among the assembler source program B.At last, check each label among the label set E if assembler source program B finishes, the label of jumping in the label page address carried out iteration, dispose, replace with till the page address of concrete numerical value up to all labels,
Once more, find the page address of first variable operational order behind all these labels of each label among the described set E or the page address of first page switching, i.e. the method for label outlet page address information is (shown in Fig. 8 a and Fig. 8 b): from as described in assembler source program B begin; Label L zero clearing (label L set represent needs records label after first page address and page or leaf switch instances).Order reads instruction among the assembler source program B; If the instruction of reading is a label, then whether set of judge mark L is not if there is set, tagging L then, expression needs first page address and page or leaf switch instances behind the record label, and to write down the position of this label in set E be P, and order reads next bar instruction among the assembler source program B.If the instruction of reading is label and set label L, then the label record that will just read is in the attribute 4 of gathering this label of P position among the E, write down this label that has just read position in assembler source program in attribute 4, and the label that will just read is P in the position renewal of set among the E, and order reads next bar instruction among the assembler source program B again.If reading command is the variable operational order, the current page address is made as the page address in the instruction, if label L is set then writes down the current page address in the attribute 4 of gathering P position label among the E, and record does not have the page or leaf handover instruction information in the attribute 4 of gathering P position label among the E, write down this position of variable operational order in assembler source program of just having read in attribute 4, clear L mark, read next bar instruction among the assembler source program B in order, order does not read next bar instruction among the assembler source program B if the L mark has set.If reading command is the page or leaf switching command, the current page address is made as page address in the instruction, if label L is set then writes down the current page address in the attribute 4 of gathering P position label among the E, and record page handover instruction information in this attribute 4 just in the relevant information of the current page address of record, write down this position of page or leaf switching command in assembler source program of just having read in attribute 4, clear label L, order reads next bar instruction among the assembler source program B then, and execution in step does not read next bar instruction among the assembler source program B in proper order if label L has set.If reading command is redirect or subroutine or function call, then in these instructions a label K must be arranged, if L is labeled as set label K is recorded in the attribute of P position label among the set E; Order does not read next bar instruction among the assembler source program B if label L has set; The instruction of reading else if is that subroutine is returned or function returns, and clear label L, order read next bar instruction among the assembler source program B, if other instructions, then order reads next bar instruction among the assembler source program B.If reading command is absolute redirect or subroutine or function call, then clear label L, order reads next bar instruction among the assembler source program B again, otherwise order reads next bar instruction among the assembler source program B.If assembler source program B finishes, check the attribute 4 of each label among the label set E, label in first variable operation or the used page address of page or leaf switching command behind each label among the set E is carried out iteration, dispose up to all labels, replace with till the page address of concrete numerical value, when replacing, also to replace over the position of page address in assembler source program Y together, make things convenient for the realization of method of the automatic modification page address mistake of back.
First page address and page or leaf switch instances behind the needs records label are represented in described label L set.
Obtain the inlet page address and the outlet page address of each subroutine (or function) in the subroutine S set according to above-mentioned steps, can in the attribute of set E, search according to two subroutines (or function) label title among the S, with between two labels all is that the label of subroutine (or function) exit address is found out, and the attribute 6 of all labels of finding out merged, obtain the outlet page address of forward that subroutine (or function) of label in two subroutines (or function).By repeating this method, can obtain the outlet page address of all subroutines (or function).
Then, according to the label of front inlet, outlet page address, with the replacement that circulates of described set E middle outlet page address group, obtain all subroutines or function the inlet page address, export page address.
Again the entry address of the structure label at all subroutines and function call place is replaced with inlet page address, the outlet page address of the subroutine (or function) before this structure label.
Then, the entry address and the exit address of all labels among the more described set E (comprising the structure label), judge whether to exist page address mistake (as shown in Figure 9): 1, at first close from institute's labeled set whether the inlet page address that reads a label the E and outlet page address and label exit address are a page switching command attribute, each label in handling E.2, the outlet page address of judging the label just read is single or a plurality of, if single, execution in step 3, otherwise execution in step 5.3, judge whether label outlet page address has a page switching command, if the outlet page address that the page or leaf switching command forms, then this label place does not have the page address mistake, execution in step 1; Otherwise execution in step 4.4, judge whether label inlet page address is all identical and identical with the label exit address, if identical then this label place does not have the page address mistake, execution in step 1, otherwise there is the page address mistake in this label place of mark, execution in step 1.5, judge that label outlet page address is all formed by the page or leaf switching command, if then this label place does not have the page address mistake, execution in step 1, otherwise execution in step 6.6, judge whether the inlet page address is all identical, if not all identical, then there is the page address mistake in this label place of mark, execution in step 1, otherwise execution in step 7.7, judge the inlet page address and whether export page address all identical, if identical then this label place does not have the page address mistake, execution in step 1, otherwise there is the page address mistake in this label place of mark, execution in step 1.
At last, vicious local contrast assembler source program Y finds out concrete Error Location with mark in sequential organization inspection and the inspection of redirect branched structure, generates a page fault report then.The information that the report of described page fault comprises has: the path of error file, name, the row number at place is pointed out, variable name in the page address position hereof of makeing mistakes.The undefined variable of finding in the inspection assembly routine is reported, pointed out the place file equally, and position hereof.
As shown in figure 10, after having reported page fault, in assembler source program B, all labels are checked: for each label, if this label is not quoted by jump instruction and not by subroutine and function instruction calls, there is not other instruction that this label is quoted yet, and its front instruction is absolute jump instruction or is on the file header or unconditional subroutine return instruction or unconditional function link order, reports that then this section code is an invalid code.Can in above-mentioned page fault report, report that the invalid code section that is found begins to locate the position of label, comprises path, the name of the source files of program at its place, the position in document code is capable.Originally be another purposes of the described method of invention.
Be a kind of process flow diagram that is used for the method for correcting mistakes automatically of flush bonding module assembly routine as shown in figure 11, after carrying out automatic mistake, also carry out following steps: at first, order is closed inlet page address and outlet page address and the label exit address that reads a label the E from institute's labeled set.
Then, the outlet page address of judging the label just read is single or a plurality of, if single, carries out next step, otherwise judges that label exports page address and whether all formed by the page or leaf switching command.
Judge whether label outlet page address has a page switching command, if the outlet page address that the page or leaf switching command forms, then this label place does not have the page address mistake, and order is closed inlet page address and outlet page address and the label exit address that reads a label the E from institute's labeled set; Otherwise judge whether the inlet page address is all identical.
Judge whether label inlet page address is all identical and identical with the label exit address, if it is identical then this label place does not have the page address mistake, order is closed inlet page address and outlet page address and the label exit address that reads a label the E from institute's labeled set, otherwise there is the page address mistake in this label place, adding the page address switching command behind this label is corrected, adding the implantation site is each front that does not have the position of outlet page address in assembler source program Y code line of page switching command behind this label, numerical value is this outlet page address, and order is closed inlet page address and outlet page address and the label exit address that reads a label the E from institute's labeled set then.
Judge whether label outlet page address is all formed by the page or leaf switching command, if then this label place does not have the page address mistake, order is closed inlet page address and outlet page address and the label exit address that reads a label the E from institute's labeled set, otherwise carries out next step.
Judge whether the inlet page address is all identical, if it is not all identical, then there is the page address mistake in this label place, adding the page address switching command behind this label is corrected, adding the implantation site is each front that does not have the position of outlet page address in assembler source program Y code line of page switching command behind this label, numerical value closes inlet page address and outlet page address and the label exit address that reads a label the E for this outlet page address, order from institute's labeled set, otherwise carries out next step.
Judge whether the inlet page address is all identical with the outlet page address, if it is identical then this label place does not have the page address mistake, order is closed inlet page address and outlet page address and the label exit address that reads a label the E from institute's labeled set, otherwise there is the page address mistake in this label place, adding the page address switching command behind this label is corrected, after adding the implantation site and being this label, each does not have the front of the position of outlet page address in assembler source program Y code line of page switching command, numerical value closes inlet page address and outlet page address and the label exit address that reads a label the E for this outlet page address, order from institute's labeled set.
At last, after handling institute's labeled set and closing last label among the E, be output as a file after assembler source program Y revised the page address mistake, the result after the automatic error correction is reported out.

Claims (13)

1, be used for the automatic error-checking method of flush bonding module assembly routine, may further comprise the steps:
101, read and analyze assembler source program (Y), obtain whole variablees that described assembler source program (Y) uses according to the grammer and the instruction thereof of certain chip, the described variable of regeneration and with its relation list of page address (A) one to one;
102, (Y) carries out pre-service with described assembler source program, and standard assembler source program (Y) makes one of formation be easy to the assembler source program (B) of discerning and checking;
103, described assembler source program (B) is carried out page or leaf switch the correctness inspection, find and the report page fault.
2, a kind of automatic error-checking method that is used for the flush bonding module assembly routine according to claim 1, it is characterized in that: in the step 102, described pre-service comprises step:
201, read assembler source program (Y);
202, note, the useless pseudoinstruction in deletion assembler source program (Y), add the number of entering a profession positional information, setting up the corresponding relation with assembler source program (Y) code line, with convenient when finding the page address mistake position of accurate alignment error;
203, (Y) compiles to assembler source program, and the grand code that carries out in the assembler source program (Y) is substituted, and inserts a structure label below each subroutine and function call, generates the assembler source program (B) of assembler source program (Y) pure code form.
3, a kind of automatic error-checking method that is used for the flush bonding module assembly routine according to claim 1 is characterized in that: in the step 103, with sequential organization and redirect branched structure described assembler source program (B) is carried out page or leaf and switch the correctness inspection.
4, a kind of automatic error-checking method that is used for the flush bonding module assembly routine according to claim 3, it is characterized in that: with sequential organization described assembler source program (B) is carried out page or leaf earlier and switch the correctness inspection, with the redirect branched structure described assembler source program (B) is carried out page or leaf again and switch the correctness inspection.
5, a kind of automatic error-checking method that is used for the flush bonding module assembly routine according to claim 4 is characterized in that describedly with sequential organization described assembler source program (B) being carried out the method that page or leaf switches the correctness inspection and being:
501, begin to check from described assembler source program (B);
502, put the F that is labeled as that enters subroutine or function first;
503, order reads an instruction in the assembler source program (B);
504, if the instruction of reading is the variable operational order, execution in step 505, otherwise execution in step 506;
505, if underlined F then is made as the current page address page address in the instruction, remove flag F then, execution in step 503; If there is not flag F, the page address of current page address and described performance variable is compared, if it is identical then do not have the page address mistake, execution in step 503, if it is inequality, then there is page fault in this place of mark, and the current page address is updated to the page address of described performance variable, and execution in step 503 then;
506, if the instruction of reading is a page switching command, the current page address is made as page address in the instruction, simultaneously clear flag F (composing null value promptly for the F mark), execution in step 503 then;
507, if the instruction of reading is absolute redirect or subroutine or function call or function and subroutine return instruction, then execution in step 502, otherwise execution in step 503;
508,, then abandon execution in step 503 if the instruction of reading is not above-mentioned listed instruction.
6, a kind of automatic error-checking method that is used for the flush bonding module assembly routine according to claim 4 is characterized in that describedly with the redirect branched structure described assembler source program (B) being carried out the method that page or leaf switches the correctness inspection and being:
601, will check out the institute's labeled set that obtains with sequential organization and close, form set (E), comprise label title and its position in assembler source program (B) or assembler source program (Y) of each label;
602, the outlet page address of whole page addresss when finding out the jumping into or directly enter of each label in the described set (E) and subroutine, function;
603, find the page address of first variable operational order behind all these labels of each label in the described set (E) or the page address of first page switching, i.e. label outlet page address information;
604, according to the label of front inlet, outlet page address, with replacements that circulate of described set (E) middle outlet page address group, obtain all subroutines or function the inlet page address, export page address;
605, the entry address of the structure label at all subroutines and function call place is replaced with inlet page address, the outlet page address of the subroutine (or function) before this structure label;
606, the entry address and the exit address of all labels in the more described set (E) (comprising the structure label) judge whether to exist the page address mistake;
607, the vicious local contrast assembler source program of mark (Y) in sequential organization inspection and the inspection of redirect branched structure is found out concrete Error Location, generate a page fault report then.
7, a kind of automatic error-checking method that is used for the flush bonding module assembly routine according to claim 6, the method for the outlet page address of whole page addresss when it is characterized in that finding out in the step 602 the jumping into or directly enter of each label in the described set (E) and subroutine, function is:
701, (B) begins to read from described assembler source program;
702, put the flag F that is labeled as that enters subroutine or function first, tagging F is firm effective marker G;
703,704 to 710 up to assembler source program (B) end below carrying out, and assembler source program (B) finishes then execution in step 711, otherwise execution in step 704;
704, order reads instruction in the assembler source program (B);
705, if the instruction of reading is the variable operational order, execution in step 706, otherwise execution in step 707;
706, if underlined F is made as page address in the instruction with the current page address, remove flag F then, execution in step 704; If there is not flag F, direct execution in step 704;
707, if reading command is a page or leaf switching command, the current page address is made as page address in the instruction, remove flag F, execution in step 704 then, otherwise execution in step 708;
708, if reading command is redirect or subroutine or function call, then in these instructions a label must be arranged, if flag F for removing, then records the current page address in the label set (E), execution in step 709, be removing if flag F is set and mark G, then the current page address recorded in the label set (E) execution in step 709, if flag F is set and mark G is set, then direct execution in step 709; If reading command is not redirect or subroutine or function call then direct execution in step 709;
709, if reading command is absolute redirect or subroutine or function call or function and subroutine return instruction, then put the flag F that is labeled as that enters subroutine or function first, tagging F is firm effective marker G; Continue to judge that if reading command is function and subroutine return instruction, record current page address is the outlet page address of the subroutine of checking, execution in step 704; Reading command is not absolute redirect or subroutine or function call or function and subroutine return instruction else if, execution in step 710;
710, if the instruction of reading is a label, and flag F is the removing state, then also the current page address recorded in the label set (E); If the instruction of reading is label and flag F is set, and mark G is set, and then writing down this label that has just read is subroutine or function entrance label, record " being subroutine information " is in set (E), and the record current page be this label, remove mark G then, execution in step 704; If the instruction of reading is label and flag F is set, and mark G is the removing state, then the current page address recorded in the label set (E); What read else if is other instruction execution in step 704.
711, check each label in the label set (E), the label of jumping in the label page address (step 708 produces in 710 implementations) is carried out iteration, dispose up to all labels, replace with till the page address of concrete numerical value.
8, a kind of automatic error-checking method that is used for the flush bonding module assembly routine according to claim 6, it is characterized in that in the step 603, find the page address of first variable operational order behind all these labels of each label in the described set (E) or the page address of first page switching, i.e. the method for label outlet page address information is:
801, begin from described assembler source program (B); The label L zero clearing.
802, execution in step 803 to 808 finishes up to assembler source program (B), if assembler source program (B) finishes then execution in step 809, otherwise execution in step 803;
803, order reads instruction in the assembler source program (B);
804, if the instruction of reading is a label, then whether set of judge mark L, if there is not set, tagging L then, expression needs first page address and page or leaf switch instances behind the record label, and writes down this label in set (E), execution in step 803.If the instruction of reading is label and set label L, then the label record that will just read is write down this position of the label that has just read in assembler source program in set (E), and the position renewal of the label that will just read in set (E), execution in step 803;
805, if reading command is the variable operational order, the current page address is made as the page address in the instruction, if label L is set then writes down the current page address in set (E), and record nothing page or leaf handover instruction information writes down the position of variable operational order in assembler source program that this has just read in set (E), clear L mark, execution in step 803, the execution in step 803 if the L mark does not have set, otherwise execution in step 806.
806, if reading command is the page or leaf switching command, the current page address is made as page address in the instruction, if label L is set then writes down the current page address in set (E), and record page handover instruction information in the relevant information of the current page address of firm record, write down the position of page or leaf switching command in assembler source program that this has just read, clear label L, execution in step 803 then, the execution in step 803 if label L does not have set, otherwise execution in step 807;
807, if reading command is redirect or subroutine or function call, then in these instructions a label K must be arranged, label K is recorded in the set (E) execution in step 808, execution in step 803 if L is labeled as set if label L does not have set; The instruction of reading else if is that subroutine is returned or function returns, clear label L, and execution in step 803, if other instructions, then execution in step 803;
808, if reading command is absolute redirect or subroutine or function call, then clear label L, execution in step 803, otherwise execution in step 803.
809, check the attribute of each label in the label set (E), the label (producing in step 804,807 implementations) that to gather in (E) in first variable operation behind each label or the used page address of page or leaf switching command carries out iteration, dispose up to all labels, replace with till the page address of concrete numerical value, when replacing, also to replace over the position of page address in assembler source program (Y) together, make things convenient for the realization of method of the automatic modification page address mistake of back.
9, a kind of automatic error-checking method that is used for the flush bonding module assembly routine according to claim 6 is characterized in that in the step 606, judges whether to exist the method for page address mistake to be:
901, close from institute's labeled set whether the inlet page address that reads a label (E) and outlet page address and label exit address are a page switching command attribute, each label in handling (E);
902, the outlet page address of judging the label just read is single or a plurality of, if single, execution in step 903, otherwise execution in step 905;
903, judge whether label outlet page address has a page switching command, if the outlet page address that the page or leaf switching command forms, then this label place does not have the page address mistake, execution in step 901; Otherwise execution in step 904;
904, judge whether label inlet page address is all identical and identical with the label exit address, if identical then this label place does not have the page address mistake, execution in step 901, otherwise there is the page address mistake in this label place of mark, execution in step 901;
905, judge that label outlet page address is all formed by the page or leaf switching command, if then this label place does not have the page address mistake, execution in step 901, otherwise execution in step 906;
906, judge whether the inlet page address is all identical, if not all identical, then there is the page address mistake in this label place of mark, execution in step 901, otherwise execution in step 907;
907, judge the inlet page address and whether export page address all identical, if identical then this label place does not have the page address mistake, execution in step 901, otherwise there is the page address mistake in this label place of mark, execution in step 901.
10, the automatic error-checking method that is used for the flush bonding module assembly routine according to claim 1, it is characterized in that: in the step 103, after having reported page fault, in assembler source program (B), all labels are checked: for each label, if this label is not quoted by jump instruction and not by subroutine and function instruction calls, there is not other instruction that this label is quoted yet, and its front instruction is absolute jump instruction or is on the file header or unconditional subroutine return instruction or unconditional function link order, reports that then this section code is an invalid code.
11, the method for correcting mistakes automatically that is used for the flush bonding module assembly routine, after carrying out automatic debugging, also carry out following steps:
1101, order is closed the inlet page address that reads a label (E) and outlet page address and label exit address from institute's labeled set, and execution in step 1102 then, and labeled set closes last label execution in step 1108 again in (E) up to handling;
1102, the outlet page address of judging the label just read is single or a plurality of, if single, execution in step 1103, otherwise execution in step 1105;
1103, judge whether label outlet page address has a page switching command, if the outlet page address that the page or leaf switching command forms, then this label place does not have the page address mistake, execution in step 1101; Otherwise execution in step 1104;
1104, judge whether label inlet page address is all identical and identical with the label exit address, if it is identical then this label place does not have the page address mistake, execution in step 1101, otherwise there is the page address mistake in this label place, adds the page address switching command and corrected behind this label, and adding the implantation site is each front that does not have the position of outlet page address in assembler source program (Y) code line of page switching command behind this label, numerical value is this outlet page address, and execution in step 1101 then;
1105, judge whether label outlet page address is all formed by the page or leaf switching command, if then this label place does not have the page address mistake, execution in step 1101, otherwise execution in step 1106;
1106, judge whether the inlet page address is all identical, if it is not all identical, then there is the page address mistake in this label place, add the page address switching command and corrected behind this label, adding the implantation site is each front that does not have the position of outlet page address in assembler source program (Y) code line of page switching command behind this label, and numerical value is this outlet page address, execution in step 1101, otherwise execution in step 1107;
1107, judge whether the inlet page address is all identical with the outlet page address, if it is identical then this label place does not have the page address mistake, execution in step 1101, otherwise there is the page address mistake in this label place, adds the page address switching command and corrected behind this label, after adding the implantation site and being this label, each does not have the front of the position of outlet page address in assembler source program (Y) code line of page switching command, and numerical value is this outlet page address, execution in step 1101;
1108, be output as a file after assembler source program (Y) revised the page address mistake, the result after the automatic error correction is reported out.
12, the automatic debugging that is used for the flush bonding module assembly routine system of correcting mistakes comprises:
Generate page address relation list module, read and analyze assembler source program (Y), grammer and instruction thereof according to certain chip obtain whole variablees that described assembler source program (Y) uses, the described variable of regeneration and with its relation list of page address (A) one to one;
Pretreatment module, (Y) carries out pre-service with described assembler source program, and standard assembler source program (Y) makes one of formation be easy to the assembler source program (B) of discerning and checking;
The page or leaf switch detection module is carried out page or leaf to described assembler source program (B) and is switched the correctness inspection, finds and the report page fault;
Automatically the module of correcting mistakes has the place of page fault to correct to demarcation, is output as a file afterwards, and the result after the automatic error correction is reported out.
13, the automatic debugging that the is used for the flush bonding module assembly routine according to claim 12 system of correcting mistakes, it is characterized in that: also comprise the invalid code detection module, in assembler source program (B), all labels are checked, if for invalid code then in page fault report, report invalid code.
CN 200410077558 2004-12-15 2004-12-15 Automatic debugging and mistake correcting method and system for assembly program in embedded module Pending CN1632763A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410077558 CN1632763A (en) 2004-12-15 2004-12-15 Automatic debugging and mistake correcting method and system for assembly program in embedded module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410077558 CN1632763A (en) 2004-12-15 2004-12-15 Automatic debugging and mistake correcting method and system for assembly program in embedded module

Publications (1)

Publication Number Publication Date
CN1632763A true CN1632763A (en) 2005-06-29

Family

ID=34847016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410077558 Pending CN1632763A (en) 2004-12-15 2004-12-15 Automatic debugging and mistake correcting method and system for assembly program in embedded module

Country Status (1)

Country Link
CN (1) CN1632763A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100418067C (en) * 2005-10-20 2008-09-10 英业达股份有限公司 Back method and system of testing for bug by computer program
CN102419730A (en) * 2011-12-08 2012-04-18 北京控制工程研究所 Automatic checking method of safety coding rule of 51 assembly language software
CN102789402A (en) * 2012-06-29 2012-11-21 徐下兵 Program automatic debugging method
CN108710361A (en) * 2018-05-30 2018-10-26 广州明珞软控信息技术有限公司 A kind of security procedure inspection method and system
CN109388430A (en) * 2017-08-02 2019-02-26 丰郅(上海)新能源科技有限公司 Realize microprocessor to the method for peripheral hardware hardware controls
CN110134411A (en) * 2019-05-20 2019-08-16 江苏华鹏智能仪表科技股份有限公司 A kind of self-identifying method for burn-recording suitable for ammeter RN8318 chip

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100418067C (en) * 2005-10-20 2008-09-10 英业达股份有限公司 Back method and system of testing for bug by computer program
CN102419730A (en) * 2011-12-08 2012-04-18 北京控制工程研究所 Automatic checking method of safety coding rule of 51 assembly language software
CN102789402A (en) * 2012-06-29 2012-11-21 徐下兵 Program automatic debugging method
CN109388430A (en) * 2017-08-02 2019-02-26 丰郅(上海)新能源科技有限公司 Realize microprocessor to the method for peripheral hardware hardware controls
CN109388430B (en) * 2017-08-02 2022-07-22 丰郅(上海)新能源科技有限公司 Method for realizing microprocessor to control peripheral hardware
CN108710361A (en) * 2018-05-30 2018-10-26 广州明珞软控信息技术有限公司 A kind of security procedure inspection method and system
CN110134411A (en) * 2019-05-20 2019-08-16 江苏华鹏智能仪表科技股份有限公司 A kind of self-identifying method for burn-recording suitable for ammeter RN8318 chip

Similar Documents

Publication Publication Date Title
CN1704908A (en) Method for locating program abnormity
CN1752934A (en) Compiler, compilation method, and compilation program
CN101046766A (en) Debugging method and device for telecommunication service development based on model drive
CN1920828A (en) Method and system for cleaning garbage files
CN1933512A (en) Tollticket processing equipment and method
CN1776620A (en) Apparatus,system and method for identifying fixed memory address errors in source code
CN1208719C (en) Application software automatic installing and automatic restoring method
CN1229944A (en) System and method for reducing footprint of preloaded classes
CN1207847A (en) System platform for communication system
CN101055523A (en) Method for exchanging software program code to hardware described language program code
CN1372363A (en) Process for initraling and updating topology for high-voltage or intermediate-voltage power station
CN1632763A (en) Automatic debugging and mistake correcting method and system for assembly program in embedded module
CN1142485C (en) Correlation delay eliminating method for streamline control
CN1900910A (en) Identifying method of multiple target branch statement through jump list in binary translation
CN100347683C (en) Structure-irrelevant micro-processor verification and evaluation method
CN1525323A (en) Processor and compiler for creating program for the processor
CN101055542A (en) Symbol debug method and system in cross integration development environment
CN1975669A (en) Method for service logic mapping onto applied language discribed by XML language
CN1549670A (en) Method and apparatus for examining uniformity
CN1862267A (en) Method for checking circuit schematic diagram
CN1622312A (en) Method for verifying consistency of chip hardware behavior and software simulation behavior
CN101030147A (en) Method and device for on-line programming logic device
CN1286282C (en) Method for processing transparent element in boundary scan interconnection test
CN1866867A (en) Plan and task realizing method in device management
CN1818857A (en) Method and system for identifying computer programm

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20050629