DE19959247A1 - Microcomputer for vehicle controller/regulator has code coverage memory receiving information about addresses in program and/or data storage memory addressed by program - Google Patents

Microcomputer for vehicle controller/regulator has code coverage memory receiving information about addresses in program and/or data storage memory addressed by program

Info

Publication number
DE19959247A1
DE19959247A1 DE1999159247 DE19959247A DE19959247A1 DE 19959247 A1 DE19959247 A1 DE 19959247A1 DE 1999159247 DE1999159247 DE 1999159247 DE 19959247 A DE19959247 A DE 19959247A DE 19959247 A1 DE19959247 A1 DE 19959247A1
Authority
DE
Germany
Prior art keywords
memory
program
read
code coverage
microcomputer
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
DE1999159247
Other languages
German (de)
Inventor
Bernhard Valouch
Udo Schulz
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 DE1999159247 priority Critical patent/DE19959247A1/en
Priority to JP2000373691A priority patent/JP2001229045A/en
Publication of DE19959247A1 publication Critical patent/DE19959247A1/en
Withdrawn 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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24006Code coverage memory:contains data about addressed addresses during program run

Abstract

The microcomputer has a code coverage memory connected to a microprocessor in parallel with a program memory and a data memory via an address bus and a data bus. The code coverage memory receives information about which addresses in the program memory and/or data storage memory are addressed during the running of a control/regulation program from the program memory and operation of the vehicle in the context of read and/or write access. Independent claims are also included for the following: a method of determining the code coverage of a control/regulation program.

Description

Stand der TechnikState of the art

Die vorliegende Erfindung betrifft einen Mikrocomputer, insbesondere zum Einsatz in einem Steuerungs-/Re­ gelungsgerät eines Kraftfahrzeugs. Das Steuerungs-/Re­ gelungsgerät steuert bzw. regelt verschiedene Prozesse in dem Kraftfahrzeug. Solche Prozesse betreffen bspw. die Brennkraftmaschine, die Abgasreinigungsanlage, die Getriebeanordnung, die Antriebs- oder die Bremsanlage des Kraftfahrzeugs. Der Mikrocomputer weist einen Mikroprozessor, einen Adressbus, einen Datenbus, einen Programmspeicher und einen Datenspeicher auf. Der Mikroprozessor steht über den Adressbus und den Datenbus mit dem Programmspeicher und dem Datenspeicher in Verbindung. In dem Programmspeicher ist ein Steuerungs-/Re­ gelungsprogramm abgelegt, das im Rahmen der Steuerung/Regelung des Prozesses von dem Mikroprozessor abgearbeitet wird.The present invention relates to a microcomputer, especially for use in a control / re gelling device of a motor vehicle. The control / re control device controls various processes the motor vehicle. Such processes concern, for example Internal combustion engine, the exhaust gas purification system, the Gear arrangement, the drive or brake system of the Motor vehicle. The microcomputer has one Microprocessor, an address bus, a data bus, a Program memory and a data memory. The Microprocessor stands over the address bus and the data bus with the program memory and the data memory in Connection. A control / re is in the program memory filing program, which is part of the Control of the process by the microprocessor is processed.

Da das Steuerungs-/Regelungsgerät häufig sicherheitsrelevante Funktionen des Kraftfahrzeugs steuert bzw. regelt, werden an das Steuerungs-/Regelungsprogramm besonders hohe Anforderungen bezüglich Fehlerfreiheit gestellt. Deshalb muss ein Steuerungs-/Regelungsprogramm vor dem Einsatz in einem Steuerungs-/Regelungsgerät eines Kraftfahrzeuges umfangreichen Prüf- und Testverfahren unterzogen werden, die sicherstellen sollen, dass das Steuerungs-/Regelungsprogramm in allen seinen Zuständen, d. h. auch in allen Fahrzeugzuständen, sicher und zuverlässig funktioniert. Da einerseits die Steuerungs-/Re­ gelungsprogramme immer komplexer werden und andererseits auf Grund der kurzen Software-Entwicklungszyklen immer weniger Zeit zum Prüfen und Testen der Programme zur Verfügung steht, kommt einer effizienten Prüfung des Steuerungs-/Regelungsprogramms immer größere Bedeutung zu.Because the control device often controls safety-relevant functions of the motor vehicle or regulates, are sent to the control program particularly high requirements regarding freedom from errors  posed. Therefore a control program must be used before use in a control device Motor vehicle extensive testing and testing procedures that are supposed to ensure that the Control program in all its states, d. H. also in all vehicle conditions, safely and works reliably. On the one hand, the control / re programs are becoming increasingly complex and on the other hand due to the short software development cycles less time to check and test the programs for Is available comes an efficient examination of the Control program is becoming increasingly important.

Als ein mögliches Prüf- und Testverfahren für Programme ist es aus dem Stand der Technik bekannt, unter Laborbedingungen sog. System Execution Analyzer zum Bestimmen der Codeabdeckung (Code Coverage) einzusetzen. Dabei führen alle an einem externen Adressbus anliegenden Adressen des Mikroprozessors zur Kennzeichnung (Schwärzung) in einer Memory-Übersicht. Die am Ende des Tests nicht gekennzeichneten Adressbereiche (Testlücken) sind im Rahmen der Durchführung des Programms nicht angesprochen worden und die entsprechenden Programmteile somit nicht durchlaufen worden. Durch eine Analyse der Testlücken lassen sich z. B. nicht getestete Funktionen, fehlerhafte Umsetzung von Funktionsanforderungen (Programmierfehler) erkennen und beseitigen. Programmierfehler können dazu führen, dass bestimmte Programmpfade niemals durchlaufen werden oder dass bestimmte Bereiche des Programm- und Datenspeichers ungenutzt bleiben. Sie können auch dazu führen, dass im Rahmen der Ausführung des Programms versucht wird, auf verbotene bzw. nicht vorhandene Speicherbereiche zuzugreifen.As a possible test and test procedure for programs is it is known from the prior art under Laboratory conditions so-called System Execution Analyzer for Determine the code coverage to use. All of them are connected to an external address bus Addresses of the microprocessor for identification (blackening) in a memory overview. Not at the end of the test marked address areas (test gaps) are in the frame implementation of the program has not been addressed and therefore the corresponding program parts are not been gone through. By analyzing the test gaps can z. B. untested functions, faulty Implementation of functional requirements (programming errors) recognize and eliminate. Programming errors can do this cause certain program paths never to go through be or that certain areas of the program and Data storage remain unused. You can also do this perform that as part of the execution of the program an attempt is made to forbidden or nonexistent Access memory areas.

Das aus dem Stand der Technik bekannte Verfahren zum Bestimmen der Codeabdeckung hat jedoch mehrere Nachteile. The method known from the prior art for However, determining code coverage has several disadvantages.  

Zum einem kann es nur unter Laborbedingungen ausgeführt werden. Der Aufbau eines Labor-Kraftfahrzeuges mit einem Steuergerät in einem Softwarelabor entspricht im Prinzip einem geschleppten Motor. Die Regelstrecken sind meist offen und bei den Lasten und den Sensorsignalen handelt es sich oft um Nachbildungen. Eine realistische Analyse des Steuerungs-/Regelungsprogramms ist, wenn überhaupt, nur näherungsweise möglich.For one, it can only run under laboratory conditions become. The construction of a laboratory motor vehicle with a Control unit in a software laboratory corresponds in principle a towed engine. The controlled systems are mostly open and it deals with the loads and the sensor signals are often replicas. A realistic analysis of the Control program is, if at all, only approximately possible.

Daraus ergibt sich die Aufgabe der vorliegenden Erfindung, die Bestimmung der Codeabdeckung eines Steuerungs-/Re­ gelungsprogramms zum Einsatz in einem Kraftfahrzeug auch während der Fahrt des Kraftfahrzeugs durchführen zu können.Hence the object of the present invention: the determination of the code coverage of a control / re also for use in a motor vehicle to be able to perform while driving the motor vehicle.

Zur Lösung dieser Aufgabe schlägt die Erfindung ausgehend von dem Mikrocomputer der eingangs genannten Art vor, dass der Mikrocomputer einen Codeabdeckungsspeicher aufweist, der parallel zu dem Programmspeicher und dem Datenspeicher über den Adressbus und den Datenbus an den Mikroprozessor angeschlossen ist, wobei in dem Codeabdeckungsspeicher Angaben darüber ablegbar sind, welche Adressen des Programmspeicher und/oder des Datenspeichers während der Ausführung eines Steuerungs-/Regelungsprogramms aus dem Programmspeicher durch den Mikrocomputer während einer Fahrt des Kraftfahrzeugs im Rahmen eines Schreib- und/oder Lesezugriffs angesprochen werden.To achieve this object, the invention suggests of the microcomputer of the type mentioned above that the microcomputer has a code cover memory, the parallel to the program memory and the data memory via the address bus and the data bus to the microprocessor is connected, in the code coverage memory Information about which addresses of the Program memory and / or data memory during the Execution of a control program from the Program memory by the microcomputer during a Driving the motor vehicle as part of a writing and / or Read access can be addressed.

Vorteile der ErfindungAdvantages of the invention

Erfindungsgemäß wird der Mikrocomputer des Steuerungs-/Re­ gelungsgeräts eines Kraftfahrzeugs durch den Codeabdeckungsspeicher erweitert, um dadurch ein Steuerungs-/Regelungsprogramm des Mikrocomputers unter realistischen Bedingungen auf Fehlerfreiheit überprüfen zu können. Durch den erfindungsgemäßen Mikrocomputer ist es nun möglich, die Codeabdeckung des Steuerungs-/Re­ gelungsprogramms während der Fahrt des Kraftfahrzeugs über mehrere Fahrzyklen hinweg bestimmen zu können. Während der verschiedenen Fahrzyklen wird das Kraftfahrzeug in unterschiedliche Fahrzeugzustände und damit auch das Steuerungs-/Regelungsprogramm in unterschiedliche Zustände gebracht. Ziel ist es, so viele Fahrzyklen zu durchlaufen, dass das Steuerungs-/Regelungsprogramm in jeden denkbaren Zustand gebracht wird und nach Möglichkeit alle Programmpfade des Steuerungs-/Regelungsproramms durchlaufen werden. Mit dem erfindungsgemäßen Mikrocomputer ist nun erstmals eine realistische Analyse des Steuerungs-/Re­ gelungsprogramms möglich.According to the microcomputer of the control / Re gelungsgeräts a motor vehicle by the Code coverage memory expanded to include one Control program of the microcomputer under check realistic conditions for accuracy can. It is through the microcomputer according to the invention now possible to control / re code coverage  program while driving the motor vehicle to be able to determine over several driving cycles. While of the various driving cycles, the motor vehicle is in different vehicle conditions and therefore also that Control program in different states brought. The goal is to go through so many driving cycles that the control program in every conceivable Condition is brought and if possible all Run through the program paths of the control program become. With the microcomputer according to the invention is now for the first time a realistic analysis of the control / re program possible.

In einem Steuerungs-/Regelungsprogramm wird häufig die gesamte Funktionalität nicht nur eines Motortyps, sondern einer ganzen Motorklasse (z. B. Dieselmotoren 4-, 5-, 6- Zylinder eines bestimmten Fahrzeugherstellers) abgelegt. Den unterschiedlichen Ausstattungsvarianten (z. B. Motortyp; Fahrgeschwindigkeitsregler; Handschaltung, Automatikschaltung) der einzelnen Kraftfahrzeuge wird dadurch Rechnung getragen, dass in dem Code des Steuerungs-/Regleungsprogramms Softwareschalter aktiviert bzw. nicht aktiviert werden. Ein Softwareschalter ist bspw. ein Datum (z. B. ein Datenbyte), das abhängig von seinem Wert zum Durchlaufen eines bestimmten Codepfades führt oder nicht.In a control program, the entire functionality of not just one engine type, but an entire engine class (e.g. diesel engines 4-, 5-, 6- Cylinder of a certain vehicle manufacturer). The different equipment variants (e.g. Engine type; Vehicle speed controller; Manual control, Automatic switching) of the individual motor vehicles accounted for by the fact that in the code of the Control program software switch activated or not be activated. A software switch is, for example. a date (e.g. a data byte) that depends on its Value leads through a certain code path or Not.

Wenn durch die Analyse des Steuerungs-/Regelungsprogramms aufgrund des Dateninhalts des Codeabdeckungsspeichers festgestellt wurde, dass ein bestimmter Codepfad nicht durchlaufen wurde, kann dies verschiedene Ursachen haben. Die Ursache muss im Anschluss an die Überprüfung der Codeabdeckung ermittelt werden. Eine Ursache kann sein, dass der Codepfad durch einen Softwareschalter bewußt totgelegt oder der Applikateur falsch appliziert hat (Applikationsfehler). Eine andere Ursache kann sein, dass die Testbedingungen nicht erfüllt waren, so dass hier eine Testlücke besteht. Das ist bspw. der Fall, wenn eine Funktion erst bei einer sehr niedriger Motortemperatur einsetzt, die während der Überprüfung der Codeabdeckung nicht erreicht wurde. Es ist aber auch möglich, dass die Testbedingungen nicht eintreten, weil entweder ein Softwarefehler vorliegt, oder weil der Applikateur technisch unsinnige (weil nie eintretende) Daten bzw. Datenkombinationen appliziert hat. Eine weitere Ursache kann ein fehlender Hardwaretrigger sein (falsch oder nicht beschaltete Prozessoreingänge), der bei einem bestimmten Zustand oder Zustandswechsel eigentlich eine Softwareroutine starten sollte. Schließlich kann eine Ursache ein fehlender Softwaretrigger (z. B. falsch über Software konfigurierte Triggerbedingung) sein, der bspw. eine Interrupt-Serviceroutine triggert.If by analyzing the control program due to the data content of the code coverage memory it was found that a particular code path was not there are various reasons for this. The cause must follow the review of the Code coverage can be determined. A cause can be aware of the code path through a software switch laid dead or the applicator incorrectly applied (Application error). Another cause can be that  the test conditions were not met, so here one Test gap exists. This is the case, for example, if one Function only at a very low engine temperature deploys during code coverage verification has not been reached. But it is also possible that the Test conditions do not occur because either a Software error, or because of the applicator technically nonsensical (because never occurring) data or Has applied data combinations. Another cause can be a missing hardware trigger (wrong or not wired processor inputs), which at a certain State or change of state actually one Software routine should start. After all, one The cause is a missing software trigger (e.g. incorrectly via Software configured trigger condition), e.g. triggers an interrupt service routine.

Es beruht also nicht jeder während der Überprüfung der Codeabdeckung nicht durchlaufene Codepfad auf einem Softwarefehler. Erst die Analyse des nicht durchlaufenen Sourcecodes und die gewollte bzw. nicht gewollte Funktionalität erlauben eine diesbezügliche Aussage. Darüber hinaus ist der Grad der Codeabdeckung gewollter Funktionalität ein Maß für die Softwarequalität, denn der Software- bzw. Funktionstest ist Bestandteil des Softwareentwicklungsprozesses.So not everyone rests while reviewing the Code path not traversed on a code path Software error. First the analysis of what has not been done Sourcecodes and the wanted or not wanted Functionality allow a related statement. In addition, the degree of code coverage is more wanted Functionality a measure of software quality, because the Software or function test is part of the Software development process.

Der Codeabdeckungsspeicher muss nicht notwendigerweise Bestandteil eines Mikrocomputers zum Einsatz in einem Steuerungs-/Regelungsgerät eines Kraftfahrzeugs sein. Vielmehr ist es auch denkbar, dass der Codeabdeckungsspeicher Bestandteil einer adaptierbaren Zusatzeinrichtung zum Bestimmen der Codeabdeckung eines Steuerungs-/Regleungsprogramms ist. Die Zusatzeinrichtung kann über einen Steckverbinder oder eine elektronische Verbindung zur Signalentkopplung (Interface, Bustreiber) an einen Mikrocomputer zum Einsatz in einem Steuerungs-/Re­ gelungsgerät eines Kraftfahrzeugs angeschlossen werden. Falls der Prozessor des zu überprüfenden Mikrocomputers keine Zusatzsoftware zur Steuerung der Zusatzeinrichtung und zum Auslesen der Daten in den Codeabdeckungsspeicher aufweist, muss die Zusatzeinrichtung einen eigenen Mikroprozessor haben.The code cover memory does not necessarily have to Part of a microcomputer for use in one Control device of a motor vehicle. Rather, it is also conceivable that the Code coverage memory part of an adaptable Additional device for determining the code coverage of a Control program is. The additional device can be through a connector or an electronic Connection for signal decoupling (interface, bus driver)  a microcomputer for use in a control / re gelungsgerät a motor vehicle can be connected. If the processor of the microcomputer to be checked no additional software to control the additional device and for reading out the data in the code coverage memory the additional device must have its own Microprocessor.

Es ist bei der Entwicklung von Steuerungs-/Re­ gelungsgeräten üblich, dass über zu adaptierende Zusatzgeräte (z. B. ETKs der Firma ETAS) Einfluss auf die Programmabläufe genommen werden kann. Die Zusatzeinrichtung zum Bestimmen der Codeabdeckung könnte dann Bestandteil eines solchen Zusatzgeräts sein. Der Vorteil ist, dass auf der Serienplatine des Steuerungs-/Regelungsgeräts keine zusätzlichen Bauteile für die Einrichtung zur Bestimmung der Codeabdeckung notwendig sind. Die Tests können dann mit dem herkömmlichen Serien-Steuerungs-/Regelungsgerät durchgeführt werden.It is in the development of control / re gelungsgeräte usual that over to be adapted Additional devices (e.g. ETKs from ETAS) influence the Programs can be taken. The additional device could then be part of determining the code coverage of such an accessory. The advantage is that on the serial board of the control device additional components for the device for determination the code coverage are necessary. The tests can then be done with the conventional series control device be performed.

Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass in dem Codeabdeckungsspeicher Angaben darüber ablegbar sind, ob eine Adresse des Programmspeicher und/oder des Datenspeichers im Rahmen eines Schreibzugriffes oder ob sie im Rahmen eines Lesezugriffes angesprochen wurde. In dem Codeabdeckungsspeicher werden also nicht nur Angaben darüber abgelegt, ob eine Adresse des Programm- und Datenspeichers angesprochen wurde, sondern auch wie sie angesprochen wurde. Dadurch kann nach dem Bestimmen der Codeabdeckung des Steuerungs-/Regelungsprogramms eine wesentlich genauere und tiefergehende Analyse der Funktionsfähigkeit des Steuerungs-/Regelungsprogramms durchgeführt werden.According to an advantageous development of the present Invention is proposed that in the Code coverage memory Information about whether an address of the program memory and / or the Data storage in the context of a write access or whether it was addressed as part of a read access. By doing Code coverage memories are therefore not just information about whether an address of the program and Data storage was addressed, but also how it was addressed. Thereby, after determining the Control program one code coverage much more accurate and in-depth analysis of the Functionality of the control program be performed.

Gemäß einer vorteilhaften Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass der Codeabdeckungsspeicher mindestens so groß ausgebildet ist, dass der gesamte Programmspeicher auf dem Codeabdeckungsspeicher abbildbar ist. Vorzugsweise ist der Codeabdeckungsspeicher so groß ausgebildet, dass der gesamte adressierbare Speicherbereich des Mikroprozessors auf dem Codeabdeckungsspeicher abbildbar ist. Gemäß den vorgeschlagenen Ausführungsfarmen ist es möglich, jeder Adresse des Codeabdeckungsspeichers eine entsprechende Adresse des Programmspeichers bzw. des adressierbaren Speicherbereichs des Prozessors zuzuordnen. Dadurch wird einerseits das Ablegen der Angaben darüber, welche Adressen des Programm- und Datenspeichers wie angesprochen wurden, und andererseits das Auslesen der Codeabdeckung und der Art des Zugriffs zur weiteren Auswertung entscheidend erleichtert.According to an advantageous embodiment of the present  Invention is proposed that the Code coverage memory is at least as large, that the entire program memory on the Code coverage memory can be mapped. Preferably, the Code coverage memory so large that the entire addressable memory area of the microprocessor is mappable on the code coverage memory. According to the proposed execution farms, it is possible for everyone Address of the code cover memory a corresponding Address of the program memory or the addressable Allocate memory area of the processor. This will on the one hand the filing of information about which addresses the program and data memory as mentioned, and on the other hand reading the code coverage and the type access for further evaluation is crucial facilitated.

Die Größe des Codeabdeckungsspeichers kann dadurch optimiert werden, dass je Adresse des Codeabdeckungsspeichers weniger Bits zur Verfügung stehen, als für jede Adresse des Programmspeichers. Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass in dem Codeabdeckungsspeicher je Adresse 2 Bit zur Verfügung stehen. Eine 16-Bit breite Speicherstelle des Codeabdeckungsspeichers repräsentiert also 8 Adressen des Programmierspeichers, eine 32-Bit breite Speicherstelle repräsentiert dementsprechend 16 Adressen.The size of the code cover memory can thereby be optimized that for each address of the Code cover memory fewer bits are available, than for each address of the program memory. According to one preferred embodiment of the present invention suggested that each in the code coverage memory Address 2 bits are available. A 16-bit wide Represented location of the code coverage memory So 8 addresses of the programming memory, one 32-bit Accordingly, the wide memory location represents 16 Addresses.

Gemäß einer anderen vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass der Codeabdeckungsspeicher eine Logik zur Adressmanipulation aufweist. Mit Hilfe dieser Logik kann bspw. eine 32 Bit- Adresse des Programmspeichers in eine 8 Bit-Adresse des Codeabdeckungsspeichers umgewandelt werden. According to another advantageous development of the The present invention proposes that the Code coverage memory logic for address manipulation having. With the help of this logic, a 32 bit Address of the program memory in an 8 bit address of the Code coverage memory to be converted.  

Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass die Logik in Abhängigkeit von Schreib-Steuersignalen und Lese- Steuersignalen eine Kennung generiert, die an der entsprechenden Adresse in dem Codeabdeckungsspeicher ablegbar ist. Dazu werden die Schreib-Steuersignale und die Lese-Steuersignale über entsprechende Leitungen an die Logik des Codeabdeckungsspeichers geführt. Die von der Logik generierte Kennung besteht bspw. aus mehreren Bit, wobei in Abhängigkeit von einem Schreib- oder Lesezugriff auf eine Adresse des Programmspeichers verschiedene Bits gleich 1 oder 0 gesetzt werden. Es ist jedoch auch denkbar, dass die Kennung lediglich ein Bit aufweist, das in Abhängigkeit von einem Schreib- oder Lesezugriff gleich 0 oder gleich 1 zu gesetzt wird. Die Kennung wird dann an der entsprechenden Adresse in dem Codeabdeckungsspeicher abgelegt.According to a further preferred embodiment of the The present invention proposes that the logic depending on write control signals and read Control signals generated an identifier on the corresponding address in the code coverage memory is discardable. To do this, the write control signals and the Read control signals via corresponding lines to the Logic of the code coverage memory. The of the Logic generated identifier consists, for example, of several bits, depending on a write or read access different bits to an address of the program memory be set to 1 or 0. However, it is also conceivable that the identifier has only one bit, which in Dependence on a write or read access equal to 0 or equal to 1 is set. The identifier is then on the corresponding address in the code coverage memory filed.

Die Angaben darüber, ob und wie eine Adresse des Programmspeichers oder des Datenspeichers angesprochen wurde, können auf beliebige Weise in dem Codeabdeckungsspeicher abgelegt werden. Bei flüchtigen Speichern müssen die Angabe in dem Codeabdeckungsspeicher vor dem Abschalten der Versorgungsspannung ausgelesen oder durch eine Batterie gepuffert werden.The information on whether and how an address of the Program memory or the data memory addressed was in any way in the Code coverage memory are stored. At volatile The information must be stored in the code coverage memory read out before switching off the supply voltage or be buffered by a battery.

Gemäß noch einer anderen vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass der Codeabdeckungsspeicher einen Schreib-Lese-Speicher mit wahlfreiem Zugriff und einen Festwertspeicher aufweist, die über die Logik miteinander in Verbindung stehen. Der Schreib-Lese-Speicher ist vorzugsweise als ein RAM-Speicher und der Festwertspeicher als ein Flash-Speicher ausgebildet. Vor dem Abschalten der Versorgungsspannung werden die Angaben aus dem Schreib-Lese-Speicher in den Festwertspeicher umgespeichert. Dies kann bspw. im Rahmen einer Nachlaufphase des Steuerungs-/Regelungsgerätes durchgeführt werden. Während einer Initialisierungsphase des Steuerungs-/Regelungsgeräts kann der Inhalt des Festwertspeichers nach dem erneuten Einschalten der Versorgungsspannung wieder in den Schreib-Lese-Speicher übertragen werden. Der Schreib-Lese-Speicher enthält dann die Codeabdeckung, die während der vorangegangenen Fahrzyklen bestimmt wurde. Das Prüf- und Testverfahren kann somit dort fortgesetzt werden, wo es vor der zeitweiligen Unterbrechung beendet wurde.According to yet another advantageous development of the The present invention proposes that the Code coverage memory with a read-write memory has random access and a read-only memory that communicate with each other through logic. The Read-write memory is preferably as a RAM memory and the read-only memory as a flash memory educated. Before switching off the supply voltage the information from the read-write memory in the Read-only memory re-stored. This can be done, for example  a run-on phase of the control device be performed. During an initialization phase of the control device, the content of the Read-only memory after switching on the Supply voltage back into the read-write memory be transmitted. The read-write memory then contains the code coverage that used during the previous Driving cycles was determined. The inspection and test procedure can thus continue where it was before the temporary Interruption has ended.

