WO2012016805A1 - Verfahren zur rekonfiguration von softwareparametern in einem mikrocontroller sowie mikrocontroller und steuergerät - Google Patents
Verfahren zur rekonfiguration von softwareparametern in einem mikrocontroller sowie mikrocontroller und steuergerät Download PDFInfo
- Publication number
- WO2012016805A1 WO2012016805A1 PCT/EP2011/062144 EP2011062144W WO2012016805A1 WO 2012016805 A1 WO2012016805 A1 WO 2012016805A1 EP 2011062144 W EP2011062144 W EP 2011062144W WO 2012016805 A1 WO2012016805 A1 WO 2012016805A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- memory
- software
- microcontroller
- volatile
- volatile memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/328—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
Definitions
- the invention relates to a method for reconfiguring software parameters in a microcontroller and to a microcontroller and a control device for this purpose.
- a necessary reconfiguration can be associated with a cost of several days. It may be necessary to redesign and test the software, deliver it to a customer and then reprogram the vehicle, or the corresponding microcontroller in one of its control units, in a reprogramming station.
- a reconfiguration is not only interesting for a customer, but also for testing the software. Often, a laboratory space for testing does not have a full-fledged environment, which may require the deactivation of certain monitors, for example.
- microcontroller in the vehicle the applicator could also quickly trigger a logic change / monitor deactivation to check the behavior of the vehicle in other situations.
- reconfigure software in microcontrollers especially in the described environment, two methods are currently known
- the modification of the complete software code, its compilation and subsequent flashing on the other hand the modification of individual software parameters, which can be flashed individually in the software, compilation and subsequent partial flashing.
- a method for the reconfiguration of ECU software is known from DE 102 60 103 AI.
- the execution of old software parts is replaced by the execution of new software parts, wherein the new software parts are written in a second memory area and run by a branch instead of the old software parts, the new ones.
- this method brings the above-mentioned logistical effort with having to change a whole software, or a whole software section, and rewrite.
- the present invention has the advantage that parameters can be changed during the runtime via the use of a further non-volatile memory and that, for example, it can react very quickly to customer requests. Furthermore, a large number of parameters can be changed, not just specifically set for it. In addition to the reduced logistical effort, a less error-prone reconfiguration is thus provided in addition to significantly reduced redevelopment effort. During reconfiguration, no entire parameter set needs to be loaded into the non-volatile memory, but only individual parameters that are to be modified. This has the advantage that the use of the non-volatile memory is very small even in the case of necessary reconfigurations or corrections, and is normally 0.
- Block, for example, to a signal in the signal processing include, in common, in particular in tabular form, store, transmit together for processing in the volatile memory and possibly there also work in tabular form.
- the information stored in the volatile memory Reconfiguration information is also examined in each case signal-specific: "Lies for the signal whose software parameters are currently in the volatile
- Storage or processing is in the high efficiency, which has a positive effect on the controllability of the process and the speed of operations.
- the proposed approach should not only be limited to signal processing, but is analogously applicable to the processing of any data for which certain software logic and parameters are cyclically processed.
- the reconfiguration information and the correction values for the parameters to be changed listed in the reconfiguration information are generated from the non-volatile read-only memory at certain times, for example, always in the case of microcontrolling or startup of a higher-level system transmit the volatile memory.
- the time load of the software processing by the reconfiguration process remains minimal.
- the reconfiguration information and the correction values for the parameters to be changed can each be written into the non-volatile read-only memory as needed or changed in the latter, ie updated.
- This process can be realized, for example, by a CAN sequence if the non-volatile read-only memory has a CAN bus access.
- Advantage of such a procedure, v.a. in the preferred embodiment of a microcontroller in a vehicle control unit is that the CAN bus represents a standard access and the use of a CAN sequence allows standardized as possible and easy to perform reconfiguration.
- the invention can be used particularly advantageously if the microcontroller is integrated in a control unit in a vehicle. Due to the often very high number of possible parameters in this application and due to high safety regulations and often changing framework conditions, a fast and reliable reconfiguration of software parameters is particularly important here.
- FIG. 1 shows a first, schematic structure of a control device with microcontroller
- Figure 2 shows a second, schematic structure of a control device
- FIG. 3 shows a third, schematic structure of a control unit with microcontroller
- FIG. 5 shows an exemplary sequence of a method for a parameter reconfiguration.
- FIGS. 1-3 each show, by way of example, a schematic structure of a control device with a microcontroller, which is suitable for the software configuration according to the invention.
- the control units 1 have, inter alia, in each case a microcontroller 10, further hardware components or interfaces of the control unit are not shown for clarity in this illustration.
- the microcontroller 10 has at least one arithmetic unit or at least one arithmetic core 11, as well as a first non-volatile read-only memory 12 (eg ROM) and a volatile memory 13 (eg RAM).
- a second, non-volatile read-only memory 14 (eg EEPROM) is provided, which in the microcontroller 10 ( Figure 1), outside the microcontroller 10, but within the controller 1 ( Figure 2) or external to the controller ( Figure 3) can be arranged.
- the arithmetic unit 11 and the memories 12, 13, 14 sen communication links with each other (eg serial ports or common bus system), which are indicated in Figures 1-3 as communication links 15. Notwithstanding the connection structure 15 shown, other communication paths can be provided.
- the second, non-volatile read-only memory 14 has in Figure 1-3 a further communication link 16, for example, a CAN or K-line communication link after ECU external.
- non-volatile memory 14 does not necessarily have its own interface, for example to the CAN bus. It is also sufficient to connect the microcontroller to the CAN, which in turn can write to the non-volatile memory (eg during a diagnostic session via CAN).
- FIG. 4 shows a schematic example of a software parameter reconfiguration with reference to FIGS. 1-3. It shows tables TO, TO ', T1, T2 and T3 which are stored in a first non-volatile read-only memory ROM (corresponding to memory 12 in FIGS. 1-3), a volatile memory RAM (corresponding to memory 13 in FIG 1-3) and a second non-volatile read-only memory EEPROM (corresponding to memory 14 in FIGS. 1-3) are stored.
- the first table TO has a first column, the signal column S, in which signals A, C,... Are listed, for which software parameters in the microcontroller 11 are to be changed.
- Signals are in particular messages received from sensors, actuators or control units with specific value indications, commands or other information for a diagnosis, for further processing, as the basis for a control, etc.
- the parameter column P the software parameters are stored, which are to be changed or reconfigured in the microcontroller.
- Modemable parameters may include, for example, enabling or disabling diagnostic functions, properly maintaining a particular communication frame, limiting signal values, error words assigned to certain signal errors, monitor / variant classes, invalid or undefined value, signal class, calculation variables (factors, offsets, etc.). .) etc.
- the software parameters of column P in table TO are each assigned to a signal of column S. This assignment corresponds to the assignment of the parameters also in table T1, as described below.
- the value column W the new parameter values, ie the correction values, are listed for the software parameters to be changed. In the example shown, there is only one parameter X_AII to be changed for the signal A, which is to be assigned the new value 4.
- the table T1 is stored.
- the signals A, B, C,... To be processed or monitored by the microcontroller 10 are listed in the first column, as well as the respectively associated parameters in columns I, II, III,.
- all parameters for which a necessary reconfiguration is conceivable in the future should be listed as free parameters in this table, because only these parameters, resp
- the signals A, B, C, ... are cyclically processed or monitored by the microcontroller 10 by the table Tl line by line, ie in each case for a signal (in Figure 4 signal C), for further processing as a table T2 is transferred to the volatile memory RAM. Before further processing, however, it is checked whether for table T2, that is to say in FIG. 4 for
- Signal C a change request in table TO 'is present.
- the parameter X_CII to be changed is present in table TO '.
- the correction value from table TO or table TO ' is 7.
- the value of the parameter to be changed is corrected in the volatile memory RAM before processing of the signal C by the microcontroller 10 with the parameters X_CI, X_CII, X_CIII from 0 to 7), thus correcting the table T2 to the table T3. Only then does the processing of the signal C according to the parameters of the table T3 in the volatile memory RAM.
- the software is designed so that the parameters can again be processed on a tabular basis. If there are several correction requests for a signal, all the parameter values to be corrected are corrected one after the other before the signal processing takes place. If there are no change requests in table TO 'for the signal whose associated parameters are currently loaded into RAM as table T2 (as would be the case for signal B in the example), the signal processing can take place directly.
- FIG. 5 shows an exemplary sequence of a method for a parameter configuration.
- the core method comprises steps 102-108.
- a table TO with information about software parameters to be modified or reconfigured of a control device and with the corresponding correction values is created and stored in a non-volatile read-only memory EEPROM.
- Access to EEPROM is e.g. via diagnostic interfaces, preferably via standard diagnostic inputs such as CAN connection or K-Line.
- the memory can be reconfigured or reprogrammed via an external tool, e.g. with a simple standard hardware with CAN card via a CAN sequence.
- step 102 in a preferred embodiment e.g. Triggered by a microcontroller start, the table TO is copied from the memory EEPROM into the volatile memory RAM.
- a second table T1 which is stored in the non-volatile read-only memory ROM and which lists for the signals processed by the microcontroller, in each case lists all parameters with values, the part of the table Tl which contains the parameters of a certain signal is copied. This part is stored as table T2 in the volatile memory RAM.
- step 104 the table TO 'is checked to see whether there is a change request for the signal whose parameters are stored in table T2 in the memory RAM, or whether there are a plurality of change requests. Since the information on which signal relates to the changes is stored in the EEPROM reconfiguration table for the changes, after loading parameters of a signal into the RAM, it can be quickly checked whether a change request is required for this signal. If a change request is present, in step 105 the value of the parameter to be changed in table T2 is replaced by the corresponding correction value from table TO 'and the table T2 is thus corrected to table T3. The same applies for several parameter values to be changed.
- step 106 If there is no change request for the signal in question, a branch is made in step 106, in which no reconfiguration activity takes place.
- step 107 which follows the alternative steps 105 and 106, the signal corresponding to the table T3 is processed or controlled by the microcontroller on the basis of the parameter values stored there. This is followed by a branch to step 103.
- the corresponding part of the table T1 is again transferred as a table T2 from the memory ROM into the memory RAM. Thereafter, the further procedure as described.
- the method is restarted (by overwriting the table TO in the memory EEPROM) at step 101. Even if no new reconfiguration information and correction values are needed, at least if the volatile memory was without supply, e.g. at microcontroller restart, start the process at step 102 because the table 0 'must be reloaded from the nonvolatile memory EEPROM into the volatile memory.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201180038493.2A CN103026339B (zh) | 2010-08-06 | 2011-07-15 | 对微控制器中的软件参数重新配置的方法以及微控制器和控制设备 |
US13/814,355 US9760367B2 (en) | 2010-08-06 | 2011-07-15 | Method for reconfiguring software parameters in a microcontroller as well as a microcontroller and control unit |
KR1020137003011A KR101804603B1 (ko) | 2010-08-06 | 2011-07-15 | 마이크로컨트롤러 내의 소프트웨어 매개변수를 재구성하기 위한 방법, 마이크로컨트롤러 및 제어 장치 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102010039021.6A DE102010039021B4 (de) | 2010-08-06 | 2010-08-06 | Verfahren zur Rekonfiguration von Softwareparametern in einem Mikrocontroller sowie Mikrocontroller und Steuergerät |
DE102010039021.6 | 2010-08-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012016805A1 true WO2012016805A1 (de) | 2012-02-09 |
Family
ID=44503423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2011/062144 WO2012016805A1 (de) | 2010-08-06 | 2011-07-15 | Verfahren zur rekonfiguration von softwareparametern in einem mikrocontroller sowie mikrocontroller und steuergerät |
Country Status (5)
Country | Link |
---|---|
US (1) | US9760367B2 (de) |
KR (1) | KR101804603B1 (de) |
CN (1) | CN103026339B (de) |
DE (1) | DE102010039021B4 (de) |
WO (1) | WO2012016805A1 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9112985B2 (en) * | 2007-12-19 | 2015-08-18 | Core Wireless Licensing S.A.R.L | Methods, apparatus and computer program product for altering device functionality |
US10359971B2 (en) * | 2017-07-17 | 2019-07-23 | Hewlett Packard Enterprise Development Lp | Storing memory profile data of an application in non-volatile memory |
KR102131982B1 (ko) | 2018-05-31 | 2020-07-08 | 현대오트론 주식회사 | 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법 |
CN111831324A (zh) * | 2020-05-31 | 2020-10-27 | 中车永济电机有限公司 | 基于功能安全的轨道交通控制装置参数配置方法 |
CN111722870B (zh) * | 2020-06-10 | 2023-05-02 | 中国第一汽车股份有限公司 | 一种电控单元的驱动配置方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2227584A (en) * | 1989-01-28 | 1990-08-01 | Int Computers Ltd | Computer control data modification system |
US20010013091A1 (en) * | 1999-12-30 | 2001-08-09 | Dietmar Koschella | Circuit arrangement and a method for creating and retrieveing replacement data |
DE10260103A1 (de) | 2002-12-19 | 2004-07-01 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2738449B2 (ja) | 1989-08-08 | 1998-04-08 | 富士写真フイルム株式会社 | 画像出力装置 |
US6463549B1 (en) * | 2000-09-28 | 2002-10-08 | Motorola, Inc. | Device and method for patching code residing on a read only memory module utilizing a random access memory for storing a set of fields, each field indicating validity of content of a group, and for receiving an address of a memory portion of the read only memory |
US6728804B1 (en) * | 2000-10-27 | 2004-04-27 | Emware, Inc. | Remotely reprogrammable communications adapter for providing access to an electronic device |
US20030084229A1 (en) * | 2001-10-23 | 2003-05-01 | Ho Tat N. | Methods and apparatus for modifying programs stored in read only memory |
DE10237715B4 (de) * | 2002-08-17 | 2017-03-09 | Robert Bosch Gmbh | Vorrichtung zum Zugriff auf ein Fahrzeugssteuersystem über eine drahtlose Verbindung |
JP2004152279A (ja) * | 2002-10-08 | 2004-05-27 | Matsushita Electric Ind Co Ltd | プログラム更新方法および端末装置 |
CN100339823C (zh) | 2002-10-08 | 2007-09-26 | 松下电器产业株式会社 | 程序更新方法和终端设备 |
US7047448B2 (en) * | 2002-11-21 | 2006-05-16 | Bitfone Corporation | Software self-repair toolkit for electronic devices |
US6965326B2 (en) | 2003-07-21 | 2005-11-15 | General Motors Corporation | Automated electronic module configuration within a vehicle |
US7103736B2 (en) * | 2003-08-11 | 2006-09-05 | Telairity Semiconductor, Inc. | System for repair of ROM programming errors or defects |
US7302605B2 (en) * | 2003-10-23 | 2007-11-27 | International Business Machines Corporation | Method and structure for replacing faulty operating code contained in a ROM for a processor |
US7444191B2 (en) | 2005-10-04 | 2008-10-28 | Fisher-Rosemount Systems, Inc. | Process model identification in a process control system |
US8117609B2 (en) * | 2006-12-20 | 2012-02-14 | Omx Technology Ab | System and method for optimizing changes of data sets |
CN101212689A (zh) * | 2006-12-25 | 2008-07-02 | 青岛海信电器股份有限公司 | 数字电视信号接收设备的软件升级方法 |
US20090013124A1 (en) * | 2007-07-03 | 2009-01-08 | Dsp Group Limited | Rom code patch method |
DE102008040366A1 (de) | 2008-07-11 | 2010-01-14 | Robert Bosch Gmbh | System und Verfahren zum Steuern von Funktionskomponenten eines Kraftfahrzeugs |
-
2010
- 2010-08-06 DE DE102010039021.6A patent/DE102010039021B4/de active Active
-
2011
- 2011-07-15 WO PCT/EP2011/062144 patent/WO2012016805A1/de active Application Filing
- 2011-07-15 KR KR1020137003011A patent/KR101804603B1/ko active IP Right Grant
- 2011-07-15 US US13/814,355 patent/US9760367B2/en active Active
- 2011-07-15 CN CN201180038493.2A patent/CN103026339B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2227584A (en) * | 1989-01-28 | 1990-08-01 | Int Computers Ltd | Computer control data modification system |
US20010013091A1 (en) * | 1999-12-30 | 2001-08-09 | Dietmar Koschella | Circuit arrangement and a method for creating and retrieveing replacement data |
DE10260103A1 (de) | 2002-12-19 | 2004-07-01 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät |
Also Published As
Publication number | Publication date |
---|---|
CN103026339B (zh) | 2017-08-08 |
US20130191819A1 (en) | 2013-07-25 |
KR101804603B1 (ko) | 2017-12-04 |
KR20130096234A (ko) | 2013-08-29 |
CN103026339A (zh) | 2013-04-03 |
US9760367B2 (en) | 2017-09-12 |
DE102010039021A1 (de) | 2012-02-09 |
DE102010039021B4 (de) | 2023-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2591404B1 (de) | Verfahren zur konfigurierung einer steuerungseinrichtung | |
DE102010011658A1 (de) | Applikationsplattform und Verfahren zum Betrieb einer Datenverarbeitungseinrichtung mit einer solchen | |
DE19731116A1 (de) | Steuergerät für ein System und Verfahren zum Betrieb eines Steuergerätes | |
DE10308545A1 (de) | Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms | |
DE102010039021B4 (de) | Verfahren zur Rekonfiguration von Softwareparametern in einem Mikrocontroller sowie Mikrocontroller und Steuergerät | |
DE102006005365A1 (de) | Verfahren zum Aktualisieren der Firmware von Feldgeräten | |
EP3001310B1 (de) | Verfahren und Einrichtung zur Aktualisierung von Firmware für Komponenten einer industriellen Automatisierungsanordnung | |
EP3353650B1 (de) | System und verfahren zur verteilung und/oder aktualisierung von software in vernetzten steuereinrichtungen eines fahrzeugs | |
WO2006045754A1 (de) | Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms | |
WO2020035214A1 (de) | Prozesssteuerungseinheit und verfahren zum interprozessualen austausch von prozessvariablen | |
WO2017125181A1 (de) | Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug | |
EP2216696B1 (de) | Verfahren und Kommunikationssystem zum Konfigurieren eines einen Logikbaustein enthaltenden Kommunikationsmoduls | |
EP1870787B1 (de) | Verfahren zur Überwachung eines zyklischen Steuerungsprogramms | |
WO2000019283A1 (de) | Verfahren zum betrieb eines automatisierungssystems | |
EP1733284B1 (de) | Ablaufsteuerung von funktionen auf miteinander wechselwirkenden geräten | |
WO2015124320A1 (de) | Dynamisches speicherprogrammierbares steuergerät zum emulieren eines steuergerätes | |
EP3399375B1 (de) | Verfahren zur konfiguration von steuergeräten | |
DE10200242A1 (de) | Verfahren zur Funktionsüberwachung eines Steuergeräts | |
DE102018221786B4 (de) | Anordnung mit einem ersten Steuergerät für ein Fahrzeug und einem zweiten Steuergerät für ein Fahrzeug; wobei das erste Steuergerät und das zweite Steuergerät jeweils Getriebesteuergeräte sind und in Abhängigkeit von in einer Software enthaltenen Anweisungen ein Getriebe des Fahrzeugs steuern oder regeln | |
EP3948449B1 (de) | Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente | |
DE102013216558B4 (de) | Verfahren zur Diagnose eines steuerbaren Schaltelements eines Motorsteuergeräts | |
DE102019134872B4 (de) | Verbesserung der Betriebsparameter eines Rechensystems im Fahrzeug | |
DE10226697B4 (de) | Elektronik-Architektur für ein Verkehrsmittel | |
WO2009103728A1 (de) | Verfahren und vorrichtung zum speichern von informationsdaten | |
DE102007062915A1 (de) | Verfahren zum Betreiben einer speicherprogrammierbaren Steuerung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201180038493.2 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11735850 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 20137003011 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13814355 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11735850 Country of ref document: EP Kind code of ref document: A1 |