JP2013222372A - 電子機器 - Google Patents
電子機器 Download PDFInfo
- Publication number
- JP2013222372A JP2013222372A JP2012094554A JP2012094554A JP2013222372A JP 2013222372 A JP2013222372 A JP 2013222372A JP 2012094554 A JP2012094554 A JP 2012094554A JP 2012094554 A JP2012094554 A JP 2012094554A JP 2013222372 A JP2013222372 A JP 2013222372A
- Authority
- JP
- Japan
- Prior art keywords
- ram
- compressed data
- program
- stored
- data
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
【解決手段】フラッシュメモリ10に、カーネルプログラムを分割した複数の分割データの各々を圧縮して得られる複数の圧縮データを格納する。電子機器に電源が投入されたならば、CPU2は、DMAC3に、フラッシュメモリ10に格納されている各圧縮データを、順次、SDRAM7のワーク領域にDMA転送させる。また、CPU2は、SDRAM7のワーク領域へのDMA転送が完了した圧縮データが発生したならば、当該圧縮データの伸張とSDRAM7のプログラム領域への格納を行い、全ての圧縮データの伸張とSDRAM7のプログラム領域への格納が完了したならば、カーネルプログラムを起動する。
【選択図】図2
Description
このような電子機器によれば、複数の圧縮データは、順次、不揮発性メモリからRAMのワーク領域にDMA転送される。一方、RAMのワーク領域にDMA転送された圧縮データの多くは、RAMのワーク領域への格納が完了されしだい、伸張とRAMのプログラム領域の格納が、他の圧縮データのDMA転送と並行して行われることになる。
図1に、本実施形態に係る電子機器の構成を示す。
図示するように、本実施形態に係る電子機器は、コンピュータとしての基本構成を備えている。
すなわち、電子機器は、高速バス1で接続されたCPU2、DMAC3(DMAコントローラ3)とメモリコントローラ4、グラフィックコントローラ5、I/Oコントローラ6とを有している。
また、電子機器は、メモリコントローラ4によってリード/ライトや高速バス1との間の入出力が制御されるSDRAM7とROM8とを備えており、CPU2やDMAC3は、メモリコントローラ4を介して、SDRAM7やROM8との間の入出力を行うことができる。ここで、ROM8には、電子機器の電源投入時にCPU2が最初に実行する初期プログラムが格納されている。
また、電子機器は、I/Oコントローラ6に接続したフラッシュメモリ10と入力装置11とHDD12とその他の周辺装置13を備えており、CPU2やDMAC3は、I/Oコントローラ6を介して、フラッシュメモリ10や入力装置11やHDD12やその他の周辺装置13との間の入出力を行うことができる。
次に、フラッシュメモリ10の記憶データについて説明する。
図2bに示すように、フラッシュメモリ10には先頭に配置されたブートローダープログラムと、複数の圧縮データ#1-#nが格納されている。
圧縮データ#1-#nの各々は、図2aに示す電子機器のOSまたは基本プログラムのコア部分を形成するカーネルプログラムを分割した複数の分割データをLZFなどの所定の圧縮アルゴリズムで圧縮したデータである。
すなわち、たとえば、カーネルプログラムを分割した複数の分割データのうちの1番目の分割データ#1を圧縮したデータが圧縮データ#1となり、カーネルプログラムを分割した複数の分割データのうちの2番目の分割データ#2を圧縮したデータが圧縮データ#2となり、以下、同様に、カーネルプログラムを分割した複数の分割データのうちのn番目の分割データnを圧縮したデータが圧縮データ#nとなる。
次に、このような電子機器の電源投入時に行われるブートローダー処理について説明する。
ここで、電子機器に電源が投入されると、CPU2は、 ROM8に記憶されている初期プログラムを実行し、フラッシュメモリ10の先頭に格納されているブートローダープログラムをSDRAM7の所定領域に転送し、SDRAM7の所定領域に転送したブートローダープログラムの実行を開始する。
図3に、このブートローダー処理の手順を示す。
なお、図2に示すように、SDRAM7の記憶空間には、プログラム領域とワーク領域とが、相互に重複しないように予め定義されている。
さて、図3に示すように、ブートローダー処理では、フラッシュメモリ10に格納されている先頭の圧縮データ#1のフラッシュメモリ10からSDRAM7のワーク領域へのDMA転送をDMAC3に要求する(ステップ302、304)。そして、以降、指示した圧縮データ#iのDMA転送の完了の報告をDMAC3から通知されたならば(ステップ306)、次の圧縮データ#(i+1)のフラッシュメモリ10からSDRAM7のワーク領域へのDMA転送をDMAC3に要求し(ステップ310)、図2のs2で示すように、SDRAM7のワーク領域上にDMA転送された圧縮データ#iを読み出して伸張し、SDRAM7のプログラム領域に追加格納する(ステップ312)処理を、最後の圧縮データ#nのDMA転送の完了の報告をDMAC3から通知されるまで繰り返す(ステップ308、314)。
ここで、DMAC3は、圧縮データ#iのフラッシュメモリ10からSDRAM7のワーク領域へのDMA転送を要求されたならば、図2s1に示すようにフラッシュメモリ10の圧縮データ#iをSDRAM7のワーク領域へDMA転送し、DMA転送の完了の報告をCPU2に行う。
なお、上述した圧縮データの所定データサイズLは、一つの圧縮データのフラッシュメモリ10からSDRAM7へのDMA転送に要する時間よりも、一つの圧縮データをSDRAM7より読み出して伸張しSDRAM7に格納する処理に要する時間が短くなるように設定されている。
以上、ブートローダー処理について説明した。
ところで、以上のブートローダー処理は、DMAC3が、DMAC3が備えるキューに格納されたDMA転送要求を逐次的に実行するように構成されている場合には、フラッシュメモリ10に格納されている先頭の圧縮データより、フラッシュメモリ10に格納されている最後の圧縮データまで各圧縮データのDMA転送要求をDMAC3が備えるキューにキューインし、以降、DMAC3からDMA転送の完了が報告されたSDRAM7のワーク領域上の圧縮データを読み出して伸張し、SDRAM7のプログラム領域に追加格納する処理を行いつつ、全ての圧縮データの伸張とSDRAM7のプログラム領域への格納が完了したならば、SDRAM7上のカーネルプログラムを起動するものとしてもよい。
以下、上述した圧縮データの所定のデータサイズLについて説明する。
このデータサイズLは、上述のように、一つのデータサイズLの圧縮データのフラッシュメモリ10からSDRAM7へのDMA転送に要する時間よりも、一つの圧縮データをSDRAM7より読み出して伸張しSDRAM7に格納する処理に要する時間が短くなることを前提条件として、図4aに示したプログラム領域へのカーネルプログラムの格納に要する時間Ttotalが最小となるように設定する。
そして、時間T1の推定値と時間T2の推定値の和を、図4aに示したプログラム領域へのカーネルプログラムの格納に要する時間Ttotalの推定値とし、上記前提条件を満たしつつ、時間Ttotalの推定値を最小とするデータサイズLを、求めるデータサイズLとする。
Claims (5)
- 不揮発性メモリとRAMとCPUとを備え、電源投入時に、不揮発性メモリに圧縮されて格納されているプログラムをRAMにロードし実行する電子機器であって、
前記不揮発性メモリから前記RAMへのDMA転送を行うDMAコントローラを備え、
前記不揮発性メモリには、前記プログラムを分割した複数の分割データの各々を圧縮して得られる複数の圧縮データが格納されており、
前記CPUは、当該電子機器に電源が投入されたならば、前記DMAコントローラに、前記不揮発性メモリに格納されている前記各圧縮データを、順次、前記RAMのワーク領域にDMA転送させながら、前記RAMのワーク領域へのDMA転送が完了した前記圧縮データの伸張と前記RAMのプログラム領域への格納を行い、全ての圧縮データの伸張と前記RAMのプログラム領域への格納が完了したならば、当該RAMのプログラム領域に格納された前記プログラムの実行を開始するブートローダー処理を実行することを特徴とする電子機器。 - 請求項1記載の電子機器であって、
前記圧縮データのデータサイズは、当該圧縮データの前記不揮発性メモリから前記RAMのワーク領域へのDMA転送に要する時間よりも、前記RAMのワーク領域に格納された当該圧縮データの伸張と前記RAMのプログラム領域への格納に要する時間が小さくなるように設定されていることを特徴とする電子機器。 - 請求項2記載の電子機器であって、
前記不揮発性メモリに格納されている圧縮データの数をnとして、前記不揮発性メモリには1からn-1番目までのデータサイズLのn-1個の圧縮データと、データサイズL以下のデータサイズのn番目の圧縮データが格納されており、前記データサイズLは、全ての圧縮データの前記不揮発性メモリから前記RAMのワーク領域へのDMA転送に要する時間と、前記RAMのワーク領域に格納されたn番目の圧縮データの伸張と前記RAMのプログラム領域への格納に要する時間との和が最小となるように設定されていることを特徴とする電子機器。 - 請求項1、2または3記載の電子機器であって、
前記不揮発性メモリはフラッシュメモリであり、前記RAMはSDRAMであることを特徴とする電子機器。 - 不不揮発性メモリとRAMとCPUと前記不揮発性メモリから前記RAMへのDMA転送を行うDMAコントローラと備えた電子機器において、電源投入時に、不揮発性メモリに圧縮されて格納されているプログラムの前記RAMへのロードと、前記RAMにロードされたプログラムの実行を前記CPUに開始させるブート方法であって、
予め、前記不揮発性メモリに、前記プログラムを分割した複数の分割データの各々を圧縮して得られる複数の圧縮データを格納するステップと、
前記CPUが、当該電子機器に電源が投入されたときに、前記DMAコントローラに、前記不揮発性メモリに格納されている前記各圧縮データを、順次、前記RAMのワーク領域にDMA転送させながら、前記RAMのワーク領域へのDMA転送が完了した前記圧縮データが発生したならば、当該圧縮データの伸張と前記RAMのプログラム領域への格納を行い、全ての圧縮データの伸張と前記RAMのプログラム領域への格納が完了したならば、当該RAMのプログラム領域に格納された前記プログラムの実行を開始するステップとを有することを特徴とするブート方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012094554A JP5955618B2 (ja) | 2012-04-18 | 2012-04-18 | 電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012094554A JP5955618B2 (ja) | 2012-04-18 | 2012-04-18 | 電子機器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013222372A true JP2013222372A (ja) | 2013-10-28 |
JP5955618B2 JP5955618B2 (ja) | 2016-07-20 |
Family
ID=49593273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012094554A Expired - Fee Related JP5955618B2 (ja) | 2012-04-18 | 2012-04-18 | 電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5955618B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783557A (zh) * | 2019-11-11 | 2021-05-11 | 北京君正集成电路股份有限公司 | 一种Linux内核中加载和解压并行执行的方法 |
JP2022184735A (ja) * | 2021-05-31 | 2022-12-13 | 合肥傑発科技有限公司 | プログラム起動方法及び機器、記憶媒体 |
WO2023145666A1 (ja) * | 2022-01-25 | 2023-08-03 | 株式会社Jvcケンウッド | 組み込みシステムの起動方法、及び、起動プログラム、並びに、組み込みシステム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205421A (ja) * | 1990-11-30 | 1992-07-27 | Matsushita Electric Ind Co Ltd | オペレーティングシステムの起動方法およびその起動装置 |
JP2005231135A (ja) * | 2004-02-18 | 2005-09-02 | Canon Inc | 印刷制御装置、印刷装置、プログラム起動方法、及びプログラム |
US20070174602A1 (en) * | 2006-01-23 | 2007-07-26 | Rom-Shen Kao | Method of system booting with a direct memory access in a new memory architecture |
JP2008299793A (ja) * | 2007-06-04 | 2008-12-11 | Ricoh Co Ltd | 情報処理装置及び画像処理装置 |
-
2012
- 2012-04-18 JP JP2012094554A patent/JP5955618B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205421A (ja) * | 1990-11-30 | 1992-07-27 | Matsushita Electric Ind Co Ltd | オペレーティングシステムの起動方法およびその起動装置 |
JP2005231135A (ja) * | 2004-02-18 | 2005-09-02 | Canon Inc | 印刷制御装置、印刷装置、プログラム起動方法、及びプログラム |
US20070174602A1 (en) * | 2006-01-23 | 2007-07-26 | Rom-Shen Kao | Method of system booting with a direct memory access in a new memory architecture |
JP2007213571A (ja) * | 2006-01-23 | 2007-08-23 | Qimonda Ag | 新奇的なメモリアーキテクチャ内の直接メモリアクセスを用いてシステムを起動する方法 |
JP2008299793A (ja) * | 2007-06-04 | 2008-12-11 | Ricoh Co Ltd | 情報処理装置及び画像処理装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783557A (zh) * | 2019-11-11 | 2021-05-11 | 北京君正集成电路股份有限公司 | 一种Linux内核中加载和解压并行执行的方法 |
JP2022184735A (ja) * | 2021-05-31 | 2022-12-13 | 合肥傑発科技有限公司 | プログラム起動方法及び機器、記憶媒体 |
JP7355876B2 (ja) | 2021-05-31 | 2023-10-03 | 合肥傑発科技有限公司 | プログラム起動方法及び機器、記憶媒体 |
WO2023145666A1 (ja) * | 2022-01-25 | 2023-08-03 | 株式会社Jvcケンウッド | 組み込みシステムの起動方法、及び、起動プログラム、並びに、組み込みシステム |
Also Published As
Publication number | Publication date |
---|---|
JP5955618B2 (ja) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9043806B2 (en) | Information processing device and task switching method | |
US9658863B2 (en) | Information processing apparatus and control method therefor | |
EP2678775A2 (en) | Multi-phase resume from hibernate | |
JP5955618B2 (ja) | 電子機器 | |
JP5106147B2 (ja) | マルチプロセッサ処理システム | |
JP2010191789A (ja) | データ記憶制御装置及びデータ記憶制御方法 | |
JP2006268377A (ja) | プログラム起動制御装置及びプログラム起動制御方法 | |
CN106168932B (zh) | 一种Flash控制方法及装置 | |
JP2012068797A (ja) | 起動高速化方法、情報処理装置及びプログラム | |
JP2007065753A (ja) | 起動方法およびナビゲーション装置 | |
JP2021044744A5 (ja) | 画像処理装置及びその制御方法、並びにプログラム | |
JP6645348B2 (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
US8806078B2 (en) | Information processing device and program product | |
JP2014089758A (ja) | データ読出装置 | |
CN113885949A (zh) | 一种快速开机方法及系统 | |
JP5630798B1 (ja) | プロセッサーおよび方法 | |
JP6471012B2 (ja) | 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法 | |
US9563931B2 (en) | Control method and information processing device | |
TW201727435A (zh) | 具有多核心處理器的電子裝置以及多核心處理器的管理方法 | |
JP6080492B2 (ja) | 情報処理装置、起動方法およびプログラム | |
JP2010277495A (ja) | 圧縮記録装置および圧縮記録方法 | |
US9015720B2 (en) | Efficient state transition among multiple programs on multi-threaded processors by executing cache priming program | |
JP2011118522A (ja) | サーバ装置及びその制御方法 | |
JP2010129106A (ja) | 不揮発性半導体記憶装置 | |
JP6080490B2 (ja) | 情報処理装置、起動方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160113 |
|
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: 20160614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160615 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5955618 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |