WO2020099524A1 - Procédé et systèmes pour fournir des données de puissance d'un appareil de commande en mode de conduite - Google Patents

Procédé et systèmes pour fournir des données de puissance d'un appareil de commande en mode de conduite Download PDF

Info

Publication number
WO2020099524A1
WO2020099524A1 PCT/EP2019/081249 EP2019081249W WO2020099524A1 WO 2020099524 A1 WO2020099524 A1 WO 2020099524A1 EP 2019081249 W EP2019081249 W EP 2019081249W WO 2020099524 A1 WO2020099524 A1 WO 2020099524A1
Authority
WO
WIPO (PCT)
Prior art keywords
performance data
software
control device
configuration
file
Prior art date
Application number
PCT/EP2019/081249
Other languages
German (de)
English (en)
Inventor
Clemens BUSCH
Thorsten Hufnagel
Original Assignee
Bayerische Motoren Werke Aktiengesellschaft
Dspace Digital Processing And Control Engineering 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 Bayerische Motoren Werke Aktiengesellschaft, Dspace Digital Processing And Control Engineering Gmbh filed Critical Bayerische Motoren Werke Aktiengesellschaft
Publication of WO2020099524A1 publication Critical patent/WO2020099524A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Definitions

  • the disclosure relates to systems and methods for providing performance data of a control device.
  • the disclosure relates in particular to systems and methods for providing performance data of a control unit of motor vehicles in ferry operation.
  • Control units also: Electronic Control Unit, ECU
  • ECU Electronic Control Unit
  • Control units provide computing and storage power for such functions and take over communication with a large number of vehicle-internal and external components, for example sensors, input / output components, other control units, buses and other data connections, etc.
  • Control units are taking on more and more time-critical tasks, particularly in the course of increasing vehicle automation. For this it is under development and Integration of new functions and programs is essential to check them for an efficient and sufficiently fast process so that certain quality requirements, such as maximum response times or a conservation or efficient use of resources, are met. For this purpose, it is known in the prior art to use tools / tools which only measure the runtime of programs executed on the control units. Based on this known procedure, it is typically only possible to identify which programs or functions take too much time to execute, but not what is the cause of such an overshoot. However, determining the individual causes is an essential prerequisite for changing and improving the program code in accordance with an optimization of the time required for execution (or with regard to other quality parameters).
  • various hardware manufacturers e.g. Infineon, Freescale
  • Such registers can be configured to collect performance data and perform performance measurements.
  • the method includes presenting a software program with a plurality of machine instructions of a finite number of fixed lengths in an executable form, searching the machine instructions of the executable file and finding at least one suitable instruction to be replaced, defining a replacement instruction for identified machine instructions in the software program, and replacing identified machine instructions in the executable form of the software program by the replacement instruction.
  • the replace instruction may also be defined as a branch instruction that references an address outside of an address space for the software program. While the publication describes a method which makes it possible to modify parameters of a control device present in a vehicle for simulation purposes, reading out registers and / or measuring the power in relation to the control device itself is not provided.
  • a method for providing modified software is provided that is configured to provide one or more performance data of a control device that is connected to a data bus.
  • the method comprises receiving software that is intended to be executed on the control device; Determining one or more storage areas to be used for collecting the performance data; Create a configuration for the Control unit; Modifying the configuration to collect performance data; Generating the modified software based on the modified configuration; and providing the modified software.
  • determining the one or more memory areas for use for the acquisition of the performance data further comprises: determining one or more free___RAM areas which can be accessed for the acquisition of the performance data; and / or determining one or more free ROM areas that can contain program code that can be executed. Furthermore, modification of the configuration for recording the performance data is based on the one or more free_RAM and / or free ROM areas.
  • generating the configuration for recording the performance data comprises: setting an initialization in the configuration; Setting one or more pre-services that are configured to collect performance data before a function to be measured; and / or setting one or more postal services that are configured to collect performance data according to a function to be measured.
  • setting the initialization in the configuration comprises integrating a program call for the initialization of microcontroller (pC) -specific performance registers, the program being called at a time in the processing of the modified software at which the program call is being carried out during the processing of the modified software is done once and the performance registers are not blocked by the internal protection mechanisms of the microcontroller (pC).
  • pC microcontroller
  • the software is received in a binary format.
  • the software is preferably received at least in the form of an ELF file.
  • the software is also preferably received in the form of an ELF file, an A2L file and a MAP file.
  • the method further includes installing the modified software on the control device.
  • the modified software is provided in the form of a HEX file and an A2L file.
  • a control device is specified in an 8th aspect according to further embodiments of the present disclosure.
  • the control device comprises modified software that was provided by the method according to the embodiments described here, in particular according to one of the aspects 1 to 7.
  • the controller is configured to provide, through the modified software, one or more performance data over a data bus.
  • the one or more performance data are preferably provided via the data bus in accordance with the XCP protocol.
  • a system for recording one or more performance data of a control device according to the embodiments described here, in particular according to aspect 8, which is connected to a data bus is specified.
  • the system includes a measuring device that is connected to the data bus and configured to acquire the one or more performance data provided by the control device via the data bus.
  • a vehicle comprising a system for recording one or more performance data of a control device.
  • the vehicle comprises a control device according to the embodiments described here, in particular according to aspect 9.
  • the systems and methods disclosed herein have a significant advantage over instrumentation in the source code in that a possibility is provided to be able to carry out measurements in the entire control unit memory, and not only in the area for which the source code is available. Disclosure of know-how in the form of source code is therefore not necessary among the development partners involved.
  • Another significant advantage compared to a debugger-based solution is that measurements can also be carried out in ferry mode that are difficult or impossible to implement with a built-in debugger for several reasons.
  • the relevant components are considerably sensitive to splash water when the debug access is open, which can lead to errors and / or damage.
  • short cable lengths are inevitably necessary (e.g. due to high frequency on ribbon cables), at least between the control unit and the debugger. This requires the debugger to be installed in the immediate vicinity of the control unit, some of which are considerable difficulties. For example, this can require a cumbersome and for physical reasons (e.g. max. Cable lengths of buses, EMC) not always possible extension of the harness access.
  • Another advantage of the systems and methods disclosed here is that they can use an automation interface.
  • the tool provided has a described XML API, so that measuring points can be automatically inserted in the so-called “Nightly Build", for example.
  • the systems and methods disclosed herein also allow information to be read out from the control unit, essentially in real time, while driving, which enables performance measurement of various functions of the control unit.
  • the collection of data during ferry operations is particularly important for checking or securing new driver assistance functions. Consequently, the systems and methods disclosed in the present case make it possible to measure the power of a control device in real time and under real test or driving conditions (ie in real ferry operation).
  • the systems and methods disclosed here enable simple, time-saving and cost-effective implementation by expanding and using existing tools.
  • FIG. 1A schematically shows an arrangement of a control device and a hardware debugger for power measurement using a hardware debugger
  • FIG. 1B schematically shows an arrangement of a control device and a measuring device for power measurement according to embodiments of the present disclosure
  • FIG. 2 shows a diagram which illustrates the sequence of a method according to embodiments of the present disclosure
  • FIG. 3 shows a flowchart of a method according to embodiments of the present disclosure.
  • FIG. 1A schematically shows an arrangement of a control device and a hardware debugger for power measurement using a hardware debugger.
  • a hardware debugger 90 for example from Lauterbach, is connected directly to a control device 100 and can record performance data of the control device during operation.
  • the hardware debugger 90 is also connected to a user interface 92, for example a software application, which is executed on a separate computer.
  • the hardware debugger 90 for example from Lauterbach
  • Debugger is not connected to an existing bus 80, for example a CAN bus, to which one or more further control devices 110 can be connected.
  • a hardware debugger 90 cannot be used in the ferry operation to safeguard driver assistance functions, but is used in the laboratory or test bench setup.
  • a hardware debugger 90 can also be connected to a control unit
  • FIG. 1B schematically shows an arrangement of a control device and a measuring device for power measurement according to embodiments of the present disclosure.
  • a measuring device 60 for example a measuring computer, is used instead of a hardware debugger.
  • the measuring device 60 is connected to a bus 80 present in the vehicle, for example a CAN bus, and can thus potentially communicate with all components connected to the bus 80, for example control devices 100, 110.
  • a bus 80 present in the vehicle, for example a CAN bus
  • User interface 62 for example an application program that is executed on the measurement computer, provides an interface to the measurement device 60.
  • one or more control devices 100, 110 can be programmed in such a way that they provide performance data via the bus 80, in particular the content or contents of, at desired times (for example when various functions are called up, at regular intervals or otherwise triggered) corresponding registers in a computing unit (eg processor) of the control unit. This is achieved by means of so-called hooks, which can be anchored in the binary code of the control unit program code.
  • the measuring device 60 is configured to read out, process, display and / or store the provided performance data.
  • the configuration shown in FIG. 1B can be used in the real driving operation of a vehicle and enables access to performance data from one or more control units or optionally additional components that are configured to provide performance data via bus 80.
  • hooks designates an interface with which dedicated actions for program translation can be carried out afterwards, such as reading, buffering or writing program variables, triggers for external systems to start processing routines or off maintain additional (ie subsequently added) program code. This can either be done in the source code, which is modified accordingly, via configuration files that change the execution of a finished program, or by calling functions to which the program code to be executed is given in some form.
  • Embodiments of the present disclosure include that appropriate registers of a control unit are read out before and after a function by means of hooks in the software and information contained therein by means of “universal measurement and calibration Protocol ”(XCP) to a measurement computer in the vehicle.
  • XCP universal measurement and calibration Protocol
  • a measurement computer in the vehicle via a bus present in the vehicle can record the data supplied by the control unit.
  • the measuring computer is connected to the control unit via a vehicle bus, for example CAN or FlexRay, and a debugger connected directly to the control unit can therefore be dispensed with, which is not applicable in ferry operation anyway.
  • a rapid prototyping tool for example offered by dSpace under the name "ECU Interface Manager”, can be used for implementation. Such a tool enables hooks to be set in a hex file (e.g. memory image) of the control unit and is therefore not dependent on the complete source code being absolutely available.
  • the source code of control unit software is often not available, for example if control units are made available by a supplier.
  • the systems and methods disclosed herein are therefore not dependent on the source code being present, but can also be applied to binary program code (e.g. hex files, memory images).
  • FIG. 2 shows a diagram 200 that illustrates the course of a method according to embodiments of the present disclosure.
  • An ECU software build process 210 initially creates three file formats.
  • a first file is created in the Executable and Linking Format (ELF), which is a standard binary format for executable programs.
  • a second file is created in the ASAP2 ECU Description File Format (A2L), which describes the interfaces, measured values and parameters of a control unit.
  • a third file is created in MAP format, which describes relative offsets for functions of a given compiled binary file (eg the first file in .elf format).
  • the XCP is activated and the signature is deactivated (or labels for patch are known).
  • the signature check at startup is used in series devices to protect against tampering or as tamper evidence and can prevent the application from starting if tampering is detected.
  • a first script 220 filters the areas free RAM and free ROM from a file CPU_Config.xml adapted for the control device and the .map file.
  • One or more areas ffee RAM identify memory areas in the RAM of the control device that can be accessed from all hooks or hook locations.
  • Program code and data are preferably stored here, which are used for reading the registers or otherwise for performance measurement.
  • One or more free ROM areas identify memory areas in the ROM of the control device that can hold program code that may be executed.
  • a second script (EA) 230 generates a file EIFM_Config.xml from the .elf files and a filter configuration file Filter.xml, which contains the entire control unit configuration.
  • the configuration file for the control unit is used in particular to identify the program parts to be analyzed and potentially modified by the tool chain as well as the recognized free RAM and free ROM areas.
  • This file also contains information on the microcontroller used (pC) and the associated dialect of the individual instructions. This information is supplemented by the assignment of addresses to function and / or variable names, which enables the future user of the EIFM tool to find the correct position for inserting the performance hooks.
  • the ElFM Config.xml file is then imported into the EIFM tool 240.
  • the EIFM tool reconstructs the software structure by taking into account the pC described in the XML file and the program parts to be analyzed by interpreting the binary information provided by the HEX file and reconstructing it Program sequence, and displays this in the form of a function graph.
  • a user can then make changes or additions to the program code, such as adding init, idle or hook function calls, adding switches for deactivating function calls or variable write accesses and deleting entire functions.
  • the changes and additions then result in changes in the program code of the affected areas and are made available for flashing on the control unit by means of a final HEX file.
  • the init service (BMC / PMC configuration) and pre- and post-services are set, for example by users 250.
  • the init service has the function, performance counter register (ie power count register) to configure the event types to be counted.
  • the pre and post service reads the status of the counter and makes the difference as a measurement result. This can be done over several measuring cycles and a min / max calculation can take place. An XML API required for this is available. A so-called “nightly build” or test is planned.
  • a corresponding export 260 is carried out.
  • This .hex file can then be used to flash the ECU are used and, in addition to the actual control unit program code, contains all the necessary program code that is required for data acquisition and transfer to the measuring computer.
  • FIG. 3 shows a flow diagram of a method 300 according to embodiments of the present disclosure.
  • Method 300 is a method of providing modified software that is configured to provide one or more performance data of a controller connected to a data bus (80). The method begins at step 301.
  • software is received which is intended to be executed on the control device.
  • step 304 one or more memory areas are determined for use in collecting the performance data.
  • step 306 a configuration for the control device is created.
  • step 308 the configuration for recording the performance data is modified.
  • the modified software is generated based on the modified configuration.
  • the modified software is provided. The method ends in step 314.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

La présente invention concerne un procédé de mise à disposition d'u logiciel modifié. Le logiciel est configuré pour fournir un ou plusieurs données de puissance d'un appareil de commande qui est relié à un bus de données. Ce procédé comprend les étapes suivantes : Recevoir un logiciel qui est destiné à être exécuté sur l'appareil de commande, déterminer une ou plusieurs zones de mémoire à utiliser pour détecter les données de puissance, réaliser une configuration pour l'appareil de commande, modifier la configuration pour détecter les données de puissance, produire le logiciel modifié sur la base de la configuration modifiée et fournir le logiciel modifié. La présente invention concerne en outre un système qui est configuré pour exécuter le procédé de l'invention et un véhicule qui comprend le système.
PCT/EP2019/081249 2018-11-14 2019-11-13 Procédé et systèmes pour fournir des données de puissance d'un appareil de commande en mode de conduite WO2020099524A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018128542.6A DE102018128542A1 (de) 2018-11-14 2018-11-14 Verfahren und Systeme zur Bereitstellung von Leistungsdaten eines Steuergerätes im Fahrbetrieb
DE102018128542.6 2018-11-14

Publications (1)

Publication Number Publication Date
WO2020099524A1 true WO2020099524A1 (fr) 2020-05-22

Family

ID=68621248

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/081249 WO2020099524A1 (fr) 2018-11-14 2019-11-13 Procédé et systèmes pour fournir des données de puissance d'un appareil de commande en mode de conduite

Country Status (2)

Country Link
DE (1) DE102018128542A1 (fr)
WO (1) WO2020099524A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040163014A1 (en) 2003-02-13 2004-08-19 Correa Colt R. Method for ECU calibration and diagnostics development
US20080127117A1 (en) * 2006-09-08 2008-05-29 Panchamukhi Prasanna S Method and apparatus for instrumentation in a multiprocessing environment
US20100275185A1 (en) * 2009-04-24 2010-10-28 Felix Burton System and Method for High Performance Coverage Analysis
US20170039130A1 (en) * 2015-08-04 2017-02-09 Ca, Inc. Operations to avoid wrapped mobile application operational errors due to interference from wrapper logic components

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040163014A1 (en) 2003-02-13 2004-08-19 Correa Colt R. Method for ECU calibration and diagnostics development
US20080127117A1 (en) * 2006-09-08 2008-05-29 Panchamukhi Prasanna S Method and apparatus for instrumentation in a multiprocessing environment
US20100275185A1 (en) * 2009-04-24 2010-10-28 Felix Burton System and Method for High Performance Coverage Analysis
US20170039130A1 (en) * 2015-08-04 2017-02-09 Ca, Inc. Operations to avoid wrapped mobile application operational errors due to interference from wrapper logic components

Also Published As

Publication number Publication date
DE102018128542A1 (de) 2020-05-14

Similar Documents

Publication Publication Date Title
EP2770389B1 (fr) Procédé de réalisation d'une configuration d'un système de test d'appareils de commande
EP1723513B1 (fr) Procede pour configurer un programme informatique
DE10144050A1 (de) Verfahren zur Softwareverifikation für Steuereinheiten und Verifikationssystem
EP2009525B1 (fr) Procédé et dispositif pour tester au moins une unité de commande
DE112005001790B4 (de) Programmerstellungseinrichtung für eine programmierbare Steuervorrichtung, Programmerstellungsverfahren für eine programmierbare Steuervorrichtung und Aufzeichnungsmedium mit darauf aufgezeichnetem Programm
DE102018003142A1 (de) Automatische Einstellung von Multitasking-Konfigurationen für ein Codeprüfsystem
EP1904923A1 (fr) Procede et systeme logiciel pour configurer un systeme modulaire
EP2244141A1 (fr) Procédé et dispositif destinés à la vérification d'un système d'automatisation
EP3001313A1 (fr) Procédé de simulation d'un programme d'application d'un appareil de commande électronique sur un ordinateur
DE102017211433B4 (de) Verfahren zum Durchführen eines Funktionstests eines Steuergeräts in einem Hardware-in-the-Loop-Test, HIL-Test, sowie HIL-Prüfstand und Steuergerät
EP3709166B1 (fr) Procédé et système de manipulation sécurisée de signal pour l'essai des fonctionnalités de sécurité intégrées
EP3379351B1 (fr) Procédé de fonctionnement d'un dispositif d'automatisation et dispositif d'automatisation
CH705457A1 (de) Generieren einer Benutzerschnittstelle auf einer Anzeige.
DE102018110020A1 (de) Verfahren zum Erzeugen eines auf einem Testgerät ausführbaren Modells eines technischen Systems und Testgerät
EP3306295B1 (fr) Procédé et dispositif d'essai de commandes électroniques, en particulier d'essai de commandes automobiles
DE102019104055A1 (de) Diagnosesystem für Kraftfahrzeuge
DE102012016539A1 (de) Konfigurationstechnik für ein Steuergerät mit miteinander kommunizierenden Anwendungen
DE102006040794A1 (de) Softwareprogramm mit alternativen Funktionsbibliotheken
WO2020099524A1 (fr) Procédé et systèmes pour fournir des données de puissance d'un appareil de commande en mode de conduite
DE102020213809A1 (de) Verfahren zum Betreiben eines Steuergeräts beim Testen einer Software des Steuergeräts und Verfahren zum Betreiben eines Testcomputers beim Testen einer Software eines Steuergeräts
DE102011052511A1 (de) Verfahren zur Verarbeitung von Daten in einem Beeinflussungsgerät
DE102008042894A1 (de) Verfahren und Vorrichtung zum Testen eines Rechnerkerns in einer mindestens zwei Rechnerkerne aufweisenden Recheneinheit
EP2557462B1 (fr) Procédé de traitement de données dans un appareil d'influence
DE102016215068A1 (de) Verfahren und Vorrichtung zum Warten eines Fahrzeuges
EP2284632B1 (fr) Procédé de commande d'un échange de données entre un système de diagnostic de véhicule et appareils de commande agencés dans des véhicules, programme de commande et système de diagnostic de véhicule

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19806143

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19806143

Country of ref document: EP

Kind code of ref document: A1