BRPI0920595B1 - processo para a transferência de códigos de programa para a memória de um aparelho de comando, especialmente para veículos automotores - Google Patents

processo para a transferência de códigos de programa para a memória de um aparelho de comando, especialmente para veículos automotores Download PDF

Info

Publication number
BRPI0920595B1
BRPI0920595B1 BRPI0920595A BRPI0920595B1 BR PI0920595 B1 BRPI0920595 B1 BR PI0920595B1 BR PI0920595 A BRPI0920595 A BR PI0920595A BR PI0920595 B1 BRPI0920595 B1 BR PI0920595B1
Authority
BR
Brazil
Prior art keywords
program
memory
control device
program codes
program code
Prior art date
Application number
Other languages
English (en)
Inventor
Kanzler Ulrich
Fischer Uwe
Original Assignee
Knorr Bremse Systeme Fuer Nutzfahrzeuge Gmbh
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 Knorr Bremse Systeme Fuer Nutzfahrzeuge Gmbh filed Critical Knorr Bremse Systeme Fuer Nutzfahrzeuge Gmbh
Publication of BRPI0920595A2 publication Critical patent/BRPI0920595A2/pt
Publication of BRPI0920595B1 publication Critical patent/BRPI0920595B1/pt

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stored Programmes (AREA)

Abstract

processo para a transferência de códigos de programa para a memória de um aparelho de comando, especialmente para veículos automotores a presente invenção refere-se à transferência do código de programa para uma memória de programa de um aparelho de comando, especialmente para veículos automotores, inicialmente serão deletadas todas as células da memória de programação e preferencialmente serão sobrescritas com código de programa inválido (illegal opcode). códigos de programa válidos serão comprimidos de acordo com um processo de compressão de dados, isento de perdas e especialmente a codificação huffman, sendo desta forma transferida para o aparelho de comando, onde serão correspondentemente descomprimidos e registrados na memória do programa do aparelho de comando. o valor para códigos de programa inválidos está memorizado no aparelho de comando como valor (default) ou será no máximo transferido uma vez do aparelho de programação para o aparelho de comando. com estas medidas, o volume de dados a ser transferido e, portanto, o tempo para a transferência do código de programa será essencialmente reduzido.

Description

Relatório Descritivo da Patente de Invenção para PROCESSO PARA A TRANSFERÊNCIA DE CÓDIGOS DE PROGRAMA PARA A MEMÓRIA DE UM APARELHO DE COMANDO, ESPECIALMENTE PARA VEÍCULOS AUTOMOTORES.
Descrição [001] A presente invenção refere-se a um processo para a transferência de códigos de programa para uma memória de programa de um aparelho de comando, de acordo com o preâmbulo da reivindicação 1. Um processo desta natureza já passou a ser conhecido a partir do documento DE n° 10 2006 016 891 A1.
[002] Veículos automotores modernos contêm um ou vários aparelhos de comando eletrônicos, apresentando uma memória de programa que pode ser programada quando estiver montado o aparelho de comando, isto é, poderá ser alimentado com códigos de programa. A memória de programa, em caso normal, é uma chamada memória Flash que frequentemente também está integrada em um micro controlador.
[003] Os aparelhos de comando convencionais contêm uma interface, também denominada interface de diagnóstico, que é usada para a transferência de comandos e dados. Como interface é frequentemente usado um chamado Bus CAN, um protocolo de diagnóstico convencional UDS, de acordo com a ISO 14229. Estes são apenas mencionados como exemplo, porque existe uma grande variedade de outras interfaces e protocolos.
[004] No aparelho de comando geralmente também está integrado um software de diagnóstico que através da interface de diagnóstico oferece comandos para deletar e para programar a memória de programa. Este software frequentemente é designado em inglês como Bootloader.
[005] Para a comunicação com o aparelho de comando é usado
Petição 870190088297, de 06/09/2019, pág. 6/23
2/12 um aparelho de programação que através da peça contrária necessária é disponibilizado com a interface de diagnóstico no aparelho de comando. Um aparelho de programação desta maneira frequentemente também é designado como aparelho de diagnóstico ou teste de diagnóstico. Na prática, este aparelho de programação frequentemente é um computador pessoal CP como, por exemplo, um Laptop.
[006] Na programação de aparelhos de comando são transferidos volumes de dados bem grandes para códigos de programa, o que com o processo atual demanda muito tempo. Aparelhos de comando de veículos automotores frequentemente são aparelhos de comando universais que são programados na produção do veículo automotor, no fim da série individualmente para o respectivo veículo automotor. O tempo necessário para a programação do aparelho de comando é, portanto, um fator crítico para a produção do veículo automotor e deverá ser o mais curto possível.
[007] Também durante a operação do veículo automotor, na prática, terão de serem alterações (os chamados Upgrades) do software que normalmente é realizado em uma oficina. Também aqui, o tempo necessário para a nova programação do aparelho de comando deve ser o mais curto possível.
[008] O documento inicialmente citado DE n° 10 2006 016 891 A1 se ocupa com a alteração posterior do software de um aparelho de comando e diferencia entre um software de série e um software Upload. Para diminuir o esforço para o recarregamento do software Upload é ali proposto prever duas regiões de memória separadas, ou seja, uma para o software de série e uma para o software Upload. Para ampliar a funcionalidade do aparelho de comando será depois necessário apenas transferir o software Upload na região da memória separada e não o software completo.
[009] Para a programação inicial do aparelho de comando, não
Petição 870190088297, de 06/09/2019, pág. 7/23
3/12 resultam assim quaisquer vantagens.
[0010] Constitui objeto da presente invenção, aprimorar o processo da espécie inicialmente citada, no sentido de que o tempo para a transferência de códigos de programa para a memória do aparelho de comando seja essencialmente reduzido.
[0011] Esta tarefa será solucionada pelas características indicadas na reivindicação 1. Modalidades vantajosas e ampliações da invenção podem ser depreendidas das reivindicações dependentes.
[0012] A ideia básica da presente invenção reside em que antes de registrar os códigos do programa na memória no aparelho de comando, todas as células da memória seriam ajustadas para um valor padrão (default); em seguida, os códigos de programa seriam transferidos pelo aparelho da programação, dentro do aparelho de programação, seriam submetidos a um processo de compressão de dados, isento de perdas, de preferência de acordo com o código Huffman, [0013] em seguida, os códigos de programa comprimidos seriam transferidos para o aparelho de comando, [0014] em seguida, os códigos de programa seriam descompactados e [0015] finalmente, os códigos de programa compactados seriam memorizados na memória do aparelho de comando.
[0016] Pelo ajuste de todas as células da memória para o valor padrão é assegurado que não esteja presente na memória nenhum código de programa falho. Pela transmissão dos códigos de programa comprimidos, o volume de dados a ser transferido será essencialmente reduzido e o mesmo ocorre também com o tempo da transferência. Pela utilização de um processo de compressão de dados, sem perda, também não se apresentam perdas de dados. Para a compressão e descompressão, preferencialmente deverá ser usado uma codificação Huffman que alcança um fator de compressão muito elevado.
Petição 870190088297, de 06/09/2019, pág. 8/23
4/12 [0017] Segundo uma modalidade vantajosa da invenção, no ajuste de todas as células da memória para um valor padrão, este valor padrão será escolhido de tal maneira que contém um código de programa inválido (o chamado illegal Opcode). Em muitos microprocessadores, o seu valor está memorizado no microprocessador. De acordo com o microprocessador usado ou linguagem de programação usada, pode também ser outro valor que depois, em uma fase de inicialização, antes da transferência dos códigos de programa, será transferido pelo aparelho de programação para o aparelho de comando.
[0018] Segundo uma variante da invenção, é possível transferir todo o conteúdo da memória do aparelho de comando, do aparelho de programação para o aparelho de comando, ou seja, também o conteúdo de células de memória não usadas. Todavia, é preferido transferir apenas códigos de programas que forem necessários porque, células de memória não usadas ou regiões de endereços não usados, estarão previamente ocupadas com valor padrão. Desta maneira, o volume de dados a ser transferido será ainda adicionalmente reduzido.
[0019] A seguir, a invenção será explicitada em conexão com um exemplo de execução. As figuras mostram:
[0020] figura 1 um esquema principal de um aparelho de comando e de um aparelho de programação;
[0021] figura 2 um diagrama de fluxo dos passos do processo que decorrem na invenção;
[0022] figura 3a até figura3g uma diferenciação dos diferentes passos para a compressão de dados;
[0023] figura 4 uma representação de passos do processo da compressão de dados, através de um vetor auxiliar; e [0024] figura 5 uma representação de uma árvore de decodificação.
[0025] O aparelho de comando eletrônico 1 da figura 1, designado
Petição 870190088297, de 06/09/2019, pág. 9/23
5/12 com ECU (Electronic control unit - unidade de controle eletrônica) possui uma memória de programa 2, conformada como memória que pode ser deletada e que possibilita proceder a registros. O aparelho de comando 1, através de uma interface 3, pode ser unido com um aparelho de programação 4, que pode ser, por exemplo, um PC como, por exemplo, um laptop. No aparelho de programação 4, estão memorizados códigos de programa que através da interface 3 devem ser transferidos para o aparelho de comando 1. Os códigos de programa estão previstos normalmente como arquivo binário ou arquivo hexa.
[0026] A programação do aparelho de comando 1 se verifica por serem transferidos os códigos de programa, a partir do aparelho de programa 4 para a unidade de comando 1, onde serão memorizados na memória do programa 2.
[0027] Até agora, a programação ou a reprogramação do aparelho de comando se realizava pelo fato de que todo o programa, com os diferentes códigos de programa, foi registrado na memória do programa 2. Células da memória, eventualmente antes ocupadas na memória de programa 2, serão sobrescritas no caso.
[0028] O processo representado na figura 2, de acordo com a invenção, trabalha como segue: em um primeiro passo S1, o aparelho de programa 4, através da interface 3, envia inicialmente um comando para a unidade de comando 1, o chamado Bootloader do aparelho de comando 1, com o qual a memória do programa 2 será deletada. De preferência, este processo de deletar implica em que todas as células da memória de programa 2 serão escritas com códigos de programa inválidos (illegal Opcode). Este código pode estar previamente ocupado como valor padrão (default) na unidade de comando 1. De acordo com o microcomputador usado na unidade de comando 1, também é possível, todavia, transferir este código correspondente do aparelho de comando 3 para o aparelho de comando 1.
Petição 870190088297, de 06/09/2019, pág. 10/23
6/12 [0029] Em um segundo passo S2, os códigos de programa memorizados no aparelho de programa 4 serão submetidos a um processo de compressão isento de perda, ou seja, serão codificados ou comprimidos.
[0030] Os requisitos formulados ao processo da compressão são o consumo mínimo de recursos, especialmente tempo de cálculo, memória de programa e memória de trabalho.
[0031] Muitos módulos de memória existentes somente podem ser programados sem vãos, ou seja, espaços. Em outros módulos da memória terão de ser escritas, no mínimo, regiões predeterminadas, sem espaços ou vãos. Daí resulta o requisito de que os dados descomprimidos, inicialmente precisam estar previstos ao menos em determinadas regiões, isentos de espaços ou vãos. A manipulação desses dados descomprimidos é mais simples quando chegarem isentos de espaços por toda a região da memória a ser programada. Como a memória de trabalho existente do aparelho de comando 1 normalmente é muito menor do que a memória de programa 2, não é possível fazer a descompressão de todos os dados, antes da programação. Portanto, torna-se necessário que os dados a serem transferidos cheguem isentos de espaços ou vãos.
[0032] Para a compressão sem perdas dos códigos de programa a serem transferidos, mostrou ser especialmente adequada à codificação Huffman, já conhecida, na qual, contrário a muitos outros processos de codificação, os dados a serem transmitidos chegam sem espaços, isto é, sem vãos. Com esta codificação ou compressão, poderá ser concretizada uma compressão e descompressão, isentas de perdas dos dados a serem transferidos. No caso, em princípio, frequentemente dados existentes serão codificados em palavras codificadas curtas e dados com menor frequência serão codificados em palavras codificadas mais extensas.
Petição 870190088297, de 06/09/2019, pág. 11/23
7/12 [0033] A eficiência do processo depende da distribuição dos dados a serem transferidos. Quanto mais frequentes estiverem presentes determinados dados, tanto mais frequentes serão usados códigos curtos, sendo, portanto, logrado um fator de compressão mais elevado.
[0034] Através de processos de classificação, será produzida uma árvore, por meio da qual pode ser formado um dicionário para a codificação. A partir desta árvore, poderá ser formulada uma árvore correspondente para a descompressão. Esta árvore ou terá de ser também transferida para a unidade de comando 1 ou poderá ali já estar fixada. Nesta hipótese, naturalmente também para a codificação terá de ser usado o mesmo dicionário.
[0035] Uma variante adaptada, na qual sempre a árvore do código é novamente gerada e transferida, oferece melhores resultados na compressão e requer mais memórias de trabalho na unidade de comando 1, mas menor número de memórias de programa, onde for integrado o dicionário. De acordo com o caso de uso, poderá ser mais vantajosa a variante adaptiva ou não adaptiva.
[0036] Na variante adaptiva, a estrutura da árvore de decodificação será transferida para uma região não comprimida, no começo do fluxo de dados. Em seguida, virá a árvore de decodificação e depois os dados comprimidos.
[0037] De uma maneira lógica, a codificação se verifica para grandezas de dados que representam um múltiplo e um byte (8 Bits). O tamanho da árvore de decodificação cresce acentuadamente com o comprimento (L) das palavras a serem codificadas. A extensão dos sinais codificados, segundo o processo Huffman, pode ser maior para sinais raros do que o comprimento para o sinal não codificado. Como especialmente em uma codificação de 16 Bits, na prática, não ocorre em todos os sinais, a árvore de decodificação poderá ficar correspondentemente menor. Mesmo assim se verifica que regiões de dados
Petição 870190088297, de 06/09/2019, pág. 12/23
8/12 menores serão mais bem codificadas com 8 - bits.
[0038] A codificação de 16 Bits demonstrou em ensaios um fator de compressão mais elevado. Isto, todavia, somente é eficaz a partir de uma quantidade mínima de dados a serem transferidos, porque a própria árvore de decodificação também precisa ser transferida.
[0039] Na variante não adaptiva, de acordo com o local da memorização para a árvore de decodificação, terá de ser disponibilizada na memória de programa não volátil.
[0040] Em seguida, a codificação será explicada com base em um exemplo de execução, em relação com as figuras 3 a 5.
[0041] Inicialmente, para todos os sinais incidentes será determinada a sua frequência o que é explicado no seguinte exemplo.
Frequência 0 0 0 5 8 0 9 22
Sinal 0 1 2 3 4 5 6 7
[0042] No próximo passo serão classificados os sinais, de acordo com a frequência (figura 3a), o que pode ocorrer em uma sequência de classificação decrescente ou crescente. Na sequência decrescente resulta do exemplo acima:
Frequência 22 9 8 5 0 0 0 0
Sinal 7 6 4 3 0 1 2 5
[0043] Os sinais e os respectivos em 0, 1, 2 e 5 com a frequência 0 podem ser eliminados.
[0044] As frequências dos dois sinais com a frequência menor serão somadas e produzem uma nova folha na árvore (figura 3b e figura 3c). Este será aplicado como elemento adicional em uma disposição de estruturas correspondentes e os índices, ou seja, os indicadores serão registrados de acordo com a implementação. No caso, em uma implementação exemplificada folhas não são realmente classificadas, porém serão depositadas em um vetor auxiliar, em forma de indicadores, ou seja, índices das folhas (figura 4). Serão apenas classificadas
Petição 870190088297, de 06/09/2019, pág. 13/23
9/12 aquelas que forem diminuir o trabalho na classificação.
[0045] Na geração de uma nova folha, esta será acrescentada e os dois últimos índices serão removidos e no lugar deles será registrado o índice da nova folha (figuras 3d e 3e).
[0046] Isto é repetido durante tanto tempo, até que permanece ainda um último registro que é direcionado para a ponta da árvore (figuras 3f e 3g).
[0047] Nas figuras 3a, 3d e 3f está representada em forma linear uma árvore correspondente, porque nesta forma é fácil de ser implementado. Com o auxílio desta árvore, podem agora serem geradas as tabelas de codificação e decodificação.
[0048] Baseado no exemplo acima e da figura 3 auto-explicativa resultará então a seguinte tabela de codificação.
Sinal Código Extensão
0 -
1 -
2 -
3 0-1-0 3
4 1-1-0 3
5 -
6 0-0 2
7 1 1
[0049] Por exemplo, para determinar o código para 3, será necessário passar através de 0-1-0, isto é, o comprimento é 3. Daí resulta para os diferentes sinais, o seguinte fator de compressão.
Sinal Extensão Número Bits
3 3 5 15
4 3 8 24
6 2 9 18
7 1 22 22
79 total
Petição 870190088297, de 06/09/2019, pág. 14/23
10/12 [0050] Aqui são necessários, portanto, 79 Bits para codificar os sinais. No caso de uma codificação de 8 Bits seriam necessários, por sua vez, 352 sinais. Desta maneira, resulta um fator de compressão aproximado de 0,22.
[0051] A árvore de decodificação necessária para decodificar será formada pela ponta da árvore (figura 5). Para sinais não existentes, não serão gerados lançamentos. Nesta árvore trata-se novamente de uma relação encadeada. Os códigos a serem decodificados serão analisados da direita para a esquerda, de acordo com a tabela de codificação acima. Nesta direção também serão transmitidos os códigos. No exemplo acima será transferido, portanto, o 4 como 0-1-1.
[0052] Para poder reconhecer se é preciso decodificar em sequência, ou se foi encontrado um sinal válido, as raízes na árvore serão correspondentemente caracterizadas. Para tanto, será suficiente um Bit adicional, por cada lançamento, a fim de diferenciar um sinal válido, de um indicador. Os lançamentos N1 e N2 contêm correspondentemente indicadores ou um sinal decodificado, o que é mostrado na figura 3. O percurso esquerdo significa ali 0 e o direito 1. Esta alocação terá de ser feita de modo idêntico para a codificação. Se no exemplo da figura 3 for recebida a sequência 0-1-1, se acompanhará na decodificação (figura 5) os lançamentos N1, N2, partindo da ponta da árvore (folha esquerda) e será recebido como resultado, o 4.
[0053] O número das folhas na árvore de decodificação é menor ou igual ao número dos sinais a serem codificados. No exemplo mostrado, serão suficientes três folhas para uma árvore de decodificação de quatro códigos. Na implementação escolhida, os lançamentos N1, N2 ou contêm um indicador ou índice, ou contêm os sinais codificados. Para o número dos Bits dos índices resultará, portanto:
[0054] B = Log (L) / Log (2) + 1 = 9 (para codificação de 8 Bits).
[0055] Para arredondar ao próximo número maior inteiro. No caso,
Petição 870190088297, de 06/09/2019, pág. 15/23
11/12
L é o comprimento das palavras a serem codificadas (por exemplo, 8 ou 16).
[0056] O Bit adicional é necessário para diferenciar índices de sinais válidos. Para cada folha são necessários os lançamentos N1 e N2. Desta maneira, resultará um comprimento mínimo da tabela de decodificação de 3*2*9=54 Bits.
[0057] Adicionalmente, ainda terá de ser transmitida a informação sobre a extensão da tabela de decodificação, bem como o número dos Bits B por cada lançamento para a unidade de comando.
[0058] Retornando à figura 2, os códigos de programa assim comprimidos, segundo Huffman, no passo S3, serão transferidos do aparelho de programação 4, através da interface 3, para a unidade de comando 1, em seguida, no passo S4, será feita a correspondente descompressão e no passo S5 será feito o lançamento na memória de programa 2. Finalizando, ainda poderá ser feito um teste dos códigos de programa transmitidos, por exemplo, através de um exame de checar de soma ou um exame redundante cíclico (CRC; cyclic redundancy check) (comparar passo S7). Caso desejado, o resultado deste exame poderá ser informado em processo de retorno, em um passo S8, para o aparelho de programação 4.
[0059] O processo de compressão descrito é tecnicamente simples, porém muito eficaz. Para a compressão são essencialmente apenas necessários processos de classificação simples. A descompressão requer apenas um acompanhamento simples de lançamentos na árvore de decodificação. A compressão será tanto melhor quanto mais irregular se apresentarem os sinais codificados. Nos códigos de programa, a serem codificados para aparelhos de comando de veículos automotores, se trata de códigos para microprocessadores, nos quais, de acordo com a experiência, determinados códigos (Opcodes) aparecem nitidamente com maior frequência do que outros, de manei
Petição 870190088297, de 06/09/2019, pág. 16/23
12/12 ra que o processo de compressão descrito pode atuar muito bem. De acordo com o grau da memória de programa poderá ser adicionalmente lograda uma economia considerável pela não transferência de códigos de programas para regiões não usadas. Pelo emprego de códigos de programa (illegal Opcodes) inválidos para estas regiões, se recebe uma segurança adicional na operação, por ocasião de falhas ou erros de software, já que os microprocessadores, no caso de códigos de programa inválidos, realizam uma interrupção que pode ser usada para o reconhecimento da falha.
[0060] Como na prática, a memória de programa do aparelho de comando não está totalmente cheia e apresenta maiores espaços (vãos) na região dos endereços, será vantajoso de preencher também estes espaços vazios com o valor para o entre illegal Opcode.

Claims (6)

  1. REIVINDICAÇÕES
    1. Processo para a transferência de códigos de programa para uma memória de programa (2) de um aparelho de comando (1), especialmente um veículo automotor, caracterizado pelo fato de que compreende os seguintes passos:
    a) ligação de uma interface (3) de um aparelho de comando (1) para um aparelho de programação (4), contendo os códigos de programa;
    b) ajustar todas as células da memória de programa (2) do aparelho de comando (1) para um valor padrão;
    c) compressão do código de programa do aparelho de programação (4), de acordo com um processo de compressão de dados, sem perdas;
    d) transferência do código de programa comprimido para o aparelho de comando (1);
    e) descompressão do código de programa recebido no aparelho de comando (1); e
    f) memorização do código de programa descomprimido na memória de programa (2) do aparelho de comando (1).
  2. 2. Processo, de acordo com a reivindicação 1, caracterizado pelo fato de que em todas as células de memória não utilizadas da memória de programa (2) do aparelho de comando (1) será registrado um código de programa inválido.
  3. 3. Processo, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que o valor padrão mencionado no passo b), da reivindicação 1 é um código de programa inválido.
  4. 4. Processo, de acordo com a reivindicação 2 ou 3, caracterizado pelo fato de que o código de programa inválido é transferido do aparelho de programação (4) para o aparelho de comando (1).
  5. 5. Processo, de acordo com qualquer uma das reivindica
    Petição 870190088297, de 06/09/2019, pág. 18/23
    2/2 ções 1 a 4, caracterizado pelo fato de que do aparelho de programação (4) serão transferidos apenas os códigos de programa válidos, em sequência, para o aparelho de comando (1), enquanto que o valor do código de programa inválido, no máximo, será transferido uma vez.
  6. 6. Processo, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que a compressão e a descompressão dos códigos de programa se verificará de acordo com a codificação Huffman.
BRPI0920595 2008-10-23 2009-10-12 processo para a transferência de códigos de programa para a memória de um aparelho de comando, especialmente para veículos automotores BRPI0920595B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102008052955A DE102008052955B4 (de) 2008-10-23 2008-10-23 Verfahren zur Übertragung von Programmcodes an einen Speicher eines Steuergerätes, insbesondere für Kraftfahrzeuge
PCT/EP2009/007313 WO2010046043A1 (de) 2008-10-23 2009-10-12 Verfahren zur übertragung von programmcodes an einen speicher eines steuergerätes, insbesondere für kraftfahrzeuge

Publications (2)

Publication Number Publication Date
BRPI0920595A2 BRPI0920595A2 (pt) 2015-12-29
BRPI0920595B1 true BRPI0920595B1 (pt) 2019-11-26

Family

ID=41401972

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0920595 BRPI0920595B1 (pt) 2008-10-23 2009-10-12 processo para a transferência de códigos de programa para a memória de um aparelho de comando, especialmente para veículos automotores

Country Status (7)

Country Link
US (1) US8782328B2 (pt)
EP (1) EP2340486A1 (pt)
CN (1) CN102197375B (pt)
BR (1) BRPI0920595B1 (pt)
DE (1) DE102008052955B4 (pt)
RU (1) RU2534927C2 (pt)
WO (1) WO2010046043A1 (pt)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010009263B4 (de) * 2010-02-25 2012-04-12 Knorr-Bremse Systeme für Nutzfahrzeuge GmbH Verfahren zur Datenübertragung zu einem elektronischen Steuergerät
DE102011100106A1 (de) 2011-04-30 2012-10-31 Daimler Ag System zur Diagnose einer Komponente in einem Fahrzeug
DE102011079399A1 (de) * 2011-07-19 2013-01-24 Bayerische Motoren Werke Aktiengesellschaft Steuervorrichtung für ein Kraftfahrzeug, Programmiervorrichtung und Programmiersystem
US9219499B2 (en) 2014-05-16 2015-12-22 Robert Bosch Gmbh Run time compression method for a vehicle communication bus
US9694766B2 (en) 2015-06-16 2017-07-04 Ford Global Technologies, Llc Compression algorithms for vehicle-bus-messaging of preview data
US11338816B2 (en) * 2019-02-02 2022-05-24 Ford Global Technologies, Llc Over-the-air flashing and reproduction of calibration data using data regression techniques

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4021782A (en) * 1974-01-07 1977-05-03 Hoerning John S Data compaction system and apparatus
US5937065A (en) * 1997-04-07 1999-08-10 Eaton Corporation Keyless motor vehicle entry and ignition system
US6023233A (en) * 1998-03-20 2000-02-08 Craven; Peter G. Data rate control for variable rate compression systems
US6393149B2 (en) * 1998-09-17 2002-05-21 Navigation Technologies Corp. Method and system for compressing data and a geographic database formed therewith and methods for use thereof in a navigation application program
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
US20020034971A1 (en) * 1999-02-08 2002-03-21 Chienchung Chang Data allocation for multiple applications on a microprocessor or dsp
FR2791507B1 (fr) * 1999-03-25 2001-06-29 Peugeot Citroen Automobiles Sa Procede et systeme de telechargement d'un fichier dans un calculateur de vehicule automobile
DE10012272B4 (de) * 2000-03-14 2004-04-08 Daimlerchrysler Ag Verfahren zur Abspeicherung von Daten in rechnergestützten Geräten von Verkehrsmitteln
DE10037397A1 (de) 2000-08-01 2002-02-14 Daimler Chrysler Ag Verfahren zum Laden von Software
FR2837946B1 (fr) * 2002-03-26 2006-12-29 Peugeot Citroen Automobiles Sa Systeme de telechargement d'au moins un fichier dans au moins un calculateur de vehicule automobile
US7248632B1 (en) * 2002-06-28 2007-07-24 Len Gollobin Video data storage and transmission system and method
DE10234063B4 (de) * 2002-07-26 2004-09-30 Audi Ag Verfahren zum variantenspezifischen Programmieren eines Programm- und Datenspeichers eines Steuergeräts, insbesondere eines Steuergeräts eines Kraftfahrzeugs, sowie Vorrichtung zur Durchführung des Verfahrens
US6670897B1 (en) * 2002-10-03 2003-12-30 Motorola, Inc. Compression/decompression techniques based on tokens and Huffman coding
DE102004005676A1 (de) * 2004-02-05 2005-08-25 Giesecke & Devrient Gmbh Datenträger mit plattformunabhängigem Anwendungs-Programmcode
DE102005013285B4 (de) * 2005-03-22 2009-09-03 Continental Automotive Gmbh Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE102005034168A1 (de) 2005-07-21 2007-02-01 Siemens Ag Verfahren zum Bedienen und Beobachten eines Steuergeräts, hiermit korrespondierendes Bedien-/Beobachtungsgerät, Steuergerät sowie Maschine mit einem solchen Steuergerät und Verwendungen des Verfahrens sowie Datenspeichermedien
US20070022243A1 (en) * 2005-07-22 2007-01-25 John Rudelic Method and apparatus capable of disabling authenticated operations and guaranteed secure boot in a wireless platform
DE102005045149A1 (de) * 2005-09-22 2007-04-05 Giesecke & Devrient Gmbh Verfahren zur Initialisierung und/oder Personalisierung eines tragbaren Datenträgers
DE102006013762A1 (de) * 2006-03-24 2007-09-27 Robert Bosch Gmbh Verfahren zum Betreiben einer Speichereinrichtung
DE102006016891A1 (de) 2006-04-11 2007-10-25 Robert Bosch Gmbh Erweiterung der Funktionalität einer Serien-Software in einem Steuergerät
RU62721U1 (ru) * 2006-07-31 2007-04-27 Михаил Викторович Ерещенко Автомобильный компьютер

