JP6198939B2 - ドライバをロードする方法及び組み込みデバイス - Google Patents

ドライバをロードする方法及び組み込みデバイス Download PDF

Info

Publication number
JP6198939B2
JP6198939B2 JP2016515649A JP2016515649A JP6198939B2 JP 6198939 B2 JP6198939 B2 JP 6198939B2 JP 2016515649 A JP2016515649 A JP 2016515649A JP 2016515649 A JP2016515649 A JP 2016515649A JP 6198939 B2 JP6198939 B2 JP 6198939B2
Authority
JP
Japan
Prior art keywords
driver
component
embedded device
file
operating system
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
Application number
JP2016515649A
Other languages
English (en)
Other versions
JP2016519385A (ja
Inventor
大能 王
大能 王
光▲華▼ ▲鐘▼
光▲華▼ ▲鐘▼
方 袁
方 袁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2016519385A publication Critical patent/JP2016519385A/ja
Application granted granted Critical
Publication of JP6198939B2 publication Critical patent/JP6198939B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

本発明は、コンピュータ技術の分野に関し、特にドライバをロードする方法及び組み込みデバイスに関する。
通信技術の急速な進展により、コンピュータ分野は、PC(Personal Computer、パーソナルコンピュータ)時代及びネットワーク時代を経験しており、次に、いわゆるポストPC時代に直面している。PC時代及びポストネットワーク時代の新規参入者として、組み込みデバイスはますます重要である。
現在では、ますます多くのコンポーネントがスマートフォン及び装着可能デバイスのような組み込みデバイスにおいてサポートされている。各コンポーネントは、対応するドライバがロードされた後にのみ実行することができる。同じモデルの組み込みデバイスにおける同じコンポーネントは、通常では異なる製造者により提供されており、異なる製造者により提供される同じコンポーネントに対応するドライバも異なる。実際の用途では、各組み込みデバイスの出荷の前に、組み込みデバイスを保持するユーザがコンポーネントを直接使用することができるように、組み込みデバイスの各コンポーネントのドライバは完全にロードされる必要がある。
従来技術では、ドライバがロードされる前に、コンポーネントにより使用され得るドライバの識別子は、まず、ドライバ識別子の組み合わせを取得するために組み合わされる必要があり、複数のドライバ識別子の組み合わせがレジストリに追加される。ドライバをロードする場合、組み込みデバイスは、組み込みデバイスに対応するドライバ識別子の組み合わせを決定するためにレジストリにおいて検索し、ドライバ識別子の組み合わせに含まれるコンポーネントのドライバ識別子に従って対応するドライバを検索し、ロードを実行する。
例えば、組み込みデバイスは2つのコンポーネント、すなわち、ジャイロスコープ及び重力センサを有する。ジャイロスコープは2つの製造者により提供され、製造者1により提供されるジャイロスコープのドライバ1に対応する識別子は識別子1であり、製造者2により提供されるジャイロスコープのドライバ2に対応する識別子は識別子2である。重力センサも2つの製造者により提供され、製造者3により提供される重力センサのドライバ3に対応する識別子は識別子3であり、製造者4により提供される重力センサのドライバ4に対応する識別子は識別子4である。この場合、4つのドライバ識別子の組み合わせ、すなわち、ドライバ識別子の組み合わせ1:識別子1及び識別子3、ドライバ識別子の組み合わせ2:識別子1及び識別子4、ドライバ識別子の組み合わせ3:識別子2及び識別子3、並びに、ドライバ識別子の組み合わせ4:識別子2及び識別子4が生成される必要がある。組み込みデバイスの各バッチは、1つのドライバ識別子の組み合わせに対応しており、対応するドライバ識別子の組み合わせは、製造が完了した後に決定される。従って、ドライバをロードするために、組み込みデバイスは、まず、4つのドライバ識別子の組み合わせ、すなわち、ドライバ識別子の組み合わせ1、ドライバ識別子の組み合わせ2、ドライバ識別子の組み合わせ3及びドライバ識別子の組み合わせ4から組み込みデバイスのバッチに対応するドライバ識別子の組み合わせをレジストリにおいて検索する必要があり、ドライバ識別子の組み合わせに含まれるドライバ識別子に従ってドライバを検索し、ロードを実行する。
組み込みデバイスがドライバをロードする場合、組み込みデバイスは、ドライバ識別子の組み合わせに対応しており、対応するドライバ識別子の組み合わせに含まれるコンポーネントのドライバの識別子が見つけられ、ドライバの識別子に対応するドライバがロードされる。組み込みデバイスのコンポーネントの増加及び各コンポーネントの製造者の多様性により、ますます多くのドライバ識別子の組み合わせが存在する。従って、時間がかかり、低いロード効率という欠点が存在する。
本発明の実施例は、従来技術における時間がかかり、低いロード効率という問題を解決するために使用される、ドライバをロードする方法及び装置を提供する。
本発明の実施例は、以下の具体的な技術的対策を提供する。
第1の態様によれば、ドライバをロードする方法が提供され、組み込みデバイスに含まれるコンポーネントに対応するモデル識別子を決定するステップであり、コンポーネントは、ドライバがロードされるべきコンポーネントであるステップと、コンポーネントに対応するモデル識別子に関連するドライバを検索するステップと、見つかったドライバを組み込みデバイスのメモリにロードし、コンポーネントを駆動するために、組み込みデバイスのメモリにロードされたドライバを制御するステップとを含む。
第1の態様を参照して、第1の可能な実現方式では、コンポーネントに対応するモデル識別子に関連するドライバを検索するステップは、組み込みデバイスの最小オペレーティングシステムミラーを使用することにより、コンポーネントに対応するモデル識別子に関連するドライバを検索するステップを具体的に含み、最小オペレーティングシステムミラーは、組み込みデバイスを開始し、サービス機能を実行し、組み込みデバイスに含まれるコンポーネントのドライバをロードするために使用される。
第1の態様の第1の可能な実現方式を参照して、第2の可能な実現方式では、コンポーネントに対応するモデル識別子に関連するドライバを検索する前に、この方法は、組み込みデバイスの最小オペレーティングシステムミラーを生成するステップを更に含む。
第1の態様の第2の可能な実現方式を参照して、第3の可能な実現方式では、組み込みデバイスの最小オペレーティングシステムミラーを生成するステップは、初期の最小オペレーティングシステムミラーを生成するために、組み込みデバイスのサービス機能に基づいて開発された元のコードをコンパイルするステップであり、初期の最小オペレーティングシステムミラーは、実行可能ファイルと、実行可能及びリンク可能フォーマットのファイルとを含み、元のコードは、組み込みデバイスのサービス機能を実現するために使用されるステップと、実行可能及びリンク可能フォーマットのファイルからシンボルテーブルを抽出するステップであり、実行可能及びリンク可能フォーマットのファイルは、初期の最小オペレーティングシステムミラーに含まれるステップと、シンボルテーブルに従ってCファイルを生成し、生成されたCファイルを元のコードに追加するステップと、組み込みデバイスの最小オペレーティングシステムミラーを取得するために、Cファイルが追加された元のコードをコンパイルするステップとを含む。
第1の態様又は第1の態様の第1〜第3の可能な実現方式を参照して、第4の可能な実現方式では、コンポーネントに対応するモデル識別子に関連するドライバを検索する前に、この方法は、コンポーネントと同じタイプのコンポーネントの各モデル識別子と、同じタイプのコンポーネントのそれぞれに対応する各ドライバとを決定するステップであり、同じタイプのコンポーネントは、コンポーネントと同じ属性又は機能を有するコンポーネントであるステップと、コンポーネントと同じタイプの各コンポーネントの決定されたモデル識別子と、同じタイプのコンポーネントの決定されたドライバとの間の関連付け関係を格納するステップとを更に含む。
第1の態様の第4の可能な実現方式を参照して、第5の可能な実現方式では、コンポーネントと同じタイプの各コンポーネントの決定されたモデル識別子と、同じタイプのコンポーネントの決定されたドライバとの間の関連付け関係を格納するステップは、同じタイプの各コンポーネントのドライバを予め設定されたフォーマットのファイルにコンパイルするステップであり、予め設定されたフォーマットのファイルは、再配置の属性を有するステップと、予め設定されたルールに従って予め設定されたフォーマットのファイルを格納し、予め設定されたフォーマットのファイルが格納された論理アドレスを取得するステップと、モデル識別子のいずれか1つと取得された論理アドレスとの間の対応を格納するステップとを具体的に含む。
第1の態様の第5の可能な実現方式を参照して、第6の可能な実現方式では、予め設定されたフォーマットのファイルのアドレスフィールドは初期の予め設定された値であり、予め設定されたルールに従って予め設定されたフォーマットのファイルを格納した後に、この方法は、予め設定されたフォーマットのファイルのアドレスフィールドの初期の予め設定された値を論理アドレスに変更するステップを更に含む。
第1の態様の第5又は第6の可能な実現方式を参照して、第7の可能な実現方式では、コンポーネントに対応するモデル識別子に関連するドライバを検索するステップは、格納された関連付け関係から、コンポーネントに対応するモデル識別子に対応する論理アドレスを決定するステップと、コンポーネントに対応するモデル識別子に関連するドライバとして予め設定されたフォーマットのファイルを使用するステップであり、予め設定されたフォーマットのファイルは、決定された論理アドレスに格納されるステップとを具体的に含む。
第1の態様の第6又は第7の可能な実現方式を参照して、第8の可能な実現方式では、見つかったドライバを組み込みデバイスのメモリにロードするステップは、組み込みデバイスのメモリにロードされるドライバの物理アドレスを決定するステップと、ドライバのアドレスフィールドを論理アドレスから物理アドレスに変更するステップとを具体的に含む。
第1の態様の第1〜第8の可能な実現方式を参照して、第9の可能な実現方式では、見つかったドライバを組み込みデバイスのメモリにロードするステップは、ダイナミックロード方式で最小オペレーティングシステムミラーを使用することにより、見つかったドライバを組み込みデバイスのメモリにロードするステップを含む。
第1の態様の第9の可能な実現方式を参照して、第10の可能な実現方式では、ダイナミックロード方式で最小オペレーティングシステムミラーを使用することにより、見つかったドライバを組み込みデバイスのメモリにロードするステップは、最小オペレーティングシステムミラーの関数及びグローバル変数を使用することにより、見つかったドライバを組み込みデバイスのメモリにコピーするステップと、最小オペレーティングシステムミラーに基づいて関数ポインタの形式で、見つかったドライバのインタフェース関数を呼び出し、組み込みデバイスのメモリにコピーされたドライバをリンクするステップとを具体的に含む。
第2の態様によれば、ドライバをロードする組み込みデバイスが提供され、組み込みデバイスに含まれるコンポーネントに対応するモデル識別子を決定するように構成された決定ユニットであり、コンポーネントは、ドライバがロードされるべきコンポーネントである決定ユニットと、コンポーネントに対応するモデル識別子に関連するドライバを検索するように構成された検索ユニットと、見つかったドライバを組み込みデバイスのメモリにロードし、コンポーネントを駆動するために、組み込みデバイスのメモリにロードされたドライバを制御するように構成されたロードユニットとを含む。
第2の態様を参照して、第1の可能な実現方式では、検索ユニットは、組み込みデバイスの最小オペレーティングシステムミラーを使用することにより、コンポーネントに対応するモデル識別子に関連するドライバを検索するように具体的に構成され、最小オペレーティングシステムミラーは、組み込みデバイスを開始し、サービス機能を実行し、組み込みデバイスに含まれるコンポーネントのドライバをロードするために使用される。
第2の態様の第1の可能な実現方式を参照して、第2の可能な実現方式では、組み込みデバイスは、組み込みデバイスの最小オペレーティングシステムミラーを生成するように構成された生成ユニットを更に含む。
第2の態様の第2の可能な実現方式を参照して、第3の可能な実現方式では、生成ユニットは、初期の最小オペレーティングシステムミラーを生成するために、組み込みデバイスのサービス機能に基づいて開発された元のコードをコンパイルするように構成されたコンパイルモジュールであり、初期の最小オペレーティングシステムミラーは、実行可能ファイルと、実行可能及びリンク可能フォーマットのファイルとを含み、元のコードは、組み込みデバイスのサービス機能を実現するために使用されるコンパイルモジュールと、実行可能及びリンク可能フォーマットのファイルからシンボルテーブルを抽出するように構成された抽出モジュールであり、実行可能及びリンク可能フォーマットのファイルは、初期の最小オペレーティングシステムミラーに含まれ、シンボルテーブルに従ってCファイルを生成し、生成されたCファイルを元のコードに追加するように構成された抽出モジュールとを含み、コンパイルモジュールは、組み込みデバイスの最小オペレーティングシステムミラーを取得するために、Cファイルが追加された元のコードをコンパイルするように更に構成される。
第2の態様又は第2の態様の第1〜第3の可能な実現方式を参照して、第4の可能な実現方式では、組み込みデバイスは、記憶ユニットを更に含み、記憶ユニットは、コンポーネントと同じタイプのコンポーネントの各モデル識別子と、同じタイプのコンポーネントのそれぞれに対応する各ドライバとを決定し、同じタイプのコンポーネントは、コンポーネントと同じ属性又は機能を有するコンポーネントであり、コンポーネントと同じタイプの各コンポーネントの決定されたモデル識別子と、同じタイプのコンポーネントの決定されたドライバとの間の関連付け関係を格納するように具体的に構成される。
第2の態様の第4の可能な実現方式を参照して、第5の可能な実現方式では、記憶ユニットは、同じタイプの各コンポーネントのドライバを予め設定されたフォーマットのファイルにコンパイルし、予め設定されたフォーマットのファイルは、再配置の属性を有し、予め設定されたルールに従って予め設定されたフォーマットのファイルを格納し、予め設定されたフォーマットのファイルが格納された論理アドレスを取得し、モデル識別子のいずれか1つと取得された論理アドレスとの間の対応を格納するように具体的に構成される。
第2の態様の第5の可能な実現方式を参照して、第6の可能な実現方式では、予め設定されたフォーマットのファイルのアドレスフィールドは初期の予め設定された値であり、記憶ユニットは、予め設定されたルールに従って予め設定されたフォーマットのファイルを格納した後に、予め設定されたフォーマットのファイルのアドレスフィールドの初期の予め設定された値を論理アドレスに変更するように更に構成される。
第2の態様の第5又は第6の可能な実現方式を参照して、第7の可能な実現方式では、検索ユニットは、格納された関連付け関係から、コンポーネントに対応するモデル識別子に対応する論理アドレスを決定し、コンポーネントに対応するモデル識別子に関連するドライバとして予め設定されたフォーマットのファイルを使用するように具体的に構成され、予め設定されたフォーマットのファイルは、決定された論理アドレスに格納される。
第2の態様の第6又は第7の可能な実現方式を参照して、第8の可能な実現方式では、ロードユニットは、組み込みデバイスのメモリにロードされるドライバの物理アドレスを決定し、ドライバのアドレスフィールドを論理アドレスから物理アドレスに変更するように具体的に構成される。
第2の態様の第1〜第8の可能な実現方式を参照して、第9の可能な実現方式では、ロードユニットは、最小オペレーティングシステムミラーの関数及びグローバル変数を使用することにより、見つかったドライバを組み込みデバイスのメモリにコピーし、最小オペレーティングシステムミラーに基づいて関数ポインタの形式で、見つかったドライバのインタフェース関数を呼び出し、組み込みデバイスのメモリにコピーされたドライバをリンクするように具体的に構成される。
本発明の有利な効果は以下の通りである。
従来技術では、ドライバがロードされる場合、組み込みデバイスは、組み込みデバイスに対応するドライバ識別子の組み合わせをレジストリにおいて検索し、ドライバ識別子の組み合わせに含まれるドライバ識別子に従って各ドライバ識別子に対応するドライバを検索する。ますます多くのドライバ識別子の組み合わせが存在するため、時間がかかり、低いロード効率という欠点が存在する。本発明の実施例では、組み込みデバイスに含まれるコンポーネントに現在対応するモデル識別子が決定され、コンポーネントは、ドライバがロードされるべきコンポーネントであり、コンポーネントに対応するモデル識別子に関連するドライバが検索され、見つかったドライバが組み込みデバイスのメモリにロードされ、組み込みデバイスのメモリにリンクされたドライバが、コンポーネントを駆動するように制御される。この対策では、ドライバがロードされるべきコンポーネントにドライバがロードされる場合、関連するドライバは、ドライバがロードされるべきコンポーネントのモデル識別子に従って検索され、関連するドライバがロードされ得る。複数のドライバ識別子の組み合わせが生成される必要はなく、また、複数のドライバ識別子の組み合わせが検索される必要はない。従って、消費される時間が低減され、ロード効率が改善される。
本発明の実施例に従ってドライバをロードするフローチャート 本発明の実施例に従って最小オペレーティングシステムミラーを生成する概略図 本発明の実施例に従ってドライバを予め設定されたフォーマットのファイルにコンパイルする概略図 本発明の実施例に従ってロードする実現の概略図 本発明の実施例に従ってドライバをロードするフローチャート 本発明の実施例による組み込みデバイスの機能の概略構成図 本発明の実施例による組み込みデバイスの物理装置の概略構成図
本発明の実施例の目的、技術的対策及び利点を明確にするために、以下に、本発明の実施例の添付図面を参照して本発明の実施例の技術的対策について明確に説明する。明らかに、説明する実施例は、本発明の実施例の全てではなく、一部である。創造的取り組みを行うことなく本発明の実施例に基づいて当業者により取得される全ての他の実施例は、本発明の保護範囲内に入るものとする。
この明細書において、用語“及び/又は”は、単に関連するオブジェクトの関連付け関係を記載するものに過ぎず、3つの関係が存在し得ることを表す。例えば、A及び/又はBは、Aのみが存在する場合と、A及びBの双方が存在する場合と、Bのみが存在する場合との3つの場合を表してもよい。更に、この明細書において文字“/”は、関連するオブジェクトの間の“又は”の関係を一般的に示す。
実際の用途では、1つの組み込みデバイスは、一般的に、ディスプレイ、センサ、プロセッサ及びカメラのような複数のコンポーネントを含む。各コンポーネントが実行する前に、ドライバがロードされる必要がある。従って、本発明の実施例では、ドライバをロードする方法が提供される。この方法では、組み込みデバイスに含まれるコンポーネントに対応するモデル識別子が決定され、コンポーネントは、ドライバがロードされるべきコンポーネントであり、コンポーネントに対応するモデル識別子に関連するドライバが検索され、見つかったドライバが組み込みデバイスのメモリにロードされ、組み込みデバイスのメモリにロードされたドライバが、コンポーネントを駆動するように制御される。この対策では、ドライバがロードされるべきコンポーネントにドライバがロードされる場合、関連するドライバは、ドライバがロードされるべきコンポーネントのモデル識別子に従って検索され、関連するドライバがロードされ得る。複数のドライバの組み合わせが検索される必要はなく、また、複数のコンポーネントのドライバに対応する識別子の組み合わせが検索される必要はない。従って、消費される時間が低減され、ロード効率が改善される。
本発明の例示的な実現方式について、添付図面を参照して以下に詳細に説明する。
図1Aを参照すると、本発明の実施例は、ドライバをロードする方法を提供する。この方法の具体的な処理は以下の通りである。
ステップ100:組み込みデバイスに含まれるコンポーネントに対応するモデル識別子を決定する。コンポーネントは、ドライバがロードされるべきコンポーネントである。
ステップ110:コンポーネントに対応するモデル識別子に関連するドライバを検索する。
ステップ120:見つかったドライバを組み込みデバイスのメモリにロードし、コンポーネントを駆動するために、組み込みデバイスのメモリにロードされたドライバを制御する。
本発明のこの実施例では、ステップ100〜ステップ120の対策について多くの起動条件が存在する。例えば、ドライバをロードするための命令が受信された場合、ステップ100〜ステップ120が実行され始める。明らかに、実際の用途では、他の起動条件が存在し、詳細はここでは説明しない。
本発明のこの実施例では、ドライバをロードするための多くの受信した命令が存在する。例えば、組み込みデバイスを初期化するための命令は、ドライバをロードするための命令として使用されてもよい。他の例では、周辺機器デバイスが組み込みデバイスに挿入されたことが検出された場合、検出情報は、ドライバをロードするための命令として使用されてもよい。明らかに、実際の用途では、多くの他の形式が存在し、詳細はここでは説明しない。
本発明のこの実施例では、モデル識別子は、製造者により製造された同じタイプのコンポーネントを一意に識別するために使用され、異なる製造者により製造された同じタイプのコンポーネントは、異なるモデル識別子により区別される。すなわち、モデル識別子は、特定のコンポーネントが特定の製造者により製造されたことを表すために使用される。例えば、モデル識別子1:A10376BZHは、ジャイロスコープが製造者XXにより製造されたことを表すために使用され、モデル識別子2:B10376ASDは、重力センサが製造者LLLにより製造されたことを表すために使用される。一般的に、モデル識別子の最初の2ビットは、コンポーネントを識別するために使用され、モデル識別子の最後の3ビットは、製造者を示すために使用され、モデル識別子の他のビットは、コンポーネントの製造バッチ等を識別してもよい。これは、異なる用途事例によって変化してもよく、詳細はここでは説明しない。同様に、モデル識別子も、異なる用途事例によって変化してもよく、詳細はここでは説明しない。
本発明のこの実施例では、コンポーネントに対応するモデル識別子に関連するドライバを検索する多くの方式が存在し、任意選択で以下の方式が使用されてもよい。
コンポーネントに対応するモデル識別子に関連するドライバは、組み込みデバイスの最小オペレーティングシステムミラーを使用することにより検索される。最小オペレーティングシステムミラーは、組み込みデバイスを開始し、サービス機能を実行し、組み込みデバイスに含まれるコンポーネントのドライバをロードするために使用される。最小オペレーティングシステムミラーは、BSP(Board Support Package、ボードサポートパッケージ)、オペレーティングシステム及びアプリケーション層ソフトウェアのみを含む。
従来技術のオペレーティングシステムミラーは、一般的に、BSP、オペレーティングシステム及びアプリケーション層ソフトウェアを含み、加えて、コンポーネントのドライバを更に含む点に留意すべきである。従って、従来技術では、コンポーネントのドライバのロードは、ドライバの初期化のみを示す。しかし、本発明のこの実施例では、最小オペレーティングシステムミラーは、BSP、オペレーティングシステムミラー及びアプリケーション層ソフトウェアのみを含むため、ドライバは、まず組み込みデバイスのメモリにロードされる必要があり、次に、ドライバが初期化される。従来技術のオペレーティングシステムミラーの機能に比べて、本発明のこの実施例の最小オペレーティングシステムミラーの機能は、もう1つのドライバロード機能を有する。
明らかに、実際の用途では、コンポーネントに対応するモデル識別子に関連するドライバの検索はまた、他の方式で実現されてもよく、詳細はここでは説明しない。
この場合、コンポーネントに対応するモデル識別子に関連するドライバが検索される前に、以下の動作が更に含まれる。組み込みデバイスの最小オペレーティングシステムミラーを生成する。
本発明のこの実施例では、組み込みデバイスの最小オペレーティングシステムミラーの生成は、2回のコンパイルを用いて実現される必要がある。具体的に、図1Bに示す以下の方式が使用されてもよい。初期の最小オペレーティングシステムミラーを生成するために、組み込みデバイスのサービス機能に基づいて開発された元のコードをコンパイルする。初期の最小オペレーティングシステムミラーは、実行可能ファイルと、実行可能及びリンク可能フォーマットのファイルとを含み、元のコードは、組み込みデバイスのサービス機能を実現するために使用される。実行可能及びリンク可能フォーマットのファイルからシンボルテーブルを抽出する。実行可能及びリンク可能フォーマットのファイルは、初期の最小オペレーティングシステムミラーに含まれる。シンボルテーブルをCファイルに生成し、生成されたCファイルを元のコードに追加する。組み込みデバイスの最小オペレーティングシステムミラーを取得するために、Cファイルが追加された元のコードをコンパイルする。
本発明のこの実施例では、第2のコンパイルの後に取得された最小オペレーティングシステムミラーに含まれる関数及びグローバル変数の実行アドレスを、第1のコンパイルを用いて生成されたシンボルテーブルのアドレスに正確に一致させるために、最小オペレーティングシステムミラーにおいて、2つのセグメント空間が分割を用いて取得された第2のコンパイル処理におけるリンクスクリプトセグメントの末尾部に新たに追加され、シンボルテーブルにおいて生成されたdata及び文字列を格納するために使用される。
実際の用途では、コンポーネントに対応するモデル識別子に関連するドライバが検索される前に、ドライバがロードされるべきコンポーネントに対応するモデル識別子に関連するドライバが、まず格納される必要がある。従って、本発明のこの実施例では、コンポーネントに対応するモデル識別子に関連するドライバが検索される前に、以下の動作が更に含まれる。コンポーネントと同じタイプのコンポーネントの各モデル識別子と、同じタイプのコンポーネントのそれぞれに対応する各ドライバとを決定する。同じタイプのコンポーネントは、コンポーネントと同じ属性又は機能を有するコンポーネントである。コンポーネントと同じタイプの各コンポーネントの決定されたモデル識別子と、同じタイプのコンポーネントの決定されたドライバとの間の関連付け関係を格納する。
本発明のこの実施例では、同じタイプのコンポーネントは、多くの形式になってもよく、例えば、同じ機能又は属性を有し、異なる製造者により製造されたコンポーネントでもよい。例えば、製造者A、B及びCにより別々に製造されたディスプレイ画面では、3つの製造者により別々に製造されたディスプレイ画面は、同じタイプのコンポーネントである。或いは、製造者A、B及びCにより別々に製造された重力センサでは、3つの製造者により別々に製造された重力センサは、同じタイプのコンポーネントである。他の例では、同じタイプのコンポーネントはまた、異なるバッチ又はバージョンにおいて同じ製造者により製造された同じ機能又は属性を有するコンポーネントでもよい。例えば、製造者Aにより製造された500W画素のカメラ及び800W画素のカメラでは、2つのタイプのカメラもまた、同じタイプのコンポーネントである。
例えば、ディスプレイ画面Sは、3つの製造者により製造され、製造者Aからのディスプレイ画面Sに対応するモデル識別子は、モデル識別子1であり、ドライバ1に対応する。製造者Bからのディスプレイ画面Sに対応するモデル識別子は、モデル識別子2であり、ドライバ2に対応する。製造者Cからのディスプレイ画面Sに対応するモデル識別子は、モデル識別子3であり、ドライバ3に対応する。ディスプレイ画面Sは3つのモデル識別子に対応し、各モデル識別子は1つのドライバに対応する。そして、ディスプレイ画面Sについて3つの関連付け関係、すなわち、第1の関連付け関係:モデル識別子1とドライバ1との間の関連付け関係、第2の関連付け関係:モデル識別子2とドライバ2との間の関連付け関係、及び第3の関連付け関係:モデル識別子3とドライバ3との間の関連付け関係が記録される。
本発明のこの実施例では、コンポーネントと同じタイプの各コンポーネントの決定されたモデル識別子と、同じタイプのコンポーネントの決定されたドライバとの間の関連付け関係を格納する多くの方式が存在する。任意選択で、以下の方式が使用されてもよい。同じタイプの各コンポーネントのドライバを予め設定されたフォーマットのファイルにコンパイルする。予め設定されたフォーマットのファイルは、再配置の属性を有する。予め設定されたルールに従って予め設定されたフォーマットのファイルを格納し、予め設定されたフォーマットのファイルが格納された論理アドレスを取得する。モデル識別子のいずれか1つと取得された論理アドレスとの間の対応を格納する。
本発明のこの実施例では、予め設定されたフォーマットの多くのファイルが存在する。任意選択で、予め設定されたフォーマットのファイルは、ELF(Executable and Linkable Format、実行可能及びリンク可能フォーマット)のファイルでもよい。この場合、予め設定されたフォーマットのファイルのサフィックスは、.oである。明らかに、実際の用途では、用途事例が変化すると、予め設定されたフォーマットのファイルもまた、他の形式になってもよく、詳細はここでは説明しない。
本発明のこの実施例では、同じタイプの各コンポーネントのドライバを予め設定されたフォーマットのファイルにコンパイルする多くの方式が存在する。ドライバに含まれるサフィックスが.cである各ファイルは、コンパイルコマンドを使用することにより、予め設定されたフォーマットのファイルにコンパイルされ、予め設定されたフォーマットの全てのコンパイルされたファイルは、リンクコマンドを使用することにより、予め設定されたフォーマットの1つのファイルにリンクされる。予め設定されたフォーマットのファイルは、ELFファイルでもよい。
図1Cに示すように、n個のファイルが1つのドライバに含まれ、各ファイルが格納される前に、各ファイルのサフィックスは.cである。ドライバにおいてサフィックスが.cである各ファイルは、まずコンパイルコマンドを使用することにより、サフィックスが.oであるファイルにコンパイルされ、次に、サフィックスが.oである全てのコンパイルされたファイルは、リンクコマンドを使用することにより、サフィックスが.oである1つのELFファイルにリンクされる。ELFファイルは、再配置の属性を有する。
本発明のこの実施例では、予め設定されたフォーマットのファイルは、以下の方式で予め設定されたルールに従って格納されてもよい。例えば、ドライバ及びレイアウト記述は、大きいミラーを生成するためにパッケージツールimagebuildを使用することによりパッケージ化され、生成された大きいミラーは、Flashに融合される。明らかに、最小オペレーティングシステムミラー、ドライバ及びレイアウト記述は、大きいミラーを生成するようにパッケージ化されてもよい。この場合、最小オペレーティングシステムミラー、ドライバ及びレイアウト記述を含む大きいミラーのデータ記憶構造記述フォーマットは、表1に示される。
Figure 0006198939
前述の処理において、予め設定されたルールにより設定されたルールは、レイアウト記述に含まれる。すなわち、予め設定されたルールにより設定された形式は、レイアウト記述から取得されてもよい。
本発明のこの実施例では、予め設定されたルールは、多くの形式、例えば、連続的記憶及び間欠性記憶のような方式になってもよい。明らかに、他の方式が存在し、詳細はここでは説明しない。
本発明のこの実施例では、レイアウト記述のデータ構造は以下の通りである。
typedef struct
{
uint32_t file_count;
sh_file_node_t file_list[];
}sh_section_desc_t;
sh_file_node_t 構造:
typedef struct
{
uint32_t file_id;//順に1から増加する番号、繰り返されない
uint32_t file_size;
uint32_t file_offset;//セグメントデータの開始アドレスSECTION_DATA_STARTに対するオフセット値
uint8_t file_type;//1:ドライバ、2:アルゴリズム、3:その他
uint8_t file_branch;//分岐
uint8_t file_model;//コンポーネントモデル識別子
uint8_t dyn_pol;//キャンプ/管理ポリシー、0:自動、1:永続的、他の値は要件に従って後に定義される
uint8_t dyn_module_or_device_tag_list[SH_FILE_TAG_LIST];
char file_vendor[SH_FILE_VENDOR_LEN];//プロバイダ
//このtagの定義はパケットのtagのものと一貫性を保持し、1つのモジュールはせいぜい8個のtagをサポートすることができる
char file_name[SH_FILE_NAME_LEN];
uint32_t file_crc;//巡回冗長検査コード
}sh_file_node_t;
ドライバが格納される場合、大きいミラーが生成され、Flashにプログラムされる。この場合、モデル識別子のいずれか1つと取得された論理アドレスとの間の対応は、レイアウト記述に格納される。
本発明のこの実施例では、予め設定されたフォーマットのファイルのアドレスフィールドは初期の予め設定された値であり、予め設定されたフォーマットのファイルが予め設定されたルールに従って格納された後に、この方法は、予め設定されたフォーマットのファイルのアドレスフィールドの初期の予め設定された値を論理アドレスに変更することを更に含む。
本発明のこの実施例では、コンポーネントに対応するモデル識別子に関連するドライバを検索する多くの方式が存在し、任意選択で、以下の方式が使用されてもよい。格納された関連付け関係から、コンポーネントに対応するモデル識別子に対応する論理アドレスを決定し、コンポーネントに対応するモデル識別子に関連するドライバとして予め設定されたフォーマットのファイルを使用する。予め設定されたフォーマットのファイルは、決定された論理アドレスに格納される。
例えば、コンポーネントに対応するモデル識別子に対応する論理アドレスは、Flashのレイアウト記述に格納された対応から検索され、決定された論理アドレスに格納された予め設定されたフォーマットのファイルは、コンポーネントに対応するモデル識別子に関連するドライバとして使用される。
本発明のこの実施例では、見つかったドライバを組み込みデバイスのメモリにロードする多くの方式が存在し、任意選択で、以下の方式が使用されてもよい。組み込みデバイスのメモリにロードされるドライバの物理アドレスを決定し、ドライバのアドレスフィールドを論理アドレスから物理アドレスに変更する。
本発明のこの実施例では、見つかったドライバを組み込みデバイスのメモリにロードする多くの方式が存在し、任意選択で、以下の方式が使用されてもよい。ダイナミックロード方式で最小オペレーティングシステムミラーを使用することにより、見つかったドライバを組み込みデバイスのメモリにロードする。
明らかに、実際の用途では、他の実現方式が存在し、詳細はここでは説明しない。
本発明のこの実施例では、ダイナミックロード方式で最小オペレーティングシステムミラーを使用することにより、見つかったドライバを組み込みデバイスのメモリにロードする多くの方式が存在し、任意選択で、以下の方式が使用されてもよい。最小オペレーティングシステムミラーの関数及びグローバル変数を使用することにより、見つかったドライバを組み込みデバイスのメモリにコピーする。この方式は、正依存方式と呼ばれる。最小オペレーティングシステムミラーに基づいて関数ポインタの形式で、見つかったドライバのインタフェース関数を呼び出し、組み込みデバイスのメモリにコピーされたドライバをリンクする。この方式は、負依存方式と呼ばれる。
具体的な実現において、図1Dに示す以下のステップが使用されてもよい。
ステップ1:最小オペレーティングシステムミラーは、ロードされるべきドライバに従って、呼び出されるべきインタフェース関数のポインタを初期化する、すなわち、インタフェース関数に論理アドレスを割り当てる。
しかし、論理アドレスが割り当てられた後に、インタフェース関数は、依然として呼び出されることができない。
ステップ2:最小オペレーティングシステムミラーは、ロードされるべきドライバの定義されたシンボル及び定義されていないシンボルを解析し、解析を用いて取得されたシンボルを、最小オペレーティングシステムミラーのシンボルテーブルに追加し、シンボルテーブルを更新し、更新されたシンボルテーブルから、呼び出されるべきインタフェース関数の物理アドレスを取得する。
ステップ3:物理アドレスに従って、呼び出されるべきインタフェース関数のポインタに値を割り当てる、すなわち、呼び出されるべきインタフェース関数の論理アドレスを物理アドレスに変更する。
実際の用途では、組み込みデバイスのいくつかのメモリは、デバイスに大きく影響を与える。例えば、メモリに格納された多くのリソースは、組み込みデバイスの低い動作効率をもたらす。従って、ドライバがロードされた後に組み込みデバイスの動作効率が大きく影響されることを妨げるために、本発明のこの実施例では、ドライバがロードされるときに分散ロードがサポートされる。全てのコンポーネントのドライバをコアのメモリにロードするのではなく、重要である或いは頻繁に使用されるいくつかのコンポーネントのドライバは、高い優先度を有するメモリにロードされ、あまり重要でない或いは頻繁に使用されないいくつかのコンポーネントのドライバは、低い優先度のメモリにロードされる。これにより、ドライバがロードされた後に組み込みデバイスの動作効率が大きく影響されることを妨げる。
例えば、SRAM(Static Random Access Memory、スタティックランダムアクセスメモリ)空間が不十分である場合、初期化されたドライバ及びあまり頻繁に使用されないドライバは、DDR(Double Data Rate、ダブルデータレートシンクロナス・ダイナミックランダムアクセスメモリにロードされる。
具体的な実現処理では、以下の方式が使用されてもよい。
リンクスクリプトを使用することにより、セグメント属性は、ロードされるべきドライバのデータ及び関数について構成されてもよい。ダイナミックロード処理では、ロードされるべきドライバのデータ及び関数について構成されたセグメント属性が分析され、ロードされるべきドライバは、分散方式でDDRメモリ又はSRAMメモリにロードされる。
本発明のこの実施例で説明したロードは、少なくとも2つの意味を含む。1つの意味は、組み込みデバイスのメモリにドライバをコピーする動作を示し、他の意味は、組み込みデバイスのメモリにコピーされたドライバをリンクする動作を示す。明らかに、実際の用途では、ロードの意味は、異なる具体的な用途事例によって変化してもよく、詳細はここでは説明しない。
本発明のこの実施例を良く理解するために、以下に、具体的な用途事例を提供し、図2に示すように、ドライバをロードする処理について更なる詳細な説明を行う。
ステップ200:組み込みデバイスの最小オペレーティングシステムミラーを生成する。
ステップ210:ドライバが組み込みデバイスにロードされるべき10個のコンポーネントのそれぞれのコンポーネントに対応する予め設定されたモデル識別子と、各モデル識別子に対応するドライバとを決定する。
ステップ220:レイアウト記述を用いて、ドライバがロードされるべき各コンポーネントに対応する予め設定されたモデル識別子と、対応するドライバが格納される物理アドレスとの対応をFlashに格納する。
ステップ230:ドライバをロードするための命令が受信された場合、ドライバが組み込みデバイスにロードされるべき10個のコンポーネントに対応するモデル識別子を決定し、決定されたモデル識別子のいずれか1つについて、最小オペレーティングシステムミラーを使用することにより、Flashに格納されたレイアウト記述からモデル識別子のいずれか1つに対応するドライバの論理アドレスを検索する動作を別々に実行する。
ステップ240:最小オペレーティングシステムミラーを使用することにより、それぞれ見つかった論理アドレスに位置するドライバを決定し、決定されたドライバを組み込みデバイスのメモリにロードし、ドライバがロードされるべきコンポーネントのいずれか1つを駆動するために、組み込みデバイスのメモリにロードされたドライバを制御する。
前述の技術的対策に基づいて、図3を参照して、本発明の実施例は、ドライバをロードする組み込みデバイスを対応して提供する。組み込みデバイスは、決定ユニット30と、検索ユニット31と、ロードユニット32とを含む。決定ユニット30は、組み込みデバイスに含まれるコンポーネントに対応するモデル識別子を決定するように構成される。コンポーネントは、ドライバがロードされるべきコンポーネントである。検索ユニット31は、コンポーネントに対応するモデル識別子に関連するドライバを検索するように構成される。ロードユニット32は、見つかったドライバを組み込みデバイスのメモリにロードし、コンポーネントを駆動するために、組み込みデバイスのメモリにロードされたドライバを制御するように構成される。
本発明のこの実施例では、任意選択で、検索ユニット31は、組み込みデバイスの最小オペレーティングシステムミラーを使用することにより、コンポーネントに対応するモデル識別子に関連するドライバを検索するように具体的に構成される。最小オペレーティングシステムミラーは、組み込みデバイスを開始し、サービス機能を実行し、組み込みデバイスに含まれるコンポーネントのドライバをロードするために使用される。具体的に、最小オペレーティングシステムミラーは、BSP、オペレーティングシステム及びアプリケーション層ソフトウェアのみを含んでもよい。
本発明のこの実施例では、生成ユニット33が更に含まれ、生成ユニット33は、組み込みデバイスの最小オペレーティングシステムミラーを生成するように構成される。
本発明のこの実施例では、任意選択で、生成ユニット33は、初期の最小オペレーティングシステムミラーを生成するために、組み込みデバイスのサービス機能に基づいて開発された元のコードをコンパイルするように構成されたコンパイルモジュールであり、初期の最小オペレーティングシステムミラーは、実行可能ファイルと、実行可能及びリンク可能フォーマットのファイルとを含み、元のコードは、組み込みデバイスのサービス機能を実現するために使用されるコンパイルモジュールと、実行可能及びリンク可能フォーマットのファイルからシンボルテーブルを抽出するように構成された抽出モジュールであり、実行可能及びリンク可能フォーマットのファイルは、初期の最小オペレーティングシステムミラーに含まれ、シンボルテーブルをCファイルに生成し、生成されたCファイルを元のコードに追加するように構成された抽出モジュールとを含み、コンパイルモジュールは、組み込みデバイスの最小オペレーティングシステムミラーを取得するために、Cファイルが追加された元のコードをコンパイルするように更に構成される。
本発明のこの実施例では、記憶ユニット34が更に含まれ、記憶ユニット34は、コンポーネントと同じタイプのコンポーネントの各モデル識別子と、同じタイプのコンポーネントに対応するドライバとを決定し、同じタイプのコンポーネントは、コンポーネントと同じ属性又は機能を有するコンポーネントであり、コンポーネントと同じタイプの各コンポーネントの決定されたモデル識別子と、同じタイプのコンポーネントの決定されたドライバとの間の関連付け関係を格納するように具体的に構成される。
本発明のこの実施例では、任意選択で、記憶ユニット34が、コンポーネントと同じタイプの各コンポーネントの決定されたモデル識別子と、同じタイプのコンポーネントの決定されたドライバとの間の関連付け関係を格納することは、具体的に、同じタイプの各コンポーネントのドライバを予め設定されたフォーマットのファイルにコンパイルし、予め設定されたフォーマットのファイルは、再配置の属性を有し、予め設定されたルールに従って予め設定されたフォーマットのファイルを格納し、予め設定されたフォーマットのファイルが格納された論理アドレスを取得し、モデル識別子のいずれか1つと取得された論理アドレスとの間の対応を格納することである。
本発明のこの実施例では、更に、記憶ユニット34は、予め設定されたフォーマットのファイルのアドレスフィールドの初期の予め設定された値を論理アドレスに変更するように更に構成される。予め設定されたフォーマットのファイルのアドレスフィールドは、初期の予め設定された値である。
本発明のこの実施例では、任意選択で、検索ユニット31は、格納された関連付け関係から、コンポーネントに対応するモデル識別子に対応する論理アドレスを決定し、コンポーネントに対応するモデル識別子に関連するドライバとして予め設定されたフォーマットのファイルを使用するように具体的に構成され、予め設定されたフォーマットのファイルは、決定された論理アドレスに格納される。
本発明のこの実施例では、任意選択で、ロードユニット32は、組み込みデバイスのメモリにロードされるドライバの物理アドレスを決定し、ドライバのアドレスフィールドを論理アドレスから物理アドレスに変更するように具体的に構成される。
本発明のこの実施例では、任意選択で、ロードユニット32は、ダイナミックロード方式で最小オペレーティングシステムミラーを使用することにより、見つかったドライバを組み込みデバイスのメモリにロードするように具体的に構成される。
本発明のこの実施例では、任意選択で、ロードユニット32が、ダイナミックロード方式で最小オペレーティングシステムミラーを使用することにより、見つかったドライバを組み込みデバイスのメモリにロードすることは、具体的に、最小オペレーティングシステムミラーの関数及びグローバル変数を使用することにより、見つかったドライバを組み込みデバイスのメモリにコピーし、最小オペレーティングシステムミラーに基づいて関数ポインタの形式で、見つかったドライバのインタフェース関数を呼び出し、組み込みデバイスのメモリにコピーされたドライバをリンクすることである。
図4に示すように、図4は、本発明の実施例による組み込みデバイスの物理装置の概略図である。組み込みデバイスは、少なくとも1つのプロセッサ401と、通信バス402と、メモリ403と、少なくとも1つの通信インタフェース404とを含む。
通信バス402は、前述のコンポーネントの間の接続及び通信を実現するように構成され、通信インタフェース404は、外部デバイスとの接続及び通信を実現するように構成される。
メモリ403は、実行可能プログラムコード4031を格納するように構成される。プログラムコード4031を実行することにより、プロセッサ401は、組み込みデバイスに含まれるコンポーネントに対応するモデル識別子を決定し、コンポーネントは、ドライバがロードされるべきコンポーネントであり、コンポーネントに対応するモデル識別子に関連するドライバを検索し、見つかったドライバを組み込みデバイスのメモリにロードし、コンポーネントを駆動するために、組み込みデバイスのメモリにロードされたドライバを制御するように構成される。
任意選択で、プロセッサ401は、メモリ403の実行可能コードを指定することにより、前述の実施例の他のステップ及び機能を実現するように更に構成されてもよい。詳細はここでは説明しない。
結論として、本発明の実施例では、ドライバをロードする方法が提供される。この方法では、組み込みデバイスに含まれるコンポーネントに現在対応するモデル識別子が決定され、コンポーネントは、ドライバがロードされるべきコンポーネントであり、コンポーネントに対応するモデル識別子に関連するドライバが検索され、見つかったドライバが組み込みデバイスのメモリにロードされ、組み込みデバイスのメモリにロードされたドライバが、コンポーネントを駆動するように制御される。この対策では、ドライバがロードされるべきコンポーネントにドライバがロードされる場合、関連するドライバは、ドライバがロードされるべきコンポーネントのモデル識別子に従って検索され、関連するドライバがロードされ得る。複数のドライバ識別子の組み合わせが検索される必要はなく、また、複数のコンポーネントのドライバに対応する識別子の組み合わせが生成される必要はない。従って、消費される時間が低減され、ロード効率が改善される。
本発明について、本発明の実施例による方法、デバイス(システム)及びコンピュータプログラムプロダクトのフローチャート及び/又はブロック図を参照して説明した。コンピュータプログラム命令は、フローチャート及び/又はブロック図の各処理及び/又は各ブロック、並びに、フローチャート及び/又はブロック図の処理及び/又はブロックの組み合わせを実現するために使用されてもよいことを認識するべきである。これらのコンピュータプログラム命令は、フローチャートの1つ以上の処理及び/又はブロック図の1つ以上のブロックの機能を実現する装置がコンピュータ又は他のプログラム可能データ処理デバイスのプロセッサにより実行される命令を使用することにより生成されるように、機械を生成するために、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、他のプログラム可能データ処理デバイスのプロセッサに提供されてもよい。
これらのコンピュータプログラム命令はまた、コンピュータ読み取り可能メモリに格納された命令が命令装置を含むプロダクトを生成するように、コンピュータ又は他のプログラム可能データ処理デバイスに対して具体的な方式で動作するように命令し得るコンピュータ読み取り可能メモリに格納されてもよい。命令装置は、フローチャートの1つ以上の処理及び/又はブロック図の1つ以上のブロックの機能を実現する。
これらのコンピュータプログラム命令はまた、コンピュータにより実現された処理を生成するために、一連の動作及びステップがコンピュータ又は他のプログラム可能デバイスで実行されるように、コンピュータ又は他のプログラム可能データ処理デバイスにロードされてもよい。従って、コンピュータ又は他のプログラム可能デバイスで実行される命令は、フローチャートの1つ以上の処理及び/又はブロック図の1つ以上のブロックの機能を実現するためのステップを提供する。
本発明の例示的な実施例について説明したが、当業者は、基本的な発明の概念を学ぶことにより、これらの実施例に変更及び変形を行うことができる。従って、添付の特許請求の範囲は、例示的な実施例と、本発明の範囲内に入る全ての変更及び変形とをカバーするように解釈されることを意図する。
明らかに、当業者は、本発明の実施例の要旨及び範囲を逸脱することなく、本発明の実施例に様々な変更及び変形を行うことができる。本発明は、これらの変更及び変形が添付の特許請求の範囲及びこれらの等価な技術の保護範囲内に入るという前提で、本発明の実施例に対するこれらの変更及び変形をカバーすることを意図する。

Claims (19)

  1. ドライバをロードする方法であって、
    組み込みデバイスに含まれるコンポーネントに対応するモデル識別子を決定するステップであり、前記コンポーネントは、ドライバがロードされるべきコンポーネントであるステップと、
    前記コンポーネントと同じタイプのコンポーネントの各モデル識別子と、前記同じタイプの前記コンポーネントのそれぞれに対応する各ドライバとを決定するステップであり、前記同じタイプの前記コンポーネントは、製造者に拘わらず前記コンポーネントと同じ属性又は機能を有するコンポーネントであるステップと、
    前記コンポーネントと同じタイプの各コンポーネントの決定されたモデル識別子と、前記同じタイプの前記コンポーネントの決定されたドライバとの間の関連付け関係を格納するステップと、
    前記格納された関連付け関係に基づいて、前記コンポーネントに対応する前記モデル識別子に関連するドライバを検索するステップと、
    見つかったドライバを前記組み込みデバイスのメモリにロードし、前記コンポーネントを駆動するために、前記組み込みデバイスの前記メモリにロードされた前記ドライバを制御するステップと
    を有し、
    前記ドライバが頻繁に使用される場合、前記ドライバは、高い優先度を有するメモリにロードされ、前記ドライバが頻繁に使用されない場合、前記ドライバは、低い優先度を有するメモリにロードされる方法。
  2. 前記コンポーネントに対応する前記モデル識別子に関連するドライバを検索するステップは、
    前記組み込みデバイスの最小オペレーティングシステムミラーを使用することにより、前記コンポーネントに対応する前記モデル識別子に関連する前記ドライバを検索するステップを有し、
    前記最小オペレーティングシステムミラーは、前記組み込みデバイスを開始し、サービス機能を実行し、前記組み込みデバイスに含まれる前記コンポーネントの前記ドライバをロードするために使用される、請求項1に記載の方法。
  3. 前記コンポーネントに対応する前記モデル識別子に関連するドライバを検索する前に、
    前記組み込みデバイスの前記最小オペレーティングシステムミラーを生成するステップを更に有する、請求項2に記載の方法。
  4. 前記組み込みデバイスの前記最小オペレーティングシステムミラーを生成するステップは、
    初期の最小オペレーティングシステムミラーを生成するために、前記組み込みデバイスの前記サービス機能に基づいて開発された元のコードをコンパイルするステップであり、前記初期の最小オペレーティングシステムミラーは、実行可能ファイルと、実行可能及びリンク可能フォーマットのファイルとを有し、前記元のコードは、前記組み込みデバイスの前記サービス機能を実現するために使用されるステップと、
    前記実行可能及びリンク可能フォーマットの前記ファイルからシンボルテーブルを抽出するステップであり、前記実行可能及びリンク可能フォーマットの前記ファイルは、前記初期の最小オペレーティングシステムミラーに含まれるステップと、
    前記シンボルテーブルに従ってCファイルを生成し、前記生成されたCファイルを前記元のコードに追加するステップと、
    前記組み込みデバイスの前記最小オペレーティングシステムミラーを取得するために、前記Cファイルが追加された前記元のコードをコンパイルするステップと
    を有する、請求項3に記載の方法。
  5. 前記コンポーネントと同じタイプの各コンポーネントの決定されたモデル識別子と、前記同じタイプの前記コンポーネントの決定されたドライバとの間の関連付け関係を格納するステップは、
    前記同じタイプの各コンポーネントの前記ドライバを予め設定されたフォーマットのファイルにコンパイルするステップであり、前記予め設定されたフォーマットの前記ファイルは、再配置の属性を有するステップと、
    予め設定されたルールに従って前記予め設定された前記フォーマットの前記ファイルを格納し、前記予め設定されたフォーマットの前記ファイルが格納された論理アドレスを取得するステップと、
    前記モデル識別子のいずれか1つと前記取得された論理アドレスとの間の対応を格納するステップと
    を有する、請求項1に記載の方法。
  6. 前記予め設定されたフォーマットの前記ファイルのアドレスフィールドは初期の予め設定された値であり、予め設定されたルールに従って前記予め設定されたフォーマットの前記ファイルを格納した後に、
    前記予め設定されたフォーマットの前記ファイルの前記アドレスフィールドの前記初期の予め設定された値を前記論理アドレスに変更するステップを更に有する、請求項5に記載の方法。
  7. 前記コンポーネントに対応する前記モデル識別子に関連するドライバを検索するステップは、
    前記格納された関連付け関係から、前記コンポーネントに対応する前記モデル識別子に対応する論理アドレスを決定するステップと、
    前記コンポーネントに対応する前記モデル識別子に関連する前記ドライバとして予め設定されたフォーマットのファイルを使用するステップであり、前記予め設定されたフォーマットの前記ファイルは、前記決定された論理アドレスに格納されるステップと
    を有する、請求項6に記載の方法。
  8. 見つかったドライバを前記組み込みデバイスのメモリにロードするステップは、
    前記組み込みデバイスの前記メモリにロードされる前記ドライバの物理アドレスを決定するステップと、
    前記ドライバのアドレスフィールドを論理アドレスから前記物理アドレスに変更するステップと
    を有する、請求項7に記載の方法。
  9. 見つかったドライバを前記組み込みデバイスのメモリにロードするステップは、
    ダイナミックロード方式で最小オペレーティングシステムミラーを使用することにより、前記見つかったドライバを前記組み込みデバイスの前記メモリにロードするステップを有する、請求項2ないし8のうちいずれか1項に記載の方法。
  10. ダイナミックロード方式で前記最小オペレーティングシステムミラーを使用することにより、前記見つかったドライバを前記組み込みデバイスの前記メモリにロードするステップは、
    前記最小オペレーティングシステムミラーの関数及びグローバル変数を使用することにより、前記見つかったドライバを前記組み込みデバイスの前記メモリにコピーするステップと、
    前記最小オペレーティングシステムミラーに基づいて関数ポインタの形式で、前記見つかったドライバのインタフェース関数を呼び出し、前記組み込みデバイスの前記メモリにコピーされた前記ドライバをリンクするステップと
    を有する、請求項9に記載の方法。
  11. ドライバをロードする組み込みデバイスであって、
    前記組み込みデバイスに含まれるコンポーネントに対応するモデル識別子を決定するように構成された決定ユニットであり、前記コンポーネントは、ドライバがロードされるべきコンポーネントである決定ユニットと、
    前記コンポーネントと同じタイプのコンポーネントの各モデル識別子と、前記同じタイプの前記コンポーネントのそれぞれに対応する各ドライバとを決定するように構成された記憶ユニットであり、前記同じタイプの前記コンポーネントは、製造者に拘わらず前記コンポーネントと同じ属性又は機能を有するコンポーネントであり、前記コンポーネントと同じタイプの各コンポーネントの決定されたモデル識別子と、前記同じタイプの前記コンポーネントの決定されたドライバとの間の関連付け関係を格納するように構成された記憶ユニットと、
    前記格納された関連付け関係に基づいて、前記コンポーネントに対応する前記モデル識別子に関連するドライバを検索するように構成された検索ユニットと、
    見つかったドライバを前記組み込みデバイスのメモリにロードし、前記コンポーネントを駆動するために、前記組み込みデバイスの前記メモリにロードされた前記ドライバを制御するように構成されたロードユニットと
    を有し、
    前記ドライバが頻繁に使用される場合、前記ドライバは、高い優先度を有するメモリにロードされ、前記ドライバが頻繁に使用されない場合、前記ドライバは、低い優先度を有するメモリにロードされる組み込みデバイス。
  12. 前記検索ユニットは、前記組み込みデバイスの最小オペレーティングシステムミラーを使用することにより、前記コンポーネントに対応する前記モデル識別子に関連する前記ドライバを検索するように構成され、
    前記最小オペレーティングシステムミラーは、前記組み込みデバイスを開始し、サービス機能を実行し、前記組み込みデバイスに含まれる前記コンポーネントの前記ドライバをロードするために使用される、請求項11に記載の組み込みデバイス。
  13. 前記組み込みデバイスの前記最小オペレーティングシステムミラーを生成するように構成された生成ユニットを更に有する、請求項12に記載の組み込みデバイス。
  14. 前記生成ユニットは、
    初期の最小オペレーティングシステムミラーを生成するために、前記組み込みデバイスの前記サービス機能に基づいて開発された元のコードをコンパイルするように構成されたコンパイルモジュールであり、前記初期の最小オペレーティングシステムミラーは、実行可能ファイルと、実行可能及びリンク可能フォーマットのファイルとを有し、前記元のコードは、前記組み込みデバイスの前記サービス機能を実現するために使用されるコンパイルモジュールと、
    前記実行可能及びリンク可能フォーマットの前記ファイルからシンボルテーブルを抽出するように構成された抽出モジュールであり、前記実行可能及びリンク可能フォーマットの前記ファイルは、前記初期の最小オペレーティングシステムミラーに含まれ、前記シンボルテーブルに従ってCファイルを生成し、前記生成されたCファイルを前記元のコードに追加するように構成された抽出モジュールと
    を有し、
    前記コンパイルモジュールは、前記組み込みデバイスの前記最小オペレーティングシステムミラーを取得するために、前記Cファイルが追加された前記元のコードをコンパイルするように更に構成される、請求項13に記載の組み込みデバイス。
  15. 前記記憶ユニットは、前記同じタイプの各コンポーネントの前記ドライバを予め設定されたフォーマットのファイルにコンパイルし、前記予め設定されたフォーマットの前記ファイルは、再配置の属性を有し、予め設定されたルールに従って前記予め設定されたフォーマットの前記ファイルを格納し、前記予め設定されたフォーマットの前記ファイルが格納された論理アドレスを取得し、前記モデル識別子のいずれか1つと前記取得された論理アドレスとの間の対応を格納するように構成される、請求項11に記載の組み込みデバイス。
  16. 前記予め設定されたフォーマットの前記ファイルのアドレスフィールドは初期の予め設定された値であり、
    前記記憶ユニットは、前記予め設定されたルールに従って前記予め設定されたフォーマットの前記ファイルを格納した後に、前記予め設定されたフォーマットの前記ファイルの前記アドレスフィールドの前記初期の予め設定された値を前記論理アドレスに変更するように更に構成される、請求項15に記載の組み込みデバイス。
  17. 前記検索ユニットは、前記格納された関連付け関係から、前記コンポーネントに対応する前記モデル識別子に対応する論理アドレスを決定し、前記コンポーネントに対応する前記モデル識別子に関連する前記ドライバとして予め設定されたフォーマットのファイルを使用するように構成され、前記予め設定されたフォーマットの前記ファイルは、前記決定された論理アドレスに格納される、請求項16に記載の組み込みデバイス。
  18. 前記ロードユニットは、前記組み込みデバイスの前記メモリにロードされる前記ドライバの物理アドレスを決定し、前記ドライバのアドレスフィールドを論理アドレスから前記物理アドレスに変更するように構成される、請求項17に記載の組み込みデバイス。
  19. 前記ロードユニットは、最小オペレーティングシステムミラーの関数及びグローバル変数を使用することにより、前記見つかったドライバを前記組み込みデバイスの前記メモリにコピーし、前記最小オペレーティングシステムミラーに基づいて関数ポインタの形式で、前記見つかったドライバのインタフェース関数を呼び出し、前記組み込みデバイスの前記メモリにコピーされた前記ドライバをリンクするように構成される、請求項18に記載の組み込みデバイス。
JP2016515649A 2014-04-30 2014-10-31 ドライバをロードする方法及び組み込みデバイス Active JP6198939B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410182979.9A CN103942078B (zh) 2014-04-30 2014-04-30 一种加载驱动程序的方法及嵌入式设备
CN201410182979.9 2014-04-30
PCT/CN2014/090101 WO2015165232A1 (zh) 2014-04-30 2014-10-31 一种加载驱动程序的方法及嵌入式设备

Publications (2)

Publication Number Publication Date
JP2016519385A JP2016519385A (ja) 2016-06-30
JP6198939B2 true JP6198939B2 (ja) 2017-09-20

Family

ID=51189754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016515649A Active JP6198939B2 (ja) 2014-04-30 2014-10-31 ドライバをロードする方法及び組み込みデバイス

Country Status (8)

Country Link
US (2) US9875118B2 (ja)
EP (1) EP2966566B1 (ja)
JP (1) JP6198939B2 (ja)
KR (1) KR101736650B1 (ja)
CN (2) CN107729083B (ja)
BR (1) BR112016025249B1 (ja)
TW (1) TWI581188B (ja)
WO (1) WO2015165232A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729083B (zh) 2014-04-30 2021-02-12 华为技术有限公司 一种加载驱动程序的方法及嵌入式设备
EP2958021A1 (en) * 2014-06-20 2015-12-23 Nederlandse Organisatie voor toegepast- natuurwetenschappelijk onderzoek TNO Data verification in a distributed data processing system
CN105988850A (zh) * 2015-05-12 2016-10-05 乐视移动智能信息技术(北京)有限公司 移动终端的开机控制方法和装置
CN105068933B (zh) * 2015-08-25 2018-06-26 北京京东尚科信息技术有限公司 用于测试的浏览器驱动方法和设备
US10083025B2 (en) * 2015-11-20 2018-09-25 Google Llc Dynamic update of an application in compilation and deployment with warm-swapping
CN105744083A (zh) * 2016-04-29 2016-07-06 努比亚技术有限公司 移动终端指纹自适应方法及装置
CN106028113A (zh) * 2016-05-20 2016-10-12 乐视控股(北京)有限公司 调谐器驱动控制方法、装置
CN106066789A (zh) * 2016-05-24 2016-11-02 乐视控股(北京)有限公司 一种对摄像头驱动程序进行编译的方法和装置
CN107632819B (zh) * 2016-07-14 2021-02-09 南京南瑞继保电气有限公司 一种基于符号表的可编程逻辑调试的方法和系统
US10445081B2 (en) * 2016-07-28 2019-10-15 American Megatrends International, Llc Techniques of automatically generating dependencies for applications in embedded systems
CN106325941A (zh) * 2016-08-25 2017-01-11 许继集团有限公司 一种嵌入式设备的fpga动态功能切换方法及装置
CN107957887A (zh) * 2016-10-13 2018-04-24 阿里巴巴集团控股有限公司 一种设备的组件加载方法、装置以及物联网系统
CN106775833B (zh) * 2016-11-28 2021-03-16 青岛海信移动通信技术股份有限公司 设备驱动程序加载方法、终端及系统
CN106649020A (zh) * 2017-01-22 2017-05-10 郑州云海信息技术有限公司 一种存储器机箱烧录信息的检测方法及装置
CN107145363A (zh) 2017-03-21 2017-09-08 捷开通讯(深圳)有限公司 一种终端开机过程的驱动程序加载方法及终端设备
CN107506212B (zh) * 2017-08-28 2021-08-17 北京翼辉信息技术有限公司 一种在实时操作系统上动态加载声卡驱动的方法
CN107704282B (zh) * 2017-09-15 2021-02-02 北京东土科技股份有限公司 一种应用于嵌入式系统的加载方法及装置
CN108182088B (zh) * 2017-11-22 2021-02-09 深圳市万普拉斯科技有限公司 开机加速方法、装置、存储介质和移动终端
CN108052424A (zh) * 2017-11-30 2018-05-18 深圳市万普拉斯科技有限公司 Otg接口异常检测方法、装置、计算机设备和存储介质
CN109947482B (zh) * 2017-12-21 2022-07-29 深圳Tcl新技术有限公司 一种usb设备的加载方法、存储介质及智能电视
CN108959169A (zh) * 2018-06-26 2018-12-07 郑州云海信息技术有限公司 一种单主板多版本程序适配方法、系统、装置及存储介质
CN109240751B (zh) * 2018-09-04 2021-12-21 广东小天才科技有限公司 一种电子设备的外围模组兼容方法及电子设备
CN109739535B (zh) * 2018-12-28 2022-02-18 郑州云海信息技术有限公司 一种对产品进行驱动维护的方法和系统
CN109840096B (zh) * 2019-01-02 2023-02-07 新华三信息技术有限公司 操作系统的安装方法及装置
CN109886181A (zh) * 2019-02-18 2019-06-14 Oppo广东移动通信有限公司 指纹算法确定方法及相关设备
CN111831341A (zh) * 2019-03-29 2020-10-27 西安诺瓦电子科技有限公司 配置文件加载方法、装置及系统和计算机可读介质
CN111857837A (zh) * 2019-04-30 2020-10-30 百度时代网络技术(北京)有限公司 用于驱动硬件的方法和装置
CN110362360A (zh) * 2019-07-15 2019-10-22 惠州Tcl移动通信有限公司 驱动程序加载方法、装置、移动终端及存储介质
CN110990072A (zh) * 2019-11-08 2020-04-10 杭州智控网络有限公司 价签屏幕多驱动动态加载方法
CN110990021A (zh) * 2019-11-28 2020-04-10 杭州迪普科技股份有限公司 软件运行方法、装置、主控板及框式设备
CN111177046B (zh) * 2019-12-18 2022-03-01 苏州浪潮智能科技有限公司 一种多总线设备融合访问的方法及装置
CN111221542B (zh) * 2019-12-27 2023-10-20 福建升腾资讯有限公司 一种系统镜像的生成安装方法、装置、系统、设备和介质
KR102258202B1 (ko) 2020-02-28 2021-05-28 서울대학교산학협력단 항공기기반 영상복원장치용 가상 해수면모델 생성장치
CN112486579A (zh) * 2020-11-20 2021-03-12 中国人寿保险股份有限公司 自助终端设备驱动调用标准化方法及相关设备
CN113515315A (zh) * 2021-07-01 2021-10-19 深圳创维-Rgb电子有限公司 Wifi芯片驱动程序加载方法、装置、设备及存储介质
CN113703853B (zh) * 2021-08-24 2024-09-24 新华三智能终端有限公司 一种网络设备初始化方法及装置
CN115941717B (zh) * 2022-10-10 2024-04-19 浙江南都能源科技有限公司 一种储能电站数据采集传输的方法及系统
CN115857428B (zh) * 2023-02-02 2023-06-16 杭州未名信科科技有限公司 一种控制plc设备的方法、装置、存储介质及终端

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2569092B2 (ja) * 1987-12-11 1997-01-08 株式会社日立製作所 入出力機器制御プログラムのアドレス解決方法
US5701476A (en) * 1994-11-29 1997-12-23 Intel Corporation Method and apparatus for dynamically loading a driver routine in a computer memory
JPH11296375A (ja) 1998-04-08 1999-10-29 Hitachi Ltd デバイスドライバプログラムの自動選択方法
US20050086244A1 (en) * 2000-02-01 2005-04-21 Paul Morinville Matrixed organization apparatus
KR100671153B1 (ko) * 2001-04-25 2007-01-17 엘지전자 주식회사 디바이스 드라이버 설치방법
US6907610B2 (en) * 2001-06-15 2005-06-14 Microsoft Corporation System and method for building a target operating system from a source operating system
US6792610B2 (en) * 2002-05-30 2004-09-14 Sun Microsystems, Inc. Attaching a device driver to multiple logical devices of one physical device
US20040005494A1 (en) * 2002-07-05 2004-01-08 Drake Javit A. Chemical sensing in fuel cell systems
US20040054945A1 (en) * 2002-09-17 2004-03-18 Smith Gerald E. Symbol support in embedded firmware images
CN1245685C (zh) * 2002-12-31 2006-03-15 上海科泰世纪科技有限公司 基于构件的操作系统动态设备驱动的方法
CN1303542C (zh) * 2003-10-24 2007-03-07 英业达股份有限公司 Linux操作系统下对USB设备即插即用的方法
US7802197B2 (en) 2005-04-22 2010-09-21 Microsoft Corporation Adaptive systems and methods for making software easy to use via software usage mining
CN100442234C (zh) * 2005-06-21 2008-12-10 国际商业机器公司 用于嵌入式系统的软件包构建方法和系统
US7372746B2 (en) * 2005-08-17 2008-05-13 Micron Technology, Inc. Low voltage sensing scheme having reduced active power down standby current
US20070101342A1 (en) * 2005-10-31 2007-05-03 Microsoft Corporation Automated device driver management
CN100473090C (zh) * 2005-11-09 2009-03-25 中兴通讯股份有限公司 一种智能加载手机硬件驱动程序的系统
JP4918276B2 (ja) * 2006-04-27 2012-04-18 株式会社リコー 情報処理装置および情報処理方法
EP1975786A1 (en) * 2007-03-29 2008-10-01 Ricoh Company, Ltd. Method for installing a printer driver on an end user's computer
CN101102562A (zh) * 2007-06-25 2008-01-09 嘉兴闻泰通讯科技有限公司 一种phs手机实现nor flash兼容的方法
EP2191421A4 (en) * 2007-09-17 2013-05-08 Capfinder Aktiebolag APPLICATION DRAWING ASSISTANCE SYSTEM
US9335980B2 (en) * 2008-08-15 2016-05-10 Apple Inc. Processing vectors using wrapping propagate instructions in the macroscalar architecture
CN101510180A (zh) * 2009-03-27 2009-08-19 四川长虹电器股份有限公司 一种自动兼容多种型号flash的软件处理方法
TWI417789B (zh) * 2009-07-07 2013-12-01 Via Tech Inc 電腦系統及啟動方法
CN101814280A (zh) * 2009-12-01 2010-08-25 深圳市九洲电器有限公司 一种电子设备及其显示面板的驱动方法
SE1050258A1 (sv) * 2010-03-19 2011-09-20 Sto Scandinavia Ab Byggsystem för väggar ovan mark
WO2011133030A1 (en) * 2010-04-23 2011-10-27 Vector Fabrics B.V. Improved embedded system performance
US20120054740A1 (en) 2010-08-31 2012-03-01 Microsoft Corporation Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments
US9043754B2 (en) 2010-12-28 2015-05-26 Microsoft Corporation Virtualizing embedded devices
US9110679B1 (en) * 2011-06-03 2015-08-18 Phoenix Technologies Ltd. Pre-boot management of drivers and programs
US9148399B1 (en) * 2011-06-21 2015-09-29 Google Inc. Automatic publication of a user's application installation events
JP5687639B2 (ja) * 2012-02-08 2015-03-18 株式会社東芝 コントローラ、データ記憶装置及びプログラム
JP5846016B2 (ja) 2012-03-30 2016-01-20 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JP5910348B2 (ja) * 2012-06-26 2016-04-27 ブラザー工業株式会社 情報処理プログラム、情報処理装置および情報処理装置の制御方法
US9469725B2 (en) * 2012-06-28 2016-10-18 Johnson & Johnson Consumer Inc. Ultraviolet radiation absorbing polymers
CN102831178B (zh) * 2012-07-30 2016-05-25 华为技术有限公司 多级存储的重部署方法及装置
US8904162B2 (en) * 2012-08-01 2014-12-02 Intel Corporation Methods and apparatus for performing secure BIOS upgrade
CN103677921B (zh) * 2013-12-13 2017-02-15 福尔达车联网(深圳)有限公司 一种Android系统兼容wifi芯片的方法及系统
CN107729083B (zh) * 2014-04-30 2021-02-12 华为技术有限公司 一种加载驱动程序的方法及嵌入式设备

Also Published As

Publication number Publication date
US20180101394A1 (en) 2018-04-12
KR101736650B1 (ko) 2017-05-16
EP2966566A4 (en) 2016-11-09
US20160004545A1 (en) 2016-01-07
BR112016025249A2 (pt) 2018-05-15
BR112016025249B1 (pt) 2022-10-25
US9875118B2 (en) 2018-01-23
TWI581188B (zh) 2017-05-01
CN103942078A (zh) 2014-07-23
CN103942078B (zh) 2017-11-17
WO2015165232A1 (zh) 2015-11-05
EP2966566A1 (en) 2016-01-13
KR20160002685A (ko) 2016-01-08
CN107729083B (zh) 2021-02-12
EP2966566B1 (en) 2020-08-26
TW201541353A (zh) 2015-11-01
CN107729083A (zh) 2018-02-23
JP2016519385A (ja) 2016-06-30

Similar Documents

Publication Publication Date Title
JP6198939B2 (ja) ドライバをロードする方法及び組み込みデバイス
CN110162296B (zh) 应用程序编程接口文档的生成方法、装置及终端设备
CN106775723B (zh) 基于Android平台的系统固件定制的方法和Android设备
US20170277524A1 (en) Dynamic container deployment with parallel conditional layers
US9841953B2 (en) Pluggable components for runtime-image generation
CN109739600B (zh) 数据处理方法、介质、装置和计算设备
EP3267308A1 (en) Application loading method and device
US10387124B2 (en) System and method for creating domain specific language
CN113885935A (zh) 资源打包方法、装置、电子设备及计算机可读存储介质
CN112860312A (zh) 项目依赖关系变化的检测方法及装置
EP2951678A1 (en) Remotely executing operations of an application using a schema that provides for executable scripts in a nodal hierarchy
CN108694049B (zh) 一种更新软件的方法和设备
CN105447040A (zh) 二进制文件管理、更新方法、装置以及系统
US10540151B1 (en) Graphical customization of a firmware-provided user interface (UI)
CN112000367A (zh) 一种二进制库文件版本兼容性识别方法和装置
JP2015184824A (ja) 情報処理プログラム、情報処理方法および情報処理装置
JP6597356B2 (ja) 制御プログラム、制御装置、及び制御方法
CN115576560A (zh) 一种动态类加载器的热重载方法、装置、设备和介质
CN111949296A (zh) 一种数据更新方法及装置
US8683455B1 (en) Method and system for optimizing an executable program by selectively merging identical program entities
CN106502755B (zh) 一种检查Linux内核模块未知符号的方法及装置
CN114840217A (zh) 一种编译方法、装置、设备及可读存储介质
CN112422476A (zh) 数据处理方法、装置和系统
CN111736886A (zh) 一种Go语言的包依赖管理工具的统一管理方法及装置
CN111159972A (zh) 应用于集成电路的测试方法、测试装置及测试系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170502

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170515

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: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170822

R150 Certificate of patent or registration of utility model

Ref document number: 6198939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250