WO1998024021A1 - Systeme de commande de micro-ordinateur - Google Patents

Systeme de commande de micro-ordinateur Download PDF

Info

Publication number
WO1998024021A1
WO1998024021A1 PCT/JP1997/003338 JP9703338W WO9824021A1 WO 1998024021 A1 WO1998024021 A1 WO 1998024021A1 JP 9703338 W JP9703338 W JP 9703338W WO 9824021 A1 WO9824021 A1 WO 9824021A1
Authority
WO
WIPO (PCT)
Prior art keywords
microcomputer
control system
data
program
task
Prior art date
Application number
PCT/JP1997/003338
Other languages
English (en)
French (fr)
Inventor
Tamotsu Ito
Original Assignee
Hitachi, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to US09/308,578 priority Critical patent/US6496978B1/en
Publication of WO1998024021A1 publication Critical patent/WO1998024021A1/ja
Priority to US10/268,721 priority patent/US7174537B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Definitions

  • the present invention relates to a microcomputer control system that is controlled based on a program or data stored in a predetermined storage unit.
  • the control device comprises a ROM for storing a control program indicating the control procedure, and a processing device for executing the control program to control the device. Further, the replacement device replaces a part of the control program in the ROM.
  • a non-volatile memory storing a program and replacement designation information for instructing whether or not to perform the replacement is detachably provided, and a control program or a replacement program is executed according to the replacement designation information. As a result, the program can be modified without exchanging the original program ROM.
  • the above-mentioned prior art allows a program to be modified without replacing the original program ROM, but since this modification is determined by replacement designation information stored in the nonvolatile memory, for example, If a new control device was created by modifying a part of the control program in the original program R0M to improve its version, and this non-volatile memory was used for this, This modified part is the location of this non-volatile memory. If the replacement designation information indicates that the replacement program is to be replaced, the modified portion will not be used. To prevent this, it is necessary to modify the control program of the program R0M and newly provide a non-volatile memory for the replacement program corresponding to this.
  • An object of the present invention is to provide a microcomputer control system capable of independently changing a control program or data in a built-in memory and a replacement program or data in an external memory. Disclosure of the invention
  • the present invention adds version information to a control program or data in a built-in memory and a replacement program or data in an external memory, and incorporates the version information with the version information. Determine whether to use the control program or data in the memory or the replacement program or data in the external memory. Further, the present invention is not limited to the above-mentioned version information, but determines a required program or data by comparing a plurality of programs or data, and based on the result, an internal or external program or data. The above object is achieved by using. BRIEF DESCRIPTION OF THE FIGURES
  • FIG. 1 is a hard-air block diagram showing an embodiment of a microcomputer control system according to the present invention.
  • FIG. 2 is a view showing information contents stored in the ROM and the EPROM in FIG.
  • FIG. 3 is a flowchart showing a processing operation at power-on or reset in the embodiment of the microcomputer control system according to the present invention using the information contents shown in FIG.
  • FIG. 4 is a diagram showing a specific example of information contents stored in the RAM in FIG. 1 by the processing operation shown in FIG.
  • FIG. 5 is a diagram showing information contents stored in ROM and EPROM in FIG. 1 in another embodiment of the microcomputer control system according to the present invention.
  • FIG. 6 is a diagram showing a specific example of information stored in RAM in FIG. 1 in another embodiment of the microcomputer control system according to the present invention.
  • FIG. 7 is a diagram showing information contents stored in R 0 M and EP ROM in FIG. 1 in another embodiment of the microcomputer control system according to the present invention.
  • FIG. 8 is a diagram showing information stored in the ROM and the EPROM in FIG. 1 in another embodiment of the microcomputer control system according to the present invention.
  • FIG. 9 is a diagram showing a specific example of information stored in RAM in FIG. 1 in another embodiment of the microcomputer control system according to the present invention.
  • FIG. 10 is a diagram showing information contents stored in the ROM and the EPROM in FIG. 1 in another embodiment of the microcomputer control system according to the present invention.
  • FIG. 11 shows another embodiment of the microcomputer control system according to the present invention.
  • FIG. 3 is a diagram showing a specific example of information stored in a RAM in FIG. 1 in the embodiment.
  • FIG. 12 is a diagram showing a specific example of information stored in RAM in FIG. 1 in another embodiment of the microcomputer control system according to the present invention.
  • FIG. 13 is a block diagram showing another embodiment of the present invention, and is a block diagram showing an embodiment in which an external device 10 is connected to the embodiment of FIG.
  • FIG. 14 is a flowchart showing a processing operation to be stored in the flash memory 11.
  • FIG. 15 is a block diagram showing an embodiment in which DRAM 13 is added to the embodiment of FIG.
  • FIG. 16 is a flowchart showing a processing procedure of the embodiment of FIG. 15 o Best mode for carrying out the invention
  • FIG. 1 is a hardware block diagram showing an embodiment of a microcomputer control system according to the present invention, wherein 1 is a CPU (Central Processing Unit), 2 is R (Read Only Memory), 3 is RAM (Random Access Memory), 4 is I / 0 (Input / Output) section, 5 is EP ROM (Erasable Programmable ROM), 6 is one-chip microcomputer, 7 is address bus, 8 is data bus, 9 is control bus It is.
  • CPU Central Processing Unit
  • R Read Only Memory
  • 3 Random Access Memory
  • 4 is I / 0 (Input / Output) section
  • 5 is EP ROM (Erasable Programmable ROM)
  • 6 is one-chip microcomputer
  • 7 address bus
  • 8 data bus
  • 9 is control bus It is.
  • this embodiment is a single-chip microcomputer 6 in which a CPU 1, a ROM 2, a RAM 3, and an I / O unit 4 are stored in one and the same chip, an address bus 7 and a data bus 7. Via bus 8, control bus 9 And an external EP ROM5 connected to the The CPU 1 controls the entire system, and the procedure (program) and data for operating the CPU 1 are stored in the ROM 2.
  • the ROM 2 is a memory that cannot be rewritten externally
  • the RAM 3 is a rewritable memory used for storing data.
  • the I ZO unit 4 is used for input / output of external data.
  • the EP ROM 5 stores programs and data for equivalently replacing ROM 2 programs and data that cannot be rewritten from the outside.
  • CPU 1 means a control signal group such as an address signal 7 indicating an address signal group, a data bus 8 indicating an input / output data signal group of the CPU 1, and a read / write signal in the chip. It is connected to ROM 2 and RAM 3, I / O unit 4, and EPROM 5 via control bus 9.
  • FIG. 2 (a) shows the information content stored in ROM2
  • FIG. 2 (b) shows the information content stored in EPROM5.
  • the reset vector is stored in the storage area 200 in the address space in ROM2, and the version number a which is the version information is stored in the storage area 201.
  • the TA SK la address and the TA SK 2a address are stored in the storage areas 202 and 203, respectively, and the TA SK 1 address corresponding to the TASKI a address and the TA SK 2a address are stored. It is assumed that a routine and TASK 2a routine are stored in storage areas 204 and 205, respectively.
  • the EPROM 5 stores the identification information (identification code) in the storage area 210 and the version number b which is the version information in the storage area 211.
  • the TA SK lb address and the TA SK 2 b address are stored in the storage areas 2 1 2 and 2 13 respectively, and the TA SK 1 address corresponding to the TASKI b address and the TA SK 2 b address are stored. Ruichi It is assumed that the routine and the TASK 2b routine are stored in storage areas 214 and 215, respectively.
  • FIG. 3 is a flowchart showing the processing operation of this embodiment at the time of power-on or reset, and the processing procedure will be described below with reference to FIGS. 2 and 3.
  • the CPU 1 issues an address specifying the storage area 200 where the reset vector of ROM 2 is stored.This address is stored in this storage area 200. Reads the information (ie, reset vector) and transfers control to that reset vector (the first address where the program that runs first is stored).
  • initial settings such as the initial setting of the internal register of CPU 1, the initial condition setting of the I / O unit 4, and the internal initialization of the RAM 3 are performed. 30).
  • Step 31 it is determined whether EPROM 5 is connected to the outside (Step 31). Specifically, the determination is made by reading the storage area of the connected EPROM 5 and confirming the existence of data. If the EPR OM 5 is not connected externally, proceed to step 36.If the EPR OM 5 is connected externally, this is the same as that of the microcomputer control system of this embodiment. It is determined whether or not it is an EPROM (step 32). This is because identification information (identification code) (for example, character code “ ⁇ ”) or data in EPR OM 5 is stored in a specific storage area (here, storage area 210) of EPR OM 5. And a hash value generated from the program code), and determine whether the identification information (identification code) is a predetermined one.
  • identification information identification code
  • step 36 If the connected EPR OM 5 is not the EPR OM that matches this microcomputer control system, go to step 36.
  • this EPROM 5 is a predetermined EPROM that matches this microcomputer control system
  • the version information (version number b) stored in the storage area 211 is compared with the version information (version 33). Moves to step 35, and if the version number a of ROM 2 is newer, moves to step 36 (step 34).
  • step 3 5 the address of TASK stored in EPROM 5 (here, TASK 1 address in storage area 2 1 2 and TASK 2 b address in storage area 2 13) is stored in RAM.
  • Register to 3. Fig. 4 shows the state registered in RAM 3.
  • the registered TASK address is stored in EPROM 5, for example, the TASK lb address is stored in the storage area 40, and the TASK 2b address is stored in the storage area 41. It is registered.
  • step 36 the address of TASK recorded in ROM 2 (here, the address of TASK la in storage area 202 and the address of TASK 2a in storage area 203) is stored in RAM. Register to 3.
  • the TASK address registered in RAM 3 is different from that shown in FIG. 4.
  • the TASK la address is in the mechanical area 40 and the TASK 2 a address is in the storage area 41. Will be registered respectively.
  • TASK 1 is the EPR OM 5 TASK stored in storage area 2 1 4
  • the 1b routine is executed, and TASK 2 executes the TASK 2b routine stored in the storage area 2 15 of the EPROM 5.
  • the entire program or data stored in ROM 2 is replaced with the program or data stored in EPR OM 5, and the program or data stored in EPR OM 5 is used.
  • TASK address registered in RAM 3 is the TASK 1a address and TASK 2a address in ROM 2
  • TASK 1 is stored in the storage area 204 of ROM 2.
  • TASK 1a routine is executed, and TASK 2 executes the TASK 2a routine stored in the storage area 205 of ROM2.
  • the programs and data stored in ROM 2 will be used.
  • any combination of the ROM 2 version number a and the EPROM 5 version number b is possible, and the ROM 2 program data can be combined with the EPR OM 5 program and data. Can be changed independently, and even with such a change, the program data of ROM 2 and the program and data of EP ROM 5 are organically combined. Will be used.
  • the R0M2 version number a increases in a certain block unit, such as 100, 200, 300,..., As it becomes newer. Increase with small values, such as 10 1, 2 13, 3 65,.... As a result, there is always a difference between these version numbers a and b, and it is possible to judge whether the version is new or old based on the magnitude relation. If the version numbers match, no inconvenience will occur if ROM 2 programs and data are used.
  • the storage areas 200, 201, 202, 203, 210, 211, 212, and 213 are absolute addresses, respectively.
  • a fixed address in which the absolute value of the address is fixedly determined in the space is more effective in terms of the system configuration.
  • the embodiment of the present invention is not limited to only fixed addresses.
  • FIG. 5 (a) shows the information stored in ROM 2 in the on-chip microcomputer 6 in another embodiment of the microcomputer control system according to the present invention, and FIG. The information stored in EPR OM 5 is shown below.
  • the hardware configuration of this embodiment is the same as that shown in FIG.
  • the reset vector and the version number a are stored in the storage areas 500 and 501, respectively.
  • a TASK address is stored with a version number added to each of the TASK addresses, and a TASK routine for these TASK addresses is stored in the storage area 506 or later.
  • TASK la addresses and TASK 2a addresses are stored as TASK addresses, and TASK la routines and TASK 2a routines for these are stored.
  • the dress is in storage area 503, TA for this
  • the SK1a version number is stored in the preceding storage area 502, respectively, the TASK2a address is stored in the storage area 505, and the TASK2a number corresponding to this is stored in the preceding storage area. 504 are respectively stored.
  • the identification code and the version number b are stored in the storage areas 510 and 511, respectively, in the EPROM 5, and are stored in the storage areas 512 and thereafter.
  • the TASK address is stored with a version number added to each of the TASK addresses, and the TASK routine for these TASK addresses is stored in the storage area 516 or later.
  • TASK lb address and TASK 2 b address are stored as TASK addresses, and TASK 1 b routine and TASK 2 b routine for these are stored, and TASK 1 b address is stored.
  • the TASK 1 b version number corresponding to this is stored in the storage area 5 13, respectively, in the preceding storage area 5 12, and the TASK 2 b address is stored in the storage area 5 15, and the TASK 1
  • the 2b version number is stored in the preceding storage area 5 14 respectively.
  • the whole program and data are stored in the ROM 2 and the EPROM 5 respectively in the above-described embodiment, and in the embodiment shown in FIG. 2, the comparison of the version numbers a and b
  • the program and data of any of these ROM2 and EPR0M5 are used and replace the entire program and data, this embodiment shown in FIG.
  • the program and data stored in EPROM 5 can be partially (ie, in routine units) stored in EPROM5. It can be replaced with. Therefore, the TASK lb routine and TASK 2 b routine of EPROM 5 can be replaced with the TASK 1a routine and TASK 2a routine of R0M2, respectively.
  • the K address and TAS routine are stored in R0 ⁇ 2 and EPR0 ⁇ 5.
  • the reset vector, the identification code, and the version numbers a and b are the same as those in the above-described embodiment.
  • the version number b of the EP ROM 5 is the maximum value (for example, , 1 ⁇ 1 ⁇ ??) In hexadecimal notation, all TASKs execute the TASK routine in EPROM 5 as in the previous embodiment, otherwise, every TASK It is an algorithm that compares the version numbers.
  • the version number a of ROM 2 is set to, for example, one smaller than the above maximum value (for example, FFFE in hexadecimal may be used, or version number b may be read out without such a comparison to determine whether or not this is the maximum value described above.
  • the TASK 2a version number stored in the storage area 504 of the ROM 2 is compared with the TASK 2b version number stored in the storage area 514 of the EP ROM 5, and the new Register the TASK 2 address of the version number in RAM3.
  • TA SK 2 b Version number If it is newer, register the TASK 2b address for it in RAM 3.
  • the TASK 2a version number of R0M2 is newer, and the TASK2a address corresponding to this is registered in RAM3.
  • the RAM 3 has the TASK 1 address in the storage area 60 as the TASK 1 address, and the TASK lb address in the storage area 61 as the TASK 2 address.
  • the ROM 2 TASK 2 a dress is registered. Accordingly, TASK1 executes the TASK1b routine of EPROM5, and TASK2 executes the TASK2a routine of ROM2.
  • the program data of ROM 2 and the program and data of EPROM 5 can be changed independently. Nevertheless, the ROM 2 program / data and the EPROM 5 program / data will be organically combined and used.
  • the storage areas 50,000, 510, 520, 503, 504, 505, 510, 511, 521, 511 It is more effective for the system configuration that the fixed addresses 3, 5 14, and 5 15 are fixed addresses whose absolute values are fixedly determined in the absolute address space.
  • the embodiment of the present invention is not limited to a fixed address only.
  • FIG. 7 is a diagram showing the information content of the memory section in still another embodiment of the microcomputer control system according to the present invention that realizes this.
  • FIG. 7 (a) shows the information in the one-chip microcomputer 6.
  • FIG. 7 (b) shows the information content stored in the external EPROM 5, respectively.
  • the hardware configuration is the same as that in FIG.
  • FIGS. 7 (a) and (b) the processing procedure in the external EPROM 5 is now the case of subroutine 1, subroutine 2, subroutine 3, and subroutine 2 is unchanged and ROM
  • EPROM 5 stores subroutines lb and 3b in its storage areas 7 1 3 and 7 14, for example.
  • Subroutine 2a stored in ROM 2 will be used.
  • a subroutine call instruction which is an instruction to call these subroutines is stored in the storage areas 7110 to 7122 of the EPROM 5, but the storage areas 7110 and 7122 store the subroutine call instructions.
  • the subroutine 1 b call instruction and the subroutine 3 b call instruction which are the instructions for calling the subroutines 1 b and 3 b stored in the EPROM 5 are stored.
  • the storage area 7 1 1 stores the storage area 7 of the ROM 2 0 Sub stored in 4 Subroutine 2a that reads routine 2a Stores the call instruction.
  • EPR OM 5 By storing subroutine call instructions in EPR OM 5 in this way, if EPR OM 5 is newer and uses programs and data stored there, it is stored in EPR OM 5.
  • the subroutines 1b, 2b, and 3b stored in the EPROM 5 are used by the subroutine lb call instruction, subroutine 2b call instruction, and subroutine 3b call instruction.
  • the subroutine 2a of ROM2 is executed as a subroutine by the subroutine 2a call instruction.
  • the address of the subroutine of ROM 2 is known, so it may be left as it is, but as in this embodiment, subroutine 1a, subroutine 2a, subroutine 3a It is needless to say that it is preferable to store each address in the ROM 2 as the subroutine la address, the subroutine 2a address, and the subroutine 3a address.
  • the program and data of ROM 2 and the program and data of EPROM 5 can be independently changed, and these can be organically combined.
  • the EPR OM 5 only needs to store the modified part of the program and data of the ROM 2, so that the storage capacity can be reduced.
  • the storage areas 700, 701, and 702 each have a fixed address in which the absolute value of the address is fixedly determined in the absolute address space.
  • the dress is more effective in the system configuration.
  • implementation of the present invention is not limited to only fixed addresses.
  • the storage areas 710, 711, and 712 are programs that can be arbitrarily arranged as necessary. It is not necessary to use a fixed address.
  • FIG. 8 is an embodiment in which storage areas 251, 252, 261, 262 are added to the embodiment of FIG.
  • FIG. 8 (a) shows the information content stored in ROM 2 in the on-chip microcomputer 6 in another embodiment of the microcomputer control system according to the present invention, and FIG. The information stored in EPR OM 5 is shown below.
  • the hardware configuration of this embodiment is the same as that shown in FIG.
  • the ROM 2 stores a TASK? A address in a storage area 251, and a TASK? A corresponding to the TASK? A address.
  • the routine a is stored in the storage area 252.
  • EPROM 5 has a storage area 261, TASK? The address is stored, and a TASK? routine for the TASK? address is stored in the storage area 262.
  • T A S K? a Routine is TASK with no processing entity, TASK?
  • the b routine is a TASK having a processing entity.
  • TASK? a The system is configured in such a way that no inconvenience is caused by the presence or absence of the routine. In this system, the T ASK? b When a routine is added, a new T ASK? The b routine will be executed.
  • TASK? When the b routine is added, the address is registered in RAM 3 as shown in FIG. That is, a storage area 42 is added to the embodiment of FIG. 4, and the T ASK? B address is registered in the storage area 42.
  • the TASK? B routine may be registered as TASK without a processing entity.
  • TASK? An address that cannot be obtained due to the system configuration (for example, address 0) may be set as the b address. If an address that cannot be taken due to the system configuration is set as this address, it is necessary to determine the consistency of the TASK address each time the TASK is used.For example, if the set address is address 0 For example, it is easy to determine whether it is 0, and there is no problem in system configuration.
  • the storage areas 25 1 and 26 1 added to the embodiment shown in FIG. 2 each have the absolute value of the address fixedly determined in the absolute address space.
  • the one with the fixed address specified is more effective in the system configuration.
  • the embodiment of the present invention is not limited to only fixed addresses.
  • FIG. 10 shows an embodiment in which storage areas 551, 552, 553, 561, 5662, and 563 are added to the embodiment of FIG.
  • FIG. 10 (a) shows the information content stored in ROM 2 in the on-chip microcomputer 6 in another embodiment of the microcomputer control system according to the present invention
  • FIG. 10 (b) shows the information content.
  • the information contents stored in the external EPROM 5 are also shown.
  • the hardware configuration of this embodiment is the same as that shown in FIG.
  • the ROM 2 stores a TASK? A address in a storage area 552, and a TASK? A corresponding to the TASK? A address.
  • a routine is stored in the storage area 553. Also, this TASK? aIf the version number for the routine is TASK? a The address is stored in the storage area 551 which is the storage area immediately before the storage area 552 in which the address is stored.
  • the EPROM 5 stores a TASK? B address in the storage area 562, and the TASK? B address is stored in the TASK? B address.
  • the corresponding TASK? B routine is stored in storage area 563.
  • the version number for this TASK? B routine is TASK? b is stored in a storage area 561 which is a storage area immediately before the storage area 562 in which the address is stored.
  • T A S K? a Routine is TASK with no processing entity, TASK?
  • the b routine is a TASK having a processing entity.
  • T A S K? aThe system is configured without any inconvenience due to the presence or absence of the routine. aIf a TASK? routine of EPROM 5 with a newer version number than the version number is added, a new TASK? The b routine will be executed.
  • T A S K? When the b routine is added, the address is registered in RAM 3 as shown in FIG. That is, the storage area 62 is added to the embodiment of FIG. 6, and the storage area 62 has TASK? The address is registered.
  • TASK? The b routine may be registered as TASK with no processing entity, or TASK? b Set the version number to the old version number (for example, 0) and set TASK? aRoutine may be registered. Also, TASK? An address that cannot be taken due to the system configuration (for example, address 0) may be set as the address. If an address that cannot be taken due to the system configuration is set as this address, it is necessary to judge the consistency of the TASK address each time the TASK is used. For example, if the set address is address 0, Since it is easy to determine whether it is 0, there is no problem in the system configuration. Note that, in the embodiment of FIG.
  • the storage areas 55 1 and 56 1 added to the embodiment of FIG. 5 are the absolute values of the addresses in the absolute address space, respectively. It is more effective for the system configuration to use a fixed address that is fixedly determined. However, the embodiment of the present invention is not limited to a fixed address.
  • FIG. 12 is a diagram showing another registration method for FIGS. 4, 6, 9, and 11 registered in RAM3.
  • a TASK registration table (8 bits in this embodiment) is prepared, and each TASK corresponds to each bit.
  • 0 means TASK stored in the internal ROM 2
  • 1 means TASK stored in the external EPROM5.
  • the most significant bit (bit 7) is a bit indicating the presence of the external EPR OM 5, where 0 means that the external EPR OM 5 does not exist, and 1 indicates that the external EPR OM 5 exists. Means you are.
  • FIG. 12 (a) shows information equivalent to FIG. That is, since the bit (least significant bit 0) corresponding to TASK 1 is 1, the TASK lb stored in the external EPR 0 M5 is used, and the bit (bit 1) corresponding to TASK 2 is used. Is 0, which means that TASK 2a stored in the internal ROM 2 is used.
  • FIG. 12 (b) shows information equivalent to FIG. A bit (bit 2) corresponding to TASK? Added to FIG. 6 is added to FIG. 12 (a). That is, TASK added in Fig. 6? Since the bit (bit 2) corresponding to is 1, this means that TASK? B stored in the external EPROM 5 is used.
  • FIG. 12 if all the bits of the corresponding TASK are 1, it is needless to say that this means information equivalent to FIGS. 4 and 9.
  • the embodiment of FIG. 12 has an effect that the occupied memory area in the internal RAM 3 can be reduced as compared with the embodiment of FIGS. 4, 6, 9, and 11.
  • FIG. 13 is a block diagram showing another embodiment of the present invention, in which an external device 10 is connected to the embodiment of FIG.
  • the same components as those in FIG. 1 are given the same numbers. However, the address bus and control bus are omitted.
  • EPR0M is used, but in FIG. 13, an electrically rewritable flash memory 11 is used.
  • C The information from the external device 10 is The data is transmitted to the data bus 8 of the on-chip microcomputer 6 via the memory 2 and stored in the flash memory 11.
  • FIG. 14 shows the processing operation of storing data in the flash memory 11.
  • the same reference numerals are given to the same processing contents as those in the flowchart of FIG.
  • Step 14 1 Check the connection of the external device 10. If an external device that reads an information recording medium such as CD-R0M cannot read information even when the information recording medium is not mounted, it is determined that no external device is connected.
  • Step 14 2 The information (identification information and version information) is read from the external device 10 and stored in the internal RAM 3. However, if the information (identification information and version information is not stored in the flash memory 11, the information is directly stored in the flash memory 11, and the process proceeds to step 144.
  • Step 144 It is determined whether the information stored in the internal RAM 3 is predetermined information (identification information).
  • the predetermined information is, for example, a copyright notice recorded on a volume descriptor of a CD-ROM. it can. If the information is not the predetermined information, the process proceeds to step 147. If the information is the predetermined information, the version information (version number) stored in the internal RAM 3 and the flash memory 11 are stored. The version information (version number) is compared with the version information (step 144).
  • Step 144 If the result of the comparison in Steps 14 and 2 shows that the version information stored in the internal RAM 3 is newer, the process proceeds to Step 144 and the case where the version information of the flash memory 11 is newer is used. Then, the process proceeds to step 144 (step 144).
  • Step 1 4 6 After reading the information (identification information and version information) from the internal RAM 3 and storing it in the flash memory 11, additional read the version-changed processing program (TASK) from the external device 10. Then, the data is additionally stored in the flash memory 11.
  • TASK version-changed processing program
  • step 14 2 since information (identification information and version information is not stored in the flash memory 11 in step 14 2, if the information is directly stored in the flash memory 11, the version is changed from the external device 10.
  • the additional processing program (TASK) is read out and stored only in the flash memory 11.
  • Step 1 4 7 Finish. After that, the TASK address in the external flash memory 11 or the TASK address in the internal ROM 2 is stored in the same procedure as in Fig. 3 (however, EPROM in Fig. 3 is replaced with flash memory). , Register in internal RAM 3.
  • a pressed CD—ROM disc—D VD—ROM disc, a recordable CD—R disc or DVD—R disc, a rewritable CD—RW disc—D VD — A RAM disk etc. can be used, and the additional work associated with the version change is simpler than when using the EPROM.
  • an information reproducing apparatus calls out information from an information recording medium such as a CD-R0M.However, a device that receives and reproduces information transmitted by broadcasting or communication is also included in the scope of the present invention. It is obvious.
  • the system is constructed by storing the control program or data only in the flash memory 11 without storing the version information and the control program or data in the internal ROM 2. be able to.
  • the relationship between the internal ROM 2 and the EPR0M5 in FIG. 3 can be considered in the same manner as the relationship between the flash memory 11 and the external device 10, respectively. Therefore, as a result, the system uses the control program or data stored in the flash memory 11 according to 7.
  • FIG. 15 shows an embodiment in which DRAM 13 is added to the embodiment of FIG.
  • control program or data stored in the flash memory 11 is moved to the DRAM 13 and the control program or data stored in the DRAM 13 is used.
  • control program or data stored in the flash memory 11 is an encrypted control program or data, and the decrypted control program or data is stored in the DRAM 13. are doing.
  • the version information is also encrypted, the version information is decrypted only when it is necessary to compare the version information, and it is determined whether the version information should be stored in the flash memory 11.
  • the latest version of the control program or data is flashed while being encrypted. Stored in memory 1 1.
  • Step 16 1) Read the encrypted information (identification information, version information, control program or data, etc.) stored in the external flash memory 11 into the internal RAM 3.
  • Step 16 2 The read encrypted information is decrypted and stored in the external DRAM 13.
  • Step 1 6 3) End. After that, use the same processing procedure as in Fig. 3 (however, replace EPROM in Fig. 3 with DRAM) to set the TASK address in the external DRAM I3 or the TASK address in the internal ROM 2. Is registered in the internal RAM 3.
  • step 161 the amount of data per read from the flash memory 11 is limited by the buffer capacity of the internal RAM 3.However, if the encryption can be completed within the buffer capacity, The problem can be solved by repeating step 161 and step 162.
  • the contents of the flash memory 11 cannot be known from the outside, and furthermore, the decrypted information stored in the DRAM 13 is subjected to refresh processing unique to DRAM. It becomes necessary and disappears when the power is turned off. Also, the processing program for decrypting the encryption is stored in the internal ROM 2 and cannot be read out easily, so the system has a security-friendly configuration. However, the processing shown in Fig. 16 is required every time the power is turned on.
  • the internal ROM 2 does not store the version information or the control program or data, but stores the control program or data only in the DRAM 13 to provide a system. Can be built.
  • the relationship between internal ROM 2 and EPROM 5 in FIG. The relationship between the DRAM 13 and the external device 10 can be considered in the same way. Therefore, as a result, the system uses the control program or data stored in the DRAM 13.
  • Table 1 is an embodiment showing a specific example. Table 1
  • Table 1 shows an embodiment in which the language used differs depending on the revision number.
  • the revision number is used to identify the language used.
  • the identification of the country of use (Japan, the United States, China, etc.) and the identification of the function used (function A, function A + B, etc.) ), Identification for users (for company A, company B, etc.) can be identified using the revision number.
  • the one-chip microcomputer 6 for each user is shared (that is, the programs and data stored in the ROM 2 are shared), and the external EPR is used.
  • OM5 ⁇ Flash memory 11 or DRAM 13 can be adapted to each user individually. In this case, as shown in Fig. 5 and Fig. 10, only TASK that should be individually handled is loaded in EPROM 5 or flash memory 11 or DRAM 13 or shown in Fig. 7. In this way, only the subroutines that need to be dealt with individually need to be registered in the EPROM 5, the flash memory 11 or the DRAM 13.
  • a non-rewritable mask ROM was used as ROM 2, but a memory such as a rewritable EPROM or flash memory may be used, or an external memory may be used. Although a rewritable EP ROM memory, flash memory 11 or DRAM 13 is used, a non-rewritable mask ROM may be used.
  • the programs to be executed may be registered as well as the address of the program (TASK, subroutine).
  • RAM, flash memory, DRAM, etc. are added to the outside of the one-chip microcomputer 6, and the addresses of the programs (TASK, subroutines) to be executed and the programs (TASK, subroutines) to be executed are added. ) You can also register the main unit.
  • the version information is used.
  • the present invention is not limited to the version information, and the comparison can be made by using information of a program or data.
  • information such as comment text, copyright notice, program size, data size, program start address, and data start address in the program or data can be used.
  • the version information of the ROM in one chip is compared with the version number in the external EEPROM, the flash memory or the DRAM, a new version is always provided. It can execute one version of a program (TASK, a subroutine) and use updated data of a new version. It is also possible to deal with each user individually.
  • TASK a subroutine
  • the version information can be made unnecessary by comparing using information in the program or data other than the version information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Stored Programmes (AREA)

Description

明 細
マイクロコンピュータ制御システム 技術分野
本発明は、 所定の記憶手段に記憶されたプログラムもしく はデータに基 づき制御されるマイクロコンピュータ制御システムに関する。 背景技術
従来、 内臓 R〇Mを擬似的に変更できるようにしたマイクロコンピュ 一夕制御システムの一従来例として、 例えば、 特開平 7— 1 8 2 1 5 3 号公報に記載の制御装置がある。
この制御装置は、 その制御手順を示した制御プログラムを記憶する R O Mと、 その制御プログラムを実行して装置を制御する処理装置とから なり、 さらに、 この R O M内の制御プログラムの一部に置き換わる置換 プログラムとこの置き換えを行うか否かを指示する置換指定情報とを記 憶した不揮発性メモリを着脱自在に備え、 この置換指定情報に応じて、 制御プログラムか、 置換プログラムかを実行する。 この結果、 当初のプ ログラム R O Mを交換することなく、 プログラムの修正を行う ことがで きるものである。
ところで、 上記従来技術は、 当初のプログラム R O Mを交換すること なく、 プログラムの修正ができるようにしたもであるが、 この修正は不 揮発性メモリ に記憶されている置換指定情報で決まるから、 例えば、 当 初のプログラム R 0 M内の制御プログラムの一部を修正してそのバ一ジ ョ ンアップを図った制御装置を新たに作成し、 これにこの不揮発性メモ リを使用した場合には、 この修正された部分がこの不揮発性メモリの置 換指定情報でその置換プログラムと置換するように指示された部分であ ると、 この修正された部分は利用されないことになる。 これを防止する ためには、 プログラム R 0 Mの制御プログラムの修正とともに、 これに 対応した置換プログラムの不揮発性メモリを新たに必要となる。
このように、 上記従来の技術では、 内蔵されている R O M内の制御プ 口グラムと外部の置換プログラムとを独立に変更することについては、 全く配慮がされていなかった。
本発明の目的は、 内蔵されているメモリ内の制御プログラムもしくは データと外部のメモリの置換プログラムもしくはデータとを独立に変更 することができるようにしたマイクロコンピュータ制御システムを提供 することにある。 発明の開示
上記目的を達するために、 本発明は、 内蔵されているメモリ内の制御 プログラムもしくはデータと外部メモリの置換プログラムもしくはデー タとにバージョ ン情報を付加し、 そのバージョ ン情報により、 内蔵され ているメモリ内の制御プログラムもしくはデータを使用するのか、 外部 メモリの置換プログラムもしくはデータを使用するのかを判別する。 また、 本発明では、 上記バージョ ン情報に限定せず、 複数あるプログ ラムもしくはデータを比較して、 所用のプログラムもしくはデータを判 別して、 その結果に基づき、 内部または、 外部のプログラムもしくはデ 一夕を使用することによって、 上記目的は達成される。 図面の簡単な説明
第 1図は、 本発明によるマイクロコンピュータ制御システムの一実施形 態を示すハ一 ドゥエアブロック図である。 第 2図は、 第 1図における R OM内と E P R OM内とに記憶されている 情報内容を示す図である。
第 3図は、 第 2図で示した情報内容を用いた本発明によるマイクロコン ピュータ制御システムの一実施形態での電源投入時もしくはリセッ ト時 の処理動作を示すフローチャー トである。
第 4図は、 第 3図に示した処理動作によって第 1図での R AMに格納さ れた情報内容の一具体例を示す図である。
第 5図は、 本発明によるマイクロコンピュー夕制御システムの他の実 施形態での第 1図における R O M内と E P R OM内とに記憶されてい る情報内容を示す図である。
第 6図は、 本発明によるマイクロコンピュータ制御システムの他の実施 形態での第 1 図における R A Mに格納された情報内容の一具体例を示 す図である。
第 7図は、 本発明によるマイクロコンピュータ制御システムの他の実施 形態での第 1 図における R 0 M内と E P R OM内とに記憶されている 情報内容を示す図である。
第 8図は、 本発明によるマイクロコンピュー夕制御システムの他の実施 形態での第 1図における R OM内と E P R OM内とに記憶されている情 報内容を示す図である。
第 9図は、 本発明によるマイクロコンピュータ制御システムの他の実施 形態での第 1図における R A Mに格納された情報内容の一具体例を示 す図である。
第 1 0図は、 本発明によるマイクロコンピュータ制御システムの他の実 施形態での第 1図における R OM内と E P R OM内とに記憶されている 情報内容を示す図である。
第 1 1図は、 本発明によるマイクロコンピュータ制御システムの他の実 施形態での第 1図における R A Mに格納された情報内容の一具体例を 示す図である。
第 1 2図は、 本発明によるマイクロコンピュータ制御システムの他の実 施形態での第 1図における R A Mに格納された情報内容の一具体例を 示す図である。
第 1 3図は、 本発明の他の実施形態を示すブロック図であり、 第 1図の 実施形態に外部デバィス 1 0を接続した実施形態を示すプロック図であ る。
第 1 4図は、 フラッシュメモリ 1 1に格納する処理動作を示すフローチ ヤー 卜である。
第 1 5図は、 第 1 3図の実施形態に D R AM 1 3を付加した実施形態を 示すブロック図である。
第 1 6図は、 第 1 5図の実施形態の処理手順を示すフローチヤ一 卜であ る o 発明を実施するための最良の形態
以下、 本発明の実施形態を図面を用いて説明する。
第 1図は、 本発明によるマイクロコンピュータ制御システムの一実施 形態を示すハー ドウヱアブロ ック図であって、 1は C P U ( Central Processing Unit) , 2は R Ο Μ ( Read Only Memory)ヽ 3は R A M ( Random Access Memory) 、 4は I / 0 ( Input/Output) 部、 5は E P ROM (Erasable Programmable ROM) 、 6はワンチップマイクロコンピュータ、 7はア ドレスバス、 8はデータバス、 9は制御バスである。
同図において、 この実施形態は、 C PU 1や ROM2, R AM 3 , I /0部 4が 1つの同じチップに格納されてなるヮンチップマイクロコン ピュータ 6と、 これとア ドレスバス 7やデータバス 8, 制御バス 9によ つて接続される外部の E P ROM5とから構成されている。 C P U 1は システム全体を制御するものであって、 この C PU 1を動作させる手順 (プログラム) やデータなどが ROM2に記憶されている。 この ROM 2は外部から書き換えすることができないメモリであり、 R AM 3はデ —タ保存などに利用される書き換え可能なメモリである。 I ZO部 4は 外部とのデータなどの入出力に利用する。 E P ROM5には、 外部から 書き換えできない ROM 2のプログラムやデータを等価的に置き換える ためのプログラムやデータが記憶されている。
C PU 1は、 上記チップ内で、 ァ ドレス信号群を意味するァ ドレスノ ス 7や C P U 1の入出力データ信号群を意味するデータバス 8 , リー ド ライ ト信号等の制御信号群を意味する制御バス 9を介して、 ROM2や RAM3, I /O部 4, E P R OM 5と結合している。
第 2図 ( a ) は ROM2に格納されている情報内容を、 また、 第 2図 ( b ) は E P ROM5に格納されている情報内容を夫々示す。
第 2図 ( a ) において、 ROM2には、 ア ドレス空間での記憶領域 2 0 0にリセッ トべク トルが、 記憶領域 2 0 1にバージョ ン情報であるバ 一ジョ ン番号 aが夫々記憶されており、記憶領域 2 0 2, 2 0 3には夫々 TA S K l aア ドレス, TA S K 2 aァ ドレスが記憶され、 これら T A S K I aア ドレス, TA S K 2 aア ドレスに対応する TA S K 1 aルー チン, T A S K 2 aルーチンが記憶領域 2 04, 20 5に夫々記憶され ているものとする。
また、 第 2図 ( b ) において、 E P R OM 5には、 記憶領域 2 1 0に 識別情報 (識別コ一 ド) 、 記憶領域 2 1 1にバージョ ン情報であるバー ジョ ン番号 bが夫々記憶されており、 記憶領域 2 1 2, 2 1 3には夫々 TA S K l bア ドレス, TA S K 2 bァ ドレスが記憶され、 これら T A S K I bア ドレス, TA S K 2 bア ドレスに対応する TA SK 1 ル一 チン, T A S K 2 bルーチンが記憶領域 2 1 4 , 2 1 5に夫々記憶され ているものとする。
第 3図は電源投入時もしくはリセッ 卜時のこの実施形態の処理動作を 示すフローチヤ一 卜であって、 以下、 第 2図及び第 3図を用いてこの処 理手順を説明する。
電源投入時もしくはリセッ ト時には、 R OM 2のリセッ トべク トノレ力 格納されている記憶領域 2 0 0を指定するァ ドレスを C P U 1が発行し- この記憶領域 2 0 0に格納されている情報 (即ち、 リセッ トベク トル) を読み出し、 そのリセッ トべク トル (最初に動作するプログラムが格納 されている先頭のア ドレス) に制御を移す。
そして、 電源投入時もしくはリセッ 卜時に最初に動作するプログラム では、 C P U 1の内部レジス夕の初期設定や I / 0部 4の初期条件設定, RAM 3の内部初期化などの初期設定を行う (ステップ 3 0 ) 。
次に、 外部に E P R OM 5が接続されているかどうかを判定する (ス テツプ 3 1 ) 。 具体的には、 接続されている E P R OM 5の記憶領域を 読み出し、 データの存在を確認することにより判別する。 外部に E P R OM 5が接続されていない場合は、 ステップ 3 6へ移行するが、 外部に E P R OM 5が接続されている場合には、 これがこの実施形態のマイク ロコンピュータ制御システムに合致する所定の E P R OMであるかどう かを判定する (ステップ 3 2 ) 。 これは、 E P R OM 5の特定の記憶領 域 (ここでは、 記憶領域 2 1 0 ) に識別情報 (識別コー ド) (例えば、 文字コー ド 「△△△△」 や、 E P R OM 5内のデータ及びプログラムコ 一ドから生成するハツシュ値など) を記録しておき、 その識別情報 (識 別コ一 ド) が所定のものであるかどうかによつて判定する。 接続されて いる E P R OM 5がこのマイクロコンピュー夕制御システムに合致する E P R OMでない場合は、 ステップ 3 6へ移行する。 この E P R OM 5がこのマイクロコンピュータ制御システムに合致す る所定の E P R OMであるときには、 R OM 2の記憶領域 2 0 1に格納 されているバージョ ン情報 (バージョ ン番号 a ) と E P R OM 5の記憶 領域 2 1 1 に格納されているバ一ジョ ン情報 (バージョ ン番号 b ) とを 比較し (ステップ 3 3 ) 、 その比較の結果、 E P R OM 5のバージョ ン 番号 bの方が新しい場合には、 ステップ 3 5に移行し、 R OM 2のバ一 ジョ ン番号 aの方が新しい場合には、 ステップ 3 6に移行する (ステツ プ 3 4 ) 。
ステップ 3 5では、 E P R OM 5に記憶されている T A S Kのァ ドレ ス (ここでは、 記憶領域 2 1 2での T A S K 1 ア ドレスと記憶領域 2 1 3での T A S K 2 bア ドレス) を R AM 3に登録する。 この R AM 3 に登録されている状態を第 4図に示す。 ここでは、 登録されているのは、 E P R O M 5に記憶されている T A S Kのァ ドレスであるから、 例えば、 記憶領域 4 0に T A S K l bァ ドレスが、 記憶領域 4 1に T A S K 2 b ア ドレスが夫々登録されている。
ステップ 3 6では、 R OM 2に記録されている T A S Kのァ ドレス(こ こでは、 記憶領域 2 0 2での T A S K l aァ ドレスと記憶領域 2 0 3で の T A S K 2 aア ドレス) を R AM 3に登録する。 この場合、 R AM 3 に登録されている T A S Kア ドレスは、 第 4図に示したの内容と異なり、 例えば、 機構領域 4 0に T A S K l aァ ドレスが、 記憶領域 4 1に T A S K 2 aァ ドレスが夫々登録されることになる。
R AM 3に登録された T A S Kを読み出す場合には、 この R AM 3に 登録されている各 T A S Kのァ ドレスを用いて読み出す。 R AM 3に登 録されている T A S Kのア ドレスが、 第 4図に示したように、 E P R O M 5での T A S K l bア ドレスと T A S K 2 bア ドレスである場合には、 T A S K 1は E P R OM 5の記憶領域 2 1 4に記憶されている T A S K 1 bルーチンを実行し、 T A S K 2は E P R OM 5の記憶領域 2 1 5に 記憶されている T A S K 2 bルーチンを実行する。 この場合には、 R O M 2に記憶されているプログラムやデータ全体が E P R OM 5に記憶さ れているプログラムやデータと置き換えられ、 E P R OM 5に記憶され ているプログラムやデータが使用されることになる。
逆に、 R AM 3に登録されている T A S Kァ ドレスが R OM 2での T A S K 1 aア ドレスと T A S K 2 aア ドレスの場合には、 T A S K 1 は R O M 2の記憶領域 2 0 4に記憶されている T A S K 1 aルーチンを実 行し、 T A S K 2は R OM 2の記憶領域 2 0 5に記憶されている T A S K 2 aルーチンを実行する。 この場合には、 R OM 2に記憶されている プログラムやデータの方が使用されるこ とになる。
従って、 R OM 2に格納されるプログラムやデータが修正されてバー ジョ ンアップしたマイクロコンピュータ制御システムが開発されても、 その度に R OM 2のバージョ ン番号 aが新しいものに変更されていくか ら、 修正される前のプログラムやデータを格納した R OM 2を内蔵した マイクロコンピュータ制御システムに使用されて外部の E P R〇M 5を 使用しても、 このバージョ ン番号 aがこの E P R OM 5のバ一ジョ ン番 号 bより も新しければ、 修正されたプログラムやデータが利用されるこ とになる。 勿論、 外部の E P R OM 5のプログラムやデータが修正され、 そのバージョ ン番号 bが R OM 2のバージョ ン番号 aより も新しくなる と、 この E P R OM 5のプログラムやデータが利用されることになる。 このよう に、 R OM 2のバ一ジョ ン番号 a と E P R OM 5のバージョ ン 番号 bとの任意の組み合わせが可能となり、 R OM 2のプログラムゃデ 一夕と E P R OM 5のプログラムやデータとは独立に変更することがで きて、 しかも、 このように変更があっても、 これら R OM 2のプログラ 厶ゃデータと E P ROM 5のプログラムやデータとは有機的に結合して 利用されることになる。
なお、 R 0 M 2バージョ ン番号 aは、 新しく なるほど、 1 0 0 , 2 0 0 , 3 0 0 , ……のように、 あるブロック単位で増加し、 パ、一ジョ ン番 号 bは、 1 0 1, 2 1 3 , 3 6 5 , ……のように、 細かい値を持って増 加する。 これにより、 これらのバージョ ン番号 a , bに差が必ず生じ、 その大小関係でパージョ ンの新旧を判断することができる。 仮に、 バー ジョ ン番号が一致した場合は、 R OM 2のプログラムやデータを利用す ることにすれば、 不都合は生じない。
なお、 第 2図の実施形態で、 記憶領域 2 0 0 , 2 0 1 , 2 0 2 , 2 0 3 , 2 1 0 , 2 1 1 , 2 1 2 , 2 1 3は、 夫々、 絶対ア ドレス空間内で、 ァ ドレスの絶対値が固定的に決定されている固定ァ ドレスになっている 方が、 システム構成上有効である。 但し、 本発明の実施を固定ア ドレス のみに限定するものではない。
第 5図 ( a ) は本発明によるマイクロコンピュータ制御システムの他 の実施形態でのヮンチップマイクロコンピュータ 6内の R OM 2に格納 されている情報内容を、 第 5図 ( b ) は同じく外部の E P R OM 5に格 納されている情報内容を夫々示す。 この実施形態のハー ドウ ア構成も 第 1図に示したものと同様である。
第 5図 ( a ) において、 R OM 2には、 記憶領域 5 0 0, 5 0 1 に夫々 リセッ 卜べク トル、 バ一ジョ ン番号 aが記憶されており、 記憶領域 5 0 2以降には、 T A S Kァ ドレスが夫々毎にバ一ジョ ン番号が付加されて 記憶され、 これら T A S Kァ ドレスに対する T A S Kルーチンが記憶領 域 5 0 6以降に記憶されている。 ここでは、 T A S Kア ドレスとして、 T A S K l aア ドレスと T A S K 2 aア ドレスが、 また、 これらに対す る T A S K l aルーチンと T A S K 2 aル一チンとが記憶されているも のとし、 T A S K 1 aァ ドレスが記憶領域 5 0 3に、 これに対する T A S K 1 aバージョ ン番号がその前の記憶領域 5 0 2に夫々記憶され、 T A S K 2 aァ ドレスが記憶領域 5 0 5に、 これに対する T A S K 2 aノく、 ージョ ン番号がその前の記憶領域 5 0 4に夫々記憶されている。
また、 第 5図 ( b ) において、 E P R OM 5には、 記憶領域 5 1 0 , 5 1 1に夫々識別コ一 ド、 バージョ ン番号 bが記憶されており、 記憶領 域 5 1 2以降には、 T A S Kァ ドレスが夫々毎にバージョ ン番号が付加 されて記憶され、 これら T A S Kァ ドレスに対する T A S Kルーチンが 記憶領域 5 1 6以降に記憶されている。 ここでは、 T A S Kア ドレスと して、 T A S K l bア ドレスと T A S K 2 bア ドレスが、 また、 これら に対する T A S K 1 bルーチンと T A S K 2 bルーチンとが記憶されて いるものとし、 T A S K 1 bァ ドレスが記憶領域 5 1 3に、 これに対す る T A S K 1 bバ一ジョ ン番号がその前の記憶領域 5 1 2に夫々記憶さ れ、 T A S K 2 bァ ドレスが記憶領域 5 1 5に、 これに対する T A S K 2 bパージョ ン番号がその前の記憶領域 5 1 4に夫々記憶されている。 この実施形態においても、 上記の形態で R OM 2 と E P R OM 5とに 夫々プログラムとデータの全体が記憶されており、 第 2図に示した実施 形態では、 バージョ ン番号 a , bの比較によってこれら R OM 2 と E P R 0 M 5 とのいずれかのプログラム及びデータを使用するものであって、 プログラムやデータの全体を置き換えるものであつたが、 第 5図に示す この実施形態は、 R OM 2に記憶されているプログラムやデータを、 上 記のように T A S Kァ ドレス毎にバージョ ン番号を設けることにより、 部分的に (即ち、 ルーチン単位で) E P R OM 5に記憶されたプログラ ムゃデータと置き換えることができるようにしたものである。 従って、 E P R OM 5の T A S K l bルーチン, T A S K 2 bルーチンは夫々 R 0 M 2の T A S K 1 aルーチン, T A S K 2 aルーチンと置き換え可能 なものであり、 このように対応付けて T A S Kバージョ ン番号や T A S Kア ドレス, T A S Κル一チンが R 0 Μ 2や E P R 0 Μ 5に格納されて いる。
なお、 リセッ トベク トルや識別コー ド、 バージョ ン番号 a, bについ ては、 先に説明した実施形態と同様であるが、 この実施形態では、 E P ROM 5のバージョ ン番号 bが最大値 (例えば、 1 6進数で1^ 1^ ? ?) をとる場合には、 先の実施形態と同様、 全ての T A S Kが E P R OM 5 内の T A S Kルーチンを実行し、 そうでない場合には、 各 TA SK毎に バ一ジョ ン番号を比較するアルゴリズムとなっている。 従って、 先の実 施形態と同様に、 これらバージョ ン番号 a, bの比較を行う場合には、 R OM 2のバージョ ン番号 aを上記の最大値よりも、 例えば、 1つ小さ い値 (例えば、 1 6進数で F F F E ) とすればよく、 あるいは、 このよ うな比較をせずに、 バージョ ン番号 bを読み出してこれが上記の最大値 かどうかを判断するようにすればよい。
E P R OMのバ一ジョ ン番号 bが最大値でない場合、 第 5図 ( a ) , ( b ) において、 R OM 2の記憶領域 5 0 2に記憶されている T A S K 1 aバージョ ン番号と E P R OM 5の記憶領域 5 1 2に記憶されている T A S K 1 bバ一ジョ ン番号とを比較し、 新しい方のバージョ ン番号の TA S K 1のア ドレスを RAM3に登録する。 T A S K 1 aバージョ ン 番号の方が新しい場合には、 これに対する TA S K l aア ドレスを RA M 3に登録する。 ここでは、 E P ROM5の TA S K l bバージョン番 号の方が新しいとして、 これに対する TA S K l bア ドレスを RAM3 に登録するものとする。
同様に、 R OM 2の記憶領域 5 04に記憶されている T A S K 2 aバ 一ジョ ン番号と E P ROM5の記憶領域 5 1 4に記憶されている T A S K 2 bバージョ ン番号とを比較し、 新しい方のバ一ジョ ン番号の T A S K 2のア ドレスを RAM3に登録する。 TA S K 2 bバージョ ン番号の 方が新しい場合には、 これに対する T A S K 2 bア ドレスを R AM 3に 登録する。 ここでは、 R 0 M 2の T A S K 2 aバージョ ン番号の方が新 しいとして、 これに対する T A S K 2 aア ドレスを R AM 3に登録する ものとする。
その結果、 第 6図に示すように、 R AM 3には T A S K 1のア ドレス として記憶領域 6 0に E P R OM 5の T A S K l bア ドレスが、 また、 T A S K 2のア ドレスとして記憶領域 6 1 に R OM 2の T A S K 2 aァ ドレスが夫々登録される。 従って、 T A S K 1は、 E P R OM 5の T A S K 1 bルーチンを、 T A S K 2は R OM 2の T A S K 2 aルーチンを 夫々実行する。
勿論、 R OM 2の T A S K 1 aア ドレスと E P R OM 5の T A S K 2 b了 ドレスが登録されている場合には、 R OM 2の T A S K 1 aルーチ ンと E P R OM 5の T A S K 2 bルーチンを実行する。
この実施形態も、 先の実施形態と同様に、 R OM 2のプログラムゃデ 一夕と E P R OM 5のプログラムやデータとは独立に変更することがで きて、 しかも、 このように変更があっても、 これら R OM 2のプログラ ムゃデータと E P R OM 5のプログラムやデータとは有機的に結合して 利用されることになる。
なお、 第 5図の実施形態で、 記憶領域 5 0 0 , 5 0 1, 5 0 2, 5 0 3 , 5 0 4 , 5 0 5, 5 1 0 , 5 1 1 , 5 1 2 , 5 1 3 , 5 1 4 , 5 1 5は、 夫々、 絶対ア ドレス空間内で、 ア ドレスの絶対値が固定的に決定 されている固定ァ ドレスになっている方が、 システム構成上有効である。 但し、 本発明の実施を固定ァ ドレスのみに限定するものではない。
ところで、 一般的に、 ワンチップマイクロコンピュータ 6内の R OM 2のアクセス速度は外部の E P ROM 5のアクセス速度より速いので、 システム的には、 ワンチップマイクロコンピュータ 6内の R OM 2を利 用する方が有利となる。 第 7図はそれを実現した本発明によるマイクロ コンピュータ制御システムのさらに他の実施形態でのメモリ部の情報内 容を示す図であって、 第 7図 ( a ) はワンチップマイクロコンピュータ 6内の R OM 2に格納されている情報内容を、 第 7図 ( b ) は外部の E P R OM 5に格納されている情報内容を夫々示す。 この実施形態におい ても、 そのハー ドゥヱァ構成は第 1図と同様である。
この実施形態は、 第 2図で説明した実施形態のように、 バージョ ン番 号 a, bの比較結果に応じて R 0 M 2 , E P R O M 5のいずれかに記録 されているプログラムやデータを実行するものであるが、 E P R OM 5 に格納されているサブルーチンのうち、 その一部のサブルーチンが R O M 2の対応するサブルーチンに対して変更したものでないとすると、 E P R OM 5に格納されているプログラムやデータを実行する場合には、 R OM 2に記憶されているサブルーチンも利用することができるように したものである。
そこで、 第 7図 ( a ) , ( b ) において、 いま、 外部の E P R OM 5 内の処理手順がサブルーチン 1 , サブルーチン 2, サブルーチン 3の場 合であって、 サブルーチン 2に変更がなく、 R OM 2のサブルーチン 2 aが利用することができるものとすると、 E P R OM 5には、 例えば、 その記憶領域 7 1 3 , 7 1 4にサブルーチン l b , 3 bを格納し、 サブ ルーチン 2 bとしては、 R OM 2に格納されているサブルーチン 2 aを 利用するようになる。 そして、 E P R OM 5の記憶領域 7 1 0〜 7 1 2 には、 これらのサブルーチンを呼び出す命令であるサブル一チンコール 命令を格納しておくのであるが、 記憶領域 7 1 0 , 7 1 2には、 E P R OM 5に記憶されているサブルーチン 1 b, 3 bを呼び出す命令である サブルーチン 1 bコール命令, サブルーチン 3 bコール命令を格納し、 記憶領域 7 1 1 には、 R OM 2の記憶領域 7 0 4に記憶されているサブ ルーチン 2 aを読みだすサブルーチン 2 aコール命令を格納する。
このように、 E P R OM 5にサブルーチンコール命令を記憶しておく ことにより、 E P R OM 5の方が新しくてそこに格納されているプログ ラムやデータを利用する場合には、 E P R OM 5に格納されているサブ ルーチン l bコール命令, サブルーチン 2 bコール命令, サブルーチン 3 bコール命令により、 E P R OM 5に格納されているサブル一チン 1 b , 2 b, 3 bが利用されるのであるが、 第 7図の実施形態では、 この とき、 サブルーチン 2 aコール命令によりサブルーチンとして R OM 2 のサブルーチン 2 aを実行することとなる。
外部の E P R OM 5の方が新しい場合には、 R OM 2のサブルーチン のア ドレスが既知であるので、 このままでもよいが、 この実施形態のよ うに、 サブルーチン 1 a、 サブルーチン 2 a、 サブルーチン 3 aの各ァ ドレスをサブルーチン l aア ドレス、 サブルーチン 2 aア ドレス、 サブ ルーチン 3 aア ドレスとして R OM 2内に格納する方が望ましいことは いうまでもない。
このように、 この実施形態は、 先の各実施形態と同様、 R OM 2のプ ログラムやデータと E P R OM 5のプログラムゃデータを独立に変更で きて、 しかも、 これらを有機的に結合して利用することができるととも に、 さらに、 E P R OM 5では、 R OM 2のプログラムやデータに対し、 その修正部分のみを記憶すればよいので、 記憶容量を小さ くすることが できる。
なお、第 7図の実施形態で、記憶領域 7 0 0, 7 0 1 , 7 0 2は、夫々、 絶対ァ ドレス空間内で、 ァ ドレスの絶対値が固定的に決定されている固 定ァ ドレスになっている方が、 システム構成上有効である。 但し、 本発 明の実施を固定ァ ドレスのみに限定するものではない。 (記憶領域 7 1 0 , 7 1 1 , 7 1 2については、 必要に応じて任意に配置するプログラ ムであるので、 特に固定ア ドレスにする必要はない。 ) 第 8図は、 第 2図の実施形態に、 記憶領域 2 5 1 , 2 5 2 , 2 6 1 , 2 6 2を付加した実施形態である。
第 8図 ( a ) は本発明によるマイクロコンピュータ制御システムの他 の実施形態でのヮンチップマイクロコンピュータ 6内の R OM 2に格納 されている情報内容を、 第 8図 ( b ) は同じく外部の E P R OM 5に格 納されている情報内容を夫々示す。 この実施形態のハ ー ドウエア構成も 第 1図に示したものと同様である。
第 8図 ( a ) において、 R OM 2には、 記憶領域 2 5 1 に T A S K ? aア ドレスが記憶され、 この T A S K ? aア ドレスに対応する T A S K? aルーチンが記憶領域 2 5 2に記憶されている。
また、 第 8図 ( b ) において、 E P R O M 5には、 記憶領域 2 6 1に は、 T A S K? bァ ドレスが記憶され、 この T A S K ? ア ドレスに対 する T A S K ? ルーチンが記憶領域 2 6 2に記憶されている。
T A S K ? aルーチンは、 処理実体が無い T A S Kであり、 T A S K? bルーチンは処理実体が有る T A S Kである。 R 0 M 2制作時は、 T A S K? aルーチンの有無により不都合が生じない状態でシステムが 構成されているが、 このシステムに、 E P R 0 M 5の T A S K? bルー チンが付加されると、 新規に T A S K? bルーチンが実行されることに なる。
このよう に、 T A S K? bルーチンが追加されると、 RAM 3には第 9図に示すようにア ドレスが登録される。 すなわち、 第 4図の実施形態 に記憶領域 4 2が付加され、 その記憶領域 4 2に T A S K ? bア ドレス が登録されている。
勿論、 新規に処理を追加する必要が無ければ、 T A S K ? bルーチン は、 処理実体が無い T A S Kとして登録すれば良い。 また、 T A S K ? bア ドレスとしてシステム構成上取り得ないア ドレス(例えば、 0番地) を設定しても良い。 このア ドレスとしてシステム構成上取り得ないァ ド レスを設定した場合は、 T A S Kア ドレスの整合性を、 その T A S Kを 利用する度に判断する必要があるが、 例えば設定ァ ドレスが 0番地であ れば、 0であるかどうかを判断することは容易であるので、 システム構 成上は問題無い。
なお、 第 8図の実施形態で、 第 2図の実施形態に追加された記憶領域 2 5 1, 2 6 1は、 夫々、 絶対ァ ドレス空間内で、 ァ ドレスの絶対値が 固定的に決定されている固定ア ドレスになつている方が、 システム構成 上有効である。 但し、 本発明の実施を固定ア ドレスのみに限定するもの ではない。
第 1 0図は、 第 5図の実施形態に、 記憶領域 5 5 1, 5 5 2 , 5 5 3 , 5 6 1, 5 6 2 , 5 6 3を付加した実施形態である。
第 1 0図 ( a ) は本発明によるマイクロコンピュータ制御システムの 他の実施形態でのヮンチップマイクロコンピュータ 6内の R OM 2に格 納されている情報内容を、 第 1 0図 ( b ) は同じく外部の E P R OM 5 に格納されている情報内容を夫々示す。 この実施形態のハー ドウエア構 成も第 1図に示したものと同様である。
第 1 0図( a )において、 R OM 2には、記憶領域 5 5 2に T A S K ? aァ ドレスが記憶され、 この T A S K ? aァ ドレスに対応する T A S K? aル一チンが記憶領域 5 5 3に記憶されている。 また、 この T A S K? aルーチンに対するバージョ ン番号が、 T A S K? aァ ドレスが記 憶されている記憶領域 5 5 2の直前の記憶領域である記憶領域 5 5 1 に 記憶されている。
また、 第 1 0図 ( b ) において、 E P R OM 5には、 記憶領域 5 6 2 には、 T A S K ? bア ドレスが記憶され、 この TA S K ? bア ドレスに 対する T A S K ? bルーチンが記憶領域 5 6 3に記憶されている。 また、 この T A S K ? bルーチンに対するバージョ ン番号が、 T A S K? bァ ドレスが記憶されている記憶領域 5 6 2の直前の記憶領域である記憶領 域 5 6 1に記憶されている。
T A S K ? aルーチンは、 処理実体が無い T A S Kであり、 T A S K? bルーチンは処理実体が有る T A S Kである。 R OM 2制作時は、 T A S K? aルーチンの有無により不都合が生じない状態でシステムが 構成されているが、 このシステムに、 R 0 M 2の T A S K ? aバージョ ン番号より新しいバ一ジョ ン番号を持つ E P R OM 5の T A S K ? ル 一チンが付加されると、 新規に T A S K? bルーチンが実行されること になる。
このように、 T A S K? bルーチンが追加されると、 R AM 3には第 1 1図に示すようにァ ドレスが登録される。 すなわち、 第 6図の実施形 態に記憶領域 6 2が付加され、 その記憶領域 6 2に T A S K? bァ ドレ スが登録されている。
勿論、 新規に処理を追加する必要が無ければ、 T A S K? bルーチン は、 処理実体が無い T A S Kとして登録しても良いし、 T A S K? bバ ージョ ン番号を古いバ一ジョ ン番号(例えば、 0 )に設定し、 T A S K? aルーチンを登録しても良い。 また、 T A S K? bア ドレスとしてシス テム構成上取り得ないア ドレス (例えば、 0番地) を設定しても良い。 このア ドレスとしてシステム構成上取り得ないァ ドレスを設定した場合 は、 T A S Kアドレスの整合性を、 その T A S Kを利用する度に判断す る必要があるが、 例えば設定ア ドレスが 0番地であれば、 0であるかど うかを判断することは容易であるので、 システム構成上は問題無い。 なお、 第 1 0図の実施形態で、 第 5図の実施形態に追加された記憶領 域 5 5 1 , 5 6 1は、 夫々、 絶対ァ ドレス空間内で、 ァ ドレスの絶対値 が固定的に決定されている固定ア ドレスになっている方が、 システム構 成上有効である。 但し、 本発明の実施を固定ァ ドレスのみに限定するも のではない。
これら第 8図〜第 1 1図の手法により、 R OM 2制作後でも E P R 0 M 5により処理が追加出来、 R OM 2制作時には予期していなかった事 態に対処することができる。
第 1 2図は、 R AM 3に登録された第 4図, 第 6図, 第 9図及び第 1 1図について、 別の登録方法を示した図である。 T A S K登録テーブル (本実施形態では 8 ビッ 卜) を用意し、 各 T A S Kがその各ビッ 卜に対 応している。 0が内部 R OM 2に格納されている T A S Kを意味し、 1 が外部 E P R OM 5に格納されている T A S Kを意味する。 また、 最上 位ビッ ト (ビッ ト 7 ) は、 外部 E P R OM 5の存在をあらわすビッ 卜で あり、 0が外部 E P R OM 5が存在していないことを意味し、 1が外部 E P R OM 5が存在していることを意味する。
第 1 2図 ( a ) は、 第 6図と等価な情報を示している。 すなわち、 T A S K 1に対応するビッ ト (最下位ビッ ト 0 ) が 1であるから、 外部 E P R 0 M 5に格納されている T A S K l bを利用し、 T A S K 2に対応 するビッ ト (ビッ 卜 1 ) が 0であるから、 内部 R OM 2に格納されてい る T A S K 2 aを利用することを、 意味している。
同様に、 第 1 2図 ( b ) は、 第 1 1図と等価な情報を示している。 第 1 2図 ( a ) に、 第 6図に追加された T A S K ?に対応するビッ ト (ビ ッ ト 2 ) を加えている。 すなわち、 第 6図に追加された T A S K?に対 応するビッ 卜 (ビッ ト 2 ) が 1であるから、 外部 E P R OM 5に格納さ れている T A S K ? bを利用することを、 意味している。
また、 第 1 2図で、 対応する T A S Kの各ビッ 卜が全て 1であれば、 第 4図及び第 9図と等価な情報を意味することは言うまでもない。 この第 1 2図の実施形態では、 第 4図, 第 6図, 第 9図及び第 1 1図 の実施形態に比べて、 内部 R A M 3における占有記憶ェリァが少なくて すむという効果がある。
第 1 3図は、 本発明の他の実施形態を示すプロック図であり、 第 1図 の実施形態に外部デバイス 1 0を接続した例である。 尚、 第 1図と同一 物は、 同一番号を付している。 但し、 ア ドレスバスと制御バスについて は省略している。 また、 第 1図では、 E P R 0 Mを利用したが、 第 1 3 図では、 電気的に書き換え可能なフラ ッシュメモリ 1 1を利用している c 外部デバィス 1 0からの情報は、 インタ一フヱイス 1 2を介して、 ヮ ンチップマイクロコンピュータ 6のデータバス 8に伝達され、 フラッシ ュメモリ 1 1 に格納される。
第 1 4図に、 フラッシュメモリ 1 1 に格納する処理動作を示す。 尚、 第 3図のフローチャー トと同じ処理内容については、 同一符号を付して いる。
ここでは、 第 3図の処理内容と異なる処理について説明する。
(ステップ 1 4 1 ) 外部デバイス 1 0の接続を確認する。 C D - R 0 M等の情報記録媒体を読み出す外部デバイスでは、 情報記録媒体が装着 されていない場合も、 情報が読み出せないので、 外部デバイス接続無し と判断する。
(ステップ 1 4 2 ) 外部デバィス 1 0より情報 (識別情報及びバ一ジ ヨ ン情報) を読み出し、 内部 R A M 3に格納する。 但し、 フラッシュメ モリ 1 1 に情報 (識別情報及びバージョ ン情報が格納されていない場合 は、 直接フラッシュメモリ 1 1 に格納し、 ステップ 1 4 6に移行する。
(ステップ 1 4 3 ) 内部 R A M 3に格納された情報が所定の情報 (識 別情報) かどうかを判断する。 所定の情報とは、 例えば、 C D— R O M のボリユ ームディスク リプターに記録されている著作権表示などが利用 できる。 もし、 所定の情報でなければステツプ 1 4 7に移行し、 所定の 情報であれば、 内部 RAM 3に記憶されているバージョ ン情報 (バ一ジ ヨ ン番号) とフラッシュメモリ 1 1に格納されたバージヨ ン情報 (バー ジョ ン番号) とを比較する (ステップ 1 4 4 ) 。
ステップ 1 4 2での比較の結果、 内部 R A M 3に格納されたバージョ ン情報の方が新しい場合には、 ステップ 1 4 6に移行し、 フラ ッシュメ モリ 1 1のバージョ ン情報の方が新しい場合には、 ステップ 1 4 7に移 行する (ステップ 1 4 6 ) 。
(ステップ 1 4 6 ) 内部 RAM 3から情報 (識別情報及びバージョ ン情 報) を読み出しフラッシュメモリ 1 1に格納後、 外部デバィス 1 0より、 バージョ ン変更された処理プログラム (T A S K) を追加読み出しして、 フラッシュメモリ 1 1に追加格納する。
但し、 ステップ 1 4 2で、 フラッ シュメモリ 1 1 に情報 (識別情報及 びバージョ ン情報が格納されていない為、 直接フラッシュメモリ 1 1 に 格納した場合は、 外部デバィス 1 0より、 バージョ ン変更された処理プ ログラム (T A S K) を追加読み出しして、 フラッ シュメモリ 1 1に追 加格納する処理のみを行う。
(ステップ 1 4 7 ) 終了する。 その後は、 第 3図と同じ処理手順 (但 し、 第 3図における E P R OMはフラッシュメモリ と置き換える) にて、 外部フラッ シュメモリ 1 1内の T A S Kア ドレス、 または内部 ROM 2内 の T A S Kア ドレスを、 内部 RAM 3に登録する。
本実施形態では、 情報記録媒体として、 プレスされた C D— R OMデ イスクゃ D VD— R OMディスク、 追記型の C D— Rディスクや D V D 一 Rディスク、 書き換え可能な C D一 RWディスクゃ D VD— RAMデ イスクなどが利用でき、 E P R OMを使用する場合に比べて、 バージョ ン変更に伴う追加作業が、 簡便になる。 また、 外部デバイスとしては、 C D - R 0 M等の情報記録媒体から情報を呼び出す情報再生装置を想定 しているが、 放送や通信で伝達された情報を受信再生する装置を用いて も、 本発明の範疇あることは、 明白である。
第 1 3図の実施形態において、 内部 R O M 2内に、バージョ ン情報や、 制御プログラムもしくはデータを格納せず、 制御プログラムもしくはデ 一夕をフラッシュメモリ 1 1にのみ格納して、 システムを構築すること ができる。
この場合は、 第 3図における内部 ROM 2 と E P R 0 M 5の関係が、 そ れぞれフラッシュメモリ 1 1 と外部デバィス 1 0の関係と同様に考える 事が出来る。 従って、 システムとしては、 結果的に、 フラッシュメモリ 1 1に格納されている制御プログラムもしくはデータを使用することと 7よる。
第 1 5図は、 第 1 3図の実施形態に D R A M 1 3を付加した実施形態 である。
第 1 5図の実施形態では、 フラッシュメ モ リ 1 1 に格納されている制 御プログラムもしくはデータを、 D R A M 1 3に移動して、 D R A M 1 3に格納された制御プログラムもしくはデータを使用する。 この実施形 態では、 フラッシュメモリ 1 1に格納されている制御プログラムもしく はデータは、 暗号化処理された制御プログラムもしくはデータとし、 D R A M 1 3には、 暗号解読後の制御プログラムもしくはデータを格納し ている。
バージョ ン情報にも暗号化が施されている場合は、 バージヨ ン情報を 比較する必要が生じた時だけ、 パージョ ン情報を暗号解読し、 フラッシ ュメモリ 1 1 に格納すべきかどうかを判断する。
第 1 5図の実施形態では、 パージョ ン情報比較後、 最新パージョ ンの 制御プログラムもしくはデータが、 暗号化を施されたまま、 フラッシュ メモリ 1 1 に格納されている。
実際の処理流れを、 第 1 6図のフローチャー トを用いて説明する。 (ステップ 1 6 1 ) 外部フラッシュメモリ 1 1 に格納されている暗号 化された情報 (識別情報、 バージョ ン情報、 制御プログラムもしくはデ 一夕等) を内部 RAM 3に読み出す。
(ステップ 1 6 2 ) 読み出した暗号化された情報を、 暗号解読し、 外 部 D R AM 1 3に格納する。
(ステップ 1 6 3 ) 終了する。 その後は、 第 3図と同じ処理手順 (但 し、 第 3図における E P R OMは D R AMと置き換える) にて、 外部 D RAM I 3内の T A S Kア ドレス、 または内部 ROM 2内の T A S Kア ド レスを、 内部 RAM 3に登録する。
ステップ 1 6 1で、 フラッシュメモリ 1 1から読み出す 1回当たりの データ量は、 内部 R AM 3のバッファ容量で制限されるが、 そのバッフ ァ容量内で完結できる暗号であれば、 何回か、 ステップ 1 6 1 とステツ プ 1 6 2を繰り返して実行することにより、 解決できる。
暗号化された情報を用いることにより、 外部からフラッシュメモリ 1 1内容を知ることが出来なくなり、 更に、 D RAM 1 3に格納された喑 号解読後の情報は、 D R AM特有のリ フレッシュ処理が必要となり、 電 源 O F F時に消滅する。 また、 暗号を解読する処理プログラムは、 内部 R OM 2に格納されており、 容易に外部に読み出せないので、 システム として、 セキュリティに配慮した構成となっている。 但し、 電源 ON時 毎に、 第 1 6図の処理が必要となる。
第 1 5図の実施形態において、 内部 R OM 2内に、バ一ジョ ン情報や、 制御プログラムもしくはデータを格納せず、 制御プログラムもしくはデ 一夕を D RAM 1 3にのみ格納して、 システムを構築することができる。 この場合は、 第 3図における内部 ROM 2 と E P R OM 5の関係が、 そ れぞれ D R AM 1 3 と外部デバィス 1 0の関係と同様に考える事が出来 る。 従って、 システムとしては、 結果的に、 D RAM 1 3に格納されて いる制御プログラムもしく はデータを使用することとなる。
同じバ一ジョ ン情報である (制御プログラムもしく はデータの本質は 変わっていない) 、 レビジョ ン情報 (レビジョ ン番号) の違いにより、 その内容が異なるようにすることもできる。 第 1表は、 その具体例を示 す実施形態である。 第 1表
Figure imgf000025_0001
第 1表では、 レビジョ ン番号に応じて、 使用される言語が異なる実施 形態を示している。
E P R OM 5やフラ ッシュメモリ 1 1 もしく は D R AM 1 3には、 各 レビジョ ン番号に対応するデータをすベて用意しておき、 バージョ ン番 号が同じで、 レビジョ ン番号のみが異なる場合、 E P R OM 5やフラッ シュメモリ 1 1 もしく は D RAM 1 3に格納されている制御プログラム もしく はデータのレビジョ ン番号のみ変更するだけでよい。
但し、 レビジョ ン番号の相違により使用する言語を変更するアルゴリ ズムを、 制御プログラムに組み込んでおく必要がある。
第 1表では、 使用する言語の識別にレビジョ ン番号を利用したが、 利 用国の識別 (日本, アメ リカ, 中国, 等) , 使用する機能の識別 (機能 A, 機能 A + B, 等) , 利用者 に対する識別 ( A社向け, B社向け, 等) のなどにも、 レビジョ ン番号を利用して識別することが出来る。
なお、 以上の実施形態を各ユーザが夫々の用途で使用する場合、 夫々 でのワンチップマイクロコンピュータ 6を共通にし (即ち、 R OM 2に 格納されるプログラムやデータを共通にし) 、 外部の E P R OM 5ゃフ ラッシュメモリ 1 1 もしくは D R A M 1 3によって各ユーザ毎に個別対 応させるようにすることができる。 この場合には、 第 5図, 第 1 0図に 示したように、 個別対応すべき T A S Kのみ E P R OM 5やフラッシュ メモリ 1 1 もしくは D RAM 1 3に登載し、 もしくは、 第 7図に示した ように、 個別対応すべきサブルーチンのみ E P R OM 5やフラッシュメ モリ 1 1 もしくは D RAM 1 3に登載するようにすればよい。
また、 以上の実施形態では、 ワンチップマイクロコンピュータ 6内の R 0 M 2 と外部の E P R OM 5 とにおける処理プログラム (T A S K, サブルーチン) の更新について説明したが、 R OM 2に格納されている デ一夕の更新についても、 E P R OM 5やフラッシュメモリ 1 1 もしく は D R AM 1 3によって対応できることは自明である。
さらに、 以上の実施形態では、 R OM 2 としては、 書き換えできない マスク R OMを用いたが、 書き換え可能な E P R OMやフラッシュメモ リなどのメモリを用いてもよいし、 また、 外部のメモリ としても、 書き 換え可能な E P ROMメモリやフラッシュメモリ 1 1 もしくは D RAM 1 3を用いたが、 書き換えできないマスク R OMを用いるようにしても よい。
さらに、 以上の実施形態では、 実行すべきプログラム (T A S K, サ ブルーチン) のア ドレスをワンチップマイクロコンピュータ 6内の R A M 2に登録したが、 登録する情報内容は、 了 ドレスのみならず、 実行す べきプログラム (T A S K, サブルーチン) 本体を登録してもよい。 ま た、 ワンチップマイクロコンピュータ 6の外部に、 R AM, フラッシュ メモリ, D R AM等を付加し、 そこに実行すべきプログラム (T A S K, サブルーチン) のア ドレスや、 実行すべきプログラム (T A S K, サブ ルーチン) 本体を登録することもできる。
上記本発明の実施形態の説明では、 バージョ ン情報を用いているが、 バ一ジョ ン情報に限定せず、 プログラムもしく はデータの情報等を利用 して比較するこ とも出来る。 例えばプログラムもしく はデータ内にある コメ ン ト文、 著作権表示、 プログラムサイズ、 データサイズ、 プログラ ム開始ア ドレス、 データ開始ア ドレス等の情報を利用することが出来る。 産業上の利用可能性
以上説明したように、 本発明によれば、 ワンチップ内の ROMのバ一 ジョ ン情報と外部 E P R OM内やフラッ シュメモリ内もしく は D R AM 内のバージョ ン番号を比較するので、 常に新しいバ一ジョ ンのプログラ ム (T A S K, サブルーチン) を実行するこ とができるし、 新しいバー ジョ ンの更新データを利用することができる。 また、 各ユーザに個別に 対応することもできる。
また、 更新、 変更すべきプログラムもしく はデータのみを外部に付加 するので、 付加すべきプログラムもしく はデータを最小サイズにするこ とが出来る。
なお、 バージョ ン情報以外にも、 プログラムもしく はデータ内の情報 を用いて比較することにより、 バージョ ン情報を不要とすることが出来 る o

Claims

請求の範囲
1 . マイクロコンピュータなどに内蔵されているプログラムを、 該マイ クロコンピュー夕の外部から等価的に修正するこ とができるようにした マイクロコンピュータ制御システムにおいて、
該マイクロコンピュータなどに内蔵されているプログラム全体と該マ ィクロコンピュー夕の外部に用意された修正すべきプログラム全体とに 夫々バージ ョ ン情報を付加し、 該バージ ョ ン情報を用いて、 該マイクロ コンピュータなどに内蔵されているプログラムを使用するのか、 該マイ クロコンピュー夕の外部に用意された修正すべきプログラムを使用する のかを判断することを特徴とするマイク口コンピュータ制御システム。
2 . マイクロコンピュータなどに内蔵されているデータを、 該マイクロ コンピュータの外部より等価的に修正するこ とができるよう にしたマイ クロコンピュータ制御システムにおいて、
該マイクロコンピュータなどに内蔵されているデータ全体と該マイク ロコンピュー夕の外部に用意された修正すべきデータ全体とに夫々バー ジョ ン情報を付加し、 該バージョ ン情報を用いて、 該マイクロコンピュ —タなどに内蔵されているデータを使用するのか、 該マイクロコンピュ —夕の外部に用意された修正すべきデータを使用するのかを判断するこ とを特徴とするマイクロコンピュータ制御システム。
3 . 請求項 1 に記載のマイクロコンピュータ制御システムにおいて、 前記マイクロコンピュータなどに内蔵されている個々のプログラムと 前記マイクロコンピュー夕の外部に用意された修正すべき個々のプログ ラムとに夫々バージョ ン情報を付加し、 該バ一ジョ ン情報を用いて、 前 記マイクロコンピュータなどに内蔵されているプログラムを使用するの 力、、 前記マイクロコンピュータの外部に用意された修正すべきプログラ 厶を使用するのかを判断することを特徴とするマイクロコンピュータ制 御システム。
4 . 請求項 2に記載のマイクロコンピュータ制御システムにおいて、 前記マイクロコンピュータなどに内蔵されている個々のデータと前記 マイクロコンピュータの外部に用意された修正すべき個々のデータとに 夫々バージョ ン情報を付加し、 該バージョ ン情報を用いて、 前記マイク 口コンピュータなどに内蔵されているデータを使用するのか、 前記マイ クロコンピュー夕の外部に用意された修正すべきデータを使用するのか を判断するこ とを特徴とするマイクロコンピュータ制御システム。
5 . 請求項 1 , 2, 3または 4のいずれかに記載のマイクロコンピュー タ制御システムにおいて、
前記マイクロコンピュー夕の外部に用意された修正すべきプログラム もしく はデータが格納された記憶部に識別情報を付加し、 該識別情報を 用いて、 前記マイクロコンピュータ制御システムに適合する修正すべき プログラムもしく はデータが格納された記憶部であるかどうかを判断す ることを特徴とするマイクロコンピュータ制御システム。
6 . 請求項 1 , 2, 3または 4のいずれかに記載のマイクロコンピュー タ制御システムにおいて、
前記バ一ジョ ン番号を記憶する記憶領域を、 固定ァ ドレスとしたこ と を特徴とするマイクロコンピュータ制御システム。
7 . 請求項 5に記載のマイクロコンピュータ制御システムにおいて、 前記識別情報を記憶する記憶領域を、 固定ァ ドレスとしたことを特徴 とするマイクロコンピュータ制御システム。
8 . 請求項 1, 2, 3 , 4, 5, 6または 7のいずれかに記載のマイク 口コンピュータ制御システムにおいて、
前記マイクロコンピュータなどに内蔵されている幾つかのプログラム もしく はデータが、 実体がないプログラムもしく はデータで構成されて いることを特徴とするマイクロコンピュータ制御システム。
9 . 請求項 1 , 2, 3 , 4 , 5 , 6, 7または 8のいずれかに記載のマ イク口コンピュータ制御システムにおいて、
前記マイクロコンピュータの外部に, 外部デバイスを付加し、 修正す べきプログラムもしく はデータを, 前記外部デバイスから供給するこ と を特徴とするマイクロコンピュータ制御システム。
1 0 . 請求項 1, 2 , 3, 4 , 5 , 6, 7, 8または 9のいずれかに記 載のマイクロコンピュータ制御システムにおいて、
修正すべきプログラムもしく はデータに暗号化を施して、 前記マイ クロコンピュー夕の外部に接続された記憶部に格納したことを特徴とす るマイクロコンピュータ制御システム。
1 1 . 請求項 9に記載のマイクロコンピュータ制御システムにおいて、 前記外部デバイスとして、 情報記録媒体再生装置を使用し、 修正すベ きプログラムもしく はデータを、 前記情報記録媒体再生装置に格納する 情報記録媒体に記録したことを特徴とするマイクロコンピュータ制御シ ステム。
1 2 . 請求項 1 1 に記載のマイクロコンピュータ制御システムにおいて、 前記情報記録媒体として、 光ディ スクを採用したことを特徴とするマイ クロコンピュータ制御システム。
PCT/JP1997/003338 1996-11-29 1997-09-19 Systeme de commande de micro-ordinateur WO1998024021A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/308,578 US6496978B1 (en) 1996-11-29 1997-09-19 Microcomputer control system in which programs can be modified from outside of the system and newer versions of the modified programs are determined and executed
US10/268,721 US7174537B2 (en) 1996-11-29 2002-10-11 Microcomputer control system in which programs can be modified and newer versions of the modified programs being detected and executed

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP8/319558 1996-11-29
JP31955896 1996-11-29

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US09/308,578 Continuation US6496978B1 (en) 1996-11-29 1997-09-19 Microcomputer control system in which programs can be modified from outside of the system and newer versions of the modified programs are determined and executed
US09/308,578 A-371-Of-International US6496978B1 (en) 1996-11-29 1997-09-19 Microcomputer control system in which programs can be modified from outside of the system and newer versions of the modified programs are determined and executed
US10/268,721 Continuation US7174537B2 (en) 1996-11-29 2002-10-11 Microcomputer control system in which programs can be modified and newer versions of the modified programs being detected and executed

Publications (1)

Publication Number Publication Date
WO1998024021A1 true WO1998024021A1 (fr) 1998-06-04

Family

ID=18111611

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1997/003338 WO1998024021A1 (fr) 1996-11-29 1997-09-19 Systeme de commande de micro-ordinateur

Country Status (2)

Country Link
US (2) US6496978B1 (ja)
WO (1) WO1998024021A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332221A (ja) * 2004-05-20 2005-12-02 Renesas Technology Corp 記憶装置

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998024021A1 (fr) * 1996-11-29 1998-06-04 Hitachi, Ltd. Systeme de commande de micro-ordinateur
WO2000014627A1 (fr) * 1998-09-04 2000-03-16 Fujitsu Limited Gestion du passage a une version superieure, et systeme informatique a cet effet
JP2001306543A (ja) * 2000-04-19 2001-11-02 Nec Corp マイクロコンピュータ及びフラッシュメモリのデータ書換え方法
KR100773446B1 (ko) * 2000-07-31 2007-11-05 소니 가부시끼 가이샤 기록매체와 기록매체에 대한 기록 및/또는 재생방법과기록매체에 대한 기록 및/또는 재생장치
US8875116B2 (en) * 2000-11-17 2014-10-28 Hewlett-Packard Development Company, L.P. Network for updating firmware and / or software in wireless communication devices
US7379731B2 (en) * 2001-05-14 2008-05-27 Ntt Docomo Inc. System for managing program applications storable in a mobile terminal
CN100397333C (zh) * 2004-07-07 2008-06-25 群联电子股份有限公司 内含中央处理单元的可扩充集成电路及其方法
TWI260514B (en) 2004-08-30 2006-08-21 Mediatek Inc Method and system for updating software of a cellular phone
JP4720140B2 (ja) * 2004-10-01 2011-07-13 船井電機株式会社 情報処理装置
JP4828816B2 (ja) * 2004-10-25 2011-11-30 株式会社東芝 メモリカード、半導体装置、及びメモリカードの制御方法
US20070150754A1 (en) * 2005-12-22 2007-06-28 Pauly Steven J Secure software system and method for a printer
US20070258744A1 (en) * 2006-05-02 2007-11-08 Liccini Roman D System and method for adjusting front-to-back printer registration
EP2025095A2 (en) 2006-06-08 2009-02-18 Hewlett-Packard Development Company, L.P. Device management in a network
US8752044B2 (en) * 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
US8885384B2 (en) 2007-01-11 2014-11-11 Chengdu Haicun Ip Technology Llc Mask-programmed read-only memory with reserved space
US20110019459A1 (en) * 2007-01-11 2011-01-27 Guobiao Zhang Three-Dimensional Mask-Programmable Read-Only Memory with Reserved Space
CN102105883A (zh) * 2008-06-23 2011-06-22 Nxp股份有限公司 电子装置以及电子装置的软件或固件更新的方法
JP2010257367A (ja) * 2009-04-28 2010-11-11 Sanyo Electric Co Ltd プログラムの更新システム、プログラム更新機能付き電子機器
US10795935B2 (en) 2016-02-05 2020-10-06 Sas Institute Inc. Automated generation of job flow definitions
US10650046B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Many task computing with distributed file system
US9684543B1 (en) * 2016-02-05 2017-06-20 Sas Institute Inc. Distributed data set storage, retrieval and analysis
US10642896B2 (en) 2016-02-05 2020-05-05 Sas Institute Inc. Handling of data sets during execution of task routines of multiple languages
US10650045B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Staged training of neural networks for improved time series prediction performance

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04242430A (ja) * 1991-01-16 1992-08-31 Koufu Nippon Denki Kk 動作プログラム内蔵装置
JPH05233267A (ja) * 1992-02-24 1993-09-10 Nec Home Electron Ltd プログラムrom内蔵装置
JPH06314190A (ja) * 1992-09-18 1994-11-08 Sony Corp 電子装置
JPH07248914A (ja) * 1994-03-09 1995-09-26 Ricoh Co Ltd ディスク装置
JPH07319684A (ja) * 1994-05-23 1995-12-08 Sharp Corp 情報端末機器
JPH08272601A (ja) * 1995-03-31 1996-10-18 Asahi Optical Co Ltd プログラム変更可能な電子装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9019423D0 (en) * 1990-09-06 1990-10-24 Gen Motors Luxembourg Operatio Electronic controller for vehicle
US5878256A (en) * 1991-10-16 1999-03-02 International Business Machine Corp. Method and apparatus for providing updated firmware in a data processing system
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
JP3088269B2 (ja) * 1995-07-26 2000-09-18 日本電気通信システム株式会社 コンピュータネットワークシステム及びそのオペレーティングシステムの版数管理方法
US6067500A (en) * 1995-08-14 2000-05-23 Aisin Aw Co., Ltd. Navigation system
EP0762337A3 (de) * 1995-09-08 2000-01-19 Francotyp-Postalia Aktiengesellschaft & Co. Verfahren und Anordnung zur Erhöhung der Manipulationssicherheit von kritischen Daten
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
US5930504A (en) * 1996-07-22 1999-07-27 Intel Corporation Dynamic nonvolatile memory update in a computer system
US6006034A (en) * 1996-09-05 1999-12-21 Open Software Associates, Ltd. Systems and methods for automatic application version upgrading and maintenance
US5881292A (en) * 1996-09-26 1999-03-09 Microsoft Corporation Dynamic versioning system for multiple users of multi-module software system
WO1998024021A1 (fr) * 1996-11-29 1998-06-04 Hitachi, Ltd. Systeme de commande de micro-ordinateur
US20040003266A1 (en) * 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04242430A (ja) * 1991-01-16 1992-08-31 Koufu Nippon Denki Kk 動作プログラム内蔵装置
JPH05233267A (ja) * 1992-02-24 1993-09-10 Nec Home Electron Ltd プログラムrom内蔵装置
JPH06314190A (ja) * 1992-09-18 1994-11-08 Sony Corp 電子装置
JPH07248914A (ja) * 1994-03-09 1995-09-26 Ricoh Co Ltd ディスク装置
JPH07319684A (ja) * 1994-05-23 1995-12-08 Sharp Corp 情報端末機器
JPH08272601A (ja) * 1995-03-31 1996-10-18 Asahi Optical Co Ltd プログラム変更可能な電子装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332221A (ja) * 2004-05-20 2005-12-02 Renesas Technology Corp 記憶装置

Also Published As

Publication number Publication date
US7174537B2 (en) 2007-02-06
US20030033598A1 (en) 2003-02-13
US6496978B1 (en) 2002-12-17

Similar Documents

Publication Publication Date Title
WO1998024021A1 (fr) Systeme de commande de micro-ordinateur
KR100987628B1 (ko) 엠비디드 컨트롤러의 펌웨어 갱신방법 및 갱신용 펌웨어저장매체
JP3186905B2 (ja) コンピュータブート用両エンディアンファームウェアシステム
US7730326B2 (en) Method and system for updating firmware stored in non-volatile memory
US7039799B2 (en) Methods and structure for BIOS reconfiguration
JPH05204653A (ja) データ蓄積装置と方法
KR20010070416A (ko) 컴퓨터
US6925522B2 (en) Device and method capable of changing codes of micro-controller
JP2000163268A (ja) コンピュータ
JP6526357B2 (ja) 制御装置およびプログラム更新方法
JP2006313560A (ja) マイクロコンピュータ制御システム
US7685592B2 (en) Method and device for updating program functions corresponding to a version flag
JP2004013536A (ja) フラッシュメモリ書き換え制御システム、フラッシュメモリ書き換え制御方法、フラッシュメモリ書き換え制御方法の各工程を実行させるプログラムおよび情報記録媒体
JP2004078604A (ja) 情報処理方法とその方法を実現するプログラム及び記録媒体
JPH08305561A (ja) ファームウエアダウンロード方法とその装置
JP3843189B2 (ja) 光ディスクシステム制御チップおよび光ディスクシステムに使用される更新方法
JP2000076077A (ja) 光ディスクドライブ制御システム
JP2002140205A (ja) データ処理装置およびデータ処理装置のブート処理方法
JP2006106811A (ja) 情報処理装置及び方法
JP2008003668A (ja) 制御プログラム書換システム、書換プログラム及び制御プログラム書換方法、並びに情報処理装置、情報処理装置制御プログラム及び情報処理装置制御方法
JP2003196087A (ja) マイクロコントローラのメモリアドレッシング方法及びページマッピング装置
KR20000003162A (ko) 효율적인 플래시 메모리 운용 방법
JPH10198553A (ja) Cd−romドライブの種類検出を行うコンピュータシステムのブート方法及びデバイスドライバの搭載方法
JP2004341781A (ja) ファームウエア更新方法、ファームウエア更新装置およびフラッシュrom
JPH11110224A (ja) 言語処理装置及び方法、並びに情報記憶媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09308578

Country of ref document: US

122 Ep: pct application non-entry in european phase