Installed-software development assistance system

Electrical computers and digital processing systems: memory – Storage accessing and control – Access timing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S103000, C711S154000, C712S010000

Reexamination Certificate

active

06523101

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to an installed-software development assistance system which is suitably used, for example, in cases in which software systems to be installed are developed.
2. Description of the Related Art
In recent years, in various types of electronic apparatuses, often, a microcomputer and a program which operates on this microcomputer are installed, and various types of control are performed by software. In general, such an electronic apparatus comprises a software system
500
to be installed, such as that shown in FIG.
25
.
The software system
500
to be installed comprises a CPU (Central Processing Unit)
501
which executes a program, a RAM (Random Access Memory)
502
, a ROM (Read Only Memory)
503
, an EEPROM (Electrically Erasable ROM)
504
, and an input/output device
505
. The CPU
501
is connected to other component devices through a bus
506
and performs communication with the other component devices via the bus
506
. The program has been stored in the ROM
503
.
The CPU
501
reads a program and executes it, performing a computation in accordance with various signals input from the input/output device
505
and outputting the computation result to the input/output device
505
. For the program execution form, there are cases in which the CPU
501
reads text codes from the program stored in the ROM
503
via the bus
506
, and the program is directly executed in the CPU
501
, and there are other cases in which text codes read by the CPU
501
are copied once into the RAM
502
, and these copied text codes are read from the RAM
502
and are executed.
Generally, the ROM
503
has an access speed which is slower than that of the RAM
502
. For this reason, normally, in either case, the data codes in the program are copied into the RAM
502
and are used. In the software system
500
to be installed, when the execution speed of the program is increased, it is preferable that the text codes stored on the ROM
503
be copied once into the RAM
502
and that the CPU
501
execute the text codes copied into the RAM
502
. However, in the software system
500
to be installed, when the text codes are to be copied into the RAM
502
, the size required for the RAM
502
is increased by an amount corresponding to the text codes, resulting in increased cost.
Also, in the software system
500
to be installed, since the EEPROM
505
is rewritable, and furthermore, since memory can be maintained even when power supply is stopped, there are cases in which text codes and data codes which may be changed are held in the EEPROM
505
.
In the above-described software system
500
to be installed, a program stored in the ROM
503
is generally developed by a software development system
510
such as that shown in FIG.
26
. In the following, a description is given by using a case, as an example, in which C language is used as a programming language; however, basic processing is also the same for cases in which other programming languages are used.
In the software development system
510
, a header file
511
and a source file
512
are files to be prepared by the user. The header file
511
and the source file
512
may be files created by the user, and may be files selected by the user, which files are prepared in advance by the software development system
510
.
Compiling information
513
is optional information which specifies a compiling form with respect to a compiler
514
, for example, the type of CPU
501
, instructions for optimization, etc.
A compiling processing section
515
compiles the source file
512
by using the compiler
514
suitable for target hardware, the compiling information
513
, and the header file
511
in order to create an object file
516
.
A library file
517
may be a library which is prepared in advance by the software development system
510
or may be a library created by the user.
Link information
518
is an optional information which specifies a link form with respect to a linker
519
.
ROM information
520
is the starting address information of the RAM
502
and/or the ROM
503
.
A link section
521
links a plurality of object files
516
by using the linker
519
suitable for target hardware, the library file
517
, the link information
518
, and the ROM information
520
, in order to create one execution-format file
522
. This execution-format file
522
contains text codes and data codes.
The completed execution-format file
522
is written into the ROM
503
and is installed into the software system
500
to be installed. When the execution-format file
522
is executed by the CPU
501
, there is a case in which the execution-format file
522
is directly executed from the ROM
503
by the CPU
501
in accordance with the setting in the ROM information
520
, and there is another case in which the execution-format file
522
is executed by the CPU
501
after the file is copied once into the RAM
502
.
Next, the software development procedure in the software development system
510
is described. In the following, a first example shown in
FIG. 27
is described.
In the first example, as shown in
FIG. 27
, initially, a system library
523
, a system source file
524
, and a user source file
525
are prepared. The system library
523
corresponds to the library file
517
in FIG.
26
. The system library
523
is a library containing a program which is, for example, provided by the software development system
510
and which realizes the functions of an OS.
The system source file
524
corresponds to the source file
512
in FIG.
26
. The system source file
524
is a source file containing a program which is, for example, provided by the software development system
510
and which realizes the functions of an OS. The system source file
524
, in general, is often distributed only to the hardware-dependent portion in the program which is finally completed. The user source file
525
corresponds to the system source file
524
in
FIG. 26
, and is a source file created for the control of an electronic apparatus by the user.
In the first example, the compiling processing section
515
compiles the system source file
524
and the user source file
525
, thereby creating an object file
526
and an object file
527
, respectively. The object file
526
and the object file
527
correspond to the object file
516
in FIG.
26
.
Next, the link section
521
links the system library
523
, the object file
526
, and the object file
527
, thereby creating one execution-format file
522
.
The execution-format file
522
comprises, for example, as shown in
FIG. 28
, internal structure information
530
, a text section
531
, an initialization data section
532
, an initialization-unnecessary-data section
533
, and a debugging information section
534
. As forms of such an execution-format file
522
, specifically, for example, ELF (Executable and Linking Format), COFF (Common Object File Format), etc., are known.
The internal structure information
530
, which is positioned at the start portion of the execution-format file
522
, contains information for identifying the contents of the portions which follow, information for the length thereof, etc. By analyzing this internal structure information
530
, necessary information can be extracted from the portions which follow.
As shown in
FIG. 27
, the text section
531
is program codes which are assembled from each of the system library
523
, the object file
526
, and the object file
527
and are linked.
The initialization data section
532
is an initial-value data area for variables which are assembled and linked in a similar manner.
The initialization-unnecessary-data section
533
is a data area for variables, in which initial values are not determined, which are assembled and linked in a similar manner.
The debugging information section
534
is an area in which symbol information, such as variable names, is stored for the purpose of debugging programs.
When the execution-format file
522
is installed i

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Installed-software development assistance system does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Installed-software development assistance system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Installed-software development assistance system will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3176162

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.