WO2005088447A1 - Diagnostic instrument memory programming method and tool - Google Patents

Diagnostic instrument memory programming method and tool Download PDF

Info

Publication number
WO2005088447A1
WO2005088447A1 PCT/NL2004/000176 NL2004000176W WO2005088447A1 WO 2005088447 A1 WO2005088447 A1 WO 2005088447A1 NL 2004000176 W NL2004000176 W NL 2004000176W WO 2005088447 A1 WO2005088447 A1 WO 2005088447A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
sector
contents
sectors
program file
Prior art date
Application number
PCT/NL2004/000176
Other languages
French (fr)
Inventor
Pieter Arnold Kop
Original Assignee
Snap-On Incorporated
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 Snap-On Incorporated filed Critical Snap-On Incorporated
Priority to PCT/NL2004/000176 priority Critical patent/WO2005088447A1/en
Publication of WO2005088447A1 publication Critical patent/WO2005088447A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the invention relates to a method for programming a memory of an automotive diagnostic instrument with a program file. Further, the invention relates to a software tool performing such method and to an automotive diagnostic instrument comprising such a tool.
  • Automotive diagnostic instruments having a memory cartridge are currently manufactured and sold by the assignee of the present patent application.
  • the memory cartridge comprises a programmable memory, such as a FLASH-memory.
  • the memory is programmable with a programming tool comprising e.g. suitable software, which is executed on a computer, such as a. personal computer.
  • the tool further comprises an adapter for establishing a data connection between the memory in the cartridge and the computer.
  • Such programming tool is used both during manufacturing of the automotive diagnostic instrument resp. the memory cartridge, i.e.
  • a problem is that a downloading of a program file or other data content (in this document also referred to with the generic term "software"), takes a substantial amount of time. In the current implementation during production a full programming of the memory cartridge takes around 45 minutes. In case of a production of large quantities, or in case that e.g.
  • a plurality of memory cartridges on stock in the factory need to be reprogrammed with a more recent software version, a total amount of time for a programming of such plurality of cartridges is substantial. This is also the case when hardware of the memory cartridge and/or the automotive diagnostic instrument is found to be defective and needs repair. After repair, the memory cartridge needs to be fully checked because a problem in the hardware might have corrupted the contents of the FLASH-memory. For this reason, the memory cartridge needs to be reprogrammed entirely to be sure that no corruption of the contents thereof remains. Such reprogramming takes around 45 minutes with the currently used cartridges, which increases repair times, as a final check can only be performed after the memory cartridge has been reprogrammed.
  • software is provided to a customer e.g. on a CD-ROM free of a charge, the customer only having to pay for a download of the software from the CD-ROM.
  • the customer requires payment for downloading the software via the internet.
  • Illegal copying i.e. the use of the software file paid for, for other memory cartridges and/or other automotive diagnostic instruments is to be prevented.
  • a problem associated with the programming of software into the memory cartridge is that a skilled person could be able to monitor the communication from the programming tool to the memory cartridge (which e.g.
  • a memory cartridge will comprise a plurality of program files, e.g. each for a different vehicle type and/or for diagnosing different parameters, while a client in the field will normally only update one or a few of the plurality of program files, thus will only reprogram a small part of the memory.
  • the invention intends to at least partly take away the problems of the prior art and to provide a method and software tool for fast and reliable programming of the memory of the automotive diagnostic instrument.
  • the method for programming a memory of the automotive diagnostic instrument comprises: a. partitioning the memory into a plurality of sectors; b. partitioning the program file into a plurality of sectors; c. reading a contents of a sector of the memory; d. comparing the contents of the sector of the memory with a contents of a corresponding sector of the program file; and if the contents of the sector of the memory is not equal to the contents of the sector of the program file: e. erasing the sector of the memory; and f. writing the contents of the sector of the program file into the sector of the memory; the method further comprising the step of g.
  • the memory is partitioned into a plurality of sectors preferably having an identical size for ease of programming.
  • the program file is also partitioned into a plurality of sectors, a size of the sector of the program file preferably corresponding to a size of .a sector of the memory, however in an alternative preferred embodiment a sector of the program file could correspond to a plurality (i.e. two or more) of sectors of the memory or visa versa.
  • the partitioning can take place each time the programming of the memory according to the method of the invention is performed, however it is also possible that the partitioning is performed once, i.e. during production of the memory and/or the program file .
  • the contents of the sector of the memory is read and compared with the contents of the corresponding sector of the program file.
  • the contents of the sectors are equal, it is not required to program the respective sector of the memory and as a consequence the method can directly proceed with the following sector.
  • the respective sector of the memory needs to be reprogrammed, i.e. by erasing the sector of the memory and writing into this memory sector the contents of the corresponding sector of the program file. Then, the process can continue with a following sector.
  • the comparing according to step d may comprise the step of reading a version indicator of at least a part of the program in the memory and comparing the version indicator with a version indicator of at least a part of the program file.
  • the comparing can be performed fast and preferably for a plurality of sectors simultaneously, as the fact that a version of the software in the memory appears to be identical to a version of the software of the program file, implies that no erasing and rewriting of the sector (and also of other sectors of the memory in which the remainder of the program file is resident) , is required.
  • step d may comprise the step of comparing the contents of the sector of the memory with the contents of a corresponding sector of the program file which preferably is performed on a bit by bit basis.
  • a size of the sectors of the memory is chosen to be smaller than a size of the program file. As the size of the sector is chosen to be smaller than the size of the program file, the program file will be stored in a plurality of sectors of the memory.
  • the contents of the memory is compared with the contents of the corresponding sector of the program file, a decision whether or not to erase the respective sector of the memory and rewrite it can be taken each time for a sector corresponding to a part of the program file.
  • the program file to be programmed comprises an updated version of the program file
  • a difference between the previous version of the program file and the current version of the program file resides in a part of the program file
  • unchanged parts of the memory will not be erased and rewritten, thus saving programming time and avoiding transmitting of the contents of the program file as a whole to the memory of the automotive diagnostic instrument.
  • the size of the sector of the memory is chosen to be equal to a size of a sector of the memory, comprising e.g. a memory devices, thus providing for an efficient process, as the memory is commonly read-out per sector also.
  • the program file comprises a generic part which is substantially identical for various software applications in the memory and an application specific part comprising application specific software, comprising the further steps of: identifying sectors of the memory in which the generic part is to be stored; identifying sectors of the memory in which a generic part of an other application specific part is stored; performing steps c to g for all sectors of the memory in which the generic part is stored or is to be stored; identifying sectors of the memory in which the application specific part is to be stored; and performing steps c to g for all sectors of the memory in which the application specific part is to be stored.
  • a plurality of program files is stored, e.g. for a plurality of applications, functionality's, etc..
  • Each of these program files advantageously comprises a generic part and an application specific part.
  • the generic part of the program file to be stored in the memory differs, e.g. is of a more recent date, or of a more recent version, than the generic parts of the program files already stored in the memory.
  • the sectors of the memory in which generic parts of other applications are stored are identified, and if required, updated, the advantage is achieved that these generic parts are brought to a desired version also.
  • version numbers of the generic parts as stored in the memory are compared with a version number of the generic part of the program file to be programmed into the memory, or alternatively it is possible that a comparison is made on a bit by bit basis, on a basis of a release date of the generic part of the program file, or any other suitable parameter.
  • a requirement of the application might be that all generic parts are of a same version, which requirement is complied with the advantageous embodiment of the invention as described, as all generic parts in the memory are advantageously updated in conformity with the generic part of the program file to be programmed into the memory.
  • the matter comprises to further step of partitioning sectors into sub-sectors if during step d it is established that the contents of the current sector of the memory is not equal to the contents of the corresponding sector of the program file.
  • the method advantageously comprises the further step of grouping together following sectors if during step d it is established that the contents of the current sector of the memory is equal to the contents of the corresponding sector of the program file.
  • the sector, or alternatively subsequent sectors can be partitioned into sub-sectors, such that further comparisons of the contents is made on a basis of the sub-sectors, thus being able to find out if a sub-sector of the memory might equal a sub-sector of the program file, thus avoiding a need to erase the sub-sector and write the contents of the corresponding sub-sector of the program file into the sub-sector of the memory. It is possible that the grouping together of sectors and/or the partitioning of sectors into sub-sectors is performed for a following sector resp.
  • the method comprises the further steps of: storing an outcome of step d for each sector; and programming an other memory by repeating steps e and f for the other memory for all sectors of which the stored outcome establishes that the contents of the sector of the memory is not equal to the contents of the sector of the program file.
  • a plurality of memory can be programmed while the . comparing of the contents of the respective sectors of the memory and the program file is performed only once. This advantageous embodiment is advantageously applied for a plurality of memories which are identically programmed.
  • Step c is advantageously performed by reading the contents of the sector of the memory from the memory itself.
  • step c may comprise the step of reading the contents of the sector from a file corresponding to the contents of at least the sector of the memory. If a file which represents the contents of the sector (S) of the memory is available, reading the contents thereof instead of reading the contents from the memory might be faster, as in an advantageous embodiment where the comparing is performed in e.g.
  • the invention further comprises a software tool for programming a memory of an automotive diagnostic instrument, the tool comprising software instructions for, when running on a processing unit, establishing a connection between the processing unit and the memory of the automotive diagnostic instrument, and performing the method according to the invention.
  • the processing unit can be comprised in the automotive diagnostic instrument, obviating a need for additional, external hardware (such as a personal computer) for programming the memory.
  • the processing unit can be comprised in a unit separate from the diagnostic instrument, the unit e.g. comprising a personal computer.
  • the programming device 3 comprises suitable connection means, in this example a programming slot 3a into which a memory cartridge 4 can be placed.
  • the memory cartridge 4 comprising a memory such as an (electrically) erasable read only memory (EPROM or EEPROM) or a flash-memory can, when programmed with suitable software, be connected to an automotive diagnostic instrument 5 (via any suitable connection known per se) .
  • EPROM electrically erasable read only memory
  • EEPROM electrically erasable read only memory
  • flash-memory can, when programmed with suitable software, be connected to an automotive diagnostic instrument 5 (via any suitable connection known per se) .
  • the memory is comprised in the diagnostic instrument 5.
  • the automotive diagnostic instrument 5 can comprise any diagnostic instrument, such as a serial diagnostics communication device, an emissions tester, a battery tester, an information system, a diagnostic engine tester, an information system coupled with instrumentation such as a multi-meter or an oscilloscope.
  • the automotive diagnostic instrument 5 is connected to a vehicle 6 via a serial diagnostic communication link 7.
  • the personal computer 1 is provided with suitable software (not shown, however the function of which will be explained with reference to fig. 2 below) , for programming the memory cartridge 4 when connected to the programming device 3.
  • the software tool for programming the memory can be resident and operational in the personal computer 1, in the programming device 3 or in a combination thereof, i.e.
  • an automotive diagnostic instrument 5 which is connectable via a suitable connection means 7, such as a serial diagnostic communication link, to an automotive vehicle 6.
  • the automotive diagnostic instrument 5 comprises a memory 4 which is connectable for establishing a data communication with processing means 8.
  • an input device 9 is provided which is operationally connectable to the processing means 8 for establishing data communication between them.
  • the input device 9 can comprise any suitable input device for input in data, such as a memory card reader, for reading a memory storage card such as an SD, MM, or any other suitable memory card, an optical disc reader for reading an optical disc such as a CD-ROM, a DVD-ROM or any other optical media, a magnetic reading device for reading a magnetic data storage media such as a floppy disc or (replaceable) hard disk, a communication connection for optically, electrically or radiographically receiving data from a transmitter or any other suitable input device.
  • a memory card reader for reading a memory storage card such as an SD, MM, or any other suitable memory card
  • an optical disc reader for reading an optical disc such as a CD-ROM, a DVD-ROM or any other optical media
  • a magnetic reading device for reading a magnetic data storage media such as a floppy disc or (replaceable) hard disk
  • a communication connection for optically, electrically or radiographically receiving data from a transmitter or any other suitable input device.
  • step 100 the memory is partitioned into a plurality of sectors.
  • step 101 the program file is partitioned into a plurality of sectors.
  • the sectors of the program file preferably have a same size as the sectors of the memory however it is also possible that the sectors of either one of the memory or the program file are a multiple in size of the other sector, i.e. of the other one of the program file and the memory.
  • step 102 the contents of the sector of the memory is read.
  • step 103 the contents of the memory sector is compared with the contents of the corresponding sector of the program file. If the content of these files is equal, the method proceeds with step c for a following sector of the memory.
  • step 104 the memory sector is erased and in step 105 the contents of the sector of the program file is written, i.e. programmed into the memory sector. Then, the process continues with step 102 for reading a contents of a following sector of the memory. Steps 100 and 101 can be performed simultaneously, or step 100 can precede step 101, or visa versa.
  • the comparison as performed in step 103 can comprise a comparing of the contents of the memory sector with the contents of a corresponding sector of the program file on a bit by bit or byte by byte basis.
  • an indicator indicative of a version of the program in the memory, or part thereof, and an indicator indicative of a version of at least part of the program file can also be compared with each other, providing a quick comparison as a same version will imply that no erasing and rewriting of steps 104 and 105 need to be performed for that sector, as due to the same version numbers in at least the sector of the program file and the memory, no update is required as identical version numbers imply that the software in these sectors is already the same.
  • the comparison of step 103 can proceed with a comparing of the contents of the memory sector and the program file sector on a bit by bit, byte by byte or any suitable basis.
  • the memory can comprise one program file, however, as schematically depicted in fig. 3, it is also possible that the memory comprises a plurality of program files. In fig. 3, the contents of the memory is schematically indicated by 300.
  • the memory is partitioned into a plurality of sectors 300a, 300b, 300c, ....
  • the memory 300 is programmed with a first program file pi, a second program file p2 and a third program file p3.
  • each program file pi, p2, p3, spans a plurality of sectors of the memory, i.e. a size of the sectors of the memory is chosen to be smaller than a size of the program file.
  • Each of the program files pi, p2, p3 as programmed in the memory 300 comprises a generic part, respectively indicated as gl, g2 and g3 and an application specific part, respectively indicated as si, s2 and s3.
  • the generic parts are identical for the software applications pi, p2 and p3 in the memory.
  • the generic parts can e.g.
  • the application specific parts comprise software- instructions specific for a particular application, i.e. for a particular type of vehicle, for testing a particular parameter, for performing tests according to a specific protocol, etc.
  • the program p3 is to be updated.
  • sectors of the memory in which the generic part of p3, i.e. g3, is located are identified as well as sectors in which the generic parts of pi and p2, i.e. gl and g2 are located, are identified.
  • steps 102, 103, and if required 104 and 105 are performed for all sectors of gl, g2 and g3, thus upgrading all generic parts of the memory 300.
  • the sectors of the memory in which the application specific part of the program p3 is to be downloaded i.e. the sectors s3, are identified. Then, steps 102 and 103, and if required 104 and 105 are performed for the sectors of the application specific part s3. As depicted in fig. 3, the program file
  • 301 is also partitioned into sector 301a, 301b, 301c,
  • a size of the sector of the program file 301 corresponds to the size of the memory sector 300, however the size of the program file 301 can also be a multiple of the size of the memory sector 300 or visa versa. If the comparison is performed making use of a contents of a file which represents a contents of sectors of the memory, instead of reading the contents of the memory sectors themselves, sectors of the file representing the contents of the memory sectors can be a multiple of the size of the memory sector 300 for speeding up the comparison process. If in the comparison process a difference between the contents of the program file and the contents of the memory (as represented by the file) is detected, then the sector which corresponds to the location where the difference has been detected, can be calculated and this sector can be programmed into the memory anew.
  • All sectors can have an equal size, however it is also possible that sectors are grouped together if in step 103 it is established that contents of the memory sector and the corresponding program file sector are identical, or a sector can be partioned into sub-sectors if in step 103 the opposite has been found.
  • it is also possible to program other, identical memories by repeating steps e and f for the other memories for the sectors of which it has been established that the memory sector contents is an equal to the program file sector contents corresponding to it.
  • the programming of the other memories can be performed by successively connecting these memories to the programming device 3, however instead thereof also parallel programming is possible, e.g.
  • the contents of the sector of the memory can be read from the memory itself, or may be read from a file which comprises the same data as present in the memory (or at least in the sector to be read) .
  • the software tool as running e.g. on the personal computer 1 in fig. la comprises software instructions for establishing a connection between the personal computer 1 and the memory 4 (via the programming device 3) , and for performing the method steps according to the invention.
  • the software tool can be resident and be executed by the personal computer 1, i.e.
  • steps 100-105 being initiated by and/or controlled by the personal computer 1, however it is also possible that one or more, or even all of these steps are controlled by and/or performed in the programming device 3.
  • the comparison according to step 103 is performed by the programming device 3.
  • a sector is to be read from the memory first (step 102) .
  • two items are required: the contents of the sector of the memory as read in step 102 as well as the contents of the sector of the program file which e.g. is present in the personal computer. If the comparison takes place in the programming device 3, the sector of the program file is to be transferred from the personal computer to the programming device 3.
  • the contents of the sector of the memory is to be transferred from the programming device to the personal computer 1.
  • a speed of transfer from the personal computer to the programming device and vice versa will be substantially equal.
  • the comparison is performed in the programming device 3 an additional advantage arises: if it is established during the comparison that the contents of the sectors are not equal, programming of the respective sector of the memory can be initiated fast, as it is not required anymore to transfer the contents of the respective sector of the program file from the personal computer to the programming device, as it is already transferred thereto. Thus, total programming time can be reduced.
  • the method as described with reference to fig. 2 is executed by the processing means 8.
  • the processing means 8 in the automotive diagnostic instrument 5 can comprise existing processing means of the automotive diagnostic instrument 5.
  • e.g. software instructions for executing the method according to the invention are executed by the processing means 8, hence reading the program file, or part thereof from the input device 9 and comparing it in the manner described above with a contents of the memory 4 or one or more sectors thereof or with a contents of another file in or available to the automotive diagnostic instrument 5 representing a contents of the memory 4.
  • An advantage of the set-up as described with reference to fig. lb is that no external hardware (programmer, personal computer etc.) is required, except for a data carrier containing the program file which is to be read out by the input device 9, which implies that programming can easily be performed in the field.

Abstract

A method for programming a memory of an automotive diagnostic instrument comprises the steps of: a. partitioning the memory into a plurality of sectors; b. partitioning the program file into a plurality of sectors; c. reading a contents of a sector of the memory; d. comparing the contents of the sector of the memory with a contents of a corresponding sector of the program file; and if the contents of the sector of the memory is not equal to the contents of the sector of the program file: e. erasing the sector of the memory; and f. writing the contents of the sector of the program file into the sector of the memory; the method further comprising the step of g. repeating steps c, d, e and f for all sectors of the memory corresponding to a sector of the program file.

Description

Title: Diagnostic instrument memory programming method and tool.
The invention relates to a method for programming a memory of an automotive diagnostic instrument with a program file. Further, the invention relates to a software tool performing such method and to an automotive diagnostic instrument comprising such a tool. Automotive diagnostic instruments having a memory cartridge are currently manufactured and sold by the assignee of the present patent application. The memory cartridge comprises a programmable memory, such as a FLASH-memory. The memory is programmable with a programming tool comprising e.g. suitable software, which is executed on a computer, such as a. personal computer. The tool further comprises an adapter for establishing a data connection between the memory in the cartridge and the computer. Such programming tool is used both during manufacturing of the automotive diagnostic instrument resp. the memory cartridge, i.e. for downloading suitable program files into the memory, and may also be used in the field, i.e. by a customer for updating a contents of the memory cartridge, e.g. because of a new software release or because of adding functionality to the automotive diagnostic instrument, e.g. for using the automotive diagnostic instrument with different types of automotive vehicles or for complying with amended governmental regulations . A problem is that a downloading of a program file or other data content (in this document also referred to with the generic term "software"), takes a substantial amount of time. In the current implementation during production a full programming of the memory cartridge takes around 45 minutes. In case of a production of large quantities, or in case that e.g. a plurality of memory cartridges on stock in the factory need to be reprogrammed with a more recent software version, a total amount of time for a programming of such plurality of cartridges is substantial. This is also the case when hardware of the memory cartridge and/or the automotive diagnostic instrument is found to be defective and needs repair. After repair, the memory cartridge needs to be fully checked because a problem in the hardware might have corrupted the contents of the FLASH-memory. For this reason, the memory cartridge needs to be reprogrammed entirely to be sure that no corruption of the contents thereof remains. Such reprogramming takes around 45 minutes with the currently used cartridges, which increases repair times, as a final check can only be performed after the memory cartridge has been reprogrammed. A further problem which especially occurs in the field, e.g. at a customer's site, when the customer updates the memory cartridge, concerns copying of software. In current implementations, software is provided to a customer e.g. on a CD-ROM free of a charge, the customer only having to pay for a download of the software from the CD-ROM. Alternatively, it is e.g. possible that the customer requires payment for downloading the software via the internet. Illegal copying, i.e. the use of the software file paid for, for other memory cartridges and/or other automotive diagnostic instruments is to be prevented. A problem associated with the programming of software into the memory cartridge is that a skilled person could be able to monitor the communication from the programming tool to the memory cartridge (which e.g. takes place via a USB-connection, RS232- connection or any other type of standard communication port of a personal computer on which the software programming tool is running) . . Further, the above problem of a long duration for reprogramming the memory cartridge also holds in the field, however mostly in a reduced form, as normally a memory cartridge will comprise a plurality of program files, e.g. each for a different vehicle type and/or for diagnosing different parameters, while a client in the field will normally only update one or a few of the plurality of program files, thus will only reprogram a small part of the memory. The invention intends to at least partly take away the problems of the prior art and to provide a method and software tool for fast and reliable programming of the memory of the automotive diagnostic instrument. To achieve this goal, the method for programming a memory of the automotive diagnostic instrument comprises: a. partitioning the memory into a plurality of sectors; b. partitioning the program file into a plurality of sectors; c. reading a contents of a sector of the memory; d. comparing the contents of the sector of the memory with a contents of a corresponding sector of the program file; and if the contents of the sector of the memory is not equal to the contents of the sector of the program file: e. erasing the sector of the memory; and f. writing the contents of the sector of the program file into the sector of the memory; the method further comprising the step of g. repeating steps c, d, e and f for all sectors of the memory corresponding to a sector of the program file. The memory is partitioned into a plurality of sectors preferably having an identical size for ease of programming. The program file is also partitioned into a plurality of sectors, a size of the sector of the program file preferably corresponding to a size of .a sector of the memory, however in an alternative preferred embodiment a sector of the program file could correspond to a plurality (i.e. two or more) of sectors of the memory or visa versa. The partitioning can take place each time the programming of the memory according to the method of the invention is performed, however it is also possible that the partitioning is performed once, i.e. during production of the memory and/or the program file . After the partitioning, the contents of the sector of the memory is read and compared with the contents of the corresponding sector of the program file. In case that the contents of the sectors are equal, it is not required to program the respective sector of the memory and as a consequence the method can directly proceed with the following sector. Only in case that the contents of the sector of the memory is not equal to the contents of the sector of the program file, the respective sector of the memory needs to be reprogrammed, i.e. by erasing the sector of the memory and writing into this memory sector the contents of the corresponding sector of the program file. Then, the process can continue with a following sector. Thus, only in case that it is established that the contents of the sector of the memory is not equal to the corresponding sector of the program file, an erasing and programming of that sector is performed. Thus, time can be saved as only for the sectors of the memory which require a change of the contents thereof, a time consuming erasing and programming thereof is performed, while in case that it appears that the contents of the memory sector does not need to be updated, the erasing and programming (i.e. writing of rewriting thereof) is skipped. In current memory technology, the steps of erasing and (re) writing of the sector take far more time than reading of the contents of the memory sector and comparing thereof with the corresponding sector of the program file. Thus, the less sectors need to be programmed, the more time is saved in comparison with the state of the art in which the program file is programmed in full into the memory. As only those sectors of the memory are rewritten of which a contents does not correspond with a contents of corresponding sectors of the program file, it can be prevented that the full contents of the program file is transferred to the memory, i.e. in a practical implementation is transferred from a personal computer on which a software tool for the programming is running, via a connection such as an RS232-connection or a USB-connection to an adapter connected to the memory cartridge. Hence, illegal copying of the program file is effectively prevented, as only certain sectors of the program file, instead of the program file in full according to the state of the art, are transferred from the personal computer to the cartridge. The comparing according to step d may comprise the step of reading a version indicator of at least a part of the program in the memory and comparing the version indicator with a version indicator of at least a part of the program file. In this manner, the comparing can be performed fast and preferably for a plurality of sectors simultaneously, as the fact that a version of the software in the memory appears to be identical to a version of the software of the program file, implies that no erasing and rewriting of the sector (and also of other sectors of the memory in which the remainder of the program file is resident) , is required. Further, comparing versions obviates transfer of the respective part of the program file to or from the adapter, thus reducing a risk of eavesdropping or monitoring the program file, hence further_preventing illegal copying. Alternatively, step d may comprise the step of comparing the contents of the sector of the memory with the contents of a corresponding sector of the program file which preferably is performed on a bit by bit basis. In this manner, a reliable comparison is performed. Advantageously, a size of the sectors of the memory is chosen to be smaller than a size of the program file. As the size of the sector is chosen to be smaller than the size of the program file, the program file will be stored in a plurality of sectors of the memory. As for each sector the contents of the memory is compared with the contents of the corresponding sector of the program file, a decision whether or not to erase the respective sector of the memory and rewrite it can be taken each time for a sector corresponding to a part of the program file. Thus, in an example where the program file to be programmed comprises an updated version of the program file, and a difference between the previous version of the program file and the current version of the program file resides in a part of the program file, according to the invention unchanged parts of the memory will not be erased and rewritten, thus saving programming time and avoiding transmitting of the contents of the program file as a whole to the memory of the automotive diagnostic instrument. More preferably, the size of the sector of the memory is chosen to be equal to a size of a sector of the memory, comprising e.g. a memory devices, thus providing for an efficient process, as the memory is commonly read-out per sector also. Advantageously, the program file comprises a generic part which is substantially identical for various software applications in the memory and an application specific part comprising application specific software, comprising the further steps of: identifying sectors of the memory in which the generic part is to be stored; identifying sectors of the memory in which a generic part of an other application specific part is stored; performing steps c to g for all sectors of the memory in which the generic part is stored or is to be stored; identifying sectors of the memory in which the application specific part is to be stored; and performing steps c to g for all sectors of the memory in which the application specific part is to be stored. In the memory, advantageously a plurality of program files is stored, e.g. for a plurality of applications, functionality's, etc.. Each of these program files advantageously comprises a generic part and an application specific part. When one of the program files is to be updated or when an additional program file is to be stored in the memory, the situation might occur that the generic part of the program file to be stored in the memory differs, e.g. is of a more recent date, or of a more recent version, than the generic parts of the program files already stored in the memory. As the sectors of the memory in which generic parts of other applications are stored, are identified, and if required, updated, the advantage is achieved that these generic parts are brought to a desired version also. It is possible that the version numbers of the generic parts as stored in the memory are compared with a version number of the generic part of the program file to be programmed into the memory, or alternatively it is possible that a comparison is made on a bit by bit basis, on a basis of a release date of the generic part of the program file, or any other suitable parameter. In some applications, a requirement of the application might be that all generic parts are of a same version, which requirement is complied with the advantageous embodiment of the invention as described, as all generic parts in the memory are advantageously updated in conformity with the generic part of the program file to be programmed into the memory. Advantageously, the matter comprises to further step of partitioning sectors into sub-sectors if during step d it is established that the contents of the current sector of the memory is not equal to the contents of the corresponding sector of the program file. Further, the method advantageously comprises the further step of grouping together following sectors if during step d it is established that the contents of the current sector of the memory is equal to the contents of the corresponding sector of the program file. Thus, an adaptive algorithm is obtained which partitions sectors into sub-sectors when it is established that the contents of the current memory sector does not equal the contents of the corresponding program file sector, and/or advantageously following sectors are grouped together (i.e. effectively increasing a size of the sector) when the contents of the current memory sector equals the contents of the corresponding program file sector. In case that the sectors of the program file and the memory appear to equal each other, following sectors could be grouped together, as in that case it is likely that these sectors will equal each other too. In this manner, a speed of the comparison of a remainder of the program file with the remainder of the memory in which the program file is or might be stored, can be shortened as due to the larger, grouped together, sectors, comparison speed can be increased. On the contrary, if it is established that the memory sector and the corresponding program file sector are not equal, the sector, or alternatively subsequent sectors can be partitioned into sub-sectors, such that further comparisons of the contents is made on a basis of the sub-sectors, thus being able to find out if a sub-sector of the memory might equal a sub-sector of the program file, thus avoiding a need to erase the sub-sector and write the contents of the corresponding sub-sector of the program file into the sub-sector of the memory. It is possible that the grouping together of sectors and/or the partitioning of sectors into sub-sectors is performed for a following sector resp. following sectors, however it is also possible that the current sector is also included in the process of partitioning into sub-sectors and/or the grouping together of sectors . Advantageously, the method comprises the further steps of: storing an outcome of step d for each sector; and programming an other memory by repeating steps e and f for the other memory for all sectors of which the stored outcome establishes that the contents of the sector of the memory is not equal to the contents of the sector of the program file. Thus, a plurality of memory can be programmed while the . comparing of the contents of the respective sectors of the memory and the program file is performed only once. This advantageous embodiment is advantageously applied for a plurality of memories which are identically programmed. As the comparing of the contents of the sector and the associated reading thereof, does not need to be performed again for all following memories, further time saving can be achieved and thus programming speed for programming the other memory or memories can be increased. Step c is advantageously performed by reading the contents of the sector of the memory from the memory itself. In an alternative embodiment step c may comprise the step of reading the contents of the sector from a file corresponding to the contents of at least the sector of the memory. If a file which represents the contents of the sector (S) of the memory is available, reading the contents thereof instead of reading the contents from the memory might be faster, as in an advantageous embodiment where the comparing is performed in e.g. a personal computer, reading of the contents of the sector from a file available to the personal computer might be faster than reading the contents of the sector from the memory itself, as it should be transferred from the memory via a suitable connection to the personal computer. Also, in this manner a risk of illegal copying of the software could be reduced further, as it is prevented that the contents of the sector is sent from the memory to the programming tool (e.g. the personal computer), thus eliminating a risk of monitoring of the contents of the sector. The invention further comprises a software tool for programming a memory of an automotive diagnostic instrument, the tool comprising software instructions for, when running on a processing unit, establishing a connection between the processing unit and the memory of the automotive diagnostic instrument, and performing the method according to the invention. The processing unit can be comprised in the automotive diagnostic instrument, obviating a need for additional, external hardware (such as a personal computer) for programming the memory. Alternatively, the processing unit can be comprised in a unit separate from the diagnostic instrument, the unit e.g. comprising a personal computer. Further advantages and features of the invention will become clear from the following description and appended drawing, in which a non-limiting embodiment of the invention is shown, in which: Fig. la and fig. lb show embodiments of a set-up for programming a memory of an automotive diagnostic instrument according to the invention; Fig. 2 shows a flow diagram of the method according to the invention; and Fig. 3 highly schematically depicts the contents of a memory and a program file. Fig. la shows a personal computer 1 which is connected via a suitable connection 2, such as an USB-connection, RS232-connection or a fire-wire connection to a programming device 3. The programming device 3 comprises suitable connection means, in this example a programming slot 3a into which a memory cartridge 4 can be placed. The memory cartridge 4 comprising a memory such as an (electrically) erasable read only memory (EPROM or EEPROM) or a flash-memory can, when programmed with suitable software, be connected to an automotive diagnostic instrument 5 (via any suitable connection known per se) . Of course, it is also possible that the memory is comprised in the diagnostic instrument 5. The automotive diagnostic instrument 5 can comprise any diagnostic instrument, such as a serial diagnostics communication device, an emissions tester, a battery tester, an information system, a diagnostic engine tester, an information system coupled with instrumentation such as a multi-meter or an oscilloscope. In the exemplary embodiment as depicted in fig. 1, the automotive diagnostic instrument 5 is connected to a vehicle 6 via a serial diagnostic communication link 7. The personal computer 1 is provided with suitable software (not shown, however the function of which will be explained with reference to fig. 2 below) , for programming the memory cartridge 4 when connected to the programming device 3. The software tool for programming the memory can be resident and operational in the personal computer 1, in the programming device 3 or in a combination thereof, i.e. some parts of the programming being performed by the personal computer 1, while other steps of the method, i.e. other parts of the programming being performed by the programming device 3, as will be explained in more detail below. In an alternative embodiment as schematically depicted in fig. lb, an automotive diagnostic instrument 5 is shown which is connectable via a suitable connection means 7, such as a serial diagnostic communication link, to an automotive vehicle 6. The automotive diagnostic instrument 5 comprises a memory 4 which is connectable for establishing a data communication with processing means 8. Also, an input device 9 is provided which is operationally connectable to the processing means 8 for establishing data communication between them. The input device 9 can comprise any suitable input device for input in data, such as a memory card reader, for reading a memory storage card such as an SD, MM, or any other suitable memory card, an optical disc reader for reading an optical disc such as a CD-ROM, a DVD-ROM or any other optical media, a magnetic reading device for reading a magnetic data storage media such as a floppy disc or (replaceable) hard disk, a communication connection for optically, electrically or radiographically receiving data from a transmitter or any other suitable input device. In the embodiment as depicted in fig. lb, the software tool for programming the memory resides in the diagnostic instrument 5. The operation of the set-up according to fig. la as well as according to fig. lb will now be explained with reference to fig. 2. In fig. 2, in step 100 the memory is partitioned into a plurality of sectors. In step 101, the program file is partitioned into a plurality of sectors. The sectors of the program file preferably have a same size as the sectors of the memory however it is also possible that the sectors of either one of the memory or the program file are a multiple in size of the other sector, i.e. of the other one of the program file and the memory. Then, in step 102 the contents of the sector of the memory is read. In step 103, the contents of the memory sector is compared with the contents of the corresponding sector of the program file. If the content of these files is equal, the method proceeds with step c for a following sector of the memory. If however, the contents of the memory sector is not equal to the contents of the program file sector, then in step 104 the memory sector is erased and in step 105 the contents of the sector of the program file is written, i.e. programmed into the memory sector. Then, the process continues with step 102 for reading a contents of a following sector of the memory. Steps 100 and 101 can be performed simultaneously, or step 100 can precede step 101, or visa versa. The comparison as performed in step 103 can comprise a comparing of the contents of the memory sector with the contents of a corresponding sector of the program file on a bit by bit or byte by byte basis. Alternatively, an indicator indicative of a version of the program in the memory, or part thereof, and an indicator indicative of a version of at least part of the program file, can also be compared with each other, providing a quick comparison as a same version will imply that no erasing and rewriting of steps 104 and 105 need to be performed for that sector, as due to the same version numbers in at least the sector of the program file and the memory, no update is required as identical version numbers imply that the software in these sectors is already the same. In case that from the comparison of the versions it appears that the versions are not the same, the comparison of step 103 can proceed with a comparing of the contents of the memory sector and the program file sector on a bit by bit, byte by byte or any suitable basis. Thus, it is then established, in case of different version numbers, if differences in the sector exist thus necessitating an erasing and rewriting of the sector in steps 104 and 105. Should, despite the different version numbers the comparison of the memory sector and the program file sector establishes that these sectors are already equal, then, despite the different version indicators, the process can continue with step 102 for a following sector of the memory. The memory can comprise one program file, however, as schematically depicted in fig. 3, it is also possible that the memory comprises a plurality of program files. In fig. 3, the contents of the memory is schematically indicated by 300. The memory is partitioned into a plurality of sectors 300a, 300b, 300c, .... The memory 300 is programmed with a first program file pi, a second program file p2 and a third program file p3. As is schematically depicted in fig. 3, each program file pi, p2, p3, spans a plurality of sectors of the memory, i.e. a size of the sectors of the memory is chosen to be smaller than a size of the program file. Each of the program files pi, p2, p3 as programmed in the memory 300 comprises a generic part, respectively indicated as gl, g2 and g3 and an application specific part, respectively indicated as si, s2 and s3. The generic parts are identical for the software applications pi, p2 and p3 in the memory. The generic parts can e.g. comprise authentication and set-up software, or any other generic function of the software. The application specific parts comprise software- instructions specific for a particular application, i.e. for a particular type of vehicle, for testing a particular parameter, for performing tests according to a specific protocol, etc. Assume now that the program p3 is to be updated. In an advantageous embodiment of the invention, sectors of the memory in which the generic part of p3, i.e. g3, is located are identified as well as sectors in which the generic parts of pi and p2, i.e. gl and g2 are located, are identified. Then, steps 102, 103, and if required 104 and 105 are performed for all sectors of gl, g2 and g3, thus upgrading all generic parts of the memory 300. Further, the sectors of the memory in which the application specific part of the program p3 is to be downloaded, i.e. the sectors s3, are identified. Then, steps 102 and 103, and if required 104 and 105 are performed for the sectors of the application specific part s3. As depicted in fig. 3, the program file
301 is also partitioned into sector 301a, 301b, 301c,
Advantageously, a size of the sector of the program file 301 corresponds to the size of the memory sector 300, however the size of the program file 301 can also be a multiple of the size of the memory sector 300 or visa versa. If the comparison is performed making use of a contents of a file which represents a contents of sectors of the memory, instead of reading the contents of the memory sectors themselves, sectors of the file representing the contents of the memory sectors can be a multiple of the size of the memory sector 300 for speeding up the comparison process. If in the comparison process a difference between the contents of the program file and the contents of the memory (as represented by the file) is detected, then the sector which corresponds to the location where the difference has been detected, can be calculated and this sector can be programmed into the memory anew. All sectors can have an equal size, however it is also possible that sectors are grouped together if in step 103 it is established that contents of the memory sector and the corresponding program file sector are identical, or a sector can be partioned into sub-sectors if in step 103 the opposite has been found. Instead of only programming a single memory 4, it is also possible to program other, identical memories by repeating steps e and f for the other memories for the sectors of which it has been established that the memory sector contents is an equal to the program file sector contents corresponding to it. The programming of the other memories can be performed by successively connecting these memories to the programming device 3, however instead thereof also parallel programming is possible, e.g. making use of a programming device 3 comprising a plurality of connection facilities or slots 3a for connecting a plurality of memories 4 thereto. In step 102, the contents of the sector of the memory can be read from the memory itself, or may be read from a file which comprises the same data as present in the memory (or at least in the sector to be read) . The software tool as running e.g. on the personal computer 1 in fig. la comprises software instructions for establishing a connection between the personal computer 1 and the memory 4 (via the programming device 3) , and for performing the method steps according to the invention. The software tool can be resident and be executed by the personal computer 1, i.e. steps 100-105 being initiated by and/or controlled by the personal computer 1, however it is also possible that one or more, or even all of these steps are controlled by and/or performed in the programming device 3. In a more preferred embodiment, the comparison according to step 103 is performed by the programming device 3. For performing the comparison, a sector is to be read from the memory first (step 102) . For establishing the comparison, two items are required: the contents of the sector of the memory as read in step 102 as well as the contents of the sector of the program file which e.g. is present in the personal computer. If the comparison takes place in the programming device 3, the sector of the program file is to be transferred from the personal computer to the programming device 3. If however the comparison is to be performed by the personal computer, the contents of the sector of the memory is to be transferred from the programming device to the personal computer 1. In a practical implementation, a speed of transfer from the personal computer to the programming device and vice versa will be substantially equal. However, if the comparison is performed in the programming device 3, an additional advantage arises: if it is established during the comparison that the contents of the sectors are not equal, programming of the respective sector of the memory can be initiated fast, as it is not required anymore to transfer the contents of the respective sector of the program file from the personal computer to the programming device, as it is already transferred thereto. Thus, total programming time can be reduced. In the embodiment according to fig. lb, the method as described with reference to fig. 2 is executed by the processing means 8. Thus, no external programming device and/or computer is required for programming the memory 4. The processing means 8 in the automotive diagnostic instrument 5 can comprise existing processing means of the automotive diagnostic instrument 5. In the embodiment according to fig. lb, e.g. software instructions for executing the method according to the invention are executed by the processing means 8, hence reading the program file, or part thereof from the input device 9 and comparing it in the manner described above with a contents of the memory 4 or one or more sectors thereof or with a contents of another file in or available to the automotive diagnostic instrument 5 representing a contents of the memory 4. An advantage of the set-up as described with reference to fig. lb is that no external hardware (programmer, personal computer etc.) is required, except for a data carrier containing the program file which is to be read out by the input device 9, which implies that programming can easily be performed in the field.

Claims

1. A method for programming a memory of an automotive diagnostic instrument with a program file, the method comprising: a. partitioning the memory into a plurality of sectors; b. partitioning the program file into a plurality of sectors; c. reading a contents of a sector of the memory; d. comparing the contents of the sector of the memory with a contents of a corresponding sector of the program file; and if the contents of the sector of the memory is not equal to the contents of the sector of the program file: e. erasing the sector of the memory; and f. writing the contents of the sector of the program file into the sector of the memory, the method further comprising the step of g. repeating steps c, d, e and f for all sectors of the memory corresponding to a sector of the program file.
The method according to claim 1, wherein step d comprises the step of reading a version indicator of at least a part of the program in the memory and comparing the version indicator with a version indicator' of at least a part of the program file.
The method according to claim 1, wherein step d comprises the step of comparing the contents of the sector of the memory with the contents of a corresponding sector of the program file.
4. The method according to any of the preceding claims wherein a size of the sectors of the memory is chosen to be smaller than a size of the program file.
5. The method according to any of the preceding claims, wherein the program file comprises a generic part which is substantially identical for various software applications in the memory and an application specific part comprising application specific software, comprising the further steps of: identifying sectors of the memory in which the generic part is to be stored; identifying sectors of the memory in which a generic part of an other application specific part is stored; performing steps c to g for all sectors of the memory in which the generic part is stored or is to be stored; identifying sectors of the memory in which the application specific part is to be stored; and performing steps c to g for all sectors of the memory in which the application specific part is to be stored.
6. The method according to any of the preceding claims, comprising the further step of: partitioning sectors into sub-sectors if during step d it is established that the contents of the current sector of the memory is not equal to the contents of the corresponding sector of the program file.
7. The method according to any of the preceding claims, comprising the further step of: grouping together following sectors if during step d it is established that the contents of the current sector of the memory is equal to the contents of the corresponding sector of the program file.
8. The method according to any of the preceding claims, comprising the further steps of: storing an outcome of step d for each sector; and programming an other memory by repeating steps e and f for the other memory for all sectors of which the stored outcome establishes that the contents of the sector of the memory is not equal to the contents of the sector of the program file.
9. The method according to any of the preceding claims, wherein step c comprises the step of reading the contents of the sector from a file corresponding to a contents of at least the sector of the memory.
10. A software tool for programming a memory of an automotive diagnostic instrument, the tool comprising software instructions for, when running on a processing unit, - establishing a connection between the processing unit and the memory of the automotive diagnostic instrument; and - performing the method according to any of claims 1 - 9.
11. An automotive diagnostic instrument comprising the tool according to claim 10.
PCT/NL2004/000176 2004-03-11 2004-03-11 Diagnostic instrument memory programming method and tool WO2005088447A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/NL2004/000176 WO2005088447A1 (en) 2004-03-11 2004-03-11 Diagnostic instrument memory programming method and tool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/NL2004/000176 WO2005088447A1 (en) 2004-03-11 2004-03-11 Diagnostic instrument memory programming method and tool

Publications (1)

Publication Number Publication Date
WO2005088447A1 true WO2005088447A1 (en) 2005-09-22

Family

ID=34957160

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/NL2004/000176 WO2005088447A1 (en) 2004-03-11 2004-03-11 Diagnostic instrument memory programming method and tool

Country Status (1)

Country Link
WO (1) WO2005088447A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1837755A1 (en) * 2006-03-22 2007-09-26 Kabushi Kaisha Toshiba Information processing apparatus
EP2227741A2 (en) * 2007-12-31 2010-09-15 Datalogic Mobile, Inc. Systems and methods for configuring, updating, and booting an alternate operating system on a portable data reader

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763305A (en) * 1985-11-27 1988-08-09 Motorola, Inc. Intelligent write in an EEPROM with data and erase check
US5383146A (en) * 1992-06-08 1995-01-17 Music Semiconductors, Inc. Memory with CAM and RAM partitions
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763305A (en) * 1985-11-27 1988-08-09 Motorola, Inc. Intelligent write in an EEPROM with data and erase check
US5383146A (en) * 1992-06-08 1995-01-17 Music Semiconductors, Inc. Memory with CAM and RAM partitions
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Atmel AT29 Flash Memories", INTERNET ARTICLE, October 1998 (1998-10-01), XP002291925, Retrieved from the Internet <URL:http://www.atmel.com/dyn/resources/prod_documents/DOC0572.PDF> [retrieved on 20040809] *
JOHN R. LEVINE: "Linkers & Loaders, Chap. 9 Shared Libraries", 2000, MORGAN KAUFMANN, SAN FRANCISCO, XP002292801 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1837755A1 (en) * 2006-03-22 2007-09-26 Kabushi Kaisha Toshiba Information processing apparatus
US8250560B2 (en) 2006-03-22 2012-08-21 Kabushiki Kaisha Toshiba Information processing apparatus
EP2227741A2 (en) * 2007-12-31 2010-09-15 Datalogic Mobile, Inc. Systems and methods for configuring, updating, and booting an alternate operating system on a portable data reader
EP2227741A4 (en) * 2007-12-31 2011-10-05 Datalogic Mobile Inc Systems and methods for configuring, updating, and booting an alternate operating system on a portable data reader
US9298479B2 (en) 2007-12-31 2016-03-29 Datalogic ADC, Inc. Systems and methods for configuring, updating, and booting an alternate operating system on a portable data reader

Similar Documents

Publication Publication Date Title
US7774382B2 (en) Method and apparatus for configuring a control device, and corresponding control device
US6598114B2 (en) Electronic control unit including flash memory and method and apparatus for storing control data group into flash memory
RU2142168C1 (en) Method for complete rewriting of cleared non- volatile memory
US5473540A (en) Electronic controller for vehicle
US8458689B2 (en) Method and apparatus for reprogramming engine controllers
US7003621B2 (en) Methods of sanitizing a flash-based data storage device
US6560703B1 (en) Redundant updatable self-booting firmware
US20090187305A1 (en) Method of detecting manipulation of a programmable memory device of a digital controller
JP2000513842A (en) Method of operating a control device with programmable storage
EP0557968A2 (en) Method of rewriting data in EEPROM, and EEPROM card
JPH09506460A (en) Safe updating method for EEPROM memory
US20060218340A1 (en) Data validity determining method for flash EEPROM and electronic control system
US7904896B2 (en) Program rewriting system, boot loader, storage medium, and electronic control unit
CN111813432A (en) FPGA configuration upgrading method and FPGA platform
JP4492025B2 (en) Data storage method for electronic control unit
WO2020178323A1 (en) Automotive bootloader
US20170262180A1 (en) Integrated control of write-once data storage devices
WO2005088447A1 (en) Diagnostic instrument memory programming method and tool
US20140074316A1 (en) Electronic control unit of vehicle
GB2247757A (en) Electronic controller for vehicle
JP4060245B2 (en) MEMORY MANAGEMENT DEVICE AND IC CARD HAVING THE SAME
US20030065470A1 (en) Method for in-service RAM testing
CN111696598B (en) Storage device and low-level formatting method thereof
US20060156297A1 (en) Method and device for modifying software in a control unit and corresponding control unit
US20050034034A1 (en) Control device with rewriteable control data

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase