CN115687238A - 包括程序安装软件的片上系统 - Google Patents

包括程序安装软件的片上系统 Download PDF

Info

Publication number
CN115687238A
CN115687238A CN202210876304.9A CN202210876304A CN115687238A CN 115687238 A CN115687238 A CN 115687238A CN 202210876304 A CN202210876304 A CN 202210876304A CN 115687238 A CN115687238 A CN 115687238A
Authority
CN
China
Prior art keywords
program
data
installation software
program data
volatile memory
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202210876304.9A
Other languages
English (en)
Inventor
F·格雷瓜尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Grand Ouest SAS
Original Assignee
STMicroelectronics Grand Ouest SAS
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 STMicroelectronics Grand Ouest SAS filed Critical STMicroelectronics Grand Ouest SAS
Publication of CN115687238A publication Critical patent/CN115687238A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Communication Control (AREA)
  • Stored Programmes (AREA)

Abstract

本公开的实施例涉及包括程序安装软件的片上系统。片上系统包括非易失性存储器和处理器,该处理器被配置为执行根据第一通信协议来接收数据的操作系统和根据第二通信协议来与非易失性存储器进行通信的程序安装软件。操作系统的作用为:确定根据第一通信协议接收到的数据是否为程序数据,使程序数据对安装软件可用,并通知安装软件程序数据已经被接收到。然后安装软件将程序数据存储在非易失性存储器中。

Description

包括程序安装软件的片上系统
优先权要求
本申请要求于2021年7月26日提交的法国专利申请号2108107的优先权,在法律允许的最大范围内通过引用将其内容全部并入于此。
技术领域
实施例和实施方式涉及片上系统,并且更具体地,涉及更新安装在片上系统上的程序。
背景技术
片上系统(SoC)通常集成程序安装软件。这种安装软件在其制造期间被存储在片上系统上的非易失性存储器中。例如,安装软件可以被包括在安装在片上系统上的“固件”中。这种安装软件被用来安装用户的程序。一旦安装了用户程序,安装软件也可以被用来更新已安装的程序。例如,安装软件可以被配置为将程序的不同版本存储在非易失性存储器中。安装软件和非易失性存储器之间的通信协议由片上系统的制造商来定义。
片上系统的用户进而可以根据可能会与为安装软件而提供的通信协议不同的通信协议来配置片上系统。
一旦用户程序被安装在片上系统上,所提供的安装软件在制造期间可能就无法使用,理由如下:安装软件使用由制造商定义的(多个)通信协议来进行操作,和/或安装软件使用适合其生产环境的硬件接口,该硬件接口不一定是用户所选择的接口。
此外,需要更改片上系统的配置(也就是说,退出用户配置)才能使用制造商的安装软件。但是,更改配置具有以下缺点:阻止用户程序的执行并且需要重新启动片上系统。
因此,用户通常提供他们自己的安装软件来更新其程序。然后将用户的安装软件配置为在更新其程序时用用户定义的通信协议来进行操作。以这种方式,用户不必更改片上系统的配置以更新其程序。
然而,这样的解决方案具有以下缺点:除了最初被集成到片上系统中的安装软件所占用的存储空间之外,还需要额外的存储空间来存储用户开发的安装软件。因此这种解决方案是昂贵的。
本领域需要一种简化安装在片上系统上的程序的更新的解决方案。
发明内容
根据一个方面,提出了一种片上系统,包括:非易失性存储器;处理器,被配置为执行:操作系统,该操作系统被配置为根据第一通信协议来接收数据,以及程序安装软件,该程序安装软件被配置为根据第二通信协议来与非易失性存储器进行通信,以便能够将程序的数据存储在此非易失性存储器中;其中操作系统还被配置为:确定根据所述第一通信协议接收到的数据是否为用于安装软件的程序数据,使程序数据对安装软件可用,该程序数据被接收并用于所述安装软件,并通知安装软件用于安装软件的程序数据已经被接收到;以及其中安装软件被配置为根据第二通信协议将对其可用的程序数据存储在所述非易失性存储器中。
因此,程序数据由操作系统根据第一通信协议接收,然后使其对安装软件可用,以使得安装软件根据其自身的通信协议将所述数据存储在非易失性存储器中。因此,片上系统允许使用该安装软件,而不必改变片上系统的配置。
以这种方式,可以简单地使用由制造商在片上系统上安装的安装软件对已安装的程序执行更新。因此,用户不再需要开发自己的安装软件。因此单个安装软件被安装在片上系统的非易失性存储器中。
此外,操作系统可以在安装软件执行其更新的同时继续运行程序。
在有利实施例中,数据被封装在具有根据第一通信协议而定义的格式的帧中。
优选地,该帧包括在后跟随有经封装的数据的报头并以报尾结束,该报头被配置为指示该数据是否用于安装软件。
有利地,安装软件被配置为验证通过操作系统而变得可用的数据的真实性。
在有利实施例中,由操作系统接收到的程序数据被加密。然后安装软件被配置为在将程序数据存储在非易失性存储器中之前对其进行解密。
优选地,片上系统包括易失性存储器。然后操作系统被配置为使程序数据对易失性存储器中的安装软件可用。
根据另一方面,提出了一种用于安装程序的方法,包括:根据第一通信协议,将程序数据传输到如前所述的片上系统;由片上系统的操作系统接收程序数据;由操作系统验证接收到的数据确实是用于安装软件的程序数据;由操作系统使用于安装软件的程序数据可用;由操作系统向安装软件指示程序数据已经被接收到;以及由安装软件根据第二通信协议将程序数据存储在非易失性存储器中。
在有利实施例中,由操作系统接收到的数据被封装在具有根据第一通信协议而定义的格式的帧中。优选地,该帧包括在后跟随有经封装的数据的报头并以报尾结束,该报头被配置为指示数据是否用于安装软件。
有利地,该方法还包括由安装软件验证由操作系统使得可用的数据的真实性。
在有利实施例中,由操作系统接收到的程序数据被加密,该方法还包括:在将数据存储在非易失性存储器中之前,由安装软件解密由操作系统使得可用的数据。
在有利实施例中,在易失性存储器中由操作系统使程序数据对安装软件可用。
附图说明
在没有限制的情况下,在检查实施方式和实施例以及附图的详细说明时,其他优点和特征将变得显而易见,并且在附图中:
图1图示了片上系统;
图2图示了数据传输帧的示例;以及
图3图示了用于更新安装在片上系统上的程序的方法的实施例。
具体实施方式
图1图示了根据一个实施例的片上系统SOC。片上系统SOC包括处理器PROC、非易失性存储器MNV和易失性存储器MV。
操作系统OS和安装软件SFT被存储在非易失性存储器MNV中。安装软件SFT由片上系统SOC的制造商来定义,并且操作系统OS由片上系统SOC的用户来定义。
可以为片上系统的制造商保留一部分非易失性存储器MNV。然后,非易失性存储器的这部分允许存储安装软件SFT。可以为片上系统的用户保留存储器MNV的另一部分。这部分可以用来存储用户的操作系统。非易失性存储器MNV的该同一部分也可以被用来存储用户程序PRG。
操作系统OS被配置为根据第一用户定义的通信协议来接收数据。
具体地,以帧的形式将数据传输到操作系统OS。这些帧具有用户定义的格式。图2中图示了帧TRM的示例。每个帧TRM以报头HDR开始,报头HDR之后跟随数据DAT,并以报尾TRL结束。数据DAT可以是不同的类型。操作系统被配置为处理某些类型的数据。因此,报头HDR包括与帧TRM的数据DAT相关的信息,尤其是与帧的数据类型相关的信息。报尾TRL允许用信号通知帧TRM的结束。可以对帧的数据DAT进行加密。
此外,某些类型的数据DAT可能用于安装软件SFT。用于安装软件的数据DAT可以是程序数据。该程序数据可以用于安装软件SFT,以用于更新安装在片上系统上的程序。然后程序数据对应于存储在片上系统的非易失性存储器中的程序的新版本。
用于安装软件SFT的数据DAT以操作系统OS可以处理的数据格式被传输到操作系统OS。因此,用于安装软件SFT的数据可以以能够被操作系统OS读取的格式封装。然后帧TRM的报头HDR可以允许向操作系统OS指示该帧TRM用于安装软件SFT。
具体地,操作系统OS被配置为读取每个接收到的TRM帧的报头HDR,以便从其报头HDR确定接收到的帧TRM是否用于安装软件SFT。
当操作系统OS识别出一个帧用于安装软件SFT时,操作系统OS被配置为从帧TRM提取数据DAT,然后将其存储在易失性存储器MV中。
一旦数据被存储在易失性存储器MV中,操作系统OS被配置为调用安装软件SFT,以使得安装软件SFT处理用于安装软件SFT的所述数据DAT。
具体地,安装软件SFT被配置为首先验证数据的真实性。通过存储在非易失性存储器MNV中并为用户所知的秘密数据项的存在使得可能进行该认证。
一旦数据的真实性被验证,安装软件SFT被配置为对数据DAT进行解密。然后,在解密数据DAT之后,安装软件被配置为根据其自身的通信协议将数据存储在非易失性存储器MNV中,以便执行程序更新。
图3图示了用于更新安装在诸如上述的片上系统上的程序PRG的方法的实施例。
该方法包括步骤30,在该步骤30中片上系统SOC接收帧中的程序数据。该数据可以被加密。该数据对应于安装在片上系统上的程序的新版本。
然后这些帧被安装在片上系统上的操作系统OS连续读取。
具体地,对于每个接收到的帧,该方法包括步骤31,其中操作系统OS分析帧TRM的报头HDR。对帧TRM的报头HDR的分析允许操作系统OS确定帧TRM中的数据DAT是否用于安装软件SFT。
如果操作系统OS确定帧TRM的数据DAT用于安装软件SFT,则该方法包括步骤32,其中操作系统从帧TRM提取数据DAT并将其存储在易失性存储器MV中。
在后一种情况下,该方法还包括步骤33,在该步骤33中操作系统OS调用安装软件SFT,以便向安装软件SFT指示用于安装软件SFT的数据DAT在易失性存储器MV中可用。
然后,该方法包括步骤34,在该步骤34中安装软件SFT处理在易失性存储器MV中用于安装软件SFT的数据。具体地,安装软件SFT验证存在于易失性存储器MV中的数据的真实性。如果安装软件SFT认为该数据是真实的,那么该软件在根据其自身的通信协议将其存储在非易失性存储器MNV中之前对数据进行解密。安装软件SFT将最终验证更新的完整性(由于用户也经由数据DAT提供了签名的验证)。将新版本的程序的数据DAT保存在非易失性存储器MNV中允许更新安装在片上系统SOC上的程序。
片上系统SOC允许使用安装软件,而无需更改片上系统的配置以安装或更新程序。实际上,程序数据是根据针对操作系统而定义的第一通信协议来进行封装的,然后使其对安装软件可用,以根据其自身的通信协议将程序数据存储在非易失性存储器中。
以这种方式,可以简单地使用由制造商在片上系统上安装的安装软件对已安装的程序执行更新。因此,用户不再需要开发其自己的安装软件。因此单个安装软件被安装在片上系统的非易失性存储器中。此外,操作系统保持对用于安装软件的帧的接收的管理的控制,这允许它为其任务建立优先级顺序,以便在必要时能够在更新期间执行程序。

Claims (12)

1.一种片上系统,包括:
非易失性存储器;
处理器,所述处理器被配置为执行:
操作系统,所述操作系统被配置为根据第一通信协议来接收数据;以及
程序安装软件,所述程序安装软件被配置为根据第二通信协议来与所述非易失性存储器进行通信,以便能够将程序的数据存储在所述非易失性存储器中;
其中所述操作系统在被所述处理器执行时还被配置为:
确定根据所述第一通信协议接收到的数据是否为用于所述程序安装软件的程序数据;
使所述程序数据对所述程序安装软件可用;以及
通知所述程序安装软件所述程序数据已经被接收到;以及其中所述程序安装软件在被所述处理器执行时被配置为根据所述第二通信协议将所述程序数据存储在所述非易失性存储器中。
2.根据权利要求1所述的系统,其中所述数据被封装在具有根据所述第一通信协议而定义的格式的帧中。
3.根据权利要求2所述的系统,其中所述帧包括在后跟随有经封装的所述数据的报头,并且以报尾结束,所述报头被配置为指示接收到的所述数据是否为用于所述安装软件的程序数据。
4.根据权利要求1所述的系统,其中所述安装软件被配置为验证通过所述操作系统而变得可用的所述程序数据的真实性。
5.根据权利要求1所述的系统,其中由所述操作系统接收到的所述程序数据被加密,并且其中所述程序安装软件被配置为在将所述程序数据存储在所述非易失性存储器中之前对所述程序数据进行解密。
6.根据权利要求1所述的系统,还包括易失性存储器,并且其中所述操作系统被配置为使所述程序数据对所述易失性存储器中的所述程序安装软件可用。
7.一种用于安装程序的方法,包括:
使用第一通信协议将程序数据传输到片上系统;
由所述片上系统的操作系统接收所述程序数据;
由所述操作系统验证接收到的所述程序数据是用于安装软件的程序数据;
使所述程序数据对程序安装软件可用;
由所述操作系统向所述程序安装软件指示程序数据已经被接收到;
由所述程序安装软件根据第二通信协议将所述程序数据存储在所述非易失性存储器中。
8.根据权利要求7所述的方法,其中由所述操作系统接收到的所述程序数据被封装在具有根据所述第一通信协议而定义的格式的帧中。
9.根据权利要求8所述的方法,其中所述帧包括在后跟随有经封装的数据的报头,并且以报尾结束,所述报头被配置为指示所述程序数据是否用于所述程序安装软件。
10.根据权利要求7所述的方法,还包括由所述程序安装软件验证所述程序数据的真实性。
11.根据权利要求7所述的方法,其中由所述操作系统接收到的所述程序数据被加密,并且还包括:在存储到所述非易失性存储器之前,由所述程序安装软件解密接收到的所述程序数据。
12.根据权利要求7所述的方法,其中在易失性存储器中由所述操作系统使所述程序数据对所述程序安装软件可用。
CN202210876304.9A 2021-07-26 2022-07-25 包括程序安装软件的片上系统 Pending CN115687238A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FR2108107A FR3125615A1 (fr) 2021-07-26 2021-07-26 Systeme sur puce comprenant un logiciel d’installation de programmes
FR2108107 2021-07-26
US17/868,456 US11995423B2 (en) 2021-07-26 2022-07-19 System on chip (SOC) comprising a program installation software for updating a program
US17/868,456 2022-07-19

Publications (1)

Publication Number Publication Date
CN115687238A true CN115687238A (zh) 2023-02-03

Family

ID=80447200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210876304.9A Pending CN115687238A (zh) 2021-07-26 2022-07-25 包括程序安装软件的片上系统

Country Status (4)

Country Link
US (1) US11995423B2 (zh)
EP (1) EP4124943A1 (zh)
CN (1) CN115687238A (zh)
FR (1) FR3125615A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151657A (en) * 1996-10-28 2000-11-21 Macronix International Co., Ltd. Processor with embedded in-circuit programming structures
US20170090909A1 (en) * 2015-09-25 2017-03-30 Qualcomm Incorporated Secure patch updates for programmable memories
CN107402776A (zh) * 2016-05-20 2017-11-28 南京阿波罗机器人科技有限公司 一种基于蓝牙4的手机无线升级stm32单片机控制器固件方法
US10223094B2 (en) * 2016-09-30 2019-03-05 Intel Corporation Initializing a system on a chip
US10789061B2 (en) * 2018-09-26 2020-09-29 Intel Corporation Processor based component firmware update method and apparatus
US20210303691A1 (en) * 2020-03-27 2021-09-30 Intel Corporation Ip independent secure firmware load

Also Published As

Publication number Publication date
EP4124943A1 (fr) 2023-02-01
US11995423B2 (en) 2024-05-28
US20230022755A1 (en) 2023-01-26
FR3125615A1 (fr) 2023-01-27

Similar Documents

Publication Publication Date Title
US10268845B2 (en) Securing of the loading of data into a nonvolatile memory of a secure element
US11129004B2 (en) Information processing apparatus and information processing method
CN102830984B (zh) 固件更新的方法、芯片以及通信终端
US20100058463A1 (en) Method of exchanging data between two electronic entities
US11039288B2 (en) Information processing apparatus, information processing method, and program
US9390259B2 (en) Method for activating an operating system in a security module
JP2010501953A (ja) セキュアモジュールアプリケーションに関連する情報の管理
JPWO2009044533A1 (ja) セキュアブート端末、セキュアブート方法、セキュアブートプログラム、記録媒体及び集積回路
US10248795B2 (en) Implementing method for JavaCard application function expansion
KR20100063474A (ko) Fota 서비스 제공 방법 및 그 시스템
CN106663017B (zh) 实现主机卡模拟的方法、终端、数据路由方法及装置
US11907931B2 (en) Method and system for managing virtual electronic card, secure chip, terminal and storage medium
WO2007119594A1 (ja) セキュアデバイス及び読み書き装置
US10025575B2 (en) Method for installing security-relevant applications in a security element of a terminal
US20130318638A1 (en) Method for Programming a Mobile End Device Chip
CN110493644B (zh) 电视应用升级方法、电视终端及服务器
US11995423B2 (en) System on chip (SOC) comprising a program installation software for updating a program
KR20230019032A (ko) 사전 개인화된 보안 요소 및 내장된 개인화
CN114925368A (zh) 用于启动应用程序的安全元件和方法
CN107851044B (zh) 适于从第一应用传送第一数据以供第二应用使用的集成电路卡
JP7234567B2 (ja) 電子情報記憶媒体、電子情報記憶媒体における処理方法、及びプログラム
EP3926504A1 (en) Hiding and unhiding java card applet instances
EP4246315A1 (en) Electronic component for electronic equipment and a method for provisioning and updating such an electronic component
JP2024046675A (ja) Icチップ
KR20060022756A (ko) 이동통신 단말기 및 그 이동통신 단말기를 이용한이동통신 단말기 소프트웨어 자동 업그레이드 시스템 및방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination