SYSTEM ON CHIP COMPRISING A PROGRAM INSTALLATION SOFTWARE

20230022755 ยท 2023-01-26

Assignee

Inventors

Cpc classification

International classification

Abstract

A system on chip includes a non-volatile memory and a processor configured to execute an operating system which receives data according to a first communication protocol and program installation software that communicates with the non-volatile memory according to a second communication protocol. The operating system functions to: determine whether data received according to the first communication protocol is program data, make the program data available to the installation software, and inform the installation software that program data has been received. The installation software then stores the program data in the non-volatile memory.

Claims

1. A system on chip, comprising: a non-volatile memory; a processor configured to execute: an operating system configured to receive data according to a first communication protocol; and program installation software configured to communicate with the non-volatile memory according to a second communication protocol in order to be able to store data of a program in the non-volatile memory; wherein the operating system when executed by the processor is further configured to: determine whether data received according to said first communication protocol is program data for the program installation software; make the program data available to the program installation software; and inform the program installation software that the program data has been received; and wherein the program installation software when executed by the processor is configured to store the program data in said non-volatile memory according to the second communication protocol.

2. The system according to claim 1, wherein the data is encapsulated in a frame having a format defined according to the first communication protocol.

3. The system according to claim 2, wherein the frame comprises a header followed by said encapsulated data and ends with a trailer, the header being configured to indicate whether the data received is program data for the installation software.

4. The system according to claim 1, wherein the installation software is configured to verify an authenticity of the program data made available by the operating system.

5. The system according to claim 1, wherein the program data received by the operating system is encrypted and wherein the program installation software is configured to decrypt the program data before storing it in the non-volatile memory.

6. The system according to claim 1, further comprising a volatile memory, and wherein the operating system is configured to make the program data available to the program installation software in the volatile memory.

7. A method for installing a program, comprising: transmitting program data to a system on chip using a first communication protocol; receiving the program data by an operating system of the system on chip; verifying by the operating system that the received program data is program data intended for an installation of software; making the program data available to a program installation software; indicating by the operating system to the program installation software that program data has been received; storing the program data by the program installation software in the non-volatile memory according to a second communication protocol.

8. The method according to claim 7, wherein the program data received by the operating system is encapsulated in a frame having a format defined according to the first communication protocol.

9. The method according to claim 8, wherein the frame comprises a header followed by encapsulated program data and ending with a trailer, the header being configured to indicate whether the program data is intended for the program installation software.

10. The method according to claim 7, further comprising verifying by the program installation software of an authenticity of the program data.

11. The method according to claim 7, wherein the program data received by the operating system is encrypted, and further comprising decrypting the received program data by the program installation software before storing in the non-volatile memory.

12. The method according to claim 7, wherein the program data is made available to the program installation software by the operating system in a volatile memory.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Other advantages and features will become apparent on examining the detailed description of implementations and embodiments, without limitation, and of the appended drawings in which:

[0025] FIG. 1 illustrates a system on chip;

[0026] FIG. 2 illustrates an example of a data transmission frame; and

[0027] FIG. 3 illustrates an embodiment of a method for updating a program installed on a system on chip.

DETAILED DESCRIPTION

[0028] FIG. 1 illustrates a system on chip SOC according to one embodiment. The system on chip SOC comprises a processor PROC, a non-volatile memory MNV, and a volatile memory MV.

[0029] An operating system OS and an installation software SFT are stored in the non-volatile memory MNV. The installation software SFT is defined by a manufacturer of the system on chip SOC and the operating system OS is defined by a user of the system on chip SOC.

[0030] A portion of the non-volatile memory MNV may be reserved for the manufacturer of the system on chip. This portion of the non-volatile memory then allows storing the installation software SFT. Another portion of the non-volatile memory MNV can be reserved for the user of the system on chip. This portion can then be used to store the user's operating system. This same portion of the non-volatile memory MNV can also be used to store user programs PRG.

[0031] The operating system OS is configured to receive data according to a first user-defined communication protocol.

[0032] In particular, the data is transmitted to the operating system OS in frames. These frames have a user-defined format. An example of a frame TRM is illustrated in FIG. 2. Each frame TRM starts with a header HDR followed by data DAT and ends with a trailer TRL. The data DAT can be of different types. The operating system is configured to process certain types of data. Thus, the header HDR comprises information relating to the data DAT of the frame TRM, in particular the type of the data of the frame. The trailer TRL allows for signaling the end of a frame TRM. The data DAT of the frame can be encrypted.

[0033] Furthermore, certain types of data DAT may be intended for the installation software SFT. The data DAT intended for the installation software can be program data. This program data can be intended for the installation software SFT for an update of a program installed on the system on chip. The program data then corresponds to a new version of a program stored in the non-volatile memory of the system on chip.

[0034] The data DAT for the installation software SFT is transmitted to the operating system OS in the same format as the data that can be processed by the operating system OS. The data intended for the installation software SFT is therefore encapsulated in a format that can be read by the operating system OS. The header HDR of a frame TRM can then allow indicating to the operating system OS that this frame TRM is intended for the installation software SFT.

[0035] In particular, the operating system OS is configured to read the header HDR of each received TRM frame in order to determine whether the received frame TRM is intended for the installation software SFT from the header HDR thereof.

[0036] When the operating system OS identifies that a frame is intended for the installation software SFT, the operating system OS is configured to extract the data DAT from the frame TRM and then store it in the volatile memory MV.

[0037] Once the data is stored in the volatile memory MV, the operating system OS is configured to call the installation software SFT so that the latter processes said data DAT which is intended therefor.

[0038] In particular, the installation software SFT is configured to first verify a data authenticity. This authentication is made possible by the presence of a secret data item stored in the non-volatile memory MNV and known to the user.

[0039] Once the authenticity of the data is verified, the installation software SFT is configured to decrypt the data DAT. Then, after decrypting the data DAT, the installation software is configured to store the data in the non-volatile memory MNV according to its own communication protocol in order to perform the program update.

[0040] FIG. 3 illustrates an embodiment of a method for updating a program PRG installed on a system on chip, such as that described above.

[0041] The method comprises a step 30 in which the system on chip SOC receives program data in frames. This data can be encrypted. This data corresponds to a new version of the program installed on the system on chip.

[0042] These frames are then read successively by the operating system OS installed on the system on chip.

[0043] In particular, for each received frame, the method comprises a step 31 in which the operating system OS analyzes the header HDR of the frame TRM. The analysis of the header HDR of the frame TRM allows the operating system OS to determine whether the data DAT in the frame TRM is intended for the installation software SFT.

[0044] If the operating system OS determines that the data DAT of a frame TRM is intended for the installation software SFT, the method comprises a step 32 in which the operating system extracts the data DAT from the frame TRM and stores it in the volatile memory MV.

[0045] In the latter case, the method also comprises a step 33 in which the operating system OS calls the installation software SFT in order to indicate to the latter that the data DAT intended therefor is available in the volatile memory MV.

[0046] Then, the method comprises a step 34 in which the installation software SFT processes the data which is intended therefor in the volatile memory MV. In particular, the installation software SFT verifies the authenticity of the data present in the volatile memory MV. If the installation software SFT considers the data to be authentic, the software then decrypts the data before storing it in the non-volatile memory MNV according to its own communication protocol. The installation software SFT will finally verify the integrity of the update (thanks to the verification of a signature provided by the user via the data DAT as well). Saving the data DAT of the new version of the program in the non-volatile memory MNV allows updating the program installed on the system on chip SOC.

[0047] The system on chip SOC allows using the installation software without having to change the configuration of the system on chip to install or update a program. Indeed, the program data is encapsulated according to the first communication protocol defined for the operating system, then made available to the installation software to store it in non-volatile memory according to its own communication protocol.

[0048] In this manner, the installation software which is installed on the system on chip by the manufacturer can be used simply to perform updates of the installed programs. It is therefore no longer necessary for the user to develop their own installation software. A single installation software is thus installed in the non-volatile memory of the system on chip. Furthermore, the operating system maintaining control over the management of the reception of the frames intended for the installation software, this allows it to establish an order of priority for its tasks so as to be able to execute a program during the update if necessary.