JP5353587B2 - Embedded program development apparatus and embedded program development method - Google Patents
Embedded program development apparatus and embedded program development method Download PDFInfo
- Publication number
- JP5353587B2 JP5353587B2 JP2009210668A JP2009210668A JP5353587B2 JP 5353587 B2 JP5353587 B2 JP 5353587B2 JP 2009210668 A JP2009210668 A JP 2009210668A JP 2009210668 A JP2009210668 A JP 2009210668A JP 5353587 B2 JP5353587 B2 JP 5353587B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- assembler
- embedded
- cycles
- source
- 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.)
- Expired - Fee Related
Links
Images
Abstract
Description
本発明は、組み込み用プログラム開発装置、及び組み込み用プログラム開発方法に関する。 The present invention relates to an embedded program development apparatus and an embedded program development method.
コピー機等のマイコン(マイクロコンピュータ)への組み込み用プログラムは、プロセッサとその周辺装置との入出力を行うこと(入出力動作命令)を含んでいることが多い。そのような周辺装置との入出力を行う場合、組み込み用プログラムは、その周辺装置の動作状態を調べ、それ以前のプログラムの指示による動作が完了していることを確認してから、次の入出力を行うことが通常である。 A program for incorporation into a microcomputer (microcomputer) such as a copying machine often includes input / output (input / output operation instructions) between the processor and its peripheral devices. When performing input / output to / from such a peripheral device, the embedded program checks the operating state of the peripheral device and confirms that the previous operation according to the instructions of the program has been completed. It is usual to output.
このような、周辺装置の動作状態を調べるプログラム部分が非常に多い場合、全体のプログラムサイズの増加や、実行サイクル数の増大を招いてしまう。組み込み用プログラムは、プログラム容量が限定されており、許容される実行時間にも制限がある。つまり、組み込み用プログラムにおいては、それらの限定・制約を超えてしまうことは問題を生じることになる。 When there are a large number of program portions for checking the operation state of the peripheral device, the overall program size increases and the number of execution cycles increases. The embedded program has a limited program capacity and an allowable execution time. In other words, in an embedded program, exceeding these limitations and restrictions causes a problem.
ここで、周辺装置の実行時間が予め判明しているならば、その周辺装置が動作開始してから次の動作を開始するまでのプログラムの実行時間が、その周辺装置の実行時間より長ければ、次の動作を開始する際にその周辺装置の動作状態を調べることなく、次の動作の開始を周辺装置に指示することができる。しかしながら、このことを利用して組み込み用プログラムのサイズを削減したり実行サイクル数を低減させたりするような、組み込み用プログラム開発装置は、現在存在しない。 Here, if the execution time of the peripheral device is known in advance, if the execution time of the program from the start of the peripheral device to the start of the next operation is longer than the execution time of the peripheral device, When starting the next operation, the peripheral device can be instructed to start the next operation without checking the operation state of the peripheral device. However, there is currently no embedded program development apparatus that uses this fact to reduce the size of an embedded program or reduce the number of execution cycles.
なお、特許文献1には、アセンブル時にサイクル情報を埋め込んでオブジェクトファイルを生成するアセンブラが開示されている。特許文献1に開示されるアセンブラは、サイクル数情報を生成し、それを使用者に知らしめるに過ぎない。例えば、この情報に基づいて再度アセンブルを実行するというものではない。また、リンカがリンク処理と共にサイクル数情報を生成する、という技術も開示されていない。
本発明は、アセンブラ及びリンカが計測する実行サイクル数に基づいて、再度のアセンブル時にプログラムのサイズを削減し、実行サイクル数を低減化するような組み込み用プログラム開発装置を提供することを目的とする。 An object of the present invention is to provide a built-in program development apparatus that reduces the size of a program at the time of re-assembling and reduces the number of execution cycles based on the number of execution cycles measured by an assembler and a linker. .
本発明は、上記の目的を達成するために為されたものである。本発明に係る組み込み用プログラム開発装置は、
アセンブラとリンカとを記憶する組み込み用プログラム開発装置であって、
上記アセンブラは、上記組み込み用プログラム開発装置に、アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳させてオブジェクトファイルを生成させる際に、夫々のソースプログラム内の指定された位置における先頭からのサイクル数を計測させ、
上記リンカは、上記組み込み用プログラム開発装置に、一つ以上のオブジェクトファイルを結合させて、実行形式プログラムを生成させる際に、夫々のソースプログラム内の指定された位置に関して、プログラム全体の先頭からのサイクル数の換算値を求めさせ、
更に、上記アセンブラは、上記組み込み用プログラム開発装置に、上記プログラム全体の先頭からのサイクル数の換算値が所定の値以上である場合は、当該場合では不必要となるプログラム部分を省いて、再度、アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳させる。
The present invention has been made to achieve the above object. An embedded program development device according to the present invention is:
An embedded program development device for storing an assembler and a linker ,
When the assembler causes the embedded program development device to translate the source program file written in assembly language into the machine language of the target processor and generate an object file , the specified position in each source program to measure the number of cycles from the beginning in,
When the linker develops an executable program by combining one or more object files with the embedded program development apparatus, the linker starts from the beginning of the entire program with respect to the designated position in each source program. Let the conversion value of the number of cycles be obtained ,
Furthermore, when the converted value of the number of cycles from the top of the entire program is greater than or equal to a predetermined value in the embedded program development device, the assembler omits a program part that is unnecessary in that case , again, Ru is translated into machine language of the target processor the source program files written in assembly language.
本発明に係るアセンブラは、
リンカを記憶する組み込み用プログラム開発装置が更に記憶するアセンブラであって、
上記組み込み用プログラム開発装置に、
アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳させてオブジェクトファイルを生成させる際に、夫々のソースプログラム内の指定された位置における先頭からのサイクル数を計測させ、
上記組み込み用プログラム開発装置が、上記リンカを実行することによって、一つ以上のオブジェクトファイルを結合して、実行形式プログラムを生成する際に、夫々のソースプログラム内の指定された位置に関して、プログラム全体の先頭からのサイクル数の換算値を求めた後において、更に、上記プログラム全体の先頭からのサイクル数の換算値が所定の値以上である場合は、当該場合では不必要となるプログラム部分を省いて、再度、アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳させる。
The assembler according to the present invention is
An assembler further memorized by an embedded program development device for memorizing a linker ,
In the embedded program development device,
When by translating the source program files written in assembly language of the target processor into machine language to generate an object file, to measure the number of cycles from the beginning of the specified position in the respective source program,
When the embedded program development apparatus executes the linker to combine one or more object files to generate an executable program, the entire program is related to a designated position in each source program. After obtaining the converted value of the cycle number from the beginning of the program , if the converted value of the cycle number from the beginning of the entire program is greater than or equal to a predetermined value, the unnecessary program part in that case is omitted. stomach, again, Ru to translate the source program files written in assembly language into machine language of the target processor.
本発明に係る組み込み用プログラム開発方法は、
アセンブラとリンカとを記憶する組み込み用プログラム開発装置における組み込み用プログラム開発方法であって、
上記組み込み用プログラム開発装置は、
上記アセンブラを実行することによって、アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳してオブジェクトファイルを生成する際に、夫々のソースプログラム内の指定された位置における先頭からのサイクル数を計測し、
上記リンカを実行することによって、一つ以上のオブジェクトファイルを結合して実行形式プログラムを生成する際に、夫々のソースプログラム内の指定された位置に関して、プログラム全体の先頭からのサイクル数の換算値を求め、
更に、上記アセンブラを実行することによって、上記プログラム全体の先頭からのサイクル数の換算値が所定の値以上である場合は、当該場合では不必要となるプログラム部分を省いて、再度、アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳する。
An embedded program development method according to the present invention includes:
An embedded program development method in an embedded program development device for storing an assembler and a linker ,
The embedded program development device
By executing the above assembler, when an object file is generated by translating a source program file written in assembly language into the machine language of the target processor, the source program file from the beginning at a specified position in each source program is generated. Measure the number of cycles,
When executing the above linker to combine one or more object files to generate an executable program, the conversion value of the number of cycles from the beginning of the entire program for the specified position in each source program the request,
Further, when the converted value of the number of cycles from the top of the entire program is greater than or equal to a predetermined value by executing the assembler , the unnecessary program portion is omitted in that case, and again the assembly language The source program file written in is translated into the machine language of the target processor.
本発明を利用することにより、プログラムのある地点から別の地点までのサイクル数を、リンカにより複数のソースファイルに跨る場合をも計測しそのサイクル数を基に再度アセンブルを行い、不必要な周辺装置の状態待ちの部分を削除できるから、プログラムサイズや実行サイクル数の低減化を行うことができる。 By using the present invention, the number of cycles from one point of the program to another point is measured even when it spans multiple source files with the linker, and the assembly is performed again based on the number of cycles. Since the part of the apparatus waiting for the state can be deleted, the program size and the number of execution cycles can be reduced.
以下、図面を参照して、本発明に係る好適な実施形態を説明する。 Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[好適な実施形態]
図8は、組み込み用プログラムを開発するときの一般的な処理の流れを示す図である。ホストコンピュータ上で作成されたソースファイル群Sは、それぞれアセンブラAにより翻訳されて、オブジェクトファイル群Bが作成される。オブジェクトファイル群Bは、リンカLにより結合されて、実行形式プログラムEが生成される。これらの処理は、パーソナルコンピュータやワークステーション等の、ホストコンピュータ上で実行される。
[Preferred embodiment]
FIG. 8 is a diagram showing a general processing flow when an embedded program is developed. The source file group S created on the host computer is translated by the assembler A, and the object file group B is created. The object file group B is combined by the linker L to generate an executable program E. These processes are executed on a host computer such as a personal computer or a workstation.
次に、図1は、本発明の好適な実施形態に係る組み込み用プログラム開発装置における組み込み用プログラム開発の処理の流れを示す図である。図示していないが、これらの処理もホストコンピュータ上で実行される。 Next, FIG. 1 is a diagram showing the flow of processing for developing an embedded program in the embedded program development apparatus according to the preferred embodiment of the present invention. Although not shown, these processes are also executed on the host computer.
ソースファイルを作成する時、プログラム先頭からの実行サイクル数を求めようとする位置に、例えば、図2のプログラムに示すように、シンボル名としてのラベルの付加を指定する。ここでは、“CYCLE1”及び“CYCLE2”が、シンボル名としてのラベルに該当する。更に、そのシンボル名を使って、実行サイクル数を条件とする条件アセンブル用の擬似命令(ifcycle命令)により、周辺装置の状態待ちのプログラム部分のアセンブル条件としておく。 When creating a source file, for example, as shown in the program of FIG. 2, the addition of a label as a symbol name is designated at a position where the number of execution cycles from the beginning of the program is to be obtained. Here, “CYCLE1” and “CYCLE2” correspond to labels as symbol names. Further, using the symbol name, the assembly condition of the program portion waiting for the state of the peripheral device is set by a conditional assembly pseudo-instruction (ifcycle instruction) with the number of execution cycles as a condition.
このとき、使用するシンボルが同じソースファイル内に存在しているかどうかは限定されない。外部参照シンボルでもよい。このような指定が行われたソースファイル群S1は、図1に示すように、それぞれアセンブラA1により翻訳されて、オブジェクトファイル群B1が作成される。このとき、アセンブラA1は、通常の翻訳処理を行うと共に、各シンボル位置のそのソースファイルにおけるプログラム先頭位置からのサイクル数を計測して、その情報を生成するオブジェクトファイル群B1に埋め込む。 At this time, whether or not the symbol to be used exists in the same source file is not limited. It may be an external reference symbol. As shown in FIG. 1, the source file group S1 for which such designation is performed is translated by the assembler A1 to create an object file group B1. At this time, the assembler A1 performs normal translation processing, measures the number of cycles from the program head position in the source file at each symbol position, and embeds it in the object file group B1 that generates the information.
また、最初(1回目)のアセンブルのときは、“ifcycle”擬似命令で示されるサイクル数による条件アセンブル部分の条件判定(及びライン削除)を実施しない。つまり、図2に示すプログラムでは、
“ifcycle (CYCLE2−CYCLE1)<PERI1CYCLE”
の条件判定を実施しない。これに伴い(後で説明する)“ifcycle”から“endif”までの削除も行わない。
Further, in the first (first) assembly, the condition determination (and line deletion) of the conditional assembly part is not performed based on the number of cycles indicated by the “ifcycle” pseudo instruction. That is, in the program shown in FIG.
“Ifcycle (CYCLE2-CYCLE1) <PERI1CYCLE”
The condition judgment of is not performed. Accordingly, deletion from “ifcycle” to “endif” (described later) is not performed.
この条件アセンブル部分の条件判定を(ホストコンピュータが)実施するか否かの判断は、ソースファイルS1の作成時期と、後述するサイクル情報テーブルT1の生成時期との新旧を比較することにより、為されることになる。すなわち、サイクル情報テーブルT1の作成時期がソースファイルS1の作成時期より古ければ、実行サイクル数計測が未完であると判断されるべきであるから、サイクル数による条件判定は実施されない。逆に新しければ、既にサイクル数が計測されたものとみなし得るから、条件判定は実施される。 The determination as to whether or not (the host computer) performs the condition determination of the condition assembly part is made by comparing the generation time of the source file S1 and the generation time of the cycle information table T1 described later. Will be. That is, if the creation time of the cycle information table T1 is older than the creation time of the source file S1, it should be determined that the execution cycle number measurement is incomplete, so the condition determination based on the cycle number is not performed. On the contrary, if it is new, it can be considered that the number of cycles has already been measured, so the condition determination is performed.
図1に戻って、リンカL1は、オブジェクトファイル群B1を結合して、実行形式プログラムP1を生成する。このとき、結合される順番により、オブジェクトファイル群B1内に存在するシンボルにおけるサイクル数を、プログラム全体の先頭からの換算値に置き換えて、サイクル情報テーブルT1に生成する(図7参照)。このサイクル情報テーブルファイルT1の生成は、従来のリンカで行われているプログラムアドレスの生成と、同様の手続きで行うことができる。 Returning to FIG. 1, the linker L1 combines the object file group B1 to generate an executable program P1. At this time, the number of cycles in the symbol existing in the object file group B1 is replaced with the converted value from the top of the entire program according to the order of combination, and the cycle information table T1 is generated (see FIG. 7). The generation of the cycle information table file T1 can be performed by the same procedure as the generation of the program address performed by the conventional linker.
アセンブラA1は、このサイクル情報テーブルT1に基づいて、再度、ソースファイル群S1を翻訳し、オブジェクトファイルB1を生成する。このとき、ifcycle擬似命令内で指示されているシンボル値のサイクル数の値によっては、対象とする周辺装置の状態待ちのプログラム部分を削除して翻訳する、ということが可能となる。 The assembler A1 translates the source file group S1 again based on the cycle information table T1, and generates an object file B1. At this time, depending on the value of the number of cycles of the symbol value specified in the ifcycle pseudo instruction, it is possible to delete and translate the program part waiting for the state of the target peripheral device.
アセンブラA1が再度翻訳を行った後には、リンカLが、削減されたプログラムのオブジェクトファイル群B1を再度結合して、容量の低減された実行形式プログラムP1を生成する。 After the assembler A1 performs the translation again, the linker L again combines the object files B1 of the reduced programs to generate the executable program P1 with a reduced capacity.
図2は、アセンブラプログラムの記述例である。それぞれの記述の意味を、以下の表1に示す。
図3は、本実施形態のアセンブラA1の再度の翻訳処理のフローチャートである。アセンブラA1はソースコードを読み(S02)、ifcycle疑似命令で無ければ(S06・No)、翻訳して(S08)次のソースコードを読む。なお、ここでの翻訳は、通常の翻訳だけでなく、他の疑似命令やラベル等の、ifcycle疑似命令以外の全ての記述の解析も含む。 FIG. 3 is a flowchart of re-translation processing of the assembler A1 according to the present embodiment. The assembler A1 reads the source code (S02), and if it is not an ifcycle pseudo-instruction (S06, No), translates it (S08) and reads the next source code. The translation here includes not only normal translation but also analysis of all descriptions other than ifcycle pseudo-instructions such as other pseudo-instructions and labels.
アセンブラA1が読んだソースコードがifcycle疑似命令であれば(S06・Yes)、ifcycle命令に含まれるサイクル数の実際の値をサイクル情報テーブルから取得し(S10)、ifcycle疑似命令が真か偽かを確認する(S12)。偽であれば(S12・No)、その後のendifまでのソースコードは翻訳しないということであるからそれらソースコードを読み飛ばして(S14)次のソースコードを読む。真であれば(S12・Yes)、その直後のソースコードも翻訳するということであるから、直ぐに次のソースコードを読む。ソースコードを読み終われば(S04・Yes)終了する(S16)。 If the source code read by the assembler A1 is an ifcycle pseudo instruction (S06 / Yes), the actual value of the number of cycles included in the ifcycle instruction is acquired from the cycle information table (S10), and the ifcycle pseudo instruction is true or false. Is confirmed (S12). If it is false (No at S12), it means that the source code up to the subsequent endif is not translated, so those source codes are skipped (S14) and the next source code is read. If true (Yes in S12), the source code immediately after that is also translated, and the next source code is read immediately. When reading of the source code is finished (S04, Yes), the process ends (S16).
次に、図4、図5、図6は、3つのソースファイルを示しており、サイクル数用ラベルがファイルを跨って用いられている例である。ここで、source1とsource2とsource3は、その順番でリンカにより結合されるものとする。図4乃至図6に示すプログラムの記述の意味は、図2の場合と同様に上記の表1に示している。 Next, FIG. 4, FIG. 5, and FIG. 6 show three source files, and are examples in which the cycle number label is used across the files. Here, source1, source2, and source3 are connected by the linker in that order. The meanings of the program descriptions shown in FIGS. 4 to 6 are shown in Table 1 as in the case of FIG.
図4において、PERI1とPERI2との2つの周辺装置への動作の開始を行っている。夫々、動作を開始する位置に“CYCLE1”、“CYCLE2”というラベルを付与している。図5及び図6は、それぞれ図4で開始した位置から、同じ周辺装置への更なる動作の開始(の位置)までのサイクル数により、それぞれの周辺装置の動作終了を待つ部分(周辺装置の状態待ち部分)の条件アセンブルを記述したものである。いずれも、周辺装置の動作が終了していれば(即ち、CYCLE3−CYCLE1≧PERI1CYCLEであり、CYCLE4−CYCLE2≧PERI2CYCLEであるならば)、LOOP3、及びLOOP4で示されるループ部分の削除が可能となる。 In FIG. 4, the operation of two peripheral devices, PERI1 and PERI2, is started. The labels “CYCLE1” and “CYCLE2” are assigned to the positions where the operation is started. FIGS. 5 and 6 each show a portion (peripheral device wait) for the end of the operation of each peripheral device according to the number of cycles from the position started in FIG. 4 to the start (position) of further operation to the same peripheral device. It describes the condition assembly of the (waiting state). In any case, if the operation of the peripheral device is completed (that is, if CYCLE3-CYCLE1 ≧ PERI1CYCLE and CYCLE4-CYCLE2 ≧ PERI2CYCLE), the loop portions indicated by LOOP3 and LOOP4 can be deleted. .
ただし、サイクル数による条件アセンブル部分が複数ある場合、一つの条件アセンブル部分が削除されたことにより、プログラムの実行サイクル数が減少し、そのために、別の条件アセンブル部分の条件が変化してしまうことがある。この場合は、再度アセンブル、及びリンク処理を繰り返すことも可能である。 However, if there are multiple condition-assembled parts depending on the number of cycles, the number of program execution cycles decreases due to the deletion of one condition-assembled part, and as a result, the condition of another condition-assembled part changes. There is. In this case, the assembly and link processing can be repeated again.
なお、図7は、図4乃至図6のプログラムにおけるサイクル情報テーブルの構成例である。 FIG. 7 is a configuration example of the cycle information table in the programs of FIGS.
[その他の実施形態]
また、本発明は、C言語等の高級プログラミング言語のコンパイラと共に、利用することもできる。つまり、高級プログラミング言語のプログラムにおいてサイクル数を用いた条件コンパイルを記述して、本発明に係るアセンブラ及びリンカを用いれば、サイクル数計測を行い、計測したサイクル数に基づいて、不必要な、周辺装置の動作状態を調べるプログラム部分を省くことができる。
[Other Embodiments]
The present invention can also be used together with a compiler of a high-level programming language such as C language. In other words, by describing conditional compilation using the number of cycles in a high-level programming language program and using the assembler and linker according to the present invention, the number of cycles is measured, and based on the measured number of cycles, unnecessary peripheral It is possible to omit the program part for checking the operation state of the apparatus.
このようにして、プログラムのある地点から、別の地点までのサイクル数を、アセンブラのみならず、リンカにより複数のソースファイルに跨る場合をも計測し、そのサイクル数を基に再度アセンブルを行い、不必要な周辺装置の状態待ちの部分を削除して、プログラムサイズや、実行サイクル数の低減化を行うことが可能となる。 In this way, the number of cycles from one point of the program to another point is measured not only in the assembler but also across multiple source files by the linker, and the assembly is performed again based on the number of cycles. It is possible to reduce the program size and the number of execution cycles by deleting unnecessary wait states of peripheral devices.
本発明は、CPU/DSP等のマイコン組み込み機器ソフトウェア開発に用いることができる。 The present invention can be used for software development of microcomputer embedded device such as CPU / DSP.
S1・・・ソースファイル、A1・・・アセンブラ、B1・・・オブジェクトファイル、L1・・・リンカ、T1・・・サイクル情報テーブル、P1・・・実行形式プログラム。 S1 ... Source file, A1 ... Assembler, B1 ... Object file, L1 ... Linker, T1 ... Cycle information table, P1 ... Execution format program.
Claims (3)
上記アセンブラは、上記組み込み用プログラム開発装置に、アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳させてオブジェクトファイルを生成させる際に、夫々のソースプログラム内の指定された位置における先頭からのサイクル数を計測させ、
上記リンカは、上記組み込み用プログラム開発装置に、一つ以上のオブジェクトファイルを結合させて、実行形式プログラムを生成させる際に、夫々のソースプログラム内の指定された位置に関して、プログラム全体の先頭からのサイクル数の換算値を求めさせ、
更に、上記アセンブラは、上記組み込み用プログラム開発装置に、上記プログラム全体の先頭からのサイクル数の換算値が所定の値以上である場合は、当該場合では不必要となるプログラム部分を省いて、再度、アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳させる
ことを特徴とする組み込み用プログラム開発装置。 An embedded program development device for storing an assembler and a linker ,
When the assembler causes the embedded program development device to translate the source program file written in assembly language into the machine language of the target processor and generate an object file , the specified position in each source program to measure the number of cycles from the beginning in,
When the linker develops an executable program by combining one or more object files with the embedded program development apparatus, the linker starts from the beginning of the entire program with respect to the designated position in each source program. Let the conversion value of the number of cycles be obtained ,
Furthermore, when the converted value of the number of cycles from the top of the entire program is greater than or equal to a predetermined value in the embedded program development device, the assembler omits a program part that is unnecessary in that case , again, embedded program development apparatus according to claim Rukoto to translate the source program files written in machine language of the target processor in assembly language.
上記組み込み用プログラム開発装置に、
アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳させてオブジェクトファイルを生成させる際に、夫々のソースプログラム内の指定された位置における先頭からのサイクル数を計測させ、
上記組み込み用プログラム開発装置が、上記リンカを実行することによって、一つ以上のオブジェクトファイルを結合して、実行形式プログラムを生成する際に、夫々のソースプログラム内の指定された位置に関して、プログラム全体の先頭からのサイクル数の換算値を求めた後において、更に、上記プログラム全体の先頭からのサイクル数の換算値が所定の値以上である場合は、当該場合では不必要となるプログラム部分を省いて、再度、アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳させる
ことを特徴とするアセンブラ。 An assembler further memorized by an embedded program development device for memorizing a linker ,
In the embedded program development device,
When by translating the source program files written in assembly language of the target processor into machine language to generate an object file, to measure the number of cycles from the beginning of the specified position in the respective source program,
When the embedded program development apparatus executes the linker to combine one or more object files to generate an executable program, the entire program is related to a designated position in each source program. After obtaining the converted value of the cycle number from the beginning of the program , if the converted value of the cycle number from the beginning of the entire program is greater than or equal to a predetermined value, the unnecessary program part in that case is omitted. stomach, again, assembler characterized by Rukoto to translate the source program files written in assembly language into machine language of the target processor.
上記組み込み用プログラム開発装置は、
上記アセンブラを実行することによって、アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳してオブジェクトファイルを生成する際に、夫々のソースプログラム内の指定された位置における先頭からのサイクル数を計測し、
上記リンカを実行することによって、一つ以上のオブジェクトファイルを結合して実行形式プログラムを生成する際に、夫々のソースプログラム内の指定された位置に関して、プログラム全体の先頭からのサイクル数の換算値を求め、
更に、上記アセンブラを実行することによって、上記プログラム全体の先頭からのサイクル数の換算値が所定の値以上である場合は、当該場合では不必要となるプログラム部分を省いて、再度、アセンブリ言語で書かれたソースプログラムファイルを対象のプロセッサの機械語に翻訳する
ことを特徴とする組み込み用プログラム開発方法。 An embedded program development method in an embedded program development device for storing an assembler and a linker ,
The embedded program development device
By executing the above assembler, when an object file is generated by translating a source program file written in assembly language into the machine language of the target processor, the source program file from the beginning at a specified position in each source program is generated. Measure the number of cycles,
When executing the above linker to combine one or more object files to generate an executable program, the conversion value of the number of cycles from the beginning of the entire program for the specified position in each source program the request,
Further, when the converted value of the number of cycles from the top of the entire program is greater than or equal to a predetermined value by executing the assembler , the unnecessary program portion is omitted in that case, and again the assembly language A method for developing an embedded program, wherein the source program file written in is translated into a machine language of a target processor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009210668A JP5353587B2 (en) | 2009-09-11 | 2009-09-11 | Embedded program development apparatus and embedded program development method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009210668A JP5353587B2 (en) | 2009-09-11 | 2009-09-11 | Embedded program development apparatus and embedded program development method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011060109A JP2011060109A (en) | 2011-03-24 |
JP5353587B2 true JP5353587B2 (en) | 2013-11-27 |
Family
ID=43947648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009210668A Expired - Fee Related JP5353587B2 (en) | 2009-09-11 | 2009-09-11 | Embedded program development apparatus and embedded program development method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5353587B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6500626B2 (en) * | 2015-06-16 | 2019-04-17 | 富士通株式会社 | Computer, compiler program, link program and compilation method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04145536A (en) * | 1990-10-05 | 1992-05-19 | Pfu Ltd | Address rearrangement processing system for program conversion processing system |
JPH0756723A (en) * | 1993-08-11 | 1995-03-03 | Fujitsu Ltd | Compiler device |
JPH1139155A (en) * | 1997-07-24 | 1999-02-12 | Nec Corp | Static analysis method of execution performance via collection of information in compiling mode |
JP2001216006A (en) * | 2000-02-04 | 2001-08-10 | Meidensha Corp | Programming supporting system |
JP3758991B2 (en) * | 2001-04-24 | 2006-03-22 | Necマイクロシステム株式会社 | Method for adjusting the number of execution steps of a target program, adjusting device therefor, and recording medium storing the program |
JP2003131889A (en) * | 2001-10-25 | 2003-05-09 | Hitachi Ltd | Object program generation method |
JP2005122452A (en) * | 2003-10-16 | 2005-05-12 | Ricoh Co Ltd | Assembler for reducing programming capacity, compiler, linker and program development support system |
JP4870956B2 (en) * | 2005-09-15 | 2012-02-08 | 株式会社リコー | Embedded program generation method, embedded program development system, and information table section |
JP4898365B2 (en) * | 2006-09-15 | 2012-03-14 | 株式会社リコー | Embedded program development apparatus and program automatic generation method |
-
2009
- 2009-09-11 JP JP2009210668A patent/JP5353587B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011060109A (en) | 2011-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002024029A (en) | Compiler, compiling method and computer readable recording medium with compile program recorded thereon | |
JP2006313422A (en) | Calculation processing device and method for executing data transfer processing | |
JP2004164554A (en) | Device and method for executing and monitoring program | |
JP2007304840A (en) | Compilation method, debugging method, compilation program, and debugging program | |
JP6651977B2 (en) | Information processing apparatus, compiling method, and compiling program | |
JP2009176064A (en) | Software refactoring support device and method | |
JP2008276735A (en) | Program code converter and program code conversion method | |
JP5353587B2 (en) | Embedded program development apparatus and embedded program development method | |
JP4462676B2 (en) | Program conversion device, compiler device, and computer-readable recording medium recording program conversion program | |
JP2010152762A (en) | Program conversion apparatus and program conversion method | |
JP3840149B2 (en) | Compiler, arithmetic processing system, and arithmetic processing method | |
JP6500626B2 (en) | Computer, compiler program, link program and compilation method | |
JP2005190302A (en) | Information processing system and code generation method | |
JP2009258796A (en) | Program development device and program development method | |
JP6011329B2 (en) | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, AND COMPUTER PROGRAM | |
JP7333889B2 (en) | Software design support system, software design support method and software design support program | |
US8468511B2 (en) | Use of name mangling techniques to encode cross procedure register assignment | |
KR100345401B1 (en) | Method and apparatus for binary program translation | |
JP2007114934A (en) | Compiler system | |
JP2007265098A (en) | Macro definition information acquisition device | |
JP2008071065A (en) | Compile device, method, program and storage medium for performing in-line expansion | |
JP5910197B2 (en) | Embedded program development apparatus, compilation method, and compiler program | |
JP6326838B2 (en) | Program processing apparatus, program processing method, and program processing program | |
JP2006072584A (en) | Device for creating execution program, method for creating execution program, program processing apparatus, program processing method, and program | |
JP2009181558A (en) | Program conversion device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120705 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130514 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130708 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130730 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130812 |
|
LAPS | Cancellation because of no payment of annual fees |