(57)【要約】  実行可能な第１のプログラムコードと実行可能な第２のプログラムコードとを交換する方法（３００）ならびに制御器（１００）において、アクティブなメモリ媒体（１１０）であって、前記制御器（１００）を作動するための実行可能な第１のプログラムコードを備えるメモリ媒体（１１０）と、パッシブなメモリ媒体（１２０）とを備え、パッシブなメモリ媒体（１２０）は、制御器（１００）を作動するための実行可能な第２のプログラムコードと、上記方法（３００）に基づいて第１のプログラムコードと第２のプログラムコードとを交換するように構成されたデータパケット制御ユニット（１３０）とを備える。
2021524633.tif 000002
【特許請求の範囲】
【請求項１】
実行可能な第１のプログラムコードと実行可能な第２のプログラムコードとを交換する方法（３００）であって、
前記実行可能な第１のプログラムコードが第１のデータパケットの形式でアクティブなメモリ媒体（１１０）に格納されており、前記アクティブなメモリ媒体（１１０）が複数の第１のメモリ領域（１１１）を備え、それぞれの第１のデータパケットがそれぞれ第１のメモリ領域（１１１）に保存されており、前記実行可能な第２のプログラムコードが第２のデータパケットの形式でパッシブなメモリ媒体（１２０）に格納されており、前記パッシブなメモリ媒体（１２０）が複数の第２のメモリ領域（１２１）を備え、それぞれの第２のデータパケットがそれぞれ第２のメモリ領域（１２１）に保存されており、前記パッシブなメモリ要素が少なくとも１つの空いているメモリ領域（１２２）を備える方法において、
前記アクティブなメモリ媒体（１１０）の第１のメモリ領域（１１１）から前記パッシブなメモリ媒体（１２０）の前記空いている少なくとも１つのメモリ領域（１２２）に第１のデータパケットをコピーするステップ（３１０）；
前記第１のメモリ領域（１１１）から前記第１のデータパケットを削除することによって、前記アクティブなメモリ媒体の第１のメモリ領域（１１１）を空にするステップ（３２０）；
前記パッシブなメモリ媒体（１２０）の第２のメモリ領域（１２１）から前記アクティブなメモリ媒体（１１０）の前記空にされた第１のメモリ領域（１１１）に第２のデータパケットをコピーするステップ（３３０）；
前記第２のメモリ領域（１２１）から前記第２のデータパケットを削除することによって、前記パッシブなメモリ媒体（１２０）の前記第２のメモリ領域（１２１）を空にするステップ（３４０）；および
前記実行可能な第１のプログラムコードの全ての第１のデータパケットが前記パッシブなメモリ媒体（１２０）に格納され、前記実行可能な第２のプログラムコードの全ての第２のデータパケットが前記アクティブなメモリ媒体（１１０）に格納されるまで、前述のステップ（３１０〜３４０）を繰返し行うステップ（３５０）を含み、
それぞれ、あらかじめ空にした、および／または空いているメモリ領域（１１１、１２１、１２２）への第１または第２のデータパケットの前記コピー（３１０、３３０）を行う、方法（３００）。
【請求項２】
請求項１に記載の方法（３００）において、
車両を運転するように構成された制御器（１００）が前記アクティブなメモリ媒体（１１０）および前記パッシブなメモリ媒体（１２０）を含み、前記制御器（１００）によって前記車両を運転するための前記第１のプログラムコードと、前記制御器（１００）によって前記車両を運転するための前記第２のプログラムコードとを交換するように前記方法（３００）を構成し、特に、前記制御器（１００）が前記車両を運転するために一時的に使用されない場合に前記方法（３００）を実施する、方法（３００）。
【請求項３】
請求項１に記載の方法（３００）において、
前記第２のプログラムコードの妥当性検査のステップ（３６０）が前記交換の後に設けられ、前記妥当性検査（３６０）が失敗した場合に交換の取消し（３７０）を行う、方法（３００）。
【請求項４】
制御器（１００）において、
アクティブなメモリ媒体（１１０）であって、前記アクティブなメモリ媒体（１１０）が複数の第１のメモリ領域（１１１）を備え、前記アクティブなメモリ媒体（１１０）が、データパケットの形式で前記制御器（１００）を作動するための実行可能な第１のプログラムコードを備え、それぞれの第１のデータパケットがそれぞれ第１のメモリ領域（１１１）に保存されている、アクティブなメモリ媒体（１１０）；
パッシブなメモリ媒体（１２０）であって、前記パッシブなメモリ媒体（１２０）が複数の第２のメモリ領域（１２１）を備え、前記パッシブなメモリ媒体（１２０）が第２のデータパケットの形式で前記制御器（１００）を作動するための実行可能な第２のプログラムコードを備え、それぞれの第２のデータパケットがそれぞれ第２のメモリ領域（１２１）に保存されており、前記パッシブなメモリ要素（１２０）が少なくとも１つの空いているメモリ領域（１２２）を備える、パッシブなメモリ媒体（１２０）；
請求項１に記載の方法（３００）に基づいて前記第１のプログラムコードと前記第２のプログラムコードとを交換するように構成されたデータパケット制御ユニット（１３０）；および
実行ユニット（１４０）であって、前記アクティブなメモリ媒体（１１０）にそれぞれ含まれるプログラムコードによって前記制御器（１００）の作動を実行するように構成された実行ユニット（１４０）
を備える、制御器（１１０）。
【請求項５】
請求項４に記載の制御器（１００）において、
前記制御器（１００）が、前記第１および／または第２のプログラムコードを送信および／または受信するように構成されたインターフェース（１５０）を備える、制御器（１００）。
【請求項６】
請求項４に記載の制御器（１００）において、
該制御器（１００）が車両に含まれ、前記制御器（１００）が、前記第１および／または第２のプログラムコードによって前記車両を運転するように構成されている、制御器（１００）。
【請求項７】
請求項６に記載の制御器（１００）において、
該制御器（１００）が、前記第１および／または第２のプログラムコードに依存して前記制御器（１００）によって前記車両が運転されるかどうかを検出する検出ユニット（１６０）を備え、前記データパケット制御ユニット（１３０）が、前記車両が前記第１および／または第２のプログラムコードに依存して前記制御器（１００）によって運転されていない場合にのみ、前記第１のプログラムコードおよび前記第２のプログラムコードの交換を行う、制御器（１００）。
【請求項８】
請求項４に記載の制御器（１００）において、
前記制御器（１００）が、前記交換後に前記第２のプログラムコードの妥当性検査（３６０）を行うように構成された妥当性検査ユニット（１７０）を備え、前記妥当性検査（３６０）が失敗した場合に、前記データパケット制御ユニット（１３０）によって、交換の取消し（３７０）を行う制御器（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実行可能な第１のプログラムコードと実行可能な第２のプログラムコードとを交換する方法、および第１のプログラムコードと第２のプログラムコードとを交換するように構成された少なくとも１つのデータパケット制御ユニットを備える制御器に関する。
【発明の概要】
【０００２】
実行可能な第１のプログラムコードと実行可能な第２のプログラムコードとを交換する本発明による方法では、実行可能な第１のプログラムコードが第１のデータパケットの形式でアクティブなメモリ媒体に格納されており、アクティブなメモリ媒体が複数の第１のメモリ領域を備え、それぞれの第１のデータパケットがそれぞれ第１のメモリ領域に保存されており、実行可能な第２のプログラムコードが第２のデータパケットの形式でパッシブなメモリ媒体に格納されており、パッシブなメモリ媒体が複数の第２のメモリ領域を備え、それぞれの第２のデータパケットがそれぞれ第２のメモリ領域に保存されており、パッシブなメモリ要素が少なくとも１つの空いているメモリ領域を備え、この方法は、アクティブなメモリ媒体の第１のメモリ領域からパッシブなメモリ媒体の空いている少なくとも１つのメモリ領域に第１のデータパケットをコピーするステップを備える。さらにこの方法は、第１のメモリ領域から第１のデータパケットを削除することによって、アクティブなメモリ媒体の第１のメモリ領域を空にするステップと、パッシブなメモリ媒体の第２のメモリ領域メモリ領域からアクティブなメモリ媒体の空になった第１のメモリ領域に第２のデータパケットをコピーするステップと、第２のメモリ領域から第２のデータパケットを削除することによって、パッシブなメモリ媒体の第２のメモリ領域を空にするステップを含む。この方法は、実行可能な第１のプログラムコードの全ての第１のデータパケットがパッシブなメモリ媒体に格納され、実行可能な第２のプログラムコードの全ての第２のデータパケットがアクティブなメモリ媒体に格納されるまで、前述のステップを繰返し行うことを含み、あらかじめ空にした、および／または空いているメモリ領域への第１または第２のデータパケットのコピーをそれぞれ行う。
【０００３】
アクティブおよび／またはパッシブなメモリ媒体は、例えば、いわゆる「フラッシュバンク」として理解されるべきであり、このフラッシュバンクは、例えば、２Ｍバイトのデータを保存することができ、他のメモリサイズも可能である。アクティブおよび／またはパッシブなメモリ媒体は、それぞれデータのサブセットを保存するメモリ領域から構成されている。メモリ領域は、例えば３２Ｋバイトのデータを保存する。アクティブなメモリ媒体は、例えば、機械的および／または電子的ユニットを作動するためのプロセッサに関連して実行することができるようなプログラムコードを含むメモリ媒体として理解されるべきである。パッシブなメモリ媒体は、例えば、プロセッサに接続されていない、および／またはプログラムコードを保存するためにのみ使用されるメモリ媒体と理解されるべきである。メモリ領域を空にすることは、メモリ領域に含まれる全てのデータを削除することと理解されるべきである。
【０００４】
本発明による方法は、使用されるメモリ媒体に新しいプログラムコードを保存することができる前にプログラムコードが保存されるという利点を有する。さらに、本発明による方法は、新しいプログラムコードに交換し、古いプログラムコードを保存するために、ほぼ同じ大きさの２つのメモリ媒体だけで十分であるという利点を有する。本発明による方法のさらなる利点は、いずれの時点においても第１のプログラムコードおよび第２のプログラムコードの両方が提供されており、したがって、第１および第２のプログラムコードの交換が予期せず中断された場合であっても交換を継続し、かつ／または必要に応じて取り消すことができることである。これにより、交換は障害に対して特にロバストである。
【０００５】
好ましくは、アクティブなメモリ媒体およびパッシブなメモリ媒体が、車両を運転するように構成された制御器に含まれ、方法は、制御器によって車両を運転するための第１のプログラムコードと、制御器によって車両を運転するための第２のプログラムコードとを交換するように構成されており、方法は、特に、制御器が車両を運転するために一時的に使用されない場合に実施される。
【０００６】
好ましくは、交換後に第２のプログラムコードの妥当性を検査するステップが設けられており、妥当性検査が失敗した場合には交換の取消しが行われ、特に本発明による方法にしたがって交換の取消しが行われる。
【０００７】
本発明による制御器は、アクティブなメモリ媒体を備え、このアクティブなメモリ媒体は複数の第１のメモリ領域を備え、アクティブなメモリ媒体はデータパケットの形式で制御器を作動するための実行可能な第１のプログラムコードを備え、それぞれの第１のデータパケットがそれぞれ第１のメモリ領域に保存されている。さらに制御器はパッシブなメモリ媒体を備え、このパッシブなメモリ媒体は複数の第２のメモリ領域を備え、パッシブなメモリ媒体は第２のデータパケットの形式で制御器を作動するための実行可能な第２のプログラムコードを備え、それぞれの第２のデータパケットはそれぞれ第２のメモリ領域に保存されており、パッシブなメモリ要素が少なくとも１つの空いているメモリ領域を備える。さらに制御器は、本発明による方法に基づいて第１のプログラムコードと第２のプログラムコードとを交換するように構成されたデータパケット制御ユニットを備える。さらに制御器は、実行ユニットであって、アクティブなメモリ媒体にそれぞれ含まれるプログラムコードによって制御器の作動を実行するように構成された実行ユニットを備える。
【０００８】
このことは、データパケット制御ユニットによって、実行可能な第１のプログラムコードと実行可能な第２のプログラムコードとの間の交換を、実行可能な２つのプログラムコードのそれぞれいずれかをあらかじめ完全に一時保存し、削除する必要なしに、ロバストで安全な方法で行うことができるという利点を示す。これにより、制御器内の付加的なメモリユニット、ひいては最終的にスペースおよび費用が節約される。
【０００９】
好ましくは、制御器は、第１および／または第２のプログラムコードを送信および／または受信するように構成されたインターフェースを備える。これは、例えば、制御器が外部の送信および／または受信ユニットに接続されており、外部の送信および／または受信ユニットが、例えば無線で、第１および／または第２のプログラムコードをデータ値として送信および／または受信することができることと理解される。送信および／または受信されたデータ値は、インターフェースと外部インターフェースとの間で、例えばケーブルによって伝送される。
【００１０】
このことは、実行可能な第１および／または第２のプログラムコードを「無線で」、すなわち、ケーブルなしに、任意のソース（クラウド、サーバなど）から制御器に伝送することができるという利点を示す。このようにして、例えば、実行可能な第２のプログラムコードを、既に組み込まれている制御器を作動するために必要な実行可能な第１のプログラムコードのアップデートとして制御器に送信することができる。
【００１１】
好ましくは、制御器は車両に含まれる。さらに制御器は、第１および／または第２プログラムコードよって車両を運転するように構成されている。
【００１２】
特に（道路走行）車両では、運転者支援機能および／または安全強化機能および／または他の機能を連続的に実行する制御器がますます必要とされている。このために使用される実行可能なプログラムコードは、常に更新および／または交換する必要があることはますます不可避的である。更新されたプログラムコードは、「無線で」、すなわちケーブルなしに、任意のソース（クラウド、サーバなど）から制御ユニットに伝送することができる。例えば、制御器が車両に含まれる場合、プログラムコードの交換は作業場の外部で行うことができ、成功または失敗した交換の後に車両の安全性および機能性が損なわれることはない。この場合、特にデータパケット制御ユニットを含む本発明による制御器は、既に述べた実施形態に基づいて極めて有利である。
【００１３】
好ましくは、制御器は、車両が第１および／または第２のプログラムコードに依存して制御器によって運転されるかどうかを検出する検出ユニットを含み、データパケット制御ユニットは、車両が第１および／または第２のプログラムコードに依存して制御器によって運転されない場合にのみ、第１のプログラムコードおよび第２のプログラムコードの交換を行う。
【００１４】
このことは、車両が制御器をアクティブに使用していない場合にのみ、実行可能な第１のプログラムコードと実行可能な第２のプログラムコードとの交換が行われるという利点を示す。これは、例えば、車両が移動していないか、または駐車されている場合に特に当てはまる。これにより、制御器が使用されていないことに基づいて、車両および／または車両の乗員の安全上の危険が生じることがないことが保証される。
【００１５】
好ましくは、制御器は、交換後に第２のプログラムコードの妥当性検査を実行するように構成された妥当性検査ユニットを備え、妥当性検査が失敗した場合には、データパケット制御ユニットによって交換の取消しが行われる。
【００１６】
このことは、制御器の信頼性を有利に高める。
【００１７】
制御器は、制御器を作動するために必要であるが、実際の発明に関して、関連性が欠如していることに基づいてさらに記載および説明しないさらなる構成要素を明示的に含むことができる。
【００１８】
本発明の有利な構成が従属請求項に示され、説明に記載されている。
【００１９】
本発明の例示的な実施形態を図面に示し、以下の説明に詳述する。
【図面の簡単な説明】
【００２０】
【図１】本発明による制御器の概略的な実施形態を示す図である。
【図２】本発明による方法の概略的な実施形態を示す図である。
【図３】本発明による方法の実施形態を示すフロー図である。
【発明を実施するための形態】
【００２１】
図１は、アクティブなメモリ媒体１１０と、パッシブなメモリ媒体１２０と、データパケット制御ユニット１３０と、実行ユニット１４０とを含む本発明による制御器１００の概略図を示す。代替的な実施形態では、制御器１００は、さらにインターフェース１５０および／または検出ユニット１６０および／または妥当性検査ユニット１７０を含む。さらに制御装置１００は、個々の構成要素（１１０、１２０、１３０、１４０、１５０、１６０、１７０）間でデータおよび／または信号を伝送するように構成された伝送装置（ここでは点線による接続として示されている）を備える。
【００２２】
アクティブなメモリ媒体１１０は複数の第１のメモリ領域１１１を備え、アクティブなメモリ媒体１１０は、第１のデータパケットの形式で制御器１００を作動するための実行可能な第１のプログラムコードを備え、それぞれの第１のデータパケットはそれぞれ第１のメモリ領域１１に保存されている。
【００２３】
パッシブなメモリ媒体１２０は複数の第２のメモリ領域１２１を含み、パッシブなメモリ媒体１２０は、第２のデータパケットの形式で制御器１００を作動するための実行可能な第２のプログラムコードを備え、それぞれの第２のデータパケットはそれぞれ第２のメモリ領域１２１に保存されている。さらに、パッシブなメモリ媒体１２０は、少なくとも１つの空いているメモリ領域１２２を含む。
【００２４】
データパケット制御ユニット１３０は、本発明による方法３００に基づいて第１のプログラムコードおよび第２のプログラムコードを交換するように構成されている。このために、データパケット制御部１３０は、例えば、プロセッサ、メインメモリ、およびこれを制御するように構成された適切なソフトウェアを備える。
【００２５】
実行ユニット１４０は、それぞれアクティブなメモリ媒体１１０に含まれるプログラムコードによって制御器１００を作動するように構成されている。このために、実行ユニットは、例えば、プロセッサ、メインメモリ、および適切なソフトウェアを備え、ソフトウェアは、実行された第１または第２のプログラムコードに基づいて信号を生成し、機械および／または電子ユニットを作動するために使用することができるように、適切なインターフェースによってこの信号を供給する。
【００２６】
インターフェース１５０は、第１および／または第２のプログラムコードを送信および／または受信するように構成されている。このために、インターフェース１５０は、それ自体が送信および／または受信ユニットを備えるか、または制御器１００に含まれない送信および／または受信ユニットにケーブルによって接続されている。
【００２７】
検出ユニット１６０は、車両が第１および／または第２のプログラムコードに依存して制御器１００によって運転されるかどうかを検出するように構成されている。このために、検出ユニット１６０は、例えば、プロセッサ、メインメモリ、およびこれを検出するように構成された適切なソフトウェアを備える。
【００２８】
妥当性検査ユニット１７０は、第２のプログラムコードの妥当性検査３６０を交換後に行うように構成されている。このために、妥当性検査ユニット１７０は、例えば、プロセッサ、メインメモリ、および妥当性を検査するように構成された適切なソフトウェアを備える。
【００２９】
図２は、実行可能な第１のプログラムコードおよび実行可能な第２のプログラムコードを交換するための本発明による方法３００の概略図を示す。実行可能な第１のプログラムコードは、第１のデータパケットの形式でアクティブなメモリ媒体１１０に格納されており、アクティブなメモリ媒体１１０は複数の第１のメモリ領域１１１を備え、それぞれの第１のデータパケットは、それぞれ第１のメモリ領域１１１に保存されている。実行可能な第２のプログラムコードは、第２のデータパケットの形式でパッシブなメモリ媒体１２０に格納されており、パッシブなメモリ媒体１２０は複数の第２のメモリ領域１２１を備え、それぞれの第２のデータパケットはそれぞれ第２のメモリ領域１２１に保存されており、パッシブなメモリ要素は少なくとも１つの空いているメモリ領域１２２を備える。
【００３０】
第１のステップＳ１では、アクティブなメモリ媒体１１０の第１のメモリ領域１１１から、パッシブなメモリ媒体１２０の少なくとも１つの空いているメモリ領域１２２へ第１のデータパケットのコピー３１０が行われる。
【００３１】
ステップＳ１′（図２には示されていない）において、１つの第１のメモリ領域１１１から１つの第１のデータパケットを削除することによって、アクティブなメモリ媒体１１０の１つの第１のメモリ領域１１１を空にする（３２０）。
【００３２】
ステップＳ２において、パッシブなメモリ媒体１２０の第２のメモリ領域１２１からアクティブなメモリ媒体１１０の空にした第１のメモリ領域１１１への第２のデータパケットのコピー３３０を行う。
【００３３】
ステップＳ２′（図２には示していない）において、第２のデータパケットを第２のメモリセクタ１２１から削除することによって、パッシブなメモリ媒体１２０の１つの第２のメモリ領域１２１を空にする（３４０）。
【００３４】
実行可能な第１のプログラムコードの全ての第１のデータパケットがパッシブなメモリ媒体１２０に格納され、実行可能な第２のプログラムコードの全ての第２のデータパケットがアクティブなメモリ媒体１１０に格納されるまで、前述のステップ３１０〜３４０（ここでは、Ｓ３、Ｓ４などであり、全ての中間ステップＳ３′、Ｓ４′などは図２に示されていない）を繰返し実行し（３５０）、あらかじめ空にした、および／または空いているメモリ領域１１１、１２１、１２２への第１または第２のデータパケットのコピー３１０、３３０を行う。
【００３５】
図３は、ここでは例として車両の制御器１００と仮定する制御器１００における実行可能な第１のプログラムコードと実行可能な第２のプログラムコードとを交換する方法３００の例示的な実施形態を示す。
【００３６】
ステップ３０１で方法３００を開始する。これは、例えば、インターフェース１５０によって実行可能な第２のプログラムコードを受信し、あらかじめ空にしたパッシブなメモリ媒体１２０に保存することによって行われる。一実施形態では、代替的にまたは追加的に、実行可能な第１のプログラムコードおよび実行可能な第２のプログラムコードを制御器１００で交換することができるかどうかが検出ユニット１６０によってあらかじめ検出される。（例えば、実行可能な２つプログラムコードのうちの一方がアクティブに実行されているので）交換を行うことができない場合には、方法３００は開始されない。そうでない場合には、この方法が開始され、ステップ３１０に進む。
【００３７】
ステップ３１０において、第１のデータパケットが、アクティブなメモリ記憶媒体１１０の第１のメモリ領域１１１からパッシブなメモリ媒体１２０の少なくとも１つの空いているメモリ領域１２２にコピーされる。
【００３８】
ステップ３２０では、第１のメモリ領域１から第１のデータパケットを削除することによって、アクティブなメモリ媒体１１０の第１のメモリ媒体１１１を空にする。
【００３９】
ステップ３３０では、パッシブなメモリ媒体１２０の第２のメモリ領域１２１から、アクティブなメモリ媒体１１０の空になった第１のメモリ領域１１１に第２のデータパケットをコピーする。
【００４０】
ステップ３４０では、第２のデータパケットを第２のメモリ領域から削除することによって、パッシブなメモリ媒体１２０の１つの第２のメモリ領域１２１を空にする。
【００４１】
ステップ３１０、３２０、３３０および３４０を初めて行った後に、実行可能な第１のプログラムコードの全ての第１のデータパケットがパッシブなメモリ媒体１２０に格納され、実行可能な第２のプログラムコードの全ての第２のデータパケットがアクティブなメモリ媒体１１０に格納されるまで、前述のステップ３１０、３２０、３３０および３４０を繰返し行う（３５０）。
【００４２】
１つの可能な実施形態では、次にステップ３６０を行い、交換後に第２のプログラムコードを妥当性検査する。これは、例えば、一方では、実行可能な第２のプログラムコードがその完全性について検査され、および／または他方では、制御器の残りの部分との互換性について検査され、および／または他方では、車両内の他のプログラムコードとの互換性について検査されることを意味する。実行可能な第２のプログラムコードが妥当であると判定された場合には、続いてステップ３８０に進む。そうでなければ、ステップ３７０が続く。
【００４３】
ステップ３７０では、実行可能な第２のプログラムコードの全ての第２のデータパケットがパッシブなメモリ媒体１２０に格納され、実行可能な第１のプログラムコードの全ての第１のデータパケットが再びアクティブなメモリ媒体１１０に、特に実行可能な第１のプログラムコードの実行するために正しい順序で格納されるまで、ステップ３１０、３２０、および３３０を繰り返すことによって交換が取り消される。
【００４４】
方法３００はステップ３８０で終了する。
【図１】
2021524633.tif 000003
【図２】
2021524633.tif 000004
【図３】
2021524633.tif 000005
【国際調査報告】
2021524633.tif 000006
2021524633.tif 000007
2021524633.tif 000008
2021524633.tif 000009