IP Library Granted Patent US 11,099,764
Granted Patent B2
US 11,099,764 · App. 16/646,629 · Granted Aug 24, 2021

Method for amending the firmware of a resource constrained device

Inventors: Emmanuel Lepavec (Gemenos, FR); Dominique Bouveron (Gemenos, FR); Xavier Minette De Saint Martin (Gemenos, FR); Nicolas Vienne (Gemenos, FR); Guillaume Chi-Dan Phan (Gemenos, FR)
Assignee: THALES DIS FRANCE SA
G06F3/0647G06F3/0607G06F3/0622G06F3/0632G06F3/0673G06F8/654
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,099,764
App. No.
16/646,629
Granted
Aug 24, 2021
Kind
B2
Abstract

The present invention relates to a method for amending the firmware of a device with limited resources, the device comprises a memory unit, and a firmware amending software, and the firmware comprises: at least two functional components, wherein the first functional component comprises at least one public function, configured to be called by at least one second functional component different from the first functional component, a functional component table, wherein at least one of the functional components is registered, a call dispatch unit, where each call addressing one of the public functions is dispatched, wherein the firmware amendment comprises the steps for the firmware amending software of: storing a new functional component at a memory location of the memory unit, updating the functional component table with the memory location of said new functional component, and handing over control to the firmware.

Claims (51)

1. Method for amending firmware of a device, the device comprises a memory unit and a firmware amending software, and the firmware comprises:

at least two functional components, wherein the first functional component comprises at least one public function, configured to be called by at least one second functional component different from the first functional component, and

a call dispatch unit, where each call addressing one of the public functions is dispatched,

wherein the device further comprises, in the memory unit, a functional component table, wherein (i) least one of the functional components is registered, (ii) the functional component table comprises a set of access rights governing access to said at least one public function, and (iii) the firmware amendment comprises the steps for the firmware amending software of:

storing a new functional component at a memory location of the memory unit,

updating the functional component table with the memory location of said new functional component, and

handing over control to the firmware,

wherein a call of the at least one public function of the first functional component comprises for the second functional component executing a call of the call dispatch unit,

wherein the call to the call dispatch unit includes a target indication relative to the first functional component and the public function to be called,

wherein the calling of the at least one public function comprises for the call dispatch unit the step of calling the public function indicated by the target indication by retrieving the memory location of the first functional component from the functional component table, and

wherein the calling of the at least one public function comprises for the call dispatch unit the step of checking the set of access rights for the second functional component before calling the indicated public function of the first functional component.

2. Method according to claim 1 ,

wherein the firmware amendment comprises replacing functional components, comprising the steps of substituting one of the functional components with new functional component by replacing the registration of the substituted functional component in the functional component table.

3. Method according to claim 1 ,

wherein the first functional component comprises an interface table listing the at least one public function, and

wherein the calling of the at least one public function comprises for the call dispatch unit the step of calling the public function indicated in the target indication provided it is listed in the interface table.

4. Method according to claim 1 ,

wherein at least one functional component comprises an initialization function for preparing execution of the at least one public function of the functional component, wherein upon execution of the firmware the initialization function of the functional component is called.

5. Method according to claim 4 ,

wherein the initialization function comprises at least one out of the steps of

allocating of memory for the respective functional component,

instructing the call dispatch unit about a firmware amendment concerning at least one out of a public function and/or access rights to said public function after carrying out said firmware amendment.

6. Method according to claim 5 ,

wherein the firmware amendment comprises replacing functional components, comprising the steps of substituting one of the functional components with new functional component by replacing the registration of the substituted functional component in the functional component table, and

wherein the initialization function comprises the step of migrating permanent data of the substituted functional component to the called functional component.

7. Method according to claim 1 ,

wherein the device is an integrated chip card.

8. A device comprising:

processing circuitry,

a memory unit storing at least a firmware, and a firmware amending software, wherein the firmware comprises:

at least two functional components, wherein the first functional component comprises at least one public function, configured to be called by at least one second functional component different from the first functional component, and

a call dispatch unit, where each call addressing one of the public functions is dispatched,

wherein the device further comprises, stored in the memory unit, a functional component table, wherein at least one of the functional components is registered,

wherein for amending the firmware the firmware amending software is configured to:

store a new functional component at a memory location of the memory unit,

update the functional component table with the memory location of said new functional component, and

hand over control to the firmware,

wherein the firmware is further configured for calling at least one public function of the first functional component to execute a call of the call dispatch unit,

wherein the call to the call dispatch unit includes a target indication relative to the first functional component and the public function to be called, and

the call dispatch unit is configured to call the public function indicated by the target indication by retrieving the memory location of the first functional component from the functional component table,

the functional component table further comprising a set of access rights governing access to said at least one public function, and

wherein the call dispatch unit is configured to check the set of access rights for the second functional component before calling the indicated public function of the first functional component.

9. Device according to claim 8 ,

wherein the firmware amending software is further configured to replace functional components, comprising to substitute one of the functional components with a new functional component by replacing the registration of the substituted functional component in the functional component table.

10. Device according to claim 8 ,

wherein the first functional component comprises an interface table listing the at least one public function, and

wherein the call dispatch unit is configured to call the public function indicated in the target indication provided it is listed in the interface table.

11. Device according to claim 8 ,

wherein at least one functional component comprises an initialization function for preparing execution of the at least one public function of the functional component,

wherein the firmware is upon its execution configured to call the initialization function of the functional component.

12. Device according to claim 8 , wherein the device is an integrated chip card.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2023
From: THALES DIS FRANCE SA
To: THALES DIS FRANCE SAS
Reel/Frame 064730/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: LEPAVEC, EMMANUEL; BOUVERON, DOMINIQUE; MINETTE DE SAINT MARTIN, XAVIER; VIENNE, NICOLAS; PHAN, GUILLAUME CHI-DAN
To: THALES DIS FRANCE SA
Reel/Frame 053756/0964 →