[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE10030980A1 - Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller - Google Patents

Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller

Info

Publication number
DE10030980A1
DE10030980A1 DE10030980A DE10030980A DE10030980A1 DE 10030980 A1 DE10030980 A1 DE 10030980A1 DE 10030980 A DE10030980 A DE 10030980A DE 10030980 A DE10030980 A DE 10030980A DE 10030980 A1 DE10030980 A1 DE 10030980A1
Authority
DE
Germany
Prior art keywords
microcontroller
information
program
microprocessor
hardware
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.)
Ceased
Application number
DE10030980A
Other languages
English (en)
Inventor
Rainer Sommer
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE10030980A priority Critical patent/DE10030980A1/de
Priority to JP2001197681A priority patent/JP2002099307A/ja
Priority to US09/897,870 priority patent/US20020073361A1/en
Publication of DE10030980A1 publication Critical patent/DE10030980A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2736Tester hardware, i.e. output processing circuits using a dedicated service processor for test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Control By Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Steuerung des Ablaufs eines auf mindestens einem Mikroprozessor (2; 12) eines Mikrocontrollers (1; 11) ablauffähigen Programms. Um den Ablauf eines auf mindestens einem Mikroprozessor (2; 12) eines Mikrocontrollers (1; 11) ablauffähigen Programms möglichst derart zu steuern, dass das Programm an unterschiedliche Controller-Steps eines Mikrocontrollers (1) flexibel angepasst werden kann, wird vorgeschlagen, dass aus mindestens einem Informationsregister (6) des Mikrocontrollers (1) Informationen über die Hardware des Mikrocontrollers (1) eingelesen werden und in Abhängigkeit von den eingelesenen Informationen mindestens ein Schalter betätigt wird, durch den der Ablauf des Programms gesteuert wird.

Description

Die vorliegende Erfindung betrifft ein Verfahren zur Steuerung des Ablaufs eines auf mindestens einem Mikroprozessor eines Mikrocontrollers ablauffähigen Programms. Die Erfindung betrifft des weiteren einen Mikrocontroller mit mindestens einem Mikroprozessor, wobei auf dem mindestens einen Mikroprozessor ein Programm ablauffähig ist. Schließlich betrifft die vorliegende Erfindung ein Steuerelement, insbesondere Read-Only-Memory, Random-Access-Memory oder Flash-Memory. Das Steuerelement wird in einem Steuergerät insbesondere eines Kraftfahrzeugs eingesetzt. Alternativ kann das Steuerelement auch in einer Testvorrichtung zum Testen eines Mikrocontrollers, eines Steuergeräts und/oder eines auf mindestens einem Mikroprozessor des Mikrocontrollers ablauffähiger. Programms eingesetzt werden.
Stand der Technik
Aus dem Stand der Technik sind Mikrocontroller bekannt, die mindestens einen Mikroprozessor, einen Analog/Digital (A/D)-Wandler, einen Digital/Analog (D/A)-Wandler, einen Datenbus, interne Steuerelemente (z. B. ein Read-Only- Memory) und/oder weitere Bauelemente umfassen. Mindestens ein derartiger Mikrocontroller ist bspw. Teil eines Steuergerätes für ein Kraftfahrzeug. Das Steuergerät dient zur Steuerung/Regelung von technischen Vorgängen und Prozessen (Brennkraftmaschine, Getriebe, Fahrwerk, Klimaanlage) in dem Kraftfahrzeug. In einem Steuerelement - einem internen oder externen Speicherelement - des Mikrocontrollers ist ein Steuerprogramm zur Ausführung der Steuerung/Regelung abgespeichert. Das Steuerprogramm ist auf mindestens einem der Mikroprozessoren des Mikrocontrollers ablauffähig. Ein derartiger Mikrocontroller kann aber auch Teil eines Steuergerätes für eine beliebige andere Steuerungs-/Regelungsanwendung sein.
Die Mikrocontroller unterschiedlicher Hersteller, aber auch die Mikrocontroller des gleichen Herstellers und sogar die Mikrocontroller innerhalb einer Controller-Familie des gleichen Herstellers können hardwaremäßig unterschiedlich ausgebildet sein. Die verschiedenen Mikrocontroller unterscheiden sich bspw. durch die verwendeten Bauelemente. Die unterschiedlichen Versionen eines Mikrocontrollers innerhalb einer Controller-Familie werden als Controller- Steps bezeichnet. Die einzelnen Controller-Steps können einen unterschiedlichen Umfang an Funktionalitäten (sog. Features) und/oder unterschiedliche fehlerhafte Funktionalitäten aufweisen. Die fehlerhaften Funktionalitäten müssen durch sog. Workarounds umgangen werden, wobei versucht wird, die fehlerhafte Funktionalität mittels anderer Funktionalitäten nachzubilden.
Unter Hardware gemäß der vorliegenden.
Es sind bspw. Mikrocontroller bekannt, bei denen der A /D- Wandler einen Analog- in einen Digitalwert wandelt, diesen zur Anzeige bringt und dann durch Setzen eines Bits einen Interrupt auslöst. Bei einem Mikrocontroller eines bestimmten Controller-Steps ist jedoch der Fehler bekannt, dass ein Interrupt-Bit gesetzt wird. Dieser Fehler läßt sich dadurch umgehen, dass das Interrupt-Bit nach einer vorgebbaren Zeitdauer nach Beginn der A/D-Wandlung gesetzt wird. Die Zeitdauer wird so gewählt, dass die A/D-Wandlung auch im sog. Worst Case beendet ist. Der fehlerbehaftete ereignisgetriggerte Interrupt wird also durch einen zeitgetriggerten Interrupt umgangen.
Bei anderen Mikrocontrollern eines bestimmten Controller- Steps funktionieren bestimmte Befehlssequenzen nicht. Dieser Fehler kann dadurch umgangen werden, dass die fehlerhaften Befehlssequenzen vermieden und die Funktionalität dieser Sequenzen entweder nicht zur Verfügung steht oder aber durch andere Befehlssequenzen emuliert wird.
Aus den oben beschriebenen Gründen unterschiedlicher Funktionalitäten und notwendiger Workarounds wird das auf dem mindestens einen Mikroprozessor des Mikrocontrollers ablauffähige Programm nach dem Stand der Technik an den jeweiligen Controller-Step angepasst. Die Folge sind jedoch eine Vielzahl unterschiedlicher Programme, die bei Software-Updates alle gepflegt werden müssen. Soll bei einem Mikrocontroller für ein Steuergerät einer Brennkraftmaschine bspw. ein neue, kraftstoffsparendes Steuerprogramm durch einen Software-Update implementiert werden, müssen die Steuerprogramme sämtlicher Controller- Steps überarbeitet und dem entsprechenden Mikrocontroller zugeordnet werden. Das stellt einen erheblichen Arbeits- und Kostenaufwand dar. Auch das Zuordnen der Software- Updates an die verschiedenen Mikrocontroller des entsprechenden Controller-Steps stellt einen erheblichen verwaltungstechnischen Aufwand dar.
Aus dem Stand der Technik sind darüber hinaus Mikrocontroller bekannt, die Teil einer Testvorrichtung zum Testen eines weiteren Mikrocontrollers, eines Steuergeräts und/oder eines auf mindestens einem Mikroprozessor des weiteren Mikrocontrollers ablauffähigen Programms sind. In dem Steuerelement des Mikrocontrollers ist dann ein Testprogramm abgespeichert. Das Testprogramm ist auf mindestens einem der Mikroprozessoren des Mikrocontrollers der Testvorrichtung ablauffähig. Der weitere Mikrocontroller ist bspw. Teil eines Steuergeräts für ein Kraftfahrzeug. Mit der Testvorrichtung kann die Bestückung des weiteren Mikrocontrollers oder des kompletten Steuergeräts mit Bauelementen und das Steuerprogramm des weiteren Mikrocontrollers überprüft werden. Für einen optimalen Test des weiteren Mikrocontrollers, des Steuergeräts und des Steuerprogramms, sollte das Testprogramm an den Controller-Step des weiteren Mikrocontrollers des Steuergeräts angepaßt sein. Nach dem Stand der Technik wird entweder auf einen derart optimierten Test verzichtet, oder aber für jeden Controller-Step ein eigenes Testprogramm zur Verfügung gestellt. Die Pflege dieser Testprogramme ist äußerst arbeits- und kostenintensiv.
Aus dem Stand der Technik sind Mikrocontroller bekannt, die sog. Informationsregister aufweisen, in denen Informationen über die Hardware des Mikrocontrollers abgespeichert sind. Die Informationsregister sind vorzugsweise nur lesbar ausgebildet und enthalten bspw. Informationen über den Hersteller des Mikrocontrollers, die herstellende Abteilung oder das herstellende Werk, über den Mikrocontroller-Typ, die Mikrocontroller-Familie, den Mikrocontroller-Step oder die Mikrocontroller-Revisionsnummer, über die Größe und die Art des internen Speicherelements oder über die Art der Programmierung des internen Speicherelements. Die Informationsregister können in dem Mikrocontroller außerhalb des Mikroprozessors angeordnet sein, sie können aber auch Bestandteil des Mikroprozessors sein.
Aufgabe der vorliegenden Erfindung ist es, den Ablauf eines auf mindestens einem Mikroprozessor eines Mikrocontrollers ablauffähigen Programms möglichst derart zu steuern, dass das Programm an die unterschiedlichen Controller-Steps eines Mikrocontrollers flexibel angepasst werden kann.
Zur Lösung dieser Aufgabe schlägt die Erfindung ausgehend von dem Verfahren der Eingangs genannten Art vor, dass aus mindestens einem Informationsregister eines Mikrocontrollers Informationen über die Hardware des Mikrocontrollers eingelesen werden und in Abhängigkeit von den eingelesenen Informationen mindestens ein Schalter betätigt wird, durch den der Ablauf des Programms gesteuert wird.
Vorteile der Erfindung
Erfindungsgemäß wird also vorgeschlagen, den Ablauf eines auf dem Mikrocontroller ablauffähigen Programme dadurch zu steuern, dass zunächst die Hardware, bspw. der Controller- Step, eines Mikrocontrollers ermittelt wird. Die Hardware eines Mikrocontrollers kann durch Bestückung des Controllers mit unterschiedlichen Bauelementen verändert werden. Es sind aber auch Mikrocontroller bekannt, bei denen die Hardware über einen programmierbaren Mikrocode - also Software - konfiguriert werden kann. Bei derartigen Mikrocontrollern ist es denkbar, dass zur Steuerung des Programms zusätzlich zu den Informationen aus den Informationsregistern noch Informationen über den Mikrocode eingelesen werden.
Der Mikrocontroller, über dessen Hardware Informationen eingelesen werden, kann der Mikrocontroller sein, auf dem das zu steuernde Pragramm abläuft, oder aber auch ein weiterer Mikrocontroller sein. In Abhängigkeit von den ermittelten Hardware-Informationen werden dann bestimmte Schalter derart gesetzt, dass bestimmte Workarounds und bestimmte Programm-Funktionalitäten aktiviert bzw. deaktiviert werden. Der Programmablauf wird also an die Hardware eines Mikrocontrollers angepasst.
Die einzulesenden Informationen über die Hardware des Mikrocontrollers umfassen bspw. den Hersteller, den Typ, die Art und die Größe der für den Mikrocontroller verwendeten Bauelemente. Diesen Informationen sind genaue Angaben darüber zugeordnet, welche Funktionalitäten bei welchem Informationsinhalt vorhanden bzw. nicht vorhanden sind oder welche Fehler bei, welchem Informationsinhalt auftreten und durch welche Workarounds die Fehler umgangen werden können. Es ist denkbar, dass der Inhalt der Informationsregister unmittelbar zur Betätigung der Schalter herangezogen wird.
Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass Informationen über mindestens einen Mikroprozessor des Mikrocontrollers und/oder über mindestens ein weiteres Bauelement des Mikrocontrvllers eingelesen werden. Das weitere Bauelement ist bspw. als ein internes Speicherelement, ein A/D- Wandler, ein D/A-Wandler oder ein Datenbus, bspw. ein Controller Area Network (CAN)-Bus, des weiteren Mikrocontrollers ausgebildet. Ganz allgemein gesagt, können über all diejenigen weiteren Bauteile des Mikrocontrollers Informationen eingelesen werden, die eine Anpassung des Programmablaufs erforderlich machen könnten.
Gemäß einer bevorzugten Ausführungsform der vorliegenden . Erfindung wird vorgeschlagen, dass der Ablauf eines auf dem mindestens einen Mikroprozessor des Mikrocontrollers einer Testvorrichtung ablauffähigen Testprogramms zum Testen eines weiteren Mikrocontrollers, eines Steuergeräts und/oder eines auf mindestens einem Mikroprozessor des weiteren Mikrocontrollers ablauffähigen Steuerprogramme in Abhängigkeit von den Informationen über die Hardware des weiteren Mikrocontrollers gesteuert wird. Gemäß dieser Ausführungsform ist also der Mikrocontroller Teil einer Testvorrichtung und der weitere Mikrocontroller Teil eines Steuergeräts für ein Kraftfahrzeug. Auf mindestens einem der Mikroprozessoren des Mikrocontrollers der Testvorrichtung ist ein Testprogramm ablauffähig, mit dem der weitere Mikrocontroller, das komplette Steuergerät bzw. ein auf mindestens einem der Mikroprozessoren des weiteren Mikrocontrollers ablauffähiges Steuerprogramm getestet wird. Der Ablauf des Testprogramms wird in Abhängigkeit von den Hardware-Informationen über den weiteren Mikrocontroller des Steuergeräts gesteuert bzw. konfiguriert. Das Testprogramm kann somit individuell an die Hardware des weiteren Mikrocontrollers angepasst werden. Es können auf die Hardware gezielt abgestimmte Testmuster durchlaufen werden. Auf diese Weise kann wesentlich gründlicher, genauer und zuverlässiger getestet werden, und der Vorgang des Testens wird wesentlich erleichtert, da ein Tester nicht erst für jede Hardware bzw. für jedes Steuerprogramm das entsprechende Testprogramm auswählen muss. Dies geschieht nach dem erfindungsgemäßen Verfahren vielmehr vollautomatisch.
Es sind bspw. verschiedene Mikrocontroller-Steps einer Controller-Familie bekannt, die sich dadurch unterscheiden, dass ein Speicherelement bei einem Step on-chip und bei einem anderen Step off-chip angeordnet ist. Das Testprogramm kann mit dem erfindungsgemäßen Verfahren auf eine besonders einfache, und zuverlässige Weise entsprechend dem jeweiligen Mikrocontroller-Step konfiguriert und der Ablauf des Programms entsprechend gesteuert werden.
Gemäß einer alternativen Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass der Ablauf eines auf mindestens einem Mikroprozessor des Mikrocontrollers eines Steuergeräts ablauffähigen Steuerprogramms zur Steuerung/Regelung von technischen Vorgängen und Prozessen insbesondere in einem Kraftfahrzeug in Abhängigkeit von den Informationen über die Hardware des Mikrocontrollers gesteuert wird. Gemäß dieser alternativen Ausführungsform ist der Mikrocontroller also Teil eines Steuergeräte. Auf mindesatens einem der Mikroprozessoren des Mikrocontrollers des Steuergeräts ist ein Steuerprogramm ablauffähig ist. Der Ablauf des Steuerprogramms wird in Abhängigkeit der Hardware des Mikrocontrollers gesteuert, auf dem das Steuerprogramm ablauffähig ist. Auf diese Weise kann für verschiedene Mikrocontroller unterschiedlicher Hardware ein einziges Steuerprogramm eingesetzt werden. Es muss nur noch ein Steuerprogramm gewartet werden. Bei neuen Controller- Steps wird das Steuerprogramm entsprechend erweitert. Die Erweiterung besteht insbesondere in einer Definition der Schalter und einer Programmierung von zusätzlichen Funktionalitäten und/oder Modifikationen (Hinzufügen, Entfernen, Ändern des Programms) bzgl. Workarounds. Software-Updates des Steuerprogramms können dadurch wesentlich einfacher und kostengünstiger durchgeführt werden.
Von besonderer Bedeutung ist die Realisierung des erfindungsgemäßen Verfahrens in Form eines Steuerelements, das für ein Steuergerät insbesondere eines Kraftfahrzeugs oder für eine Testvorrichtung zum Testen eines Mikrocontrollers, eines Steuergeräts und/oder eines auf mindestens einem Mikroprozessor des Mikrocontrollers ablauffähigen Programms vorgesehen ist. Dabei ist auf dem Steuerelement ein Programm abgespeichert, das auf einem Rechengerät, insbesondere auf einem Mikroprozessor, ablauffähig und zur Ausführung des erfindungsgemäßen Verfahrens geeignet ist. In diesem Fall wird also die Erfindung durch ein auf dem Steuerelement abgespeichertes Programm realisiert, so dass dieses mit dem Programm versehene Steuerelement in gleicher Weise die Erfindung darstellt wie das Verfahren, zu dessen Ausführung das Programm geeignet ist. Als Steuerelement kann insbesondere ein elektrisches Speichermedium zur Anwendung kommen, beispielsweise ein Read-Only-Memory oder ein Flash-Memory.
Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung wird vorgeschlagen, dass der Mikrocontroller Mittel zum Einlesen von Informationen über die Hardware eines Mikrocontrollers aus mindestens einem Informationsregister des Mikrocontrollers und mindestens einen in Abhängigkeit von den eingelesenen Informationen betätigbaren Schalter zur Steuerung des Ablaufs des auf dem mindestens einen Mikroprozessor des Mikrocontrollers ablauffähigen Programms aufweist.
Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass die Mittel zum Einlesen von Informationen Informationen über mindestens einen Mikroprozessor des Mikrocontrollers und/oder über mindestens ein weiteres Bauelement des Mikrocontrollers einlesen. Die Informationen über das mindestens eine weitere Bauelement des Mikrocontrollers umfassen vorteilhafterweise Informationen über ein internes Speicherelement, einen Analog/Digital (A/D)-Wandler, einen Digital/Analog (D/A)-Wandler und/oder mindestens einen Datenbus.
Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass der Mikrocontroller Teil einer Testvorrichtung zum Testen eines weiteren Mikrozontrollers, eines Steuergeräts und/oder eines auf mindestens einem Mikroprozessor des weiteren Mikrozontrollers ablauffähigen Programms ist. Gemäß dieser Ausführungsform sind der Mikrocontroller, auf dem das zu steuernde Programm abläuft, und der weitere Mikrocontroller, in Abhängigkeit dessen Hardware der Programmablauf gesteuert wird, zwei getrennte Mikrocontroller. Der Ablauf eines auf dem Mikrocontroller ablauffähigen Testprogramms wird in Abhängigkeit von den über den weiteren Mikrocontroller bsgw, eines Steuergeräts eingelesenen Informationen gesteuert.
Gemäß einer alternativen Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass dar Mikrocontroller Teil eines Steuergeräts zur Steuerung/Regelung von technischen Vorgängen und Prozessen insbesondere in einem Kraftfahrzeug ist. Gemäß dieser alternativen Ausführungsform wird bspw. der Ablauf eines auf dem Mikrocontroller ablauffähigen Steuerprogramms in Abhängigkeit von den über diesen Mikrocontroller eingelesenen Informationen gesteuert.
Zeichnung
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung. Es zeigen:
Fig. 1 einen erfindungsgemäßen Mikrocontroller gemäß einer ersten bevorzugten Ausführungsform der Erfindung;
Fig. 2 einen erfindungsgemäßen Mikrocontroller gemäß einer zweiten bevorzugten Ausführungsform der Erfindung; und
Fig. 3 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens gemäß einer bevorzugten Ausführungsfarm.
Beschreibung der Ausführungsbeispiele
In Fig. 1 ist ein Mikrocontroller in seiner Gesamtheit mit dem Bezugszeichen 1 bezeichnet. Der Mikrocontroller 1 weist einen Mikroprozessor 2, ein als Flash-Memory ausgebildetes internes Speicherelement 3, einen Analog/Digital (A/D)- Wandler 4 und einen als Controller Area Network (CAN)-Bus ausgebildeten Datenbus 5 auf. In einem Informationsregister 6 des Mikrocontrollers 1 sind Informationen über die Hardware des Mikrocontrollers abrufbar abgelegt.
Die Mikrocontroller unterschiedlicher Hersteller, aber auch die Mikrocontroller des gleichen Herstellers und sogar die Mikrocontroller innerhalb einer Controller-Familie des gleichen Herstellers können hardwaremäßig unterschiedlich ausgebildet sein. Die verschiedenen Mikrocontroller unterscheiden sich bspw. durch die verwendeten Bauelemente. Die unterschiedlichen Versionen eines Mikrocontrollers innerhalb einer Controller-Familie werden als Controller- Steps bezeichnet. Die Controller-Steps sind noch einmal in verschiedene Revisionen unterteilt. Die einzelnen Controller-Steps oder Revisionen können einen unterschiedlichen Umfang an Funktionalitäten (sog. Features) und/oder unterschiedliche fehlerhafte Funktionalitäten aufweisen. Die fehlerhaften Funktionalitäten müssen durch sog. Workarounds umgangen werden, wobei versucht wird, die fehlerhafte Funktionalität mittels anderer Funktionalitäten nachzubilden.
Die in dem Informationsregister 6 abgelegten Informationen umfassen bspw. Informationen über den Hersteller des Mikrocontrollers 1, die herstellende Abteilung oder das herstellende Werk, über den Mikrocontroller-Typ, die Mikrocontroller-Familie, den Mikrocontroller-Step oder die Mikrocontroller-Revisionsnummer, über die Größe und die Art des internen Speicherelements 3 oder über die Art der Programmierung des internen Speicherelements 3.
Der Mikrocontroller 1 ist Teil eines Steuergeräts 7 zur Steuerung/Regelung von technischen Vorgängen und Prozessen insbesondere in einem Kraftfahrzeug. In einem externen Speicherelement 8 ist ein auf dem Mikroprozessor 2 des Mikrocontrollers 1 ablauffähiges Steuerprogramm gespeichert. Das Steuerprogramm muss auf den Umfang der Funktionalitäten des Mikrocontrollers 1 (welche Befehlssequenzen dürfen in dem Steuerprogramm enthalten sein?), auf die fehlerhaften Funktionalitäten (welche Befehlssequenzen sollten vermieden werden und durch welche Workarounds können sie umgangen werden?) und auf die Hardware des Mikrocontrollers 1 abgestimmt sein.
Gemäß der vorliegenden Erfindung wird vorgeschlagen, dass der Ablauf des Steuerprogramms in Abhängigkeit von den in dem Informationsregister 6 abgelegten Informationen über die Hardware des Mikrocontrollers 1 gesteuert wird (vgl. Fig. 3). Nach dem Start des erfindungsgemäßen Verfahrens in Funktionsblock 30 werden in Funktionsblock 31 zunächst Informationen über die Hardware des Mikrocontrollers 1 aus dem Informationsregister 6 eingelesen. In Abhängigkeit der eingelesenen Informationen werden in Funktionsblock 32 Schalter gesetzt, durch die der Ablauf des Steuerprogramms beeinflussbar ist. Anschließend wird das Steuerprogramm mit den gesetzten Schaltern durchlaufen, was symbolisch durch Funktionsblock 33 angedeutet ist. In Funktionsblock 34 ist das Verfahren beendet.
Mithilfe der Schalter können Befehlssequenzen für bestimmte Funktionalitäten des Mikrocontrollers 1 oder bestimmte Workarounds aktiviert bzw. deaktiviert werden. Außerdem kann das Steuerprogramm durch die Schalter an die Hardware des Mikrocontrollers 1 angepaßt werden. So wird bspw. durch Informationen über die Art und Größe des internen Speicherelements 3 bzw. des externen Speicherelements 8 definiert, innerhalb welcher Speicherbereiche auf das interne Speicherelement 3 zugegriffen werden kann bzw. auf den externen Speicher zugegriffen werden muss. Aus Gründen einer kürzeren Zugriffszeit wird vorzugsweise auf das interne Speicherelement 3 zugegriffen. Wenn in dem internen Speicherelement 3 während des Programmablaufs Adaptions- und/oder Diagnosewerte abgelegt werden, kann aus Informationen über die Größe des internen Speicherelements 3 festgelegt werden, in welchem Umfang diese Werte abgespeichert werden. Bei einem kleinen internen Speicherelement 3 kann bspw. nur ein Teilumfang der theoretisch abspeicherbaren Werte abgespeichert werden. Durch Informationen über die Art der Programmierung des internen Speicherelements 3 können die in dem Steuerprogramm abgelegten Programmieralgorithmen angepasst werden.
In Fig. 2 ist ein zweites Ausführungsbeispiel des erfindungsgemäßen Mikrocontrollers in seiner Gesamtheit mit dem Bezugszeichen 11 bezeichnet. Der Mikrocontroller 11 weist einen Mikroprozessor 12, ein als Flash-Memory ausgebildetes internes Speicherelement 13, einen Analog/Digital (A/D)-Wandler 14 und einen als Controller Area Network (CAN)-Bus ausgebildeten Datenbus 15 auf. Der Mikrocontroller 11 steht über den Datenbus 15 mit einem Steuergerät 7 in Verbindung. Das Steuergerät 7 weist einen weiteren Mikrocontroller 1 auf, der u. a. auch ein Informationsregister 6 aufweist, in dem Informationen über die Hardware des Mikrocontrollers 1 abrufbar abgelegt sind.
Der Mikrocontroller 11 ist Teil einer Testvorrichtung 17 zum Testen des weiteren Mikrocontrollers 1, des kompletten Steuergeräts 7 und/oder eines auf mindestens einem Mikroprozessor 2 des weiteren Mikrocontrollers 1 ablauffähigen Steuerprogramms zur Steuerung/Regelung von technischen Vorgängen und Prozessen insbesondere in einem Kraftfahrzeug. In einem externen Speicherelement 18 ist ein auf dem Mikroprozessor 12 des Mikrocontrollers 11 ablauffähiges Testprogramm gespeichert. Das Testprogramm muss auf den Umfang der Funktionalitäten des weiteren Mikrocontrollers 1 (welche Bauelemente das weiteren Mikrocontrollers 1 und welche Befehlssequenzen des Steuerprogramms dürfen von dem Testprogramm getestet werden 7), auf die fehlerhaften Funktionalitäten (welche Bauelemente und welche Befehlssequenzen sollten von dem Testprogramm vermieden werden 7) und auf die Hardware des Mikrocontrollers 1 abgestimmt sein, um den weiteren Mikrocontroller 1 bzw. das Steuerprogramm möglichst umfangreich, genau und zuverlässig testen zu können.
Die einzelnen Bauelemente 2, 3, 4, 5, 6, 8 und 12, 13, 14, 15, 16, 18 der Mikrocontroller 1, 11 sind entweder über physische Leitungen oder über mindestens einen Datenbus untereinander verbunden.
Gemäß der vorliegenden Erfindung wird vorgeschlagen, dass der Ablauf des Testprogramms in Abhängigkeit von den in dem Informationsregister 6 des weiteren Mikrocontrollers 1 abgelegten Informationen über die Hardware des Mikrocontrollers 1 gesteuert wird (vgl. Fig. 3). Nach dem Start des erfindungsgemäßen Verfahrens in Funktionsblock 30 werden in Funktionsblock 31 zunächst Informationen über die Hardware des Mikrocontrollers 1 aus dem Informationsregister 6 eingelesen. In Abhängigkeit der eingelesenen Informationen werden in Funktionsblock 32 Schalter gesetzt, durch die der Ablauf des Testprogramms auf dem Mikroprozessor 12 des Mikrocontrollers 11 beeinflussbar ist. Anschließend wird das Testprogramm mit den gesetzten Schaltern durchlaufen, was symbolisch durch Funktionsblock 33 angedeutet ist. In Funktionsblock 34 ist das Verfahren beendet.

Claims (10)

1. Verfahren zur Steuerung des Ablaufs eines auf mindestens einem Mikroprozessor (2; 12) eines Mikrocontrollers (1; 11) ablauffähigen Programms, dadurch gekennzeichnet, dass aus mindestens einem Informationeregister (6) eines Mikrocontrollers (1) Informationen über die Hardware des Mikrocontrollers (1) eingelesen werden und in Abhängigkeit von den eingelesenen Informationen mindestens ein Schalter betätigt wird, durch den der Ablauf des Programms gesteuert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass Informationen über mindestens einen Mikroprozessor (2) des Mikrocontrollers (1) und/oder über mindestens ein weiteres Bauelement des Mikrocontrollers (1) eingelesen werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Ablauf eines auf dem mindestens einen Mikroprozessor (12) des Mikrocontrollers (11) einer Testvorrichtung (17) ablauffähigen Testprogramms zum Testen eines weiteren Mikrocontrollers (1), eines Steuergeräts (7) und/oder eines auf mindestens einem Mikroprozessor (2) des weiteren Mikrocontrollers (1) ablauffähigen Steuerprogramme in Abhängigkeit von den Informationen über die Hardware des weiteren Mikrocontrollers (1) gesteuert wird.
4. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Ablauf eines auf mindestens einem Mikroprozessor (2) des Mikrocontrollers (1) eines Steuergeräts (7) ablauffähigen Steuerprogramms zur Steuerung/Regelung von technischen Vorgängen und Prozessen insbesondere in einem Kraftfahrzeug in Abhängigkeit von den Informationen über die Hardware des Mikrocontrollers (1) gesteuert wird.
5. Steuerelement, insbesondere Read-Only-Memory, oder Flash-Memory, für ein Steuergerät (7) einer Brennkraftmaschine insbesondere eines Kraftfahrzeugs oder für eine Testvorrichtung (17) zum Testen eines Mikrocontrollers (1), eines Steuergeräts (7) und/oder eines auf mindestens einem Mikroprozessor (2) des Mikrocontrollers (1) ablauffähigen Programms, wobei auf dem Steuerelement ein Programm abgespeichert ist, das auf einem Rechengerät, insbesondere auf einem Mikroprozessor (2; 12), ablauffähig und zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 4 geeignet ist.
6. Mikrocontroller (1; 11) mit mindestens einem Mikroprozessor (2; 12), wobei auf dem mindestens einen Mikroprozessor (2; 12) ein Programm ablauffähig ist, dadurch gekennzeichnet, dass der Mikrocontroller (1; 11) Mittel zum Einlesen von Informationen über die Hardware eines Mikrocontrollers (1) aus mindestens einem Informationeregister (6) des Mikrocontrollers (1) und mindestens einen in Abhängigkeit von den eingelesenen Informationen betätigbaren Schalter zur Steuerung des Ablaufs des auf dem mindestens einen Mikroprozessor (2; 12) des Mikrocontrollers (1; 11) ablauffähigen Programms aufweist.
7. Mikrocontroller (1; 1) nach Anspruch 6, dadurch gekennzeichnet, dass die Mittel zum Einlesen Informationen über mindestens einen Mikroprozessor (2) des Mikrocontrollers (1) und/oder über mindestens einen weiteres Bauelement des Mikrocontrollers (1) einlesen.
8. Mikrocontroller (1; 11) nach Anspruch 7, dadurch gekennzeichnet, dass die Informationen über das mindestens eine weitere Bauelement des Mikrocontrollers (1) Informationen über ein internes Speicherelement (3), einen Analog/Digital (A/D)-Wandler (4), einen Digital/Analog (D/A)-Wandler und/oder mindestens einen Datenbus (5) umfassen.
9. Mikrocontroller (11) nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass der Mikrocontroller (11) Teil einer Testvorrichtung (17) zum Tasten eines weiteren Mikrocontrollers (1), eines Steuergeräts (7) und/oder eines auf mindestens einem Mikroprozessor (2) des weiteren Mikrocontrollers (1) ablauffähigen Programms ist.
10. Mikrocontroller (1) nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass der Mikrocontroller (1) Teil eines Steuergeräts (7) zur Steuerung/Regelung von technischen Vorgängen und Prozessen insbesondere in einem Kraftfahrzeug ist.
DE10030980A 2000-06-30 2000-06-30 Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller Ceased DE10030980A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10030980A DE10030980A1 (de) 2000-06-30 2000-06-30 Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller
JP2001197681A JP2002099307A (ja) 2000-06-30 2001-06-29 マイクロコントローラ内のプログラムシーケンスの制御方法,メモリ素子,マイクロコントローラ。
US09/897,870 US20020073361A1 (en) 2000-06-30 2001-07-02 Method for controlling the program run in a microcontroller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10030980A DE10030980A1 (de) 2000-06-30 2000-06-30 Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller

Publications (1)

Publication Number Publication Date
DE10030980A1 true DE10030980A1 (de) 2002-01-10

Family

ID=7646773

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10030980A Ceased DE10030980A1 (de) 2000-06-30 2000-06-30 Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller

Country Status (3)

Country Link
US (1) US20020073361A1 (de)
JP (1) JP2002099307A (de)
DE (1) DE10030980A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004024536A1 (de) * 2004-05-18 2005-12-15 Robert Bosch Gmbh Verfahren zum Betrieb eines Systems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4489414A (en) * 1981-10-28 1984-12-18 Hal Computers Limited Computer peripheral testing equipment
FR2549256B1 (fr) * 1983-06-22 1985-11-29 Philips Ind Commerciale Procede et machine automatiques pour tester simultanement des systemes informatiques
US4933941A (en) * 1988-06-07 1990-06-12 Honeywell Bull Inc. Apparatus and method for testing the operation of a central processing unit of a data processing system
JP3463757B2 (ja) * 1993-04-08 2003-11-05 株式会社日立製作所 エンジン制御装置及びこれに用いる空気流量計
US5410544A (en) * 1993-06-30 1995-04-25 Intel Corporation External tester control for flash memory
US5422305A (en) * 1993-10-29 1995-06-06 Texas Instruments Incorporated Method of forming implanted silicon resonant tunneling barriers
US6182203B1 (en) * 1997-01-24 2001-01-30 Texas Instruments Incorporated Microprocessor
US6189084B1 (en) * 1997-07-14 2001-02-13 Horiba, Ltd. Debugging method and monitoring method for analysis instruments
US6175913B1 (en) * 1997-09-12 2001-01-16 Siemens Ag Data processing unit with debug capabilities using a memory protection unit
US6067633A (en) * 1998-03-31 2000-05-23 International Business Machines Corp Design and methodology for manufacturing data processing systems having multiple processors

