JP7204443B2 - VEHICLE CONTROL DEVICE AND PROGRAM EXECUTION METHOD - Google Patents
VEHICLE CONTROL DEVICE AND PROGRAM EXECUTION METHOD Download PDFInfo
- Publication number
- JP7204443B2 JP7204443B2 JP2018218919A JP2018218919A JP7204443B2 JP 7204443 B2 JP7204443 B2 JP 7204443B2 JP 2018218919 A JP2018218919 A JP 2018218919A JP 2018218919 A JP2018218919 A JP 2018218919A JP 7204443 B2 JP7204443 B2 JP 7204443B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- module
- cores
- application software
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Microcomputers (AREA)
Description
本発明は、マルチコアマイクロプロセッサを搭載する車両制御装置、およびかかる車両制御装置におけるプログラム実行方法に関する。 The present invention relates to a vehicle control device equipped with a multi-core microprocessor and a program execution method in such a vehicle control device.
車載ECU(Electronic Control Unit)ソフトウェアにおいて、法規等で定められた車載自己診断要求など、共通で必要となる機能に対して標準化が進められ、プラットフォームのソフトウェア部品として機能が提供されている。例えば、車載向け標準ソフトウェアのプラットフォームであるAUTOSAR(AUTomotive Open System ARchitecture)では、診断情報管理部としてDEM(Diagnosis Event Manager)と呼ばれるソフトウェア部品が提供されている。 In the in-vehicle ECU (Electronic Control Unit) software, standardization of commonly required functions, such as in-vehicle self-diagnosis requirements stipulated by laws and regulations, is being promoted, and the functions are provided as platform software components. For example, AUTOSAR (AUTomotive Open System ARchitecture), which is a platform for vehicle standard software, provides a software component called DEM (Diagnosis Event Manager) as a diagnostic information management section.
しかしながら、車載ECUで求められる安全、燃費、排気といった各種性能向上の実現のため、ソフトウェア部品の肥大化、複雑化が進んでいる。その対処方法の1つとして、複数のプロセッサを有するマルチコアマイクロプロセッサ(以下、マルチコアマイコンという)を採用することにより、トータルの演算性能を高めることができる。 However, in order to realize various performance improvements such as safety, fuel efficiency, and exhaust emissions required for in-vehicle ECUs, software components are becoming larger and more complex. As one of the countermeasures, a multi-core microprocessor having a plurality of processors (hereinafter referred to as a multi-core microcomputer) can be adopted to improve the total arithmetic performance.
マルチコアマイコンを利用するためには、どのコアでどの機能を演算させるかという機能のコア割付を管理する必要がある。多くのコアが搭載されたマルチコアマイコンではコア割付の管理に限界があり、並列化コンパイラを利用し、自動的にコア割付を行う技術が適用され始めている。 In order to use a multi-core microcomputer, it is necessary to manage core allocation of functions, which functions are operated by which cores. In multi-core microcomputers with many cores, there is a limit to the management of core allocation, and techniques for automatically allocating cores using a parallelizing compiler have begun to be applied.
プラットフォームのソフトウェア部品を利用するアプリケーションソフトウェアは、通常、ソフトウェア部品が提供するAPI(Application Programming Interface)を介して機能の利用を行う。このAPIがマルチコアマイコンの各コアから同時に利用されると、データの競合が発生するため、API呼び出しの競合を回避するための仕組みが必要である。API呼び出しの競合あるいはデータの競合の回避に伴う問題点について、アプリケーションソフトウェアの診断モジュールが、プラットフォームのソフトウェア部品である診断情報管理部を、APIを用いて利用する場合を例として説明する。 Application software that uses software components of the platform normally uses functions via APIs (Application Programming Interfaces) provided by the software components. When this API is used simultaneously from each core of a multi-core microcomputer, data contention occurs, so a mechanism for avoiding API call contention is required. Problems associated with avoiding API call conflicts or data conflicts will be described by taking as an example a case where a diagnostic module of application software uses a diagnostic information manager, which is a software component of the platform, using APIs.
図1は、複数のコア1-1~nからAPI呼び出しによる競合を避けるための車両制御装置の実装の一例である。この構成は、プラットフォームの診断情報管理部12を利用するアプリケーションソフトウェア中のすべての診断モジュール11を一つのコア(この例ではコア1-1)からアクセスされるようにコア割付を行い、診断情報管理部12の処理が単一のコアで完結する構成である。この構成であればコア1-1以外のコアからAPIが呼び出されることがなく、データの競合が抑止できる。しかしながら、開発が進み、新たな診断モジュールを追加したい場合が生じた場合にも、既に診断モジュール11が割り付けられているコア1-1に割り付けなければならないという制約が発生してしまう。
FIG. 1 is an example of implementation of a vehicle control device for avoiding contention due to API calls from a plurality of cores 1-1 to n. In this configuration, all
図2は実装の別の例であり、1つのコア1-i(i=1~nの任意の数)に対して、1つの診断情報管理部12-iを割り当てる。この構成では、各コアにおいて共通のAPIを呼び出すことが可能であるが、同じソフトウェア部品(診断情報管理部)12-iをそれぞれのコアに実装する必要があるため、ソフトウェアを格納するROM(Read Only Memory)の使用量が増大するという課題が生じる。また、各コアの診断情報管理部12-iはコア共用RAM3に書き込みを行う際、データ競合を抑止するために、例えば、特許文献1に記載されているようなデータのバリア同期をとる必要があり、これにより、処理が遅延するおそれがある。
FIG. 2 shows another example of implementation, in which one diagnostic information manager 12-i is assigned to one core 1-i (i=any number from 1 to n). In this configuration, it is possible to call a common API in each core. Only Memory) usage increases. Further, when the diagnostic information management unit 12-i of each core writes to the core-shared
図3は実装のさらに別の例であり、特許文献2に記載の、1つのコア(ここではコア1-1)配下にあるソフトウェア部品12を、当該コア1-1及び他のコア1-j(j=2~nの任意の数)から直接操作する構成例である。この構成では、ROMの使用量をおさえることが可能であるが、他のコア配下のAPIを呼び出す際に同時に実行されないよう、コア間の調停、例えば、先に実行されている処理を優先し、後から実行する側はその処理の完了まで待つ、などの対応が必要となるため、図2の構成と同様に処理の遅延は避けられない。
FIG. 3 is yet another example of implementation, in which
車両制御装置では、マルチコアマイコンの各コアの定時タスクの処理があらかじめ定められた期間(サイクル周期)内に完了することを保証することが求められる。例えば、サイクル周期が10msと定められているならば、各コアが実行するあるサイクルでの定時タスクの処理は10ms以内に完了し、次のサイクルでのタスクが開始できる状態になっていなければならない。10ms毎に実行される定時タスクの処理に10ms以上を要してしまうと、次回のサイクルでは定時タスクを正しく実行できなくなり、システムが破綻してしまう。そのため、定時タスクに要する時間がサイクル周期よりも小さくなるよう、タスク設計を行う必要がある。例えば、サイクル周期が10msであり、タスクが完了する時間が7ms時点であるとすると、残り3msはアイドル時間として、次の10msタスクが開始されるまでの待ち時間とできるので、定時タスクの余裕度の指標として管理可能である。 A vehicle control device is required to guarantee that the processing of a scheduled task of each core of a multi-core microcomputer is completed within a predetermined period (cycle period). For example, if the cycle period is defined as 10 ms, the processing of the scheduled task in one cycle executed by each core must be completed within 10 ms, and the task in the next cycle must be ready to start. . If it takes 10 ms or more to process a scheduled task that is executed every 10 ms, the scheduled task cannot be executed correctly in the next cycle, resulting in system failure. Therefore, it is necessary to design tasks so that the time required for scheduled tasks is shorter than the cycle period. For example, if the cycle period is 10 ms and the time to complete the task is 7 ms, the remaining 3 ms can be used as idle time until the next 10 ms task is started. can be managed as an indicator of
しかしながら、API呼び出しの競合、あるいはデータ競合が生じる場合には、調停のために大きなオーバーヘッドが生じる可能性があり、並列化によりトータルの演算性能を高めるという効果を十分に活用することができない。 However, if API call competition or data competition occurs, there is a possibility that a large overhead will occur due to arbitration, and the effect of increasing the total computational performance by parallelization cannot be fully utilized.
本発明の一実施態様である車両制御装置は、第1のコアを含む複数のコアと複数のコアから読み書き可能なメモリとを有するマイクロプロセッサを有し、マイクロプロセッサにより、ソフトウェアプラットフォームから提供されるソフトウェア部品を利用するアプリケーションソフトウェアが実行される車両制御装置であって、複数のコアは、アプリケーションソフトウェアのモジュールとモジュールからのソフトウェア部品のAPI呼出しを受け付ける要求受付部とを備え、第1のコアは、ソフトウェア部品と、ソフトウェア部品に、アプリケーションソフトウェアの処理結果をメモリの所定領域に書き込む第1の処理を実行させる第1のAPI呼出しを行う要求処理部とを備え、複数のコアの要求受付部は、モジュールから第1のAPI呼出しを受けて、モジュールの処理結果を格納時間情報とともにコアごとに割り当てられたメモリのバッファ領域に書き込み、第1のコアの要求処理部は、第1のAPI呼出しを行い、コアごとに割り当てられたメモリのバッファ領域に書き込まれたモジュールの処理結果を格納時間情報に基づき、時系列にメモリの所定領域に書き込む。 A vehicle control device according to one embodiment of the present invention has a microprocessor having a plurality of cores including a first core and a memory readable and writable from the plurality of cores, and provided by the microprocessor from a software platform. A vehicle control device in which application software using software components is executed, wherein the plurality of cores includes application software modules and a request receiving unit that receives API calls for software components from the modules; , a software component, and a request processing unit that performs a first API call to cause the software component to execute a first process of writing the processing result of the application software to a predetermined area of a memory, and the request receiving units of the plurality of cores: , receives the first API call from the module, writes the processing result of the module together with the storage time information into the buffer area of the memory allocated to each core, and the request processing unit of the first core receives the first API call. Then , based on the storage time information, the processing results of the modules written in the buffer area of the memory assigned to each core are written in a predetermined area of the memory in chronological order .
複数のコアに搭載されたアプリケーションソフトウェアのモジュールが、プラットフォームのAPIを複数のコアから利用する際、ROM使用量、演算負荷、応答性等の面で、トレードオフのバランスが取れた処理を実施できる。 When application software modules installed on multiple cores use platform APIs from multiple cores, it is possible to perform processing with a balance of trade-offs in terms of ROM usage, calculation load, responsiveness, etc. .
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 Other problems and novel features will become apparent from the description of the specification and the accompanying drawings.
以下、添付された図面を参照し、本発明を実施するための実施の形態について説明する。ここでは、アプリケーションソフトウェアの診断モジュールが、プラットフォームの診断情報管理部のAPIを利用する場合を例にとって説明する。具体的には、プラットフォームの診断情報処理部は、AUTOSARのソフトウェア部品であるDEMを想定している。 Embodiments for carrying out the present invention will be described below with reference to the attached drawings. Here, a case where the diagnostic module of the application software uses the API of the diagnostic information management section of the platform will be described as an example. Specifically, the diagnostic information processing unit of the platform is assumed to be DEM, which is a software component of AUTOSAR.
図4は、実施例1に係るマルチコアマイコンを適用した車両制御装置のシステム構成例である。本実施例の車両制御装置5は複数のコア1-1~nと、各コア1-1~nからアクセス可能なコア共用RAM(Random Access Memory)3と、不揮発メモリ4とを備える。なお、各コアは図示しないメモリに格納された命令を実行するための演算器やタイマ管理器などを有しており、それぞれが特定の機能にかかわる処理を実行する。
FIG. 4 is a system configuration example of a vehicle control device to which the multi-core microcomputer according to the first embodiment is applied. A
各コアは、命令を実行することにより機能する機能ブロックを含んでいる。この例では、コア1-i(i=1~nの任意の数)は、汎用入力回路や出力回路の故障を検出する診断モジュール11-i、及び要求受付部13-iを備えている。要求受付部13-iは、当該コア1-iの診断モジュール11-iからのコア共用RAM3の共通診断情報領域31に格納された診断結果の参照要求や、診断モジュール11-iが実施した診断結果をコア共用RAM3に書き込む書込み要求を受け付ける。コア1-1は、それらに加えて、共通診断情報領域31への診断結果の書込み要求を行う書込み要求処理部14、AUTOSARのDEMに相当する診断情報管理部12を備える。本システム構成において、書込み要求処理部14及び診断情報管理部12を備えているのはコア1-1のみである。
Each core contains functional blocks that function by executing instructions. In this example, a core 1-i (where i is any number from 1 to n) includes a diagnostic module 11-i for detecting failures in general-purpose input circuits and output circuits, and a request reception unit 13-i. The request receiving unit 13-i receives a reference request for the diagnostic result stored in the common
コア共有RAM3は、コア1-1~nより読み書き可能となっている。コア共有RAM3にはコア毎の要求受付部13-iから書込み要求のなされた診断結果を一時的に格納するバッファ領域32-iと、診断モジュール11-i~nの診断結果を格納する共通診断情報領域31とを含む。共通診断情報領域31は、後述するように、バッファ領域32-1~nに書き込まれた診断モジュール11-1~nの診断結果が最終的に書き込まれるコア共有RAM3の領域である。ただし、共通診断情報領域31の一部のデータは、その重要度にしたがって、不揮発メモリ4にも格納される。
The core shared
各コアの診断モジュール11-iの診断結果はDEMのAPI名を使用して、同じコアの要求受付部13-iに渡される。DEMのAPIには読出し用API及び書込み用APIの2種類が用意されており、要求受付部13-iは受け取ったAPIに応じて既定の処理を実施する。 The diagnosis result of the diagnosis module 11-i of each core is passed to the request receiving unit 13-i of the same core using the DEM API name. Two kinds of DEM APIs, a read API and a write API, are prepared, and the request receiving unit 13-i performs predetermined processing according to the received API.
図6は、各コアの要求受付部13-iが実行する要求受付処理の流れを示すフローチャートである。本フローは前述のように当該コアの診断モジュール11-iからのAPI呼び出しにより、当該コアにおいて実行される。 FIG. 6 is a flow chart showing the flow of request reception processing executed by the request reception unit 13-i of each core. As described above, this flow is executed in the relevant core by an API call from the diagnostic module 11-i of the relevant core.
まず、受付処理(S101)を行った要求が読出し要求の場合(S102でNO)、コア共有RAM3に直接アクセスし、共通診断情報領域31から所望の診断結果を取得し、診断モジュール11-iに応答する(S103)。読出しに関しては、コア間での調停が必要ないため、要求された診断結果を診断モジュール11-iに応答してフローを終了する。このときの各コアの要求受付部13-iとコア共用RAM3との情報のやり取りは、図4の一点鎖線によって示されている。
First, if the request for which the acceptance process (S101) is performed is a read request (NO in S102), the core shared
一方、受付処理(S101)を行った要求が書込み要求の場合(S102でYES)、要求受付部13-iは処理状況を格納するコア共有RAM3内のバッファ領域32-iを特定するために必要な、呼び出しを実行したコア(すなわち、自コア)情報(S104)、及び診断モジュール11-iに呼び出されたときの格納時期情報(S105)を取得する。S105は、法規制で診断結果を発生順に保存するよう求められており、その要求を遵守するために行われる。格納時期情報の取得は、例えばタイマ管理器より提供されるフリーランタイマ値をキャプチャすることで行うことができる。
On the other hand, if the request subjected to the reception process (S101) is a write request (YES in S102), the request reception unit 13-i needs to specify the buffer area 32-i in the core shared
そして、コア共有RAM3におけるバッファ領域32-iに、診断モジュール11-iから書き込み要求のあった診断結果を書込み(S106)、フローを終了する(S107)。このときの各コアの要求受付部13-iとコア共用RAM3との情報のやり取りは、図4の破線によって示されている。
Then, the diagnostic result requested by the diagnostic module 11-i is written in the buffer area 32-i in the core-shared RAM 3 (S106), and the flow ends (S107). The exchange of information between the request receiving unit 13-i of each core and the core-shared
図5に、要求受付部13-iからコア共有RAM3のバッファ領域32-iに書き込まれるデータ構造の一例を示す。診断モジュール11-iが書込み要求を行う一単位が診断結果70であり、診断結果70には、判定結果とともに、不良解析等のため当該判定結果が生じたときの付加的な情報が含まれている。診断ID71は、診断内容を一意に特定するため、診断モジュール11が実行する診断に割り当てられた識別情報である。判定結果72は、当該診断を実行した結果であり、故障判定、異常なし判定の双方を含む。環境情報73は、診断を実行したときの環境データである。環境データには、例えば、診断を行ったときの車速等の車両データや外気温等の周辺環境データが含まれる。格納時期情報74は、診断実行時期を示すタイムスタンプである。例えば、図6のフローチャートにおけるS105で取得したフリーランタイマ値である。
FIG. 5 shows an example of a data structure written to the buffer area 32-i of the core shared
また、同じサイクルにおいて、要求受付部13-iから複数の診断結果70について書込み要求が発生する場合がある。要求受付部13-iからの1サイクルにおける書込み要求数75が、バッファ領域32-iに記録される。すなわち、各コアの定時タスクが終了した時点で、バッファ領域32-iには、書込み要求数75に相当する数の診断結果70が記憶されている。
Also, in the same cycle, a request to write a plurality of
本実施例のシステム構成では、要求受付部13-iにてコア共用RAM3のバッファ領域32-iに格納された診断結果は、コア1-1の書込み要求処理部14によって診断情報管理部12に引き渡される。図7は、書き込み要求処理部14が診断情報管理部12に通知する書込み要求処理の流れを示すフローチャートである。本処理は各サイクルにおける書込み要求処理部14の定時タスクとして周期的に実行することとするが、コアの処理終了などをトリガとする割込み処理で行うことも可能である。
In the system configuration of this embodiment, the diagnostic result stored in the buffer area 32-i of the core shared
書込み要求処理部14では、まずコア1-1~nの処理の終了を監視する(S202)。全てのコアの処理が終了していない場合には(S202でNO)、書込み要求処理を行うことなくフローを終了する(S211)。例えば、コア毎の診断処理の終了を示すフラグ記憶領域をコア共用RAM3内に設け、各コアの診断モジュール11-iが定時タスクを終了すると当該フラグ記憶領域に終了フラグを記憶させる。書込み要求処理部14は各コア1-1~nの終了フラグを読み取ることにより、各コアの診断モジュール11-iの定時タスクの終了を監視することができる。
The write
全てのコア1-1~nの定時タスクの終了が確認されると、書込み要求処理を開始する(S202でYES)。まず各コアからの書込み要求数(図5を参照)を取得し、書込み総数を確認する(S203)。その後、共通診断情報領域31への書込み順番を決定するため、バッファ領域32-1~nに格納された各診断結果70の格納時期情報74の情報を取得し(S204)、格納時期の早い順に診断結果70をソートする(S205)。ソート完了後は(S206でYES)、その順に従って診断結果70をバッファ領域32-1~nより読出し(S207)、診断情報管理部12に書込み用APIを用いて書込み要求を通知する(S208)。
When it is confirmed that the scheduled tasks of all the cores 1-1 to n have been completed, write request processing is started (YES in S202). First, the number of write requests from each core (see FIG. 5) is acquired, and the total number of writes is confirmed (S203). After that, in order to determine the order of writing to the common
要求総数分の書込み処理要求回数を確認し(S209)、要求総数の書込み処理が完了(S209でYES)した後に、バッファ領域32-1~n内の診断結果を削除し(S210)、フローを終了する(S211)。 After confirming the number of write processing requests for the total number of requests (S209) and completing the write processing for the total number of requests (YES in S209), the diagnostic results in the buffer areas 32-1 to 32-n are deleted (S210), and the flow is resumed. End (S211).
図8は書込み要求処理部14からの書込み用APIにて呼び出された診断情報管理部12が実行する診断情報管理処理の流れを示すフローチャートである。書込み用APIの引数として渡された診断結果を受け付け(S302)、コア共用RAM3内の共通診断情報領域31を更新する(S303)。また、診断の種類によっては不揮発メモリ4の更新が必要となる。更新対象の場合、不揮発メモリ4のデータ(診断結果)を更新し(S304,S305)、フローを終了する。
FIG. 8 is a flow chart showing the flow of diagnostic information management processing executed by the diagnostic
このように本実施例では、コア共用RAM3の共通診断情報領域31への書込み及び、不揮発メモリ4へのアクセスにかかわる処理は、コア1-1に一本化して行うため、複数のコアが同時に共通診断情報領域31にアクセスすることによって干渉が生じるのを、確実に回避することができる。
As described above, in the present embodiment, the processing related to writing to the common
図9、図10を用いて本実施例のシステムの効果を説明する。図9は比較例として図2に示すシステム構成でのタイムチャート、図10は本実施例である図4に示すシステム構成でのタイムチャートである。いずれの場合も、各コアは定時タスクとして複数の診断処理を行っている。この例ではコア1は診断1-1~3を、コア2は診断2-1~3を、コアnは診断n-1~2を、1サイクル時間において実行している。各診断処理はサイクルごとに常に判定まで達するわけではなく、判定に達した場合のみコア共用RAM3への書込み要求がなされる。この例では、タスクNにおいては診断1-1、診断2-2が、タスク(N+1)においては診断1-3、診断2-3、診断n-2が判定に達し、診断結果をコア共用RAM3に書き込む必要が生じている。このように、定時タスクにおける書込み要求の発生タイミングについてはあらかじめ予見することができない。
The effects of the system of this embodiment will be described with reference to FIGS. 9 and 10. FIG. FIG. 9 is a time chart for the system configuration shown in FIG. 2 as a comparative example, and FIG. 10 is a time chart for the system configuration shown in FIG. 4 of this embodiment. In either case, each core performs multiple diagnostic processes as scheduled tasks. In this example,
比較例(図9)の場合、タスクNにおいては、各コアから発生する書込み要求のタイミングで遅滞なくそれぞれコア共用RAM3の共通診断情報領域31への書き込みに成功しているが、タスク(N+1)においては、各コアから発生する書込み要求のタイミングが干渉し、各コアからの書込み要求間で調停を行う必要が生じている。このため、タスクのサイクル時間を調停のためのオーバーヘッドを考慮して設定しなければシステムが破綻する。一方、本実施例(図10)の場合、コア共用RAM3の共通診断情報領域31への書き込みはすべてのコアの診断処理が終了した後に一括して更新を行うため、調停処理が不要となっている。したがって、共通診断情報領域31への書き込みに要する時間がとれるようにタスクのサイクル時間を設定することができ、サイクル時間をより短い時間に設定することが可能になる。
In the case of the comparative example (FIG. 9), task N succeeds in writing to the common
実施例2は、車両制御装置に搭載する診断モジュールのソフトウェアの開発に好適な形態である。実施例1では、車両制御装置に適用されるマルチコアマイコンの各コアに診断モジュール11と要求受付部13を実装したが、実施例2では、これらを、診断モジュールを開発する外部環境(例えば、PC(Personal Computer))に組み込んで使用する。なお、本実施例の構成要素のうち、実施例1との共通部分については同一の符号を付し、重複する説明は省略するものとする。
図11は、実施例2に係るマルチコアマイコンを適用した車両制御装置5と、コア1内の一部の処理を外部環境6上で動作する環境とを組み合わせた構成例である。車両制御装置5の構成は実施例1と同様である。この例では、コア1-1に外部環境6にて開発中の診断モジュール61にトリガをかけて実行させる試験用モジュール15が搭載されている。一方、外部環境6は、命令を実行することにより機能する機能ブロックとして、診断モジュール61と、診断モジュール61からの車両制御装置5のコア共用RAM3の共通診断情報領域31に格納された診断結果の参照要求や、診断モジュール61が実施した診断結果をコア共用RAM3に書き込む書込み要求を受け付ける要求受付部63とを備える。要求受付部63は各コア1-iの要求受付部13-iと同じ機能を有する。また、コア共用RAM3には、診断モジュール61の実行した診断結果を一時的に格納する外部環境用バッファ領域33が設けられる。
FIG. 11 is a configuration example in which a
これにより、外部環境6は車両制御装置5のマルチコアマイコンの各コアと同様に扱うことができる。要求受付部63が実行する要求受付処理の流れを示すフローチャートは図6に示される通りである。ただし、書込み要求の場合、処理状況を格納するコア共有RAM3内のバッファ領域32は、試験用モジュール15が搭載されたコアのバッファ領域となる。したがって、この場合はバッファ領域32-1に書き込まれることになる。そのため、外部環境6には、あらかじめ試験用モジュール15よりコア情報(この場合は、コア1-1の情報)が引き渡され、外部環境6で管理している。また、格納時期情報の取得(S105)は、例えば車両制御装置内のタイマ管理器より提供されるフリーランタイマ値をキャプチャすることにより行う。
Thereby, the
要求受付部にて格納された処理の状態は、書込み要求処理部を経由し診断情報管理部に引き渡される。書込み要求処理部では各コア処理の終了を監視する(S202)。全てのコアの処理が終了していない場合は、書込み要求処理を終了する。なお、外部環境の処理終了は試験用モジュールの配置されたコアの処理終了で判定することができる。 The processing status stored in the request receiving section is transferred to the diagnostic information managing section via the write request processing section. The write request processor monitors the end of each core process (S202). If the processing of all cores has not finished, the write request processing is terminated. The end of processing of the external environment can be determined by the end of processing of the core in which the test module is arranged.
書込み要求処理部14の処理、診断情報管理部12の処理は実施例1と同じであり、各コア1の診断モジュール11からの診断結果も外部環境6の診断モジュール61からの診断結果も区別なく扱われる。なお、この例では試験用モジュール15がコア1-1に搭載された例を示したが、任意のコアに搭載されていてもよい。この場合は、外部環境6の診断モジュール61からの診断結果は、試験用モジュール15が搭載されたコアに割り当てられたバッファ領域に一時的に書き込まれることになる。
The processing of the write
このように、車両制御装置を外部環境とを組み合わせた状態においても、APIの呼出しの競合、またはデータの競合を回避することができる。 In this way, API call conflicts or data conflicts can be avoided even when the vehicle control device is combined with the external environment.
1:コア、3:コア共有RAM、4:不揮発メモリ、5:車両制御装置、6:外部環境、11,61:診断モジュール、12:診断情報管理部、13,63:要求受付部、14:書込み要求処理部、15:試験用モジュール、31:共通診断情報領域、32:バッファ領域、70:診断結果、71:診断ID、72:判定結果、73:環境情報、74:格納時期情報、75:書込み要求数。 1: core, 3: core shared RAM, 4: non-volatile memory, 5: vehicle control device, 6: external environment, 11, 61: diagnostic module, 12: diagnostic information management section, 13, 63: request reception section, 14: Write request processing unit 15: test module 31: common diagnostic information area 32: buffer area 70: diagnostic result 71: diagnostic ID 72: judgment result 73: environment information 74: storage time information 75 : Number of write requests.
Claims (9)
複数の前記コアは、前記アプリケーションソフトウェアのモジュールと前記モジュールからの前記ソフトウェア部品のAPI呼出しを受け付ける要求受付部とを備え、
前記第1のコアは、前記ソフトウェア部品と、前記ソフトウェア部品に、前記アプリケーションソフトウェアの処理結果を前記メモリの所定領域に書き込む第1の処理を実行させる第1のAPI呼出しを行う要求処理部とを備え、
複数の前記コアの前記要求受付部は、前記モジュールから前記第1のAPI呼出しを受けて、前記モジュールの処理結果を格納時間情報とともに前記コアごとに割り当てられた前記メモリのバッファ領域に書き込み、
前記第1のコアの前記要求処理部は、前記第1のAPI呼出しを行い、前記コアごとに割り当てられた前記メモリのバッファ領域に書き込まれた前記モジュールの処理結果を前記格納時間情報に基づき、時系列に前記メモリの前記所定領域に書き込む車両制御装置。 A microprocessor having a plurality of cores including a first core and memories readable and writable from the plurality of cores, wherein the microprocessor executes application software that utilizes software components provided by a software platform A vehicle control device,
the plurality of cores includes a module of the application software and a request reception unit that receives an API call of the software component from the module;
The first core includes the software component and a request processing unit that calls a first API to cause the software component to execute a first process of writing a processing result of the application software to a predetermined area of the memory. prepared,
The request reception units of the plurality of cores receive the first API call from the module and write the processing result of the module together with storage time information into a buffer area of the memory allocated for each core;
The request processing unit of the first core performs the first API call, writes the processing result of the module written in the buffer area of the memory allocated to each core based on the storage time information, A vehicle control device that writes to the predetermined area of the memory in chronological order .
複数の前記コアの前記要求受付部は、前記モジュールから、前記ソフトウェア部品に、前記メモリの前記所定領域から前記アプリケーションソフトウェアの処理結果を読み出す第2の処理を実行させる第2のAPI呼出しを受けて、前記メモリの前記所定領域から前記アプリケーションソフトウェアの処理結果を読み出す車両制御装置。 In claim 1,
The request receiving units of the plurality of cores receive, from the module, a second API call that causes the software component to execute a second process of reading a processing result of the application software from the predetermined area of the memory. , a vehicle control device for reading a processing result of the application software from the predetermined area of the memory;
前記アプリケーションソフトウェアは、所定のサイクル時間内に実行される定時タスクを実行するソフトウェアであって、
前記サイクル時間ごとに、前記第1のコアの前記要求処理部は、前記アプリケーションソフトウェアのモジュールが搭載された複数の前記コアの処理が終了した後に、前記第1のAPI呼出しを行う車両制御装置。 In claim 1,
The application software is software that executes a scheduled task that is executed within a predetermined cycle time,
The vehicle control device, wherein the request processing unit of the first core calls the first API after the processing of the plurality of cores in which the application software module is installed is completed for each cycle time.
前記第1のコアの前記要求処理部は、前記サイクル時間内に前記第1の処理を完了する車両制御装置。 In claim 3,
The vehicle control device, wherein the request processing unit of the first core completes the first processing within the cycle time.
不揮発メモリを有し、
前記第1の処理は、前記アプリケーションソフトウェアの処理結果の少なくとも一部を前記不揮発メモリに書き込む車両制御装置。 In claim 1,
has a non-volatile memory,
The vehicle control device writes at least part of the processing result of the application software in the nonvolatile memory in the first processing.
複数の前記コアに搭載された前記アプリケーションソフトウェアのモジュールは、前記ソフトウェア部品に前記アプリケーションソフトウェアの処理結果を前記メモリの所定領域に書き込む第1の処理を実行させる第1のAPI呼出しを行い、
前記第1のAPI呼出しを行った前記コアに搭載された要求受付部は、前記モジュールの処理結果を格納時間情報とともに前記コアごとに割り当てられた前記メモリのバッファ領域に書き込み、
前記第1のコアに搭載された要求処理部は、前記第1のAPI呼出しを行い、前記コアごとに割り当てられた前記メモリのバッファ領域に書き込まれた前記モジュールの処理結果を前記格納時間情報に基づき、時系列に前記メモリの前記所定領域に書き込むプログラム実行方法。 A vehicle control device having a microprocessor having a plurality of cores including a first core and memories readable and writable from the plurality of cores, wherein the microprocessor executes application software using software components provided from a software platform. A program execution method for executing,
The application software modules mounted on the plurality of cores make a first API call to cause the software component to execute a first process of writing a processing result of the application software to a predetermined area of the memory;
the request receiving unit mounted on the core that has made the first API call writes the processing result of the module together with storage time information into a buffer area of the memory allocated for each core;
The request processing unit mounted on the first core performs the first API call, and stores the processing result of the module written in the buffer area of the memory allocated for each core as the storage time information. a program execution method for writing to the predetermined area of the memory in time series based on the
前記アプリケーションソフトウェアは、所定のサイクル時間内に実行される定時タスクを実行するソフトウェアであって、
前記第1のコアの前記要求処理部は、前記サイクル時間ごとに、前記アプリケーションソフトウェアのモジュールが搭載された複数の前記コアの処理が終了した後に、前記第1のAPI呼出しを行うプログラム実行方法。 In claim 6 ,
The application software is software that executes a scheduled task that is executed within a predetermined cycle time,
The program execution method, wherein the request processing unit of the first core calls the first API after the processing of the plurality of cores on which the application software module is installed is completed for each cycle time.
前記第1のコアの前記要求処理部は、前記サイクル時間内に前記第1の処理を完了するプログラム実行方法。 In claim 7 ,
The program execution method, wherein the request processing unit of the first core completes the first process within the cycle time.
前記マイクロプロセッサの複数の前記コアには、試験用モジュールが搭載される第2のコアを含み、
前記第2のコアの前記試験用モジュールは外部環境にトリガをかけることにより、前記外部環境に搭載された前記アプリケーションソフトウェアのモジュールを実行させ、
前記外部環境に搭載された前記アプリケーションソフトウェアのモジュールの処理結果は、前記第2のコアに割り当てられた前記メモリのバッファ領域に書き込まれるプログラム実行方法。 In claim 6 ,
The plurality of cores of the microprocessor includes a second core on which a test module is mounted,
the test module of the second core triggers an external environment to execute the application software module installed in the external environment;
A program execution method, wherein a processing result of a module of the application software installed in the external environment is written in a buffer area of the memory allocated to the second core.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018218919A JP7204443B2 (en) | 2018-11-22 | 2018-11-22 | VEHICLE CONTROL DEVICE AND PROGRAM EXECUTION METHOD |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018218919A JP7204443B2 (en) | 2018-11-22 | 2018-11-22 | VEHICLE CONTROL DEVICE AND PROGRAM EXECUTION METHOD |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020086807A JP2020086807A (en) | 2020-06-04 |
| JP7204443B2 true JP7204443B2 (en) | 2023-01-16 |
Family
ID=70908229
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018218919A Active JP7204443B2 (en) | 2018-11-22 | 2018-11-22 | VEHICLE CONTROL DEVICE AND PROGRAM EXECUTION METHOD |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7204443B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102360725B1 (en) * | 2020-12-15 | 2022-02-08 | 현대오토에버 주식회사 | Contrloller for vehicle and error management method thereof |
| JP2026003898A (en) * | 2024-06-25 | 2026-01-14 | 株式会社オートネットワーク技術研究所 | In-vehicle device, memory update method, and memory update program |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000039991A (en) | 1998-07-23 | 2000-02-08 | Hitachi Ltd | Dynamic server connection method in distributed object system |
| WO2014097442A1 (en) | 2012-12-20 | 2014-06-26 | 三菱電機株式会社 | On-board device, and program |
| WO2017140504A1 (en) | 2016-02-16 | 2017-08-24 | Robert Bosch Gmbh | Method and device for operating a controller |
| JP2018165913A (en) | 2017-03-28 | 2018-10-25 | 富士通株式会社 | Arithmetic processing apparatus, information processing apparatus, and control method for arithmetic processing apparatus |
-
2018
- 2018-11-22 JP JP2018218919A patent/JP7204443B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000039991A (en) | 1998-07-23 | 2000-02-08 | Hitachi Ltd | Dynamic server connection method in distributed object system |
| WO2014097442A1 (en) | 2012-12-20 | 2014-06-26 | 三菱電機株式会社 | On-board device, and program |
| WO2017140504A1 (en) | 2016-02-16 | 2017-08-24 | Robert Bosch Gmbh | Method and device for operating a controller |
| JP2019510327A (en) | 2016-02-16 | 2019-04-11 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | Method and apparatus for driving a control device |
| JP2018165913A (en) | 2017-03-28 | 2018-10-25 | 富士通株式会社 | Arithmetic processing apparatus, information processing apparatus, and control method for arithmetic processing apparatus |
Non-Patent Citations (3)
| Title |
|---|
| デンソーカーエレクトロニクス研究会,図解カーエレクトロニクス 第2版 Automotive Electronics Illustrated,第2版,日本,日経BP社 浅見 直樹,2010年11月18日,189-195ページ |
| 石橋 航太,位置透過性のあるシステムコールを有するマルチコアプロセッサ向けリアルタイムOS,情報処理学会 研究報告 組込みシステム(EMB) 2015-EMB-037 [online] ,日本,情報処理学会,2015年05月28日,1~7ページ |
| 鴫原 一人,研究! クルマのテクノロジ これから10年使える技術! 標準AUTOSAR開発プラットホーム入門 安全に使い回す! 車載ソフトウェアの世界,Interface 第42巻 第1号 ,日本,CQ出版株式会社 CQ Publishing Co.,Ltd.,2016年01月01日,第42巻,111~117ページ |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2020086807A (en) | 2020-06-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Hassan et al. | Bounding dram interference in cots heterogeneous mpsocs for mixed criticality systems | |
| Axer et al. | Response-time analysis of parallel fork-join workloads with real-time constraints | |
| US20090172686A1 (en) | Method for managing thread group of process | |
| US20060107264A1 (en) | Operating system and architecture for embedded system | |
| CN108351840B (en) | Vehicle control device | |
| KR100902977B1 (en) | Hardware sharing system and method | |
| EP4390687B1 (en) | Scheduling of duplicate threads | |
| CN106462452B (en) | vehicle control device | |
| JP7204443B2 (en) | VEHICLE CONTROL DEVICE AND PROGRAM EXECUTION METHOD | |
| JP5533789B2 (en) | In-vehicle electronic control unit | |
| JP7425685B2 (en) | electronic control unit | |
| WO2020179344A1 (en) | Vehicle control device | |
| JP2003029988A (en) | Task scheduling system and method, program | |
| CN108958903B (en) | Embedded multi-core central processor task scheduling method and device | |
| US7953962B2 (en) | Multiprocessor system and control method thereof | |
| CN119847705A (en) | Process scheduling method, device and equipment based on isolation core | |
| CN108958905B (en) | Lightweight operating system of embedded multi-core central processing unit | |
| CN112948074B (en) | CPU resource scheduling method and electronic equipment for dex2oat process | |
| EP3779700A1 (en) | Information processing device | |
| CN110383248A (en) | Method for controlling multi-core processor and related computer | |
| CN119415158B (en) | Thread lock processing method, electronic device, storage medium and program product | |
| JP4755232B2 (en) | compiler | |
| JP2020181407A (en) | Parallelization method, semiconductor control device, and on-vehicle control device | |
| WO2007049543A1 (en) | Calculating apparatus | |
| JP2019215804A (en) | Multicore microcomputer and parallelizing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210609 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220516 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220607 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220726 |
|
| 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: 20221213 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221228 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7204443 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |