JP2012155682A - Platform for integrated system, application, control program with platform and application, electronic apparatus, and update method of application - Google Patents

Platform for integrated system, application, control program with platform and application, electronic apparatus, and update method of application Download PDF

Info

Publication number
JP2012155682A
JP2012155682A JP2011016852A JP2011016852A JP2012155682A JP 2012155682 A JP2012155682 A JP 2012155682A JP 2011016852 A JP2011016852 A JP 2011016852A JP 2011016852 A JP2011016852 A JP 2011016852A JP 2012155682 A JP2012155682 A JP 2012155682A
Authority
JP
Japan
Prior art keywords
application
update
stop
platform
swc
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.)
Pending
Application number
JP2011016852A
Other languages
Japanese (ja)
Inventor
Yosuke Sato
洋介 佐藤
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2011016852A priority Critical patent/JP2012155682A/en
Publication of JP2012155682A publication Critical patent/JP2012155682A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】要求される機能を完全に停止させること無く、プログラムの一部を動的に書き換えることができる組み込みシステム用の制御プログラム等を提供する。
【解決手段】AUTOSARの基本ソフトウェアにおける複合デバイスに含まれるRM(Reconfiguration Management)は、更新指示を受け付けると、更新対象のSWCに対しstopイベントを通知する(S215)。該イベントを受け取ったSWCは、当該SWCを停止させると共に、RTE(Runtime Environment)を介しての当該SWCへの送信を停止する停止処理を実行し(S220)、その後、RMにstopped notifyを通知する(S225)。該通知を受け取ったRMは、更新データにより更新対象のSWCを書き換え(S245)、その後、該SWCを再起動させる。
【選択図】図3
Provided is a control program for an embedded system that can dynamically rewrite a part of a program without completely stopping a required function.
When an update instruction is received, an RM (Reconfiguration Management) included in a composite device in the AUTOSAR basic software notifies the SWC to be updated of a stop event (S215). The SWC that has received the event stops the SWC and executes a stop process for stopping transmission to the SWC via the RTE (Runtime Environment) (S220), and then notifies the RM of the stopped notification. (S225). The RM that has received the notification rewrites the SWC to be updated with the update data (S245), and then restarts the SWC.
[Selection] Figure 3

Description

1または複数のアプリケーションと、該アプリケーションを動作させるプラットフォームを備える組み込みシステム用の制御プログラム等に関する。   The present invention relates to a control program for an embedded system including one or a plurality of applications and a platform for operating the applications.

従来、車載装置等を制御する組み込みシステム用のプログラムは、経済性や安全性のため、複数のモジュールから構成されている場合であっても各モジュールが静的にリンクされた状態でROMに記憶され、メインメモリにロードされた後に実行されるか、或いは、ROMから直接実行されていた。このため、プログラムの一部を動的に書き換えることはできず、専用装置によりプログラム全体を一括して書き換える等といった必要があったため、ユーザが手軽にプログラムのバージョンアップを行うことができなかった。しかしながら、近年では、プログラムの大規模化に伴い不具合の発生頻度が増加しており、プログラムの書き換えを容易化することが望まれている。   Conventionally, a program for an embedded system for controlling an in-vehicle device or the like is stored in a ROM in a state where each module is statically linked even if it is composed of a plurality of modules for economy and safety. And executed after being loaded into the main memory or directly from the ROM. For this reason, a part of the program cannot be dynamically rewritten, and it is necessary to rewrite the entire program at once by using a dedicated device, so that the user cannot easily upgrade the program. However, in recent years, the frequency of occurrence of defects has increased with the increase in the scale of programs, and it is desired to facilitate rewriting of programs.

ここで、特許文献1に記載されているように、組み込みシステムのRTOS上にさらにもう一層のソフトウェア動作環境を設け、このソフトウェア動作環境上でモジュールの動的なリンクやロードをサポートすることが提案されている。このような構成によれば、ソフトウェア動作環境上で一部のモジュールを動的に書き換えることが可能となるが、その反面、CPUの処理負荷やメモリの使用量が膨大なものとなり、リソースが限られている車載装置等への適用は困難であった。   Here, as described in Patent Document 1, it is proposed that a further software operating environment is provided on the RTOS of the embedded system, and dynamic linking and loading of modules are supported in this software operating environment. Has been. According to such a configuration, some modules can be dynamically rewritten in the software operating environment, but on the other hand, the processing load on the CPU and the amount of memory used become enormous, and the resources are limited. It has been difficult to apply to in-vehicle devices.

また、上記事情に鑑み、TOPPERSのように、プログラムの一部を動的に書き換えるダイナミックローディング機能が搭載されたRTOSが登場している。このようなRTOSを用いることで、一部のモジュールのみを更新することができ、より容易に新機能の追加や不具合の修正を行なうことが可能となる。   Further, in view of the above circumstances, RTOS has been introduced that is equipped with a dynamic loading function for dynamically rewriting a part of a program, such as TOPPERS. By using such an RTOS, only a part of the modules can be updated, and new functions can be added and defects can be corrected more easily.

特開2003−256216号公報JP 2003-256216 A

ここで、プログラムを構成する各モジュールは、互いに通信を行い協調して動作することで要求される機能を実現しており、プログラムの稼動中に特定のモジュールを書き換えるとした場合には、書き換えの途上にあるモジュールが他のモジュール等からの指示により起動されてしまう可能性がある。そして、このような場合には、CPUが暴走してしまうおそれがあるため、上述のTOPPERSでは、各モジュールを停止させ、機能を完全に停止させた後でなければ、プログラムの一部を動的に書き換えることができなかった。   Here, each module that configures the program realizes the required function by communicating with each other and operating in a coordinated manner. When a specific module is rewritten while the program is running, There is a possibility that a module in the middle is activated by an instruction from another module or the like. In such a case, since the CPU may run away, in the above-described TOPPERS, each module is stopped and the function is not completely stopped unless the function is completely stopped. Could not be rewritten.

本願発明は上記課題に鑑みてなされたものであり、要求される機能を完全に停止させること無く、プログラムの一部を動的に書き換えることができる組み込みシステム用の制御プログラム等を提供することを目的とする。   The present invention has been made in view of the above problems, and provides a control program for an embedded system that can dynamically rewrite a part of a program without completely stopping a required function. Objective.

上記課題を解決するためになされた請求項1の発明は、1または複数のアプリケーションと、該アプリケーションを動作させるためのプラットフォームとを備える組み込みシステム用の制御プログラムに関する。   The invention of claim 1 made to solve the above-described problems relates to a control program for an embedded system comprising one or more applications and a platform for operating the applications.

この制御プログラムにおいて、プラットフォームは、アプリケーションとの間の送受信を中継する中継手段と、動作中のアプリケーションを更新する更新指示を受け付ける受付手段と、アプリケーションを更新するための更新データを外部から取得する取得手段と、受付手段が更新指示を受け付けると、該更新指示により更新されるアプリケーションに対し、動作の正常な停止と、中継手段を介しての該アプリケーションへの送信の停止とを指示する停止指示を行う停止指示手段としてコンピュータを動作させる。また、プラットフォームは、停止指示により、アプリケーションの動作が正常に停止すると共に、中継手段を介しての該アプリケーションへの送信とが停止した後に、取得手段が取得した更新データに基づき該アプリケーションを更新する更新手段としてコンピュータを動作させる。   In this control program, the platform acquires a relay unit that relays transmission / reception to / from the application, a reception unit that receives an update instruction for updating the running application, and acquisition of update data for updating the application from the outside. When the means and the accepting means accept the update instruction, a stop instruction is issued to instruct the application updated by the update instruction to stop normally and stop transmission to the application via the relay means. The computer is operated as stop instruction means to perform. The platform updates the application based on the update data acquired by the acquisition unit after the operation of the application is normally stopped by the stop instruction and the transmission to the application through the relay unit is stopped. A computer is operated as an updating means.

また、アプリケーションは、当該アプリケーションに対しての停止指示がなされると、当該アプリケーションの動作を正常に停止させると共に、中継手段を介しての当該アプリケーションへの送信を停止させる停止手段としてコンピュータを動作させる。   Also, when a stop instruction is given to the application, the application normally stops the operation of the application and operates the computer as a stop unit that stops transmission to the application through the relay unit. .

このような構成によれば、更新指示がなされた際には、更新指示の対象となるアプリケーションの動作と、中継手段を介しての該アプリケーションへの送信が停止された後に該アプリケーションが更新され、更新中のアプリケーションに対してイベント通知等がなされることを防ぐことができる。このため、他のアプリケーションやプラットフォームの動作を停止させずに、特定のアプリケーションのみを更新したとしても、更新途上のアプリケーションが起動されることは無く、CPUが暴走してしまうことを防ぐことができるのである。したがって、請求項1に記載の制御プログラムによれば、各アプリケーションにより実現される全ての機能を完全に停止させること無く、プログラムの一部を動的に書き換えることができる。   According to such a configuration, when an update instruction is made, the application is updated after the operation of the application that is the target of the update instruction and transmission to the application via the relay unit are stopped, It is possible to prevent an event notification or the like from being made to the application being updated. For this reason, even if only a specific application is updated without stopping the operation of other applications and platforms, the updating application is not started, and the CPU can be prevented from running out of control. It is. Therefore, according to the control program of the first aspect, a part of the program can be dynamically rewritten without completely stopping all the functions realized by each application.

ここで、アプリケーションの更新後、該アプリケーションを初期状態で再起動させるとなると、更新の前後でアプリケーションの動作が大きく変わってしまう可能性があり、制御対象の状態に適合しない処理や、ユーザの意思に反した処理等が行われるおそれがある。   Here, after the application is updated, if the application is restarted in the initial state, the operation of the application may change significantly before and after the update. There is a risk of processing contrary to the above.

そこで、請求項2に記載の制御プログラムでは、アプリケーションは、さらに、当該アプリケーションに対しての停止指示がなされると、当該アプリケーションの動作状態を示す引継ぎデータをメモリに保存する保存手段と、更新手段により当該アプリケーションが更新された後に、保存手段により保存された引継ぎデータを読み出し、該引継ぎデータに基づき、停止指示がなされた時点の動作状態を復元した後に当該アプリケーションの動作を再開させる再開手段としてコンピュータを動作させる。   Therefore, in the control program according to claim 2, when the application is further instructed to stop, the application further includes a storage unit that saves takeover data indicating an operation state of the application in a memory, and an update unit After the application is updated by the above, the computer reads out the takeover data saved by the saving means, and based on the takeover data, restores the operation state at the time when the stop instruction is given, and then restarts the operation of the application as a computer To work.

こうすることにより、更新後のアプリケーションを更新前と同様に動作させることができ、アプリケーションの更新により、制御対象の状態に適合しない処理や、ユーザの意思に反した処理等が行われてしまうことを防ぐことができる。   By doing so, the updated application can be operated in the same manner as before the update, and the update of the application causes a process that does not conform to the state of the control target or a process contrary to the user's intention. Can be prevented.

また、請求項3に記載されているように、取得手段は、ネットワークを介して外部サーバから更新データを取得しても良い。
こうすることにより、アプリケーションの更新を容易に行うことができる。
Further, as described in claim 3, the acquisition unit may acquire update data from an external server via a network.
By doing so, the application can be easily updated.

また、請求項4に記載されているように、制御プログラムは、書き換え可能な不揮発性の記憶媒体に記憶された状態でコンピュータを動作させるよう構成されていても良い。
こうすることにより、制御プログラムをロードするためのメインメモリを設ける必要が無くなり、制御プログラムが搭載される装置のコストを抑えることができる。
According to a fourth aspect of the present invention, the control program may be configured to operate the computer while being stored in a rewritable nonvolatile storage medium.
By doing so, it is not necessary to provide a main memory for loading the control program, and the cost of the apparatus on which the control program is mounted can be reduced.

また、制御プログラムを構成する各アプリケーションは、異なる業者により開発されるという可能性もある。このため、アプリケーションの更新機能が十分にサポートされておらず、プラットフォームからの停止指示に応じてアプリケーションが停止しないという可能性もある。また、アプリケーションの更新機能が十分にサポートされている場合であっても、何らかの理由により、停止指示がなされたアプリケーションが動作を停止できないといった可能性もある。   There is also a possibility that each application constituting the control program is developed by a different vendor. For this reason, the application update function is not sufficiently supported, and there is a possibility that the application will not stop in response to a stop instruction from the platform. Further, even when the application update function is sufficiently supported, there is a possibility that the application for which a stop instruction is given cannot be stopped for some reason.

そこで、請求項5に記載の制御プログラムでは、プラットフォームは、さらに、停止指示がなされたアプリケーションの動作が停止しない場合に、該アプリケーションの動作を停止させる強制停止手段としてコンピュータを動作させる制御プログラム。   Therefore, in the control program according to claim 5, the platform further causes the computer to operate as a forced stop unit that stops the operation of the application when the operation of the application for which the stop instruction has been issued does not stop.

こうすることにより、更新を行うアプリケーションの動作を確実に停止させることができ、アプリケーションの更新を確実に行うことができる。
なお、請求項6,7に記載されているように、請求項1に記載の制御プログラムを構成するプラットフォームやアプリケーションを単体で市場に流通させても良い。このような場合であっても、対応するアプリケーションやプラットフォームと組み合わせることで、同様の効果を得ることができる。
By so doing, it is possible to reliably stop the operation of the application that performs the update, and to update the application reliably.
Note that, as described in claims 6 and 7, the platform and the application constituting the control program according to claim 1 may be distributed alone in the market. Even in such a case, the same effect can be obtained by combining with a corresponding application or platform.

また、請求項8に記載されているように、請求項1に記載の制御プログラムが搭載された電子装置を市場に流通させても良い。このような場合であっても、同様の効果を得ることができる。   Further, as described in claim 8, an electronic device in which the control program according to claim 1 is mounted may be distributed in the market. Even in such a case, the same effect can be obtained.

また、請求項9には、請求項1に記載の制御プログラムにて行われるアプリケーションの更新方法が記載されている。このような方法によれば、アプリケーションにより実現される全ての機能を完全に停止させること無く、プログラムの一部を動的に書き換えることができる。   Further, claim 9 describes an application update method performed by the control program according to claim 1. According to such a method, a part of the program can be dynamically rewritten without completely stopping all the functions realized by the application.

ECUの構成やAUTOSARの構造についてのブロック図である。It is a block diagram about the structure of ECU and the structure of AUTOSAR. 制御プログラムの構成を示すブロック図と、SWCの状態遷移図である。FIG. 2 is a block diagram showing a configuration of a control program and a state transition diagram of SWC. SWCの書き換え処理のシーケンス図である。It is a sequence diagram of the rewriting process of SWC. SWCの書き換え処理のシーケンス図である。It is a sequence diagram of the rewriting process of SWC.

以下、本発明の実施形態について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The embodiment of the present invention is not limited to the following embodiment, and can take various forms as long as they belong to the technical scope of the present invention.

[構成の説明]
図1(a)は、自車両の車速を自動調整するクルーズコントロールや、ヘッドライトの制御や、自車両が車線に追従して走行するようステアリングを自動調整する車線追従等の機能を有する本実施形態のECU10の構成を示すブロック図である。ECU10は、無線通信によりインターネットにアクセスするための無線通信部11と、書き換え可能な不揮発性メモリ(例えばフラッシュメモリ等)として構成されている記憶部12と、ユーザからの操作を受け付ける操作部13と、CPU、ROM、RAM、I/O及びこれらを接続するバスライン等からなる周知のマイコンを中心に構成され、記憶部12に記憶されている制御プログラムにより当該ECU10を統括制御する制御部14とを有している。なお、図1(b)に記載されているように、ECU10は、無線通信部11によりインターネット30にアクセスして外部サーバ20と通信を行い、該外部サーバ20から記憶部12に記憶されている制御プログラムを更新するための更新データを取得するよう構成されている。
[Description of configuration]
FIG. 1A shows a cruise control that automatically adjusts the vehicle speed of the host vehicle, a headlight control, and a lane tracking function that automatically adjusts the steering so that the host vehicle follows the lane. It is a block diagram which shows the structure of ECU10 of a form. The ECU 10 includes a wireless communication unit 11 for accessing the Internet by wireless communication, a storage unit 12 configured as a rewritable nonvolatile memory (for example, a flash memory), and an operation unit 13 that receives an operation from a user. A control unit 14 that is configured around a known microcomputer including a CPU, a ROM, a RAM, an I / O, a bus line that connects them, and the like, and that controls the ECU 10 according to a control program stored in the storage unit 12; have. As shown in FIG. 1B, the ECU 10 accesses the Internet 30 through the wireless communication unit 11 to communicate with the external server 20 and is stored in the storage unit 12 from the external server 20. The update data for updating the control program is acquired.

次に、ECU10の記憶部12に記憶されている制御プログラム100の構成について説明する。制御プログラム100は、車載用の組み込みシステム向けに標準化されたソフトウェアアーキテクチャーであるAUTOSARに準拠した構造を有している。   Next, the configuration of the control program 100 stored in the storage unit 12 of the ECU 10 will be described. The control program 100 has a structure compliant with AUTOSAR, which is a software architecture standardized for in-vehicle embedded systems.

ここで、AUTOSARについて簡単に説明する。図1(c)に記載されているように、AUTOSARは、各種機能を実現するためのアプリケーションが属するアプリケーション層と、ハードウェアを抽象化すると共に、各種サービスを提供する基本ソフトウェアと、基本ソフトウェアからアプリケーションを抽象化し、基本ソフトウェアとアプリケーションとの間や、アプリケーション間の通信を行うRTE(Runtime Environmentの略,ランタイム環境)から構成される。また、この基本ソフトウェアは、各アプリケーションを動作させるOSとして機能すると共に、他のECUとの通信や、メモリ管理や故障診断等を行うサービス層と、マイコンや各種デバイスを制御するためのAPIを提供するECU抽象化層と、マイコン内部のペリフェラルやメモリや各種デバイス等を制御するマイクロコントローラ抽象化層を備えると共に、高速での処理や、標準化できない特殊な処理等をサポートするための複合ドライバを備える。   Here, the AUTOSAR will be briefly described. As shown in FIG. 1 (c), AUTOSAR consists of an application layer to which applications for realizing various functions belong, hardware that abstracts the hardware, and basic software that provides various services, and basic software. It is composed of RTE (abbreviation of Runtime Environment, runtime environment) that abstracts applications and communicates between basic software and applications and between applications. This basic software functions as an OS that runs each application, provides a service layer for communication with other ECUs, memory management, fault diagnosis, etc., and an API for controlling microcomputers and various devices. ECU abstraction layer and microcontroller abstraction layer that controls peripherals, memories, and various devices inside the microcomputer, and a composite driver to support high-speed processing and special processing that cannot be standardized .

そして、図2(a)に記載されているように、本実施形態の制御プログラム100は、上記アプリケーション層に含まれる部位であって、1または複数のタスクから構成されたアプリケーションであるA〜C−SWC140〜160と、上記サービス層に属する部位であって、SWCを構成するタスクのスケジューリングを行うことで、これらのアプリケーションを動作させるOS110と、上記複合ドライバに属する部位であって、動作中のSWCの書き換えを行うRM(Reconfiguration Management)120と、SWCの書き換えに関連する各種インターフェースを提供する拡張I/F131が設けられた上述のRTE130と、を備える。   2A, the control program 100 of the present embodiment is a part included in the application layer, and is an application composed of one or a plurality of tasks. -SWCs 140 to 160, which belong to the service layer, perform scheduling of the tasks that constitute the SWC, and operate these applications, and the parts that belong to the composite driver and are operating RM (Reconfiguration Management) 120 that performs SWC rewriting, and the above-described RTE 130 provided with an extended I / F 131 that provides various interfaces related to SWC rewriting.

なお、RTE130により提供されるインターフェースを呼び出すことで、各SWCに対して各種イベントが通知され、対応する処理が実行されると共に、各SWCの処理がコールバック関数として実行されるよう構成されている。また、RTE130により提供されるインターフェースを呼び出すことで、RM120とOS110との間の通信が行われる。   Note that by calling an interface provided by the RTE 130, various events are notified to each SWC, corresponding processing is executed, and processing of each SWC is executed as a callback function. . In addition, communication between the RM 120 and the OS 110 is performed by calling an interface provided by the RTE 130.

また、A−SWC140はクルーズコントロールを実現するためのアプリケーションであり、B−SWC150は、ヘッドライトを制御するためのアプリケーションであり、C−SWC160は、車線追従を実現するためのアプリケーションである。   The A-SWC 140 is an application for realizing cruise control, the B-SWC 150 is an application for controlling headlights, and the C-SWC 160 is an application for realizing lane tracking.

また、本実施形態では、制御プログラム100は、記憶部12に記憶された状態で制御部14を構成するマイコンにより実行されるよう構成されているが、これに限定されることは無く、メインメモリにロードされた状態でマイコンにより実行されるよう構成されていても良い。   In the present embodiment, the control program 100 is configured to be executed by a microcomputer that configures the control unit 14 in a state stored in the storage unit 12, but is not limited thereto. It may be configured to be executed by a microcomputer in a loaded state.

[動作の説明]
次に、制御プログラム100の動作について説明する。
(1)A〜C−SWCの状態について
既に述べたように、本実施形態の制御プログラム100では、SWCは、外部サーバ20から取得された更新データにより書き換え可能に構成されている。
[Description of operation]
Next, the operation of the control program 100 will be described.
(1) Status of A to C-SWC As described above, in the control program 100 of the present embodiment, the SWC is configured to be rewritable by the update data acquired from the external server 20.

そして、図2(b)に記載されているように、SWCは、タスクの稼動状態や更新の状態等に基づき以下のような状態に分類される。すなわち、SWCの状態は、SWCが記憶部12から削除された状態であるUninstと、SWCが記憶部12に書き込まれた状態であるInstalledと、SWCの実行イメージが生成された状態であるLoadedと、SWCのインスタンスが生成され、該インスタンスが停止した状態であるStoppedと、SWCのインスタンスが起動された状態であるActに分類される。さらに、Uninst,Installedが実行ファイルレベルとされ、Loaded,Stopped,Actがインスタンスレベルとされる。   As shown in FIG. 2B, the SWC is classified into the following states based on the task operating state, the update state, and the like. That is, the state of SWC includes Uninst in which SWC is deleted from storage unit 12, Installed in which SWC is written in storage unit 12, and Loaded in which an execution image of SWC is generated. , An instance of SWC is generated, and is classified into Stopped in which the instance is stopped and Act in which the instance of SWC is activated. Furthermore, Uninst and Installed are at the execution file level, and Loaded, Stopped, and Act are at the instance level.

また、SWCでは、以下のイベントにより状態遷移が発生する。
すなわち、Uninstである場合には、RM120がSWCを記憶部12に書き込むInstallイベントが発生すると、該SWCはInstalledに遷移する。
In SWC, a state transition occurs due to the following event.
That is, in the case of Uninst, when an Install event occurs in which the RM 120 writes the SWC to the storage unit 12, the SWC transits to Installed.

また、Installedである場合には、RM120がSWCを記憶部12から削除するUninstallイベントが発生すると、該SWCはUninstに遷移する。また、Installedである場合には、OS110がSWCにて用いられるデータの初期値をRAMに展開するLoadイベントが発生すると、該SWCはLoadedに遷移する。   In the case of Installed, when an Uninstall event occurs in which the RM 120 deletes the SWC from the storage unit 12, the SWC transitions to Uninst. In the case of Installed, when a Load event occurs in which the OS 110 expands the initial value of data used in the SWC to the RAM, the SWC transits to Loaded.

また、Loadedである場合には、OS110がSWCを構成するタスクや割込みハンドラを登録するInitイベントが発生すると、該SWCはStoppedに遷移する。   In the case of Loaded, when an Init event occurs in which the OS 110 registers a task or interrupt handler that constitutes the SWC, the SWC transitions to Stopped.

また、Stoppedである場合には、OS110がSWCを構成するタスクを起動すると共に、該SWCに対応するデバイスからの割込みを許可するStartイベントが発生すると、該SWCはActに遷移する。また、Stoppedである場合には、OS110がSWCを構成するタスクや割込みハンドラの登録を解除するFinalizeイベントが発生すると、該SWCはLoadedに遷移する。   Further, when it is “Stopped”, when the OS 110 activates a task constituting the SWC and a Start event that permits an interrupt from a device corresponding to the SWC occurs, the SWC transits to Act. If the event is Stopped, when the Finalize event occurs in which the OS 110 cancels the registration of the task or interrupt handler constituting the SWC, the SWC transitions to Loaded.

なお、詳細については後述するが、SWCを更新する過程において、Finalizeイベントが発生した際には、該SWCの動作状態を示す引継ぎデータが保存されると共に、Initイベントが発生した際には、保存されている引継ぎデータが読み出され、該SWCの動作状態が復元される。   Although details will be described later, in the process of updating the SWC, when a Finalize event occurs, takeover data indicating the operation state of the SWC is saved, and when an Init event occurs, save is performed. The taken over data is read out, and the operation state of the SWC is restored.

また、Actである場合には、OS110がSWCを構成するタスクを停止させると共に、該SWCに対応するデバイスからの割込みを禁止するStopイベントが発生すると、該SWCはStoppedに遷移する。   Further, in the case of Act, when the OS 110 stops the task constituting the SWC and a Stop event for prohibiting interruption from the device corresponding to the SWC occurs, the SWC transits to Stopped.

また、インスタンスレベルである場合に、OS110がSWCにて用いられるデータを破棄するExitイベントが発生すると、該SWCはInstalledに遷移する。
(2)アプリケーションの書き換えについて
次に、外部サーバ20から取得した更新データにより動作中のSWCを書き換える処理である書き換え処理について、図3に記載のシーケンス図を用いて説明する。なお、本処理は、ECU10の稼動中に、ユーザから動作中のいずれかのSWCを書き換える指令を受け付けた際に開始される。また、以下の説明では、制御プログラム100を構成する部位が各種処理を行うことが記載されているが、これらの処理は、該部位に従い動作する制御部14により実現されるということを念のため付言しておく。
In addition, when an Exit event occurs in which the OS 110 discards data used in the SWC in the instance level, the SWC transits to Installed.
(2) Rewriting of application Next, rewriting processing, which is processing of rewriting the operating SWC with the update data acquired from the external server 20, will be described with reference to the sequence diagram shown in FIG. This process is started when an instruction to rewrite any SWC in operation is received from the user while the ECU 10 is operating. Further, in the following description, it is described that the parts constituting the control program 100 perform various processes. However, it should be noted that these processes are realized by the control unit 14 that operates according to the parts. I will add that.

制御プログラム100のRM120は、ECU10の操作部13を介して、ユーザから、動作中のいずれかのSWCを書き換える更新指示を受け付けると(S205)、無線通信部11を介して、外部サーバ20から、書き換えの対象となるSWC(対象SWCとも記載)を書き換えるための更新データを取得する(S210)。   When the RM 120 of the control program 100 receives an update instruction to rewrite any SWC in operation from the user via the operation unit 13 of the ECU 10 (S205), the RM 120 from the external server 20 via the wireless communication unit 11 Update data for rewriting the SWC to be rewritten (also described as the target SWC) is acquired (S210).

そして、S215では、RM120は、RTE130のインターフェースを呼び出すことで、対象SWCに対し、動作を正常に停止させるstopイベントを通知する。
そして、対象SWCは、stopイベントを受け取ると、当該SWCを正常に停止させるための処理である停止処理を実行する(S220)。
In S215, the RM 120 notifies the target SWC of a stop event that normally stops the operation by calling the interface of the RTE 130.
When the target SWC receives the stop event, the target SWC executes a stop process that is a process for normally stopping the SWC (S220).

具体的には、停止処理において、対象SWCは、実行中の処理を、安全に停止可能な段階まで進行させた上で中断する。なお、対象SWCに対するイベント通知や、対象SWCのコールバック関数の呼び出しがなされている場合には、対応する処理の実行完了を待つ。その後、RTE130のインターフェースを呼び出し、OS110に対し、当該SWCの動作の停止要求を行う。また、対象SWCは、RTE130のインターフェースを呼び出し、RTE130を介しての当該SWCへのイベントの通知や、当該SWCのコールバック関数(当該SWCの書き換えに関連するコールバック関数を除く)の呼び出しを禁止する。   Specifically, in the stop process, the target SWC suspends the process that is being executed to a stage where it can be safely stopped. Note that when an event notification for the target SWC or a call-back function for the target SWC has been made, execution of the corresponding process is awaited. Thereafter, the interface of the RTE 130 is called and a request to stop the operation of the SWC is made to the OS 110. In addition, the target SWC calls the interface of the RTE 130 and prohibits notification of events to the SWC via the RTE 130 and calling of the callback function of the SWC (excluding the callback function related to rewriting of the SWC). To do.

また、対象SWCの動作の停止要求を受け取ったOS110は、対象SWCを構成するタスクの稼動を順次停止させる。
停止処理の実行後に移行するS225では、対象SWCは、RM120のインターフェースを呼び出し、RM120に対し、停止処理が正常に実行されたことを示すstopped notifyを通知し、S230に処理が移行される。なお、stopped notifyが通知される時点では、対象SWCを構成するタスクのうち、対象SWCを統括制御するタスク(stopped notifyを通知するタスク)以外の他のタスクは、全て停止された状態となっている。
In addition, the OS 110 that has received the request to stop the operation of the target SWC sequentially stops the operation of the tasks constituting the target SWC.
In S225 to which the process proceeds after execution of the stop process, the target SWC calls the interface of the RM 120, notifies the RM 120 of a stopped notification indicating that the stop process has been executed normally, and the process proceeds to S230. At the time when the stopped notification is notified, all the tasks other than the task that controls the target SWC (the task that notifies the stopped notification) among the tasks that configure the target SWC are stopped. Yes.

S230では、対象SWCが停止しない場合を想定し、stopped notifyを受け取ったRM120において、RTE130のインターフェースを呼び出し、対象SWCを強制的に停止させる強制停止処理を実行しても良い。なお、該インターフェースは、RTE130の拡張I/F131として設けられている。具体的には、強制停止処理において、RM120は、RTE130のインターフェースを呼び出し、OS110に対し、対象SWCのタスクを全て強制停止させると共に、対象SWCが既に受信しているイベントや、既に呼び出された対象SWCのコールバック関数を全て無効とさせる。強制停止処理を経た後に、S235に処理が移行される。   In S230, assuming that the target SWC does not stop, the RM 120 that has received the stopped notification may call the interface of the RTE 130 to execute a forced stop process for forcibly stopping the target SWC. The interface is provided as an extension I / F 131 of the RTE 130. Specifically, in the forced stop process, the RM 120 calls the interface of the RTE 130 and causes the OS 110 to forcibly stop all the tasks of the target SWC, and the events already received by the target SWC and the targets that have already been called. Disable all SWC callback functions. After the forced stop process, the process proceeds to S235.

S235では、RM120は、対象SWCの動作状態を保存するための処理であるfinalize処理をコールバック関数として呼び出し、S240に処理が移行される。なお、該処理の呼び出しがFinalizeイベントに相当する。   In S235, the RM 120 calls a finalize process, which is a process for saving the operation state of the target SWC, as a callback function, and the process proceeds to S240. Note that this process call corresponds to a Finalize event.

S240では、対象SWCはfinalize処理を実行し、該処理において、対象SWCの動作状態を示すデータを引継ぎデータとしてRAM(或いは、図示しないEEPROMの不揮発性記憶媒体等)に保存する。そして、finalize処理の実行後、対象SWCを統括制御するタスクが停止される。   In S240, the target SWC executes a finalize process, and in this process, data indicating the operation state of the target SWC is stored as takeover data in a RAM (or an EEPROM non-volatile storage medium not shown). Then, after executing the finalize process, the task for overall control of the target SWC is stopped.

なお、finalize処理の実行後、OS110は、対象SWCを構成するタスクや割込みハンドラの登録を解除する処理を行う。
続くS245では、RM120は、対象SWCで用いられるデータをRAM上から破棄すると共に(Exitイベントに相当)、対象SWCを記憶部12から消去する(Uninstallイベントに相当)。その後、RM120は、外部サーバ20から取得され、制御部14のRAMに一時的に保存されている更新データを記憶部12に書き込むことで、対象SWCの書き換えを行い(Installイベントに相当)、さらに、OS110
が対象SWCにて用いられるデータの初期値をRAMに展開する(Loadイベントに相当)。
Note that after the finalize process is executed, the OS 110 performs a process of canceling registration of tasks and interrupt handlers constituting the target SWC.
In subsequent S245, the RM 120 discards the data used in the target SWC from the RAM (corresponding to the Exit event) and deletes the target SWC from the storage unit 12 (corresponding to the Uninstall event). Thereafter, the RM 120 rewrites the target SWC by writing the update data acquired from the external server 20 and temporarily stored in the RAM of the control unit 14 into the storage unit 12 (corresponding to the Install event), and further , OS110
Expands the initial value of the data used in the target SWC in the RAM (corresponding to the Load event).

続くS250では、RM120は、書き換え直前の対象SWCの動作状態の復元等を行う処理であるinitialize処理をコールバック関数として呼び出し、その後、S255に処理が移行される。なお、該処理の呼び出しがInitイベントに相当する。   In subsequent S250, the RM 120 calls an initialize process, which is a process of restoring the operation state of the target SWC immediately before rewriting, as a callback function, and then the process proceeds to S255. Note that this process call corresponds to an Init event.

S255では、対象SWCはinitialize処理を実行し、該処理において、RAMに保存された引継ぎデータを読み出し、書き換え直前の対象SWCの動作状態を復元する。また、該処理において、対象SWCは、RTE130のインターフェースを呼び出し、RTE130を介しての当該SWCへのイベントの通知や、当該SWCのコールバック関数の呼び出しを許可する。また、該処理の実行後、OS110は、対象SWCを構成するタスクや割込みハンドラを登録する(Initイベントに相当)。そして、S260に処理が移行される。   In S255, the target SWC executes an initialize process. In this process, the takeover data stored in the RAM is read, and the operation state of the target SWC immediately before rewriting is restored. In this process, the target SWC calls the interface of the RTE 130, and permits notification of an event to the SWC and calling of the callback function of the SWC via the RTE 130. Further, after execution of the processing, the OS 110 registers tasks and interrupt handlers that constitute the target SWC (corresponding to an Init event). Then, the process proceeds to S260.

S260では、RM120は、書き換え後の対象SWCを再起動させるための処理であるstart処理をコールバック関数として読み出し、その後、S265に処理が移行される。   In S260, the RM 120 reads out the start process, which is a process for restarting the rewritten target SWC, as a callback function, and then the process proceeds to S265.

S265では、対象SWCはstart処理を実行する。具体的には、対象SWCは、RTE130のインターフェースを呼び出してOS110に対し当該SWCの動作の再開要求を行い、該再開要求を受け取ったOS110は、対象SWCを構成するタスクを起動すると共に、対象SWCに対応するデバイスからの割込みを許可する(Startイベントに相当)。そして、以後、対象SWCの動作が再開される。   In S265, the target SWC executes a start process. Specifically, the target SWC calls the interface of the RTE 130 and requests the OS 110 to resume the operation of the SWC. The OS 110 that has received the restart request activates a task that configures the target SWC and at the same time the target SWC. An interrupt from the device corresponding to is permitted (corresponding to a Start event). Thereafter, the operation of the target SWC is resumed.

一方、書き換え処理において、対象SWCからstopped notifyの通知がなされない場合には、以下のような処理が行われる(図4参照)。
すなわち、既に述べたように、制御プログラム100のRM120が更新指示を受け付け(S305)、外部サーバ20から更新データを取得すると共に(S310)、対象SWCに対しstopイベントを通知すると(S315)、対象SWCでは停止処理が実行される(S320)。そして、stopイベントを通知した後、所定時間(例えば1s)が経過しても、対象SWCからstopped notifyが通知されない場合には、RM120は、RTE130のインターフェースを呼び出し、対象SWCを強制的に停止させる強制停止処理を実行する(S325)。
On the other hand, in the rewriting process, when notification of stopped notification is not made from the target SWC, the following process is performed (see FIG. 4).
That is, as described above, the RM 120 of the control program 100 receives an update instruction (S305), acquires update data from the external server 20 (S310), and notifies the target SWC of a stop event (S315). In the SWC, a stop process is executed (S320). Then, after notifying the stop event, if a stopped notification is not notified from the target SWC even after a predetermined time (for example, 1 s) has elapsed, the RM 120 calls the interface of the RTE 130 and forcibly stops the target SWC. A forced stop process is executed (S325).

続くS330では、RM120は、対象SWCのデータをRAM上から消去すると共に(Exitイベントに相当)、対象SWCに対応するプログラムを記憶部12から消去する(Uninstallイベントに相当)。その後、RM120は、外部サーバ20から取得され、制御部14のRAMに一時的に保存されている更新データを記憶部12に書き込むことで、対象SWCの書き換えを行い(Installイベントに相当)、さらに、
OS110が対象SWCにて用いられるデータの初期値をRAMに展開する(Loadイベントに相当)。
In the subsequent S330, the RM 120 deletes the data of the target SWC from the RAM (corresponding to the Exit event), and deletes the program corresponding to the target SWC from the storage unit 12 (corresponding to the Uninstall event). Thereafter, the RM 120 rewrites the target SWC by writing the update data acquired from the external server 20 and temporarily stored in the RAM of the control unit 14 into the storage unit 12 (corresponding to the Install event), and further ,
The OS 110 expands an initial value of data used in the target SWC in the RAM (corresponding to a Load event).

続くS335では、RM120は、initialize処理をコールバック関数として呼び出し、その後、S340に処理が移行される。なお、該処理の呼び出しがInit
イベントに相当する。
In subsequent S335, the RM 120 calls the initialize process as a callback function, and then the process proceeds to S340. Note that this process call is Init.
Corresponds to an event.

S340では、対象SWCはinitialize処理を実行し、該処理において、RTE130のインターフェースを呼び出し、RTE130を介しての当該SWCへのイベントの通知や、当該SWCのコールバック関数の呼び出しを許可する。また、該処理の実行後、OS110は、対象SWCを構成するタスクや割込みハンドラを登録する(Initイベントに相当)。そして、S345に処理が移行される。   In S340, the target SWC executes an initializing process, in which the RTE 130 interface is called, and an event notification to the SWC via the RTE 130 and a call to the SWC callback function are permitted. Further, after execution of the processing, the OS 110 registers tasks and interrupt handlers that constitute the target SWC (corresponding to an Init event). Then, the process proceeds to S345.

S345では、RM120は、書き換え後の対象SWCを再起動させるための処理であるstart処理をコールバック関数として読み出し、その後、S350に処理が移行される。   In S345, the RM 120 reads out the start process, which is a process for restarting the rewritten target SWC, as a callback function, and then the process proceeds to S350.

S350では、対象SWCはstart処理を実行する。具体的には、対象SWCは、RTE130のインターフェースを呼び出してOS110に対し当該SWCの動作の再開要求を行い、該再開要求を受け取ったOS110は、対象SWCを構成するタスクを起動すると共に、対象SWCに対応するデバイスからの割込みを許可する(Startイベントに相当)。そして、以後、対象SWCの動作が再開される。   In S350, the target SWC executes a start process. Specifically, the target SWC calls the interface of the RTE 130 and requests the OS 110 to resume the operation of the SWC. The OS 110 that has received the restart request activates a task that configures the target SWC and at the same time the target SWC. An interrupt from the device corresponding to is permitted (corresponding to a Start event). Thereafter, the operation of the target SWC is resumed.

[効果]
本実施形態の制御プログラム100によれば、更新指示を受け付けた際には、更新の対象となるSWCの動作と、RTE130を介しての該SWCへの送信が停止された後に、該SWCが書き換えられるため、SWCの書き換え中に、該SWCに対してのイベント通知や、該SWCのコールバック関数の実行がなされることを防ぐことができる。このため、全てのSWCの動作を停止させずに特定のSWCのみを更新したとしても、更新途上のSWCが起動されることは無く、CPUが暴走してしまうことを防ぐことができるのである。したがって、制御プログラム100によれば、各SWCにより実現される全ての機能を完全に停止させること無く、特定のSWCを動的に書き換えることができる。
[effect]
According to the control program 100 of the present embodiment, when an update instruction is received, the SWC is rewritten after the operation of the SWC to be updated and the transmission to the SWC via the RTE 130 are stopped. Therefore, it is possible to prevent an event notification to the SWC and execution of the callback function of the SWC during the rewriting of the SWC. For this reason, even if only a specific SWC is updated without stopping the operation of all SWCs, the SWC being updated is not activated, and the CPU can be prevented from running out of control. Therefore, according to the control program 100, a specific SWC can be dynamically rewritten without completely stopping all the functions realized by each SWC.

[他の実施形態]
(1)本実施形態では、ユーザからの操作によりSWCの書き換えが行われるが、これに限定されることは無く、例えば、無線通信部11を介してインターネット経由で外部から受け付けた指示等に応じて、SWCの書き換えを行っても良い。
[Other Embodiments]
(1) In this embodiment, the SWC is rewritten by an operation from the user. However, the present invention is not limited to this. For example, according to an instruction received from the outside via the Internet via the wireless communication unit 11 Then, the SWC may be rewritten.

また、本実施形態では、外部サーバ20から更新データが取得されるが、これに限定されることは無く、例えば、SWCの書き換えを行う際にECU10に記憶装置を接続し、該記憶装置から更新データを取得しても良い。このような場合であっても、同様の効果を得ることができる。   In the present embodiment, the update data is acquired from the external server 20, but the present invention is not limited to this. For example, when the SWC is rewritten, a storage device is connected to the ECU 10 and updated from the storage device. Data may be acquired. Even in such a case, the same effect can be obtained.

(2)また、本実施形態では、SWCの書き換えを行う際に、書き換えの対象となるSWCが引継ぎデータの保存を行っている。しかしながら、これに限定されることは無く、例えば、他のSWCとの間で共通化されているデータを引継ぎデータとして保存する場合等には、これらのデータに関しては、RM120やOS110等にて引継ぎデータとして保存しても良い。このような場合であっても、同様の効果を得ることができる。   (2) Further, in the present embodiment, when the SWC is rewritten, the SWC to be rewritten stores the takeover data. However, the present invention is not limited to this. For example, when storing data shared with other SWCs as takeover data, these data are taken over by RM120, OS110, etc. It may be saved as data. Even in such a case, the same effect can be obtained.

また、本実施形態では、SWCの書き換えを行う際に、書き換えの対象となるSWCが、当該SWCへのイベント通知やコールバックを禁止している。この点に関しても、例えば、他のSWCとの間で共通化されているイベントやコールバック関数が存在する場合には、これらに関しては、RM120やOS110等でイベント通知やコールバックを禁止しても良い。このような場合であっても、同様の効果を得ることができる。   In this embodiment, when SWC is rewritten, the SWC to be rewritten prohibits event notification and callback to the SWC. Also in this regard, for example, when there are events and callback functions that are shared with other SWCs, event notifications and callbacks may be prohibited by the RM 120, OS 110, etc. good. Even in such a case, the same effect can be obtained.

[特許請求の範囲との対応]
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
[Correspondence with Claims]
The correspondence between the terms used in the description of the above embodiment and the terms used in the description of the claims is shown.

SWCがアプリケーションに、OS110,RM120,RTE130がプラットフォームに、RTE130が中継手段に相当する。
また、書き換え処理のS205,S305が受付手段,受付手順に、S210,S310が取得手段,取得手順に、S215,S315が停止指示手段,停止指示手順に、S220が停止手段,停止手順に、S325が強制停止手段に、S240が保存手段に、S245,S330が更新手段,更新手順に、S255,S265が再開手段に相当する。
SWC corresponds to an application, OS 110, RM 120, and RTE 130 correspond to a platform, and RTE 130 corresponds to a relay means.
Also, S205 and S305 of the rewrite processing are the accepting means and accepting procedure, S210 and S310 are the obtaining means and obtaining procedure, S215 and S315 are the stop instructing means and stop instruction procedure, S220 is the stopping means and the stopping procedure, and S325. Is forcibly stopping means, S240 is for storing means, S245 and S330 are for updating means and updating procedures, and S255 and S265 are for restarting means.

また、SWC,OS110,RM120等がソフトウェアモジュールに相当する。
また、ECU10が電子装置に相当する。
SWC, OS 110, RM 120, and the like correspond to software modules.
The ECU 10 corresponds to an electronic device.

10…ECU、11…無線通信部、12…記憶部、13…操作部、14…制御部、20…外部サーバ、30…インターネット、100…制御プログラム、110…OS、120…RM、130…RTE、131…拡張I/F、140…A−SWC、150…B−SWC、160…C−SWC。   DESCRIPTION OF SYMBOLS 10 ... ECU, 11 ... Wireless communication part, 12 ... Memory | storage part, 13 ... Operation part, 14 ... Control part, 20 ... External server, 30 ... Internet, 100 ... Control program, 110 ... OS, 120 ... RM, 130 ... RTE 131 ... Extended I / F, 140 ... A-SWC, 150 ... B-SWC, 160 ... C-SWC.

Claims (9)

1または複数のアプリケーションと、該アプリケーションを動作させるためのプラットフォームとを備える組み込みシステム用の制御プログラムであって、
前記プラットフォームは、
前記アプリケーションとの間の送受信を中継する中継手段と、
動作中の前記アプリケーションを更新する更新指示を受け付ける受付手段と、
前記アプリケーションを更新するための更新データを外部から取得する取得手段と、
前記受付手段が前記更新指示を受け付けると、該更新指示により更新される前記アプリケーションに対し、動作の正常な停止と、前記中継手段を介しての該アプリケーションへの送信の停止とを指示する停止指示を行う停止指示手段と、
前記停止指示により、前記アプリケーションの動作が正常に停止すると共に、前記中継手段を介しての該アプリケーションへの送信とが停止した後に、前記取得手段が取得した前記更新データに基づき該アプリケーションを更新する更新手段と、
してコンピュータを動作させ、
前記アプリケーションは、当該アプリケーションに対しての前記停止指示がなされると、当該アプリケーションの動作を正常に停止させると共に、前記中継手段を介しての当該アプリケーションへの送信を停止させる停止手段としてコンピュータを動作させること、
を特徴とする制御プログラム。
A control program for an embedded system comprising one or more applications and a platform for operating the applications,
The platform is
Relay means for relaying transmission / reception with the application;
Receiving means for receiving an update instruction to update the application in operation;
Acquisition means for acquiring update data for updating the application from the outside;
When the accepting unit accepts the update instruction, a stop instruction that instructs the application updated by the update instruction to stop operating normally and stop transmission to the application via the relay unit Stop instruction means for performing,
The operation of the application is normally stopped by the stop instruction, and the application is updated based on the update data acquired by the acquisition unit after transmission to the application through the relay unit is stopped. Update means;
And run the computer
When the stop instruction is given to the application, the application normally stops the operation of the application and operates the computer as a stop unit that stops transmission to the application through the relay unit. Letting
A control program characterized by
請求項1に記載の制御プログラムにおいて、
前記アプリケーションは、さらに、
当該アプリケーションに対しての前記停止指示がなされると、当該アプリケーションの動作状態を示す引継ぎデータをメモリに保存する保存手段と、
前記更新手段により当該アプリケーションが更新された後に、前記保存手段により保存された前記引継ぎデータを読み出し、該引継ぎデータに基づき、前記停止指示がなされた時点の前記動作状態を復元した後に当該アプリケーションの動作を再開させる再開手段と、
してコンピュータを動作させることを特徴とする制御プログラム。
The control program according to claim 1,
The application further includes:
When the stop instruction is given to the application, storage means for storing takeover data indicating the operation state of the application in a memory;
After the application is updated by the update unit, the transfer data stored by the storage unit is read, and the operation state of the application is restored based on the transfer data after restoring the operation state at the time when the stop instruction is issued. Resuming means for resuming
And a control program for operating the computer.
請求項1または請求項2に記載の制御プログラムにおいて、
前記取得手段は、ネットワークを介して外部サーバから前記更新データを取得すること、
を特徴とする制御プログラム。
In the control program according to claim 1 or 2,
The acquisition means acquires the update data from an external server via a network;
A control program characterized by
請求項1から請求項3のうちのいずれか1項に記載の制御プログラムにおいて、
当該制御プログラムは、書き換え可能な不揮発性の記憶媒体に記憶された状態でコンピュータを動作させるよう構成されていること、
を特徴とする制御プログラム。
In the control program according to any one of claims 1 to 3,
The control program is configured to operate the computer in a state stored in a rewritable nonvolatile storage medium,
A control program characterized by
請求項1から請求項4のうちのいずれか1項に記載の制御プログラムにおいて、
前記プラットフォームは、さらに、前記停止指示がなされた前記アプリケーションの動作が停止しない場合に、該アプリケーションの動作を停止させる強制停止手段としてコンピュータを動作させることを特徴とする制御プログラム。
In the control program according to any one of claims 1 to 4,
The platform further causes the computer to operate as a forced stop means for stopping the operation of the application when the operation of the application to which the stop instruction is given does not stop.
1または複数のアプリケーションと、該アプリケーションを動作させるためのプラットフォームであって、
前記アプリケーションとの間の送受信を中継する中継手段と、
動作中の前記アプリケーションを更新する更新指示を受け付ける受付手段と、
前記アプリケーションを更新するための更新データを外部から取得する取得手段と、
前記受付手段が前記更新指示を受け付けると、該更新指示により更新される前記アプリケーションに対し、動作の正常な停止と、前記中継手段を介しての該アプリケーションへの送信の停止とを指示する停止指示を行う停止指示手段と、
前記停止指示により、前記アプリケーションの動作が正常に停止すると共に、前記中継手段を介しての該アプリケーションへの送信とが停止した後に、前記取得手段が取得した前記更新データに基づき該アプリケーションを更新する更新手段と、
してコンピュータを動作させることを特徴とするプラットフォーム。
One or more applications and a platform for operating the applications,
Relay means for relaying transmission / reception with the application;
Receiving means for receiving an update instruction to update the application in operation;
Acquisition means for acquiring update data for updating the application from the outside;
When the accepting unit accepts the update instruction, a stop instruction that instructs the application updated by the update instruction to stop operating normally and stop transmission to the application via the relay unit Stop instruction means for performing,
The operation of the application is normally stopped by the stop instruction, and the application is updated based on the update data acquired by the acquisition unit after transmission to the application through the relay unit is stopped. Update means;
A platform characterized by operating a computer.
当該部位を個別に更新するプラットフォーム上で動作し、該プラットフォームを介して他のソフトウェアモジュールとの間の通信を行う組み込みシステム用のアプリケーションであって、
前記プラットフォームが動作中の当該アプリケーションを個別に更新する際に、該プラットフォームからの停止指示に応じて、当該アプリケーションの動作を正常に停止させると共に、前記プラットフォームを介しての当該アプリケーションへの送信を停止させる停止手段としてコンピュータを動作させることを特徴とするアプリケーション。
An application for an embedded system that operates on a platform that individually updates the part and communicates with other software modules via the platform,
When updating the application on which the platform is operating individually, in response to a stop instruction from the platform, the operation of the application is stopped normally and transmission to the application via the platform is stopped. An application characterized by operating a computer as a stopping means.
1または複数のアプリケーションと、該アプリケーションを動作させるためのプラットフォームとを備える組み込みシステム用の制御プログラムにより動作するコンピュータを備える電子装置であって、
前記プラットフォームは、
前記アプリケーションとの間の送受信を中継する中継手段と、
動作中の前記アプリケーションを更新する更新指示を受け付ける受付手段と、
前記アプリケーションを更新するための更新データを外部から取得する取得手段と、
前記受付手段が前記更新指示を受け付けると、該更新指示により更新される前記アプリケーションに対し、動作の正常な停止と、前記中継手段を介しての該アプリケーションへの送信の停止とを指示する停止指示を行う停止指示手段と、
前記停止指示により、前記アプリケーションの動作が正常に停止すると共に、前記中継手段を介しての該アプリケーションへの送信とが停止した後に、前記取得手段が取得した前記更新データに基づき該アプリケーションを更新する更新手段と、
して前記コンピュータを動作させ、
前記アプリケーションは、当該アプリケーションに対しての前記停止指示がなされると、当該アプリケーションの動作を正常に停止させると共に、前記中継手段を介しての当該アプリケーションへの送信を停止させる停止手段として前記コンピュータを動作させること、
を特徴とする電子装置。
An electronic apparatus comprising a computer that operates according to a control program for an embedded system that includes one or more applications and a platform for operating the applications,
The platform is
Relay means for relaying transmission / reception with the application;
Receiving means for receiving an update instruction to update the application in operation;
Acquisition means for acquiring update data for updating the application from the outside;
When the accepting unit accepts the update instruction, a stop instruction that instructs the application updated by the update instruction to stop operating normally and stop transmission to the application via the relay unit Stop instruction means for performing,
The operation of the application is normally stopped by the stop instruction, and the application is updated based on the update data acquired by the acquisition unit after transmission to the application through the relay unit is stopped. Update means;
And operate the computer,
When the stop instruction is given to the application, the application normally stops the operation of the application, and uses the computer as a stop unit that stops transmission to the application via the relay unit. To make it work,
An electronic device characterized by the above.
1または複数のアプリケーションと、該アプリケーションを動作させると共に、該アプリケーションとの間の送受信を中継するプラットフォームとを備える組み込みシステム用の制御プログラムにおける、該アプリケーションの更新方法であって、
前記プラットフォームにて、動作中の前記アプリケーションを更新する更新指示を受け付ける受付手順と、
前記プラットフォームにて、前記アプリケーションを更新するための更新データを外部から取得する取得手順と、
前記更新指示を受け付けると、前記プラットフォームから、該更新指示により更新される前記アプリケーションに対し、動作の正常な停止と、前記プラットフォームを介しての該アプリケーションへの送信の停止とを指示する停止指示を行う停止指示手順と、
前記停止指示がなされた前記アプリケーションにて、当該アプリケーションの動作を正常に停止させると共に、前記プラットフォームを介しての当該アプリケーションへの送信を停止させる停止手順と、
前記停止指示により、前記アプリケーションの動作が正常に停止すると共に、前記プラットフォームを介しての該アプリケーションへの送信とが停止した後に、前記プラットフォームが、前記更新データに基づき該アプリケーションを更新する更新手順と、
を有することを特徴とする更新方法。
A method for updating an application in a control program for an embedded system comprising one or more applications and a platform that operates the application and relays transmission / reception to / from the application,
An acceptance procedure for receiving an update instruction to update the application in operation on the platform;
In the platform, an acquisition procedure for acquiring update data for updating the application from the outside,
When receiving the update instruction, the platform issues a stop instruction that instructs the application updated by the update instruction to stop normal operation and stop transmission to the application through the platform. Stop instruction procedure to be performed,
In the application for which the stop instruction has been given, a stop procedure for stopping the operation of the application normally and stopping transmission to the application via the platform;
An update procedure in which the platform updates the application based on the update data after the operation of the application is normally stopped by the stop instruction and transmission to the application through the platform is stopped. ,
An update method characterized by comprising:
JP2011016852A 2011-01-28 2011-01-28 Platform for integrated system, application, control program with platform and application, electronic apparatus, and update method of application Pending JP2012155682A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011016852A JP2012155682A (en) 2011-01-28 2011-01-28 Platform for integrated system, application, control program with platform and application, electronic apparatus, and update method of application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011016852A JP2012155682A (en) 2011-01-28 2011-01-28 Platform for integrated system, application, control program with platform and application, electronic apparatus, and update method of application

Publications (1)

Publication Number Publication Date
JP2012155682A true JP2012155682A (en) 2012-08-16

Family

ID=46837312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011016852A Pending JP2012155682A (en) 2011-01-28 2011-01-28 Platform for integrated system, application, control program with platform and application, electronic apparatus, and update method of application

Country Status (1)

Country Link
JP (1) JP2012155682A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014058210A (en) * 2012-09-18 2014-04-03 Hitachi Automotive Systems Ltd Vehicle control device and vehicle control system
WO2015065096A1 (en) * 2013-10-31 2015-05-07 주식회사 엘지화학 Module relay device and relay method therefor
US9405601B2 (en) 2012-12-20 2016-08-02 Mitsubishi Electric Corporation In-vehicle apparatus and program
JP2016224771A (en) * 2015-06-01 2016-12-28 富士電機株式会社 Information processing apparatus and information processing method
JP2020027667A (en) * 2018-08-10 2020-02-20 株式会社デンソー Vehicle master device, vehicle electronic control system, activation request instruction method, and activation request instruction program
WO2021196863A1 (en) * 2020-03-31 2021-10-07 华为技术有限公司 Automotive open system architecture, state management method, and device
CN115118741A (en) * 2021-03-17 2022-09-27 Aptiv技术有限公司 Electronic control unit, vehicle comprising an electronic control unit and computer-implemented method
JP2025150652A (en) * 2024-03-27 2025-10-09 本田技研工業株式会社 Mobile body control device, mobile body control method, and program
US12504965B2 (en) 2022-05-20 2025-12-23 Denso Corporation Update control device, update control method, and non-transitory computer readable storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895773A (en) * 1994-09-27 1996-04-12 Oki Electric Ind Co Ltd Program operation control method and apparatus
JPH10312274A (en) * 1997-05-14 1998-11-24 Fujitsu Ltd Method and apparatus for replacing a running program of a software system
JP2003122587A (en) * 2001-10-11 2003-04-25 Sharp Corp Network device having software update function, software update processing program, and recording medium recording software update processing program
JP2005292981A (en) * 2004-03-31 2005-10-20 Advanced Telecommunication Research Institute International Message management apparatus, data processing system, and computer program therefor
JP2006146679A (en) * 2004-11-22 2006-06-08 Hitachi Ltd Information processing apparatus control method, information processing apparatus, and program
JP2007094894A (en) * 2005-09-29 2007-04-12 Mitsubishi Electric Corp Industrial software program structure and computer
JP2007226437A (en) * 2006-02-22 2007-09-06 Oki Electric Ind Co Ltd Method for replacing program for electronic automatic exchange
JP2010003047A (en) * 2008-06-19 2010-01-07 Kyocera Mita Corp Electronic equipment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895773A (en) * 1994-09-27 1996-04-12 Oki Electric Ind Co Ltd Program operation control method and apparatus
JPH10312274A (en) * 1997-05-14 1998-11-24 Fujitsu Ltd Method and apparatus for replacing a running program of a software system
JP2003122587A (en) * 2001-10-11 2003-04-25 Sharp Corp Network device having software update function, software update processing program, and recording medium recording software update processing program
JP2005292981A (en) * 2004-03-31 2005-10-20 Advanced Telecommunication Research Institute International Message management apparatus, data processing system, and computer program therefor
JP2006146679A (en) * 2004-11-22 2006-06-08 Hitachi Ltd Information processing apparatus control method, information processing apparatus, and program
JP2007094894A (en) * 2005-09-29 2007-04-12 Mitsubishi Electric Corp Industrial software program structure and computer
JP2007226437A (en) * 2006-02-22 2007-09-06 Oki Electric Ind Co Ltd Method for replacing program for electronic automatic exchange
JP2010003047A (en) * 2008-06-19 2010-01-07 Kyocera Mita Corp Electronic equipment

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014058210A (en) * 2012-09-18 2014-04-03 Hitachi Automotive Systems Ltd Vehicle control device and vehicle control system
US9405601B2 (en) 2012-12-20 2016-08-02 Mitsubishi Electric Corporation In-vehicle apparatus and program
US10110696B2 (en) 2013-10-31 2018-10-23 Lg Chem, Ltd. Module relay device and relay method therefor
CN105247473A (en) * 2013-10-31 2016-01-13 株式会社Lg化学 Module relay device and relay method thereof
KR101748904B1 (en) * 2013-10-31 2017-06-20 주식회사 엘지화학 Apparatus and method for engaging the multiple modules
WO2015065096A1 (en) * 2013-10-31 2015-05-07 주식회사 엘지화학 Module relay device and relay method therefor
CN105247473B (en) * 2013-10-31 2019-06-28 株式会社Lg化学 Module relay device and relay method thereof
JP2016224771A (en) * 2015-06-01 2016-12-28 富士電機株式会社 Information processing apparatus and information processing method
JP2020027667A (en) * 2018-08-10 2020-02-20 株式会社デンソー Vehicle master device, vehicle electronic control system, activation request instruction method, and activation request instruction program
JP7354748B2 (en) 2018-08-10 2023-10-03 株式会社デンソー Vehicle master device, vehicle electronic control system, activation request instruction method, and activation request instruction program
WO2021196863A1 (en) * 2020-03-31 2021-10-07 华为技术有限公司 Automotive open system architecture, state management method, and device
CN115118741A (en) * 2021-03-17 2022-09-27 Aptiv技术有限公司 Electronic control unit, vehicle comprising an electronic control unit and computer-implemented method
US12504965B2 (en) 2022-05-20 2025-12-23 Denso Corporation Update control device, update control method, and non-transitory computer readable storage medium
JP2025150652A (en) * 2024-03-27 2025-10-09 本田技研工業株式会社 Mobile body control device, mobile body control method, and program
JP7841014B2 (en) 2024-03-27 2026-04-06 本田技研工業株式会社 Mobile device control device, mobile device control method, and program

Similar Documents

Publication Publication Date Title
JP2012155682A (en) Platform for integrated system, application, control program with platform and application, electronic apparatus, and update method of application
CN111767115B (en) Vehicle system, vehicle and method for operating such a vehicle system
US10452404B2 (en) Optimized UEFI reboot process
US7827395B2 (en) Update-startup apparatus and update-startup control method
AU2011329330B2 (en) Method of provisioning firmware in an operating system (OS) absent services environment
US12443487B2 (en) Quick start method
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
KR20070108060A (en) System running fast boot wake-up
JP2002268900A (en) Mechanism for safely performing system firmware update in logically partitioned (lpar) machine
JP2018132957A (en) Control unit and control program updating method
CN115168869A (en) Vehicle-mounted system based on multiple operating systems and control method thereof
JP2002132741A (en) Processor addition method, computer, and recording medium
US20090228861A1 (en) Method and System for Improved Tool Interaction with a Target
US9235426B2 (en) Multicore processor system, computer product, and notification method for updating operating system
EP3798831B1 (en) Resilient upgradable boot loader with power reset
JP5307133B2 (en) Device emulation support apparatus, device emulation support method, device emulation support circuit, and information processing apparatus
CN107391174B (en) A control method and control device for system online upgrade
US20160321057A1 (en) Electronic apparatus
CN100465893C (en) A method for dynamic upgrading of embedded operating system driver
CN111090546A (en) Operating system restarting method, apparatus, device and readable storage medium
CN108563320B (en) Processing method and processing system
CN114064128A (en) Kernel restarting method
JP2003216449A (en) Patch processing system
US12613689B2 (en) Electronic control device, reprogram execution method, and non-transitory computer readable storage medium
CN112015456A (en) A BootLoader program update method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140930