EP1410190B1

System and method for field downloading a wireless communication device software code section

Abstract

This record has no abstract on file.

EP1410190B1, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Expired 23 July 2022, 4.2 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

33 claims: 33 independent, 0 dependent

  1. 1
    A method for updating system software stored in memory of a wireless communication device (104), the method comprising:storing system software for the wireless device in a plurality of current code sections (302);receiving a software update (102) via a wireless communication network, the update comprising a patch maker instruction set (200) and a new code section;launching a runtime instruction engine configured to process the patch maker instruction set;andexecuting the patch maker instruction set in the runtime engine to arrange the new code section with current code sections to form updated system software for the wireless device. Procédé de mise à jour d'un logiciel de base enregistré dans la mémoire d'un dispositif de communications sans fil (104), ledit procédé comprenant : l'enregistrement d'un logiciel de base pour le dispositif sans fil dans une pluralité de sections de code actuelles (302) ;la réception d'une mise à jour logicielle (102) par l'intermédiaire d'un réseau de communications sans fil, la mise à jour comprenant un ensemble d'instructions du fabricant du correctif (200) et une nouvelle section de code ;le lancement d'un moteur d'instructions d'exécution configuré pour traiter l'ensemble d'instructions du fabricant du correctif ;etl'exécution de l'ensemble d'instructions du fabricant du correctif dans le moteur d'exécution pour agencer la nouvelle section de code avec les sections de code actuelles afin de former un logiciel de base mis à jour pour le dispositif sans fil . Verfahren zum Aktualisieren von Systemsoftware, die im Speicher einer drahtlosen Kommunikationsvorrichtung (104) gespeichert ist, wobei das Verfahren aufweist: Speichern der Systemsoftware für die drahtlose Vorrichtung in einer Mehrzahl von aktuellen Codeabschnitten (302);Empfangen eines Software-Updates (102) über ein drahtloses Kommunikationsnetzwerk, wobei das Update einen Patcherzeuger-Befehlssatz (200) und einen neuen Codeabschnitt aufweist;Starten einer Laufzeit-Befehlsmaschine, die konfiguriert ist, um den Patcherzeuger-Befehlssatz zu verarbeiten;undAusführen des Patcherzeuger-Befehlssatzes in der Laufzeitmaschine, um den neuen Codeabschnitt mit aktuellen Codeabschnitten anzuordnen, um eine aktualisierte Systemsoftware für die drahtlose Vorrichtung zu bilden.
  2. 2
    Procédé selon la revendication 1 comprenant en outre :l'identification d'une section de code actuelle pour la mise à jour ;etdans lequel l'agencement de la nouvelle section de code avec les sections de code actuelles pour former un logiciel de base mis à jour inclut le remplacement de la section de code actuelle par la nouvelle section de code. The method of claim 1 further comprising: identifying a current code section for updating;and    wherein arranging the new code section with current code sections to form updated system software includes replacing the current code section with the new code section. Verfahren nach Anspruch 1, ferner aufweisend: Identifizieren eines aktuellen Codeabschnitts zum Aktualisieren;und    wobei das Anordnen des neuen Codeabschnitts mit den aktuellen Codeabschnitten, um eine aktualisierte Systemsoftware zu bilden, das Ersetzen des aktuellen Codeabschnitts durch den neuen Codeabschnitt aufweist.
  3. 3
    Procédé selon la revendication 1, dans lequel l'étape d'enregistrement comprend en outre :la formation du logiciel de base en une pluralité de bibliothèques de symboles, chaque bibliothèque de symboles comprenant au moins un symbole ;etl'agencement de la pluralité de bibliothèques de symboles en une pluralité de sections de code. The method of claim 1, wherein the storing step further comprises: forming the system software into a plurality of symbol libraries, each symbol library comprising at least one symbol;andarranging the plurality of symbol libraries into a plurality of code sections. Verfahren nach Anspruch 1, wobei der Speicherschritt ferner aufweist: Formen der Systemsoftware in eine Mehrzahl von Symbolbibliotheken, wobei jede Symbolbibliothek zumindest ein Symbol aufweist;undAnordnen der Mehrzahl von Symbolbibliotheken in eine Mehrzahl von Codeabschnitten.
  4. 4
    Procédé selon la revendication 3, dans lequel chaque symbole d'une bibliothèque de symboles a des fonctions associées. The method of claim 3 wherein each symbol in a symbol library has related functionality. Verfahren gemäß Anspruch 3, wobei jedes Symbol in einer Symbolbibliothek eine zugehörige Funktionalität hat.
  5. 5
    Procédé selon la revendication 4, dans lequel l'étape de formation comprend en outre la formation de données de lecture-écriture pour une pluralité de bibliothèques de symboles ;et    l'agencement des données de lecture-écriture dans une section de code de lecture-écriture partagée. The method of claim 4 wherein the forming step further comprises forming read-write data for a plurality of symbol libraries;and    arranging the read-write data in a shared read-write code section. Verfahren gemäß Anspruch 4, wobei der Formungsschritt ferner das Bilden von Lese-Schreib-Daten für eine Mehrzahl von Symbolbibliotheken aufweist, und    Anordnen der Lese-Schreib-Daten in einem gemeinsamen Lese-Schreib-Codeabschnitt.
  6. 6
    Procédé selon la revendication 5, dans lequel la mise à jour logicielle comprend en outre une section de code de lecture-écriture mise à jour. The method of claim 5 wherein the software update further comprises an updated read-write code section. Verfahren gemäß Anspruch 5, wobei das Software-Update ferner einen aktualisierten Lese-Schreib-Codeabschnitt aufweist.
  7. 7
    Procédé selon la revendication 6 comprenant en outre :l'identification d'une section de code de lecture-écriture actuelle correspondant à la section de code de lecture-écriture mise à jour, dans lequel l'étape d'exécution comprend en outre le remplacement de la section de code de lecture-écriture par la section de code de lecture-écriture mise à jour. The method of claim 6, further comprising: identifying a current read-write code section corresponding to the updated read-write code section, wherein the executing step further comprises replacing the read-write code section with the updated read-write code section. Verfahren gemäß Anspruch 6, ferner aufweisend: Identifizieren eines aktuellen Lese-Schreib-Codeabschnitts entsprechend dem aktualisierten Lese-Schreib-Codeabschnitt, wobei der Ausführungsschritt ferner das Ersetzen des Lese-Schreib-Codeabschnitts durch den aktualisierten Lese-Schreib-Codeabschnitt aufweist.
  8. 8
    Procédé selon la revendication 3, dans lequel l'étape d'agencement comprend en outre l'agencement d'une première bibliothèque de symboles au début d'une section de code, dans lequel chaque début d'une section de code a une adresse de début correspondante ;et    la tenue d'un tableau d'adresses de sections de code effectuant des références croisées entre les identifiants de section de code et les adresses de début correspondantes. The method of claim 3 wherein the arranging step further comprises arranging a first symbol library at the start of a code section, wherein each start of a code section has a corresponding start address;and    maintaining a code section address table cross-referencing code section identifiers with corresponding start addresses. Verfahren gemäß Anspruch 3, wobei der Anordnungsschritt ferner das Anordnen einer ersten Symbolbibliothek an dem Anfang eines Codeabschnitts aufweist, wobei jeder Anfang eines Codeabschnitts eine zugehörige Startadresse hat;und    Führen einer Codeabschnitt-Adresstabelle, die Querverweise von Codeabschnitt-Bezeichnern mit zugehörigen Startadressen herstellt.
  9. 9
    Procédé selon la revendication 8, dans lequel l'étape d'agencement comprend en outre l'agencement d'une deuxième bibliothèque de symboles devant être décalée du début d'une section de code ;et la tenue d'un tableau d'adresses de décalage de symbole effectuant des références croisées entre l'identifiant d'une deuxième bibliothèque de symboles avec une adresse de décalage correspondante, et l'identifiant d'une section de code correspondante. The method of claim 8 wherein the arranging step further comprises arranging a second symbol library to be offset from the start of a code section;and    maintaining a symbol offset address table cross-referencing a second symbol library identifier with a corresponding offset address, and a corresponding code section identifier. Verfahren gemäß Anspruch 8, wobei der Anordnungsschritt ferner das Anordnen einer zweiten Symbolbibliothek aufweist, die von dem Anfang eines Codeabschnitts versetzt ist;und    Führen einer Symboloffset-Adresstabelle, die Querverweise eines Bezeichners der zweiten Symbolbibliothek mit einer zugehörigen Offsetadresse und einem zugehörigen Codeabschnitt-Bezeichner herstellt.
  10. 10
    Procédé selon la revendication 9 comprenant en outre :l'enregistrement du tableau d'adresses de sections de code dans une première section de code de tableau ;etl'enregistrement du tableau d'adresses de décalage de symbole dans une deuxième section de code de tableau. The method of claim 9, further comprising: storing the code section address table in a first table code section;andstoring the symbol offset address table in a second table code section. Verfahren gemäß Anspruch 9, ferner aufweisend: Speichern der Codeabschnitt-Adresstabelle in einem Erste-Tabelle-Codeabschnitt;undSpeichern der Symboloffset-Adresstabelle in einem Zweite-Tabelle-Codeabschnitt.
  11. 11
    Procédé selon la revendication 10, dans lequel la mise à jour logicielle comprend en outre une première section de code de tableau mise à jour et une deuxième section de code de tableau mise à jour. The method of claim 10, wherein the software update further comprises an updated first table code section and an updated second table code section. Verfahren gemäß Anspruch 10, wobei das Software-Update ferner einen aktualisierten Erste-Tabelle-Codeabschnitt und einen aktualisierten Zweite-Tabelle-Codeabschnitt aufweist.
  12. 12
    Procédé selon la revendication 10 comprenant en outre :l'accès au tableau d'adresses de sections de code et au tableau d'adresse de décalage de symbole pour calculer l'adresse d'un symbole à partir d'un code d'accès aux symboles comprenant un identifiant de symbole et un identifiant de section de code. The method of claim 10, further comprising: accessing the code section address table and the symbol offset address table to calculate the address of a symbol from a symbol accessor code comprising a symbol identifier and a code section identifier. Verfahren gemäß Anspruch 10, ferner aufweisend: Zugreifen auf die Codeabschnitt-Adresstabelle und die Symboloffset-Adresstabelle, um die Adresse eines Symbols aus einem Symbol-Zugriffscode zu berechnen, der einen Symbol-Bezeichner und einen Codeabschnitt-Bezeichner aufweist.
  13. 13
    Procédé selon la revendication 12, dans lequel la mise à jour logicielle comprend en outre un code d'accès aux symboles mis à jour ainsi que le remplacement du code d'accès aux symboles par un code d'accès aux symboles mis à jour. The method of claim 12 wherein the software update further comprises an updated symbol accessor code and further comprising replacing the symbol accessor code with the updated symbol accessor code. Verfahren gemäß Anspruch 12, wobei das Software-Update ferner einen aktualisierten Symbol-Zugriffscode aufweist, und das ferner das Ersetzen des Symbol-Zugriffscodes durch den aktualisierten Symbol-Zugriffscode aufweist.
  14. 14
    Procédé selon la revendication 8, dans lequel l'enregistrement de la bibliothèque de symboles au début des sections de code correspondantes comprend en outre :la création d'une pluralité de blocs mémoire adressés de façon contiguë ;l'identification de chaque bloc mémoire avec une section de code correspondant ;etl'enregistrement des sections de code correspondantes dans les blocs mémoire identifiés. The method of claim 8, wherein storing the symbol libraries at the start of the corresponding code sections further comprises: creating a plurality of contiguously addressed memory blocks;identifying each memory block with a corresponding code section;andstoring the corresponding code sections in the identified memory blocks. Verfahren gemäß Anspruch 8, wobei das Speichern der Symbolbibliotheken am Anfang der zugehörigen Codeabschnitte ferner aufweist: Erzeugen einer Mehrzahl von angrenzend adressierten Speicherblöcken;Identifizieren jedes Speicherblocks mit einem zugehörigen Codeabschnitt;undSpeichern der entsprechenden Codeabschnitte in den identifizierten Speicherblöcken.
  15. 15
    Procédé selon la revendication 14, dans lequel l'étape de création comprend en outre le dimensionnement des blocs mémoire pour contenir les sections de code correspondantes. The method of claim 14 wherein the creating step further comprises sizing the memory blocks to accommodate corresponding code sections. Verfahren gemäß Anspruch 14, wobei der Erzeugungsschritt ferner das Dimensionieren der Speicherblöcke aufweist, um entsprechende Codeabschnitte aufzunehmen.
  16. 16
    Procédé selon la revendication 15, dans lequel l'étape de dimensionnement comprend en outre le dimensionnement des sections de code pour contenir des tailles plus grandes que les bibliothèques de symboles. The method of claim 15 wherein the sizing step further comprises sizing the code sections to accommodate sizes larger than the symbol libraries. Verfahren gemäß Anspruch 15, wobei der Dimensionierungsschritt ferner das Dimensionieren der Codeabschnitte aufweist, um Größen größer als die Symbolbibliotheken aufzunehmen.
  17. 17
    A software updating system for a deployed wireless communications device, the system comprising:executable wireless device system software differentiated into a plurality of current code sections (302), wherein each current code section comprises one or more symbol libraries;a wireless communication interface (150) configured to receive a software update (102) via a wireless communication network, the software update comprising a patch maker instruction set (200) and a new symbol library having a corresponding code section;a runtime instruction engine configured to process the software update and execute the patch maker instruction set to arrange the new symbol library in the corresponding code section. Software-Aktualisierungssystem für eine eingesetzte drahtlose Kommunikationsvorrichtung, wobei das System aufweist: ausführbare Systemsoftware der drahtlosen Vorrichtung, die in eine Mehrzahl von aktuellen Codeabschnitten (302) aufgeteilt ist, wobei jeder aktuelle Codeabschnitt eine oder mehrere Symbolbibliotheken aufweist;eine drahtlose Kommunikationsschnittstelle (150), die konfiguriert ist, um ein Software-Update (102) über ein drahtloses Kommunikationsnetz zu empfangen, wobei das Software-Update einen Patcherzeuger-Befehlssatz (200) und eine neue Symbolbibliothek aufweist, die einen zugehörigen Codeabschnitt hat;eine Laufzeit-Befehlsmaschine, die konfiguriert ist, um das Software-Update zu verarbeiten und den Patcherzeuger-Befehlssatz auszuführen, um die neue Symbolbibliothek in dem zugehörigen Codeabschnitt anzuordnen. Système de mise à jour logicielle pour un dispositif de communications sans fil déployé, ledit système comprenant : un logiciel de base de dispositif sans fil exécutable différentié en une pluralité de sections de code actuelles (302), dans lequel chaque section de code actuelle comprend une ou plusieurs bibliothèque(s) de symboles ;une interface de communications sans fil (150) configurée pour recevoir une mise à jour logicielle (102) par l'intermédiaire d'un réseau de communications sans fil , la mise à jour logicielle comprenant un ensemble d'instructions du fabricant du correctif (200) et une nouvelle bibliothèque de symboles ayant un section de code correspondante ;un moteur d'instructions d'exécution configuré pour traiter la mise à jour logicielle et exécuter l'ensemble d'instructions du fabricant du correctif pour agencer la nouvelle bibliothèque de symboles dans la section de code correspondante.
  18. 18
    System gemäß Anspruch 17, wobei das Software-Update einen neuen Codeabschnitt aufweist und das Verarbeiten des Updates einen aktuellen Codeabschnitt durch den neuen Codeabschnitt ersetzt. Système selon la revendication 17, dans lequel la mise à jour logicielle comprend une nouvelle section de code et le traitement de la mise à jour remplace une section de code actuelle par la nouvelle section de code. The system of claim 17 wherein the software update comprises a new code section and processing the update replaces a current code section with the new code section.
  19. 19
    System gemäß Anspruch 17, wobei jede Symbolbibliothek Symbole aufweist, die eine zugehörige Funktionalität haben. Système selon la revendication 17, dans lequel chaque bibliothèque de symboles comprend des symboles ayant des fonctions associées. The system of claim 17 wherein each symbol library comprises symbols having related functionality.
  20. 20
    System gemäß Anspruch 19, wobei jeder aktuelle Codeabschnitt einen gemeinsamen Lese-Schreib-Codeabschnitt mit den Lese-Schreib-Daten aufweist, die den zugehörigen Symbolbibliotheken zugänglich sind. Système selon la revendication 19, dans lequel chaque section de code actuelle inclut une section de code de lecture-écriture partagée avec les données de lecture-écriture accessibles aux bibliothèques de symboles correspondantes. The system of claim 19 wherein each current code section includes a shared read-write code section with the read-write data accessible to the corresponding symbol libraries.
  21. 21
    System gemäß Anspruch 20, wobei das Software-Update einen aktualisierten Lese-Schreib-Codeabschnitt aufweist und das Verarbeiten des Updates den gemeinsamen Lese-Schreib-Codeabschnitt durch den aktualisierten Lese-Schreib-Codeabschnitt ersetzt. Système selon la revendication 20, dans lequel la mise à jour logicielle comprend une section de code de lecture-écriture mise à jour et le traitement de la mise à jour remplace de la section de code de lecture-écriture partagée par la section de code de lecture-écriture mise à jour. The system of claim 20 wherein the software update comprises an updated read-write code section and processing the update replaces the shared read-write code section with the updated read-write code section.
  22. 22
    System gemäß Anspruch 21, wobei eine Symbolbibliothek angeordnet wird, um am Anfang jedes aktuellen Codeabschnitts zu beginnen, und wobei jeder aktuelle Codeabschnitt eine Codeabschnitt-Adresstabelle aufweist, die eine Mehrzahl von Codeabschnitt-Bezeichnern aufweist, die mit den Startadressen für die Mehrzahl der aktuellen Codeabschnitte verknüpft sind. Système selon la revendication 21, dans lequel une bibliothèque de symboles est agencée pour commencer au début de chaque section de code actuelle et dans lequel chaque section de code actuelle inclut un tableau d'adresses de sections de code comprenant une pluralité d'identifiants de section de code associés aux adresses de début pour la pluralité de sections de code actuelles. The system of claim 21 wherein a symbol library is arranged to begin at the start of each current code section and wherein each current code section includes a code section address table comprising a plurality of code section identifiers associated with the start addresses for the plurality of current code sections.
  23. 23
    System gemäß Anspruch 22, wobei ein aktueller Codeabschnitt eine Symboloffset-Adresstabelle aufweist, die Symbol-Bezeichner aufweist, die mit zugehörigen Offset-Adressen und zugehörigen Codeabschnitt-Bezeichnern verknüpft sind. Système selon la revendication 22, dans lequel une section de code actuelle inclut un tableau d'adresses de décalage de symbole comprenant des identifiants de symbole associés aux adresses de décalage correspondantes et aux identifiants de section de code correspondants. The system of claim 22 wherein a current code section includes a symbol offset address table comprising symbol identifiers associated with corresponding offset addresses and corresponding code section identifiers.
  24. 24
    System gemäß Anspruch 23, wobei das Software-Update eine aktualisierte Codeabschnitt-Adresstabelle und eine aktualisierte Symboloffset-Adresstabelle aufweist. Système selon la revendication 23, dans lequel la mise à jour logicielle comprend un tableau d'adresses de sections de code mis à jour et un tableau d'adresses de décalage de symbole. The system of claim 23 wherein the software update comprises an updated code section address table and an updated symbol offset address table.
  25. 25
    System gemäß Anspruch 17, wobei ein aktueller Codeabschnitt die Laufzeit-Befehlsmaschine aufweist. Système selon la revendication 17, dans lequel une section de code actuelle comprend le moteur d'instructions d'exécution. The system of claim 17 wherein a current code section comprises the runtime instruction engine.
  26. 26
    System gemäß Anspruch 24, wobei das Software-Update eine neue Symbolbibliothek in dem Laufzeit-Befehlsmaschine-Codeabschnitt aufweist und das Verarbeiten des Updates eine Symbolbibliothek in dem Laufzeit-Befehlsmaschine-Codeabschnitt durch die neue Symbolbibliothek ersetzt. Système selon la revendication 24, dans lequel la mise à jour logicielle comprend une nouvelle bibliothèque de symboles dans la section de code du moteur d'instructions d'exécution et le traitement de la mise à jour remplace une bibliothèque de symboles dans la section de code du moteur d'instructions d'exécution par une nouvelle bibliothèque de symboles. The system of claim 24 wherein the software update comprises a new symbol library in the runtime instruction engine code section and processing the update replaces a symbol library in the runtime instruction engine code section with the new symbol library.
  27. 27
    System gemäß Anspruch 26, wobei der Laufzeit-Befehlsmaschine-Codeabschnitt Lese-Schreib-Daten, eine Codeabschnitt-Adresstabelle und eine Symboloffset-Adresstabelle aufweist. Système selon la revendication 26, dans lequel la section de code du moteur d'instructions d'exécution inclut des données de lecture-écriture, un tableau d'adresses de sections de code, et un tableau d'adresses de décalage de symbole. The system of claim 26 wherein the runtime instruction engine code section includes read-write data, a code section address table, and a symbol offset address table.
  28. 28
    System gemäß Anspruch 26, wobei der Laufzeit-Befehlsmaschine-Codeabschnitt einen Symbol-Zugriffscode aufweist, der einen Symbol-Bezeichner und einen zugehörigen Codeabschnitt-Bezeichner aufweist. Système selon la revendication 26, dans lequel la section de code du moteur d'instructions d'exécution inclut un code d'accès aux symboles comprenant un identifiant de symbole et un identifiant de section de code correspondant. The system of claim 26 wherein the runtime instruction engine code section includes a symbol accessor code comprising a symbol identifier and a corresponding code section identifier.
  29. 29
    System gemäß Anspruch 28, wobei der Symbol-Zugriffscode die Adresse eines Symbols durch Zugreifen auf die Codeabschnitt-Adresstabelle und die Symboloffset-Adresstabelle berechnet. Système selon la revendication 28, dans lequel le code d'accès aux symboles calcule l'adresse d'un symbole en accédant au tableau d'adresses de sections de code et au tableau d'adresses de décalage de symbole. The system of claim 28 wherein the symbol accessor code calculates the address of a symbol by accessing the code section address table and the symbol offset address table.
  30. 30
    System gemäß Anspruch 29, wobei das Software-Update einen aktualisierten Symbol-Zugriffscode aufweist. Système selon la revendication 29, dans lequel la mise à jour logicielle comprend un code d'accès aux symboles mis à jour. The system of claim 29 wherein the software update comprises an updated symbol accessor code.
  31. 31
    System gemäß Anspruch 17, das ferner eine Mehrzahl von angrenzend adressierten Speicherblöcken aufweist, die mit der Mehrzahl der aktuellen Codeabschnitte identifiziert werden. Système selon la revendication 17 comprenant en outre une pluralité de blocs mémoire adressés de façon contiguë identifiés avec la pluralité de sections de code actuelles. The system of claim 17 further comprising a plurality of contiguously addressed memory blocks identified with the plurality of current code sections.
  32. 32
    System gemäß Anspruch 31, wobei ein aktueller Codeabschnitt dimensioniert wird, um die zugehörigen, darin angeordneten Symbolbibliotheken aufzunehmen, und der entsprechende Speicherblock dimensioniert wird, um den aktuellen Codeabschnitt aufzunehmen. Système selon la revendication 31, dans lequel une section de code actuelle est dimensionnée pour contenir les bibliothèques de symboles correspondantes agencées à l'intérieur et le bloc mémoire correspondant est dimensionné pour prendre en charge la section de code actuelle. The system of claim 31 wherein a current code section is sized to accommodate the corresponding symbol libraries arranged within and the corresponding memory block is sized to accommodate the current code section.
  33. 33
    System gemäß Anspruch 32, wobei ein aktueller Codeabschnitt größer als die zugehörigen, darin angeordneten Symbolbibliotheken dimensioniert wird. Système selon la revendication 32, dans lequel une section de code actuelle est dimensionnée pour être plus grande que les bibliothèques de symboles correspondantes agencées à l'intérieur. The system of claim 32 wherein a current code section is sized larger than the corresponding symbol libraries arranged within.
Independent claims33