DE102016222695A1 - Verfahren zur automatischen und dynamischen Re-Konfiguration einer Speicherschutz-Einheit sowie ein Mikrocontroller mit einer Speicherschutz-Einheit - Google Patents

Verfahren zur automatischen und dynamischen Re-Konfiguration einer Speicherschutz-Einheit sowie ein Mikrocontroller mit einer Speicherschutz-Einheit Download PDF

Info

Publication number
DE102016222695A1
DE102016222695A1 DE102016222695.9A DE102016222695A DE102016222695A1 DE 102016222695 A1 DE102016222695 A1 DE 102016222695A1 DE 102016222695 A DE102016222695 A DE 102016222695A DE 102016222695 A1 DE102016222695 A1 DE 102016222695A1
Authority
DE
Germany
Prior art keywords
memory
descriptor table
protection unit
access
entries
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.)
Withdrawn
Application number
DE102016222695.9A
Other languages
English (en)
Inventor
Marius Boarta
Sebastian Beyer
Mike Gemuende
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.)
Continental Teves AG and Co OHG
Original Assignee
Continental Teves AG and Co OHG
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 Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Priority to DE102016222695.9A priority Critical patent/DE102016222695A1/de
Priority to PCT/EP2017/078628 priority patent/WO2018091334A1/de
Publication of DE102016222695A1 publication Critical patent/DE102016222695A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/173Vehicle or other transportation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zur Konfiguration einer Speicherschutz-Einheit (MPU, 1) eines Mikrocontrollers (MCU, 10), bei welchem für die Speicherschutz-Einheit (MPU, 1) eine Deskriptor-Tabelle (1.1) bereitgestellt wird, deren Einträge Zugriffszulassungsdaten aufweisen, mit welchen Zugriffszulassungen für Speicherbereiche eines physikalischen Speichers definiert werden, welche zumindest einen Abschnitt einer Prozesskennung (Prozess-ID) eines einen Speicherzugriffsvorgang auslösenden Prozesses umfassen, eine Prozesskennung (Prozess-ID) des einen Speicherzugriffsvorgang initiierenden Prozesses mit den Zugriffszulassungsdaten verglichen werden und bei einer Übereinstimmung der Speicherzugriffsvorgang ausgeführt wird, eine weitere Speicherschutz-Einheit (eMPU, 1.2) mit einer weiteren Deskriptor-Tabelle (1.3) bereitgestellt wird, deren Einträge in Abhängigkeit einer Prozesskennung auf wenigstens eine Konfigurations-Tabelle (1.30, 1.31, 1.32 1.33) verweisen, und bei einem Umprogrammierungs-Prozess mit einer auf die weitere Deskriptor-Tabelle (1.3) verweisenden Prozesskennung ein definierter Teilbereich (1.11) der Deskriptor-Tabelle (1.1) mit den Einträgen der der Prozesskennung zugehörigen Konfigurations-Tabelle (1.30, 1.31, 1.32 1.33) konfiguriert wird. Die Erfindung betrifft ferner einen Mikrocontroller (10) zur Durchführung des erfindungsgemäßen Verfahrens.

Description

  • Die Erfindung betrifft ein Verfahren zur Konfiguration einer eine Deskriptor-Tabelle aufweisende Speicherschutz-Einheit eines Mikrocontrollers. Die Erfindung betrifft ferner einen Mikrocontroller mit einer Speicherschutz-Einheit zur Durchführung des erfindungsgemäßen Verfahrens.
  • Steuergeräte in Fahrzeugen sind bekannt und bestehen aus einem oder mehreren Prozessoren als Mikrocontroller und darauf ausgeführter Software, die in einen technischen Anwendungskontext, bspw. der Motorsteuerung eingebunden ist. Auf einem solchen Steuergerät können verschiedene Anwendungen realisiert werden, die auf denselben Speicherbereich zugreifen und damit Probleme verursachen können.
  • Als Speicherschutzkonzept ist der Einsatz einer Speicherschutz-Einheit (MPU, Memory Protection Unit) als separate Hardware-Komponente bekannt, die in einem Mikrocontroller des Steuergerätes integrierbar ist oder auch als vom Mikrokontroller getrennte Komponente realisiert werden kann.
  • Der Speicherschutz dient üblicherweise der Umsetzung von Zugriffsrechten auf Speicherbereiche eines physikalischen Speichers und ermöglicht dadurch die Abschottung von Anwendungsprozessen voneinander und vom Betriebssystem.
  • Ein Beispiel einer Speicherschutz-Einheit zur Spezifizierung von Zugriffsrechten bzw. Zugriffszulassungen seitens eines von einem Betriebssystem initiierten Prozesses bzw. Task (auch Thread genannt) auf Speicherbereiche eines physikalischen Speichers ist in 2 dargestellt.
  • Die 2 zeigt in einer schematischen Darstellung eine in einem Steuergerät eines Fahrzeugs eingebetteten Mikrocontroller 10' mit einer Speicherschutz-Einheit 1' und einer dieser Speicherschutz-Einheit 1' zugeordneten Deskriptor-Tabelle 1.1'. Die Konfiguration dieser Speicherschutz-Einheit 1' ist in der Deskriptor-Tabelle 1.1' gespeichert. Der Mikrocontroller 10' kann mit einem oder mit mehreren Mikrocontroller-Kernen ausgestattet sein.
  • Mit einer Prozess-Kennung (PID, Process Identifier) wird ein auf dem Mikrocontroller 10' laufender Prozess, welcher von dem Betriebssystem des Mikrocontrollers 10' initiiert wird, eindeutig identifiziert. Damit können auf der Basis solcher PID's auch die Zugriffsrechte bzw. Zugriffszulassungen des zugehörigen Prozesses verwaltet und gesteuert werden. Hierzu dient die Deskriptor-Tabelle 1.1'.
  • Die Deskriptor-Tabelle 1.1' weist drei Bereiche auf, nämlich einen Bereich 1.12' (Instruction Regions) mit 6 Einträgen MPU0 bis MPU5, einen Bereich 1.13' (Data Regions) mit 12 Einträgen MPU6 bis MPU17 und schließlich den dritten Bereich 1.14' (Instruction/Data Regions) mit 6 Einträgen MPU18 bis MPU23. Insgesamt weist diese Deskriptor-Tabelle 1.1' somit 24 Einträge auf. Jeder Deskriptor-Eintrag weist Zugriffszulassungsdaten auf, mit welchen Speicherzugriffsvorgänge auf einen physikalischen Speicher verwaltet werden. Solche Zugriffszulassungsdaten können als Prozess-Kennung (Process Identifier, PID) mit einer Bit-Maske realisiert werden, so dass diese Zugriffszulassungsdaten nur einen Abschnitt der PID aufweisen.
  • Bevor der Zugriff eines von dem Betriebssystem des Mikrocontrollers 10' initiierten Prozesses auf bestimmte Speicherbereiche eines physikalischen Speichers (in 2 nicht dargestellt) erfolgt, wird die PID dieses Prozesses bitweise mit den Bits der Bit-Maske verglichen und bei einer Übereinstimmung der Zugriff auf den Speicher zugelassen.
  • Diese Prozess-Identifizierung eines auf einem Kern des Mikrocontrollers 10' laufenden Prozesses übernimmt gemäß 2 eine PID-Einheit 2', die die Prozess-Kennung dieses aktuellen Prozesses der Speicherschutz-Einheit 1' zuführt, diese Prozess-Kennung PID mit den Bits aus der Bit-Maske der Einträge der Deskriptor-Tabelle 1.1' vergleicht und bei einer Übereinstimmung mit einer der Einträge den Zugriff auf den durch diese Prozess-Kennung PID spezifizierten Speicherbereich freigibt, so dass dieser aktuelle Prozess einen Speicherzugriffsvorgang auf diesen Speicherbereich ausführen kann.
  • Es ist auch möglich, dass jeder Deskriptor-Eintrag eine PID darstellt und dass bspw. nur n Bits mit den höchsten oder den niedrigsten Stellenwerten als Zugriffszulassungsdaten verwendet werden. Auch damit können mit einem solchen Deskriptor-Eintrag mehrere Prozesse mit unterschiedlichen PIDs angesprochen werden. Wird als Zugriffszulassungsdatum die vollständige PID verwendet, kann natürlich nur dieser diese PID aufweisende Prozess angesprochen werden.
  • Mit zunehmend komplexer werdenden Software, die von dem Mikrocontroller 10' ausgeführt wird, steigt auch der Bedarf an Deskriptor-Einträgen. Bei einem Kontextwechsel zu einem anderen Prozess ist es daher erforderlich, zumindest einen Teil der Deskriptor-Tabelle 1.1' umzukonfigurieren. Eine solche Umkonfiguration wird von dem Betriebssystem durchgeführt und verbraucht Laufzeit, die von der Anzahl der umkonfigurierten Deskriptor-Einträge abhängt. Dies führt in nachteiliger Weise zur Zunahme der Laufzeit bei einem Kontextwechsel.
  • Bei einem Kontextwechsel wird die Bearbeitung des aktuellen Prozesses unterbrochen und ein anderer Prozess aktiviert, der vor der Unterbrechung inaktiv war. An einem Kontextwechsel sind somit zwei Prozesse beteiligt, einerseits der suspendierte Prozess und andererseits der nach der Unterbrechung aktivierte Prozess.
  • Die Aufgabe der Erfindung besteht darin, ein Verfahren zur Konfiguration einer eine Deskriptor-Tabelle aufweisende Speicherschutz-Einheit (MPU) anzugeben, welches für einen Kontextwechsel möglichst wenig Laufzeit verbraucht. Ferner ist es Aufgabe der Erfindung, zur Durchführung des erfindungsgemäßen Verfahrens einen Mikrocontroller (MCU) mit einer Speicherschutz-Einheit (MPU) anzugeben.
  • Die erstgenannte Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des Patentanspruchs 1.
  • Bei diesem Verfahren zur Konfiguration einer Speicherschutz-Einheit (MPU) eines Mikrocontrollers (MCU) wird
    • - für die Speicherschutz-Einheit eine Deskriptor-Tabelle bereitgestellt, deren Einträge Zugriffszulassungsdaten aufweisen, mit welchen Zugriffszulassungen für Speicherbereiche eines physikalischen Speichers definiert werden, wobei Zugriffszulassungsdaten verwendet werden, welche zumindest einen Abschnitt einer Prozesskennung (Prozess-ID) eines einen Speicherzugriffsvorgang auslösenden Prozesses umfassen,
    • - eine Prozesskennung (Prozess-ID) des einen Speicherzugriffsvorgang initiierenden Prozesses mit den Zugriffszulassungsdaten verglichen und bei einer Übereinstimmung der Speicherzugriffsvorgang ausgeführt,,
    • - eine weitere Speicherschutz-Einheit mit einer weiteren Deskriptor-Tabelle bereitgestellt, deren Einträge in Abhängigkeit einer Prozesskennung auf wenigstens eine Konfigurations-Tabelle verweisen, und
    • - bei einem Umprogrammierungs-Prozess mit einer auf die weitere Deskriptor-Tabelle verweisende Prozesskennung ein definierter Teilbereich der Deskriptor-Tabelle mit den Einträgen der der Prozesskennung zugehörigen Konfigurations-Tabelle konfiguriert.
  • Bei diesem erfindungsgemäßen Verfahren wird also wenigstens eine weitere Deskriptor-Tabelle bereitgestellt, die über eine Hardware-Komponente, nämlich einer weiteren Speicherschutz-Einheit (eMPU) verwaltet wird. Bei einem Wechsel der Prozesskennung (PID) wird ein definierter Teilbereich der Deskriptor-Tabelle mit dieser Hardware eMPU umprogrammiert, indem entsprechend der Prozesskennung der Eintrag in der weiteren Deskriptor-Tabelle der weiteren Speicherschutz-Einheit eMPU ausgewählt und die zugehörige bzw. referenzierte Konfigurations-Tabelle in den definierten Teilbereich der Deskriptor-Tabelle geladen wird.
  • Diese Erweiterung mittels der weiteren Speicherschutz-Einheit eMPU und der wenigstens einen zugehörigen weiteren Deskriptor-Tabelle wird die Funktionalität der Deskriptor-Tabelle nicht beeinflusst, da die in der Deskriptor-Tabelle spezifizierten Zugriffszulassungen nach wie vor anhand der Prozesskennung bestimmt werden.
  • Nach einer vorteilhaften Ausgestaltung der Erfindung werden die Zugriffszulassungsdaten erzeugt, indem die mit einer Bit-Maske belegten Prozess-Kennungen (PID) in der Deskriptor-Tabelle gespeichert werden. Nach einer alternativen Realisierung werden Prozess-Kennungen in der Deskriptor Tabelle gespeichert, wobei als Zugriffszulassungsdaten lediglich die n Bits entweder mit den höchsten oder den niedrigsten Stellen der Prozess-Kennungen verwendet werden.
  • Nach einer weiteren vorteilhaften Weiterbildung der Erfindung wird die Deskriptor-Tabelle in einen ersten Abschnitt mit Einträgen für eine statische Konfiguration und in einen zweiten Abschnitt mit Einträgen für eine dynamische Konfiguration geteilt, wobei der zweite Abschnitt als definierter Teilbereich mittels der weiteren Deskriptor-Tabelle konfiguriert wird. Die statische Konfiguration kann während des Betriebs der Mikroprozessor-Einheit nicht verändert werden.
  • Diese Konfiguration des zweiten Abschnitts der Deskriptor-Tabelle für die dynamische Konfiguration ist in der wenigstens einen Konfigurations-Tabelle gespeichert. Diese Konfiguration-Tabelle kann in einem Flash-Speicher oder in einem RAM-Speicher abgelegt werden.
  • Es können mehrerer solcher Konfiguration-Tabellen bereitgestellt werden, welche über die Prozess-Kennung der weiteren Deskriptor-Tabelle der weiteren Speicherschutz-Einheit referenziert werden.
  • Die zweitgenannte Aufgabe wird gelöst durch einen Mikrocontroller (MCU) mit einer Speicherschutz-Einheit (MPU) mit den Merkmalen gemäß des Patentanspruches 5.
  • Ein solcher Mikrocontroller (MCU) umfasst:
    • - eine Speicherschutz-Einheit (MPU) mit einer Deskriptor-Tabelle, deren Einträge Zugriffszulassungsdaten aufweisen, welche Zugriffszulassungen für Speicherbereiche eines physikalischen Speichers definieren, wobei Zugriffszulassungsdaten verwendet werden, welche zumindest einen Abschnitt einer Prozesskennung (Prozess-ID) eines einen Speicherzugriffsvorgang auslösenden Prozesses umfassen,
    • - eine weitere Speicherschutz-Einheit (eMPU) mit einer weiteren Deskriptor-Tabelle, deren Einträge in Abhängigkeit einer Prozesskennung auf wenigstens eine Konfigurations-Tabelle verweisen, wobei
    • - die weitere Speicherschutzeinheit (eMPU) ausgebildet ist, bei einem Umprogrammierungs-Prozess mit einer auf die weitere Deskriptor-Tabelle verweisenden Prozesskennung einen definierten Teilbereich der Deskriptor-Tabelle mit den Einträgen der der Prozesskennung zugehörigen Konfigurations-Tabelle zu konfigurieren.
  • Die im Zusammenhang mit dem erfindungsgemäßen Verfahren aufgeführten Vorteile weist auch dieser erfindungsgemäße Mikrocontroller auf.
  • Eine vorteilhafte Ausgestaltung der Erfindung sieht vor, dass die Deskriptor-Tabelle der Speicherschutz-Einheit in einen ersten Abschnitt mit Einträgen für eine statische Konfiguration und einen zweiten Abschnitt mit Einträgen für eine dynamische Konfiguration aufgeteilt ist. Dieser zweite Abschnitt wird dann mittels den Einträgen der wenigstens einen Konfigurations-Tabelle umprogrammiert.
  • Das erfindungsgemäße Verfahren und ein Mikrocontroller (MCU) mit einer Speicherschutz-Einheit zur Durchführung des erfindungsgemäßen Verfahrens wird nachfolgend anhand eines Ausführungsbeispiels unter Bezugnahme auf die beigefügten Figuren beschrieben und erläutert. Es zeigen:
    • 1 eine schematische Darstellung eines Mikrocontrollers (MCU) mit einer Speicherschutz-Einheit (MPU) und einer weiteren Speicherschutz-Einheit (eMPU) zur Erläuterung des erfindungsgemäßen Verfahrens, und
    • 2 eine schematische Darstellung eines Mikrocontrollers mit einer Speicherschutz-Einheit gemäß Stand der Technik.
  • Da der Mikrocontroller 10' mit einer Speicherschutz-Einheit 1' gemäß 2 bereits in der Beschreibungseinleitung beschrieben wurde, wird im Zusammenhang mit der Beschreibung des Mikrocontrollers 10 gemäß 1 lediglich hierauf verwiesen.
  • Der Mikrocontroller 10 gemäß 1 umfasst eine Speicherschutz-Einheit (MPU) 1 mit einer Deskriptor-Tabelle 1.1 sowie eine weitere Speicherschutz-Einheit (eMPU) 1.2 mit einer weiteren Deskriptor-Tabelle 1.3.
  • Die Konfiguration der Speicherschutz-Einheit (MPU) 1 ist in dieser Deskriptor-Tabelle 1.1 gespeichert. Der Mikrocontroller 10 kann mit einem oder mit mehreren Mikrocontroller-Kernen ausgestattet sein.
  • Die Deskriptor-Tabelle 1.1'. weist drei Bereiche auf, nämlich einen Bereich 1.12 (Instruction Regions) mit 6 Einträgen MPU0 bis MPU5, einen Bereich 1.13 (Data Regions) mit 12 Einträgen MPU6 bis MPU17 und schließlich den dritten Bereich 1.14 (Instruction/Data Regions) mit 6 Einträgen MPU18 bis MPU23. Insgesamt weist diese Deskriptor-Tabelle 1.1 somit 24 Einträge auf. Jeder Deskriptor-Eintrag ist mit Zugriffszulassungsdaten spezifiziert, das heißt es werden dadurch Zugriffszulassungen eines von dem Betriebssystem des Mikrocontrollers 10 initiierten Prozesses zur Durchführung eines Speicherzugriffsvorganges für bestimmte Speicherbereiche eines physikalischen Speichers (in 1 nicht dargestellt) des Mikrocontrollers 10 definiert. Diese Zugriffszulassungsdaten umfassen wenigstens einen Abschnitt einer Prozesskennung (Process Identifier, PID) . Daher werden als Zugriffszulassungsdaten die Prozesskennungen zusammen mit jeweils einer Bit-Maske in der Deskriptor-Tabelle 1.1 als Deskriptor-Eintrag gespeichert. Es ist auch möglich die Prozesskennungen als Deskriptor-Eintrag zu speichern und als Zugriffszulassungsdaten lediglich die n Bits entweder mit den höchsten oder den niedrigsten Stellenwerten zu verwenden.
  • Wie bereits im Zusammenhang mit 2 erläutert, wird mittels einer PID-Einheit 2 die Prozess-Kennung (PID) eines aktuellen Speicherzugriffs-Prozesses der Speicherschutz-Einheit 1 zuführt und mit den Zugriffszulassungsdaten aus der Deskriptor-Tabelle 1.1'. verglichen. Bei einer Übereinstimmung mit einer der Einträge wird der Zugriff auf den durch die Prozess-Kennung PID spezifizierten Speicherbereich freigegeben, so dass der Speicherzugriffsvorgang durchgeführt werden kann.
  • Die Deskriptor-Tabelle 1.1 weist zwei Abschnitte 1.10 und 1.11 auf, wobei der erste Abschnitt 1.10 eine statische Konfiguration für die Speicherschutz-Einheit 1 enthält, während der zweite Abschnitt 1.11 zur dynamischen Konfiguration dient. Der erste Abschnitt 1.10 umfasst die Bereiche 1.12 und 1.13 entsprechend der Deskriptor-Tabelle 1.1`, während der zweite Abschnitt 1.11 dem Bereich 1.14 der Deskriptor-Tabelle 1.1' nach 2 entspricht.
  • Damit enthält die Deskriptor-Tabelle 1.1 gemäß 1 einen Abschnitt 1.10 mit 6 Instruktions-Bereichen (background Instruction Regions) und 12 Daten-Bereichen (Background Data Regions), während der dynamische Konfigurations-Abschnitt 1.11 6 Instruktions/Daten-Bereiche (Dynamic Regions Instruktion/Data) aufweist.
  • Die weitere Speicherschutz-Einheit (eMPU) 1.2 dient zur Umprogrammierung des dynamischen Konfigurations-Abschnittes 1.11. Die zugehörigen Konfigurationen sind in Konfigurations-Tabellen 1.30, 1.31, 1.32 und 1.33 gespeichert, die jeweils Einträge MPU0 bis MPU5 aufweisen. Auf diese Konfigurations-Tabellen 1.30, 1.31, 1.32 und 1.33 wird in einer weiteren Deskriptor-Tabelle 1.3 der weiteren Speicherschutz-Einheit 1.2 mittels Zugriffszulassungsdaten (PID) referenziert. Mit dem Zugriffszulassungsdatum 10 wird in der weiteren Deskriptor-Tabelle 1.3 auf die Konfigurations-Tabelle 1.30, mit dem Zugriffszulassungsdatum 12 wird auf die Konfigurations-Tabelle 1.31, mit dem Zugriffszulassungsdatum 4 wird auf die Konfigurations-Tabelle 1.32 und mit dem Zugriffszulassungsdatum 5 wird auf die Konfigurations-Tabelle 1.33 verwiesen. Auch diese Zugriffszulassungsdaten der weiteren Deskriptor-Tabelle 1.3 werden dadurch erzeugt, dass Prozesskennungen (PID) zusammen mit jeweils einer Bit-Maske gespeichert werden. Diese Zugriffszulassungsdaten können auch die n Bits entweder der höchsten oder der niedrigsten Stellenwerte einer Prozesskennung (PID) darstellen.
  • Die Prozesskennung eines von dem Betriebssystem des Mikrocontrollers 10 veranlassten Prozesses zur Durchführung eines Speicherzugriffsvorganges wird von der PID-Einheit 2 identifiziert und nicht nur der Speicherschutz-Einheit 1, sondern auch der weiteren Speicherschutz-Einheit 1.2 zugeführt, die die Prozesskennung PID mit den in der weiteren Deskriptor-Tabelle 1. 3 abgelegten Zugriffszulassungsdaten vergleicht. Wechselt der Prozess auf einen Umprogrammierungs-Prozess mit einer auf die weiteren Deskriptor-Tabellen 1.30, 1.31, 1.32 und 1.33 verweisenden Zugriffszulassungsdaten wird mittels der weiteren Speicherschutz-Einheit 1.2 der dynamische Abschnitt 1.11 der Deskriptor-Tabelle 1.1 umprogrammiert.
  • Bei einem Kontextwechsel auf einen Prozess mit bspw. einem Zugriffszulassungsdatum 4 wird der dynamische Abschnitt 1.11 mit der Konfigurations-Tabelle 1.32 umprogrammiert, während mit einem Zugriffszulassungsdatum 10 der dynamische Abschnitt 1.11 mit der Konfigurations-Tabelle 1.30 umprogrammiert wird.
  • Mit einer solchen Hardware-Komponente (eMPU) 1.2 können mehrere Bereiche der Deskriptor-Tabelle 1.1 der Speicherschutz-Einheit 1 mittels der Deskriptor-Tabellen 1.30 bis 1.33 statisch definiert werden, welche dann mittels dieser weiteren Speicherschutz-Einheit 1.2 automatisch, also dynamisch umgeschaltet und die entsprechende Bereiche der Deskriptor-Tabelle 1.1 umprogrammiert werden. Hierfür wird keine Software-Laufzeit verbraucht.
  • Das erfindungsgemäße Verfahren kann unter Verwendung des entsprechenden Mikrocontrollers für Sicherheitsanwendungen im Fahrzeug eingesetzt werden oder dort, wo eine sichere Speicher-Partitionierung erforderlich ist.

Claims (6)

  1. Verfahren zur Konfiguration einer Speicherschutz-Einheit (MPU, 1) eines Mikrocontrollers (MCU, 10), bei welchem - für die Speicherschutz-Einheit (MPU, 1) eine Deskriptor-Tabelle (1.1) bereitgestellt wird, deren Einträge Zugriffszulassungsdaten aufweisen, mit welchen Zugriffszulassungen für Speicherbereiche eines physikalischen Speichers definiert werden, wobei Zugriffszulassungsdaten verwendet werden, welche zumindest einen Abschnitt einer Prozesskennung (Prozess-ID) eines einen Speicherzugriffsvorgang auslösenden Prozesses umfassen, - eine Prozesskennung (Prozess-ID) des einen Speicherzugriffsvorgang initiierenden Prozesses mit den Zugriffszulassungsdaten verglichen werden und bei einer Übereinstimmung der Speicherzugriffsvorgang ausgeführt wird, - eine weitere Speicherschutz-Einheit (eMPU, 1.2) mit einer weiteren Deskriptor-Tabelle (1.3) bereitgestellt wird, deren Einträge in Abhängigkeit einer Prozesskennung auf wenigstens eine Konfigurations-Tabelle (1.30, 1.31, 1.32 1.33) verweisen, und - bei einem Umprogrammierungs-Prozess mit einer auf die weitere Deskriptor-Tabelle (1.3) verweisenden Prozesskennung ein definierter Teilbereich (1.11) der Deskriptor-Tabelle (1.1) mit den Einträgen der der Prozesskennung zugehörigen Konfigurations-Tabelle (1.30, 1.31, 1.32 1.33) konfiguriert wird.
  2. Verfahren nach Anspruch 1, bei welchem als Zugriffszulassungsdaten mit einer Bit-Maske belegte Prozess-Kennungen (PID) in der Deskriptor-Tabelle (1.1) gespeichert werden.
  3. Verfahren nach Anspruch 1, bei welchem Prozess-Kennungen (PID) in der Deskriptor-Tabelle (1.1) gespeichert werden, wobei als Zugriffszulassungsdaten die n Bits entweder mit den höchsten oder den niedrigsten Stellenwerten verwendet werden.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem die Deskriptor-Tabelle (1.1) in einen ersten Abschnitt (1.10) mit Einträgen für eine statische Konfiguration und in einen zweiten Abschnitt (1.11) mit Einträgen für eine dynamische Konfiguration geteilt wird, wobei der zweite Abschnitt (1.11) als definierter Teilbereich mittels der weiteren Deskriptor-Tabelle (1.3) konfiguriert wird.
  5. Mikrocontroller (MCU, 10), umfassend - eine Speicherschutz-Einheit (MPU, 1) mit einer Deskriptor-Tabelle (1.1), deren Einträge Zugriffszulassungsdaten aufweisen, mit welchen Zugriffszulassungen für Speicherbereiche eines physikalischen Speichers definiert werden, wobei - Zugriffszulassungsdaten verwendet werden, welche zumindest einen Abschnitt einer Prozesskennung (Prozess-ID) eines einen Speicherzugriffsvorgang auslösenden Prozesses umfassen, - eine weitere Speicherschutz-Einheit (eMPU, 1.2) mit einer weiteren Deskriptor-Tabelle (1.3), deren Einträge in Abhängigkeit einer Prozesskennung auf wenigstens eine Konfigurations-Tabelle (1.30, 1.31, 1.32 1.33) verweisen, wobei - die weitere Speicherschutzeinheit (1.2) ausgebildet ist, bei einem Umprogrammierungs-Prozess mit einer auf die weitere Deskriptor-Tabelle (1.3) verweisenden Prozesskennung einen definierten Teilbereich (1.11) der Deskriptor-Tabelle (1.1) mit den Einträgen der der Prozesskennung zugehörigen Konfigurations-Tabelle (1.30, 1.31, 1.32 1.33) zu konfigurieren.
  6. Mikrocontroller (10) nach Anspruch 5, bei welcher die Deskriptor-Tabelle (1.1) in einen ersten Abschnitt (1.10) mit Einträgen für eine statische Konfiguration und einen zweiten Abschnitt (1.11) mit Einträgen für eine dynamische Konfiguration aufgeteilt ist.
DE102016222695.9A 2016-11-17 2016-11-17 Verfahren zur automatischen und dynamischen Re-Konfiguration einer Speicherschutz-Einheit sowie ein Mikrocontroller mit einer Speicherschutz-Einheit Withdrawn DE102016222695A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102016222695.9A DE102016222695A1 (de) 2016-11-17 2016-11-17 Verfahren zur automatischen und dynamischen Re-Konfiguration einer Speicherschutz-Einheit sowie ein Mikrocontroller mit einer Speicherschutz-Einheit
PCT/EP2017/078628 WO2018091334A1 (de) 2016-11-17 2017-11-08 Verfahren zur automatischen und dynamischen re-konfiguration einer speicherschutz-einheit sowie ein mikrocontroller mit einer speicherschutz-einheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016222695.9A DE102016222695A1 (de) 2016-11-17 2016-11-17 Verfahren zur automatischen und dynamischen Re-Konfiguration einer Speicherschutz-Einheit sowie ein Mikrocontroller mit einer Speicherschutz-Einheit

Publications (1)

Publication Number Publication Date
DE102016222695A1 true DE102016222695A1 (de) 2018-05-17

Family

ID=60452598

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016222695.9A Withdrawn DE102016222695A1 (de) 2016-11-17 2016-11-17 Verfahren zur automatischen und dynamischen Re-Konfiguration einer Speicherschutz-Einheit sowie ein Mikrocontroller mit einer Speicherschutz-Einheit

Country Status (2)

Country Link
DE (1) DE102016222695A1 (de)
WO (1) WO2018091334A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11334501B2 (en) 2020-01-28 2022-05-17 Hewlett Packard Enterprise Development Lp Access permissions for memory regions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070277009A1 (en) * 2004-09-10 2007-11-29 Freescale Semiconductor, Inc. Memory Management Unit and Method for Memory Management
US20120215991A1 (en) * 2011-02-23 2012-08-23 Freescale Semiconductor, Inc. Memory protection unit (mpu) having a shared portion and method of operation
US20140223047A1 (en) * 2013-02-07 2014-08-07 Texas Instruments Incorporation System and method for per-task memory protection for a non-programmable bus master

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9116845B2 (en) * 2011-02-23 2015-08-25 Freescale Semiconductor, Inc. Remote permissions provisioning for storage in a cache and device therefor
CN104956342B (zh) * 2013-02-05 2018-04-27 Arm 有限公司 使用存储器保护单元来支持客户操作系统的虚拟化
US9875358B2 (en) * 2014-06-20 2018-01-23 Microsoft Technology Licensing, Llc Preventing code modification after boot
US9710404B2 (en) * 2015-03-23 2017-07-18 Intel Corporation Dynamic configuration and peripheral access in a processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070277009A1 (en) * 2004-09-10 2007-11-29 Freescale Semiconductor, Inc. Memory Management Unit and Method for Memory Management
US20120215991A1 (en) * 2011-02-23 2012-08-23 Freescale Semiconductor, Inc. Memory protection unit (mpu) having a shared portion and method of operation
US20140223047A1 (en) * 2013-02-07 2014-08-07 Texas Instruments Incorporation System and method for per-task memory protection for a non-programmable bus master

Also Published As

Publication number Publication date
WO2018091334A1 (de) 2018-05-24

Similar Documents

Publication Publication Date Title
DE102013022405B3 (de) Schutz globaler Register in einem Multithreaded-Prozessor
DE102019109672A1 (de) Rückgängigmachung nach einem teilausfall in mehreren elektronischen steuergeräten mittels over-the-air-updates
DE102007062745B4 (de) Vorrichtung und Verfahren zum schnellen und sicheren Speicherkontextwechsel
DE102014201682A1 (de) Verfahren zur Koexistenz von Software mit verschiedenen Sicherheitsstufen in einem Multicore-Prozessorsystem
DE10115729B4 (de) Vielseitiges Boot-Verfahren für eine Anwendungs-Software eines Mikrocontrollers
EP1262856B1 (de) Programmgesteuerte Einheit
DE102016222695A1 (de) Verfahren zur automatischen und dynamischen Re-Konfiguration einer Speicherschutz-Einheit sowie ein Mikrocontroller mit einer Speicherschutz-Einheit
DE102013016114B3 (de) Bussystem und Verfahren für geschützte Speicherzugriffe
DE10036414B4 (de) Verfahren zur Inbetriebnahme eines Mobiltelefons
DE10064025B4 (de) Verfahren zum Booten eines Mikroprozessors sowie Mikroprozessor mit einem bedingten deterministischen Rücksetzvektor
EP3566398B1 (de) Verfahren und halbleiterschaltkreis zum schützen eines betriebssystems eines sicherheitssystems eines fahrzeugs
DE3210616A1 (de) Rechner
DE102016106572A1 (de) Verfahren zum betreiben eines steuergeräts für ein fahrzeug, steuergerät, betriebssystem, kraftfahrzeug
DE102016203965A1 (de) Überwachung eines Rechensystems
EP2333624A1 (de) Verfahren und Einrichtung zur Konfigurierung einer Komponente in einer industriellen Automatisierungsanordnung
EP3115855A1 (de) Verfahren für den betrieb einer prozesstechnischen anlage sowie eine vorrichtung
EP1563358B1 (de) Verfahren zur sicheren überprüfung eines speicherbereiches eines mikrocontrollers in einem steuergerät und steuergerät mit einem geschützten mikrocontroller
DE102017100118A1 (de) Skalierbares Steuersystem für ein Kraftfahrzeug
DE102016224206A1 (de) Fahrzeugsteuervorrichtung
DE102013003593A1 (de) Verfahren zum Durchführen eines Löschungsvorgangs in einem beschreibbaren Speicherelement
DE112019001355T5 (de) Ssystem und verfahren zur steuerung von fahrzeugsystemen
DE102016222691A1 (de) Mikrocontrollersystem und Verfahren zur Kontrolle von Speicherzugriffen in einem Mikrocontrollersystem
WO2015177226A1 (de) Verfahren zum erzeugen einer hypervisor-einheit für eingebettete systeme
WO2017093029A1 (de) Verfahren zum betreiben eines mikrocontrollers
DE102015211313A1 (de) Werkzeugsystem mit einer Überlagerung von Prozesskurven von mindestens einer Montageanlage und ein Verfahren für ein Werkzeugsystem einer Montageanlage

Legal Events

Date Code Title Description
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee