JP2021111133A - Update device, real-time system, update method and update program - Google Patents
Update device, real-time system, update method and update program Download PDFInfo
- Publication number
- JP2021111133A JP2021111133A JP2020002817A JP2020002817A JP2021111133A JP 2021111133 A JP2021111133 A JP 2021111133A JP 2020002817 A JP2020002817 A JP 2020002817A JP 2020002817 A JP2020002817 A JP 2020002817A JP 2021111133 A JP2021111133 A JP 2021111133A
- Authority
- JP
- Japan
- Prior art keywords
- update
- time
- real
- firmware
- periodic tasks
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本開示は、更新装置、リアルタイムシステム、更新方法及び更新プログラムに関する。 The present disclosure relates to an update device, a real-time system, an update method and an update program.
制御装置などは、複数の周期タスクが予め定められた実行周期で実行されており、当該複数の周期タスクが実行されない期間にファームウェアが更新される。例えば、特許文献1の自動車制御ユニットは、スリープモード中に書換用ファームウェアによるプログラム書換処理を実行する。また、特許文献2の制御装置は、複数の周期タスクの実行が完了してから当該複数の周期タスクが再び実行されるまでの間にプログラム構成単位を更新する。
In the control device and the like, a plurality of periodic tasks are executed in a predetermined execution cycle, and the firmware is updated during a period in which the plurality of periodic tasks are not executed. For example, the automobile control unit of
特許文献1及び2の技術は、複数の周期タスクのリアルタイムスケジューリングを取得し、当該リアルタイムスケジューリングを考慮してファームウェアを更新していない。そのため、特許文献1及び2の技術は、複数の周期タスクのリアルタイムスケジューリングを乱す可能性がある。
The techniques of
本明細書に開示される実施形態が達成しようとする目的の1つは、当該課題の解決に寄与する更新装置、リアルタイムシステム、更新方法及び更新プログラムを提供することである。なお、この目的は、本明細書に開示される複数の実施形態が達成しようとする複数の目的の1つに過ぎないことに留意されるべきである。その他の目的又は課題と新規な特徴は、本明細書の記述又は添付図面から明らかにされる。 One of the objectives to be achieved by the embodiments disclosed herein is to provide an update device, a real-time system, an update method and an update program that contribute to solving the problem. It should be noted that this object is only one of the purposes that the plurality of embodiments disclosed herein seek to achieve. Other objectives or issues and novel features will be apparent from the description or accompanying drawings herein.
第1の態様の更新装置は、
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する更新管理部と、
前記時間にファームウェアの更新を実行する更新制御部と、
を備える。
The update device of the first aspect is
An update management unit that acquires and refers to real-time scheduling of multiple periodic tasks of a running real-time operating system and calculates the time during which the plurality of periodic tasks are idle.
An update control unit that executes a firmware update at the above time,
To be equipped.
第2の態様のリアルタイムシステムは、
上述の更新装置と、
前記複数の周期タスクを実行するプロセッサと、
を備える。
The real-time system of the second aspect is
With the above-mentioned update device
A processor that executes the plurality of periodic tasks, and
To be equipped.
第3の態様の更新方法は、
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する工程と、
前記時間にファームウェアの更新を実行する工程と、
を備える。
The update method of the third aspect is
A process of acquiring and referring to real-time scheduling of a plurality of periodic tasks of a running real-time operating system and calculating the time during which the plurality of periodic tasks are idle.
The process of executing the firmware update at the above time and
To be equipped.
第4の態様の更新プログラムは、
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する処理と、
前記時間にファームウェアの更新を実行する処理と、
をコンピュータに実行させる。
The update program of the fourth aspect is
A process of acquiring and referring to real-time scheduling of a plurality of periodic tasks of a running real-time operating system and calculating the time during which the plurality of periodic tasks are idle.
The process of executing the firmware update at the above time and
Let the computer run.
上述の態様によれば、複数の周期タスクのリアルタイムスケジューリングの乱れを抑制しつつ、ファームウェアの更新が可能な更新装置、リアルタイムシステム、更新方法及び更新プログラムを実現できる。 According to the above-described aspect, it is possible to realize an update device, a real-time system, an update method, and an update program capable of updating firmware while suppressing disturbance of real-time scheduling of a plurality of periodic tasks.
以下、本開示を実施するための最良の形態について、添付図面を参照しながら説明する。但し、本開示が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。 Hereinafter, the best mode for carrying out the present disclosure will be described with reference to the accompanying drawings. However, the present disclosure is not limited to the following embodiments. Further, in order to clarify the explanation, the following description and drawings have been simplified as appropriate.
<実施の形態1>
先ず、本実施の形態の更新装置の構成を説明する。図1は、本実施の形態の更新装置の構成を示すブロック図である。図1に示すように、更新装置1は、更新管理部2及び更新制御部3を備えている。更新管理部2は、稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、複数の周期タスクがアイドル状態となる時間を算出する。更新制御部3は、算出した時間にファームウェアの更新を実行する。
<
First, the configuration of the update device of the present embodiment will be described. FIG. 1 is a block diagram showing a configuration of an update device according to the present embodiment. As shown in FIG. 1, the
次に、本実施の形態の更新方法の流れを説明する。図2は、本実施の形態の更新方法の流れを示すフローチャート図である。先ず、更新管理部2は、稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照する(S1)。そして、更新管理部2は、取得したリアルタイムスケジューリングに基づいて、複数の周期タスクがアイドル状態となる時間を算出する(S2)。
Next, the flow of the update method of the present embodiment will be described. FIG. 2 is a flowchart showing the flow of the update method of the present embodiment. First, the
次に、更新制御部3は、算出した時間にファームウェアの更新を実行する(S3)。例えば、周期タスクAが3周期内で1回実行し、周期タスクBが4周期内で1回実行し、周期タスクCが6周期内で2回実行し、優先度がファームウェアの更新>周期タスクA>周期タスクB>周期タスクCと設定されたリアルタイムスケジューリングの場合、図3に示すように、周期タスクA、B及びCの全てがアイドル状態となる時間にファームウェアを更新する。
Next, the
このように本実施の形態の更新装置1及び更新方法は、複数の周期タスクのリアルタイムスケジューリングを取得して参照するので、複数の周期タスクのリアルタイムスケジューリングの乱れを抑制しつつ、ファームウェアの更新が可能である。
As described above, since the
<実施の形態2>
図4は、本実施の形態のリアルタイムシステムの構成を示すブロック図である。図4に示すように、リアルタイムシステム10は、プロセッサ20、主記憶装置30及び更新装置40を備えており、処理のリアルタイム性を保証するためにオペレーティングシステムとしてリアルタイムオペレーティングシステム(RTOS)が稼働している。
<
FIG. 4 is a block diagram showing a configuration of a real-time system according to the present embodiment. As shown in FIG. 4, the real-
ここで、図5は、RTOSの機能ブロック図である。図6は、カーネルの機能ブロック図である。図5に示すように、RTOS50は、ある処理(タスク)が一定期間内に終了すること(リアルタイム性)を保証するOSであり、OS管理タスク51を備えている。
Here, FIG. 5 is a functional block diagram of the RTOS. FIG. 6 is a functional block diagram of the kernel. As shown in FIG. 5, the
OS管理タスク51は、タスク52及びカーネル53を備えている。タスク52としては、周期的に実行される周期タスクと、非周期タスクと、の2種類のタスクが存在する。カーネル53は、RTOS50において実行するタスク52の管理を行う領域であり、図6に示すように、スケジューラ531及びタスク管理情報532を備えている。カーネル53は、特別な優先度を持つ周期タスクとして定期的に自分自身を実行し、タスク52をディスパッチする。
The
スケジューラ531は、リアルタイム性を保証したタスク52の実行順序割り当て(スケジューリング)を提供する。詳細には、スケジューラ531は、どのタスク52がいつ実行されるかを、予め定められたアルゴリズムにより決定し、タスク管理情報532の管理情報に基づいて、実行するタスク52をディスパッチする。ここでは、スケジューリングアルゴリズムとして、レートモノトニックスケジューリング(Rate Monotonic Scheduling)を用いることができる。
The
タスク管理情報532は、タスク52に固有の情報を表すデータ構造であり、RTOS50で生成されるTCB(Task Control Block)である。タスク管理情報532は、タスク52の優先度、実行時間、実行周期及びコンテキスト情報などが格納されている。これらのタスク52やカーネル53は、図5に示すように、デバイスドライバ60と協働して制御される。
The
プロセッサ20は、主記憶装置30のプログラム領域から実行するプログラムを読み取って実行する中央演算処理装置(CPU:Central Processing Unit)であり、命令実行部21、プログラムカウンタ22及び割り込みコントローラ23を備えている。
The
命令実行部21は、主記憶装置30のプログラム領域から読み取ったプログラム(命令)を実行する。プログラムカウンタ22は、プロセッサ20が実行するプログラムのアドレスを格納する。割り込みコントローラ23は、プロセッサ20に対する割り込み処理を制御する。
The
主記憶装置30は、データ領域31及びプログラム領域32を備えている。データ領域31は、プログラムの変数情報を格納する。プログラム領域32は、プログラム(RTOS50を含むファームウェア)のテキスト情報を格納する。ここで、ファームウェア71は、外部記憶装置70に格納されている。外部記憶装置70は、LAN(Local Area Network)などの通信路でリアルタイムシステム10と接続されている。
The
主記憶装置30は、プログラム領域32として運用中又は更新用のプログラムを格納するメモリ領域を2個以上有する。例えば、本実施の形態では、第1のプログラム領域321及び第2のプログラム領域322を備えており、プロセッサ20が実行するプログラムの読み取り先を切り替えることにより、実行するファームウェア71を切り替える(更新する)。
The
更新装置40は、実施の形態1の更新装置1に対してより好ましい構成とされている。ここで、図7は、本実施の形態の更新装置の構成を示すブロック図である。更新装置40は、図7に示すように、更新管理部41及び更新制御部42を備えている。更新管理部41は、スケジューリング算出部411、スケジューリングテーブル412及びアイドル時間算出部413及びアドレス格納部414を備えている。
The
更新管理部41は、RTOS50のスケジューラ531及びタスク管理情報532(即ち、リアルタイムスケジューリング)を参照し、将来の周期タスクのスケジューリング内容(即ち、スケジューリングアルゴリズム)をスケジューリングテーブル412に記録する。また、更新管理部41は、外部記憶装置70からファームウェア71の更新要求を受け取ると、更新タイミングとなる周期タスクがアイドル状態となる時間を算出し、当該時間を示す情報を更新制御部42に伝達する。ここで、アイドル状態となる時間とは、詳細は後述するが、アイドル状態となる時刻及び期間である。
The
詳細には、スケジューリング算出部411は、スケジューラ531及びタスク管理情報532のスケジューリングアルゴリズムを参照し、RTOS50が将来実行する周期タスクの実行順序を算出する。スケジューリング算出部411は、算出した将来実行する周期タスクの実行順序を示す情報をスケジューリングテーブル412に記録する。スケジューリングテーブル412は、算出した将来実行する周期タスクの実行順序を示す情報などを記録する。
Specifically, the
アイドル時間算出部413は、スケジューリングテーブル412を参照し、全ての周期タスクがアイドル状態となる時間を算出する。アイドル時間算出部413は、算出した全ての周期タスクがアイドル状態となる時間を示す情報を更新制御部42に伝達する。
The idle
アドレス格納部414は、複数のプログラム領域32の先頭アドレスを指し示す値を格納する。アドレス格納部414は、更新制御部42のアドレス切り替え処理部422に切り替え先のプログラム領域32のアドレスを提供する。ここで、アドレス格納部414には、現在のオフセットアドレス414a及び更新先のオフセットアドレス414bが格納されている。
The
更新制御部42は、非周期タスク制御部421及びアドレス切り替え処理部422を備えている。更新制御部42は、更新管理部41から全ての周期タスクがアイドル状態となる時間を示す情報を受け取り、ファームウェア71の更新制御を行う。
The
非周期タスク制御部421は、非周期タスクを一時的に抑止する命令をカーネル53に発行し、非同期割り込みを一時的に抑止する命令をプロセッサ20の割り込みコントローラ23に発行する。
The aperiodic
アドレス切り替え処理部422は、ファームウェア71の格納先を切り替えるために、プログラムカウンタ22のアドレス値を切り替える命令を発行する。切替先としては、アドレス格納部414のアドレス値を用いる。
The address
次に、本実施の形態の更新管理部41の処理の流れを説明する。図8は、本実施の形態の更新管理部の処理の流れを示すフローチャート図である。先ず、更新管理部41は、ネットワークやRTOS50のタスク52などからファームウェア更新要求が存在するか否かを確認する(S101)。更新要求が存在する場合(S101のYES)、更新要求フラグに1を代入する(S102)。
Next, the processing flow of the
次に、更新管理部41は、更新要求フラグを確認し(S103)、更新要求フラグに1が代入されていない場合(S101のNO、S103のNO)、詳細を後述するように、周期タスクのスケジューリング情報の登録処理を行い(S108)、更新管理部41の処理を終了する。
Next, the
一方、更新要求フラグに1が代入されている場合(S103のYES)、更新管理部41は、詳細を後述するように、全ての周期タスクがアイドル状態となる時間を算出する(S104)。その後、更新管理部41は、更新用のファームウェア71が用意されているか否かを確認する(S105)。ファームウェア71が用意されていない場合(S105のNO)、更新管理部41は、エラー通知を行い更新要求フラグに0を代入し、周期タスクのスケジューリング情報の登録処理を行い(S108)、更新管理部41の処理を終了する。
On the other hand, when 1 is assigned to the update request flag (YES in S103), the
一方、更新用のファームウェア71の用意が完了している場合(S105のYES)、S104の工程で算出した周期タスクがアイドル状態となる時間において更新処理を実施するように、更新制御部42に当該更新処理をスケジューリングする(S107)。
On the other hand, when the preparation of the
次に、上述のスケジューリング情報の登録処理の流れを説明する。図9は、スケジューリング情報の登録処理の流れを示すフローチャート図である。先ず、スケジューリング算出部411は、タスク管理情報532から周期タスクの情報を取得する(S201)。そして、周期タスクの情報及びスケジューラ531のアルゴリズムに基づいて、実行周期t+Nまでの周期タスクの割り当てを算出する(S202)。
Next, the flow of the above-mentioned scheduling information registration process will be described. FIG. 9 is a flowchart showing the flow of the scheduling information registration process. First, the
但し、tは現在の周期タスクの実行周期であり、Nは算出する実行周期の上限である。Nは、例えば100tickである。1tickは、RTOS50が周期タスクの実行を切り替える最小単位を表している。その後、算出した周期タスクの割り当て順序を示す情報をスケジューリングテーブル412に格納する(S203)。
However, t is the execution cycle of the current periodic task, and N is the upper limit of the execution cycle to be calculated. N is, for example, 100 ticks. 1 tick represents the minimum unit in which the
次に、上述のアイドル状態となる時間の算出処理及び更新タイミングの算出処理の流れを説明する。図10は、アイドル状態となる時間の算出処理の流れを示すフローチャート図である。図11は、更新タイミングの算出処理の流れを示すフローチャート図である。 Next, the flow of the calculation process of the idle state and the calculation process of the update timing will be described. FIG. 10 is a flowchart showing a flow of calculation processing of the idle state. FIG. 11 is a flowchart showing the flow of the update timing calculation process.
先ず、アイドル時間算出部413は、周期タスクが全てアイドル状態となる時刻を算出する(図10のS301)。つまり、アイドル時間算出部413は、現在の周期タスクの実行周期tから1tick後の値を実行周期Aに代入し(図11のS401)、実行周期Aにおける周期タスクの割り当てをスケジューリングテーブル412より確認する(図11のS402)。
First, the idle
次に、アイドル時間算出部413は、実行周期Aにおいて全ての周期タスクがアイドル状態であるか否かを確認する(図11のS403)。実行周期Aにおいて全ての周期タスクがアイドル状態である場合(図11のS403のYES(図10のS302のYES))、アイドル時間算出部413は、実行周期Aの始期から継続してアイドル状態となる期間Tを記録し(図11のS404)、事前に設定した閾値と期間Tの値とを比較する(図11のS405)。当該閾値は、事前に算出したファームウェア71の更新に要する期間を閾値として設定することができる。
Next, the idle
Tが閾値よりも大きい場合(図11のS405のYES)、アイドル時間算出部413は、実行周期A(即ち、アイドル状態となる時刻)及び期間Tを更新制御部42に通知する(図11のS406)。一方、Tが閾値よりも小さい場合(図11のS405のNO)、アイドル時間算出部413は、エラーを通知して終了する(図11のS409)。
When T is larger than the threshold value (YES in S405 of FIG. 11), the idle
周期期間Aにおいて全ての周期タスクがアイドル状態ではない場合(図11のS403のNO)、アイドル時間算出部413は、さらに1tick後の周期タスクの割り当てを算出する(図11のS407)。Aがスケジューリングテーブル412に記録した範囲を超過する場合(図11のS408のYES)、アイドル時間算出部413は、エラーを通知して終了する(図11のS409)。
When all the periodic tasks are not in the idle state in the periodic period A (NO in S403 of FIG. 11), the idle
エラーが通知された場合、即ち、全ての周期タスクがアイドル状態である実行周期を算出できなかった場合(図10のS302のNO)、アイドル時間算出部413は、アイドル時刻の算出をランダム期間だけ待機し(図10のS303)、再びアイドル時刻を算出する(S304)。このような処理を一定回数以上実行しても(図10のS305、S306、図11のS408)、全ての周期タスクがアイドル状態となる時刻を算出できない場合(図10のS306のYES)、更新管理部41にエラーを通知する(図10のS307)。一方、全ての周期タスクがアイドル状態となる時刻を算出できた場合(図10のS302のYES、図10のS305のYES)、図11のS404の工程を実行する。
When an error is notified, that is, when the execution cycle in which all the periodic tasks are idle cannot be calculated (NO in S302 in FIG. 10), the idle
次に、更新制御部42におけるファームウェア71の更新処理の流れを説明する。図12は、更新制御部におけるファームウェアの更新処理の流れを示すフローチャート図である。非周期タスク制御部421は、更新中にスケジューリングが乱されることを防止するため、非周期タスク及び非同期割り込みが実行された場合、非周期タスク及び非同期割り込みの一時停止命令を発行する(S501)。その後、非周期タスク制御部421は、更新後のファームウェア71へ非周期タスク及び非同期割り込みを再開する指示を与えるために、更新完了を表すフラグに1を代入する(S502)。
Next, the flow of the
そして、アドレス切り替え処理部422は、図13に示すように、現在実行中の第1のプログラム領域321から、更新用の第2のプログラム領域322に切り替える。詳細には、アドレス切り替え処理部422は、タスク管理情報532に含まれるコンテキスト情報に格納されている更新前の第1のプログラム領域321を指し示すアドレスに、更新先の第2のプログラム領域322を指し示す更新先のオフセットアドレス414bを足す(S503)。
Then, as shown in FIG. 13, the address switching
同様に、プログラムカウンタ22に、更新先のファームウェア71が格納されているメモリ領域のアドレス値を足し合わせることでプログラムカウンタ22の値を更新する(S504)。なお、図13に示すように、更新前後のファームウェア71は同じデータ領域を参照するため、運用は中断されない。
Similarly, the value of the
次に、ファームウェア71の更新管理処理が実行される間隔及び更新後の後処理の流れを説明する。ファームウェア71の更新管理処理及び更新処理は、カーネル53の処理と協調し、一定周期毎に繰り返し実行される。図14は、カーネルの処理フローを示す図である。
Next, the interval at which the update management process of the
先ず、カーネル53は、更新管理処理を実行する(S601)。これにより、割り込み管理やメモリ管理などのカーネル53の内部処理を行い(S602)、周期タスクのスケジューリングを実行する(S603)。次に、カーネル53は、更新処理がスケジューリングされているか否かを判定し(S604)、更新処理がスケジュールされている場合(S604のYES)、更新処理を実行する(S606)。一方、更新処理がスケジューリングされていない、即ち、周期タスクが割り当てられている場合(S604のNO)、当該周期タスクを実行する(S605)。
First, the
次に、カーネル53は、更新完了フラグを確認し(S607)、ファームウェア71の更新処理の有無を確認する。更新完了フラグに1が代入され(S607のYES)、更新処理において非周期タスク及び非同期割り込みの実行が一時的に停止されている場合、非周期タスク及び非同期割り込みの再開命令を発行し(S608)、更新完了した旨を外部に通知する(S609)。
Next, the
このとき、通知先は、例えば、外部記憶装置70やRTOS50で実行中の周期タスクなどが挙げられる。最後に、更新完了フラグと更新要求フラグに0を代入し(S610)、ファームウェア71の更新後の後処理を終了する。
At this time, the notification destination may be, for example, a periodic task being executed by the
一方、更新完了フラグに0が代入されている場合(S607のNO)、S601の工程に戻る。ちなみに、更新処理において非周期タスク及び非同期割り込みの実行が一時的に停止されていない場合は、S608の工程は省略される。 On the other hand, when 0 is assigned to the update completion flag (NO in S607), the process returns to the step of S601. Incidentally, if the execution of the aperiodic task and the asynchronous interrupt is not temporarily stopped in the update process, the step of S608 is omitted.
本実施の形態の更新装置40、リアルタイムシステム10及び更新方法は、実施の形態1と同様に、複数の周期タスクのリアルタイムスケジューリングを取得して参照するので、複数の周期タスクのリアルタイムスケジューリングの乱れを抑制しつつ、ファームウェア71の更新が可能である。
Since the
しかも、本実施の形態の更新装置40、リアルタイムシステム10及び更新方法は、更新中にスケジューリングが乱されることを防止するため、非周期タスクの割り込みを一時的に抑止する。そのため、確実にファームウェア71の更新を実行することができる。
Moreover, the
また、本実施の形態の更新装置40、リアルタイムシステム10及び更新方法は、ファームウェア71の更新に要する期間が当該ファームウェア71の更新に要する期間を超えている場合、ファームウェア71の更新を実行しないので、周期タスクのリアルタイムスケジューリングの乱れを抑制することができる。
Further, the
<実施の形態3>
図15は、本実施の形態の更新装置の構成を示すブロック図である。図15に示すように、本実施の形態の更新装置401は、実施の形態2の更新装置40と略等しい構成とされているが、更新制御部42に実行調整部423を備えている。実行調整部423は、複数の周期タスクのリアルタイムスケジューリングが乱されないように、ファームウェア71の更新処理を実行するタイミングを調整する。
<
FIG. 15 is a block diagram showing a configuration of an update device according to the present embodiment. As shown in FIG. 15, the
図16は、本実施の形態の更新制御部におけるファームウェアの更新処理の流れを示すフローチャート図である。図16に示すように、実施の形態2の更新制御部42におけるファームウェア71の更新処理の流れと略等しいが、S501の工程の後に、更新制御部42の実行調整部423は、周期タスクの実行周期の調整期間Pを算出する(S505)。ここで、Pは、期間Tから事前に計測したファームウェアの更新処理に必要な期間Uを引いた値である。
FIG. 16 is a flowchart showing a flow of firmware update processing in the update control unit of the present embodiment. As shown in FIG. 16, the flow of the
次に、実行調整部423は、調整期間Pの値が1tickよりも大きいか否かを判定し(S506)、調整期間Pの値が1tickよりも大きい場合(S506のYES)、ファームウェア71の更新が周期タスクのリアルタイムスケジューリングを乱さないように、ファームウェア71の更新をPtickだけ待機させる(S507)。
Next, the
ここで、図17に示すように、例えば、周期タスクAが3周期内で1回実行し、周期タスクBが6周期内で1回実行し、周期タスクCが7周期内で1回実行し、優先度が周期タスクA>周期タスクB>周期タスクCと設定されたリアルタイムスケジューリングの場合、調整期間Pの値が1tickになるようにファームウェアの更新をPtickだけ待機させる。
これにより、周期タスクのリアルタイムスケジューリングが乱されることを抑制できる。
Here, as shown in FIG. 17, for example, the periodic task A is executed once within 3 cycles, the periodic task B is executed once within 6 cycles, and the periodic task C is executed once within 7 cycles. In the case of real-time scheduling in which the priority is set as periodic task A> periodic task B> periodic task C, the firmware update is waited by Ptick so that the value of the adjustment period P becomes 1 tick.
As a result, it is possible to prevent the real-time scheduling of periodic tasks from being disturbed.
上記実施の形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施の形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。 The above embodiment is merely an example relating to the application of the technical idea obtained by the inventor of the present invention. That is, the technical idea is not limited to the above-described embodiment, and it goes without saying that various changes can be made.
例えば、図18に示すように、RTOS50を含むファームウェアを取り外し可能なROM80、90上のプログラム領域81、91に格納してもよい。このとき、更新管理部は、更新用のファームウェア71が準備できたことを判別することが出来ない。
For example, as shown in FIG. 18, the firmware including the
そのため、更新装置の運用者は、更新装置の入力部や外部システムから更新用のファームウェア71の準備が完了した旨を更新管理部に伝達する必要がある。このように取り外し可能なROM80、90のプログラム領域81、91にプログラムを格納することにより、外部記憶装置70を用意する必要がなくなる。
Therefore, the operator of the update device needs to notify the update management unit that the preparation of the
例えば、図19に示すように、主記憶装置30とROM80、90の双方にプログラム領域32、81、91を設けてもよい。複数のプログラム領域32、81、91を用意するため、外部記憶装置70を用意する必要があるが、外部記憶装置70又はROM領域のどちらかが故障した場合においても、ファームウェア71を更新することができる。
For example, as shown in FIG. 19,
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータ(情報通知装置を含むコンピュータ)に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、この例は、CD−ROM(Read Only Memory)、CD−R、CD−R/Wを含む。さらに、この例は、半導体メモリ(例えば、マスクROM、PROM、EPROM、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 The above-mentioned program is stored using various types of non-transitory computer readable medium, and can be supplied to a computer (a computer including an information notification device). Non-transitory computer-readable media include various types of tangible storage media. Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks). Further, this example includes a CD-ROM (Read Only Memory), a CD-R, and a CD-R / W. Further, this example includes semiconductor memories (eg, mask ROM, PROM, EPROM, flash ROM, RAM). The program may also be supplied to the computer by various types of transient computer readable medium. Examples of temporary computer-readable media include electrical, optical, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する更新管理部と、
前記時間にファームウェアの更新を実行する更新制御部と、
を備える、更新装置。
Some or all of the above embodiments may be described as, but not limited to, the following appendices.
(Appendix 1)
An update management unit that acquires and refers to real-time scheduling of multiple periodic tasks of a running real-time operating system and calculates the time during which the plurality of periodic tasks are idle.
An update control unit that executes a firmware update at the above time,
A renewal device.
(付記2)
前記更新制御部は、非周期タスクが前記時間に実行されないように、前記非周期タスクの割り込みを一時的に抑止する非周期タスク制御部を備える、付記1に記載の更新装置。
(Appendix 2)
The update device according to
(付記3)
前記更新制御部は、前記複数の周期タスクのリアルタイムスケジューリングが乱されないように、前記ファームウェアの更新処理を実行するタイミングを調整する実行調整部を備える、付記1又は2に記載の更新装置。
(Appendix 3)
The update device according to
(付記4)
前記更新制御部は、前記複数の周期タスクがアイドル状態となる期間が前記ファームウェアの更新処理に必要な期間を超えている場合、前記エラー通知を実行するアイドル時間算出部を備える、付記1乃至3のいずれか1項に記載の更新装置。
(Appendix 4)
The update control unit includes an idle time calculation unit that executes the error notification when the period during which the plurality of periodic tasks are idle exceeds the period required for the firmware update process. The update device according to any one of the above items.
(付記5)
付記1乃至4のいずれか1項に記載の更新装置と、
前記複数の周期タスクを実行するプロセッサと、
を備える、リアルタイムシステム。
(Appendix 5)
The renewal device according to any one of
A processor that executes the plurality of periodic tasks, and
Real-time system with.
(付記6)
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する工程と、
前記時間にファームウェアの更新を実行する工程と、
を備える、更新方法。
(Appendix 6)
A process of acquiring and referring to real-time scheduling of a plurality of periodic tasks of a running real-time operating system and calculating the time during which the plurality of periodic tasks are idle.
The process of executing the firmware update at the above time and
How to update.
(付記7)
非周期タスクが前記時間に実行されないように、前記非周期タスクの割り込みを一時的に抑止し、前記ファームウェアの更新を優先的に実行する工程を備える、付記6に記載の更新方法。
(Appendix 7)
The update method according to
(付記8)
前記複数の周期タスクのリアルタイムスケジューリングが乱されないように、前記ファームウェアの更新処理を実行するタイミングを調整する工程を備える、付記6又は7に記載の更新方法。
(Appendix 8)
The update method according to
(付記9)
前記複数の周期タスクがアイドル状態となる期間が前記ファームウェアの更新処理に必要な期間を超えている場合、エラー通知を実行する工程を備える、付記6乃至8のいずれか1項に記載の更新方法。
(Appendix 9)
The update method according to any one of
(付記10)
稼働しているリアルタイムオペレーティングシステムの複数の周期タスクのリアルタイムスケジューリングを取得して参照し、前記複数の周期タスクがアイドル状態となる時間を算出する処理と、
前記時間にファームウェアの更新を実行する処理と、
をコンピュータに実行させる、更新プログラム。
(Appendix 10)
A process of acquiring and referring to real-time scheduling of a plurality of periodic tasks of a running real-time operating system and calculating the time during which the plurality of periodic tasks are idle.
The process of executing the firmware update at the above time and
An update that lets your computer run.
(付記11)
非周期タスクが前記時間に実行されないように、前記非周期タスクの割り込みを一時的に抑止し、前記ファームウェアの更新を優先的に実行する処理を備える、付記10に記載の更新プログラム。
(Appendix 11)
The update program according to
(付記12)
前記複数の周期タスクのリアルタイムスケジューリングが乱されないように、前記ファームウェアの更新処理を実行するタイミングを調整する処理を備える、付記10又は11に記載の更新プログラム。
(Appendix 12)
The update program according to
(付記13)
前記複数の周期タスクがアイドル状態となる期間が前記ファームウェアの更新処理に必要な期間を超えている場合、エラー通知を実行する工程を備える、付記10乃至12のいずれか1項に記載の更新プログラム。
(Appendix 13)
The update program according to any one of
1 更新装置
2 更新管理部
3 更新制御部
10 リアルタイムシステム
20 プロセッサ、21 命令実行部、22 プログラムカウンタ、23 コントローラ
30 主記憶装置、31 データ領域、32 プログラム領域
40 更新装置
41 更新管理部、411 スケジューリング算出部、412 スケジューリングテーブル、413 アイドル時間算出部、414 アドレス格納部
42 更新制御部、421 非周期タスク制御部、422 アドレス切り替え処理部、423 実行調整部
51 OS管理タスク、52 タスク、53 カーネル、531 スケジューラ、532 タスク管理情報
60 デバイスドライバ
70 外部記憶装置、71 ファームウェア
401 更新装置
1
Claims (10)
前記時間にファームウェアの更新を実行する更新制御部と、
を備える、更新装置。 An update management unit that acquires and refers to real-time scheduling of multiple periodic tasks of a running real-time operating system and calculates the time during which the plurality of periodic tasks are idle.
An update control unit that executes a firmware update at the above time,
A renewal device.
前記複数の周期タスクを実行するプロセッサと、
を備える、リアルタイムシステム。 The renewal device according to any one of claims 1 to 3 and
A processor that executes the plurality of periodic tasks, and
Real-time system with.
前記時間にファームウェアの更新を実行する工程と、
を備える、更新方法。 A process of acquiring and referring to real-time scheduling of a plurality of periodic tasks of a running real-time operating system and calculating the time during which the plurality of periodic tasks are idle.
The process of executing the firmware update at the above time and
How to update.
前記時間にファームウェアの更新を実行する処理と、
をコンピュータに実行させる、更新プログラム。 A process of acquiring and referring to real-time scheduling of a plurality of periodic tasks of a running real-time operating system and calculating the time during which the plurality of periodic tasks are idle.
The process of executing the firmware update at the above time and
An update that lets your computer run.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020002817A JP6863628B1 (en) | 2020-01-10 | 2020-01-10 | Update device, real-time system, update method and update program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020002817A JP6863628B1 (en) | 2020-01-10 | 2020-01-10 | Update device, real-time system, update method and update program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6863628B1 JP6863628B1 (en) | 2021-04-21 |
JP2021111133A true JP2021111133A (en) | 2021-08-02 |
Family
ID=75520991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020002817A Active JP6863628B1 (en) | 2020-01-10 | 2020-01-10 | Update device, real-time system, update method and update program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6863628B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0997173A (en) * | 1995-09-29 | 1997-04-08 | Hitachi Ltd | Maintenance management system for control program |
JP2006301960A (en) * | 2005-04-20 | 2006-11-02 | Denso Corp | Automobile control unit |
WO2012124197A1 (en) * | 2011-03-15 | 2012-09-20 | オムロン株式会社 | Control device, system program, and storage medium |
JP2019168834A (en) * | 2018-03-22 | 2019-10-03 | 株式会社デンソー | Electronic control device |
JP2019192171A (en) * | 2018-04-27 | 2019-10-31 | 日本電信電話株式会社 | Communication device and information processing method |
-
2020
- 2020-01-10 JP JP2020002817A patent/JP6863628B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0997173A (en) * | 1995-09-29 | 1997-04-08 | Hitachi Ltd | Maintenance management system for control program |
JP2006301960A (en) * | 2005-04-20 | 2006-11-02 | Denso Corp | Automobile control unit |
WO2012124197A1 (en) * | 2011-03-15 | 2012-09-20 | オムロン株式会社 | Control device, system program, and storage medium |
JP2019168834A (en) * | 2018-03-22 | 2019-10-03 | 株式会社デンソー | Electronic control device |
JP2019192171A (en) * | 2018-04-27 | 2019-10-31 | 日本電信電話株式会社 | Communication device and information processing method |
Also Published As
Publication number | Publication date |
---|---|
JP6863628B1 (en) | 2021-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4839361B2 (en) | Virtual machine migration management server and virtual machine migration method | |
JP4532423B2 (en) | Server system | |
CN104252390B (en) | Resource regulating method, device and system | |
KR101680109B1 (en) | Multi-Core Apparatus And Method For Balancing Load Of The Same | |
JP2011258119A (en) | Cluster configuration management method, management device and program | |
CN111143045A (en) | Task scheduling method and device of smart home operating system and storage medium | |
JP2022112614A (en) | Device for determining resource movement schedule | |
JP6863628B1 (en) | Update device, real-time system, update method and update program | |
US20100205306A1 (en) | Grid computing system, management apparatus, and method for managing a plurality of nodes | |
JPWO2013145199A1 (en) | How to schedule virtual machines | |
JP2005149312A (en) | Task management system | |
JP2002073354A (en) | Task control device and task contol method | |
CN113590289B (en) | Job scheduling method, system, device, computer equipment and storage medium | |
JP2011233057A (en) | Multiprocessor system, control method for multiprocessor and program for control method of multiprocessor | |
JP2020077309A (en) | Monitoring device and monitoring method | |
JP2001236236A (en) | Task controller and its task scheduling method | |
JP2019040325A (en) | Power management device, node power management method and node power management program | |
CN109542598B (en) | Timed task management method and device | |
US9459916B2 (en) | System and method for controlling execution of jobs performed by plural information processing devices | |
JP2020091540A (en) | Information processing device | |
JP2018018446A (en) | Parallel processor, power supply control program of parallel processor, and power supply control method of parallel processor | |
JP7367565B2 (en) | Power control device and power control program | |
JP2001022601A (en) | Job execution control method and parallel computer system | |
JP6873854B2 (en) | Server device, device control method, and recording medium | |
JP2017068877A (en) | Job net management system and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210203 |
|
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: 20210302 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6863628 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |