FR3038749A1 - METHOD FOR CONTROLLING AN ELECTRONIC CALCULATION UNIT OF A MOTOR VEHICLE, ELECTRONIC COMPUTING UNIT AND CORRESPONDING MOTOR VEHICLE - Google Patents

METHOD FOR CONTROLLING AN ELECTRONIC CALCULATION UNIT OF A MOTOR VEHICLE, ELECTRONIC COMPUTING UNIT AND CORRESPONDING MOTOR VEHICLE Download PDF

Info

Publication number
FR3038749A1
FR3038749A1 FR1556384A FR1556384A FR3038749A1 FR 3038749 A1 FR3038749 A1 FR 3038749A1 FR 1556384 A FR1556384 A FR 1556384A FR 1556384 A FR1556384 A FR 1556384A FR 3038749 A1 FR3038749 A1 FR 3038749A1
Authority
FR
France
Prior art keywords
motor vehicle
unit
computing unit
operating system
controlling
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.)
Granted
Application number
FR1556384A
Other languages
French (fr)
Other versions
FR3038749B1 (en
Inventor
Abdelillah Ymlahi-Ouazzani
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.)
Valeo Equipements Electriques Moteur SAS
Original Assignee
Valeo Equipements Electriques Moteur 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 Valeo Equipements Electriques Moteur SAS filed Critical Valeo Equipements Electriques Moteur SAS
Priority to FR1556384A priority Critical patent/FR3038749B1/en
Priority to PCT/FR2016/051692 priority patent/WO2017006041A1/en
Publication of FR3038749A1 publication Critical patent/FR3038749A1/en
Application granted granted Critical
Publication of FR3038749B1 publication Critical patent/FR3038749B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Le procédé de commande d'une unité de calcul électronique (1) de véhicule automobile selon l'invention est du type de ceux basés sur un premier système d'exploitation (9) conforme à un premier niveau d'exigence en termes de sécurité de la norme ISO 26262, une première interface de programmes d'application (10), un premier gestionnaire d'évènements d'un environnement temps réel et des premiers pilotes (11) de périphériques exécutés par une unité centrale de calcul (3) d'un microprocesseur (2) comprenant en outre une unité de protection mémoire (4). Conformément à l'invention, le procédé met également en œuvre une seconde interface de programmes d'application (15), un second gestionnaire d'évènements (14) et un second pilote (12) de périphérique spécifiques à l'unité de protection mémoire et distincts du premier système d'exploitation.The control method of an electronic computing unit (1) of a motor vehicle according to the invention is of the type of those based on a first operating system (9) conforming to a first level of requirement in terms of security of the ISO 26262 standard, a first application program interface (10), a first event manager of a real-time environment and first peripheral drivers (11) executed by a central computing unit (3) of a microprocessor (2) further comprising a memory protection unit (4). According to the invention, the method also implements a second application program interface (15), a second event manager (14) and a second device driver (12) specific to the memory protection unit. and distinct from the first operating system.

Description

PROCEDE DE COMMANDE D’UNE UNITE DE CALCUL ELECTRONIQUE D’UN VEHICULE AUTOMOBILE, UNITE DE CALCUL ELECTRONIQUE ET VEHICULEMETHOD FOR CONTROLLING AN ELECTRONIC CALCULATION UNIT OF A MOTOR VEHICLE, ELECTRONIC CALCULATION UNIT AND VEHICLE

AUTOMOBILE CORRESPONDANTS DOMAINE TECHNIQUE DE L'INVENTION.AUTOMOBILE CORRESPONDENTS TECHNICAL FIELD OF THE INVENTION.

La présente invention concerne un procédé de commande d'une unité de calcul électronique d'un véhicule automobile. L’invention concerne également une unité de calcul électronique apte à la mise en oeuvre de ce procédé, ainsi que le véhicule automobile comprenant cette unité de calcul électronique. ARRIERE PLAN TECHNOLOGIQUE DE L'INVENTION.The present invention relates to a method for controlling an electronic computing unit of a motor vehicle. The invention also relates to an electronic computing unit capable of implementing this method, as well as the motor vehicle comprising this electronic computing unit. BACKGROUND ART OF THE INVENTION.

De nos jours, des systèmes d'exploitations (ou OS, acronyme en terminologie anglaise de "Operating System") embarqués sont couramment utilisés dans les unités de calcul électroniques (ECU ou "Electronique Computing Unit" en terminologie anglaise) de véhicules automobiles. En général, il revient à un système d'exploitation l'enchaînement des tâches, le traitement des interruptions, et la gestion des ressources.Nowadays, operating systems (or OS, acronym in English terminology "Operating System") embedded are commonly used in electronic computing units (ECU or "Electronics Computing Unit" in English terminology) of motor vehicles. In general, it comes down to an operating system, the sequence of tasks, the processing of interruptions, and the management of resources.

Les enjeux classiques des systèmes d'exploitations embarqués sont la capacité de réponse temporelle (c'est-à-dire un déterminisme temps réel) et l'extensibilité (c'est-à-dire la portabilité de microprocesseurs de bas de gamme à des microprocesseurs de haut de gamme).The classic issues of embedded operating systems are the time response capability (ie real-time determinism) and extensibility (ie the portability of low-end microprocessors to high-end microprocessors).

En ce qui concerne le logiciel dans l'automobile, le standard ISO 26262 établit un cadre formel pour la sécurité fonctionnelle des modules. La norme ISO 26262 stipule que la sûreté et la sécurité du logiciel doivent être prises en compte de manière systématique pendant tout le cycle de développement du logiciel.With regard to automotive software, the ISO 26262 standard establishes a formal framework for the functional safety of modules. ISO 26262 states that the safety and security of the software must be considered systematically throughout the software development cycle.

Un niveau d'exigence en termes de sécurité, ou AS IL défini par la norme (acronyme de "Automotive Safety Integrity Level" en terminologie anglaise), est attribué sur la base du risque de l'occurrence d'un évènement dangereux en prenant en compte la périodicité de la situation, l'impact d'un dommage éventuel, et dans quelle mesure cette situation peut être contrôlée et gérée.A level of requirement in terms of safety, or AS IL defined by the standard (acronym for "Automotive Safety Integrity Level" in English terminology), is attributed on the basis of the risk of the occurrence of a dangerous event taking into account account the periodicity of the situation, the impact of any damage, and to what extent this situation can be controlled and managed.

Avec l'arrivée de la norme ISO 26262, les systèmes d'exploitation embarqués sont soumis à un nouvel ensemble d'exigences pour satisfaire aux contraintes de sécurité. Par conséquent, les implémentations classiques pour l'automobile ont été remaniées et de nouvelles solutions de systèmes d'exploitation de sécurité ont été mises sur le marché avec des coûts importants.With the arrival of ISO 26262, embedded operating systems are subject to a new set of requirements to meet safety requirements. As a result, traditional automotive implementations have been redesigned and new security OS solutions have been introduced to the market with significant costs.

La norme ISO 26262 définit quatre ASIL indiqués par des lettres de A à D, cette dernière correspondant au risque le plus faible et au niveau d'exigence en termes de sécurité le plus élevé. Un niveau d'exigence en termes de sécurité indiqué par QM ("Qualité Management" c'est-à-dire "Gestion de la Qualité") est assigné aux fonctions non- critiques.The ISO 26262 standard defines four ASILs indicated by letters from A to D, the latter corresponding to the lowest risk and the highest security requirement level. A level of security requirement indicated by QM ("Quality Management" ie "Quality Management") is assigned to non-critical functions.

Un système d'exploitation qui satisfait aux exigences de la norme ISO 26262 est appelé "Safety OS". Comparé à un "QM OS" (c'est-à-dire un OS avec une gestion de qualité classique), un "Safety OS" fournit des fonctions de protection pour des protections spatiales et temporelles. D'une part, les protections temporelles ont pour but de contrôler le taux de lancement, le temps d'exécution et le verrouillage/ déverrouillage des ressources partagées par un programme. D'autre part, les protections spatiales ont pour but de contrôler les droits d'accès à la mémoire RAM (acronyme de "Random Accès Memory" en terminologie anglaise, c'est-à-dire "mémoire à accès aléatoire"), la mémoire de type "Flash", et les périphériques.An operating system that meets the requirements of ISO 26262 is called "Safety OS". Compared to a "QM OS" (that is, an OS with classic quality management), a "Safety OS" provides protection functions for space and time protections. On the one hand, time protection is intended to control the launch rate, execution time and locking / unlocking resources shared by a program. On the other hand, the purpose of the spatial protections is to control access rights to the RAM memory (acronym for "Random Access Memory" in English terminology, ie "random access memory"). Flash type memory, and peripherals.

Une protection mémoire est une caractéristique d'un OS qui supporte l'implémentation de protections spatiales, le plus souvent sur une unité de protection mémoire, ou MPU (acronyme en terminologie anglaise de "Memory Protection Unit"), du microprocesseur.A memory protection is a feature of an OS that supports the implementation of spatial protections, most often on a memory protection unit, or MPU (acronym in English terminology of "Memory Protection Unit"), the microprocessor.

Quand elle est activée, la MPU supervise les bus d'instructions et de données de l'unité centrale de traitement, ou CPU (acronyme en terminologie anglaise de "Central Processing Unit"), du microprocesseur, et les accès à la mémoire RAM, Flash et aux périphériques sont contrôlés. L'accès est accordé quand les droits d'accès (en lecture, en écriture, ou d'exécution) sont valides. Cependant, quand les droits d'accès sont restreints, toute violation d'accès déclenche une erreur de la MPU, arrête la CPU et l'exécution du programme.When enabled, the MPU monitors the instruction and data buses of the CPU, or CPU (Central Processing Unit), the microprocessor, and accesses to the RAM, Flash and devices are controlled. Access is granted when the access rights (read, write, or execute) are valid. However, when the access rights are restricted, any access violation triggers an MPU error, stops the CPU and program execution.

Il revient à l'implémentation du Safety OS d'offrir les services appropriés pour initialiser et remettre à zéro les registres de la MPU.It is up to the implementation of the Safety OS to offer the appropriate services to initialize and reset the MPU registers.

Dans l'état de la technique, il est connu qu'une protection mémoire mettant en œuvre une MPU permet une détection et une prise en compte d'une erreur plus rapides; l'impact sur la charge de la CPU est réduit puisque la plus grande partie du traitement est faite par le matériel.In the state of the art, it is known that a memory protection implementing an MPU makes it possible to detect and take into account a faster error; the impact on the CPU load is reduced since most of the processing is done by the hardware.

En réponse aux défis de tout ordre posés par le développement de systèmes d'exploitation embarqués, les constructeurs et les équipementiers de l'automobile ont pour la plupart adopté une architecture logicielle standard: AUTOSAR.In response to the challenges posed by the development of embedded operating systems, automakers and OEMs have for the most part adopted a standard software architecture: AUTOSAR.

Les développements d'AUTOSAR (acronyme en terminologie anglaise de "AUTomotive Open System ARchitecture", c'est-à-dire "Architecture de Système Ouvert d'Automobile") visent à remplir toutes les exigences de la norme ISO 26262 à partir des modules de base de l'OS ("AUTOSAR basic software" ou "AUTOSAR BSW") accessible librement, mais développés seulement au niveau d'exigence QM.The developments of AUTOSAR (acronym in English terminology of "AUTomotive Open System ARchitecture", that is to say "Architecture of Automotive Open System") aim at fulfilling all the requirements of the ISO 26262 standard from the modules basic software ("AUTOSAR basic software" or "AUTOSAR BSW") freely accessible, but developed only at the QM requirement level.

Il s'en suit que la mise en œuvre d'une MPU a été le plus souvent associée à la nécessité d'acheter un système d'exploitation de type "Safety OS", tel que "AUTOSAR Safety", avec un impact des coûts important sur le budget des projets.It follows that the implementation of an MPU has most often been associated with the need to purchase a "Safety OS" type operating system, such as "AUTOSAR Safety", with a cost impact. important on the project budget.

De plus, la vérification de la conformité à la norme ISO 26262 des différentes couches de l'OS est souvent rendue difficile par la disparité des contributeurs et l'absence des codes sources.In addition, the verification of ISO 26262 compliance of different layers of the OS is often made difficult by the disparity of contributors and the absence of source codes.

Pour pallier cet inconvénient, il a été proposé des techniques de tests des OS du commerce, et de leur conformité à la norme ISO 26262, même si les exécutables seulement sont disponibles.To overcome this drawback, it has been proposed techniques for testing commercial OS, and their compliance with the ISO 26262 standard, even if executables only are available.

Une telle technique est décrite notamment dans l'article "Binary-Level Fault Injection for AUTOSAR Systems", Mafijul Md. Islam et al., 2014 Tenth European Dependable Computing Conférence, p.138-141, 2014, IEEE.Such a technique is described in particular in the "Binary-Level Fault Injection for AUTOSAR Systems", Mafijul Md. Islam et al., 2014 Tenth European Dependable Computing Conference, p.138-141, 2014, IEEE.

La technique est évaluée sur une unité électronique de calcul comprenant un microprocesseur de la société Freescale de la série MPC5567 fonctionnant sous AUTOSAR.The technique is evaluated on an electronic computing unit comprising a microprocessor of the company Freescale MPC5567 series operating under AUTOSAR.

Le microprocesseur MPC5567 comporte une unité de gestion de la mémoire ("Memory Management Unit", ou MMU, en terminologie anglaise, qui est une MPU avec une fonction supplémentaire de translation des adresses.The microprocessor MPC5567 includes a Memory Management Unit (MMU), which is an MPU with an additional address translation function.

La technique décrite n'a pas besoin de connaître ni les connecteurs de l'OS, ni les appels du gestionnaire d'évènements de son environnement temps réel, et considère l'OS comme une boîte noire.The described technique does not need to know either the OS connectors, or the event handler calls from its real-time environment, and considers the OS as a black box.

Cependant, cette technique, en regardant l'OS globalement comme une boîte noire, ne fait pas la distinction entre les contraintes normatives portant sur l'OS de base et celles afférentes à la mise en œuvre d'une MPU.However, this technique, looking at the OS globally as a black box, does not distinguish between the normative constraints on the base OS and those related to the implementation of an MPU.

De la sorte, l'utilisation d'un OS de base ayant un niveau d'exigence en terme de sécurité QM associé à un mécanisme de protection mémoire spécifique en dehors de l'OS de niveau de criticité supérieur n'est pas envisagée dans cet article pour répondre au besoin d'un "Safety OS".In this way, the use of a basic OS having a level of requirement in terms of QM security associated with a specific memory protection mechanism outside the OS of higher criticality level is not considered in this case. article to meet the need for a "Safety OS".

Or ce découplage de l'OS et du mécanisme de protection mémoire permettrait aux constructeurs et équipementiers d'automobiles d'intégrer une protection mémoire tout en conservant leurs OS QM habituels dans leurs projets, et correspondrait à un besoin de réduction des coûts. DESCRIPTION GENERALE DE L'INVENTION.However, this decoupling of the OS and the memory protection mechanism would allow automakers and OEMs to integrate memory protection while retaining their usual QM OS in their projects, and correspond to a need for cost reduction. GENERAL DESCRIPTION OF THE INVENTION

La présente invention vise par conséquent à satisfaire ce besoin.The present invention therefore aims to satisfy this need.

Elle a précisément pour objet un procédé de commande d'une unité de calcul électronique de véhicule automobile du type de ceux basés sur un premier système d'exploitation conforme à un premier niveau d'exigence en termes de sécurité de la norme ISO 26262, une première interface de programmes d'application, un premier gestionnaire d'évènements d'un environnement temps réel et des premiers pilotes de périphériques exécutés par une unité centrale de calcul d'un microprocesseur comprenant en outre une unité de protection mémoire.It relates specifically to a method for controlling a motor vehicle electronic computing unit of the type of those based on a first operating system complying with a first level of security requirement of the ISO 26262 standard, a first application program interface, a first event manager of a real-time environment and first device drivers executed by a CPU of a microprocessor further comprising a memory protection unit.

Le procédé selon l'invention met en oeuvre en outre une seconde interface de programmes d'application, un second gestionnaire d'évènements et un second pilote de périphérique, spécifiques à cette unité de protection mémoire, et distincts du premier système d'exploitation.The method according to the invention also implements a second application program interface, a second event manager and a second device driver, specific to this memory protection unit, and distinct from the first operating system.

Selon l'invention, le premier système d'exploitation, le second gestionnaire d'évènements et le second pilote sont équivalents à un second système d'exploitation conforme à un second niveau d'exigence en termes de sécurité de la norme ISO 26262 supérieur au premier niveau d'exigence en termes de sécurité.According to the invention, the first operating system, the second event manager and the second driver are equivalent to a second operating system complying with a second level of security requirement of the ISO 26262 standard greater than first level of requirement in terms of security.

Dans le procédé de l'invention, le premier niveau d'exigence en termes de sécurité est de préférence coté QM.In the method of the invention, the first level of requirement in terms of security is preferably rated QM.

Dans le procédé de l'invention encore, le second pilote utilise des premiers connecteurs de tâches et des seconds connecteurs d'interruptions du premier système d'exploitation.In the method of the invention again, the second driver uses first task connectors and second interrupt connectors of the first operating system.

Le procédé de commande d'une unité de calcul électronique de véhicule automobile selon l'invention comprend une première étape appelant une première fonction de la seconde interface de programmes d'application initialisant au moins un registre de l'unité de protection mémoire.The control method of a motor vehicle electronic calculation unit according to the invention comprises a first step calling a first function of the second application program interface initializing at least one register of the memory protection unit.

Le procédé selon l'invention comprend en outre une deuxième étape appelant une deuxième fonction de la seconde interface de programmes d'application initialisant une protection des tâches.The method according to the invention further comprises a second step calling a second function of the second application program interface initiating a task protection.

Le procédé selon l'invention encore comprend en outre une troisième étape appelant une troisième fonction de la seconde interface de programmes d'application initialisant une protection des interruptions.The method according to the invention further comprises a third step calling a third function of the second application program interface initiating an interrupt protection.

Selon l'invention, le second gestionnaire d'évènements transmet à la seconde interface de programmes d'application des violations de la protection des tâches et de la protection des interruptions. L’invention concerne également une unité de calcul électronique de véhicule automobile apte à ma mise en œuvre du procédé de commande décrit ci-dessus.According to the invention, the second event handler transmits to the second application program interface violations of the protection of the tasks and the protection of the interrupts. The invention also relates to a motor vehicle electronic calculation unit adapted to my implementation of the control method described above.

Cette unité de calcul électronique est du type de celles comprenant un microprocesseur comportant au moins une unité centrale de calcul et une unité de protection mémoire associées à au moins une mémoire de programme, au moins une mémoire de données, et à au moins une interface d'entrées/ sorties.This electronic computing unit is of the type comprising a microprocessor comprising at least a central computing unit and a memory protection unit associated with at least one program memory, at least one data memory, and at least one interface. 'entries exits.

Au moins une mémoire de programme stocke des premiers codes informatiques représentatifs d'un système d'exploitation conforme à un niveau d'exigence en termes de sécurité coté QM de la norme ISO 26262, d'une première interface de programmes d'application, d'un premier gestionnaire d'évènements d'un environnement temps réel et de premiers pilotes de périphériques aptes à être connectés à l'au moins une interface d'entrées/ sorties, exécutés par l'au moins une unité centrale de calcul.At least one program memory stores first computer codes representative of an operating system conforming to a QM-rated security requirement of ISO 26262, a first application program interface, and a first event manager of a real-time environment and first peripheral drivers adapted to be connected to the at least one input / output interface, executed by the at least one central computing unit.

Selon l'invention, l'au moins une mémoire de programme stocke en outre des seconds codes informatiques représentatifs d'une seconde interface de programmes d'application, d'un second gestionnaire d'évènements et d'un second pilote spécifiques à l'unité de protection mémoire distincts des premiers codes informatiques.According to the invention, the at least one program memory further stores second computer codes representative of a second application program interface, a second event manager and a second driver specific to the application program. memory protection unit separate from the first computer codes.

Un véhicule automobile comprenant au moins une unité de calcul électronique tirera bénéfice de l'invention décrite ci-dessus.A motor vehicle comprising at least one electronic computing unit will benefit from the invention described above.

Ces quelques spécifications essentielles auront rendu évidents pour l'homme de métier les avantages apportés par le procédé de commande d'une unité de calcul électronique de véhicule automobile selon l'invention, ainsi que par l'unité de calcul électronique correspondante, et par le véhicule automobile comprenant une telle unité de calcul électronique, par rapport à l'état de la technique antérieur.These few essential specifications will have made obvious to the skilled person the advantages provided by the control method of a motor vehicle electronic calculation unit according to the invention, as well as by the corresponding electronic computing unit, and by the motor vehicle comprising such an electronic computing unit, compared to the state of the prior art.

Les spécifications détaillées de l'invention sont données dans la description qui suit en liaison avec les dessins ci-annexés. Il est à noter que ces dessins n'ont d'autre but que d'illustrer le texte de la description et ne constituent en aucune sorte une limitation de la portée de l'invention. BREVE DESCRIPTION DES DESSINS.The detailed specifications of the invention are given in the following description in conjunction with the accompanying drawings. It should be noted that these drawings have no other purpose than to illustrate the text of the description and do not constitute in any way a limitation of the scope of the invention. BRIEF DESCRIPTION OF THE DRAWINGS

La Figure 1 est un schéma synoptique d'une architecture logicielle d'une unité de calcul électronique selon l'invention.Figure 1 is a block diagram of a software architecture of an electronic computing unit according to the invention.

La Figure 2 illustre en détail le procédé de commande de l'unité de calcul électronique montrée sur la Figure 1.Figure 2 illustrates in detail the control method of the electronic computing unit shown in Figure 1.

Les Figure 3, 4 et 5 illustrent respectivement des première, deuxième et troisième étages du procédé de commande selon l'invention. DESCRIPTION DU MODE DE REALISATION PREFERE DE L'INVENTION.Figures 3, 4 and 5 respectively illustrate first, second and third stages of the control method according to the invention. DESCRIPTION OF THE PREFERRED EMBODIMENT OF THE INVENTION

Dans le mode de réalisation préféré de l'invention, montré sur la Figure 1, l'unité de calcul électronique 1 de véhicule automobile dont il s'agit comporte un microprocesseur 2 comprenant une unité centrale de calcul 3, une unité de protection mémoire 4 et une interface d'entrées/ sorties 5. L'unité de calcul électronique 1 acquiert des données en provenance de capteurs du véhicule et transmet des commandes à des équipements, ou en général échange des informations avec des périphériques, au moyen d'une interface de communication réseau 6 entre l'interface d'entrées/ sorties 5 et un réseau embarqué 7.In the preferred embodiment of the invention, shown in FIG. 1, the electronic computing unit 1 of a motor vehicle in question comprises a microprocessor 2 comprising a central computing unit 3, a memory protection unit 4 and an input / output interface 5. The electronic computing unit 1 acquires data from sensors of the vehicle and transmits commands to equipment, or in general exchanges information with peripherals, by means of an interface network communication device 6 between the input / output interface 5 and an on-board network 7.

Pour ce faire, de manière connue en soi, l'unité de calcul électronique est commandée par des modules logiciels 8 exécutés sur le microprocesseur 2 sur lequel est implémenté un système d'exploitation 9 standardisé de type AUTOSAR, spécifiquement conçu pour les applications de l'automobile.To do this, in a manner known per se, the electronic computing unit is controlled by software modules 8 executed on the microprocessor 2 on which is implemented a standardized operating system 9 of the AUTOSAR type, specifically designed for the applications of the computer. automobile.

Les modules logiciels 8 développés en fonction des besoins des utilisateurs communiquent avec le système d'exploitation 9 via une première interface de programmes d'application 10 également standardisée, et communiquent avec les périphériques au moyens de premiers pilotes 11 appropriés fournis par les fabricants.The software modules 8 developed according to the needs of the users communicate with the operating system 9 via a first standardized application program interface 10, and communicate with the peripherals by means of appropriate first drivers 11 provided by the manufacturers.

Le choix d'une version de base du système d'exploitation 9, telle que AUTOSAR BSW, permettrait de limiter les coûts mais ne permettrait pas à l'unité de calcul électronique 1 de satisfaire aux exigences de la norme ISO 26262 pour des degrés d'exigence supérieurs à QM, car cette version de base ne gère pas de mécanisme de protection mémoire.The choice of a basic version of the operating system 9, such as AUTOSAR BSW, would limit costs but would not allow the computing unit 1 to meet the requirements of ISO 26262 for degrees of accuracy. 'requirement higher than QM because this basic version does not handle memory protection mechanism.

Tout en étant basé sur un système d'exploitation 9 coté QM, le procédé de commande de l'unité de calcul électronique 1 selon l'invention, gère l'unité de protection mémoire 4 du microprocesseur 2 comme le montre bien l'architecture logicielle de la Figure 1.While being based on an operating system 9 on the QM side, the control method of the electronic computing unit 1 according to the invention manages the memory protection unit 4 of the microprocessor 2, as the software architecture clearly shows. of Figure 1.

Un second pilote 12 spécifique à l'unité de protection mémoire 4 permet de contrôler le système d'exploitation 9 au moyen de ses connecteurs 13 si un second gestionnaire d'évènements 14, spécifique également à l'unité de protection mémoire 4, rapporte un évènement de violation mémoire.A second driver 12 specific to the memory protection unit 4 makes it possible to control the operating system 9 by means of its connectors 13 if a second event manager 14, also specific to the memory protection unit 4, reports a memory violation event.

Une seconde interface de programmes d'application 15 permet à l'utilisateur de programmer l'unité de protection mémoire 4 et de rapporter la cause de la violation mémoire aux modules logiciels 8.A second application program interface 15 allows the user to program the memory protection unit 4 and report the cause of the memory violation to the software modules 8.

La Figure 2 montre l'intégration de la seconde interface de programmes d'application 15, du second pilote 12 et du second gestionnaire d'évènements 14 dans le procédé de commande selon l'invention de l'unité de calcul électronique 1.FIG. 2 shows the integration of the second application program interface 15, the second driver 12 and the second event manager 14 into the control method according to the invention of the electronic calculation unit 1.

Au moment du démarrage 16 de l'unité de calcul électronique 1, un code de lancement 17 effectue le lancement du système d'exploitation 9 et une configuration de l'unité de protection mémoire 4.At the start 16 of the electronic computing unit 1, a launch code 17 launches the operating system 9 and a configuration of the memory protection unit 4.

Pour ce faire une première fonction MPU_lnit() de la seconde interface de programmes d'application 15 est appelée 18 afin d'effectuer une initialisation des registres de l'unité de protection mémoire 4.To do this, a first function MPU_lnit () of the second application program interface 15 is called 18 in order to initialize the registers of the memory protection unit 4.

La Figure 3 montre une première séquence d'appel correspondante gérée par le second gestionnaire d'évènements 14.Figure 3 shows a corresponding first call sequence managed by the second event manager 14.

En cours d'exécution 19 de l'un des modules logiciels 8 de l'unité de calcul électronique 1 par le système d'exploitation 9, une seconde fonction MPU_SetTaskProtection() de la seconde interface de programmes d'application 15 est invoquée 20 au moment du lancement d'une tâche 21 en fournissant un premier connecteur de début de tâche OS_PreTaskHook() 22 du système d'exploitation 9.In the course of execution 19 of one of the software modules 8 of the computer unit 1 by the operating system 9, a second function MPU_SetTaskProtection () of the second application program interface 15 is invoked at 20 time of launching a task 21 by providing a first OS_PreTaskHook () start of task connector 22 of the operating system 9.

Comme le montre bien une seconde séquence d'appel représentée sur la Figure 4, celle-ci est également gérée par le second gestionnaire d'évènements 14.As is clearly shown in a second call sequence shown in FIG. 4, this is also managed by the second event manager 14.

Après déclenchement 23 de l'exécution de la tâche 21 et sa complétion 24, une première réinitialisation MPU_ResetTaskProtection() 25 de l'unité de protection mémoire 4 est appelée en fournissant un premier connecteur de fin de tâche OS_PostTaskHook() 26 du système d'exploitation 9.After triggering of the execution of the task 21 and its completion 24, a first reset MPU_ResetTaskProtection () 25 of the memory protection unit 4 is called by providing a first end of task connector OS_PostTaskHook () 26 of the system. exploitation 9.

Les modules logiciels 9 dans les applications de l'automobile travaillant essentiellement dans un environnement temps réel, les vecteurs d'interruption sont également protégés dans le procédé de commande d'une unité de calcul électronique 1 selon l'invention.Since the software modules 9 in automobile applications essentially work in a real-time environment, the interrupt vectors are also protected in the control method of an electronic computing unit 1 according to the invention.

Dans ce but, une troisième fonction MPU_SetlsrProtection() de la seconde interface de programmes d'application 15 est invoquée 27 au moment du lancement d'un sous-programme d'interruption 28 en fournissant un second connecteur de début d'interruption OS_PrelsrHook() 29 du système d'exploitation 9.For this purpose, a third function MPU_SetlsrProtection () of the second application program interface 15 is invoked 27 at the start of an interrupt routine 28 by providing a second interrupt start connector OS_PrelsrHook (). 29 of the operating system 9.

Comme le montre bien une troisième séquence d'appel représentée sur la Figure 5, celle-ci est également gérée par le second gestionnaire d'évènements 14.As is clearly shown in a third call sequence shown in FIG. 5, this is also managed by the second event manager 14.

Après déclenchement 30 de l'exécution du sous-programme d'interruption 28 et sa complétion 31, une seconde réinitialisation MPU_ResetlsrProtection() 32 de l'unité de protection mémoire 4 est appelée en fournissant un second connecteur de fin d'interruption OS_PostlsrHook() 33 du système d'exploitation 9. L'unité de protection mémoire 4 est configurée dynamiquement à chaque changement de contexte au cours du fonctionnement 19 de l'unité de calcul électronique 1. L'unité de protection mémoire 4 est initialisée en premier par la première fonction MPU_lnit() 18 de la seconde interface de programmes d'application 15, ensuite les deuxième et troisième fonctions MPU_SetTaskProtection() 20, MPU_SetlsrProtection() 27 sont appelées pour initialiser les registres de l'unité de protection mémoire 4 avec des nouveaux droits d'accès pour chaque tâche 21 et sous-programme d'interruption 28, respectivement.After triggering execution of the interrupt routine 28 and completion 31, a second reset MPU_ResetlsrProtection () 32 of the memory protection unit 4 is called by providing a second end-of-interruption connector OS_PostlsrHook (). 33 of the operating system 9. The memory protection unit 4 is dynamically configured at each change of context during the operation 19 of the electronic computing unit 1. The memory protection unit 4 is initialized first by the first function MPU_lnit () 18 of the second application program interface 15, then the second and third functions MPU_SetTaskProtection () 20, MPU_SetlsrProtection () 27 are called to initialize the registers of the memory protection unit 4 with new rights access for each task 21 and interrupt routine 28, respectively.

En ajoutant un tel mécanisme de protection mémoire 4, 12, 14, 15 en dehors du système d'exploitation 9 coté QM, le procédé selon l'invention permet d'obtenir un autre système d'exploitation équivalent 34 ayant un niveau d'exigence en termes de sécurité supérieur, tout en limitant les coûts.By adding such a memory protection mechanism 4, 12, 14, 15 outside the operating system 9 on the QM side, the method according to the invention makes it possible to obtain another equivalent operating system 34 having a level of requirement in terms of higher security, while limiting costs.

Comme il va de soi, l'invention ne se limite pas au seul mode de réalisation préférentiel décrit ci-dessus.It goes without saying that the invention is not limited to the single preferred embodiment described above.

Notamment, le système d'exploitation AUTOSAR BSW cité n'est qu'un exemple parmi d'autres de systèmes d'exploitations cotés QM pouvant être mis en œuvre dans un système embarqué. La seule restriction est que le système d'exploitation choisi soit suffisamment ouvert pour que les connecteurs de tâches et d'interruptions puissent être utilisés.In particular, the cited AUTOSAR BSW operating system is only one example of QM-rated operating systems that can be implemented in an embedded system. The only restriction is that the operating system chosen is sufficiently open for the task and interrupt connectors to be used.

La description ci-dessus porte implicitement sur une unité de calcul électronique 1 comprenant un seul microprocesseur 2 avec une seule unité centrale de calcul 3. Une description similaire pourrait porter sur une unité de calcul électronique 1 comprenant des co-processeurs et/ ou, un ou des microprocesseurs multi-coeurs, notamment dans des architectures matérielles ou logicielles redondantes où les questions de protection des données/ instructions dans des mémoires partagées sont particulièrement importantes.The above description implicitly relates to an electronic computing unit 1 comprising a single microprocessor 2 with a single central computing unit 3. A similar description could relate to an electronic computing unit 1 comprising co-processors and / or, a or multi-core microprocessors, especially in redundant hardware or software architectures where data protection issues / instructions in shared memories are particularly important.

Il est considéré que le microprocesseur 2 comprend une unité de protection mémoire ou MPU 4. L'homme de métier connaît des microprocesseurs, tels que le microprocesseur de référence MPC5567, déjà cité, qui comporte une unité de gestion de la mémoire ou MMU. Comme déjà indiqué, une MMU est une MPU 4 avec une fonction supplémentaire de translation des adresses, mais reste, pour les fonctions de protection mémoire, une MPU 4. La présente description pourrait donc s'appliquer sans modification à une unité de calcul électronique 1 comprenant un microprocesseur 2 muni d'une MMU.It is considered that the microprocessor 2 comprises a memory protection unit or MPU 4. The person skilled in the art knows microprocessors, such as the reference microprocessor MPC5567, already mentioned, which includes a memory management unit or MMU. As already indicated, a MMU is an MPU 4 with an additional address translation function, but remains, for memory protection functions, an MPU 4. The present description could therefore be applied without modification to an electronic computing unit 1 comprising a microprocessor 2 provided with a MMU.

Ces autres modes de réalisation ne sortiraient pas du cadre de la présente invention dans la mesure où ils résultent des revendications ci-après.These other embodiments are not outside the scope of the present invention insofar as they result from the claims below.

Claims (10)

REVENDICATIONS 1) Procédé de commande d'une unité de calcul électronique (1) de véhicule automobile du type de ceux basés sur un premier système d'exploitation (9) conforme à un premier niveau d'exigence en termes de sécurité de la norme ISO 26262, une première interface de programmes d'application (10), un premier gestionnaire d'évènements d'un environnement temps réel et des premiers pilotes (11) de périphériques exécutés par une unité centrale de calcul (3) d'un microprocesseur (2) comprenant en outre une unité de protection mémoire (4), caractérisé en ce qu'il met en oeuvre en outre une seconde interface de programmes d'application (15), un second gestionnaire d'évènements (14) et un second pilote (12) de périphérique spécifiques à ladite unité de protection mémoire (4) et distincts dudit premier système d'exploitation (9).1) A method for controlling an electronic computing unit (1) of a motor vehicle of the type based on a first operating system (9) conforming to a first level of requirement in terms of security of the ISO standard 26262, a first application program interface (10), a first event manager of a real-time environment and first peripheral drivers (11) executed by a central computing unit (3) of a microprocessor ( 2) further comprising a memory protection unit (4), characterized in that it furthermore implements a second application program interface (15), a second event manager (14) and a second driver (12) device specific to said memory protection unit (4) and separate from said first operating system (9). 2) Procédé de commande d'une unité de calcul électronique de véhicule automobile selon la revendication 1, caractérisé en ce que ledit premier système d'exploitation (9), ledit second gestionnaire d'évènements (14) et ledit second pilote (11) sont équivalents à un second système d'exploitation (34) conforme à un second niveau d'exigence en termes de sécurité de la norme ISO 26262 supérieur audit premier niveau d'exigence en termes de sécurité.2) A method for controlling a motor vehicle electronic calculation unit according to claim 1, characterized in that said first operating system (9), said second event manager (14) and said second driver (11) are equivalent to a second operating system (34) conforming to a second level of security requirement of ISO 26262 above said first level of security requirement. 3) Procédé de commande d'une unité de calcul électronique (1) de véhicule automobile selon la revendication 2, caractérisé en ce que ledit premier niveau d'exigence en termes de sécurité est coté QM.3) A method of controlling an electronic computing unit (1) of a motor vehicle according to claim 2, characterized in that said first level of requirement in terms of security is rated QM. 4) Procédé de commande d'une unité de calcul électronique (1) de véhicule automobile selon l'une quelconque des revendications 1 à 3 précédentes, caractérisé en ce que ledit second pilote (12) utilise des premiers connecteurs de tâches (13; 22, 26) et des seconds connecteurs d'interruptions (13; 29, 33) dudit premier système d'exploitation (9).4) A method of controlling an electronic computer calculation unit (1) of a motor vehicle according to any one of claims 1 to 3 above, characterized in that said second driver (12) uses first task connectors (13; , 26) and second interrupt connectors (13; 29, 33) of said first operating system (9). 5) Procédé de commande d'une unité de calcul électronique (1) de véhicule automobile selon la revendication 4, caractérisé en ce qu'il comprend une première étape appelant une première fonction (18) de ladite seconde interface de programmes d'application (15) initialisant au moins un registre de ladite unité de protection mémoire (4).5) A method for controlling an electronic computer calculation unit (1) of a motor vehicle according to claim 4, characterized in that it comprises a first step calling a first function (18) of said second interface of application programs ( 15) initializing at least one register of said memory protection unit (4). 6) Procédé de commande d'une unité de calcul électronique (1) de véhicule automobile selon la revendication 5, caractérisé en ce qu'il comprend en outre une deuxième étape appelant une deuxième fonction (20) de ladite seconde interface de programmes d'application (15) initialisant une protection des tâches (21).6) A method for controlling a motor vehicle electronic computing unit (1) according to claim 5, characterized in that it further comprises a second step calling a second function (20) of said second program interface. application (15) initiating job protection (21). 7) Procédé de commande d'une unité de calcul électronique (1) de véhicule automobile selon la revendication 6, caractérisé en ce qu'il comprend en outre une troisième étape appelant une troisième fonction (27) de ladite seconde interface de programmes d'application (15) initialisant une protection des interruptions (28).7) A method of controlling an electronic computer unit (1) of a motor vehicle according to claim 6, characterized in that it further comprises a third step calling a third function (27) of said second program interface of application (15) initiating interrupt protection (28). 8) Procédé de commande d'une unité de calcul électronique (1) de véhicule automobile selon la revendication 7, caractérisé en ce que ledit second gestionnaire d'évènements (14) transmet à ladite seconde interface de programmes d'application (15) des violations de ladite protection des tâches (21) et de ladite protection des interruptions (28).8) A method for controlling a motor vehicle electronic computing unit (1) according to claim 7, characterized in that said second event manager (14) transmits to said second application program interface (15) violations of said job protection (21) and said interrupt protection (28). 9) Unité de calcul électronique (1) de véhicule automobile apte à ma mise en œuvre du procédé de commande selon l'une quelconque des revendications 1 à 8 précédentes, ladite unité de calcul électronique (1) étant du type de celles comprenant un microprocesseur (2) comportant au moins une unité centrale de calcul (3) et une unité de protection mémoire (4) associées à au moins une mémoire de programme, au moins une mémoire de données, et à au moins une interface d'entrées/ sorties (5), ladite au moins une mémoire de programme stockant des premiers codes informatiques représentatifs d'un système d'exploitation (9) conforme à un niveau d'exigence en termes de sécurité coté QM de la norme ISO 26262, d'une première interface de programmes d'application (10), d'un premier gestionnaire d'évènements d'un environnement temps réel et de premiers pilotes (11) de périphériques aptes à être connectés à ladite au moins une interface d'entrées/ sorties (5), exécutés par ladite au moins une unité centrale de calcul (3), caractérisée en ce que ladite au moins une mémoire de programme stocke en outre des seconds codes informatiques représentatifs d'une seconde interface de programmes d'application (15), d'un second gestionnaire d'évènements (14) et d'un second pilote (12) spécifiques à ladite unité de protection mémoire (4) distincts desdits premiers codes informatiques (9, 10, 11).9) electronic computing unit (1) of a motor vehicle adapted to my implementation of the control method according to any one of claims 1 to 8 above, said electronic computing unit (1) being of the type comprising a microprocessor (2) comprising at least a central processing unit (3) and a memory protection unit (4) associated with at least one program memory, at least one data memory, and at least one input / output interface (5), said at least one program memory storing first computer codes representative of an operating system (9) conforming to a security requirement level QM of ISO 26262, of a first application program interface (10), a first event manager of a real-time environment and first peripheral drivers (11) adapted to be connected to the at least one input / output interface (5). ), ex cut by said at least one central computing unit (3), characterized in that said at least one program memory further stores second computer codes representative of a second application program interface (15), a second event manager (14) and a second driver (12) specific to said memory protection unit (4) separate from said first computer codes (9, 10, 11). 10) Véhicule automobile, caractérisé en qu'il comprend au moins une unité de calcul électronique (1) selon la revendication 9 précédente.10) Motor vehicle, characterized in that it comprises at least one electronic computing unit (1) according to preceding claim 9.
FR1556384A 2015-07-06 2015-07-06 METHOD FOR CONTROLLING AN ELECTRONIC CALCULATION UNIT OF A MOTOR VEHICLE, ELECTRONIC COMPUTING UNIT AND CORRESPONDING MOTOR VEHICLE Expired - Fee Related FR3038749B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1556384A FR3038749B1 (en) 2015-07-06 2015-07-06 METHOD FOR CONTROLLING AN ELECTRONIC CALCULATION UNIT OF A MOTOR VEHICLE, ELECTRONIC COMPUTING UNIT AND CORRESPONDING MOTOR VEHICLE
PCT/FR2016/051692 WO2017006041A1 (en) 2015-07-06 2016-07-04 Method for controlling an electronic computing unit of a motor vehicle, corresponding electronic computing unit and motor vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1556384A FR3038749B1 (en) 2015-07-06 2015-07-06 METHOD FOR CONTROLLING AN ELECTRONIC CALCULATION UNIT OF A MOTOR VEHICLE, ELECTRONIC COMPUTING UNIT AND CORRESPONDING MOTOR VEHICLE

Publications (2)

Publication Number Publication Date
FR3038749A1 true FR3038749A1 (en) 2017-01-13
FR3038749B1 FR3038749B1 (en) 2017-07-07

Family

ID=54848663

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1556384A Expired - Fee Related FR3038749B1 (en) 2015-07-06 2015-07-06 METHOD FOR CONTROLLING AN ELECTRONIC CALCULATION UNIT OF A MOTOR VEHICLE, ELECTRONIC COMPUTING UNIT AND CORRESPONDING MOTOR VEHICLE

Country Status (2)

Country Link
FR (1) FR3038749B1 (en)
WO (1) WO2017006041A1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DAVID HAWORTH ET AL: "Freedom from Interference forAUTOSAR-based ECUs: a partitioned AUTOSAR stack", AUTOMOTIVE - SAFETY AND SECURITY 2012, 14 November 2012 (2012-11-14), pages 85 - 98, XP055270474, Retrieved from the Internet <URL:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.646.6783&rep=rep1&type=pdf> [retrieved on 20160503] *
LUDOVIC PINTARD ET AL: "Using Fault Injection to Verify an AUTOSAR Application According to the ISO 26262", JOURNAL ARTICLES FROM SAE 2015 WORLD CONGRESS & EXHIBITION, 14 April 2015 (2015-04-14), pages 1 - 13, XP055270479, Retrieved from the Internet <URL:https://hal.inria.fr/hal-01221422/document> [retrieved on 20160503], DOI: 10.4271/2015- *
ZUEPKE ALEXANDER ET AL: "AUTOBEST: a united AUTOSAR-OS and ARINC 653 kernel", 21ST IEEE REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM, IEEE, 13 April 2015 (2015-04-13), pages 133 - 144, XP032777219, DOI: 10.1109/RTAS.2015.7108435 *

