IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ビーワイディー カンパニー リミテッドの特許一覧

特表2024-541174車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体
<>
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図1
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図2
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図3
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図4
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図5
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図6
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図7
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図8
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図9
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図10
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図11
  • 特表-車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-08
(54)【発明の名称】車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体
(51)【国際特許分類】
   G06F 8/20 20180101AFI20241031BHJP
【FI】
G06F8/20
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024516355
(86)(22)【出願日】2022-12-28
(85)【翻訳文提出日】2024-05-27
(86)【国際出願番号】 CN2022142712
(87)【国際公開番号】W WO2023125635
(87)【国際公開日】2023-07-06
(31)【優先権主張番号】202111663812.0
(32)【優先日】2021-12-30
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】510177809
【氏名又は名称】ビーワイディー カンパニー リミテッド
【氏名又は名称原語表記】BYD Company Limited
【住所又は居所原語表記】No. 3009, BYD Road, Pingshan, Shenzhen, Guangdong 518118, P. R. China
(74)【代理人】
【識別番号】100169904
【弁理士】
【氏名又は名称】村井 康司
(74)【代理人】
【識別番号】100216150
【弁理士】
【氏名又は名称】香山 良樹
(72)【発明者】
【氏名】周▲歓▼
(72)【発明者】
【氏名】▲羅▼▲錦▼文
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BC05
5B376GA07
(57)【要約】
車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体を提供する。該車載オペレーティングシステムは、ハードウェア層、ソフトウェア層、及びアプリケーション層を含み、ハードウェア層は、それぞれが1つのプロセッサを含む少なくとも1つのコントローラハードウェアを含み、ソフトウェア層は、BEOSオペレーティングシステム及びBEOSドライバを含み、BEOSオペレーティングシステムは、コンピュータシステムのハードウェアリソース及びソフトウェアリソースを管理し制御し、BEOSドライバは、ハードウェア層とソフトウェア層との間のデータ伝送を完了し、アプリケーション層は、それぞれが車載に関連するアプリケーションを提供する複数のアプリケーションプログラムを含む。独自に開発された組込みBEOSオペレーティングシステムを利用することにより、本開示に係る車載オペレーティングシステムのリアルタイム性と安定性がより高くなり、安全性がより高くなる。また、車載オペレーティングシステムには対応するBEOSデバッグシステムが配置され、車載ソフトウェアの開発、認証、デバッグ、メンテナンスなどをよりよく行うことができる。
【特許請求の範囲】
【請求項1】
下から上へ順に設置されたハードウェア層、ソフトウェア層、及びアプリケーション層を含み、前記ハードウェア層は、それぞれが1つのプロセッサを含む少なくとも1つのコントローラハードウェアを含み、
前記ソフトウェア層は、BEOSオペレーティングシステム及びBEOSドライバを含み、前記BEOSオペレーティングシステムは、コンピュータシステムのハードウェアリソース及びソフトウェアリソースを管理し制御し、前記BEOSドライバは、ハードウェア層とソフトウェア層との間のデータ伝送を完了し、
前記アプリケーション層は、オペレーティングシステムインタフェースを介して前記BEOSオペレーティングシステムに接続され、それぞれが車載に関連するアプリケーションを提供する複数のアプリケーションプログラムを含む、ことを特徴とする車載オペレーティングシステム。
【請求項2】
前記BEOSオペレーティングシステムは、上から下へ順に設置されたタスク層、中間プロトコルスタック層、及びOSカーネル層を含み、
前記BEOSドライバは、シリアルポートドライバ、CANドライバ、SPIドライバ、Flashドライバ、I2Cドライバ、及びRTCドライバのうちの少なくとも1つを含む、ことを特徴とする請求項1に記載の車載オペレーティングシステム。
【請求項3】
前記中間プロトコルスタック層は、ネットワーク管理モジュール、CANサービスモジュール、及びデータ永続化管理モジュールのうちの少なくとも1つを含む、ことを特徴とする請求項2に記載の車載オペレーティングシステム。
【請求項4】
前記中間プロトコルスタック層は、ファイルシステムモジュール、TCP/IPプロトコルモジュール、ブルートゥースプロトコルスタックモジュール(ブルートゥースは登録商標)、及び信号管理モジュールのうちの少なくとも1つをさらに含む、ことを特徴とする請求項2又は3に記載の車載オペレーティングシステム。
【請求項5】
前記OSカーネル層は、タスク管理モジュール、タスク通信モジュール、メモリ管理モジュール、メモリランタイムライブラリモジュール、タイマー管理モジュール、同期管理モジュール、及び割り込み管理モジュールのうちの少なくとも1つを含む、ことを特徴とする請求項2~4のいずれか一項に記載の車載オペレーティングシステム。
【請求項6】
前記タスク層は、作業タスクモジュール及びシステム監視タスクモジュールを含み、前記作業タスクモジュールは、それぞれが少なくとも1つのサブタスクユニットに通信可能に接続される少なくとも1つのメインタスクユニットを含む、ことを特徴とする請求項2~5のいずれか一項に記載の車載オペレーティングシステム。
【請求項7】
前記メインタスクユニットは、リソース集中管理及びサブタスクユニット管理を提供し、前記リソース集中管理は、タイマー、メッセージキュー、セマフォ、待ちリスト、及びハードウェアリソースの申請と解放のうちの少なくとも1つを含み、
前記サブタスクユニット管理は、サブタスク作成、サブタスク削除、サブタスク状態制御、及びサブタスク状態監視のうちの少なくとも1つを含む、ことを特徴とする請求項6に記載の車載オペレーティングシステム。
【請求項8】
前記作業タスクモジュールにおけるタスク通信方法は、
メインタスクが、CreateMQ()によりサブタスクが使用するメッセージキューを作成するステップと、
少なくとも1つの送信すべきメッセージのサブタスクがそれぞれSendMsg()によりメッセージデータを前記メッセージキューに送信するステップと、
少なくとも1つの受信すべきメッセージのサブタスクがReceiveMsg()により前記メッセージキューからメッセージデータを受信するステップとを含む、ことを特徴とする請求項6又は7に記載の車載オペレーティングシステム。
【請求項9】
PC端末上で実行され、請求項1~8のいずれか一項に記載の車載オペレーティングシステムを開発し、認証し、デバッグし、メンテナンスする、ことを特徴とするBEOSデバッグシステム。
【請求項10】
通信プロトコル処理モジュールと、ソースコード処理モジュールと、デバッグ元素解析モジュールと、ユーザ操作インタフェースモジュールとを含み、
通信プロトコル処理モジュールは、BEOSデバッグシステムとBEOSオペレーティングシステムとの通信データ処理を提供し、
ソースコード処理モジュールは、ソースコードデータ構造解析、ソースコード表示、とソースコード位置決めの機能を提供し、
デバッグ元素解析モジュールは、デバッグに必要な変数表示機能を提供し、
ユーザ操作インタフェースモジュールは、ユーザ操作インタフェースを提供する、ことを特徴とする請求項9に記載のBEOSデバッグシステム。
【請求項11】
BEOSデバッグシステムが車載オペレーティングシステムにデバッグ命令を送信するステップと、
前記車載オペレーティングシステムが前記デバッグ命令に基づいて、デバッグすべき対象をデバッグするステップと、
前記デバッグすべき対象が前記デバッグ命令に基づいて実行され、実行結果を前記BEOSデバッグシステムにフィードバックするステップと、
前記BEOSデバッグシステムが前記デバッグすべき対象の実行結果に基づいて、前記デバッグすべき対象の性能を決定するステップとを含む、ことを特徴とするBEOSデバッグ方法。
【請求項12】
プロセッサと、メモリとを含み、前記メモリには、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、前記命令、前記プログラム、前記コードセット又は前記命令セットは、前記プロセッサによってロードされ、かつ実行されることにより、請求項8に記載のタスク通信方法におけるステップと、請求項11に記載のBEOSデバッグ方法におけるステップとを実現する、ことを特徴とする電子機器。
【請求項13】
1つ以上のプロセッサによって実行されることにより、請求項8に記載のタスク通信方法におけるステップと、請求項11に記載のBEOSデバッグ方法におけるステップとを実現する1つ以上のプログラムが記憶されている、ことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本開示は、2021年12月30日に提出された出願番号202111663812.0、名称「車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体」の中国特許出願の優先権を主張するものであり、その全ての内容は引用により本開示に組み込まれるものとする。
【0002】
本開示は、車載の技術分野に関し、特に車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体に関する。
【背景技術】
【0003】
従来の車載オペレーティングシステムのフレームワーク設計は大まかで単一であり、例えば、多くの車載ソフトウェアは、ワンチップマイコンをコントローラとして適用する。ワンチップマイコンのベアメタルプログラミング方式を使用すると、コストを低減することができるが、このような開発モードには大きな欠点がある。まず、コードのメンテナンス性が低く、次に、プログラムの拡張性が低く、最後に、プロジェクトの移植性が低く、加えて、世界で知的財産がますます重視されており、将来のある日は、現在無料で使用されているソフトウェアが無料ではなくなる可能性があり、使用コストが間接的に増加し、自動車会社のコストが増加することになる。
【発明の概要】
【0004】
車載オペレーティングシステム、デバッグシステム及び方法、電子機器及び記憶媒体は、独自に開発された組込みBEOSオペレーティングシステムを利用することにより、本開示の実施例に係る車載オペレーティングシステムのリアルタイム性と安定性がより高くなり、安全性がより高くなる。また、車載オペレーティングシステムには対応するBEOSデバッグシステムが配置されることにより、車載ソフトウェアは、独自に開発された車載オペレーティングシステムにおいてより良い開発、認証、デバッグ、メンテナンスなどを行うことができる。
【0005】
第1態様では、本開示は、下から上へ順に設置されたハードウェア層、ソフトウェア層、及びアプリケーション層を含む車載オペレーティングシステムを提供する。前記ハードウェア層は、それぞれが1つのプロセッサを含む少なくとも1つのコントローラハードウェアを含み、
前記ソフトウェア層は、BEOSオペレーティングシステム及びBEOSドライバを含み、前記BEOSオペレーティングシステムは、コンピュータシステムのハードウェアリソース及びソフトウェアリソースを管理し制御し、前記BEOSドライバは、ハードウェア層とソフトウェア層との間のデータ伝送を完了し、
前記アプリケーション層は、オペレーティングシステムインタフェースを介して前記BEOSオペレーティングシステムに接続され、それぞれが車載に関連するアプリケーションを提供する複数のアプリケーションプログラムを含む。
【0006】
本開示の実施例に係る車載オペレーティングシステムは、独自に開発された組込みBEOSオペレーティングシステムを利用することにより、本開示の実施例に係る車載オペレーティングシステムのリアルタイム性と安定性がより高くなり、安全性がより高くなる。
【0007】
第2態様では、本開示に係るBEOSデバッグシステムは、PC端末上で実行され、車載オペレーティングシステムを開発し、認証し、デバッグし、メンテナンスする。
【0008】
本開示の実施例に係るBEOSデバッグシステムは、車載オペレーティングシステムには対応するBEOSデバッグシステムが配置されることにより、車載ソフトウェアは、独自に開発された車載オペレーティングシステムにおいてより良い開発、認証、デバッグ、メンテナンスなどを行うことができる。
【0009】
また、第3態様では、本開示に係るBEOSデバッグ方法は、
BEOSデバッグシステムが車載オペレーティングシステムにデバッグ命令を送信するステップと、
前記車載オペレーティングシステムが前記デバッグ命令に基づいて、デバッグすべき対象をデバッグするステップと、
前記デバッグすべき対象が前記デバッグ命令に基づいて実行され、実行結果を前記BEOSデバッグシステムにフィードバックするステップと、
前記BEOSデバッグシステムが前記デバッグすべき対象の実行結果に基づいて、前記デバッグすべき対象の性能を決定するステップとを含む。
【0010】
本開示の実施例に係るBEOSデバッグ方法によれば、開発者は、BEOSデバッグシステムによりプログラムのロジック、車窓プログラムの状態などを印刷して閲覧し、対応する調整テストを行うことができる。
【0011】
第4態様では、本開示に係る電子機器は、プロセッサと、メモリとを含み、前記メモリには、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、前記命令、前記プログラム、前記コードセット又は前記命令セットは、前記プロセッサによってロードされ、かつ実行されることにより、本開示の各実施例に係るBEOSデバッグ方法におけるステップと、車載オペレーティングシステムにおけるタスクの同期、通信及びドライバ方法におけるステップとを実現する。
【0012】
第5態様では、本開示に係るコンピュータ可読記憶媒体は、1つ以上のプロセッサによって実行されることにより、本開示の各実施例に係るBEOSデバッグ方法におけるステップと、車載オペレーティングシステムにおけるタスクの同期、通信及びドライバ方法におけるステップとを実現する1つ以上のプログラムが記憶されている。
【図面の簡単な説明】
【0013】
以下の図面を参照して行われた非限定的な実施例に対する詳細な説明を読むことにより、本開示の追加の態様と利点は、より明らかになる。
【0014】
図1】本開示の実施例に係る車載オペレーティングシステムとBEOSデバッグシステムとを組み合わせたアーキテクチャ図である。
図2】本開示の実施例に係るBEOSオペレーティングシステムと対応するBEOSドライバとを組み合わせた具体的なアーキテクチャ図である。
図3】本開示の実施例に係るデータ永続化管理モジュールの構成図である。
図4】本開示の実施例に係る車載オペレーティングシステムのタスクブロック図である。
図5】本開示の実施例に係る車載オペレーティングシステムのタスク同期図である。
図6】本開示の実施例に係る車載オペレーティングシステムの第1実施形態のタスク通信図である。
図7】本開示の実施例に係る車載オペレーティングシステムの第2実施形態のタスク通信図である。
図8】本開示の実施例に係る車載オペレーティングシステムのBEOSドライバ図である。
図9】本開示の実施例に係るCANドライバの例示図である。
図10】本開示の実施例に係る車載オペレーティングシステムをデバッグするBEOSデバッグシステムのデバッグツール図である。
図11】本開示の実施例に係る電子機器の構成ブロック図である。
図12】本開示の実施例に係るサーバの構成ブロック図である。
【発明を実施するための形態】
【0015】
以下、図面及び実施例を参照して本開示を詳細に説明する。ここで説明された具体的な実施例は、関連する発明を説明するためのものに過ぎず、該発明を限定するものではないことを理解されたい。なお、説明の便宜上、図面は、発明に関連する部分のみを示す。
【0016】
なお、本開示の実施例及び実施例における特徴は、矛盾しない限り、互いに組み合わせることができる。以下、図面を参照しながら実施例を挙げて本開示を詳細に説明する。
【0017】
従来の車載オペレーティングシステムは、ユーザ空間及びカーネル空間を含み、ユーザ空間は、アプリケーションプログラムモジュール、ホワイトリスト管理モジュール、配置管理モジュール及び監査ログ生成モジュールを含み、カーネル空間は、システム呼び出し層、自律アクセス制御モジュール、強制アクセス制御モジュール、信頼性測定モジュール、アプリケーションプログラムロードモジュール及びポリシーキャッシュ管理モジュールを含む。ホワイトリスト管理モジュールは、アプリケーションプログラムモジュール及び配置管理モジュールに接続され、信頼性測定モジュールは、カーネル空間にアプリケーションプログラムのロードを継続できるか否かを判断させるように、アプリケーションプログラムファイルに対して信頼性測定を行うことができる。従来の車載オペレーティングシステムは、ユーザ空間とカーネル空間の2つの部分のみを含み、車載システムのフレームワーク設計は、大まかで単一であり、車載の開発に関連するデバッグシステムがなく、実際の車両には適用されていない。ワンチップマイコンのベアメタルプログラミング方式は、コードのメンテナンス性が低く、プログラムの拡張性が低く、プロジェクトの移植性が低いなどの多くの欠点を有する。
【0018】
図1は、本開示の実施例に係る車載オペレーティングシステムの例示的な構成図である。
【0019】
図1に示すように、本実施例では、本開示に係る車載オペレーティングシステムは、下から上へ順に設置されたハードウェア層、ソフトウェア層、及びアプリケーション層を含む。ハードウェア層は、それぞれが1つのプロセッサを含む少なくとも1つのコントローラハードウェアを含み、
ソフトウェア層は、BEOSオペレーティングシステム及びBEOSドライバを含み、BEOSオペレーティングシステムは、コンピュータシステムのハードウェアリソース及びソフトウェアリソースを管理し制御し、BEOSドライバは、ハードウェア層とソフトウェア層との間のデータ伝送を完了し、
アプリケーション層は、オペレーティングシステムインタフェースを介してBEOSオペレーティングシステムに接続され、それぞれが車載に関連するアプリケーションを提供する複数のアプリケーションプログラムを含む。
【0020】
具体的には、ハードウェア層は、車載に関連するハードウェアを提供し、それぞれが1つのプロセッサを含む少なくとも1つのコントローラハードウェア、例えばワンチップマイコンを含む。複数のアプリケーションプログラムとBEOS(Be Operating System、オペレーティングシステム)オペレーティングシステムとの間は、ポータブルオペレーティングシステムインタフェース(POSIX)に通信可能に接続され、POSIX(Portable Operating System Interface、ポータブルオペレーティングシステムインタフェース)標準は、オペレーティングシステムがアプリケーションプログラムに提供すべきインタフェース標準を定義しており、様々なUNIX(Uniplexed Information and Computering System、UNIXオペレーティングシステム)(UNIXは登録商標)上で実行するソフトウェアのためにIEEE(Institute of Electrical and Electronics Engineers、米国電気電子工学会)によって定義された一連のAPI(Application Programming Interface、アプリケーションプログラミングインタフェース)標準の総称である。従来の車載システムにおけるワンチップマイコンのベアメタルプログラミング方式の欠陥に対して、本実施例に係る車載オペレーティングシステムは、独自に開発された組込みBEOSオペレーティングシステムとワンチップマイコンとの組み合わせ方式を利用するものであり、BEOSオペレーティングシステムは、複数のワンチップマイコンなどのハードウェア上で実行され、ワンチップマイコンは、車載ソフトウェアを開発し、BEOSオペレーティングシステムは、コンピュータシステムのハードウェアリソースとソフトウェアリソースとを管理し制御するコンピュータプログラムであるとともに、コンピュータシステムのカーネルとベースライトであり、BEOSオペレーティングシステムは、メモリの管理及び配置、システムリソースの需給の優先順位の決定、入出力機器の制御、ネットワークの操作及びファイルシステムの管理などの基本トランザクションを処理することができ、かつユーザとシステムとを対話させる操作インタフェースを提供することができる。BEOSオペレーティングシステムは、コードのメンテナンス性、プログラムの拡張性、及びプロジェクトの移植性に優れており、コストも低くなる。
【0021】
なお、本開示の実施例に係るBEOSオペレーティングシステムは、フルグラフィック化を実現することができ、システムの安定性及び実行効率が高く、64ビットのファイルシステム及びマルチプロセッサをサポートすることができ、強力なマルチメディアソフトウェアを集積し、BEOSは、複数のオーディオ、ビデオ、画像、及びネットワークに基づくアプリケーションソフトウェアを同時に操作することを許可し、メモリ及びプロセッサは、常に最も安定した実行状態に保持され、マルチメディアの品質も変化せず、また、BEOSは、完全なネットワーク機能を有し、包括的なネットワークソフトウェアを有する。
【0022】
図2は、車載オペレーティングシステムの静的ブロック図である。図2に示すように、本開示の実施例において、BEOSオペレーティングシステムは、上から下へ順に設置されたタスク層、中間プロトコルスタック層、及びOS Kernel(Operating System Kernel、オペレーティングシステムカーネル)層を含む。
【0023】
具体的には、図2に示すように、タスク層は、作業タスクモジュール及びシステム監視タスクモジュールを含み、作業タスクモジュールは、それぞれが少なくとも1つのサブタスクユニットに通信可能に接続される少なくとも1つのメインタスクユニットを含む。
【0024】
中間プロトコルスタック層は、ファイルシステムモジュール、TCP/IPプロトコルモジュール、ブルートゥースプロトコルスタックモジュール(ブルートゥースは登録商標)、信号管理モジュール、ネットワーク管理モジュール、CANサービスモジュール、及びデータ永続化管理モジュールのうちの少なくとも1つを含む。
【0025】
OSカーネル層は、タスク管理モジュール、タスク通信モジュール、メモリ管理モジュール、メモリランタイムライブラリモジュール、タイマー管理モジュール、同期管理モジュール、及び割り込み管理モジュールのうちの少なくとも1つを含む。
【0026】
具体的には、中間プロトコルスタック層は、車載オペレーティングシステムの様々なサービスを提供し、各モジュールは、ファイルシステム、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコル、ブルートゥースプロトコルスタック(ブルートゥースは登録商標)、信号管理、ネットワーク管理、CAN(Controller Area Network、コントローラエリアネットワーク)サービス及びデータ永続化管理などを対応して提供する。ファイルシステムは、オペレーティングシステムが磁気ディスク又はパーティション上のファイルを明確にするための方法及びデータ構造であり、即ち、磁気ディスクにファイルを整理する方法である。ファイルシステムとは、ファイルを記憶する磁気ディスク又はパーティション、又はファイルシステムの種類を指し、オペレーティングシステムにおいてファイル情報を管理し記憶することを担当するソフトウェア機構は、ファイル管理システムと呼ばれ、ファイルシステムと略称される。TCP/IPとは、複数の異なるネットワーク間で情報伝送を実現可能なプロトコルクラスタを指し、ネットワーク層のIPプロトコルと伝送層のTCPプロトコルからなる。ブルートゥースプロトコル仕様(ブルートゥースは登録商標)は、仕様に準拠したアプリケーションを相互に動作させることを目的とする。CANサービス管理は、ネットワーク管理サービスを実現し、CANネットワークのアウェイクとスリープ状態の切り替えを調整することを担当する。
【0027】
ネットワーク管理モジュールは、ComM(Communication Manager、通信マネージャ)、汎用ネットワークマネージャインタフェース、バスに関連するネットワークマネージャ、及びバスに関連する状態マネージャの4つのモジュールからなり、自動車電子ECU(Electronic Control Unit、電子制御ユニット)の開発過程において、ネットワーク管理モジュールは、消費電力を低減し、各種の通信バスは、特定の状況において、機能に応じてスリープするか正常に動作するかを選択し、異なる通信バス構造を区別することにより、特定の機能における特定のECU間の通信を実現し、該機能に参加する必要がないECUは、スリープに入ることができ、エネルギー損失を低減し、ネットワーク管理モジュールは、車両全体のスリープとアウェイクなどを調整する。
【0028】
ドメインコントローラアプリケーションとサービスの開発過程において、各サービスとアプリケーションは、いずれもデータを永続的に記憶する必要がある。データ永続化管理は、サービス及びアプリケーションによるデータ記憶のプログラミングを簡素化し、サービス及びアプリケーションに統一的なデータ記憶APIを提供する。データ永続化管理は、図3に示すように、以下の機能を含む。1)APIインタフェース:書き込みインタフェースと読み取りインタフェースを含む、KEY-VALUEタイプとファイルタイプのAPIインタフェースを実現する。2)データ検証とマスター/スレーブバックアップ:システム開発設計エンジニアは、配置ツールを介して、マスター/スレーブバックアップ経路に配置ファイル(XMLフォーマット)を書き込み、データ永続化記憶管理は、アプリケーション又はサービスの書き込みべきデータを、検証コード(KEY-VALUEタイプのデータ)に追加し、マスター/スレーブバックアップ領域に一括して記憶することを担当する。3)データ検証及び復元:アプリケーション又はサービスが読み取りインタフェースを介してKEY-VALUEデータを読み取る場合、データ永続化記憶管理は、データ及び対応する検証コードを一緒に読み取り、データを検証し、検証に失敗した場合、バックアップ領域におけるデータを読み取る必要があり、検証した後に復元し、バックアップ領域におけるデータも検証に失敗した場合、エラーコードを呼び出し元に返す。4)アプリケーションデータの分離:各サービス及びアプリケーションデータが個別に記憶され、1つのアプリケーション及びサービスは、アプリケーション名及びサービス名に応じて、1つのKEY-VALUEタイプのファイルに記憶される。
【0029】
OSカーネル(Kernel)層における各モジュールは、タスク管理、タスク間通信メカニズム、メモリ管理及びランタイムライブラリ、タイマー管理、同期管理、及び割り込み管理などを対応して提供する。タスク管理は、主にユーザタスクの作成/削除とスケジューリングを担当する。タスク間通信は、タスク間の同期及びタスク間のデータ伝送を担当し、例えば、複数のサブタスクが異なるメッセージを1つのサブタスクのメッセージキューに送信してもよく、1つのサブタスクが異なるメッセージを異なるサブタスクのメッセージキューに送信してもよい。メモリ管理は、組込みメモリの割り当て、回収、及び管理を担当する。タイマー管理は、ユーザが所定の時間内にユーザ定義機能関数を実行することを担当し、タイマーサービスは、アプリケーションプログラムと基本ソフトウェアのためのソフトウェアタイマーを提供する。同期管理は、1つの作業において、いくつかのサブタスクの間に補助関係が存在する可能性があることを意味する。即ち、1つのサブタスクは、続行する前に、別のサブタスクが特定のイベントを完成するまで待機する必要があり、これにはサブタスク間の同期問題が伴い、具体的には、図5に示すとおりである。割り込み管理は、主にユーザ割り込み関数の設定を担当し、ハードウェアに割り込みが発生した後、直ちにユーザが設定した割り込み関数を実行することができ、或いはハードウェアに異常が発生した後、これらの異常を正確に処理することができる。タスク層におけるシステム監視タスクユニットは、コンピュータシステムをリアルタイムに監視する。
【0030】
一実施例では、メインタスクユニットは、リソース集中管理及びサブタスクユニット管理を提供し、
リソース集中管理は、タイマー、メッセージキュー、セマフォ、待ちリスト、及びハードウェアリソースの申請と解放のうちの少なくとも1つを含み、
サブタスクユニット管理は、サブタスク作成、サブタスク削除、サブタスク状態制御、及びサブタスク状態監視のうちの少なくとも1つを含む。
【0031】
図4は、車載オペレーティングシステムのタスクブロック図である。
【0032】
図4に示すように、本開示の車載オペレーティングシステムにおける各プロジェクト作業は、1つのメインタスクといくつかのサブタスクとして定義され、メインタスク機能は、リソース集中管理とサブタスク管理であり、メインタスクは、プロジェクトの必要に応じて、サブタスクの作成/削除の順序と相互排他的関係を決定することができ、リソース集中管理は、タイマー、メッセージキュー、セマフォ、待ちリスト、ハードウェアなどの関連リソースの申請と解放を含む。サブタスク管理は、主に、サブタスク作成/削除、サブタスク状態制御、及びサブタスク状態監視検査を含む。
【0033】
図5は、車載オペレーティングシステムのタスク同期図である。
【0034】
図5に示すように、1つの作業において、いくつかのサブタスクの間に1つの補助関係が存在する可能性があり、即ち、1つのサブタスクは、続行する前に、別のサブタスクが特定のイベントを完成するまで待機する必要があり、これにはサブタスク間の同期の問題が伴う。
【0035】
例えば、情報ステーションは、2つのサブタスクを含み、1つのサブタスクは3G/4G/5Gなどのモジュール命令送信サブタスクであり、別のサブタスクはデータ受信サブタスクである。送信サブタスクは、1つの命令を機器(BEOSオペレーティングシステムのOSカーネル内のタイマー、タスクマネージャ、メモリ管理などを指す)に送信した後、シリアルポートデータ受信サブタスクが命令実行結果状態を返信するのを待ってから実行を続ける必要がある。
【0036】
具体的には、本開示の車載オペレーティングシステムのタスク同期方法は、以下のステップを含む。
【0037】
S101では、1つの同期イベントを定義する。
【0038】
S102では、命令送信サブタスクが命令を送信した後、WaitEvent(イベント名)により、シリアルポートデータ受信サブタスクが該イベントを完了するのを待つ。
【0039】
S103では、シリアルポートデータ受信サブタスクがシリアルポートデータを受信し解析した後、該イベントを完了した後、Wakeup(イベント名)により、該イベントを待っているタスクを起動する。
【0040】
S104では、2つのサブタスクを引き続き実行する。
【0041】
図6は、車載オペレーティングシステムの第1実施形態のタスク通信図である。
【0042】
図6に示すように、サブタスクに次のサブタスクに送信する必要があるデータがある場合、メッセージキューを介して送信することができ、例えば、複数のサブタスクは、異なるメッセージキューを1つのサブタスクのメッセージキューに送信することができ、具体的に以下のサブステップを含む。
【0043】
S201では、メインタスクが、CreateMQ()によりサブタスクが使用するメッセージキューを作成する。
【0044】
S202では、複数の送信すべきメッセージのサブタスクがそれぞれ基礎となるOSカーネルを介してSendMsg()を提供し、メッセージデータをメッセージキューに送信する。
【0045】
S203では、受信すべきメッセージのサブタスクがReceiveMsg()によりメッセージキューからメッセージデータを受信する。
【0046】
また、例えば、図7は、車載オペレーティングシステムの第2実施形態のタスク通信図である。図7に示すように、1つのサブタスクは、異なるメッセージキューを異なるサブタスクのメッセージキューに送信し、具体的には、以下のサブステップS301~S303を含む。
【0047】
S301では、メインタスクが、CreateMQ()によりサブタスクが使用する複数のメッセージキューを作成する。
【0048】
S302では、1つの送信すべきメッセージのサブタスクがそれぞれ基礎となるOSカーネルを介してSendMsg()を提供し、メッセージデータを複数のメッセージキューに送信する。
【0049】
S303では、複数の受信すべきメッセージのサブタスクがReceiveMsg()により対応する各メッセージキューからメッセージデータを受信する。
【0050】
メッセージデータの正確性を確保し、リソースを最大限に活用するために、本開示の車載オペレーティングシステムによって設計されたサブタスクは、以下のようにメッセージを処理する:メッセージキューにメッセージが到着したか否かを定期的に照会し、メッセージキューにメッセージがあれば、メッセージキューからメッセージを検索し、各アプリケーションによって定義されたプロトコルに従って該メッセージを処理し、その後メッセージの処理を継続し、メッセージキューにメッセージがなければ、サブタスクは、スリープして待機し、他のタスクに1つのメッセージが到着すると、アウェイクされ、該メッセージを処理する。
【0051】
一実施例では、BEOSドライバは、シリアルポートドライバ、CANドライバ、SPIドライバ、Flashドライバ、I2Cドライバ、及びRTCドライバのうちの少なくとも1つを含む。
【0052】
具体的には、図2に示す車載オペレーティングシステムの静的ブロック図を参照すると、図1におけるBEOSドライバは、図2における機器ドライバインタフェースに相当し、BEOSドライバは、シリアルポートドライバ、CANドライバ、SPI(Serial Peripheral interface、シリアル周辺機器インタフェース)ドライバ、Flash(Flash EEPROM、フラッシュメモリ)ドライバ、I2C(Inter-Integrated Circuit、I2Cバス)ドライバ、及びRTC(Real_Time Clock、リアルタイムクロック)ドライバを含む。図8は、車載オペレーティングシステムのドライバ図である。図8に示すように、BEOSドライバにおける各ドライバは、以下の4つの部分を含む。1)ドライバインタフェース:タスクは、ドライバインタフェースを介してハードウェアとのデータ交換を実現し、異なるハードウェアは、ドライバインタフェースが変わらない。2)中間ロジック層:a)ロジック制御は、プロトコル/仕様に関連するコンテンツ、例えば、CAN分類処理、データ検証を処理することであり、b)同期制御は、複数のタスクが同時にハードウェアにアクセスする場合に同期制御を行うことであり、c)バッファ管理は、機器によって生成されたデータに対してバッファ管理を行い、データオーバーフローを防止することである。3)ハードウェアインタフェース:ドライバは、ハードウェアインタフェースを介してハードウェアに対する操作を実現し、ハードウェアインタフェースは、プラットフォームに関連する。4)ドライバと他のアセンブリ:例えば、タイマー、同期、通信など。
【0053】
CANドライバを例として説明すると、CANは、コントローラエリアネットワーク(Controller Area Network、CAN)の略称であり、自動車電子製品の研究開発及び生産において有名なドイツのBOSCH会社によって開発され、最終的に国際標準(ISO 11898)になり、国際的に最も広く応用されているフィールドバスの1つである。図9は、車載オペレーティングシステムのCANドライバの例示図である。図9に示すように、CANドライバは、1つの共有機器であり、複数のタスクが同時にCANの読み取りと書き込みを行えるように設計される機器である。前提条件は、プラットフォームの初期化時にInitCan()を呼び出し、CANハードウェアを初期化し、CAN割り込みサービスプログラムを登録し、データ送信タイマーを作成することである。
【0054】
CANドライバインタフェースを介して、開きOpenCan(Can Id)、書き込みWriteCan(CanHandle、タイプType、データData、Len)、読み取りReadCan(CanHandle、データData、Len)、閉じCloseCan(CanHandle)、及び設定SetCan(CanHandle、タイプType、データData)を実行し、バッファのサイズを設定し調整し、CANデータの送信などをキャンセルし、GetCan(CanHandle、タイプType、データData)とリセットResetCan(CanHandle)を実行する。
【0055】
読み取り及び書き込みロジック制御は、読み取りReadCanと書き込みWriteCanを実行する。
【0056】
ハードウェアインタフェースは、_WriteCanとCan割り込みサービスプログラムを実行する。
【0057】
例えば、アプリケーションタスクとCANドライバインタフェースのデータ伝送において、CANドライバインタフェースにおけるWriteCanは、ロジック制御によって、まずイベント3回、イベント周期3回+2秒に1回、周期1秒に1回、トリガ1回などの分類を行い、タイマー管理、書き込み保護、及び書き込みレジスタによりCANハードウェアに伝送され、CAN割り込みサービスプログラムに伝送され、CANバッファ管理におけるデータの申請、検索/挿入によりCANバッファに入り、最後にReadCanを実行する。
【0058】
従来技術における車載オペレーティングシステムは、ユーザと車載ハードウェアとの間のインタフェースに過ぎず、車載ハードウェアと上層ソフトウェアとの間のインタフェースでもあり、本開示に係る車載オペレーティングシステムは、ハードウェア層、ソフトウェア層、及びアプリケーション層という3つの階層を含み、3つの階層の設計は、車載アプリケーションソフトウェアのメンテナンス及び開発をより容易に行うことができ、3つの階層は、それぞれ独自の役割を果たすことにより、車載オペレーティングシステムのリアルタイム性及び安定性がより高く、安全性がより高い。本開示に係る車載オペレーティングシステムは、実現方法及び具体的な実現プロセスをより詳細に紹介し、自動車に実際に適用されている。
【0059】
図1に示すように、本開示の他の態様に係るBEOSデバッグシステムは、PC端末上で実行され、車載オペレーティングシステムを開発し、認証し、デバッグし、メンテナンスする。
【0060】
具体的には、本開示の実施例に係る車載オペレーティングシステムは、対応するBEOSデバッグシステムを含み、車載オペレーティングシステムにおいて車載ソフトウェアを開発する際に、BEOSデバッグシステムによってより効果的な開発、認証、デバッグ、メンテナンスなどを行うことで、車載ソフトウェアは、独自に開発された車載オペレーティングシステムにおいてより良い開発とデバッグを行うことができ、本開示の実施例に係る車載オペレーティングシステムは、自動車に直接適用されてもよく、個人、部門、メーカーなどの第三者に開放されてもよく、第三者は、車載オペレーティングシステムにおいて車載に関連するソフトウェアを開発する。
【0061】
図10は、車載オペレーティングシステムをデバッグするBEOSデバッグシステムのツール図である。
【0062】
図10に示すように、BEOSデバッグシステムは、パーソナルコンピュータ(PC)端末上で実行され、4つの機能モジュールに分けられ、具体的には、通信プロトコル処理モジュールと、ソースコード処理モジュールと、デバッグ元素解析モジュールと、ユーザ操作インタフェースモジュールとを含む。
【0063】
通信プロトコル処理モジュールは、PC端末上で実行されるBEOSデバッグシステム、及びワンチップマイコン上で実行されるBEOSオペレーティングシステムに通信データ処理を提供し、
ソースコード処理モジュールは、ソースコードデータ構造解析、ソースコード表示、及びソースコード位置決めなどの機能を提供し、ソースコードデータ構造解析は、該コードがどのようなデータ構造であるかを解析するためのものであり、ソースコード表示は、プログラミングされたコードのソースコードを表示するためのものであり、ソースコード位置決めは、検索に必要な関数、変数、構造体、パラメータなどの定義箇所に直接的に位置決めするためのものである。
【0064】
デバッグ元素解析モジュールは、デバッグに必要な変数表示機能、例えば、レジスタ表示、グローバル変数表示、ローカル変数表示、スタック情報表示、関数呼び出し順序表示などを提供することにより、開発者がプログラムの実行状態、ハードウェアのドライバ状態及びソフトウェアの実行状態をリアルタイムに把握し、エラーが発生した場合に調整と修正をタイムリーに行うことができる。
【0065】
ユーザ操作インタフェースモジュール(GUI、Graphical User Interface、グラフィカルユーザインタフェース)は、ユーザ操作インタフェースを提供し、ユーザ操作インタフェースは、ユーザとハードウェア及びソフトウェアとの対話及び通信の仲介者であり、ユーザは、ユーザ操作インタフェースを介して、ソフトウェアに特定の機能を実行するように命令を送信し、該ソフトウェアは、ハードウェアと他のソフトウェアによって該命令を実行し、文字又は図形の形式で実行結果をユーザに返信する。
【0066】
本開示の車載オペレーティングシステムのソースコードのコンパイル機能は、ソースコードコンパイル、コンパイル情報ウィンドウ、及びエラー定義の3つの部分からなる。
【0067】
本開示の車載オペレーティングシステムのソフトウェアプログラミングは、プログラミングツールを呼び出してソースコードをプログラミングすることができ、ソースコードに基づいて正式なリリースバージョンを生成してプログラミング・アップグレードなどを行うこともできる。
【0068】
本開示の車載オペレーティングシステムのデバッグは、プログラム開発者に車載アプリケーションを容易に開発させるように、レジスタ、ローカル変数、グローバル変数、タスク状態の4つの部分を含む。
【0069】
本開示に係る車載オペレーティングシステムの適用範囲は、自動車アプリケーションの開発に限定されず、車載オペレーティングシステムは、将来の自動運転、ドローンの開発、飛行機、船舶などの関連アプリケーションソフトウェアの開発に適用されてもよい。
【0070】
さらなる態様として、本開示の実施例に係るBEOSデバッグ方法は、
BEOSデバッグシステムが車載オペレーティングシステムにデバッグ命令を送信するステップと、
車載オペレーティングシステムがデバッグ命令に基づいて、デバッグすべき対象をデバッグするステップと、
デバッグすべき対象がデバッグ命令に基づいて実行され、実行結果をBEOSデバッグシステムにフィードバックするステップと、
BEOSデバッグシステムがデバッグすべき対象の実行結果に基づいて、デバッグすべき対象の性能を決定するステップとを含む。
【0071】
例えば、コントローラが車両に搭載された後、コントローラは、設計されたモードに従って実行されず、例えば車窓のステップが誤り、車窓がもともと完全に上がるように設計されているが、結果的に半分まで上がり、開発者は、BEOSデバッグシステムを通じてプログラムのロジック、車窓プログラムの状態などを印刷して閲覧し、対応する調整とテストを行うことができる。
【0072】
前述の実施例に基づいて、図11は、本開示の実施例に係る電子機器の構成ブロック図である。図11に示すように、該電子機器401は、プロセッサ4011及びメモリ4012を含み、プロセッサ4011は、例えば4コアプロセッサ、8コアプロセッサなどの1つ以上の処理コアを含んでもよい。プロセッサ4011は、デジタル信号処理(Digital Signal Processing、DSP)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)、プログラマブルロジックアレイ(Programmable Logic Array、PLA)のうちの少なくとも1つのハードウェア形態を使用して実装されてもよい。
【0073】
プロセッサ4011は、メインプロセッサ及びコプロセッサを含んでもよく、メインプロセッサは、アウェイク状態でのデータを処理するプロセッサであり、中央処理装置(Central Processing Unit、CPU)とも呼ばれ、コプロセッサは、スタンバイ状態でのデータを処理する低消費電力プロセッサである。
【0074】
また、プロセッサ4011には、画像処理装置(Graphics Processing Unit、GPU)が集積されてもよく、GPUは、表示画面に表示する必要があるコンテンツに対するレンダリング及び描画を行う。いくつかの実施例では、プロセッサ4011は、人工知能(Artificial Intelligence、AI)プロセッサをさらに含んでもよく、該AIプロセッサは、機械学習に関連する演算操作を処理する。
【0075】
メモリ4012は、1つ以上のコンピュータ可読記憶媒体を含んでもよく、該コンピュータ可読記憶媒体は、非一時的であってもよい。メモリ4012は、高速ランダムアクセスメモリ、及び不揮発性メモリ、例えば1つ以上の磁気ディスクストレージ電子機器、フラッシュメモリストレージ電子機器をさらに含んでもよい。いくつかの実施例では、メモリ4012における非一時的なコンピュータ可読記憶媒体は、少なくとも1つの命令を記憶し、該少なくとも1つの命令は、プロセッサ4011により実行されて本開示の方法実施例に係る書類表示方法を実現する。
【0076】
いくつかの実施例では、電子機器401は、周辺電子機器インタフェース4013及び少なくとも1つの周辺電子機器をさらに含んでもよい。プロセッサ4011、メモリ4012、及び周辺電子機器インタフェース4013は、バス又は信号線を介して接続されてもよい。各周辺電子機器は、バス、信号線又は回路基板を介して周辺電子機器インタフェース4013に接続されてもよい。
【0077】
具体的には、周辺電子機器は、無線周波数回路4014、タッチパネルディスプレイ4015、及び電源4016を含むが、これらに限定されない。周辺電子機器インタフェース4013は、入力/出力(Input/Output、I/O)に関する少なくとも1つの周辺電子機器をプロセッサ4011及びメモリ4012に接続してもよい。いくつかの実施例では、プロセッサ4011、メモリ4012、及び周辺電子機器インタフェース4013は、同一のチップ又は回路基板に集積され、いくつかの他の実施例では、プロセッサ4011、メモリ4012、及び周辺電子機器インタフェース4013のうちのいずれか1つ又は2つは、単独のチップ又は回路基板で実装されてもよく、本開示の実施例は、これを限定しない。
【0078】
無線周波数回路4014は、電磁信号とも呼ばれる無線周波数(Radio Frequency、RF)信号を送受信する。無線周波数回路4014は、電磁信号を介して通信ネットワーク及び他の通信電子機器と通信する。無線周波数回路4014は、電気信号を電磁信号に変換して送信し、又は、受信した電磁信号を電気信号に変換する。任意選択で、無線周波数回路4014は、アンテナシステム、RFトランシーバ、1つ以上の増幅器、チューナ、発振器、デジタル信号プロセッサ、コーデックチップセット、ユーザ識別モジュールカードなどを含む。無線周波数回路4014は、少なくとも1種の無線通信プロトコルによって他の電子機器と通信することができる。該無線通信プロトコルは、メトロポリタンエリアネットワーク、各世代移動通信ネットワーク(2G、3G、4G及び5G)、無線ローカルエリアネットワーク及び/又はワイヤレスフィデリティ(Wireless Fidelity、WiFi)ネットワークを含むが、これらに限定されない。いくつかの実施例では、無線周波数回路4014は、近距離無線通信(Near Field Communication、NFC)に関連する回路をさらに含んでもよい。
【0079】
タッチパネルディスプレイ4015は、ユーザインタフェース(User Interface、UI)を表示する。該UIは、グラフィックス、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせを含んでもよい。タッチパネルディスプレイ4015がタッチパネルディスプレイである場合、タッチパネルディスプレイ4015は、タッチパネルディスプレイ4015の表面又は表面の上方におけるタッチ信号を収集する能力をさらに有する。該タッチ信号は、制御信号としてプロセッサ4011に入力されて処理されてもよい。この場合、タッチパネルディスプレイ4015は、ソフトボタン及び/又はソフトキーボードとも呼ばれる仮想ボタン及び/又は仮想キーボードを提供してもよい。いくつかの実施例では、タッチパネルディスプレイ4015は、1つであってもよく、電子機器401の前面板に設置され、別のいくつかの実施例において、タッチパネルディスプレイ4015は、少なくとも2つであってもよく、それぞれ電子機器401の異なる表面に設置されるか又は折り畳み設計で配置され、さらなるいくつかの実施例では、タッチパネルディスプレイ4015は、フレキシブルディスプレイであってもよく、電子機器401の湾曲面又は折り畳み面に設置される。さらに、タッチパネルディスプレイ4015は、非矩形の不規則な形状、即ち異形スクリーンとして設置されてもよい。タッチパネルディスプレイ4015は、液晶ディスプレイ(Liquid Crystal Display、LCD)、有機発光ダイオード(Organic Light-Emitting Diode、OLED)などの材料で製造することができる。
【0080】
当業者であれば理解できるように、図11に示す構造は、電子機器401を限定するものではなく、図示よりも多く又は少ない部品を含んでもよく、いくつかの部品を組み合わせてもよく、異なるアセンブリを使用して配置されてもよい。
【0081】
本実施例において、電子機器401は、メモリ4012に記憶され、1つ以上のプロセッサ4011によって実行される1つ以上のプログラムをさらに含み、1つ以上のプログラムは、本開示の実施例に係る上記電子機器が実行する車載オペレーティングシステムにおけるタスク同期、通信及びドライバ方法、及びBEOSデバッグ方法を行う命令を含む。
【0082】
前述の実施例に基づいて、図12は、本開示の実施例に係るサーバの構成ブロック図である。図12に示すように、該サーバ402は、配置又は性能が異なるため、比較的に大きな差異が生じる可能性があり、1つ以上の中央処理装置(Central Processing Units、CPU)4021(例えば、1つ以上のプロセッサ)と、メモリ4022と、アプリケーションプログラム4023又はデータ4024を記憶する1つ以上の記憶媒体4025(例えば、1つ以上の大容量電子機器)とを含んでもよい。ここで、メモリ4022及び記憶媒体4025は、一時的記憶装置であってもよく、永続的記憶装置であってもよい。記憶媒体4025に記憶されたプログラムは、それぞれがコンピュータシステムに対する一連の命令操作を含み得る1つ以上のモジュール(図示せず)を含んでもよい。中央処理装置4021は、記憶媒体4025と通信して、記憶媒体4025における一連の命令操作をサーバ402上で実行するように構成されてもよい。
【0083】
サーバ402は、1つ以上の電源4026、1つ以上の有線又は無線ネットワークインタフェース4027、1つ以上の入出力インタフェース4028、及び/又は1つ以上のオペレーティングシステム4029、例えば、BEOS、Windows Server TM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTMなどをさらに含んでもよい。
【0084】
別の態様として、本開示の実施例に係るコンピュータ可読記憶媒体は、前述の各実施例の車載オペレーティングシステムにおけるタスク同期、通信及びドライバ方法、及びBEOSデバッグ方法におけるいずれかの実施形態を実行するプログラムコードを記憶する。
【0085】
さらなる態様として、本開示の実施例に係る命令を含むコンピュータプログラム製品は、コンピュータで実行される場合、コンピュータに、前述の各実施例の車載オペレーティングシステムにおけるタスク同期、通信及びドライバ方法、及びBEOSデバッグ方法におけるいずれかの実施形態を実行させる。
【0086】
当業者であれば明確に把握できるように、便利かつ簡潔で説明するために、上述したシステム、装置、及びモジュールの具体的な動作過程については、前述の方法の実施例における対応する過程を参照することができ、ここでは説明を省略する。
【0087】
本開示に係るいくつかの実施例では、開示されたシステム、装置及び方法は、他の方式で実現されてもよいことを理解されたい。例えば、以上に説明した装置の実施例は、例示的なものに過ぎず、例えば、モジュールの分割は、論理的な機能分割に過ぎず、実際に実現される場合に他の分割方式があってもよく、例えば、複数のモジュール又はコンポーネントは、組み合わせられてもよく、別のシステムに集積されてもよく、いくつかの特徴が無視されてもよく、実行されなくてもよい。また、示されるか又は議論される相互結合、直接結合又は通信接続は、いくつかのインタフェースにより実現されてもよく、装置又はモジュールの間接結合又は通信接続は、電気的、機械的、又は他の形態であってもよい。分離部材として説明されたモジュールは、物理的に分離されたものであってもよく、物理的に分離されたものではなくてもよく、モジュールとして表示された部材は、物理ユニットであってもよく、物理ユニットではなくてもよく、即ち、同じ場所に位置してもよく、複数のネットワークユニットに分布してもよい。本実施例の技術手段の効果を達成するために、実際の必要に応じて、一部又は全部のモジュールを選択してもよい。
【0088】
また、本開示の各実施例における各機能モジュールは、1つの処理ユニットに集積されてもよく、各モジュールは、単独で物理的に存在してもよく、2つ以上のユニットは、1つのモジュールに集積されてもよい。上記集積されたユニットは、ハードウェアの形態で実現されてもよく、ソフトウェア機能ユニットの形態で実現されてもよい。上記集積されたユニットは、ソフトウェア機能ユニットの形式で実現され、かつ独立した製品として販売又は使用されると、1つのコンピュータ可読記憶媒体に記憶されてもよい。
【0089】
このような理解に基づいて、本開示の技術手段の従来技術に寄与する部分、又は該技術手段の全部又は一部は、ソフトウェア製品の形態で実現されてもよく、該コンピュータソフトウェア製品は、記憶媒体に記憶されており、1つのコンピュータ電子機器(パーソナルコンピュータ、サーバ、又はネットワーク電子機器などであってもよい)に本開示の各実施例における情報報告方法のステップの全部又は一部を実行させるためのいくつかの命令を含む。前述の記憶媒体は、USBメモリ、リムーバブルハードディスク、読み出し専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク又は光ディスクなどのプログラムコードを記憶可能な様々な媒体を含む。
【0090】
なお、以上の実施例は、本開示の技術手段を説明するためのものに過ぎず、それを限定するものではなく、前述の実施例を参照しながら、本開示を詳細に説明したが、当業者であれば、依然として前述の各実施例に記載の技術手段を修正するか、又はその技術的特徴の一部を同等置換することができ、これらの修正又は置換によって、対応する技術手段は、本開示の各実施例の技術手段の精神及び範囲から逸脱することがない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2024-05-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
下から上へ順に設置されたハードウェア層、ソフトウェア層、及びアプリケーション層を含み、前記ハードウェア層は、それぞれが1つのプロセッサを含む少なくとも1つのコントローラハードウェアを含み、
前記ソフトウェア層は、BEOSオペレーティングシステム及びBEOSドライバを含み、前記BEOSオペレーティングシステムは、コンピュータシステムのハードウェアリソース及びソフトウェアリソースを管理し制御し、前記BEOSドライバは、ハードウェア層とソフトウェア層との間のデータ伝送を完了し、
前記アプリケーション層は、オペレーティングシステムインタフェースを介して前記BEOSオペレーティングシステムに接続され、それぞれが車載に関連するアプリケーションを提供する複数のアプリケーションプログラムを含む、ことを特徴とする車載オペレーティングシステム。
【請求項2】
前記BEOSオペレーティングシステムは、上から下へ順に設置されたタスク層、中間プロトコルスタック層、及びOSカーネル層を含み、
前記BEOSドライバは、シリアルポートドライバ、CANドライバ、SPIドライバ、Flashドライバ、I2Cドライバ、及びRTCドライバのうちの少なくとも1つを含む、ことを特徴とする請求項1に記載の車載オペレーティングシステム。
【請求項3】
前記中間プロトコルスタック層は、ネットワーク管理モジュール、CANサービスモジュール、及びデータ永続化管理モジュールのうちの少なくとも1つを含む、ことを特徴とする請求項2に記載の車載オペレーティングシステム。
【請求項4】
前記中間プロトコルスタック層は、ファイルシステムモジュール、TCP/IPプロトコルモジュール、ブルートゥースプロトコルスタックモジュール(ブルートゥースは登録商標)、及び信号管理モジュールのうちの少なくとも1つをさらに含む、ことを特徴とする請求項2に記載の車載オペレーティングシステム。
【請求項5】
前記OSカーネル層は、タスク管理モジュール、タスク通信モジュール、メモリ管理モジュール、メモリランタイムライブラリモジュール、タイマー管理モジュール、同期管理モジュール、及び割り込み管理モジュールのうちの少なくとも1つを含む、ことを特徴とする請求項2に記載の車載オペレーティングシステム。
【請求項6】
前記タスク層は、作業タスクモジュール及びシステム監視タスクモジュールを含み、前記作業タスクモジュールは、それぞれが少なくとも1つのサブタスクユニットに通信可能に接続される少なくとも1つのメインタスクユニットを含む、ことを特徴とする請求項2に記載の車載オペレーティングシステム。
【請求項7】
前記メインタスクユニットは、リソース集中管理及びサブタスクユニット管理を提供し、前記リソース集中管理は、タイマー、メッセージキュー、セマフォ、待ちリスト、及びハードウェアリソースの申請と解放のうちの少なくとも1つを含み、
前記サブタスクユニット管理は、サブタスク作成、サブタスク削除、サブタスク状態制御、及びサブタスク状態監視のうちの少なくとも1つを含む、ことを特徴とする請求項6に記載の車載オペレーティングシステム。
【請求項8】
前記作業タスクモジュールにおけるタスク通信方法は、
メインタスクが、CreateMQ()によりサブタスクが使用するメッセージキューを作成するステップと、
少なくとも1つの送信すべきメッセージのサブタスクがそれぞれSendMsg()によりメッセージデータを前記メッセージキューに送信するステップと、
少なくとも1つの受信すべきメッセージのサブタスクがReceiveMsg()により前記メッセージキューからメッセージデータを受信するステップとを含む、ことを特徴とする請求項6に記載の車載オペレーティングシステム。
【請求項9】
PC端末上で実行され、請求項1~8のいずれか一項に記載の車載オペレーティングシステムを開発し、認証し、デバッグし、メンテナンスする、ことを特徴とするBEOSデバッグシステム。
【請求項10】
通信プロトコル処理モジュールと、ソースコード処理モジュールと、デバッグ元素解析モジュールと、ユーザ操作インタフェースモジュールとを含み、
通信プロトコル処理モジュールは、BEOSデバッグシステムとBEOSオペレーティングシステムとの通信データ処理を提供し、
ソースコード処理モジュールは、ソースコードデータ構造解析、ソースコード表示、とソースコード位置決めの機能を提供し、
デバッグ元素解析モジュールは、デバッグに必要な変数表示機能を提供し、
ユーザ操作インタフェースモジュールは、ユーザ操作インタフェースを提供する、ことを特徴とする請求項9に記載のBEOSデバッグシステム。
【請求項11】
BEOSデバッグシステムが車載オペレーティングシステムにデバッグ命令を送信するステップと、
前記車載オペレーティングシステムが前記デバッグ命令に基づいて、デバッグすべき対象をデバッグするステップと、
前記デバッグすべき対象が前記デバッグ命令に基づいて実行され、実行結果を前記BEOSデバッグシステムにフィードバックするステップと、
前記BEOSデバッグシステムが前記デバッグすべき対象の実行結果に基づいて、前記デバッグすべき対象の性能を決定するステップとを含む、ことを特徴とするBEOSデバッグ方法。
【請求項12】
プロセッサと、メモリとを含み、前記メモリには、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、前記命令、前記プログラム、前記コードセット又は前記命令セットは、前記プロセッサによってロードされ、かつ実行されることにより、請求項8に記載のタスク通信方法におけるステップと、請求項11に記載のBEOSデバッグ方法におけるステップとを実現する、ことを特徴とする電子機器。
【請求項13】
1つ以上のプロセッサによって実行されることにより、請求項8に記載のタスク通信方法におけるステップと、請求項11に記載のBEOSデバッグ方法におけるステップとを実現する1つ以上のプログラムが記憶されている、ことを特徴とするコンピュータ可読記憶媒体。
【国際調査報告】