Also Published As

Publication number Publication date
CN102197375B (zh) 2014-02-19
DE102008052955A1 (de) 2010-05-06
DE102008052955B4 (de) 2010-06-24
EP2340486A1 (de) 2011-07-06
CN102197375A (zh) 2011-09-21
US20110264844A1 (en) 2011-10-27
US8782328B2 (en) 2014-07-15
RU2011120350A (ru) 2012-11-27
WO2010046043A1 (de) 2010-04-29
RU2534927C2 (ru) 2014-12-10
BRPI0920595A2 (pt) 2015-12-29

Similar Documents

Publication Publication Date Title
CN111880740B (zh) 数据处理方法、装置、计算机系统及可读存储介质
BRPI0920595B1 (pt) processo para a transferência de códigos de programa para a memória de um aparelho de comando, especialmente para veículos automotores
KR101759658B1 (ko) 메모리 장치 및 메모리 시스템
US12079168B2 (en) System and method for error-resilient data compression using codebooks
US10224959B2 (en) Techniques for data compression verification
US10158376B2 (en) Techniques to accelerate lossless compression
CN103283149B (zh) 用于处理数据元素序列的装置和方法
US20240086372A1 (en) System and method for manipulation of compacted data files
DE102007061414A1 (de) Elektronisches Gerät, Firmware-Download-System und Verfahren zum Aktualisieren von Firmware
CN112214346A (zh) 用于存储器子系统中的数据修改期间的错误检测的方法及装置
US11461008B2 (en) Memory system for improving compression performance of a dictionary coder circuit
CN112181444B (zh) 一种基于1553b总线的dsp多核数据烧写方法
CN103955411A (zh) 一种星载大容量fpga程序在轨上注及配置方法
CN111352764B (zh) 一种芯片修复的方法、装置、设备及存储介质
US20230169042A1 (en) System and method for computer data type identification
US20180011758A1 (en) System and method for reducing ecc overhead and memory access bandwidth
CN101695172B (zh) 通信设备消息接口独立描述与编码的方法及装置
CN102684841B (zh) 一种编码计算单元及解码数据校验方法
US20150012688A1 (en) Computer system and operating method thereof
CN110945792B (zh) 压缩数据、解压缩数据的方法和相关装置
CN102024497B (zh) 一种存储数据的方法及存储装置
CN116679991B (zh) 存储器的启动管理方法、系统、设备及存储介质
CN112306733B (zh) 存储器装置、存储器控制器及其数据存取方法
US20250327860A1 (en) Debug infrastructure for memory systems
JP2006004377A (ja) データ処理装置およびデータ処理方法

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06T Formal requirements before examination [chapter 6.20 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 26/11/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 26/11/2019, OBSERVADAS AS CONDICOES LEGAIS