(57)【要約】【課題】比較的簡易な構成により電子機器上で複数のプログラムを選択的に起動させる。【解決手段】電子機器３は、第１のリアルタイムＯＳ及び第１のアプリケーションソフトを格納する第１のメモリバンク、並びに第２のリアルタイムＯＳ及びバージョンの異なる第２のアプリケーションソフトを格納する第２のメモリバンクを有するフラッシュＲＯＭ１２と、第１及び第２のリアルタイムＯＳのいずれかと同一バンク内のアプリケーションソフトとを既定の演算開始アドレスから起動させるＣＰＵ５と、第１のメモリバンク内の第１のリアルタイムＯＳの起動アドレス又は第２のメモリバンク内の第２のリアルタイムＯＳの起動アドレスを、上記演算開始アドレスに一致させるようにバンクを切り替えてアドレス変換を行うバンク切替部９とを備える。【選択図】図１
2010218103.tif 000002
【特許請求の範囲】
【請求項１】
第１のプログラムを格納する第１記憶領域と第２のプログラムを格納する第２記憶領域とを有する記憶部と、
既定の演算開始アドレスから前記第１及び第２のプログラムのいずれかを起動させる演算部と、
前記第１記憶領域内の前記第１のプログラムの起動アドレス又は前記第２記憶領域内の前記第２のプログラムの起動アドレスを、前記演算開始アドレスに一致させるようにしてアドレス変換を行うアドレス変換部と、
を具備することを特徴とする電子機器。
【請求項２】
前記第１記憶領域及び前記第２記憶領域は、第１及び第２のメモリバンクとしてそれぞれ構成され、
さらに、前記アドレス変換部は、前記第１及び第２のメモリバンクを対象としたバンク切り替えによってアドレス変換を行う、
ことを特徴とする請求項１記載の電子機器。
【請求項３】
前記第１及び第２のプログラムのうち起動すべきプログラムを特定する起動プログラム特定情報を取得すると共に、取得したこの起動プログラム特定情報に基づいて前記アドレス変換部の動作を制御する第３のプログラムとしてのローダプログラム、
をさらに具備することを特徴とする請求項１又は２記載の電子機器。
【請求項４】
前記記憶部は、前記演算開始アドレスと、前記ローダプログラムの起動アドレスを割り当てた物理アドレスと、を予め一致させるようにして当該ローダプログラムを格納した第３記憶領域、
をさらに具備することを特徴とする請求項３記載の電子機器。
【請求項５】
前記第１記憶領域には、前記第１のプログラムである第１のオペレーティングシステムと、前記第１のオペレーティングシステムの起動に伴って起動する第１のアプリケーションソフトと、が格納され、
前記第２記憶領域には、前記第２のプログラムである第２のオペレーティングシステムと、前記第１のアプリケーションソフトとはバージョンが異なる同一系統のアプリケーションソフトでありかつ前記第２のオペレーティングシステムの起動に伴って起動する第２のアプリケーションソフトと、が格納されている、
ことを特徴とする請求項１ないし４のいずれか１項に記載の電子機器。
【請求項６】
前記第１及び第２のオペレーティングシステムは、リアルタイムオペレーティングシステムであることを特徴とする請求項５記載の電子機器。
【請求項７】
前記ローダプログラムは、前記第１記憶領域及び前記第２記憶領域にそれぞれ格納された前記第１及び第２のアプリケーションソフトのバージョンを表す情報を検出することによって前記起動プログラム特定情報を取得する、
ことを特徴とする請求項５又は６記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば組み込みシステムなどによって制御される電子機器に関する。
【背景技術】
【０００２】
互いに異なるＯＳ（オペレーティングシステム）がローディングされた複数のメモリバンクと、各メモリバンクをＣＰＵがアクセス可能な任意のアドレスに接続するメモリバンク接続回路と、を用いることで、同一計算機上で複数のＯＳを実行しかつ複数のＯＳ間のデータ交換を可能としたＯＳ切替方式が知られている（例えば特許文献１参照）。
【０００３】
また、単一の装置上で複数のＯＳを動作させる他の方式としては、電源投入時などにローダがゲストＯＳをローディングすると共に、アドレス情報に従いホストＯＳを所定位置に配置した後、ホストＯＳがゲストＯＳをタスクとして生成することで、両ＯＳの各種機能を使用可能とする方式なども提案されている（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−１７５９２４号公報
【特許文献２】特開２００３−２４１９８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、例えばμＩＴＲＯＮなどのリアルタイムＯＳを適用する装置において、互いにバージョンの異なる同一系統の複数のアプリケーションソフトを管理する場合、プログラム格納メモリ上の互いに異なる物理アドレスに、それぞれアプリケーションソフトとＯＳとの組を配置する形態などが例示される。
【０００６】
より具体的には、一方のバージョンのアプリケーションソフトと共に格納されるＯＳ（ＯＳブートローダ）をプログラム格納メモリ上の物理アドレスの０番地に配置し、さらに他方のバージョンのアプリケーションソフトと共に格納されるＯＳをプログラム格納メモリ上の０番地以外の他の物理アドレスに配置する。
【０００７】
すなわち、上述したμＩＴＲＯＮなどと併用されるＣＰＵは、一般に演算開始アドレスが０番地スタートなので、一方のバージョンのアプリケーションソフトは、装置本体への電源投入時にＯＳと共にそのまま起動させることが可能である。
【０００８】
しかしながら、他方のバージョンのアプリケーションソフトは、共に格納されたＯＳのブートローダがＣＰＵの演算開始アドレス上に配置されていないことになるため、その起動には、それなりに複雑な起動シーケンスが必要となる。
【０００９】
また、一般に、仮想記憶（仮想アドレス）などを使用しないリアルタイムＯＳは、プログラムをローディングする場合において、極力無駄のないように最適なメモリ配置を考慮したコンパイル、リンクが要求される。つまり、このようなコンパイルやリンクに留意したメモリ配置の最適化のための配慮は、アプリケーションソフトの新規バージョンアップの度に必要となる。
【００１０】
本発明は、このような事情を考慮してなされたものであり、比較的簡易な構成により複数のプログラムを選択的に起動させることができる電子機器の提供を目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の電子機器は、第１のプログラムを格納する第１記憶領域と第２のプログラムを格納する第２記憶領域とを有する記憶部と、既定の演算開始アドレスから前記第１及び第２のプログラムのいずれかを起動させる演算部と、前記第１記憶領域内の前記第１のプログラムの起動アドレス又は前記第２記憶領域内の前記第２のプログラムの起動アドレスを、前記演算開始アドレスに一致させるようにしてアドレス変換を行うアドレス変換部と、を具備することを特徴とする。
【００１２】
すなわち、本発明では、第１又は第２のプログラムの起動アドレスを、演算部の演算開始アドレスに一致させるようにしてアドレス変換を行うので、上記演算部の固定的な演算開始アドレスなどに制約されることなく、複数のプログラムを個別に切り替えて起動させることができる。
【発明の効果】
【００１３】
本発明によれば、比較的簡易な構成により複数のプログラムを選択的に起動させることが可能な電子機器を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る電子機器の構成を示す機能ブロック図。
【図２】図１の電子機器が備えるバンク切替部の構成を示す機能ブロック図。
【図３】図１の電子機器が備えるフラッシュＲＯＭの（電子機器本体起動前の）メモリマップ。
【図４】図４（ａ）は第１のメモリバンクに切り替えた場合の各プログラムなどの配置とアドレスとの対応関係を表すメモリマップ。図４（ｂ）は第２のメモリバンクに切り替えた場合の各プログラムなどの配置とアドレスとの対応関係を表すメモリマップ。
【図５】図１の電子機器に対する電源投入直後の起動処理を示すフローチャート。
【図６】図１の電子機器に対する電源投入後の通常モードでの起動処理を示すフローチャート。
【図７】図１の電子機器に対する電源投入後の第１バンク固定起動モードでの起動処理を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態を図面に基づき説明する。
図１に示すように、本実施形態の電子機器３は、いわゆる組み込みシステムによってその動作が制御されるものであって、演算部として機能するＣＰＵ５、メインメモリ（ＲＡＭ）６、アドレスバス１４、データバス１５、モード設定スイッチ７、ＵＳＢインタフェース８、アドレス変換部として機能するバンク切替部９、調整用シリアルポート１０、フラッシュＲＯＭ（記憶部）１２を備えている。
【００１６】
図１、図３に示すように、プログラム（ソフト）格納メモリとして機能するフラッシュＲＯＭ１２は、電源バックアップ不要でかつ書き換え可能なＥＥＰＲＯＭなどで構成されており、第１記憶領域、第２記憶領域及び第３記憶領域を有する。第１記憶領域には、第１のプログラムである第１のリアルタイムＯＳ（μＩＴＲＯＮなどのリアルタイムオペレーティングシステム）と、第１のリアルタイムＯＳの起動に伴って起動する第１のアプリケーションソフトと、がインストールされている。
【００１７】
フラッシュＲＯＭ１２の第２記憶領域には、図３に示すように、第２のプログラムとしてのμＩＴＲＯＮなどの第２のリアルタイムＯＳと、上記第１のアプリケーションソフトとはバージョンが異なる同一系統（同じソフト名）のアプリケーションソフトであってかつ第２のリアルタイムＯＳの起動に伴って起動する第２のアプリケーションソフトと、がインストールされている。ここで、第１、第２のアプリケーションソフトは、それらの実行ファイルが第１、第２のリアルタイムＯＳの起動時に読み込まれるように設定されていることで、当該ＯＳの起動時に起動される。
【００１８】
また、フラッシュＲＯＭ１２の第１記憶領域及び第２記憶領域には、図３に示すように、第１及び第２のアプリケーションソフトのバージョンをそれぞれ表すバージョン情報が格納されている。本実施形態では、第１のアプリケーションソフトが旧バージョンであり、第２のアプリケーションソフトが最新バージョンであるため、図３に示すように、第１記憶領域には、バージョン１を表す情報が格納され、一方、第２記憶領域には、バージョン２を表す情報が格納されている。
【００１９】
また、フラッシュＲＯＭ１２の第３記憶領域には、図３に示すように、第３のプログラムであるローダソフト（バンク切替用のローダプログラム）が格納されている。ローダソフトは、第１及び第２のリアルタイムＯＳ（第１及び第２のアプリケーションソフト）のうち、起動すべきプログラムを特定するための後述する起動プログラム特定情報を取得する。ローダソフトは、第１記憶領域及び第２記憶領域にそれぞれ格納された第１及び第２のアプリケーションソフトのバージョンを表す情報を検出することなどによって、上記起動プログラム特定情報を取得する。さらに、ローダソフトは、取得したこの起動プログラム特定情報に基づいてバンク切替部９の動作を制御する。
【００２０】
モード設定スイッチ７は、例えばディップスイッチなどで構成されており、電子機器３本体の起動時の後述する動作モードを設定するためのスイッチである。このモード設定スイッチ７は、４種類の動作モードを選択的に設定することが可能である。また、ローダソフトは、電子機器３本体の起動時に、このモード設定スイッチ７の設定値を読み込む。
【００２１】
図１に示すように、ＵＳＢインタフェース８は、フラッシュＲＯＭ１２に格納されたアプリケーションソフトのバージョンアップの際に、ＵＳＢメモリなどの記憶媒体から新バージョンのアプリケーションソフトのデータを読出して、フラッシュＲＯＭ１２に書き込むためのポートである。
【００２２】
調整用シリアルポート１０は、図１に示すように、プログラムのデバッグなどの調整に使用する例えばＩＥＥＥ１３９４やその他のシリアルインタフェースである。例えばフラッシュＲＯＭ１２にアプリケーションソフトが格納されていない場合、ローダソフトは、この調整用シリアルポート１０を介してアプリケーションソフトをフラッシュＲＯＭ１２に書き込む機能などを有する。
【００２３】
上述した調整用シリアルポート１０、ＵＳＢインタフェース８、モード設定スイッチ７、フラッシュＲＯＭ１２や、バンク切替部９、メインメモリ６は、図１に示すように、アドレスバス１４及びデータバス１５を介してＣＰＵ５と接続されている。
【００２４】
次に、本実施形態の電子機器３が備えるＣＰＵ５及びバンク切替部９、並びにフラッシュＲＯＭ１２に格納されたリアルタイムＯＳ及びローダソフトの構成について詳述する。本実施形態のＣＰＵ５は、演算開始アドレスが０番地であり、フラッシュＲＯＭ１２に格納された第１及び第２のリアルタイムＯＳを０番地スタートで選択的に起動させることが可能である。
【００２５】
つまり、バンク切替部９は、図３に示すように、フラッシュＲＯＭ１２の第１記憶領域内の第１のリアルタイムＯＳの起動アドレス又は第２記憶領域内の第２のプログラムの起動アドレスを、演算開始アドレスに一致させるようにしてアドレス変換を行う。より具体的には、第１記憶領域及び第２記憶領域は、第１のメモリバンク及び第２のメモリバンクとしてそれぞれ構成（管理）されている。さらに、バンク切替部９は、第１及び第２のメモリバンクを対象としたバンク切り替えによってアドレス変換を行う。
【００２６】
さらに詳述すると、図３に示すように、第１のリアルタイムＯＳは、そのＯＳブートローダが、フラッシュＲＯＭ１２の物理アドレスの１０００Ｈ番地に格納されるように、第１記憶領域（第１のメモリバンク）に予め記憶されている。一方、第２のリアルタイムＯＳは、そのＯＳブートローダが、フラッシュＲＯＭ１２の物理アドレスの２０００Ｈ番地に格納されるように、第２記憶領域（第２のメモリバンク）に予め記憶されている。さらに、バンク切替用のローダソフトは、ＣＰＵ５の演算開始アドレス（０番地）と、ローダプログラムの起動アドレスを割り当てた物理アドレスと、を予め一致させるようにして、フラッシュＲＯＭ１２の第３記憶領域に格納されている。つまり、ローダソフトは、図３に示すように、その起動アドレスが、フラッシュＲＯＭ１２の物理アドレスの０番地になるように格納されている。
【００２７】
一方、ハードウェアとして構成されるバンク切替部９は、図２に示すように、アドレス非置換え部９ａ、アドレス第１置換え部９ｂ、アドレス第２置換え部９ｃ、バンク切替レジスタ９ｄ、マルチプレクサ（ＭＵＸ）９ｅを備えている。このバンク切替部９は、ＣＰＵ５からのアクセス要求に伴い指定されたアドレス（ＣＰＵ・ＡＤＲ）と、フラッシュＲＯＭ１２内を実際にアクセスするアドレス（Ｆ・ＡＤＲ）と、を置き換えることを可能にするものである。
【００２８】
具体的には、アドレス第１置換え部９ｂは、図２に示すように、ＣＰＵ５からの指定アドレス例えば「００００〜０ＦＦＦＨ」を、アドレス「１０００〜１ＦＦＦＨ」に、置き換えてマルチプレクサ９ｅ側に出力する。アドレス第２置換え部９ｃは、ＣＰＵ５からの指定アドレス例えば「００００〜０ＦＦＦＨ」を、アドレス「２０００〜２ＦＦＦＨ」に、置き換えてマルチプレクサ９ｅ側に出力する。
【００２９】
また、アドレス非置換え部９ａは、ＣＰＵ５からの指定アドレスを置き換えることなく、マルチプレクサ９ｅ側に出力する。ローダソフトによって動作を制御されるバンク切替レジスタ９ｄは、バンクの切り替えをマルチプレクサ９ｅ対して指示する。マルチプレクサ９ｅは、バンク切替レジスタ９ｄからの切り替えの指示に基づいて、アドレス非置換え部９ａ、アドレス第１置換え部９ｂ、アドレス第２置換え部９ｃから出力されるいずれかのアドレスを選択し、選択したアドレスでフラッシュＲＯＭ１２側にアクセスする。
【００３０】
さらに、このバンク切替部９（バンク切替レジスタ９ｄ）を制御するローダソフトは、次のような機能を備えている。すなわち、電子機器３本体の電源投入直後に０番地からＣＰＵ５によりメインメモリ６上にローディングされて実行されるローダソフトは、モード設定スイッチ７の設定値を読み込んで電子機器３本体の起動時の動作モードを認識する。動作モードには、通常モード（最新バージョン起動モード）、旧バージョン起動モード、第１バンク固定起動モード、第２バンク固定起動モードの４種類が用意されている。
【００３１】
通常モードでは、ローダソフトは、第１及び第２のメモリバンクにそれぞれ格納された第１及び第２のアプリケーションソフトのバージョン情報を検出することによって上述した起動プログラム特定情報を取得し、取得したこの情報を基に、バージョンの新しいアプリケーションソフトが格納されたメモリバンクに切り替わるようにバンク切替部９を制御する。
【００３２】
本実施形態では、第２のメモリバンクにバージョンの新しいアプリケーションソフト（バージョン２のアプリ）が格納されていることから、図２に示すように、ローダソフトは、アドレス第２置換え部９ｃで置き換えられたアドレスが選択されるようにバンク切替部９を制御する。この際、図３、図４（ｂ）に示すように、第２のリアルタイムＯＳのＯＳブートローダのアドレスは、バンク切替前に２０００Ｈ番地であったものが０番地に切り替わってＣＰＵ５の演算開始アドレスと一致する。これにより、第２のリアルタイムＯＳ及び第２のアプリケーションソフトはＣＰＵ５の制御下で起動される。
【００３３】
旧バージョン起動モードでは、ローダソフトは、第１及び第２のメモリバンクにそれぞれ格納された第１及び第２のアプリケーションソフトのバージョン情報を検出することによって起動プログラム特定情報を取得し、取得したこの情報を基に、バージョンの古いアプリケーションソフトが格納されたメモリバンクに切り替わるようにバンク切替部９を制御する。
【００３４】
本実施形態では、第１のメモリバンクにバージョンの古い第１のアプリケーションソフト（バージョン１のアプリ）が格納されていることから、図２に示すように、ローダソフトは、アドレス第１置換え部９ｂで置き換えられたアドレスが選択されるようにバンク切替部９を制御する。この際、図３、図４（ａ）に示すように、第１のリアルタイムＯＳのＯＳブートローダのアドレスは、バンク切替前に１０００Ｈ番地であったものが０番地に切り替わってＣＰＵ５の演算開始アドレスと一致する。これにより、第１のリアルタイムＯＳ及び第１のアプリケーションソフトはＣＰＵ５の制御下で起動される。
【００３５】
第１バンク固定起動モードでは、ローダソフトは、モード設定スイッチ７の設定値自体を起動プログラム特定情報として取得し、取得したこの情報に基づき、強制的に第１のメモリバンクに切り替わるようにバンク切替部９を制御する。つまり、第１バンク固定起動モードの場合、ローダソフトは、上述した旧バージョン起動モードと同様にバンク切替部９の動作を制御する。
【００３６】
第２バンク固定起動モードでは、ローダソフトは、モード設定スイッチ７の設定値自体を起動プログラム特定情報として取得し、取得したこの情報に基づき、強制的に第２のメモリバンクに切り替わるようにバンク切替部９を制御する。すなわち、第２バンク固定起動モードの場合、ローダソフトは、上記した通常モードと同様にバンク切替部９の動作を制御する。
【００３７】
次に、アプリケーションソフトのバージョンアップについて説明する。バージョンアップ対象のアプリケーションソフトは、リアルタイムＯＳの制御化で動作するインストーラなどを備えており、例えばＵＳＢメモリなどに記憶されたかたちで提供される。アプリケーションソフトのバージョンアップは、図１に示すように、上記ＵＳＢメモリ内の新バージョンのアプリケーションソフトのデータをＵＳＢインタフェース８を介して読み込み、読み込んだデータをフラッシュＲＯＭ１２内の第１及び第２のメモリバンクのうちのいずれかの記憶領域にインストールすることで実現される。
【００３８】
上記アプリケーションソフトのインストールは、旧バージョンを上書きするアップグレードによるインストールであってもよいし、旧バージョンを削除した後、新しいバージョンのアプリケーションソフトを新規インストールするようにしてもよい。ここで、本実施形態の電子機器３では、リアルタイムＯＳ及びアプリケーションソフトの組を個別に切り替えて起動させることができるので、アプリケーションソフトの例えばバージョンアップに失敗して、一方のメモリバンクからＯＳを起動できなくなった場合でも、他方のメモリバンクからＯＳを起動させることで、システムを復旧することが可能となる。
【００３９】
また、本実施形態の電子機器３では、図３、図４（ａ）、図４（ｂ）に示すように、第１、第２のメモリバンクのいずれであっても、アプリケーションソフトが実際に立ち上がっているメモリバンクの先頭アドレス（ＯＳブートローダの位置するアドレス）は０番地であり、一方、アプリケーションソフトが立ち上がっていない他方のメモリバンクの先頭アドレスは、０番地以外の同じアドレスになる（本実施形態の図４（ａ）、図４（ｂ）の例では、必ず１０００Ｈ番地となる）。これにより、アプリケーションソフトが現在動作中のメモリバンクが、第１、第２のいずれのメモリバンクであるのかといったことなどを考慮することなく、常に同じ基準アドレスから、フラッシュＲＯＭ１２内のアプリケーションソフトを新バージョンに更新すればよいことになる。
【００４０】
次に、このように構成された電子機器３の起動時の動作を、上述した図１〜図４に加え、図５〜図７に示すフローチャートに基づき説明する。
図３、図５に示すように、電子機器３への電源投入によって電子機器３本体が初期化されると、ＣＰＵ５の演算開始アドレスであるフラッシュＲＯＭ１２の物理アドレス０番地に格納されたローダソフトが、メインメモリ６上にローディングされて起動する（Ｓ１）。
【００４１】
起動したローダソフトは、図５に示すように、モード設定スイッチ７の設定値を読み込み（Ｓ２）、電子機器３本体の起動時の動作モードとして、通常モード、旧バージョン起動モード、第１バンク固定起動モード、第２バンク固定起動モードのうちのいずれの動作モードが要求されているかを検出する（Ｓ３〜Ｓ６）。
【００４２】
例えば、モード設定スイッチ７の設定値が通常モードでの起動を要求するものであった場合、ローダソフトは、図６に示すように、既定の（有効な）アプリケーションソフトが、第１、第２のメモリバンクのいずれかにインストールされているか否かを検出する（Ｓ１１）。既定のアプリケーションソフトが、第１、第２のメモリバンクのいずれにも格納されていない場合（Ｓ１１のＮＯ）、ローダソフトは、調整用シリアルポート１０を介して接続された所定の記憶装置内のアプリケーションソフトをフラッシュＲＯＭ１２内のいずれかのメモリバンクに書き込む処理（ダウンロード）を開始し（Ｓ１２）、書き込み完了を待つ（Ｓ１３）。
【００４３】
次に、ローダソフトは、図３、図６に示すように、フラッシュＲＯＭ１２内の第１及び第２のメモリバンクに例えば各々格納された第１及び第２のアプリケーションソフトのバージョン情報を検出し、例えば第２のメモリバンクに格納された第２のアプリケーションソフトが、第１のメモリバンクに格納された第１のアプリケーションソフトよりも新しいバージョン（最新バージョン）であるか否かを検出する（Ｓ１４）。
【００４４】
第２のメモリバンクに格納された第２のアプリケーションソフトのバージョンのほうが新しい場合（又は調整用シリアルポート１０を介して第２のメモリバンクに例えばアプリケーションソフトが格納された場合）には（Ｓ１４のＹＥＳ）、図２に示すように、ローダソフトは、第２のメモリバンクへのバンク切り替えが行われるように、バンク切替部９を制御する（Ｓ１５）。この場合、図３、図４（ｂ）に示すように、第２のリアルタイムＯＳのＯＳブートローダのアドレスは、バンク切替前に２０００Ｈ番地であったものが０番地に切り替わる。
【００４５】
一方、第２のメモリバンクに格納された第２のアプリケーションソフトのバージョンのほうが古い場合（Ｓ１４のＮＯ）、図２に示すように、ローダソフトは、第１のメモリバンクへのバンク切り替えが行われるようにバンク切替部９を制御する（Ｓ１６）。この場合、図３、図４（ａ）に示すように、第１のリアルタイムＯＳのＯＳブートローダのアドレスは、バンク切替前に１０００Ｈ番地であったものが０番地に切り替わる。
【００４６】
この後、ローダソフトは、０番地に切り替わったいずれかのバンクのリアルタイムＯＳのＯＳブートローダに制御（起動処理）を受け渡し、ローダソフト自身は２０００Ｈ番地に移行されて処理を終了する（Ｓ１７）。さらに、ＣＰＵ５の演算開始アドレス（０番地）とリアルタイムＯＳのＯＳブートローダの位置するアドレスとが一致したことにより、バンク切り替えで選択された側のメモリバンク内のリアルタイムＯＳの起動に伴って、新しいバージョンのアプリケーションソフトが起動する（Ｓ１８）。
【００４７】
また例えば、上述したモード設定スイッチ７の設定値が通常モードでの起動を要求するものであった場合、ローダソフトは、図７に示すように、Ｓ２１〜Ｓ２３において、図６に示す通常モードのＳ１１〜Ｓ１３と同一の処理を行う。さらに、ローダソフトは、強制的に第１のメモリバンクに切り替わるようにバンク切替部９を制御する（Ｓ２４）。これにより、図３、図４（ａ）に示すように、第１のリアルタイムＯＳのＯＳブートローダのアドレスは、バンク切替前に１０００Ｈ番地であったものが０番地に切り替わる。
【００４８】
この後、ローダソフトは、０番地に切り替わった第１のリアルタイムＯＳのＯＳブートローダに制御を受け渡す（Ｓ２５）。さらに、ＣＰＵ５の演算開始アドレスから０番地に切り替えられたＯＳブートローダが読み出され、これにより、第１のリアルタイムＯＳの起動に伴って第１のアプリケーションソフトが起動する（Ｓ２６）。
【００４９】
既述したように、本実施形態の電子機器３によれば、第１のメモリバンク内の第１のリアルタイムＯＳのＯＳブートローダを格納したアドレス又は第１のメモリバンク内の第１のリアルタイムＯＳのＯＳブートローダを格納したアドレスを、ＣＰＵの演算開始アドレスに、一致させるようにバンクを切り替えてアドレス変換を行うので、ＣＰＵ５の固定的な演算開始アドレスなどに制約されることなく複数のＯＳ及びアプリケーションソフトを選択的に起動させることができる。
【００５０】
ここで、本実施形態の電子機器３が適用するリアルタイムＯＳは、一般に、仮想記憶（仮想アドレス）などを使用しないことから、プログラムをローディングする場合において、極力無駄のないように最適なメモリ配置を考慮したコンパイル、リンクが要求される。そこで、本実施形態の電子機器３では、上述したバンク切り替えによってＣＰＵ５の演算開始アドレスに合わせたアドレス変換を行えるようにすることで、アプリケーションソフトのバージョンアップ時などに、プログラムのコンパイルやリンクに留意したメモリ配置の最適化のための配慮などが不要となる。
【００５１】
以上、本発明を実施の形態により具体的に説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。つまり、上記実施形態では、本発明の電子機器の用途などについては具体的に例示しなかったが、例えば、有線又は無線で動画配信を行う例えば地上デジタルテレビジョン放送、ＢＳアナログ／デジタル放送、ＣＳアナログ／デジタル放送、インターネット対応テレビ放送などに利用する放送機器に本発明の構成を適用することが可能である。
【００５２】
また、この他、携帯電話やＰＤＡなどの携帯情報端末、デジタルカメラ、テレビ、ＤＶＤレコーダ、電子レンジなどの家電機器、フラッシュメモリレコーダ、ネットワーク機器、電子計測機器、工業用自動機、自動車の制御システム、カーナビゲーションシステム、エレベータ、自動販売機、医療機器といった、組み込みシステムを用いるあらゆる電子機器に本発明の構成を適用することができる。
【符号の説明】
【００５３】
３…電子機器、５…ＣＰＵ（演算部）、６…メインメモリ（ＲＡＭ）、７…モード設定スイッチ、８…ＵＳＢインタフェース、９…バンク切替部（アドレス変換部）、９ａ…アドレス非置換え部、９ｂ…アドレス第１置換え部、９ｃ…アドレス第２置換え部、９ｄ…バンク切替レジスタ、９ｅ…マルチプレクサ（ＭＵＸ）、１０…調整用シリアルポート、１２…フラッシュＲＯＭ（ソフト格納メモリ）。
【図１】
2010218103.tif 000003
【図２】
2010218103.tif 000004
【図３】
2010218103.tif 000005
【図４】
2010218103.tif 000006
【図５】
2010218103.tif 000007
【図６】
2010218103.tif 000008
【図７】
2010218103.tif 000009