A memory rewriting system for a vehicle controller is provided. The memory
rewriting system transfers a first program from a rewriting device to the
vehicle to rewrite a second program stored in a memory of the vehicle
controller with the first program. The first program is transferred as
data blocks. Each of the data blocks includes a program code field, a
first address field and a second address field. The program code field
contains a partial program code of the first program. The first address
field contains a leading address of the memory in which the partial
program code is stored. The second address field contains a leading
address of the memory in which a following partial program code
transferred by another block is to be stored. The data blocks are
assembled in the rewriting device. Each data block is may be a fixed
length or a variable length. When the data block is transferred to the
vehicle controller, a first address in the first address field of the
current transferred data block is compared with a second address in the
second address field of the preceding transferred data block. If the first
address included in the current data block is not equal to the second
address included in the preceding data block, it is determined that the
current transferred data block is not correct. The vehicle controller
requests the rewriting device to retransfer a correct data block that has
said second address in the first address field.
Uma memória que reescreve o sistema para um controlador do veículo é fornecida. A memória que reescreve o sistema transfere um primeiro programa de um dispositivo reescrevendo ao veículo para reescrever um segundo programa armazenado em uma memória do controlador do veículo com o primeiro programa. O primeiro programa é transferido como blocos dos dados. Cada um dos blocos dos dados inclui um campo do código do programa, um primeiro campo de endereço e um segundo campo de endereço. O campo do código do programa contem um código parcial do programa do primeiro programa. O primeiro campo de endereço contem um endereço principal da memória em que o código parcial do programa é armazenado. O segundo campo de endereço contem um endereço principal da memória em que um seguinte código parcial do programa transferiu por um outro bloco deve ser armazenado. Os blocos dos dados são montados no dispositivo reescrevendo. Cada bloco dos dados é pode estar a um comprimento fixo ou a um comprimento variável. Quando o bloco dos dados é transferido ao controlador do veículo, um primeiro endereço no primeiro campo de endereço do bloco transferido atual dos dados está comparado com um segundo endereço no segundo campo de endereço do bloco transferido precedendo dos dados. Se o primeiro endereço incluído no bloco atual dos dados não for igual ao segundo endereço incluído no bloco precedente dos dados, determina-se que o bloco transferido atual dos dados não está correto. O controlador do veículo pede o dispositivo reescrevendo para retransferir um bloco correto dos dados que diga em segundo o endereço no primeiro campo de endereço.