Zur Analyse der Codeabdeckung des Steuerungs-/Re­ gelungsprogramms kann die Codeabdeckung an ein Analysegerät übertragen werden. Dazu wird gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung vorgeschlagen, dass der Mikroprozessor des Mikrocomputers eine serielle Schnittstelle und/oder eine parallele Schnittstelle aufweist. An dieser Schnittstelle kann bspw. ein Steuergerätestecker angeschlossen werden, über den die Codeabdeckung aus dem Codeabdeckungsspeicher zu dem Analysegerät übertragen werden kann.To analyze the code coverage of the control / re program can set the code coverage on Analyzer are transferred. According to a preferred embodiment of the present invention suggested that the microprocessor of the microcomputer a serial interface and / or a parallel one Interface. At this interface, for example. a control unit connector can be connected via which the Code coverage from the code coverage memory to the Analyzer can be transferred.

Vorteilhafterweise ist der Schreib-Lese-Speicher als ein Zweitorspeicher (Dual-Port-RAM) ausgebildet. Zweitorspeicher ermöglichen es zwei unabhängigen Prozessoren auf gemeinsame Daten zuzugreifen. Das hat insbesondere dann Vorteile, wenn einerseits Angaben darüber, ob und wie auf Adressen des Programm- und Datenspeichers zugegriffen wird, in dem Codeabdeckungsspeicher abgelegt werden und andererseits diese Angaben über eine serielle oder parallele Schnittstelle des Mikrocomputers an ein externes Analysegerät übermittelt werden.The read-write memory is advantageously as one Two-port memory (dual-port RAM) is formed. Two-port stores allow two independent Processors to access common data. That has advantages in particular if, on the one hand, information about whether and how on addresses of the program and Data storage is accessed in the Code coverage memories are stored and on the other hand this information about a serial or parallel Interface of the microcomputer to an external one Analyzer are transmitted.

Als weitere Lösung der vorliegenden Aufgabe schlägt die Erfindung ausgehend von einem Verfahren zum Bestimmen der Codeabdeckung der eingangs genannten Art ein Verfahren vor, das gekennzeichnet ist durch die nachfolgenden Schritte:
As a further solution to the present problem, the invention proposes, starting from a method for determining the code coverage of the type mentioned at the outset, a method which is characterized by the following steps:

  • - Inbetriebnahme des Kraftfahrzeugs;- commissioning of the motor vehicle;
  • - Durchlaufen mindestens eines Fahrzyklusses mit dem Kraftfahrzeug;- Go through at least one driving cycle with the Motor vehicle;
  • - Erfassen von Angaben darüber, welche Adressen des Programm- und Datenspeichers während der Ausführung des Steuerungs-/Regelungsprogramms während des Fahrzyklusses im Rahmen eines Schreib- und/oder Lesezugriffs angesprochen wurden; und- Collect information about which addresses of the Program and data memory during execution of the control program during the Driving cycle as part of a write and / or Read access was addressed; and
  • - Ablegen der Angaben in einem Codeabdeckungsspeicher des Mikrocomputers.- Storage of the information in a code coverage memory of the microcomputer.

Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass Angaben darüber erfasst werden, ob eine Adresse des Programmspeichers und/oder des Datenspeichers im Rahmen eines Schreibzugriffes oder ob sie im Rahmen eines Lesezugriffes angesprochen wird, und die Angaben in dem Codeabdeckungsspeicher abgelegt werden. Dadurch kann neben Angaben, ob auf eine bestimmte Adresse des Programm- und Datenspeichers zugegriffen wurde, auch das Wie ermittelt und in dem Codeabdeckungsspeicher abgelegt werden.According to an advantageous development of the present Invention is proposed that information about it is recorded whether an address of the program memory and / or the Data storage in the context of a write access or whether it is addressed as part of a read access, and the Specifications are stored in the code coverage memory. This allows, in addition to specifying whether to a specific address the program and data memory was accessed, too the how determined and in the code coverage memory be filed.

Zur Ermittlung, wie auf die Adressen des Programm- und Datenspeichers zugegriffen wird, schlägt die Erfindung vor, dass Schreib-Steuersignale und Lese-Steuersignale an den Codeabdeckungsspeicher geführt werden.To determine how to the addresses of the program and Is accessed, the invention proposes that write control signals and read control signals to the Code coverage memory are performed.

Gemäß einer anderen bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass bestimmte Adressen des Codeabdeckungsspeichers entsprechenden Adressen des Programmspeichers und/oder des Datenspeichers zugeordnet werden und dass die Angabe, ob und wie eine Adresse des Programmspeichers oder des Datenspeichers während der Ausführung des Steuerungs-/Regelungsprogramms angesprochen wird, an der entsprechenden Adresse des Codeabdeckungsspeichers abgelegt wird.According to another preferred embodiment of the The present invention proposes that certain Corresponding addresses of the code coverage memory Addresses of the program memory and / or the data memory be assigned and that specifying whether and how a Address of the program memory or the data memory  during the execution of the control program is addressed at the corresponding address of the Code coverage memory is stored.

Vorteilhafterweise kann der Codeabdeckungsspeicher mittels eines Steuersignals zwischen einem Aufzeichnungsmodus und einem Auslese-/Löschmodus umgeschaltet werden. In dem Aufzeichnungsmodus werden Angaben, ob und wie eine Adresse des Programmspeichers oder des Datenspeichers angesprochen wird, ermittelt und in dem Codeabdeckungsspeicher abgelegt. Im Rahmen des Auslesemodus können die in dem Codeabdeckungsspeicher abgelegten Angaben bspw. an ein externes Analysegerät übermittelt werden. Im Rahmen des Löschmodus wird der Codeabdeckungsspeicher gelöscht.Advantageously, the code coverage memory can be created using a control signal between a recording mode and a read / delete mode can be switched. By doing Recording mode will indicate whether and how an address of the program memory or the data memory addressed is determined and stored in the code coverage memory. As part of the readout mode, the Information stored in the code cover memory, for example external analyzer can be transmitted. As part of the Clear mode clears the code cover memory.

Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass die Angaben über die Codeabdeckung in einem Schreib-Lese-Speicher des Codeabdeckungsspeichers mit wahlfreiem Zugriff abgelegt werden. Vorteilhafterweise werden die Angaben über die Codeabdeckung am Ende des Verfahrens aus dem Schreib-Lese-Speicher in einen Festwertspeicher des Codeabdeckungsspeichers kopiert. Vorzugsweise werden die Angaben über die Codeabdeckung vorangegangener Fahrzyklen zu Beginn des Verfahrens aus dem Festwertspeicher in den Schreib-Lese-Speicher kopiert. Der Schreib-Lese-Speicher ist bspw. als ein RAM-Speicher ausgebildet. Der Festwertspeicher ist bspw. als ein ROM, insbesondere als ein EPROM, EEPROM oder ein Flash-EEPROM, ausgebildet.According to an advantageous development of the present Invention it is proposed that the information on the Code coverage in a read-write memory of the Code coverage memory stored with random access become. Advantageously, the information on the Code coverage at the end of the procedure from the Read-write memory in a read-only memory of the Code coverage memory copied. Preferably the Information about the code coverage of previous driving cycles at the beginning of the procedure from the read-only memory in the Read-write memory copied. The read-write memory is designed, for example, as a RAM memory. The Read-only memory is, for example, as a ROM, in particular as an EPROM, EEPROM or a flash EEPROM.

Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass die Angaben über die Codeabdeckung am Ende des Verfahrens einem entsprechenden Sourcecode des Steuerungs-/Regelungsprogramms zugeordnet werden und der durchlaufene und/oder der nicht durchlaufene Sourcecode markiert und ausgegeben wird. Die Angaben über die Codeabdeckung werden zunächst dem in dem Programmspeicher abgelegten Code des Steuerungs-/Re­ gelungsprogramms zugeordnet. Der in dem Programmspeicher abgelegte Code ist das Ergebnis von Compiler-/Assembler- und Linker-Läufen. Der Code in dem Programmspeicher wird dann dem entsprechenden Sourcecode des Steuerungs-/Re­ gelungsprogramms zugeordnet. Der Sourcecode ist in einer beliebigen Programmiersprache abgefasst. Über eine Zuordnung der Angaben über die Codeabdeckung zu dem Sourcecode können die Bereiche des Sourcecodes ermittelt werden, die während der Abarbeitung des Steuerungs-/Re­ Regelungsprogramms im Rahmen des Test- und Prüfverfahrens durchlaufen bzw. nicht durchlaufen werden. Diese Bereiche des Sourcecodes werden markiert und ausgegeben. Durch eine Analyse des ausgegebenen Sourcecodes kann dann relativ schnell ermittelt werden, welche Softwarebefehle bzw. Funktionalitäten nicht ausgeführt wurden und ob ein Programmier- oder Applikationsfehler vorliegt.According to a preferred embodiment of the present Invention it is proposed that the information on the Code coverage at the end of the procedure an appropriate Assigned source code of the control program and the run and / or the not run Source code is marked and output. The information about  the code coverage will be the one in the Program memory stored code of the control / re associated program. The one in the program memory stored code is the result of compiler / assembler and linker runs. The code in the program memory is then the corresponding source code of the control / re associated program. The source code is in one any programming language. Over a Assignment of the information about the code coverage to the Source code can determine the areas of the source code be during the processing of the control / re Control program as part of the test and inspection procedure go through or not go through. These areas of the source code are marked and output. By a Analysis of the output source code can then be relative which software commands or Functionalities were not carried out and whether a There is a programming or application error.

Vorteilhafterweise wird der Sourcecode auf einen Bildschirm eines Computers ausgegeben. An dem Computer kann dann sofort eine Analyse des ausgegebenen Sourcecodes durchgeführt und der Programmierfehler ggf. beseitigt werden.The source code is advantageously displayed on a screen issued by a computer. Then on the computer immediately an analysis of the output source code carried out and the programming error removed if necessary become.

Zeichnungendrawings

Ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung wird im Folgenden an Hand der Zeichnung näher erläutert. Es zeigt:A preferred embodiment of the present In the following, the invention will be explained in more detail with reference to the drawing explained. It shows:

Fig. 1 einen Mikrocomputer zum Einsatz in einem Steuerung-/Regelungsgerät eines Kraftfahrzeugs gemäß einer bevorzugten Ausführungsform der Erfindung. Fig. 1 shows a microcomputer for use in a control device of a motor vehicle according to a preferred embodiment of the invention.

Beschreibung des AusführungsbeispielsDescription of the embodiment

In Fig. 1 ist ein Mikrocomputer in seiner Gesamtheit mit dem Bezugszeichen 1 bezeichnet. Der Mikrocomputer 1 wird in einem Steuerungs-/Regelungsgerät eines Kraftfahrzeugs eingesetzt. Das Steuerungs-/Regelungsgerät dient zur Steuerung/Regelung von Prozessen in dem Kraftfahrzeug. Zu steuernde bzw. zu regelnde Prozesse sind bspw. die Brennkraftmaschine, die Abgasreinigungsanlage, die Getriebeeinheit, die Antriebs- oder die Bremseinheit des Kraftfahrzeugs. Der Mikrocomputer 1 weist einen Mikroprozessor 2, einen Programmspeicher 3, einen Datenspeicher 4 und einen Arbeitsspeicher 5 auf. Der Programmspeicher 3, der Datenspeicher 4 und der Arbeitsspeicher 5 sind über mehrere Busleitungen mit dem Mikroprozessor 2 verbunden. Die Busleitungen umfassen insbesondere einen Adressbus (ADR) 6, einen Datenbus (DAT) 7, eine Schreib-Steuerleitung (WR) 8 und eine Lese- Steuerleitung (RD) 9.In Fig. 1, a microcomputer in its entirety is designated by the reference number 1 . The microcomputer 1 is used in a control device of a motor vehicle. The control device is used to control / regulate processes in the motor vehicle. Processes to be controlled or regulated are, for example, the internal combustion engine, the exhaust gas cleaning system, the transmission unit, the drive or brake unit of the motor vehicle. The microcomputer 1 has a microprocessor 2 , a program memory 3 , a data memory 4 and a working memory 5 . The program memory 3 , the data memory 4 and the main memory 5 are connected to the microprocessor 2 via several bus lines. The bus lines include in particular an address bus (ADR) 6 , a data bus (DAT) 7 , a write control line (WR) 8 and a read control line (RD) 9 .

Der Mikrocomputer 1 weist darüber hinaus einen Codeabdeckungsspeicher 10 auf, der parallel zu dem Programmspeicher 3 und dem Datenspeicher 4 über den Adressbus 6 und den Datenbus 7 an den Mikroprozessor 2 angeschlossen ist. Der Codeabdeckungsspeicher 10 weist eine Logik 11, einen Schreib-Lese-Speicher 12 und einen Festwertspeicher 13 auf. Der Schreib-Lese-Speicher 12 ist als ein RAM-Speicher und der Festwertspeicher 13 als ein Flash-EPROM ausgebildet. Der Schreib-Lese-Speicher 12 und der Festwertspeicher 13 stehen über die Logik 11 miteinander in Verbindung. Zwischen dem Mikroprozessor 2 und der Logik 11 verläuft eine weitere Steuerleitung (Mode) 14, mit der der Codeabdeckungsspeicher 10 zwischen einem Aufzeichnungsmodus und einem Auslese-/Löschmodus umgeschaltet werden kann. The microcomputer 1 also has a code coverage memory 10 which is connected to the microprocessor 2 in parallel with the program memory 3 and the data memory 4 via the address bus 6 and the data bus 7 . The code coverage memory 10 has a logic 11 , a read / write memory 12 and a read-only memory 13 . The read-write memory 12 is designed as a RAM memory and the read-only memory 13 as a flash EPROM. The read-write memory 12 and the read-only memory 13 are connected to one another via the logic 11 . A further control line (mode) 14 runs between the microprocessor 2 and the logic 11 , by means of which the code coverage memory 10 can be switched between a recording mode and a read / delete mode.

Zunächst wird auf den Aufzeichnungsmodus näher eingegangen. Nach der Inbetriebnahme des Kraftfahrzeugs wird mit dem Kraftfahrzeug mindestens ein Fahrzyklus durchlaufen. Es können mehrere Fahrzyklen unmittelbar aufeinanderfolgend oder mit einer zeitlichen Unterbrechung, auch mit zwischenzeitlicher Abschaltung der Brennkraftmaschine durchlaufen werden. In unterschiedlichen Fahrzyklen wird das Kraftfahrzeug in verschiedenen Fahrzuständen betrieben. Dadurch werden bei einem auf dem Mikrocomputer 1 ablaufenden Steuerungs-/Regelungsprogramm verschiedene Programmpfade durchlaufen. Ziel ist es, so viele unterschiedliche Fahrzyklen zu durchlaufen, dass möglichst alle Programmpfade des Steuerungs-/Regelungsprogramms durchlaufen werden. Während der Fahrt des Kraftfahrzeugs werden Angaben darüber erfasst, welche Adressen des Programmspeichers 3 und des Datenspeichers 4 während der Ausführung des Steuerungs-/Regelungsprogramms angesprochen werden. Es wird unterschieden, ob eine Adresse des Programmspeichers 3 bzw. des Datenspeichers 4 im Rahmen eines Schreibzugriffes (WR) oder ob sie im Rahmen eines Lesezugriffes (RD) angesprochen wird. Die Angaben, ob und wie eine Adresse des Programmspeichers 3 bzw. des Datenspeichers 4 angesprochen wird, wird in dem Codeabdeckungsspeicher 10 des Mikrocomputers 1 abgelegt.First, the recording mode is discussed in more detail. After the motor vehicle has been started up, the motor vehicle runs through at least one driving cycle. Several driving cycles can be carried out in direct succession or with a time interruption, even with the internal combustion engine being switched off in the meantime. The motor vehicle is operated in different driving states in different driving cycles. As a result, various program paths are run through in a control program running on the microcomputer 1 . The aim is to go through so many different driving cycles that as many program paths of the control program as possible are run through. While the motor vehicle is traveling, information is collected about which addresses of the program memory 3 and the data memory 4 are addressed during the execution of the control program. A distinction is made as to whether an address of the program memory 3 or of the data memory 4 is addressed in the context of a write access (WR) or whether it is addressed in the context of a read access (RD). The information as to whether and how an address of the program memory 3 or of the data memory 4 is addressed is stored in the code coverage memory 10 of the microcomputer 1 .

Genauer gesagt, werden die Angaben über die Codeabdeckung in dem Schreib-Lese-Speicher 12 des Codeabdeckungsspeichers 10 gespeichert. Der Schreib-Lese-Speicher 12 ist so groß ausgebildet, dass der gesamte Programmspeicher 3 auf dem Schreib-Lese-Speicher 12 abgebildet werden kann. Somit kann jeder Adresse des Programmspeichers 3 eine Adresse des Schreib-Lese-Speichers 12 zugeordnet werden. In dem Schreib-Lese-Speicher 12 steht jeder Adresse ein zwei-Bit-Speicherbereich zur Verfügung. Die Logik 11 generiert in Abhängigkeit der Schreib-Steuersignale (WR) 8 und der Lese- Steuersignale (RD) 9 eine Kennung, die an der entsprechenden Adresse in dem Schreib-Lese-Speicher 12 gespeichert wird. Die Kennung besteht bspw. darin, dass das erste der zwei zur Verfügung stehenden Bits gleich 1 gesetzt wird, falls auf die entsprechende Adresse des Programmspeichers 3 im Rahmen eines Schreibzugriffes zugegriffen wird, und dass das zweite Bit gleich 1 gesetzt wird, falls auf die entsprechende Adresse im Rahmen eines Lesezugriffes zugegriffen wurde.More specifically, the code coverage information is stored in the random access memory 12 of the code coverage memory 10 . The read-write memory 12 is designed so large that the entire program memory 3 can be mapped to the read-write memory 12 . Thus, an address of the read-write memory 12 can be assigned to each address of the program memory 3 . There is a two-bit memory area available in the random access memory 12 for each address. Depending on the write control signals (WR) 8 and the read control signals (RD) 9 , the logic 11 generates an identifier which is stored in the read / write memory 12 at the corresponding address. The identifier consists, for example, in that the first of the two available bits is set to 1 if the corresponding address of the program memory 3 is accessed as part of a write access, and that the second bit is set to 1 if the corresponding one Address was accessed as part of a read access.

Die Logik 11 führt außerdem eine Adressmanipulation durch. Die Adresse des Programmspeichers 3 wird auf einer entsprechenden Adresse des Schreib-Lese-Speichers 12 abgebildet. Im Rahmen der Adressmanipulation ist es auch möglich, bspw. eine 32-Bit-Adresse des Programmspeichers 3 auf einer 8-Bit-Adresse des Schreib-Lese-Speichers 12 abzubilden.The logic 11 also performs address manipulation. The address of the program memory 3 is mapped to a corresponding address of the read-write memory 12 . As part of the address manipulation, it is also possible, for example, to map a 32-bit address of the program memory 3 to an 8-bit address of the read-write memory 12 .

Am Ende eines Fahrzyklusses, mindestens aber vor dem Abschalten der Versorgungsspannung, werden die Angaben über die Codeabdeckung aus dem Schreib-Lese-Speicher 12 über die Logik 11 in den Festwertspeicher 13 kopiert. Das kann bspw. in einer Nachlaufphase erfolgen. Nachdem die Versorgungsspannung wieder anliegt, zumindest aber vor dem Durchlaufen eines oder mehrerer weiterer Fahrzyklen, werden die Angaben über die Codeabdeckung vorangegangener Fahrzyklen aus dem Festwertspeicher 13 über die Logik 11 in den Schreib-Lese-Speicher 12 kopiert. Das kann bspw. im Rahmen einer Initialisierungsphase erfolgen. Dadurch ist es möglich, das Verfahren zum Bestimmen der Codeabdeckung auch mit zeitlicher Unterbrechung zwischen den einzelnen Fahrzyklen auszuführen. Des Weiteren ist es denkbar, in regelmäßigen zeitlichen Abständen oder auf ausdrücklichen Befehl hin die Angaben über die Codeabdeckung zu Sicherungszwecken aus dem Schreib-Lese-Speicher 12 in den Festwertspeicher 13 zu kopieren. At the end of a driving cycle, but at least before the supply voltage is switched off, the information about the code coverage is copied from the read-write memory 12 via the logic 11 into the read-only memory 13 . This can be done, for example, in a follow-up phase. After the supply voltage is present again, but at least before one or more further driving cycles are run through, the information about the code coverage of previous driving cycles is copied from the read-only memory 13 via the logic 11 into the read-write memory 12 . This can be done, for example, during an initialization phase. This makes it possible to carry out the method for determining the code coverage even with a time interruption between the individual driving cycles. Furthermore, it is conceivable to copy the information about the code coverage from the read-write memory 12 into the read-only memory 13 at regular time intervals or on an explicit command.

Wenn die Aufzeichnung der Codeabdeckung abgeschlossen ist, wird der Codeabdeckungsspeicher 10 mittels des Steuersignals 14 in den Auslesemodus umgeschaltet. In diesem Modus können die Angaben über die Codeabdeckung aus dem Schreib-Lese-Speicher 12 bzw. aus dem Festwertspeicher 13 zur Auswertung ausgelesen werden. Es ist denkbar, dass der Mikroprozessor 2 die serielle und/oder parallele Schnittstelle (nicht dargestellt) aufweist, über die die Angaben über die Codeabdeckung an ein Analysegerät (nicht dargestellt) übertragen werden können. Dazu kann ein Analysegerätstecker an eine serielle oder parallele Schnittstelle des Mikroprozessors 2 angeschlossen werden. Der Schreib-Lese-Speicher 12 ist vorzugsweise als ein Zweitorspeicher (Dual-Port-RAM) ausgebildet, so dass sowohl die Logik 11 als auch das Auswertegerät auf die Angaben über die Codeabdeckung in dem Schreib-Lese-Speicher 12 zugreifen können.When the code coverage recording is complete, the code coverage memory 10 is switched to the readout mode by means of the control signal 14 . In this mode, the information about the code coverage can be read from the read-write memory 12 or from the read-only memory 13 for evaluation. It is conceivable that the microprocessor 2 has the serial and / or parallel interface (not shown), via which the information about the code coverage can be transmitted to an analysis device (not shown). For this purpose, an analyzer plug can be connected to a serial or parallel interface of the microprocessor 2 . The read-write memory 12 is preferably designed as a two-port memory (dual-port RAM), so that both the logic 11 and the evaluation device can access the information about the code coverage in the read-write memory 12 .

In dem Analysegerät werden die Angaben über die Codeabdeckung einem entsprechenden Sourcecode des Steuerungs-/Regelungsprogramms zugeordnet. Der durchlaufene bzw. der nicht durchlaufene Sourcecode wird markiert und auf einem Bildschirm eines Computers ausgegeben. So kann bspw. der Sourcecode ausgegeben werden, der während der Aufzeichnungsphase nicht angesprochene Speicherbereiche aufruft. Dann kann an Hand des angegebenen Sourcecodes überprüft werden, warum der Speicherbereich nicht angesprochen wird. Falls ein Programmierfehler gefunden wird, kann der Sourcecode an dem Computer gleich bearbeitet werden.In the analyzer, the information about the Code coverage a corresponding source code of the Control program assigned. The run through or the source code that has not been run through is marked and output on a screen of a computer. So can For example, the source code that is output during the Memory areas not addressed during the recording phase calls. Then you can use the specified source code be checked why the memory area is not is addressed. If a programming error is found the source code can be processed on the computer immediately become.

Claims (21)

1. Mikrocomputer (1), insbesondere zum Einsatz in einem Steuerungs-/Regelungsgerät zur Steuerung/Regelung eines Prozesses in einem Kraftfahrzeug, mit einem Mikroprozessor (2), einem Adressbus (ADR; 6), einem Datenbus (DAT; 7), einem Programmspeicher (3) und einem Datenspeicher (4), wobei der Mikroprozessor (2) über den Adressbus (ADR; 6) und den Datenbus (DAT; 7) mit dem Programmspeicher (3) und dem Datenspeicher (4) in Verbindung steht, dadurch gekennzeichnet, dass der Mikrocomputer (1) einen Codeabdeckungsspeicher (10) aufweist, der parallel zu dem Programmspeicher (3) und dem Datenspeicher (4) über den Adressbus (ADR; 6) und den Datenbus (DAT; 7) an den Mikroprozessor (2) angeschlossen ist, wobei in dem Codeabdeckungsspeicher (10) Angaben darüber ablegbar sind, welche Adressen des Programmspeichers (3) und/oder des Datenspeichers (4) während der Ausführung eines Steuerungs-/Regelungsprogramms aus dem Programmspeicher (3) durch den Mikrocomputer (1) während einer Fahrt des Kraftfahrzeugs im Rahmen eines Schreib- und/oder Lesezugriffes angesprochen werden.1. Microcomputer ( 1 ), in particular for use in a control device for controlling a process in a motor vehicle, with a microprocessor ( 2 ), an address bus (ADR; 6 ), a data bus (DAT; 7 ), one Program memory ( 3 ) and a data memory ( 4 ), the microprocessor ( 2 ) being connected to the program memory ( 3 ) and the data memory ( 4 ) via the address bus (ADR; 6 ) and the data bus (DAT; 7 ), thereby characterized in that the microcomputer ( 1 ) has a code coverage memory ( 10 ) which, in parallel to the program memory ( 3 ) and the data memory ( 4 ) via the address bus (ADR; 6 ) and the data bus (DAT; 7 ) to the microprocessor ( 2 ) is connected, in the code cover memory ( 10 ) information can be stored about which addresses of the program memory ( 3 ) and / or the data memory ( 4 ) during the execution of a control program from the program memory ( 3 ) by the microco mputer ( 1 ) during a drive of the motor vehicle in the context of a write and / or read access. 2. Mikrocomputer (1) nach Anspruch 1, dadurch gekennzeichnet, dass in dem Codeabdeckungsspeicher (10) Angaben darüber ablegbar sind, ob eine Adresse des Programmspeichers (3) und/oder des Datenspeichers (4) im Rahmen eines Schreibzugriffes oder ob sie im Rahmen eines Lesezugriffes angesprochen wurde. 2. Microcomputer ( 1 ) according to claim 1, characterized in that in the code cover memory ( 10 ) information can be stored as to whether an address of the program memory ( 3 ) and / or the data memory ( 4 ) in the context of a write access or whether it is in the frame a read access was addressed. 3. Mikrocomputer (1) nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Codeabdeckungsspeicher (10) mindestens so groß ausgebildet ist, dass der gesamte Programmspeicher (3) auf dem Codeabdeckungsspeicher (10) abbildbar ist.3. Microcomputer ( 1 ) according to claim 1 or 2, characterized in that the code cover memory ( 10 ) is at least so large that the entire program memory ( 3 ) on the code cover memory ( 10 ) can be mapped. 4. Mikrocomputer (1) nach Anspruch 3, dadurch gekennzeichnet, dass der Codeabdeckungsspeicher (10) so groß ausgebildet ist, dass der gesamte adressierbare Speicherbereich des Mikroprozessors (2) auf dem Codeabdeckungsspeicher (10) abbildbar ist.4. Microcomputer ( 1 ) according to claim 3, characterized in that the code cover memory ( 10 ) is formed so large that the entire addressable memory area of the microprocessor ( 2 ) on the code cover memory ( 10 ) can be mapped. 5. Mikrocomputer (1) nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass in dem Codeabdeckungsspeicher (10) je Adresse 2 bit zur Verfügung stehen.5. Microcomputer ( 1 ) according to one of claims 1 to 4, characterized in that 2 bits are available per address in the code coverage memory ( 10 ). 6. Mikrocomputer (1) nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der Codeabdeckungsspeicher (10) eine Logik (11) zur Adressmanipulation aufweist.6. Microcomputer ( 1 ) according to one of claims 1 to 5, characterized in that the code coverage memory ( 10 ) has logic ( 11 ) for address manipulation. 7. Mikrocomputer (1) nach Anspruch 6, dadurch gekennzeichnet, dass die Logik (11) in Abhängigkeit von Schreib-Steuersignalen (WR; 8) und Lese-Steuersignalen (RD; 9) eine Kennung generiert, die an der entsprechenden Adresse in dem Codeabdeckungsspeicher (10) ablegbar ist.7. Microcomputer ( 1 ) according to claim 6, characterized in that the logic ( 11 ) in dependence on write control signals (WR; 8 ) and read control signals (RD; 9) generates an identifier which at the corresponding address in the Code coverage memory ( 10 ) can be stored. 8. Mikrocomputer (1) nach Anspruch 6 oder 7, dadurch gekennzeichnet, dass der Codeabdeckungsspeicher (10) einen Schreib-Lese-Speicher (12) mit wahlfreiem Zugriff und einen Festwertspeicher (13) aufweist, die über die Logik (11) miteinander in Verbindung stehen.8. The microcomputer ( 1 ) according to claim 6 or 7, characterized in that the code cover memory ( 10 ) has a random access memory ( 12 ) and a read-only memory ( 13 ) which are connected to one another via the logic ( 11 ) Connect. 9. Mikrocomputer (1) nach Anspruch 8, dadurch gekennzeichnet, dass der Schreib-Lese-Speicher (12) als ein RAM-Speicher und/oder der Festwertspeicher (13) als ein Flash-Speicher ausgebildet ist. 9. microcomputer ( 1 ) according to claim 8, characterized in that the read-write memory ( 12 ) as a RAM memory and / or the read-only memory ( 13 ) is designed as a flash memory. 10. Mikrocomputer (1) nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass der Mikroprozessor (2) des Mikrocomputers (1) eine serielle Schnittstelle und/oder eine parallele Schnittstelle aufweist.10. Microcomputer ( 1 ) according to one of claims 1 to 9, characterized in that the microprocessor ( 2 ) of the microcomputer ( 1 ) has a serial interface and / or a parallel interface. 11. Mikrocomputer (1) nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass der Schreib-Lese-Speicher (12) als ein Zweitorspeicher (Dual-Port-RAM) ausgebildet ist.11. Microcomputer ( 1 ) according to one of claims 8 to 10, characterized in that the read-write memory ( 12 ) is designed as a two-port memory (dual-port RAM). 12. Verfahren zum Bestimmen der Codeabdeckung eines Steuerungs-/Regelungsprogramms eines Mikrocomputers (1), insbesondere zum Einsatz in einem Steuerungs-/Re­ gelungsgerät zur Steuerung/Regelung eines Prozesses in einem Kraftfahrzeug, mit einem Mikroprozessor (2), einem Adressbus (ADR; 6), einem Datenbus (DAT; 7), einem Programmspeicher (3) und einem Datenspeicher (4), wobei der Mikroprozessor (2) über den Adressbus (ADR; 6) und Datenbus (DAT; 7) mit dem Programmspeicher (3) und dem Datenspeicher (4) in Verbindung steht, gekennzeichnet durch die nachfolgenden Schritte:
  • - Inbetriebnahme des Kraftfahrzeugs;
  • - Durchlaufen mindestens eines Fahrzyklusses mit dem Kraftfahrzeug;
  • - Erfassen von Angaben darüber, welche Adressen des Programmspeichers (3) und des Datenspeichers (4) während der Ausführung des Steuerungs-/Re­ gelungsprogramms während des Fahrzyklusses im Rahmen eines Schreib- und/oder Lesezugriffs angesprochen werden; und
  • - Ablegen der Angaben in einem Codeabdeckungsspeicher (10) des Mikrocomputers (1).
12. A method for determining the code coverage of a control / regulation program of a microcomputer ( 1 ), in particular for use in a control / regulation device for controlling / regulating a process in a motor vehicle, with a microprocessor ( 2 ), an address bus (ADR; 6 ), a data bus (DAT; 7 ), a program memory ( 3 ) and a data memory ( 4 ), the microprocessor ( 2 ) via the address bus (ADR; 6 ) and data bus (DAT; 7 ) with the program memory ( 3 ) and is connected to the data memory ( 4 ), characterized by the following steps:
  • - commissioning of the motor vehicle;
  • - Running through at least one driving cycle with the motor vehicle;
  • - Collecting information about which addresses of the program memory ( 3 ) and the data memory ( 4 ) are addressed during the execution of the control / regulation program during the driving cycle as part of a write and / or read access; and
  • - Storage of the information in a code coverage memory ( 10 ) of the microcomputer ( 1 ).
13. Verfähren nach Anspruch 12, dadurch gekennzeichnet, dass Angaben darüber erfasst werden, ob eine Adresse des Programmspeichers (3) und/oder des Datenspeichers (4) im Rahmen eines Schreibzugriffes oder ob sie im Rahmen eines Lesezugriffes angesprochen wird, und die Angaben in dem Codeabdeckungsspeicher (10) abgelegt werden.13. The method according to claim 12, characterized in that information is recorded as to whether an address of the program memory ( 3 ) and / or the data memory ( 4 ) in the context of a write access or whether it is addressed in the context of a read access, and the information in the code coverage memory ( 10 ) are stored. 14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass Schreib-Steuersignale (WR; 8) und Lese-Steuersignale (RD; 9) an den Codeabdeckungsspeicher (10) geführt werden.14. The method according to claim 13, characterized in that write control signals (WR; 8 ) and read control signals (RD; 9 ) are passed to the code coverage memory ( 10 ). 15. Verfahren nach einem der Ansprüche 12 bis 14, dadurch gekennzeichnet, dass bestimmte Adressen des Codeabdeckungsspeichers (10) entsprechenden Adressen des Programmspeichers (3) und/oder des Datenspeichers (4) zugeordnet werden und dass die Angabe, ob und wie eine Adresse des Programmspeichers (3) oder des Datenspeichers (4) während der Ausführung des Steuerungs-/Re­ gelungsprogramms angesprochen wird, an der entsprechenden Adresse des Codeabdeckungsspeichers (10) abgelegt wird.15. The method according to any one of claims 12 to 14, characterized in that certain addresses of the code coverage memory ( 10 ) are assigned corresponding addresses of the program memory ( 3 ) and / or the data memory ( 4 ) and that the specification of whether and how an address of the Program memory ( 3 ) or the data memory ( 4 ) is addressed during the execution of the control / regulation program, is stored at the corresponding address of the code cover memory ( 10 ). 16. Verfahren nach einem der Ansprüche 12 bis 15, dadurch gekennzeichnet, dass der Codeabdeckungsspeicher (10) mittels eines Steuersignals (Mode; 14) zwischen einem Aufzeichnungsmodus und einem Auslese-/Löschmodus umgeschaltet wird.16. The method according to any one of claims 12 to 15, characterized in that the code coverage memory ( 10 ) by means of a control signal (mode; 14 ) is switched between a recording mode and a read / erase mode. 17. Verfahren nach einem der Ansprüche 12 bis 16, dadurch gekennzeichnet, dass die Angaben über die Codeabdeckung in einem Schreib-Lese-Speicher (12) des Codeabdeckungsspeichers (10) mit wahlfreiem Zugriff abgelegt werden.17. The method according to any one of claims 12 to 16, characterized in that the information about the code coverage in a read-write memory ( 12 ) of the code coverage memory ( 10 ) are stored with random access. 18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass am Ende des Verfahrens die Angaben über die Codeabdeckung aus dem Schreib-Lese-Speicher (12) in einen Festwertspeicher (13) des Codeabdeckungsspeichers (10) kopiert werden.18. The method according to claim 17, characterized in that at the end of the method, the information about the code coverage from the read-write memory ( 12 ) is copied into a read-only memory ( 13 ) of the code coverage memory ( 10 ). 19. Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass zu Beginn des Verfahrens die Angaben über die Codeabdeckung vorangegangener Fahrzyklen aus dem Festwertspeicher (13) in den Schreib-Lese-Speicher (12) kopiert werden.19. The method according to claim 18, characterized in that at the beginning of the method, the information about the code coverage of previous driving cycles is copied from the read-only memory ( 13 ) into the read-write memory ( 12 ). 20. Verfahren nach einem der Ansprüche 12 bis 19, dadurch gekennzeichnet, dass die Angaben über die Codeabdeckung am Ende des Verfahrens einem entsprechenden Sourcecode des Steuerungs-/Regelungsprogramms zugeordnet werden und der durchlaufene und/oder der nicht durchlaufene Sourcecode markiert und ausgegeben wird.20. The method according to any one of claims 12 to 19, characterized marked that the information about the code coverage on A corresponding source code of the Control program can be assigned and the passed through and / or not through the source code marked and output. 21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, dass der Sourcecode auf einen Bildschirm eines Computers ausgegeben wird.21. The method according to claim 20, characterized in that the source code on a computer screen is issued.
DE1999159247 1999-12-08 1999-12-08 Microcomputer for vehicle controller/regulator has code coverage memory receiving information about addresses in program and/or data storage memory addressed by program Withdrawn DE19959247A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE1999159247 DE19959247A1 (en) 1999-12-08 1999-12-08 Microcomputer for vehicle controller/regulator has code coverage memory receiving information about addresses in program and/or data storage memory addressed by program
JP2000373691A JP2001229045A (en) 1999-12-08 2000-12-08 Microcomputer and method for deciding code coverage of open loop control/closed loop control program of the same microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1999159247 DE19959247A1 (en) 1999-12-08 1999-12-08 Microcomputer for vehicle controller/regulator has code coverage memory receiving information about addresses in program and/or data storage memory addressed by program

Publications (1)

Publication Number Publication Date
DE19959247A1 true DE19959247A1 (en) 2001-06-13

Family

ID=7931906

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999159247 Withdrawn DE19959247A1 (en) 1999-12-08 1999-12-08 Microcomputer for vehicle controller/regulator has code coverage memory receiving information about addresses in program and/or data storage memory addressed by program

Country Status (2)

Country Link
JP (1) JP2001229045A (en)
DE (1) DE19959247A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003027850A2 (en) * 2001-09-07 2003-04-03 Robert Bosch Gmbh Software verification method for control units and verification system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003027850A2 (en) * 2001-09-07 2003-04-03 Robert Bosch Gmbh Software verification method for control units and verification system
WO2003027850A3 (en) * 2001-09-07 2004-02-05 Bosch Gmbh Robert Software verification method for control units and verification system
US7275184B2 (en) 2001-09-07 2007-09-25 Robert Bosch Gmbh Software verification method for control units and verification system

Also Published As

Publication number Publication date
JP2001229045A (en) 2001-08-24

Similar Documents

Publication Publication Date Title
EP2318920B1 (en) Control appliance for a vehicle, and method for updating data for a control appliance for a vehicle
EP2009525B1 (en) Test device and method for testing at least one electronic control system
EP1720100B1 (en) Method and apparatus for emulating a programmable unit
DE10144050A1 (en) Verification of the software functions of a control unit, e.g. for use in automotive or machine tool applications, by use of a computer simulation model that is used for a experimental control unit and a serial control unit
DE102004042002A1 (en) Improved repair verification for electronic vehicle systems
DE102009058652A1 (en) Method for influencing a control unit and manipulation unit
EP3776222A1 (en) Method for providing application data of at least one application executable on a control unit of a vehicle, method for calibrating a control unit, control unit, and analysis device
EP1565825A2 (en) Device and method for analysing embedded systems
EP0500973A1 (en) Bootstrap routine in an EEPROM
DE3227292A1 (en) ELECTRONIC CONTROL DEVICE
DE19736231A1 (en) Method of changing data in controller for motor vehicle
EP1716490A2 (en) Method and device for analyzing integrated systems for critical safety computing systems in motor vehicles
DE102006040794A1 (en) Software program for implementing testing of e.g. electronic component, has two libraries with respective compiled routine coupled with function call when program is linked and is not linked in mode, respectively
DE19959247A1 (en) Microcomputer for vehicle controller/regulator has code coverage memory receiving information about addresses in program and/or data storage memory addressed by program
DE102006006843B4 (en) Method for responding to a control module failure
DE19525100A1 (en) On-board programming of EPROM memory in microprocessor system - has EPROM and RAM memories sharing identical address space with code entered into RAM and transferred in sequence of operations into EPROM
DE19903302B4 (en) Method and device for checking the function of a computer
DE19619354A1 (en) Method of operating a control device by a programmable storage/memory device e.g. for motor vehicle
EP2924522A1 (en) Method for influencing a control program
DE10000785A1 (en) Selecting method for microprocessor of microcontroller during boundary scan testing involves controlling JTAG interface of microprocessor from test routine executable on microprocessor
DE3943766C2 (en) Vehicle self diagnosis system esp, for electronic control system
DE10237173A1 (en) Motor vehicle control unit, especially an ignition control unit, in which temporary measurement values, e.g. calibration values, can be stored in RAM
WO2017084779A1 (en) Method for operating a control device and for external bypassing of a configured control device
DE102004060333A1 (en) Recognition and display of modifications to software releases for engine control unit software
DE102016225308A1 (en) Method and device for calibrating a control unit

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 11/22 AFI20051017BHDE

8139 Disposal/non-payment of the annual fee