DE10235610A1 - Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation - Google Patents

Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation Download PDF

Info

Publication number
DE10235610A1
DE10235610A1 DE2002135610 DE10235610A DE10235610A1 DE 10235610 A1 DE10235610 A1 DE 10235610A1 DE 2002135610 DE2002135610 DE 2002135610 DE 10235610 A DE10235610 A DE 10235610A DE 10235610 A1 DE10235610 A1 DE 10235610A1
Authority
DE
Germany
Prior art keywords
bypass
program
control unit
function
software
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
DE2002135610
Other languages
German (de)
Inventor
Martin Watzl
Michael Nicolaou
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 DE2002135610 priority Critical patent/DE10235610A1/en
Publication of DE10235610A1 publication Critical patent/DE10235610A1/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
    • G05B19/0426Programming the control sequence
    • 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/23Pc programming
    • G05B2219/23311Load new program together with test program

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

A control device program (CDP) is stored, in which a function is integrated as a bypass program (BP) into the CDP and executed through an invocation. The BP is integrated into the CDP by a copying routine. Activated by a software switch via an applications system, a BP service routine invokes the BP via an address contained in a bypass pointer table. Independent claims are also included for the following: (a) A memory device for a control device with a memory segment for a bypass program; (b) and for a control device with an arithmetic unit and a memory device; (c) and for a computer program with program code device; (d) and for a computer program product with program code devices.

Description

Die Erfindung betrifft ein Verfahren zum Überprüfen einer in Software implementierten Funktion für ein Steuergerät und ein Steuergerät zur Durchführung des Verfahrens sowie ein Computerprogramm und ein Computerprogrammprodukt.The invention relates to a method to check one Function implemented in software for a control unit and a control unit to carry out of the method as well as a computer program and a computer program product.

Stand der TechnikState of the art

Zur Steuerung unterschiedlicher Funktionsbereiche in Kraftfahrzeugen werden heutzutage Steuergeräte eingesetzt. Auf dem Gebiet der Motormanagement-Systeme (Motronic) bspw. werden durch Hardware und zugeordnete Steuergerätesoftware die verschiedenen Betriebsarten eines Motors, bspw. eines Ottomotors, geregelt bzw. gesteuert. Die Einheit Steuergerät und Steuergerätesoftware übernimmt dabei in vielen Bereichen des Fahrzeugs die Ansteuerung von Aggregaten in Abhängigkeit von Eingangsgrößen.For controlling different functional areas Control units are used in motor vehicles today. In the area of the motor management systems (Motronic), for example, by hardware and assigned control unit software the different operating modes of an engine, for example an Otto engine, regulated or controlled. The control unit and control unit software unit takes over the control of units in many areas of the vehicle dependent on of input quantities.

Jede dieser Aufgaben, die von der Steuergerätesoftware bearbeitet werden muß, wird in einer Steuergerätefunktion beschrieben. Hierbei bilden eine Vielzahl von Steuergerätefunktionen sowie das Betriebssystem den sogenannten Programmstand für das Motorsteuerungssystem. Zusätzlich sind Steuergerätedaten vorgesehen, die in Form von Konstanten, applizierbaren Festwerten, Kennlinien und/oder Kennfeldern in dem betreffenden Steuergerät abgelegt sind und den Datenstand bilden. Der Programmstand und die dazugehörigen Daten bilden den Softwarestand für das Motorsteuerungssystem.Each of these tasks by the ECU software must be processed is in a control unit function described. A large number of control unit functions form here and the operating system the so-called program status for the engine control system. additionally control unit data are provided, those in the form of constants, applicable fixed values, characteristic curves and / or maps in the control unit concerned are and form the data status. The program status and the associated data form the software version for the engine control system.

In dem Softwarestand ist durch Spezifikation der Steuergerätefunktionen und der Daten das Verhalten des Steuergeräts bei verschiedenen Betriebsarten des Motors fest definiert bzw. vorgegeben. Dabei ist es möglich, mit einem geeigneten Applikationssteuergerät und dem dazugehörigen Applikationssystem durch Datenänderung in eingeschränkter Form die Funktionsweise von Steuergerätefunktionen einzustellen.In the software version is by specification the control unit functions and the data the behavior of the control unit in different operating modes of the motor defined or specified. It is possible to use a suitable application control unit and the associated application system by changing data in restricted Form to set the functioning of control unit functions.

Gewöhnlich wird, wenn eine neue Steuergerätefunktionalität erzielt werden soll, an dieser Stelle ein Steuergeräte-Bypass eingesetzt, der eine Überprüfung ermöglicht, ohne daß ein neuer Programmstand generiert werden muß.Usually when a new one ECU functionality achieved a control unit bypass is to be used at this point, which enables a check, without a new program status must be generated.

Gegenwärtig wird bspw. der sogenannte externe Steuergeräte-Bypass verwendet, der in der Funktionsentwicklung zum Einsatz kommt.For example, the so-called external control unit bypass used, which is used in function development.

Die Entwicklungsumgebung setzt sich dabei aus einem Applikationssteuergerät mit Emulationstastkopf, einem Applikationssystem, einer externen Hardware und einem PC mit Software zur Codegenerierung zusammen. Mit der PC-Software wird die Bypass-Funktion modelliert und anschließend in Code implementiert. Der dabei erzeugte Bypass-Code wird auf eine externe Hardware geladen und dort zur Ausführung gebracht, wobei dieser über ein Softwareschalterkonzept aktiviert bzw. deaktiviert werden kann.The development environment continues from an application control unit with an emulation probe, one Application system, external hardware and a PC with software for code generation together. The bypass function is modeled with the PC software and subsequently implemented in code. The bypass code generated in the process is changed to a external hardware loaded and executed there, using a software switch concept can be activated or deactivated.

Auf diese Weise wird eine neue Funktionalität herbeigeführt, während gleichzeitig der vorhandene Funktionscode umgangen wird. Die dabei berechneten Bypass-Werte werden über eine Schnittstelle unter Anwendung eines Übertragungsprotokolls in die Steuergerätesoftware zurückgeschrieben.In this way a new functionality is brought about while at the same time the existing function code is bypassed. The calculated here Bypass values are over a Interface using a transmission protocol in the ECU software written back.

Bei dem Verfahren mit externem Steuergeräte-Bypass erfolgt die Berechnung der Bypass-Werte außerhalb des Steuergerätesystems, wobei die Berechnung typischerweise in Float-Arithmetik durchgeführt wird. Es können auch immer nur einzelne Steuergerätegrößen mit dem Bypass bearbeitet werden. Außerdem ist das Zeitverhalten, d.h. das Lesen und Zurückschreiben von Steuergerätegrößen, fest an ein Übertragungsprotokoll gebunden. Weiterhin ist zu beachten, daß ein Freischnitt der Steuergerätefunktion und ebenso eine parallele Verwaltung der Dokumentation und Softwareerstellung der Steuergerätefunktionen mit und ohne Bypass-Freischnitt erforderlich sind.With the procedure with external control unit bypass the bypass values are calculated outside the control unit system, where the calculation is typically carried out in float arithmetic. It can too only individual control unit sizes with the bypass are processed. In addition, the timing, i.e. reading and writing back of control unit sizes, fixed to a transmission protocol bound. It should also be noted that there is a free cut in the control unit function and also parallel management of documentation and software development the control unit functions with and without bypass clearance are required.

Nachteilig bei dem Verfahren mit externem Bypass ist, daß es bei der Nachbildung von komplexen Regelkreisen zu Rechenrasterverlusten kommen kann, die das Ergebnis der , Bypass-Instrumentierung verfälschen und damit sogar unbrauchbar machen können. Außerdem wird in dem Steuergerät eine andere Arithmetik (Integer) als in der externen Hardware (Float) verwendet. Weitere Nachteile sind die bedingte Rechenzeitbeschränkung, der erhöhte Zeitaufwand für die Vorbereitung eines Bypass-Freischnitts und der hohe Verwaltungsaufwand von Steuergerätefunktionen mit und ohne Bypass-Freischnitt. Ein weiterer Nachteil ist, daß immer nur einzelne Steuergerätegrößen mit dem Bypass bearbeitet werden können.A disadvantage of the process with external bypass is that it in the simulation of complex control loops for calculation grid losses that can distort the result of the bypass instrumentation and can even make it unusable. Moreover is in the control unit a different arithmetic (integer) than in the external hardware (float) used. Further disadvantages are the limited computing time, the increased Time spent on the preparation of a bypass cut and the high administrative effort of control unit functions with and without bypass clearance. Another disadvantage is that only individual control unit sizes with the bypass can be processed.

Vorteile der ErfindungAdvantages of invention

Demgegenüber sieht das erfindungsgemäße Verfahren zum Überprüfen einer in Software implementierten Funktion für ein Steuergerät vor, daß die neue Funktion als Bypass-Programm in.das Steuergeräteprogramm integriert und durch einen Aufruf zur Ausführung gebracht wird.In contrast, the method according to the invention provides to check one Function implemented in software for a control unit before that the new Function as a bypass program in the control unit range integrated and executed by a call.

Mit dem erfindungsgemäßen Verfahren können die vorstehend genannten Nachteile ausgeräumt werden und die Kosten und die Entwicklungszeit bei der Softwareentwicklung verringert werden.With the method according to the invention can the disadvantages mentioned above are eliminated and the costs and development time in software development can be reduced.

Bei dem erfindungsgemäßen Verfahren mit internem Steuergeräte-Bypass handelt es sich um ein Verfahren, bei dem eine neu erstellte Softwarefunktion in ein bestehendes Steuergeräteprogramm integriert und über einen Mechanismus zur Ausführung gebracht werden kann, ohne daß eine Änderung der vorhandenen Softwarestruktur erforderlich ist. Es besteht somit die Möglichkeit, die Bypass-Funktionen in dem Zielsystem bereits während der Entwicklungsphase zu testen und auf deren softwaretechnische Tauglichkeit in Bezug auf Laufzeit, physikalisches Verhalten usw. zu überprüfen. Selbstverständlich ist es möglich, mehrere Bypass-Programme zu integrieren, von denen jedes einzelne gesondert oder in Kombination mit anderen Bypass-Programmen aufgerufen werden kann.The inventive method with an internal control unit bypass is a method in which a newly created software function is integrated into an existing control unit program and can be executed via a mechanism without changing the existing software structure. It is therefore possible to test the bypass functions in the target system already during the development phase and to check their software suitability in terms of runtime, physical behavior, etc. Of course, it is possible to integrate several bypass programs, each of which can be called up separately or in combination with other bypass programs.

In Ausgestaltung der Erfindung wird das Bypass-Programm durch einen Kopiervorgang in das Steuergeräteprogramm integriert.In an embodiment of the invention the bypass program by copying it into the control unit program integrated.

Bei diesem Vorgang werden die Inhalte von Speichersegmenten aus der Bypass-Software in die Steuergeräte bzw. Projekt-Software eingefügt.In this process, the content of memory segments from the bypass software into the control units or Project Software inserted.

Vorzugsweise ist eine Bypass-Dienstroutine vorgesehen, die über eine in einer Bypass-Pointertabelle enthaltene Adresse das Bypass-Programm aufruft.A bypass service routine is preferred provided that about an address contained in a bypass pointer table the bypass program calls.

Der Inhalt der Pointer- bzw. Zeigertabelle wird dabei durch die Bypass-Entwicklungsumgebung bestimmt. In der Tabelle wird die Zuordnung der Adressen von Steuergerätefunktionen bzw. Steuergerätegrößen zu den aufzurufenden Bypass-Funktionen definiert.The content of the pointer or pointer table is determined by the bypass development environment. In the The table shows the assignment of the addresses of control unit functions or control unit sizes for the bypass functions to be called Are defined.

Zweckmäßigerweise wird die Bypass-Dienstroutine durch einen Softwareschalter über ein Applikationssystem aktiviert.The bypass service routine is expediently through a software switch activated an application system.

Eine Möglichkeit sieht vor, daß mit einem sogenannten Funktionsbypass eine Funktion des Steuergerätes manipuliert wird. Mit einem Einzelgrößenbypass kann eine Steuergerätegröße manipuliert werden.One possibility is that with a so-called function bypass manipulates a function of the control device becomes. With a single size bypass can manipulate an ECU size become.

Üblicherweise erfolgt über Referenzen eine Datenübertragung zwischen dem Steuergeräteprogramm und dem Bypass-Programm.Usually takes place via References a data transfer between the control unit program and the bypass program.

Das erfindungsgemäße Verfahren ermöglicht ein Rapid Prototyping im Zielsystem, da der Funktionsentwickler seine Steuergerätefunktionen unmittelbar im Zielsystem entwickeln und ohne Wirkung auf die Softwareentwicklung testen kann. Der Bypass-Code läuft dabei in Echtzeit im Steuergerät.The method according to the invention enables one Rapid prototyping in the target system, since the function developer is responsible for his ECU functions Develop directly in the target system and have no effect on software development can test. The bypass code is running in real time in the control unit.

Das Problem von Rechenrasterverlusten tritt beim internen Steuergeräte-Bypass nicht auf, da sich die Bypass- Instrumentierung fest an die zeitlichen Vorgaben bzw. das Scheduling der Steuergerätefunktion orientiert. Im Gegensatz zum externen Steuergeräte-Bypass können Steuergerätefunktionen mit dem Funktionsbypass sowie einzelne Steuergerätegrößen mit dem Einzelgrößenbypass getestet werden. Der Verzicht auf eine teuere externe Hardware gestattet eine Reduzierung der Kosten. Des weiteren ermöglicht das erfindungsgemäße Verfahren eine Reduzierung des Verwaltungsaufwands von Steuergerätefunktionen mit und ohne Bypass-Freischnitt.The problem of grid loss occurs during internal control unit bypass not due to the bypass instrumentation fixed to the timing or the scheduling of the control unit function oriented. In contrast to the external control unit bypass, control unit functions can with the function bypass and individual control unit sizes with the single size bypass getting tested. Eliminating the need for expensive external hardware a reduction in costs. Furthermore, the method according to the invention enables a reduction in the administrative burden of ECU functions with and without bypass clearance.

Die Entwicklungsumgebung beim erfindungsgemäßen Verfahren setzt sich aus einem Applikationssteuergerät mit beispielsweise einer Emulationseinheit, einem Applikationssystem und einem PC mit Software zur Codegenerierung zusammen.The development environment in the method according to the invention consists of an application control unit with, for example, one Emulation unit, an application system and a PC with software for Code generation together.

Die erfindungsgemäße Speichereinrichtung für ein Steuergerät, in der ein Steuergeräteprogramm abgelegt ist, umfaßt eine Anzahl von Speichersegementen. Dabei ist mindestens eines der Speichersegmente für ein Bypass-Programm vorgesehen.The storage device according to the invention for a control device in which a control unit program filed, includes a number of memory segments. At least one of the Memory segments for a bypass program intended.

Vorzugsweise weist das für das Bypass-Programm vorgesehene Speichersegment einen ersten Bereich für Bypass-Daten, einen zweiten Bereich für einen Bypass-Code und einen dritten Bereich für eine Bypass-Pointertabelle auf.This preferably points to the bypass program provided memory segment a first area for bypass data, a second area for a bypass code and a third area for a bypass pointer table on.

Das erfindungsgemäße Steuergerät weist eine Recheneinheit und eine Speichereinrichtung auf, in der das Steuergeräteprogramm abgelegt ist. Die Speichereinrichtung umfaßt eine Anzahl von Speichersegmenten, von denen mindestens eines für ein Bypass-Programm vorgesehen ist.The control device according to the invention has a computing unit and a storage device in which the ECU program is filed. The memory device comprises a number of memory segments, at least one for a bypass program is provided.

Das erfindungsgemäße Computerprogramm umfaßt Programmcodemittel zum Ausführen der Schritte des vorstehend beschriebenen Verfahrens und wird auf einem Computer oder einer entsprechenden Recheneinheit durchgeführt.The computer program according to the invention comprises program code means to run of the steps of the method described above and is based on a computer or a corresponding computing unit.

Das erfindungsgemäße Computerprogrammprodukt ist auf einem computerlesbaren Datenträger gespeichert. Als geeignete Datenträger kommen EEPROMS und Flashmemories, aber auch CD-ROMS, Disketten sowie Festplattenlaufwerke zum Einsatz.The computer program product according to the invention is stored on a computer-readable data medium. As suitable disk come EEPROMS and flash memories, but also CD-ROMs, floppy disks and hard drives for use.

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and configurations the invention will become apparent from the description and the accompanying Drawing.

Es versteht sich, daß die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.It is understood that the above not only mentioned and the features to be explained below in the specified combination, but also in others Combinations or alone can be used without the frame to leave the present invention.

Zeichnungdrawing

Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung dargestellt und wird im folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.The invention is based on exemplary embodiments shown in the drawing and will be referred to below on the drawing in detail described.

1 zeigt eine bevorzugte Ausführungsform des erfindungsgemäßen Steuergeräts in schematischer Darstellung. 1 shows a preferred embodiment of the control device according to the invention in a schematic Presentation.

2 zeigt einen Softwareentwicklungsprozeß für einen internen Steuergeräte-Bypass. 2 shows a software development process for an internal control unit bypass.

3 zeigt den Aufbau einer bevorzugten Ausführungsform der erfindungsgemäßen Speichereinrichtung. 3 shows the structure of a preferred embodiment of the memory device according to the invention.

4 zeigt in einer Prinzipdarstellung ein Zusammenführen von Bypass- und Steuergeräte-Software. 4 shows in a schematic diagram a merging of bypass and control unit software.

5 zeigt einen Aufbau einer Bypass-Pointertabelle. 5 shows a structure of a bypass pointer table.

6 zeigt einen Ablauf einer Suchfunktion in der Bypass-Dienstroutine. 6 shows a sequence of a search function in the bypass service routine.

7 zeigt eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens. 7 shows a preferred embodiment of the method according to the invention.

8 zeigt eine weitere bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens. 8th shows a further preferred embodiment of the method according to the invention.

9 zeigt einen Bypass-Freischnitt für den Funktionsbypass. 9 shows a bypass free cut for the functional bypass.

10 zeigt einen Bypass-Freischnitt für den Einzelgrößenbypass. 10 shows a bypass free cut for the single size bypass.

In 1 ist eine bevorzugte Ausführungsform des erfindungsgemäßen Steuergeräts, insgesamt mit der Bezugsziffer 10 bezeichnet, dargestellt.In 1 is a preferred embodiment of the control device according to the invention, overall with the reference number 10 designated, shown.

Das Steuergerät 10 weist eine elektronische Recheneinheit 12, nämlich eine CPU 12, und eine Speichereinrichtung 14 auf, die über eine Datenleitung 16 miteinander verbunden sind. Die Speichereinrichtung 14 umfaßt eine Anzahl von Speichersegmenten 18. In der Speichereinrichtung 14 ist ein Steuerprogramm abgelegt, wobei mindestens eines der Speichersegmente 18 zur Ablage eines Bypass-Programms und somit zur Integration desselben in die Projekt-Software vorgesehen ist.The control unit 10 has an electronic computing unit 12 , namely a CPU 12 , and a storage device 14 on that over a data line 16 are interconnected. The storage device 14 comprises a number of memory segments 18 , In the storage device 14 a control program is stored, at least one of the memory segments 18 for storing a bypass program and thus for integrating it into the project software.

In 2 ist die Entwicklung der Bypass-Software parallel zur Entwicklung der Projekt-Software verdeutlicht.In 2 the development of the bypass software is illustrated parallel to the development of the project software.

In einem ersten Feld 20 ist der Entwicklungsprozeß für die Projekt-Software und in einem zweiten Feld 22 die Erstellung der Bypass-Software wiedergegeben.In a first field 20 is the development process for the project software and in a second field 22 reproduced the creation of the bypass software.

Aus dem Entwicklungsprozeß der Projekt-Software ergeben sich in einem Schritt 24 Schnittstellen-Dateien, in einem Schritt 26 eine Linkerdatei, in einem Schritt 28 Projekt-Applikationsdaten und in einem Schritt 30 die Projekt-Software.From the development process of the project software there are 24 interface files in one step, in one Step 26 a linker file, in a step 28 project application data and in a step 30 the project software.

Bei der Erstellung der Bypass-Software wird in einem Schritt 32 ein Simulationsmodell der Bypass-Funktion erstellt und in einem Schritt 34 mit einem Codegenerator codiert. Die in Schritt 24 ermittelten Schnittstellen-Dateien werden in einem Schritt 36 als Referenzen auf Projektgrößen übergeben.When creating the bypass software in a step 32 a simulation model of the bypass function created and encoded in a step 34 with a code generator. The interface files determined in step 24 are in a step 36 as Pass references to project sizes.

Nachfolgend wird in einem Schritt 38 der Bypass-Sourcecode erstellt und in einem Schritt 40 compiliert. Die in Schritt 26 erstellte Linkerdatei wird in einem Schritt 42 als Bypass-Linkerdatei übergeben. Die Daten werden dann mittels eines Linkers in einem Schritt 44 verbunden. In einem Schritt 46 wird dann die Bypass-Software und in einem Schritt 48 werden die Bypass-Applikationsdaten erhalten.Below is one step 38 the bypass source code is created and compiled in a step 40. The linker file created in step 26 becomes in a step 42 transferred as a bypass linker file. The data is then generated using a linker in a step 44 connected. In a step 46, the bypass software and The bypass application data is obtained in a step 48.

Am Ende des Entwicklungsprozesses erhält der Anwender in einem Schritt 50 die Projekt-Software und in einem Schritt 52 die Projekt-Applikationsdatei inklusive Bypass-Applikationsdaten.At the end of the development process receives the user in a step 50 the project software and in one Step 52 the project application file including bypass application data.

Die Entwicklung der Bypass-Software erfolgt somit unabhängig von der Entwicklung der Projekt-Software. Aus dem Entwicklungsprozeß der Projekt-Software werden Schnittstellen-Dateien dem Bypass-Entwicklungsprozess übergeben, die für den Zugriff auf Daten der Projekt-Software benötigt werden.The development of the bypass software is therefore independent from the development of the project software. From the development process of the project software interface files are transferred to the bypass development process, the for access to project software data is required.

In 3 ist der Aufbau einer erfinddungsgemäßen Speichereinrichtung 60 verdeutlicht. Ein erster Bereich 62 ist als Bypass-RAM-Bereich für die globalen Bypass-Größen, ein zweiter Bereich 64 als Bypass-Code-Bereich für den Bypass-Programmcode, ein dritter Bereich 66 für Pointertabellen für den Funktionsbypass, ein vierter Bereich 68 für Pointertabellen für den Einzelgrößenbypass und ein fünfter Bereich 70 als Datenbereich für die Bypass-Applikationsdaten vorgesehen.In 3 is the structure of a storage device according to the invention 60 clarified. A first area 62 is a bypass RAM area for the global bypass sizes, a second area 64 as a bypass code area for the bypass program code, a third area 66 for pointer tables for the function bypass, a fourth area 68 for pointer tables for single size bypass and a fifth area 70 provided as a data area for the bypass application data.

Für das Verfahren des internen Steuergeräte-Bypasses werden Speicherbereiche für die Bypass-Instrumentierung in der Steuergeräte-Software benötigt. Diese werden durch die Bypass-Entwicklungsumgebung mit Daten gefüllt. Dabei verhindern die Speichersegmente eine Adreßverschiebung durch die Nachbearbeitung. Aus diesem Grund bleibt die vorhandene Steuergerätesoftware weitgehend in deren Originalzustand.For the procedure of the internal control unit bypass becomes memory areas for the Bypass instrumentation required in the ECU software. This are filled with data through the bypass development environment. there the memory segments prevent an address shift due to postprocessing. For this reason, the existing control unit software largely remains in its Original state.

In der Projekt-Software gibt es somit für globale Bypass-RAM-Größen den Bypass-RAM-Bereich. Für Steuergerätedaten, wie bspw. Festwerte, Kennlinien oder Kennfelder, die in der Bypass-Funktion als Applikationsdaten definiert werden, ist der Bypass-Datenbereich vorgesehen. Der eigentliche Bypass-Programmcode liegt im Speichersegment Bypass-Code vor.So there is in the project software for global Bypass RAM sizes Bypass RAM area. For control unit data, such as fixed values, characteristic curves or maps that are in the bypass function defined as application data is the bypass data area intended. The actual bypass program code is in the memory segment Bypass code.

Weiterhin werden noch die Bereiche für die Bypass-Pointertabellen benötigt.The areas still continue for the Bypass pointer tables needed.

In 4 ist prinzipiell das Zusammenführen von Bypassund Steuergeräte- bzw. Projekt-Software wiedergegeben. Dargestellt ist ein RAM-Bereich 80, in dem die Projekt-Software abgelegt ist. Pfeil 82 verdeutlicht, daß die in der Bypass-Funktion spezifizierten RAM-Zellen in der Projekt-Software den Bypass-RAM-Bereich belegen.In 4 the merging of bypass and control unit or project software is shown in principle. A RAM area is shown 80 in which the project software is stored. arrow 82 illustrates that the RAM cells specified in the bypass function in the project software occupy the bypass RAM area.

Ein weiterer Bereich 84 stellt den Bypass-Codebereich 84 dar. Der Bypass-Code wird dabei in den Bypass-Codebereich 84 kopiert. Ein Bereich 86 dient der Aufnahme der Pointertabelle für den Funktionsbypass und noch ein weiterer Bereich 88 der Aufnahme der Pointertabelle für den Einzelgrößenbypass. Schließlich befinden sich in einem Bereich 90 die Bypass-Daten. In diesem Bereich 90 sind die Applikationsdaten enthalten, die in der Bypass-Funktion definiert sind.Another area 84 represents the bypass code area 84 The bypass code is in the bypass code area 84 copied. An area 86 serves to include the pointer table for the function bypass and yet another area 88 the inclusion of the pointer table for the single size bypass. Finally are in one area 90 the bypass data. In this area 90 it contains the application data defined in the bypass function.

Die Bypass-Software wird mittels der Bypass-Entwicklungsumgebung erzeugt. Aufbau und Struktur der Speichersegmente stimmen mit denen der Projekt-Software überein. Durch einen mit Pfeilen 92 gekennzeichneten Kopiervorgang (Delta-Flashen) werden die Inhalte der Speichersegmente aus der Bypass-Software in die Projekt-Software eingefügt und damit in diese integriert.The bypass software is created using the bypass development environment. The structure and structure of the memory segments correspond to those of the project software. One with arrows 92 marked copying process (delta flashing), the contents of the memory segments from the bypass software are inserted into the project software and thus integrated into this.

In 5 ist ein möglicher Aufbau einer Bypass-Pointertabelle 100 dargestellt. In einer ersten Spalte 102 ist ein Tabellenindex enthalten. In einer zweiten Spalte 104 befinden sich die Adressen der Steuergerätefunktionen bzw. Steuergerätegrößen. Dabei bestimmt beim Einzelgrößenbypass der Datentyp der zu manipulierenden Steuergerätegröße die Datenstruktur der Tabelle. In einer dritten Spalte 106 sind die Funktionspointeradressen der aufzurufenden Bypass-Funktionen enthalten.In 5 is a possible structure of a bypass pointer table 100 shown. In a first column 102 a table index is included. In a second column 104 are the addresses of the control unit functions or control unit sizes. In the case of the single size bypass, the data type of the control unit size to be manipulated determines the data structure of the table. In a third column 106 the function pointer addresses of the bypass functions to be called are contained.

Die Bypass-Pointertabelle 100 wird von der Bypass-Dienstroutine verwendet. Der Inhalt der Tabelle 100 wird durch die Bypass-Entwicklungsumgebung bestimmt. In der Tabelle 100 wird die Zuordnung der Adressen von Steuergerätefunktionen bzw. Steuergerätegrößen festgelegt.The bypass pointer table 100 is used by the bypass service routine. The content of table 100 is determined by the bypass development environment. The assignment of the addresses of control unit functions or control unit sizes is defined in table 100.

Zu beachten ist, daß es grundsätzlich zwei Arten von Pointertabellen 100 gibt, nämlich eine für den Funktionsbypass und eine weitere für den Einzelgrößenbypass. Die Tabellen 100 haben jeweils eine feste Länge und Datenstruktur.It should be noted that there are basically two types of pointer tables 100 there, namely one for the function bypass and another for the single size bypass. The charts 100 each have a fixed length and data structure.

Nachfolgend ist beispielhaft die Umsetzung einer Bypass-Pointertabelle für den Funktionsbypass aufgeführt:

Figure 00120001
Figure 00130001
The following is an example of the implementation of a bypass pointer table for the function bypass:
Figure 00120001
Figure 00130001

In 6 ist ein Ablauf einer Suchfunktion in der Bypass-Dienstroutine dargestellt. In einem Schritt erfolgt der Start der Suchroutine. Anschließend wird in einem Schritt 112 ein Parameter i gleich Null gesetzt. Dann erfolgt in einem Schritt 114 die Überprüfung, ob ein Tabellenwert gleich dem Wert des Parameters ist. Ist dies der Fall, wird in einem Schritt 116 der entsprechende Bypass-Funktionscode aufgerufen.In 6 a sequence of a search function is shown in the bypass service routine. The search routine is started in one step. A parameter i is then set to zero in a step 112. A check is then made in step 114 as to whether a table value is equal to the value of the parameter. If this is the case, the corresponding bypass function code is called in a step 116.

Wird in dem Schritt 114 festgestellt, daß der Tabellenwert nicht gleich dem Wert des Parameters ist, wird in einem Schritt 118 überprüft, ob der Tabellenwert gleich Null ist. Ist dies nicht der Fall, wird der Parameter i in einem Schritt 120 um 1 erhöht. Anschließend wird in einem Schritt 122 überprüft, ob i gleich n ist. Ist dies nicht der Fall erfolgt ein Sprung zu Schritt 114.If it is determined in step 114 that the Table value is not equal to the value of the parameter, is in one Step 118 checks whether the Table value is zero. If this is not the case, the Parameter i increased by 1 in a step 120. Then will in a step 122 checks whether i is equal to n. If this is not the case, there is a jump to step 114th

Falls i gleich n oder wenn in Schritt 118 festgestellt wird, daß der Tabellenwert gleich Null ist, erscheint in Schritt 124 eine Fehlermeldung, da keine Bypass-Funktion spezifiziert ist. Mit Schritt 126 endet die Suchroutine.If i is equal to n or if in step 118 it is found that the Table value is zero, an error message appears in step 124, since no bypass function is specified. End with step 126 the search routine.

Die Bypass-Dienstroutine, die die Schnittstelle zwischen Steuergerätefunktion und Bypass-Funktion darstellt, ist Bestandteil des Betriebssystems. Als Übergabeparameter wird dieser beim Funktionsbypass die Adresse der aufgerufenen Steuergerätefunktion und beim Einzelgrößenbypass die Adresse der zu manipulierenden Steuergerätegröße übergeben.The bypass service routine that the Interface between control unit function and bypass function is part of the operating system. As a transfer parameter In the function bypass, this becomes the address of the control unit function called and single size bypass transfer the address of the control unit size to be manipulated.

Die Bypass-Dienstroutine umfaßt einen Suchalgorithmus, der in der entsprechenden Pointertabelle nach dem Wert des Übergabeparameters sucht. Wird dieser gefunden, erfolgt der Aufruf der operativen Bypass-Funktion über den Funktionspointer. Dabei gibt es jeweils Dienstroutinen für den Funktionsbypass und für den Einzelgrößenbypass. Diese unterscheiden sich in der Bearbeitung der Pointertabellen, in der Datenstruktur und in der Behandlung der Rückgabewerte.The bypass service routine includes one Search algorithm, which in the corresponding pointer table after the Value of the transfer parameter examined. If this is found, the operational bypass function is called via the Function pointer. There are service routines for the function bypass and for the single size bypass. These differ in the processing of the pointer tables, in the data structure and in the handling of the return values.

Nachfolgend ist ein Beispiel einer Bypass-Dienstroutine für den Funktionsbypass gegeben:

Figure 00140001
Figure 00150001
The following is an example of a bypass service routine for the function bypass:
Figure 00140001
Figure 00150001

Nachfolgend ist ein Beispiel für eine Bypass-Dienstroutine für den Einzelgrößenbypass aufgeführt:

Figure 00150002
The following is an example of a bypass service routine for single size bypass:
Figure 00150002

Bei der Datenübertragung von Projekt- zu Bypass-Software ist zu beachten, daß die Bypass-Funktion Dateninformationen aus der Projekt-Software benötigt. Der Zugriff auf Projektgrößen kann nur über Referenzen auf diese Größen erfolgen. Es kann somit nur über Adreßinformationen und nicht über symbolische Namen der RAM-Zellen, auf Kenngrößen oder Bibliotheksfunktionen zugegriffen werden, da das Zusammenfügen von Projekt-Software und Bypass-Software nicht über den Zinkvorgang erfolgt.When transferring data from project to Bypass software should be noted that the bypass function data information from the project software. Access to project sizes can only over References to these sizes are made. So it can only be about address information and not about symbolic names of the RAM cells, on parameters or library functions be accessed because the merging of project software and Bypass software does not have the zinc process takes place.

In 7 ist eine bevorzugte Ausführung des erfindungsgemäßen Verfahrens zur Erläuterung des Funktionsbypasses gezeigt. Die Darstellung verdeutlicht die Funktionsweise des Aufrufs einer Bypass-Funktion aus einer Steuergerätefunktion für den Funktionsbypass.In 7 A preferred embodiment of the method according to the invention for explaining the functional bypass is shown. The illustration illustrates the functionality of the call of a bypass function from a control unit function for the function bypass.

Ein erster Bereich 130 zeigt die Abläufe bei der Steuergerätefunktion, ein zweiter Bereich 132 die Abläufe in der Bypass-Dienstroutine und ein dritter Bereich 134 diejenigen in der Bypass-Funktion für den Funktionsbypass.A first area 130 shows the processes in the control unit function, a second area 132 the processes in the bypass service routine and a third area 134 those in the bypass function for the function bypass.

Mit einem Schritt 136 erfolgt der Start. Anschließend wird in einem Schritt 138 überprüft, ob der Schalter für eine Bypass-Aktivierung gesetzt ist. Ist dies der Fall, erfolgt in einem Schritt 140 der Start der Bypass-Dienstroutine. Anderenfalls wird in einem Schritt 142 der Steuergerätecode ausgeführt und in einem Schritt 144 der Vorgang beendet.With a step 136 the Begin. Subsequently it is checked in a step 138 whether the Switch for bypass activation is set. If so, it is done in a step 140 the start of the bypass service routine. Otherwise, the control unit code is executed in a step 142 and the process ends in a step 144.

Nach Start der Bypass-Dienstroutine mit Schritt 140 wird in einem weiteren Schritt 146 überprüft, ob die Adresse der Steuergerätefunktion in der Pointertabelle vorhanden ist. Ist dies der Fall, erfolgt in einem Schritt 148 der Start für den Funktionsbypass und es wird in einem Schritt 150 der Bypass-Funktionscode ausgeführt. In einem Schritt 152 endet die Ausführung des Bypass-Funktionscodes. Anschließend endet in einem Schritt 154 ebenso die Ausführung der Bypass-Dienstroutine.After starting the bypass service routine Step 140 checks in a further step 146 whether the Address of the control unit function exists in the pointer table. If so, it is done in a step 148 the start for the function bypass and in a step 150 it becomes the bypass function code executed. The execution of the bypass function code ends in a step 152. Subsequently The execution of the bypass service routine likewise ends in a step 154.

Wird in dem Schritt 146 festgestellt, daß die Adresse der Steuergerätefunktion in der Pointertabelle nicht vorhanden ist, erfolgt mit Schritt 154 die Beendigung des Ablaufs der Bypass-Dienstroutine.It is determined in step 146 that the address of the ECU function is in the pointer table If the bypass service routine is ended, step 154 ends.

Nach Beendigung der Bypass-Dienstroutine in Schritt 154 wird in einem Schritt 156 überprüft, ob die Bypass-Ausführung plausibel ist. Ist dies der Fall, erfolgt ein Sprung zu Schritt 144. Anderenfalls erfolgt ein Sprung zu Schritt 142.After the bypass service routine has ended in step 154 it is checked in a step 156 whether the bypass execution is plausible is. If this is the case, a jump is made to step 144. Otherwise there is a jump to step 142.

In der Figur ist mit einem ersten Feld 158 ein Bypass-Freischnitt für den Funktionsbypass und mit einem zweiten Feld 160 der Suchalgorithmus gekennzeichnet.In the figure is a first field 158 a bypass free cut for the functional bypass and with a second field 160 the search algorithm is labeled.

Wie die Darstellung verdeutlicht, befindet sich in der Steuergerätefunktion der Bypass-Freischnitt. Die Bypass-Dienstroutine wird durch einen Softwareschalter über das Applikationssystem aktiviert. Dieser wird als Parameter die Adresse der aufgerufenen Steuergerätefunktion übergeben. Dann wird mit einem Suchalgorithmus in der Bypass-Pointertabelle nach dem übergebenen Parameterwert gesucht. Für den Fall, daß keine vergleichbare Adresse gefunden werden kann oder daß die Tabelle leer ist, wird auch keine Bypass-Funktion aufgerufen. Befindet sich eine passende Adresse in der Tabelle, wird über den zugeordneten Funktionspointer die Bypass-Funktion aktiviert. Dann kommt in der Bypass-Funktion die neue Steuergeräte-Funktionalität zum Einsatz. Nach erfolgreicher Beendigung dieser Aktion, liefert die Dienstroutine ein "OK" an die Steuergerätefunktion zurück und der eigentliche Steuergerätecode wird umgangen. Im Fehlerfall jedoch wird dieser ausgeführt.As the illustration shows, is in the control unit function the bypass free cut. The bypass service routine is controlled by a software switch Application system activated. This becomes the address as a parameter transfer the called control unit function. Then a search algorithm is used in the bypass pointer table the handed over Parameter value searched. For the case that none comparable address can be found or that the table is empty, no bypass function is called. Is located a suitable address in the table is given via the assigned function pointer the bypass function is activated. Then comes in the bypass function the new control unit functionality. After successful completion of this action, the service routine delivers an "OK" to the control unit function back and the actual control unit code is bypassed. In the event of an error, however, this is carried out.

8 verdeutlicht das Prinzip des Einzelgrößen-Bypasses. Ein erster Bereich 170 zeigt die Abläufe in der Steuergerätefunktion, ein zweiter Bereich 172 die Abläufe in der Bypass-Dienstroutine für den Einzelgrößenbypass und ein dritter, Bereich diejenigen in der Bypass-Funktion für den Einzelgrößenbypass. 8th illustrates the principle of single size bypass. A first area 170 shows the processes in the control unit function, a second area 172 the processes in the bypass service routine for the single size bypass and a third, area those in the bypass function for the single size bypass.

Mit Schritt 176 beginnt der Vorgang. Anschließend wird in einem Schritt 178 überprüft, ob der Schalter für die Bypass-Aktivierung gesetzt ist. Ist dies der Fall, startet in einem Schritt 180 die Bypass-Dienstroutine. Ist dies nicht der Fall bleibt die Steuergerätegröße unverändert (Schritt 182). In einem Schritt 184 wird dann der Steuergerätefunktionscode ausgeführt und in Schritt 186 die Aktion beendet.The process begins at step 176. Subsequently it is checked in a step 178 whether the Switch for the bypass activation is set. If so, start in a step 180 the bypass service routine. This is not the case the control unit size remains unchanged (step 182). Then in a step 184 the control unit function code accomplished and in step 186 the action ends.

Nach Start der Bypass-Dienstroutine in Schritt 180 wird in Schritt 188 überprüft, ob die Adresse der Steuergerätegröße in der Pointertabelle vorhanden ist. Ist die Größe in der Tabelle vorhanden, beginnt in Schritt 190 die Ausführung der Bypass-Funktion für den Einzelgrößenbypass. In Schritt 192 erfolgt dann die Ausführung des Bypass-Funktionscodes. In Schritt 194 wird als Rückgabewert der berechnete Bypass-Wert übergeben und in Schritt 196 endet die Ausführung der Bypass-Funktion. Der Rückgabewert ist gleich dem Rückgabewert der Bypass-Funktion (Schritt 198). In Schritt 200 endet dann die Ausführung der Bypass-Dienstroutine.After starting the bypass service routine in step 180 it is checked in step 188 whether the address of the control unit size in the Pointer table exists. If the size is in the table, execution begins in step 190 the bypass function for the single size bypass. The bypass function code is then executed in step 192. In step 194, the return value transfer the calculated bypass value and in step 196 the execution of the bypass function ends. The return value is equal to the return value the bypass function (Step 198). The execution of the then ends in step 200 Bypass service routine.

Wird in Schritt 188 festgestellt, daß die Adresse der Steuergerätegröße nicht in der Pointertabelle vorhanden ist, wird als Rückgabewert der Parameterwert übergeben (Schritt 202) und anschließend mit Schritt 200 die Ausführung der Bypass-Dienstroutine beendet.If it is determined in step 188 that the Control unit size address not exists in the pointer table, the parameter value is transferred as the return value (step 202) and then execution with step 200 the bypass service routine ends.

Nach Beendigung der Bypass-Dienstroutine in Schritt 200 wird in Schritt 204 die Steuergerätegröße gleich dem Rückgabewert der Bypass-Dienstroutine gesetzt und mit Schritt 184 fortgefahren.After the bypass service routine has ended in step 200, in step 204, the control unit size becomes the return value the bypass service routine is set and proceeded to step 184.

Zusätzlich sind in der Darstellung mit einem Feld 206 der Bypass-Freischnitt für den Einzelgrößenbypass und mit einem Feld 208 der Suchalgorithmus gekennzeichnet.In addition, are shown with a field 206 the bypass free cut for single size bypass and with one field 208 the search algorithm is labeled.

Wie die Figur verdeutlicht, funktioniert der Einzelgrößenbypass prinzipiell ähnlich wie der Funktionsbypass. In einer Steuergerätefunktion befindet sich ein Bypass-Freischnitt. Die Bypass-Dienstroutine wird durch einen Softwareschalter über das Applikationssystem aktiviert. Dieser wird als Parameter die Adresse der zu manipulierenden Steuergerätegröße übergeben. Dann wird durch einen Suchalgorithmus in der Bypass-Pointertabelle nach dem übergebenen Parameterwert gesucht. Wird keine vergleichbare Adresse gefunden oder ist die Tabelle leer, wird auch keine Bypass-Funktion aufgerufen. Befindet sich eine passende Adresse in der Tabelle, wird über den zugeordneten Funktionspointer die Bypass-Funktion aktiviert. In der Bypass-Funktion kommt dann die neue Steuergerätefunktionalität zum Einsatz.As the figure shows, it works the single size bypass basically similar like the functional bypass. One is in a control unit function Bypass breakpoint. The bypass service routine is controlled by a software switch Application system activated. This becomes the address as a parameter the control unit size to be manipulated. Then by a search algorithm in the bypass pointer table after the given Parameter value searched. If no comparable address is found or if the table is empty, no bypass function is called. If there is a suitable address in the table, use the assigned function pointer activated the bypass function. In the new control unit functionality is then used for the bypass function.

Nach erfolgreichem Abschluß dieser Aktion, liefert die Bypass-Funktion einen Rückgabewert an die Dienstroutine. Der Rückgabewert wird an die Steuergerätefunktion weitergegeben. Mit diesem wird anschließend die entsprechende RAM-Zelle beschrieben. Im Fehlerfall ist der Rückgabewert der Dienstroutine der übergebene Parameterwert, weshalb sich der Wert der Steuergerätegröße nicht ändert.After successful completion of this Action, the bypass function delivers a return value to the service routine. The return value is to the control unit function passed. The corresponding RAM cell is then used with this described. In the event of an error, the return value is the service routine the passed parameter value, which is why the value of the control unit size does not change.

Die Bypass-Funktion für den Funktionsbypass ist wie eine herkömmliche Steuergerätefunktion aufgebaut. Der Zugriff auf Projektgrößen erfolgt typischerweise über Referenzen auf die zu lesenden bzw. die zu manipulierenden Steuergerätegrößen. Darüber hinaus ist die Bypass-Funktion ausgelegt, Bibliotheksfunktionen, wie regelungstechnische Übertragungsglieder und Interpolationsroutinen, oder Applikationsdaten aus der Projekt-Software zu verwenden. Projektgrößen können nur durch deren Adressen, nicht aber durch das Label, dem Bypass zugänglich gemacht werden.The bypass function for the functional bypass is like a conventional one Control unit function built up. Project sizes are typically accessed via references on the control unit sizes to be read or manipulated. Furthermore the bypass function is designed, library functions such as control technology transmission elements and interpolation routines, or application data from the project software to use. Project sizes can only made accessible to the bypass by their addresses, but not by the label become.

Nachfolgend ist beispielhaft eine Bypass-Funktion für den Funktionsbypass aufgeführt:

Figure 00200001
A bypass function for the function bypass is shown below as an example:
Figure 00200001

Die Bypass-Funktion für den Einzelgrößenbypass ist ähnlich aufgebaut. Einziger Unterschied ist, daß die Funktion einen typisierten Rückgabewert hat. Des weiteren wird der Rückgabewert auf die entsprechende Steuergerätegröße zurückgeschrieben.The bypass function for single size bypass is similar built up. The only difference is that the function is a typed one return value Has. Furthermore, the return value written back to the corresponding control unit size.

Nachfolgend ist beispielhaft eine Bypass-Funktion für den Einzelgrößenbypass aufgeführt:The following is an example Bypass function for the single size bypass listed:

Figure 00210001
Figure 00210001

9 zeigt in einer Prinzipdarstellung einen Bypass-Freischnitt für den Funktionsbypass. 9 shows a basic view of a bypass cutout for the functional bypass.

In Schritt 210 beginnt der Vorgang. In Schritt 212 wird überprüft, ob Bit 1 und Bit 3 des Codeworts gesetzt sind. Ist dies der Fall, erfolgt in Schritt 214 die Ausführung der Bypass-Dienstroutine. Dann wird in einem Schritt 216 überprüft, ob der Rückgabewert der Dienstroutine kleiner als 2 ist. Ist dies der Fall, endet die Aktion in einem Schritt 218.The process begins in step 210. In step 212 it is checked whether bit 1 and bit 3 of the code word are set. If this is the case, the bypass service routine is executed in step 214. It is then checked in a step 216 whether the return value of the service routine is less than 2. If this is the case, the action ends in a step 218.

Wird in Schritt 212 festgestellt, daß Bit 1 und Bit 3 nicht gesetzt sind, oder wird in Schritt 216 festgestellt, daß der Rückgabewert der Dienstroutine nicht kleiner als 2 ist, wird in einem Schritt 220 der Steuergerätefunktionscode ausgeführt.It is determined in step 212 that bit 1 and bit 3 are not set, or if it is determined in step 216 that the return value of the service routine is not less than 2, the control unit function code is executed in step 220.

Beim Bypass-Freischnitt für den Funktionsbypass befindet sich in einer Steuergerätefunktion ein Bypass-Freischnitt. Dieser Freischnitt ist ein Schaltergerüst aus Kenngrößen, die über das Applikationssystem geändert werden können. Dadurch wird die Codesequenz für den Bypass aktiviert. Als Wert liefert die Dienstroutine den Status der Bypass-Ausführung zurück, der im Freischnitt plausibilisiert wird.With the bypass free cut for the functional bypass is in a control unit function a bypass free cut. This free cut is a switch framework made up of parameters that are available via the Application system changed can be. This will make the code sequence for activated the bypass. The service routine supplies the status as a value the bypass version, the is checked for plausibility in free cutting.

Nachfolgend ist ein Beispiel einer Steuergerätefunktion mit Bypass-Freischnitt für den Funktionsbypass gegeben: void zwstt l0ms(void)

Figure 00220001
The following is an example of a control unit function with bypass clearance for the functional bypass: void zwstt l0ms (void)
Figure 00220001

In 10 ist ein Bypass-Freischnitt für den Einzelgrößenbypass gezeigt. Mit einem Schritt 230 beginnt die Aktion. In einem Schritt 232 wird überprüft, ob Bit 0 des Codeworts gesetzt ist. Ist dies der Fall wird in einem Schritt 234 die Bypass-Dienstroutine ausgeführt. Mit einem Schritt 236 wird die Steuergerätegröße gleich dem Rückgabewert der Bypass-Dienstroutine gesetzt. In einem Schritt wird dann mit der Ausführung des Steuergerätefunktionscodes fortgefahren bis zum Ende des Vorgangs in einem Schritt 240.In 10 a bypass free cut for the single size bypass is shown. The action begins with a step 230. In a step 232 it is checked whether bit 0 of the code word is set. If this is the case, the bypass service routine is executed in a step 234. At step 236, the controller size is set equal to the return value of the bypass service routine. The execution of the control unit function code is then continued in one step until the end of the process in a step 240.

Wird in Schritt 232 festgestellt, daß Bit 0 nicht gesetzt ist, bleibt die Steuergerätegröße unverändert (Schritt 242) und es erfolgt ein Sprung zu Schritt 238.If it is determined in step 232 that bit 0 is not set, the control unit size remains unchanged (step 242) and a jump is made to step 238.

Der Aufbau des Freischnitts beim Einzelgrößenbypass ist ähnlich demjenigen beim Funktionsbypass. Einziger Unterschied ist, daß die Dienstroutine den Wert aus der Bypass-Funktion auf die entsprechende Steuergerätegröße in der Steuergerätefunktion schreibt.The structure of the free cut at Single size bypass is similar the one with the function bypass. The only difference is that the service routine the value from the bypass function to the corresponding control unit size in the Control unit function writes.

Nachfolgend ist noch ein Beispiel einer Steuergerätefunktion mit Bypass-Freischnitt für den Einzelgrößenbypass aufgeführt:

Figure 00230001
An example of a control unit function with bypass free cut for single size bypass is listed below:
Figure 00230001

Claims (12)

Verfahren zum Überprüfen einer in Software implementierten Funktion für ein Steuergerät (10), in dem ein Steuergeräteprogramm abgelegt ist, bei dem die Funktior als Bypass-Programm in das Steuergeräteprogramm integriert und durch einen Aufruf zur Ausführung gebracht wird.Method for checking a function implemented in software for a control unit ( 10 ), in which a control unit program is stored, in which the function is integrated as a bypass program in the control unit program and executed by a call. Verfahren nach Anspruch 1, bei dem das Bypass-Programn durch einen Kopiervorgang in das Steuergeräteprogramm integriert wird.The method of claim 1, wherein the bypass program by a copy process is integrated into the control unit program. Verfahren nach Anspruchs 1 oder 2, bei dem eine Bypass-Dienstroutine vorgesehen ist, die über eine in einer Bypass-Pointertabelle (100) enthaltenen Adresse das Bypass-Programm aufruft.Method according to Claim 1 or 2, in which a bypass service routine is provided which is carried out via a bypass pointer table ( 100 ) contained address calls the bypass program. Verfahren nach Anspruch 3, bei dem die Bypass-Dienstroutine durch einen Softwareschalter über ein Applikationssystem aktiviert wird.The method of claim 3, wherein the bypass service routine is performed by a software switch an application system is activated. Verfahren nach einem der Ansprüche 1 bis 4, bei dem eine Steuergerätefunktion manipuliert wird.Method according to one of claims 1 to 4, in which a control device function is manipulated. Verfahren nach einem der Ansprüche 1 bis 4, bei dem eine Steuergerätegröße manipuliert wird.Method according to one of Claims 1 to 4, in which a control unit size is manipulated becomes. Verfahren nach einem der Ansprüche 1 bis 6, bei dem über Referenzen eine Datenübertragung zwischen dem Steuergeräteprogramm und dem Bypass-Programm durchgeführt wird.Method according to one of claims 1 to 6, in which via references a data transfer between the control unit program and the bypass program becomes. Speichereinrichtung für ein Steuergerät (10) mit einer Anzahl von Speichersegmenten (18), in dem ein Steuergeräteprogramm abgelegt ist, wobei mindestens eines der Speichersegmente (18) für ein Bypass-Programm vorgesehen ist.Storage device for a control unit ( 10 ) with a number of memory segments ( 18 ), in which a control unit program is stored, at least one of the memory segments ( 18 ) is intended for a bypass program. Speichereinrichtung nach Anspruch 8, bei dem das mindestens eine für das Bypass-Programm vorgesehene Speichersegment (18) einen ersten Bereich für Bypass-Daten, einen zweiten Bereich für einen Bypass-Code und einen dritten Bereich für eine Bypass-Pointertabelle (100) aufweist.Storage device according to Claim 8, in which the at least one storage segment (for the bypass program) 18 ) a first area for bypass data, a second area for a bypass code and a third area for a bypass pointer table ( 100 ) having. Steuergerät mit einer Recheneinheit (12) und einer Speichereinrichtung (14), die eine Anzahl von Speichersegmenten (18) aufweist und in der ein Steuergeräteprogramm abgelegt ist, wobei mindestens eines der Speichersegmente für ein Bypass-Programm vorgesehen ist.Control unit with a computing unit ( 12 ) and a storage device ( 14 ), which is a number of memory segments ( 18 ) and in which a control unit program is stored, at least one of the memory segments being provided for a bypass program. Computerprogramm mit Programmcodemitteln, um alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 7 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit (12), insbesondere einer elektronischen Recheneinheit (12) in einem Steuergerät (10) nach Anspruch 10, ausgeführt wird.Computer program with program code means to carry out all steps of a method according to one of claims 1 to 7, if the computer program on a computer or a corresponding computing unit ( 12 ), especially an electronic computing unit ( 12 ) in a control unit ( 10 ) according to claim 10. Computerprogrammprodukt mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind, um ein Verfahren nach einem der Ansprüche 1 bis 7 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit (12), insbesondere einer elektronischen Recheneinheit (12) in einem Steuergerät (10) nach Anspruch 10, ausgeführt wird.Computer program product with program code means which are stored on a computer-readable data carrier in order to carry out a method according to one of claims 1 to 7, if the computer program on a computer or a corresponding computing unit ( 12 ), especially an electronic computing unit ( 12 ) in a control unit ( 10 ) according to claim 10.
DE2002135610 2002-08-02 2002-08-02 Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation Withdrawn DE10235610A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002135610 DE10235610A1 (en) 2002-08-02 2002-08-02 Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002135610 DE10235610A1 (en) 2002-08-02 2002-08-02 Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation

Publications (1)

Publication Number Publication Date
DE10235610A1 true DE10235610A1 (en) 2004-02-19

Family

ID=30469400

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002135610 Withdrawn DE10235610A1 (en) 2002-08-02 2002-08-02 Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation

Country Status (1)

Country Link
DE (1) DE10235610A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004027033A1 (en) * 2004-03-15 2005-10-13 Dspace Gmbh Influencing device for control units
EP1876525A1 (en) * 2006-07-03 2008-01-09 Siemens Aktiengesellschaft Method for modifying controller software
CN102645899A (en) * 2012-03-15 2012-08-22 南宁珞德信息技术有限公司 Window type action stream editing system of optical-electromechanical integrated equipment
WO2017084779A1 (en) * 2015-11-19 2017-05-26 Dspace Digital Signal Processing And Control Engineering Gmbh Method for operating a control device and for external bypassing of a configured control device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004027033A1 (en) * 2004-03-15 2005-10-13 Dspace Gmbh Influencing device for control units
DE102004027033B4 (en) * 2004-03-15 2009-07-02 Dspace Digital Signal Processing And Control Engineering Gmbh Influence device for control devices and method for influencing a control device
US8645918B2 (en) 2004-03-15 2014-02-04 Dspace Digital Signal Processing And Control Engineering Gmbh Influencing device for control apparatus
EP1876525A1 (en) * 2006-07-03 2008-01-09 Siemens Aktiengesellschaft Method for modifying controller software
CN102645899A (en) * 2012-03-15 2012-08-22 南宁珞德信息技术有限公司 Window type action stream editing system of optical-electromechanical integrated equipment
CN102645899B (en) * 2012-03-15 2016-03-09 南宁珞德信息技术有限公司 Window type optical, mechanical and electronic integration device action stream editing system
WO2017084779A1 (en) * 2015-11-19 2017-05-26 Dspace Digital Signal Processing And Control Engineering Gmbh Method for operating a control device and for external bypassing of a configured control device
CN108139723A (en) * 2015-11-19 2018-06-08 帝斯贝思数字信号处理和控制工程有限公司 For running the controller of the method for controller and setting for external bypass
US10684600B2 (en) 2015-11-19 2020-06-16 Dspace Digital Signal Processing And Control Engineering Gmbh Method for operating a control device and for external bypassing of a configured control device

Similar Documents

Publication Publication Date Title
EP1176482B1 (en) Method and computer program for generating a regulation or control system
DE3855475T2 (en) Software management structure
DE69932371T2 (en) Movable instrumentation tags for testing and troubleshooting a computer program
DE3750515T2 (en) Method for controlling access to a database.
DE3783042T2 (en) SYSTEM FOR AUTOMATING TESTS.
EP0502857B1 (en) Process for dynamically linking definable programme elements of an interactive data-processing system
DE102005026040B4 (en) Parameterization of a simulation working model
EP1723513B1 (en) Method for configuring a computer program
DE19836333A1 (en) Software installation and testing for a computer system built to order
DE102016119320A1 (en) Method for configuring a real or virtual electronic control unit
EP1268996A2 (en) Method and device for modelling a mechatronic system in a motor vehicle
DE69123493T2 (en) Processing method and device to create a file name from a logical to a correct name
DE10360035B4 (en) Embedded controllers, methods, and development tool for embedded controllers
DE102008006648A1 (en) Simulator development system and simulator development process
DE60002455T2 (en) METHOD AND DEVICE FOR AUTOMATIC SOFTWARE TESTING
EP1674954A1 (en) System and method for reusing of design related data
DE102005018074A1 (en) Test sequencer and method for managing and executing sequence elements
DE10038499A1 (en) Formal verifying method for development in data processor involves executing verification algorithm using one limit of signal envelope, and limiting state-space search by using verification algorithm
DE19924702A1 (en) Determining global register conflicts in a computer program uses unitary data structure to evaluate the global registers
EP1682950A1 (en) Method and device for stimulating functions for controlling operational processes
DE10324594A1 (en) Method for providing improved simulation capabilities of a dynamic system outside of the original modeling environment
DE10235610A1 (en) Function checking method for testing a function implemented in software e.g. for motor vehicle, involves integrating a function into a control device program as a bypass program to execute it through an invocation
DE102006060322A1 (en) Method for automatic testing of simulation models for software functions, involves copying one or multiple objects from simulation model on basis of selection criteria
DE10228610A1 (en) Method for testing of a control program running on a computer unit, especially an engine control unit, whereby a dynamic link is created between a bypass function and the control program so that computer data can be accessed
DE102008048862A1 (en) Test module and method for testing an O / R imaging middleware

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee