JP6708596B2 - 電子制御装置及び制御プログラム検証方法 - Google Patents
電子制御装置及び制御プログラム検証方法 Download PDFInfo
- Publication number
- JP6708596B2 JP6708596B2 JP2017185973A JP2017185973A JP6708596B2 JP 6708596 B2 JP6708596 B2 JP 6708596B2 JP 2017185973 A JP2017185973 A JP 2017185973A JP 2017185973 A JP2017185973 A JP 2017185973A JP 6708596 B2 JP6708596 B2 JP 6708596B2
- Authority
- JP
- Japan
- Prior art keywords
- identifier
- program
- control program
- volatile memory
- written
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 34
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44589—Program code verification, e.g. Java bytecode verification, proof-carrying code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42684—Client identification by a unique number or address, e.g. serial number, MAC address, socket ID
Description
図1は、自動車などに搭載される電子制御装置100の一例を示す。
EEPROM160の所定ブロック、例えば、ブロック1、ブロック3及びブロック4は、図8に示すように、初期化済みマーク領域、プログラム識別子書き込み領域A及びプログラム識別子書き込み領域Bとして予め割り当てられている。即ち、EEPROM160の記憶領域では、制御プログラム320の正誤を検証するためのプログラム識別子160Aを書き込むブロックが冗長化されている。なお、ブロック3及びブロック4には、先の実施形態と同様に、チェックサムA及びチェックサムBが夫々付与されている(以下同様)。
EEPROM160の所定ブロック、例えば、ブロック1〜4は、図9に示すように、初期化済みマーク書き込み領域A、初期化済みマーク書き込み領域B、プログラム識別子書き込み領域A及びプログラム識別子書き込み領域Bとして予め割り当てられている。即ち、EEPROM160においては、初期化済みマークを書き込むブロック、及び、制御プログラム320の正誤を検証するためのプログラム識別子160Aを書き込むブロックが冗長化されている。
120 CPU(プロセッサ)
140 フラッシュROM(第1の不揮発性メモリ)
160 EEPROM(第2の不揮発性メモリ)
160A プログラム識別子
300 起動プログラム
320 制御プログラム
320A プログラム識別子の初期値
Claims (10)
- 電気的にデータを書き換え可能な第1の不揮発性メモリと、電気的にデータを書き換え可能な第2の不揮発性メモリと、プロセッサと、を備え、制御プログラムを前記第1の不揮発性メモリに書き込み可能であると共に、前記制御プログラムの正誤を検証する識別子を前記第2の不揮発性メモリに書き込み可能な電子制御装置であって、
前記プロセッサは、前記第2の不揮発性メモリにおける識別子の書き込み状態に応じて、前記制御プログラムに予め格納された識別子又は前記第2の不揮発性メモリに書き込まれた識別子のいずれかを選択して、前記制御プログラムの正誤を検証するように構成された、
電子制御装置。 - 前記プロセッサは、前記第2の不揮発性メモリに識別子が書き込まれていれば、当該識別子を選択し、前記第2の不揮発性メモリに識別子が書き込まれていなければ、前記制御プログラムに予め格納された識別子を選択するように構成された、
請求項1に記載の電子制御装置。 - 前記プロセッサは、前記第2の不揮発性メモリに識別子が書き込まれていなければ、前記第1の不揮発性メモリに書き込まれた制御プログラムに従って、当該制御プログラムに予め格納された識別子を前記第2の不揮発性メモリにコピーするように構成された、
請求項1又は請求項2に記載の電子制御装置。 - 前記プロセッサは、前記第2の不揮発性メモリが正常である場合、前記制御プログラムに予め格納された識別子を前記第2の不揮発性メモリにコピーするように構成された、
請求項3に記載の電子制御装置。 - 前記プロセッサは、前記第2の不揮発性メモリが初期状態であるか否かに応じて、当該第2の不揮発性メモリに識別子が書き込まれているか否かを判断するように構成された、
請求項1〜請求項4のいずれか1つに記載の電子制御装置。 - 前記プロセッサは、前記第2の不揮発性メモリに書き込まれた識別子が正常である場合、当該第2の不揮発性メモリに書き込まれた識別子を選択して、前記制御プログラムの正誤を検証するように構成された、
請求項1〜請求項5のいずれか1つに記載の電子制御装置。 - 前記プロセッサは、前記第2の不揮発性メモリに書き込まれた識別子が異常である場合、前記第1の不揮発性メモリに書き込まれた制御プログラムの実行を禁止するように構成された、
請求項1〜請求項6のいずれか1つに記載の電子制御装置。 - 前記プロセッサは、前記第1の不揮発性メモリに書き込まれている起動プログラムに従って、前記制御プログラムの正誤を検証するように構成された、
請求項1〜請求項7のいずれか1つに記載の電子制御装置。 - 電気的にデータを書き換え可能な第1の不揮発性メモリと、電気的にデータを書き換え可能な第2の不揮発性メモリと、を備え、制御プログラムを前記第1の不揮発性メモリに書き込み可能であると共に、前記制御プログラムの正誤を検証する識別子を前記第2の不揮発性メモリに書き込み可能な電子制御装置のプロセッサが、
前記第2の不揮発性メモリにおける識別子の書き込み状態に応じて、前記制御プログラムに予め格納された識別子又は前記第2の不揮発性メモリに書き込まれた識別子のいずれかを選択して、前記制御プログラムの正誤を検証する、
制御プログラム検証方法。 - 前記プロセッサが、前記第2の不揮発性メモリに識別子が書き込まれていなければ、前記第1の不揮発性メモリに書き込まれた制御プログラムに従って、当該制御プログラムに予め格納された識別子を前記第2の不揮発性メモリにコピーする、
請求項9に記載の制御プログラム検証方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017185973A JP6708596B2 (ja) | 2017-09-27 | 2017-09-27 | 電子制御装置及び制御プログラム検証方法 |
US16/647,391 US11169828B2 (en) | 2017-09-27 | 2018-03-20 | Electronic control unit and method for verifying control program |
PCT/JP2018/011165 WO2019064644A1 (ja) | 2017-09-27 | 2018-03-20 | 電子制御装置及び制御プログラム検証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017185973A JP6708596B2 (ja) | 2017-09-27 | 2017-09-27 | 電子制御装置及び制御プログラム検証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019061520A JP2019061520A (ja) | 2019-04-18 |
JP6708596B2 true JP6708596B2 (ja) | 2020-06-10 |
Family
ID=65901497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017185973A Active JP6708596B2 (ja) | 2017-09-27 | 2017-09-27 | 電子制御装置及び制御プログラム検証方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11169828B2 (ja) |
JP (1) | JP6708596B2 (ja) |
WO (1) | WO2019064644A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10402192B2 (en) * | 2017-07-25 | 2019-09-03 | Aurora Labs Ltd. | Constructing software delta updates for vehicle ECU software and abnormality detection based on toolchain |
DE112021002282T5 (de) * | 2020-06-17 | 2023-04-13 | Hitachi Astemo, Ltd. | Elektronische steuervorrichtung und aktualisierungsverfahren für steuerungssoftware |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3127703B2 (ja) * | 1994-02-25 | 2001-01-29 | 株式会社デンソー | ワンチップマイクロコンピュータを具える電子制御装置及びその制御データ記憶方法 |
JP2002149412A (ja) | 2000-11-10 | 2002-05-24 | Denso Corp | 電子制御装置 |
JP4561028B2 (ja) * | 2002-06-11 | 2010-10-13 | コニカミノルタホールディングス株式会社 | 起動装置、コンピュータ起動プログラム、記録媒体及びコンピュータ起動方法 |
JP3714420B2 (ja) * | 2002-08-13 | 2005-11-09 | セイコーエプソン株式会社 | データ転送制御装置、電子機器、プログラム及び電子機器の製造方法 |
US8844022B2 (en) * | 2006-06-19 | 2014-09-23 | Broadcom Corporation | Method and system to allow system-on-chip individual I/O control to be disabled and enabled by programmable non-volatile memory |
US9395968B1 (en) * | 2006-06-30 | 2016-07-19 | American Megatrends, Inc. | Uniquely identifying and validating computer system firmware |
JP4620158B2 (ja) * | 2009-03-31 | 2011-01-26 | 株式会社東芝 | コンテンツ保護装置およびコンテンツ保護方法 |
US10262158B1 (en) * | 2017-07-27 | 2019-04-16 | American Megatrends, Inc. | Restricting the use of a firmware tool to a specific platform |
-
2017
- 2017-09-27 JP JP2017185973A patent/JP6708596B2/ja active Active
-
2018
- 2018-03-20 WO PCT/JP2018/011165 patent/WO2019064644A1/ja active Application Filing
- 2018-03-20 US US16/647,391 patent/US11169828B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20200218549A1 (en) | 2020-07-09 |
WO2019064644A1 (ja) | 2019-04-04 |
US11169828B2 (en) | 2021-11-09 |
JP2019061520A (ja) | 2019-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014035730A (ja) | 車両用制御装置 | |
JP4480815B2 (ja) | メモリ書き換え方法及びコンピュータシステム | |
US11099949B2 (en) | Method apparatus for resuming and recovery checking from interrupted programming of one-time programmable memory device | |
CN110809755A (zh) | 电子控制系统 | |
JP2007287022A (ja) | 電子制御装置の情報記憶方法 | |
CN112015447B (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
JP6708596B2 (ja) | 電子制御装置及び制御プログラム検証方法 | |
CN110334486B (zh) | 应用程序完整性校验方法及设备 | |
JP3830867B2 (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
KR101601751B1 (ko) | 차량용 전자제어유닛 및 그 부트 소프트웨어 리프로그래밍 방법 | |
KR102598510B1 (ko) | 소프트웨어의 무결성 검증 방법 및 그 장치 | |
JP2012118904A (ja) | 情報処理装置 | |
JP2016126699A (ja) | 自動車用電子制御装置 | |
JP7029366B2 (ja) | 自動車用電子制御装置 | |
JP5872982B2 (ja) | 車両用制御装置 | |
JP2019008693A (ja) | 自動車用制御装置 | |
US20100083073A1 (en) | Data processing apparatus, memory controlling circuit, and memory controlling method | |
CN113176891A (zh) | 一种基于Bootloader带有备份功能的ECU的程序烧写方法 | |
JP2003271420A (ja) | 電子制御装置 | |
JP2004005152A (ja) | 不揮発性メモリの書き換え装置 | |
WO2020043361A1 (en) | Installing application program code on a vehicle control system | |
JP2007041798A (ja) | 情報処理装置及び情報処理装置のメモリ書き換え方法 | |
JP6568826B2 (ja) | 電子制御装置 | |
US7490232B2 (en) | Disk device using disk to rewrite firmware and firmware determination method | |
WO2021255984A1 (ja) | 電子制御装置および制御用ソフトウェアの更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191121 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200421 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200521 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6708596 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |