(57)【特許請求の範囲】
【請求項１】
スマートデバイスに適用されるファームウェアアップグレード方法であって、
前記スマートデバイスは、第１チップ及び第２チップを備え、前記第２チップは、バックアップ領域である第１パーティションと、アクティブ領域である第２パーティションを含み、
前記スマートデバイスが受信したインストラクションの順番により前記第２チップより先に前記第１チップのファームウェアをアップグレードする必要があると特定された場合には、
前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するステップと、
前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードするステップと、
前記第１チップの新しいファームウェアを前記第１パーティションから前記第１チップ中の有効領域にコピーするステップと、
を含み、
前記スマートデバイスが受信したインストラクションの順番により前記第１チップより先に前記第２チップのファームウェアをアップグレードする必要があると特定された場合には、
前記第２チップの新しいファームウェアを前記第１パーティションにダウンロードするステップと、
前記第１パーティションを、前記第２チップの既存のファームウェアを記憶するための第２パーティションにアクティブ化するステップと、
前記第２パーティションを、前記第２チップのファームウェアをダウンロードするための第１パーティションとして設定するステップと、
を含み、
前記第１チップのファームウェア及び前記第２チップのファームウェアを、いずれも、アップグレードする必要があると特定された場合において、前記スマートデバイスが受信したインストラクションの順番により前記第１チップより先に前記第２チップのファームウェアをアップグレードする必要があると特定された場合には、
前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するステップと、
前記第２チップの新しいファームウェアを前記第１パーティションにダウンロードするステップと、
前記第１パーティションを、前記第２チップの既存のファームウェアを記憶するための第２パーティションにアクティブ化すると同時に、前記第２パーティションを、前記第２チップのファームウェアをダウンロードするための第１パーティションとして設定するステップと、
前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードするステップと、
前記第１チップの新しいファームウェアを前記第１パーティションから前記第１チップ中の有効領域にコピーするステップと、
を含むことを特徴とするファームウェアアップグレード方法。
【請求項２】
前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するステップは、
第２チップのパーティション情報を取得するステップと、
前記パーティション情報に基づいて、前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するステップと、
を含むことを特徴とする請求項１に記載のファームウェアアップグレード方法。
【請求項３】
前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードした後に、前記第１チップの新しいファームウェアをチェックするステップ、
をさらに含むことを特徴とする請求項１に記載のファームウェアアップグレード方法。
【請求項４】
スマートデバイスに適用されるファームウェアアップグレード装置であって、
前記スマートデバイスは、第１チップ及び第２チップを備え、前記第２チップは、バックアップ領域である第１パーティションと、アクティブ領域である第２パーティションを含み、
前記スマートデバイスが受信したインストラクションの順番により前記第２チップより先に前記第１チップのファームウェアをアップグレードする必要があると特定された場合に、前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するための認識モジュールと、
前記第１チップの新しいファームウェアを、前記認識モジュールにより認識された前記第１パーティションにダウンロードするための第１ダウンロードモジュールと、
前記第１ダウンロードモジュールによりダウンロードして得られた前記第１チップの新しいファームウェアを、前記第１パーティションから前記第１チップ中の有効領域にコピーするためのコピーモジュールと、
を含み、
前記スマートデバイスが受信したインストラクションの順番により前記第１チップより先に前記第２チップのファームウェアをアップグレードする必要があると特定された場合に、前記第２チップの新しいファームウェアを、前記認識モジュールにより認識された前記第１パーティションにダウンロードするための第２ダウンロードモジュールと、
前記第２ダウンロードモジュールにより前記第２チップの新しいファームウェアを前記第１パーティションにダウンロードした後に、前記第１パーティションを、前記第２チップの既存のファームウェアを記憶するための第２パーティションにアクティブ化するためのアクティブモジュールと、
前記アクティブモジュールにより前記第１パーティションを前記第２パーティションにアクティブ化した後に、前記第２パーティションを、前記第２チップのファームウェアをダウンロードするための第１パーティションとして設定するための設定モジュールと、
を含み、
前記装置は、
前記第１チップのファームウェア及び前記第２チップのファームウェアを、いずれも、アップグレードする必要があると特定された場合において、前記スマートデバイスが受信したインストラクションの順番により前記第１チップより先に前記第２チップのファームウェアをアップグレードする必要があると特定された場合には、
前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識し、
前記第２チップの新しいファームウェアを前記第１パーティションにダウンロードし、
前記第１パーティションを、前記第２チップの既存のファームウェアを記憶するための第２パーティションにアクティブ化すると同時に、前記第２パーティションを、前記第２チップのファームウェアをダウンロードするための第１パーティションとして設定し、
前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードし、
前記第１チップの新しいファームウェアを前記第１パーティションから前記第１チップ中の有効領域にコピーするように構成されることを特徴とするファームウェアアップグレード装置。
【請求項５】
前記認識モジュールは、
第２チップのパーティション情報を取得するための取得サブモジュールと、
前記取得サブモジュールにより取得した前記パーティション情報に基づいて、前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するための認識サブモジュールと、
を含むことを特徴とする請求項４に記載のファームウェアアップグレード装置。
【請求項６】
前記第１ダウンロードモジュールにより前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードした後に、前記第１チップの新しいファームウェアをチェックするためのチェックモジュール、
をさらに含むことを特徴とする請求項４に記載のファームウェアアップグレード装置。
【請求項７】
プロセッサと、
前記プロセッサが実行可能な命令を記憶するためのメモリと
を備え、
前記プロセッサは、
第１チップ及び第２チップを備えるスマートデバイスであって、前記第２チップは、バックアップ領域である第１パーティションと、アクティブ領域である第２パーティションを含む前記スマートデバイスが受信したインストラクションの順番により第２チップより先に第１チップのファームウェアをアップグレードする必要があると特定された場合には、
第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識し、
前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードし、
前記第１チップの新しいファームウェアを前記第１パーティションから前記第１チップ中の有効領域にコピーするように構成されており、
前記スマートデバイスが受信したインストラクションの順番により前記第１チップより先に前記第２チップのファームウェアをアップグレードする必要があると特定された場合には、
前記第２チップの新しいファームウェアを前記第１パーティションにダウンロードし、
前記第１パーティションを、前記第２チップの既存のファームウェアを記憶するための第２パーティションにアクティブ化し、
前記第２パーティションを、前記第２チップのファームウェアをダウンロードするための第１パーティションとして設定するように構成されており、
前記第１チップのファームウェア及び前記第２チップのファームウェアを、いずれも、アップグレードする必要があると特定された場合において、前記スマートデバイスが受信したインストラクションの順番により前記第１チップより先に前記第２チップのファームウェアをアップグレードする必要があると特定された場合には、
前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識し、
前記第２チップの新しいファームウェアを前記第１パーティションにダウンロードし、
前記第１パーティションを、前記第２チップの既存のファームウェアを記憶するための第２パーティションにアクティブ化すると同時に、前記第２パーティションを、前記第２チップのファームウェアをダウンロードするための第１パーティションとして設定し、
前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードし、
前記第１チップの新しいファームウェアを前記第１パーティションから前記第１チップ中の有効領域にコピーする、
ように構成されることを特徴とするファームウェアアップグレード装置。
【請求項８】
プロセッサに実行されることにより、請求項１〜３のいずれか１項に記載のファームウェアアップグレード方法を実現することを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムが記録された記録媒体。
【発明の詳細な説明】
【相互参照】
【０００１】
本願は、出願番号がＣＮ２０１４１０７５１７２７．３であり、出願日が２０１４年１２月０９日である中国特許出願に基づき優先権を主張し、当該中国特許出願のすべての内容を本願に援用する。
【技術分野】
【０００２】
本発明は、電子技術分野に関し、特に、ファームウェアアップグレード方法、装置、プログラム及び記録媒体に関する。
【背景技術】
【０００３】
ファームウェアアップグレードとは、エンベデッドマイクロコントロールユニット（Ｍｉｃｒｏ Ｃｏｎｔｒｏｌ Ｕｎｉｔ、ＭＣＵと略称する）のエンベデッドファームウェアをアップデートすることにより、スマートデバイスの機能を改善し、スマートデバイスの安定性を高めることを意味する。より複雑なスマートデバイスは、複数のＭＣＵ、又は、ＭＣＵ型のチップ及び非ＭＣＵ型のチップに対して、ファームウェアをアップグレードする必要がある場合が存在する。ここで、非ＭＣＵ型チップは、例えば、ワイヤレス・フィディリティー（Ｗｉｒｅｌｅｓｓ Ｆｉｄｅｌｉｔｙ、ＷＩＦＩと略称する）チップ、ブルートゥースチップ等である。複数のファームウェアをアップグレードする際に、複数のファームウェアに対してそれぞれファームウェアアップグレードをすると、リソースの無駄遣いになり易い。
【発明の概要】
【０００４】
本発明は、従来技術での技術問題を解決するために、ファームウェアをアップグレードする過程の安全性を高めるための、ファームウェアアップグレード方法、装置、プログラム及び記録媒体を提供する。
【０００５】
本発明の実施例の第１の態様によると、ファームウェアアップグレード方法を提供する。
【０００６】
当該方法は、
第１チップのファームウェアをアップグレードする必要があると特定された場合に、第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するステップと、
前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードするステップと、
前記第１チップの新しいファームウェアを前記第１パーティションから前記第１チップ中の有効領域にコピーするステップと、を含む。
【０００７】
一実施例において、前記方法は、
前記第２チップのファームウェアをアップグレードする必要があると特定された場合に、前記第２チップの新しいファームウェアを前記第１パーティションにダウンロードするステップと、
前記第１パーティションを、前記第２チップの既存のファームウェアを記憶するための第２パーティションにアクティブ化するステップと、
前記第２パーティションを、前記第２チップのファームウェアをダウンロードするための第１パーティションとして設定するステップと、をさらに含む。
【０００８】
一実施例において、前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するステップは、
第２チップのパーティション情報を取得するステップと、
前記パーティション情報に基づいて、前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するステップと、を含む。
【０００９】
一実施例において、前記方法は、
前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードした後に、前記第１チップの新しいファームウェアをチェックするステップ、をさらに含む。
【００１０】
本発明の実施例の第２の態様によると、ファームウェアアップグレード装置を提供する。
【００１１】
当該装置は、
第１チップのファームウェアをアップグレードする必要があると特定された場合に、第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するための認識モジュールと、
前記第１チップの新しいファームウェアを、前記認識モジュールにより認識された前記第１パーティションにダウンロードするための第１ダウンロードモジュールと、
前記第１ダウンロードモジュールによりダウンロードして得られた前記第１チップの新しいファームウェアを、前記第１パーティションから前記第１チップ中の有効領域にコピーするためのコピーモジュールと、を含む。
【００１２】
一実施例において、前記装置は、
前記第２チップのファームウェアをアップグレードする必要があると特定された場合に、前記第２チップの新しいファームウェアを前記第１パーティションにダウンロードするための第２ダウンロードモジュールと、
前記第２ダウンロードモジュールにより前記第２チップの新しいファームウェアを前記第１パーティションにダウンロードした後に、前記第１パーティションを、前記第２チップの既存のファームウェアを記憶するための第２パーティションにアクティブ化するためのアクティブモジュールと、
前記アクティブモジュールにより前記第１パーティションを前記第２パーティションにアクティブ化した後に、前記第２パーティションを、前記第２チップのファームウェアをダウンロードするための第１パーティションとして設定するための設定モジュールと、をさらに含む。
【００１３】
一実施例において、前記認識モジュールは、
第２チップのパーティション情報を取得するための取得サブモジュールと、
前記取得サブモジュールにより取得した前記パーティション情報に基づいて、前記第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識するための認識サブモジュールと、を含む。
【００１４】
一実施例において、前記装置は、
前記第１ダウンロードモジュールにより前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードした後に、前記第１チップの新しいファームウェアをチェックするためのチェックモジュール、をさらに含む。
【００１５】
本発明の実施例の第３の態様によると、ファームウェアアップグレード装置を提供する。
【００１６】
当該装置は、
プロセッサと、
前記プロセッサが実行可能な命令を記憶するためのメモリと
を備え、
前記プロセッサは、
第１チップのファームウェアをアップグレードする必要があると特定された場合に、第２チップのフラッシュメモリ中の前記第２チップのファームウェアをダウンロードするための第１パーティションを認識し、
前記第１チップの新しいファームウェアを前記第１パーティションにダウンロードし、
前記第１チップの新しいファームウェアを前記第１パーティションから前記第１チップ中の有効領域にコピーするように構成される。
【００１７】
本発明の実施例の第４の態様によると、プログラムを提供し、当該プログラムは、プロセッサに実行されることにより、上記のファームウェアアップグレード方法を実現する。
【００１８】
本発明の実施例の第５の態様によると、記録媒体を提供し、当該記録媒体には、上記プログラムが記録されている。
【００１９】
本発明の実施例により提供する構成は、以下のような有益な効果を有する。
【００２０】
まず、第１チップのファームウェアをアップグレードする必要があるかを特定することにより、複数のチップのファームウェアを同時にアップグレードするときに発生する競合を避けて、チップのファームウェアをアップグレードするときの安全性を向上し、第１チップの新しいファームウェアを第２チップのフラッシュメモリ中の第１パーティションにダウンロードして、第１チップの新しいファームウェアを第１パーティションから第１チップ中の有効位置にコピーすることにより、第２チップのフラッシュメモリを用いて、第１チップの新しいファームウェアのアップグレードを実現して、アップグレードする過程で追加の制御ロジックの利用を避け、スマートデバイスのリソースを節約する。
【００２１】
以上の統括的な記述と以下の詳細な記述は、単に例示的なものであり、本発明を制限するものではないと理解するべきである。
【図面の簡単な説明】
【００２２】
以下の図面は、明細書の一部分として明細書全体を構成することにより、本発明に合致する実施例を例示するとともに、本発明の原理を解釈するためのものである。
【００２３】
【図１】例示的な実施例に係るファームウェアアップグレード方法を示すフローチャートである。
【図２】例示的な実施例１に係るファームウェアアップグレード方法を示すフローチャートである。
【図３】例示的な実施例２に係るファームウェアアップグレード方法を示すフローチャートである。
【図４Ａ】例示的な実施例に係るＭＣＵチップのパーティションを示す模式図である。
【図４Ｂ】例示的な実施例に係るＭＣＵチップに対してファームウェアアップグレードするときのパーティションを示す模式図のその１である。
【図４Ｃ】例示的な実施例に係るＷＩＦＩチップに対してファームウェアアップグレードするときのパーティションを示す模式図のその２である。
【図４Ｄ】例示的な実施例に係るＷＩＦＩチップに対してファームウェアアップグレードするときのパーティションを示す模式図のその３である。
【図４Ｅ】例示的な実施例に係るＷＩＦＩチップに対してファームウェアアップグレードするときのパーティションを示す模式図のその４である。
【図５】例示的な実施例に係るファームウェアアップグレード装置を示すブロック図である。
【図６】例示的な実施例に係る他のファームウェアアップグレード装置を示すブロック図である。
【図７】例示的な実施例に係るファームウェアのアップグレードに適用される装置を示すブロック図である。
【発明を実施するための形態】
【００２４】
ここで、例示的な実施例を詳細に説明する。また、説明中の例は、図面に示している。以下の記述において、図面を説明する際に特に説明しない場合、異なる図面中の同一の符号は、同一または同様の要素を意味する。以下の例示的な実施例において記述する実施方法は、本発明に合致するすべての実施方法を代表しない。逆に、それらは、添付の特許請求の範囲において詳細に記述された、本発明の幾つかの態様と合致する装置及び方法の例に過ぎない。
【００２５】
図１は、例示的な実施例に係るファームウェアアップグレード方法を示すフローチャートである。当該ファームウェアアップグレード方法は、スマートデバイス（例えば、スマートソケット、スマートテレビ、スマートエアコンなど）に適用されてもよい。図１に示したように、当該ファームウェアアップグレード方法は、以下のステップＳ１０１〜Ｓ１０３を含む。
【００２６】
ステップＳ１０１において、第１チップのファームウェアをアップグレードする必要があると特定された場合、第２チップのフラッシュメモリ中の、第２チップのファームウェアをダウンロードするための第１パーティションを認識する。
【００２７】
一実施例において、遠隔制御の方法によって、第１チップのファームウェアをアップグレードする必要があると特定してもよく、スマートデバイスにおいてボタンをトリガする方法によって、第１チップのファームウェアをアップグレードする必要があることを特定してもよい。一実施例において、例えば、第１チップは、ブルートゥースチップ、ＷＩＦＩチップなどの非ＭＣＵチップであり、第２チップは、ＭＣＵチップまたはＭＣＵに類似するチップであり、第１パーティションは、ＭＣＵチップのフラッシュメモリ中のバックアップ領域であってもよい。或いは、第１チップは、ＭＣＵチップであり、第２チップは、ブルートゥースチップ、ＷＩＦＩチップ等の非ＭＣＵチップでもよい。本発明の実施例は、第１チップと第２チップとの具体的な名称に対して制限しない。第１チップ及び第２チップの中の1つのチップ内に、フラッシュメモリが設定されてあればよい。
【００２８】
ステップＳ１０２において、第１チップの新しいファームウェアを第１パーティションにダウンロードする。
【００２９】
一実施例において、ネットワークを介して、第１チップのファームウェアを第１パーティションにダウンロードしてもよい。
【００３０】
ステップＳ１０３において、第１チップの新しいファームウェアを第１パーティションから第１チップ中の有効領域にコピーする。
【００３１】
一実施例において、第１チップの有効領域は、ファームウェアのタイプによって特定されてもよい。
【００３２】
本実施例において、まず、第１チップのファームウェアをアップグレードする必要があるかを特定することにより、複数のチップのファームウェアを同時にアップグレードするときに発生する競合を避けて、チップのファームウェアをアップグレードするときの安全性を向上し、第１チップの新しいファームウェアを第２チップのフラッシュメモリ中の第１パーティションにダウンロードして、第１チップの新しいファームウェアを第１パーティションから第１チップ中の有効位置にコピーすることにより、第２チップのフラッシュメモリを用いて、第１チップの新しいファームウェアのアップグレードを実現して、アップグレードする過程で追加の制御ロジックの利用を避け、スマートデバイスのリソースを節約した。
【００３３】
一実施例において、ファームウェアアップグレード方法は、
第２チップのファームウェアをアップグレードする必要があると特定された場合に、第２チップの新しいファームウェアを第１パーティションにダウンロードするステップと、
第１パーティションを、第２チップの既存のファームウェアを記憶するための第２パーティションに、アクティブ化するステップと、
第２パーティションを、第２チップのファームウェアをダウンロードするための第１パーティションとして設定するステップと、をさらに含んでもよい。
【００３４】
一実施例において、ステップＳ１０１は、
第２チップのパーティション情報を取得するステップと、
パーティション情報に基づいて、第２チップのフラッシュメモリ中の、第２チップのファームウェアをダウンロードするための第１パーティションを認識するステップと、をさらに含んでもよい。
【００３５】
一実施例において、ファームウェアアップグレード方法は、
第１チップの新しいファームウェアを、第１パーティションにダウンロードした後に、第１チップの新しいファームウェアをチェックするステップ、をさらに含んでもよい。
【００３６】
スマートデバイス上のファームウェアを、具体的に、どのようにアップグレードするかは、以下の実施例を参考にすること。
【００３７】
以上の本発明の実施例によって提供する上記方法によると、複数のチップのファームウェアを同時にアップグレードをするときに発生する競合を避けることができて、チップのファームウェアをアップグレードするときの安全性を向上し、アップグレードする過程で追加の制御ロジックの利用を避けることもでき、スマートデバイスのリソースを節約した。
【００３８】
次に、具体的な実施例によって、本発明の実施例により提供された構成を説明する。
【００３９】
図２は、例示的な実施例１に係るファームウェアアップグレード方法を示すフローチャートである。本実施例は、本発明の実施例により提供された上記の方法を利用して、第２チップがＭＣＵチップであり、また、ＭＣＵチップ中のファームウェアに対してアップグレードする例を挙げて、例示的に説明する。図２に示したように、以下のステップを含む。
【００４０】
ステップＳ２０１において、第２チップのファームウェアをアップグレードする必要があると特定された場合、第２チップのパーティション情報を取得する。
【００４１】
一実施例において、上記のステップＳ１０１に対する説明と類似する。遠隔制御の方法によって、アップグレードする必要があるファームウェアはＭＣＵチップであることを特定してもよく、スマートデバイスにおいてボタンをトリガする方法により、アップグレードする必要があるファームウェアはＭＣＵチップであることを特定してもよい。第２チップのパーティション情報は、フラッシュメモリ中の第１パーティションと第２パーティションとがそれぞれ位置する領域を示した。
【００４２】
ステップＳ２０２において、パーティション情報に基づいて、第２チップのフラッシュメモリ中の、第２チップのファームウェアをダウンロードするための第１パーティションを認識する。
【００４３】
一実施例において、第１パーティションは、例えば、フラッシュメモリ中のバックアップ領域である。
【００４４】
ステップＳ２０３において、第１チップの新しいファームウェアを第１パーティションにダウンロードした後に、第１チップの新しいファームウェアをチェックする。
【００４５】
一実施例において、巡回冗長検査コード（Ｃｙｃｌｉｃ Ｒｅｄｕｎｄａｎｃｙ Ｃｈｅｃｋ、ＣＲＣと略称する）により、第１チップの新しいファームウェアをチェックしてもよく、新しいファームウェアのフォーマット情報によって新しいファームウェアをチェックしてもよい。第１チップの新しいファームウェアをチェックすることにより、新しいファームウェアが正常であることを確保し、それによりファームウェアアップグレードの信頼性を確保する。
【００４６】
ステップＳ２０４において、第２チップの新しいファームウェアを、第１パーティションにダウンロードする。
【００４７】
ステップＳ２０５において、第１パーティションを、第２チップの既存のファームウェアを記憶するための第２パーティションに、アクティブ化する。
【００４８】
一実施例において、第２パーティションは、例えば、フラッシュメモリのアクティブ領域であり、当該アクティブ領域はＭＣＵチップの既存のファームウェアを記憶するためのものである。
【００４９】
ステップＳ２０６において、第２パーティションを、第２チップのファームウェアをダウンロードするための第１パーティションとして設定する。
【００５０】
本実施例において、第２チップがＭＣＵチップである例を挙げて例示的に説明した。ＭＣＵチップ中のアップグレードする必要があるファームウェアをバックアップ領域にダウンロードし、バックアップ領域をアクティブ領域として設定し、また、既存のファームウェアが位置する第２パーティションをバックアップ領域として設定することにより、スマートデバイスの他のリソースを占用しない上、ＭＣＵチップのファームウェアに対してアップグレードすることを実現して、追加の制御ロジックの利用を避けて、スマートデバイスのリソースを節約した。
【００５１】
図３は、例示的な実施例２に係るファームウェアアップグレード方法を示すフローチャートである。本実施例は、本発明の実施例によって提供する上記方法を利用して、まず、スマートデバイスのＭＣＵチップ中のファームウェアをアップグレードしてから、再び、非ＭＣＵチップ（例えば、ＷＩＦＩチップ、ブルートゥースチップ等）中のファームウェアをアップグレードする例を挙げて、例示的に説明する。図３に示したように、以下のステップを含む。
【００５２】
ステップＳ３０１において、第２チップのファームウェアをアップグレードする必要があると特定された場合、第２チップのパーティション情報を取得する。
【００５３】
一実施例において、上記のステップＳ１０１における説明と類似する。遠隔制御の方法によって、ＭＣＵチップのファームウェアをアップグレードする必要があることを特定してもよく、スマートデバイスにおいてボタンをトリガする方法によって、ＭＣＵチップのファームウェアをアップグレードする必要があることを特定してもよい。第２チップのパーティション情報は、フラッシュメモリ中の第１パーティションと第２パーティションとがそれぞれ位置する領域を示した。
【００５４】
ステップＳ３０２において、パーティション情報に基づいて、第２チップのフラッシュメモリ中の、第２チップのファームウェアをダウンロードするための第１パーティションを認識する。
【００５５】
ステップＳ３０３において、第２チップの新しいファームウェアを第１パーティションにダウンロードする。
【００５６】
ステップＳ３０４において、第２チップの新しいファームウェアを第１パーティションにダウンロードした後に、第２チップの新しいファームウェアをチェックする。
【００５７】
ステップＳ３０５において、第１パーティションを、第２チップの既存のファームウェアを記憶するための第２パーティションに、アクティブ化する。
【００５８】
ステップＳ３０６において、第２パーティションを、第２チップのファームウェアをダウンロードするための第１パーティションとして設定する。
【００５９】
上記ステップＳ３０１〜ステップＳ３０６の説明は、上記のステップＳ２０１〜ステップＳ２０６の説明を参照してもよく、その説明は省略することにする。
【００６０】
ステップＳ３０７において、アップグレードする必要があるファームウェアが第１チップであるとして特定された場合、第１チップの新しいファームウェアを第１パーティションにダウンロードする。
【００６１】
一実施例において、例えば、第１チップは、ＷＩＦＩチップであり、ＭＣＵのフラッシュメモリ中の第１パーティションは、フラッシュメモリにおける元の第２パーティションであり、当該第１パーティションは、ステップＳ３０５の設定によりバックアップ領域になる。
【００６２】
ステップＳ３０８において、第１チップの新しいファームウェアを第１パーティションから第１チップ中の有効領域にコピーする。
【００６３】
本実施例においては、第１チップ中のファームウェア及び第２チップ中のファームウェアをアップグレードする例を挙げて、例示的に説明した。ＭＣＵのアップグレードに必要な新しいファームウェアをバックアップ領域にダウンロードし、バックアップ領域をアクティブ領域に設定し、また、既存のファームウェアが位置する第２パーティションをバックアップ領域に設定し、そして、ＷＩＦＩチップのアップグレードに必要な新しいファームウェアをバックアップ領域にダウンロードし、また、ＷＩＦＩチップのアップグレードに必要な新しいファームウェアをＷＩＦＩチップ中の有効領域にコピーすることにより、ＭＣＵチップのファームウェアとＷＩＦＩチップのファームウェアを同時にアップグレードする場合に発生する競合を避け、ＭＣＵチップ及びＷＩＦＩチップをファームウェアアップグレードする過程の安全性を向上し、ＷＩＦＩチップの新しいファームウェアをＭＣＵチップのフラッシュメモリ中の第１パーティションにダウンロードすることにより、ＷＩＦＩチップの新しいファームウェアをバックアップ領域からＷＩＦＩチップ中の有効位置にコピーし、ＭＣＵチップのフラッシュメモリを用いてＷＩＦＩチップの新しいファームウェアへのアップグレードを実現して、アップグレードする過程で追加の制御ロジックの利用を避け、スマートデバイスのリソースを節約した。或いは、ＷＩＦＩチップは、ブルートゥースチップであってもよく、ブルートゥースチップ中のファームウェアをアップグレードする過程は、上記の説明を参照してもよく、その説明は省略することにする。
【００６４】
次に、図４Ａ〜図４Ｅを参照して、本発明の実施例のファームウェアアップグレードの過程を例示的に説明する。本発明の実施例は、第１チップがＷＩＦＩチップであり、第２チップがＭＣＵチップである例を挙げて、例示的に説明する。当業者は、スマートデバイス中のフラッシュメモリを有するチップに対して、フラッシュメモリ中の互いに異なるパーティションを用いて、他のアップグレードする必要があるファームウェアをアップグレードする構成は、いずれも本発明の実施例の構成として理解してもよいことを理解すべきである。
【００６５】
２つ又は２つ以上のチップのファームウェアをアップグレードする必要がある場合に、スマートデバイスが受信したインストラクションの順序に従って、上記ファームウェアアップグレード方法によって、スマートデバイス中の複数のファームウェアをアップグレードしてもよい。次のような例を挙げる。
【００６６】
図４Ａのように、スマートデバイス４０はＭＣＵチップ４１及びＷＩＦＩチップ４２を含み、そのうち、ＭＣＵチップ４１中のフラッシュメモリは第１パーティション４１１及び第２パーティション４１２を含み、第１パーティション４１１はＭＣＵチップ４１のファームウェアをダウンロードするために用いられ、第２パーティション４１２はＭＣＵチップの既存のファームウェアを記憶するために用いられる。よりイメージ化した説明は、第１パーティション４１１は、ＭＣＵチップのフラッシュメモリ中のバックアップ領域と呼ばれてもよく、第２パーティション４１２は、ＭＣＵチップのフラッシュメモリ中のアクティブ領域と呼ばれてもよい。
【００６７】
一実施例において、ＭＣＵチップ４１及びＷＩＦＩチップ４２は、いずれもファームウェアアップグレードする必要がある。図４Ｂに示したように、スマートデバイスは、遠隔ダウンロードの方法によって、ＭＣＵチップ４１の新しいファームウェアを第１パーティション４１１にダウンロードしてもよい。図４Ｃに示したように、ＭＣＵチップ４１の新しいファームウェアをチェックしてもよく、これにより、ＭＣＵチップ４１の新しいファームウェアに問題がないことが確保された後、ＭＣＵチップ４１の新しいファームウェアが位置する領域である第２パーティション４１２を、アクティブ領域にアクティブし、ＭＣＵチップ４１の既存のファームウェアが位置する領域を、第１パーティション（即ち、バックアップ領域である）として設定する。
【００６８】
図４Ｄに示したように、スマートデバイスは、遠隔ダウンロードの方法によって、ＷＩＦＩチップ４２の新しいファームウェアを、ＭＣＵチップの第１パーティションにダウンロードする。図４Ｅに示したように、ＷＩＦＩチップ４２の新しいファームウェアに対するチェックが終了した後に、ＷＩＦＩチップ４２の新しいファームウェアをＷＩＦＩチップにコピーし、また、ＷＩＦＩ４２の既存のファームウェアをカバーして、スマートデバイスを再起動すれば、スマートデバイスのファームウェアアップグレードは完成される。
【００６９】
上記の過程の説明により、本発明の実施例に係るファームウェアをアップグレードする過程を明確に理解することができる。当業者は、上記の過程は単に例示的な説明であり、本発明の実施例を制限するものではないことを理解すべきである。
【００７０】
図５は、例示的な実施例に係るファームウェアアップグレード装置を示すブロック図である。図５に示したように、ファームウェアアップグレード装置は、
第１チップのファームウェアをアップグレードする必要があると特定された場合、第２チップのフラッシュメモリ中の、第２チップのファームウェアをダウンロードするための第１パーティションを認識するための認識モジュール５１と、
第１チップの新しいファームウェアを、認識モジュール５１により認識された第１パーティションにダウンロードするための第１ダウンロードモジュール５２と、
第１ダウンロードモジュール５２によりダウンロードして得られた第１チップの新しいファームウェアを、第１パーティションから第１チップ中の有効領域にコピーするためのコピーモジュール５３と、を含んでもよい。
【００７１】
図６に示したように、装置は、
第２チップのファームウェアをアップグレードする必要があると特定された場合に、第２チップの新しいファームウェアを、認識モジュール５１により認識された第１パーティションにダウンロードするための第２ダウンロードモジュール５４と、
第２ダウンロードモジュール５４により第２チップの新しいファームウェアを第１パーティションにダウンロードした後に、第１パーティションを、第２チップの既存のファームウェアを記憶するための第２パーティションに、アクティブ化するためのアクティブモジュール５５と、
アクティブモジュール５５により第１パーティションを第２パーティションにアクティブ化した後に、第２パーティションを、第２チップのファームウェアをダウンロードするための第１パーティションとして設定するための設定モジュール５６と、をさらに含んでもよい。第１チップのファームウェアを必要する場合に、認識モジュール５１は、第２チップのフラッシュメモリ中の、第２チップのファームウェアをダウンロードするための第１パーティションを認識することができる。
【００７２】
一実施例において、認識モジュール５１は、
第２チップのパーティション情報を取得するための取得サブモジュール５１１と、
取得サブモジュール５１１により取得したパーティション情報に基づいて、第２チップのフラッシュメモリ中の、第２チップのファームウェアをダウンロードするための第１パーティションを認識するための認識サブモジュール５１２と、を含んでもよい。
【００７３】
一実施例において、装置は、
第１ダウンロードモジュール５２により第１チップの新しいファームウェアを第１パーティションにダウンロードした後に、第１チップの新しいファームウェアをチェックするためのチェックモジュール５７、をさらに含んでもよい。
【００７４】
上記の実施例の装置について、その各モジュールが実行する操作の具体的な形態は既に当該方法に関する実施例において詳細に説明したため、ここでは詳細に説明しない。
【００７５】
図７は、例示的な実施例に係るファームウェアをアップグレードするために適用される装置を示すブロック図である。例えば、装置７００は、携帯電話、コンピュータ、デジタル放送端末、メッセージ送受信デバイス、ゲームコンソール、タブレットデバイス、医療機器、フィットネス機器、パーソナルデジタルアシスタント等であってもよい。
【００７６】
図７を参照して、装置７００は、プロセスアセンブリ７０２、メモリ７０４、電源アセンブリ７０６、マルチメディアアセンブリ７０８、オーディオアセンブリ７１０、入出力（Ｉ／Ｏ）インターフェイス７１２、センサアセンブリ７１４、及び通信アセンブリ７１６のような一つ以上のアセンブリを含んでよい。
【００７７】
プロセスアセンブリ７０２は、一般的には装置７００の全体の動作を制御するものであり、例えば、表示、電話呼び出し、データ通信、カメラ動作、及び記録動作と関連する動作を制御する。プロセスアセンブリ７０２は、一つ以上のプロセッサ７２０を含み、これらによって命令を実行することにより、上記の方法の全部、或いは一部のステップを実現するようにしてもよい。なお、プロセスアセンブリ７０２は、一つ以上のモジュールを含み、これらによってプロセスアセンブリ７０２と他のアセンブリの間のインタラクションを容易にするようにしてもよい。例えば、プロセスアセンブリ７０２は、マルチメディアモジュールを含み、これらによってマルチメディアアセンブリ７０８とプロセスアセンブリ７０２の間のインタラクションを容易にするようにしてもよい。
【００７８】
メモリ７０４は、各種類のデータを記憶することにより装置７００の動作を支援するように構成される。これらのデータの例は、装置７００において動作するいずれのアプリケーションプログラム又は方法の命令、連絡対象データ、電話帳データ、メッセージ、画像、ビデオ等を含む。メモリ７０４は、いずれの種類の揮発性メモリ、不揮発性メモリ記憶デバイスまたはそれらの組み合わせによって実現されてもよく、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ Ｅｒａｓａｂｌｅ Ｐｒｏｇｒａｍｍａｂｌｅ Ｒｅａｄ−Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ Ｐｒｏｇｒａｍｍａｂｌｅ Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ ＲＯＭ）、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｂｅｒ）、磁気メモリ、フラッシュメモリ、磁気ディスク、或いは光ディスクである。
【００７９】
電源アセンブリ７０６は、装置７００の多様なアセンブリに電力を供給する。電源アセンブリ７０６は、電源管理システム、一つ以上の電源、及び装置７００のための電力の生成、管理及び割り当てに関連付けられている他のアセンブリを含んでもよい。
【００８０】
マルチメディアアセンブリ７０８は、前記装置７００とユーザの間に一つの出力インターフェイスを提供するスクリーンを含む。上記の実施例において、スクリーンは液晶モニター（ＬＣＤ）とタッチパネル（ＴＰ）を含んでもよい。スクリーンがタッチパネルを含むことにより、スクリーンはタッチスクリーンを実現することができ、ユーザからの入力信号を受信することができる。タッチパネルは一つ以上のタッチセンサを含んでおり、タッチ、スワイプ、及びタッチパネル上のジェスチャを検出することができる。前記タッチセンサは、タッチ、またはスワイプの動作の境界だけでなく、前記のタッチ、或いはスワイプ操作に係る継続時間及び圧力も検出できる。上記の実施例において、マルチメディアアセンブリ７０８は、一つのフロントカメラ及び／又はリアカメラを含む。装置７００が、例えば撮影モード、或いはビデオモード等の動作モードにある場合、フロントカメラ及び／又はリアカメラは外部からマルチメディアデータを受信できる。フロントカメラとリアカメラのそれぞれは、一つの固定型の光レンズ系、或いは可変焦点距離と光学ズーム機能を有するものであってもよい。
【００８１】
オーディオアセンブリ７１０は、オーディオ信号を入出力するように構成されてもよい。例えば、オーディオアセンブリ７１０は、一つのマイク（ＭＩＣ）を含み、装置７００が、例えば呼出しモード、記録モード、及び音声認識モード等の動作モードにある場合、マイクは外部のオーディオ信号を受信することができる。受信されたオーディオ信号は、さらにメモリ７０４に記憶されたり、通信アセンブリ７１６を介して送信されたりする。上記の実施例において、オーディオアセンブリ７１０は、オーディオ信号を出力するための一つのスピーカーをさらに含む。
【００８２】
Ｉ／Ｏインターフェイス７１２は、プロセスアセンブリ７０２と周辺インターフェイスモジュールの間にインターフェイスを提供するものであり、上記周辺インターフェイスモジュールは、キーボード、クリックホイール、ボタン等であってもよい。これらのボタンは、ホームボタン、ボリュームボタン、作動ボタン、ロッキングボタンを含んでもよいが、これらに限定されない。
【００８３】
センサアセンブリ７１４は、装置７００に各種の状態に対する評価を提供するための一つ以上のセンサを含む。例えば、センサアセンブリ７１４は、装置７００のＯＮ／ＯＦＦ状態、装置７００のディスプレイとキーパッドのようなアセンブリの相対的な位置決めを検出できる。また、例えば、センサアセンブリ７１４は、装置７００、或いは装置７００の一つのアセンブリの位置変更、ユーザと装置７００とが接触しているか否か、装置７００の方位、又は加速／減速、装置７００の温度の変化を検出できる。センサアセンブリ７１４は、何れの物理的接触がない状態にて付近の物体の存在を検出するための近接センサを含んでもよい。センサアセンブリ７１４は、撮影アプリケーションに適用するため、ＣＭＯＳ、又はＣＣＤ画像センサのような光センサを含んでもよい。上記の実施例において、当該センサアセンブリ７１４は、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサ、及び温度センサをさらに含んでもよい。
【００８４】
通信アセンブリ７１６は、装置７００と他の機器の間に有線、又は利便性のよい形態の通信を提供する。装置７００は、例えばＷｉＦｉ（登録商標）、２Ｇ、３Ｇ、或いはこれらの組み合わせのような、通信規格に基づいた無線ネットワークに接続されてもよい。一つの例示的な実施例において、通信アセンブリ７１６は、放送チャンネルを介して外部の放送管理システムからの放送信号、又は放送に関連する情報を受信する。一つの例示的な実施例において、前記通信アセンブリ７１６は、近距離無線通信（ＮＦＣ）モジュールをさらに含むことにより、近距離通信を可能にする。例えば、ＮＦＣモジュールは、ＲＦＩＤ（Ｒａｄｉｏ Ｆｒｅｑｕｅｎｃｙ ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）技術、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ Ｄａｔａ Ａｓｓｏｃｉａｔｉｏｎ）技術、ＵＷＢ（Ｕｌｔｒａ Ｗｉｄｅ Ｂａｎｄ）技術、ＢＴ（Ｂｌｕｅｔｏｏｔｈ（登録商標））技術、その他の技術に基づいて実現できる。
【００８５】
例示的な実施例において、装置７００は、一つ以上のＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ Ｓｐｅｃｉｆｉｃ Ｉｎｔｅｇｒａｔｅｄ Ｃｉｒｃｕｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｏｒ）、ＤＳＰＤ（Ｄｉｇｉｔａｌ Ｓｉｇｎａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｄｅｖｉｃｅ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ Ｌｏｇｉｃ Ｄｅｖｉｃｅ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子部品によって実現されるものであり、上記方法を実行する。
【００８６】
例示的な実施例において、さらに、命令を含むコンピュータ読取り可能な非一時的な記録媒体、例えば命令を含むメモリ７０４を提供しており、装置７００のプロセッサ７２０により上記命令を実行して上記方法を実現する。例えば、前記コンピュータ読取り可能な非一時的な記録媒体は、ＲＯＭ、ＲＡＭ、ＣＤ‐ＲＯＭ、磁気テープ、フロッピーディスク（登録商標）、光データ記憶デバイス等である。
【００８７】
当業者は、明細書を検討して本発明を実施した後、本発明の他の実施例を容易に考え出すことができる。本願は、本発明のいずれの変形、用途、又は適応的な変更をカバーすることを意図しており、これらの変形、用途、又は適応的な変更は、本発明の一般的な原理に従い、また、本発明は公開していない当該技術分野の公知の知識又は通常の技術手段を含む。明細書と実施例は単に例示として考慮され、本発明の本当の範囲と趣旨は以下の特許請求の範囲に記載される。
【００８８】
本発明は上記に記述され、また図面に示された厳密な構成に限定されず、その範囲を逸脱しない限り多様な置換えと変更を行うことができると理解されるべきである。本発明の範囲は添付の特許請求の範囲のみにより限定される。 
【図１】
0006259122.tif 000002
【図２】
0006259122.tif 000003
【図３】
0006259122.tif 000004
【図４Ａ】
0006259122.tif 000005
【図４Ｂ】
0006259122.tif 000006
【図４Ｃ】
0006259122.tif 000007
【図４Ｄ】
0006259122.tif 000008
【図４Ｅ】
0006259122.tif 000009
【図５】
0006259122.tif 000010
【図６】
0006259122.tif 000011
【図７】
0006259122.tif 000012