Also Published As

Publication number Publication date
JP2002099307A (ja) 2002-04-05
US20020073361A1 (en) 2002-06-13

Similar Documents

Publication Publication Date Title
DE19744230B4 (de) Steuergeräte für ein System und Verfahren zum Betrieb eines Steuergeräts
EP2318920B1 (de) Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug
DE10115729B4 (de) Vielseitiges Boot-Verfahren für eine Anwendungs-Software eines Mikrocontrollers
EP3128383B1 (de) Feldgerät
DE102007029285A1 (de) Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems sowie Verfahren zum Betreiben einer Testvorrichtung
DE102005013285B4 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE10106504A1 (de) Verfahren und Vorrichtung zum Emulieren von Steuer- und/oder Regelfunktionen eines Steuer- oder Regelgeräts
DE102007062395A1 (de) Verfahren zum Parametrieren eines Feldgerätes der Prozessautomatisierungstechnik
WO2012016805A1 (de) Verfahren zur rekonfiguration von softwareparametern in einem mikrocontroller sowie mikrocontroller und steuergerät
DE10064025B4 (de) Verfahren zum Booten eines Mikroprozessors sowie Mikroprozessor mit einem bedingten deterministischen Rücksetzvektor
DE10030980A1 (de) Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller
EP1563358A2 (de) Verfahren zur sicheren überprüfung eines speicherbereiches eines mikrocontrollers in einem steuergerät und steuergerät mit einem geschützten mikrocontroller
DE10200242B4 (de) Verfahren zur Funktionsüberwachung eines Steuergeräts
DE102005001430A1 (de) Verfahren zur Beschreibung von Speicherinhalten und zur Beschreibung des Transfers von Speicherinhalten
LU503412B1 (de) Steuersystem, steuergerät und verfahren zur bereitstellung eines steuer- und/oder regelsignals
EP1593007A2 (de) Verfahren zur ermittlung der verarbeitungsreihenfolge von funktionsbausteinen eines automatisierungssystems und automatisierungssystem
DE102005060161A1 (de) Verfahren zur Verarbeitung und Erzeugung von Diagnosedaten in einem Softwareentwicklungsprozess
EP3948449B1 (de) Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente
DE19748181B4 (de) Verfahren zum Prüfen einer Funktion oder Einrichtung eines Fahrzeugs
DE102013003593A1 (de) Verfahren zum Durchführen eines Löschungsvorgangs in einem beschreibbaren Speicherelement
DE102018221786B4 (de) Anordnung mit einem ersten Steuergerät für ein Fahrzeug und einem zweiten Steuergerät für ein Fahrzeug; wobei das erste Steuergerät und das zweite Steuergerät jeweils Getriebesteuergeräte sind und in Abhängigkeit von in einer Software enthaltenen Anweisungen ein Getriebe des Fahrzeugs steuern oder regeln
DE19917940A1 (de) Speicherbauteil einer Rechnereinheit
DE19949048A1 (de) Verfahren und Vorrichtung zur Steuerung von Prozessen in einem Fahrzeug
DE69803851T2 (de) Verfahren zur steuerung eines integrierten mikroprozessors mit einem festwertprogrammspeicher und intergrierte schaltung zur durchführung dieses verfahrens
DE102006033181A1 (de) Verfahren zur Steuerung von einem Fahrprogramm und Steuerungssystem

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8131 Rejection