JP2007156899A5 - - Google Patents

Download PDF

Info

Publication number
JP2007156899A5
JP2007156899A5 JP2005352329A JP2005352329A JP2007156899A5 JP 2007156899 A5 JP2007156899 A5 JP 2007156899A5 JP 2005352329 A JP2005352329 A JP 2005352329A JP 2005352329 A JP2005352329 A JP 2005352329A JP 2007156899 A5 JP2007156899 A5 JP 2007156899A5
Authority
JP
Japan
Prior art keywords
program
volatile memory
program module
control
start address
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.)
Granted
Application number
JP2005352329A
Other languages
English (en)
Other versions
JP4845497B2 (ja
JP2007156899A (ja
Filing date
Publication date
Application filed filed Critical
Priority to JP2005352329A priority Critical patent/JP4845497B2/ja
Priority claimed from JP2005352329A external-priority patent/JP4845497B2/ja
Publication of JP2007156899A publication Critical patent/JP2007156899A/ja
Publication of JP2007156899A5 publication Critical patent/JP2007156899A5/ja
Application granted granted Critical
Publication of JP4845497B2 publication Critical patent/JP4845497B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (11)

  1. プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置であって、
    前記不揮発性メモリには、
    <a>前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群ここで、各プログラムモジュールは少なくとも1つの関数プログラムを含み、前記プログラムモジュールのうち少なくとも1つは可逆圧縮されていると、
    <b>各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報、及び、非圧縮状態か圧縮状態かを示す格納状態情報と、
    が記憶されており、
    前記電子装置の電源投入時に、前記不揮発性メモリを参照することで、
    <i>各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み手段と、
    <ii>前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始る実行開始手段と、
    <iii>前記実行開始手段で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報と格納状態情報とを取得し、
    取得した格納状態情報が非圧縮状態であることを示す場合には、前記注目プログラムモジュールを前記揮発性メモリの展開開始アドレス位置に展開し、取得した格納状態情報が圧縮状態であることを示す場合には、前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、
    前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御手段と、
    を備えることを特徴とする電子装置。
  2. プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置であって、
    前記不揮発性メモリには、
    <a>前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群ここで、各プログラムモジュールは少なくとも1つの関数プログラムを含み、前記プログラムモジュールはすべて可逆圧縮されていると、
    <b>各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、及び、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報と、
    が記憶されており、
    前記電子装置の電源投入時に、前記不揮発性メモリを参照することで、
    <i>各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み手段と、
    <ii>前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始る実行開始手段と、
    <iii>前記実行開始手段で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報を取得し、
    前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、
    前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御手段と、
    を備えることを特徴とする電子装置。
  3. 前記制御手段は、前記制御命令コードが配置されているアドレスと、各プログラムモジュールそれぞれに対応する前記展開開始アドレス情報とを比較し、
    前記制御命令コードが配置されているアドレスと前記展開開始アドレス情報とが一致するプログラムモジュールが存在すれば、該プログラムモジュールを前記注目プログラムモジュールとして特定し、
    前記制御命令コードが配置されているアドレスと前記展開開始アドレス情報とが一致するプログラムモジュールが存在しなければ、前記展開開始アドレス情報として、前記制御命令コードが配置されているアドレスよりも上位でかつ最も近いアドレスを示すプログラムモジュールを前記注目プログラムモジュールとして特定することを特徴とする請求項1又は2に記載の電子装置。
  4. さらに、前記プロセッサのアイドル時間に、前記プログラムモジュールのうち前記制御手段によって前記揮発性メモリに展開されていないプログラムモジュールを、前記展開開始アドレス情報を参照して、前記揮発性メモリの前記展開開始位置に展開するバックグラウンド展開手段を備えることを特徴とする請求項1乃至3のいずれか1項に記載の電子装置。
  5. 前記プログラムモジュールはすべて単一の関数プログラムから構成され、前記実行開始アドレス情報はすべての関数プログラムについて対応する実行開始アドレス位置を含むことを特徴とする請求項1乃至4のいずれか1項に記載の電子装置。
  6. プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置用の、前記不揮発性メモリに格納するための制御プログラムを、当該制御プログラムを生成する際にリンカによって生成されたマップファイルを用いてコンピュータに可逆圧縮させるための圧縮プログラムであって、前記コンピュータを、
    前記リンカによって生成された実行形式のプログラムを構成する、1以上の関数プログラムを含むプログラムモジュール群について、圧縮対象とするプログラムモジュールを指定する指定手段と、
    前記指定手段で指定されたプログラムモジュールを可逆圧縮する圧縮手段と、
    各プログラムモジュールの前記揮発性メモリにおける開始アドレスを展開先アドレスとし、当該展開先アドレスと、各プログラムモジュールに含まれる関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの前記揮発性メモリにおける実行開始アドレス、及び、各プログラムモジュールが非圧縮又は圧縮のいずれの状態であるかを示す格納状態情報を生成する生成手段と、
    前記生成手段で生成された各プログラムモジュールごとの前記展開先アドレス、前記実行開始アドレス、及び、前記格納状態情報と、非圧縮のプログラムモジュール及び圧縮されているプログラムモジュールを用いて、前記電子装置の前記不揮発性メモリに書き込むデータを生成して出力する出力手段
    として機能させることを特徴とする圧縮プログラム。
  7. 前記マップファイルは、すべての関数プログラムに対応する、前記揮発性メモリにおける実行開始アドレスを含み、前記プログラムモジュールはすべて単一の関数プログラムから構成されることを特徴とする請求項6に記載の圧縮プログラム。
  8. プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置を制御する方法であって、
    前記不揮発性メモリには、
    <a>前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群ここで、各プログラムモジュールは少なくとも1つの関数プログラムを含み、前記プログラムモジュールのうち少なくとも1つは可逆圧縮されていると、
    <b>各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報、及び、非圧縮状態か圧縮状態かを示す格納状態情報と、
    が記憶されており、
    前記電子装置の電源投入時に、前記不揮発性メモリを参照することにより実行される、
    <i>各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み工程と、
    <ii>前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始る実行開始工程と、
    <iii>前記実行開始工程で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報と格納状態情報とを取得し、
    取得した格納状態情報が非圧縮状態であることを示す場合には、前記注目プログラムモジュールを前記揮発性メモリの展開開始アドレス位置に展開し、取得した格納状態情報が圧縮状態であることを示す場合には、前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、
    前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御工程と、
    を備えることを特徴とする制御方法。
  9. プロセッサ、前記プロセッサが実行する制御プログラムを格納するための不揮発性メモリ、及び、前記プロセッサが前記制御プログラムを実行する際に使用する揮発性メモリを備える電子装置を制御する方法であって、
    前記不揮発性メモリには、
    <a>前記プロセッサが実行可能な制御プログラムを構成するプログラムモジュール群ここで、各プログラムモジュールは少なくとも1つの関数プログラムを含み、前記プログラムモジュールはすべて可逆圧縮されていると、
    <b>各プログラムモジュールごとに、前記揮発性メモリ上の展開開始アドレス情報、及び、各関数プログラムのうち他のプログラムモジュールから参照される関数プログラムの実行開始アドレス情報と、
    が記憶されており、
    前記電子装置の電源投入時に、前記不揮発性メモリを参照することにより実行される、
    <i>各プログラムモジュールに含まれる各関数プログラムの実行開始アドレス情報に基づき、前記揮発性メモリ上の各関数プログラムの実行開始アドレス位置に、該関数プログラムを含むプログラムモジュールを前記揮発性メモリへ展開させる制御命令コードを書き込む制御コード書き込み工程と、
    <ii>前記制御プログラムを開始させるため、前記揮発性メモリにおける前記制御プログラムの実行開始アドレス位置から処理を開始る実行開始工程と、
    <iii>前記実行開始工程で処理が開始された後、前記制御命令コードを実行した際に、前記不揮発性メモリ内の、当該制御命令コードに対応する関数プログラムを含む注目プログラムモジュールを特定することで、前記注目プログラムモジュールの展開開始アドレス情報を取得し、
    前記注目プログラムモジュールを伸長してから、前記揮発性メモリの展開開始アドレス位置に展開し、
    前記注目プログラムモジュールの前記揮発性メモリへの展開が完了した後、前記制御命令コードを実行したアドレス位置から処理を再開させる制御工程と、
    を備えることを特徴とする制御方法。
  10. 請求項8又は9に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
  11. 請求項10に記載のプログラムを記録したコンピュータ読み取り可能な記憶媒体。
JP2005352329A 2005-12-06 2005-12-06 電子装置及びその制御方法 Expired - Fee Related JP4845497B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005352329A JP4845497B2 (ja) 2005-12-06 2005-12-06 電子装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005352329A JP4845497B2 (ja) 2005-12-06 2005-12-06 電子装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2007156899A JP2007156899A (ja) 2007-06-21
JP2007156899A5 true JP2007156899A5 (ja) 2009-01-22
JP4845497B2 JP4845497B2 (ja) 2011-12-28

Family

ID=38241175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005352329A Expired - Fee Related JP4845497B2 (ja) 2005-12-06 2005-12-06 電子装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP4845497B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110730300A (zh) * 2019-10-11 2020-01-24 Oppo(重庆)智能科技有限公司 相机控制方法、装置、存储介质和终端

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6257025A (ja) * 1985-09-06 1987-03-12 Hitachi Ltd プログラムロ−ド方式
JPH02270032A (ja) * 1989-04-12 1990-11-05 Nec Corp ローディング方式
JPH11312089A (ja) * 1998-04-28 1999-11-09 Matsushita Electric Ind Co Ltd 電子制御装置
JP2002366362A (ja) * 2001-06-06 2002-12-20 Canon Inc 電子機器、および電子機器の制御方法
JP4436583B2 (ja) * 2001-12-19 2010-03-24 富士フイルム株式会社 デジタルカメラ

Similar Documents

Publication Publication Date Title
JP5783809B2 (ja) 情報処理装置、起動方法およびプログラム
WO2014190601A1 (zh) 数据烧录系统及方法
JP6123766B2 (ja) データ読み出し装置、プログラムおよびデータ読み出し方法
JP2009003880A (ja) 不揮発性メモリの制御装置及びその制御方法及び記憶装置
JP2006293760A5 (ja)
JP2008049625A5 (ja)
JP2013235531A5 (ja)
JP2005208894A5 (ja)
JP5683186B2 (ja) 起動高速化方法、情報処理装置及びプログラム
JP2006268377A (ja) プログラム起動制御装置及びプログラム起動制御方法
JP2006085342A (ja) メモリ制御装置、メモリ制御方法、プログラム
JP2007156899A5 (ja)
JP5545432B2 (ja) Biosアップデート方法、biosアップデート装置及びbiosアップデートプログラム
JP2011110687A (ja) ロボットコントロール・システム、ロボットコントロール方法
JP2007531085A5 (ja)
JP6080492B2 (ja) 情報処理装置、起動方法およびプログラム
JP4617816B2 (ja) 車両制御装置、および書き換えプログラム受信・起動プログラム
CN109683914B (zh) 一种flash烧录方法、上位机及烧录系统
JP2009276883A (ja) 半導体補助記憶装置
JP2008077474A (ja) ファームウェア更新方法、電子機器、ファームウェア更新プログラム
JP2007265230A (ja) 情報処理装置及びそのファイル読み込み方法
JP2011081641A (ja) メモリ制御装置
JP2010039737A (ja) プログラマブルコントローラ高速化方式およびこの方式によるプログラマブルコントローラ
US20140089356A1 (en) Data storage device and operating method thereof
JP2007133602A (ja) 情報処理システムおよび車載装置