Also Published As

Publication number Publication date
FR3038749B1 (en) 2017-07-07
WO2017006041A1 (en) 2017-01-12

Similar Documents

Publication Publication Date Title
US20180107558A1 (en) System and Method for Self-Healing Basic Input/Output System Boot Image and Secure Recovery
US9678767B2 (en) Unified extensible firmware interface (UEFI) driver and protocol
US20080196081A1 (en) Switching between unsecure system software and secure system software
US9047491B2 (en) Encryption acceleration
US10802875B2 (en) Multithread framework for use in pre-boot environment of a system-on-chip
CN111201521B (en) Memory access proxy system with early write acknowledge support for application control
WO2018036328A1 (en) Multi-application-oriented user data management method and system
US10212272B1 (en) Near field communication enhanced computing systems
FR3103584A1 (en) Method for managing the debugging of a system on chip forming for example a microcontroller, and corresponding system on chip
US9996334B2 (en) Deploying and utilizing a software library and corresponding field programmable device binary
US10719456B2 (en) Method and apparatus for accessing private data in physical memory of electronic device
US9141803B2 (en) Self-healing of operating system components
KR101759411B1 (en) Security co-processor boot performance
WO2017006041A1 (en) Method for controlling an electronic computing unit of a motor vehicle, corresponding electronic computing unit and motor vehicle
WO2021139113A1 (en) Method and apparatus for signing transaction data, computer device, and storage medium
WO2015184902A1 (en) Concurrent processing method for intelligent split-screen and corresponding intelligent terminal
US11675602B2 (en) Methods and systems for creating root-of-trust for computing system components
US11593123B2 (en) Methods and apparatus for boot time reduction in a processor and programmable logic device environment
WO2019001291A1 (en) Payment application program management method and device, and mobile terminal
CN110377272B (en) Method and device for realizing SDK based on TBOX
CN110622164B (en) System, method and computer storage medium for driver execution
CN115668157A (en) Secure booting of a computing device
CN112116733A (en) Backup and acquisition method and system of vehicle Bluetooth key and electronic equipment
US20240152621A1 (en) Control method and apparatus for safety boot of chip, electronic device and storage medium
US20230094673A1 (en) Information handling systems and related methods to prevent tampering and verify the integrity of non-volatile data stored within non-volatile memory

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170113

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

ST Notification of lapse

Effective date: 20210305