JP2007206933A - 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法 - Google Patents
情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法 Download PDFInfo
- Publication number
- JP2007206933A JP2007206933A JP2006024406A JP2006024406A JP2007206933A JP 2007206933 A JP2007206933 A JP 2007206933A JP 2006024406 A JP2006024406 A JP 2006024406A JP 2006024406 A JP2006024406 A JP 2006024406A JP 2007206933 A JP2007206933 A JP 2007206933A
- Authority
- JP
- Japan
- Prior art keywords
- program
- storage unit
- transfer
- instruction
- temporary storage
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】RAMへの転送が完了してからプログラムを実行していたため、プログラム起動までの時間がかかっていた。
【解決手段】演算処理部(CPU)1は起動によってブートローダBを起動し、ブートローダBは転送処理部(DMA)3を起動するとともに、不揮発性記憶部(ROM)2におけるプログラムPをブロック単位に分割し、転送処理部は不揮発性記憶部におけるプログラムをブロック単位で一時記憶部に転送し、さらに演算処理部の制御を一時記憶部への転送後プログラムP′に分岐させ、演算処理部は、プログラムのブロック単位での一時記憶部への転送完了ごとにその転送後プログラムを実行し、転送処理部によるプログラムのブロック単位での不揮発性記憶部への転送と演算処理部による不揮発性記憶部におけるブロック単位での転送後プログラムの実行とが並行に処理されるように構成されている。
【選択図】図1
【解決手段】演算処理部(CPU)1は起動によってブートローダBを起動し、ブートローダBは転送処理部(DMA)3を起動するとともに、不揮発性記憶部(ROM)2におけるプログラムPをブロック単位に分割し、転送処理部は不揮発性記憶部におけるプログラムをブロック単位で一時記憶部に転送し、さらに演算処理部の制御を一時記憶部への転送後プログラムP′に分岐させ、演算処理部は、プログラムのブロック単位での一時記憶部への転送完了ごとにその転送後プログラムを実行し、転送処理部によるプログラムのブロック単位での不揮発性記憶部への転送と演算処理部による不揮発性記憶部におけるブロック単位での転送後プログラムの実行とが並行に処理されるように構成されている。
【選択図】図1
Description
本発明は、主として、デジタルテレビや携帯電話等のデジタル家電機器に搭載されるもので、ブートローダを備える情報処理装置に関するものであり、特に、演算処理部、不揮発性記憶部、転送処理部および一時記憶部を備え、不揮発性記憶部におけるプログラムの一時記憶部に対する高速ブートを実現するブートローダを含む情報処理装置に関する。
演算処理部は例えばCPU(Central Processing Unit)であり、不揮発性記憶部は例えばROM(ReadOnly Memory)であり、転送処理部はDMA(Direct Memory Access)であり、一時記憶部は例えばRAM(Random AccessMemory)である。
図7は従来の情報処理装置の構成を示すブロック図である。この情報処理装置A2は、CPU1、ROM2、DMA3およびRAM4から構成されている。ROM2には、ブートローダBおよびプログラムPが記録されている。
CPU1は、起動する際に、ROM2に記録されているブートローダBの実行を開始する。ブートローダBは、ROM2に記録されているプログラムPをRAM4へ転送し、転送完了後にCPU1の制御をRAM4における転送後プログラムP′に分岐させる。
以上のように、プログラムPをROM2から高速動作可能なRAM4へ一旦転送した後、CPU1がRAM4に記録されている転送後プログラムP′を実行することで、情報処理装置A2の実行速度を速めている(特許文献1参照)。
特開平1−261743号公報(第2−3頁、第1−2図)
上記従来の技術では、ブートローダがROMにあるプログラムをRAMに転送するためにある程度の時間が必要であり、プログラム実行開始までに発生する遅延の大きさが処理の高速化に対する1つのネックとなっていた。
本発明は、このような事情に鑑みて創作したものであり、プログラム実行開始までの時間を短縮することができる情報処理装置を提供することを目的としている。
本発明による情報処理装置は、
演算処理部と、不揮発性記憶部と、転送処理部と、一時記憶部とからなり、
前記不揮発性記憶部は、プログラムとブートローダを含み、
前記演算処理部は、起動によって前記ブートローダを起動し、
起動された前記ブートローダは、前記転送処理部を起動し、
起動された前記転送処理部は、前記不揮発性記憶部における前記プログラムを前記一時記憶部に転送し、
前記一時記憶部は、転送されてくる前記プログラムを一時記憶し、
前記ブートローダは、前記転送処理部の起動後に前記演算処理部の制御を前記一時記憶部への転送後プログラムに分岐させ、
前記演算処理部は、前記プログラムの前記一時記憶部への転送が一定ブロック完了するごとにその転送後プログラムを実行し、
前記転送処理部による前記プログラムの前記一時記憶部への転送と前記演算処理部による前記一時記憶部における前記転送後プログラムの実行とが並行に処理されるように構成されている。
演算処理部と、不揮発性記憶部と、転送処理部と、一時記憶部とからなり、
前記不揮発性記憶部は、プログラムとブートローダを含み、
前記演算処理部は、起動によって前記ブートローダを起動し、
起動された前記ブートローダは、前記転送処理部を起動し、
起動された前記転送処理部は、前記不揮発性記憶部における前記プログラムを前記一時記憶部に転送し、
前記一時記憶部は、転送されてくる前記プログラムを一時記憶し、
前記ブートローダは、前記転送処理部の起動後に前記演算処理部の制御を前記一時記憶部への転送後プログラムに分岐させ、
前記演算処理部は、前記プログラムの前記一時記憶部への転送が一定ブロック完了するごとにその転送後プログラムを実行し、
前記転送処理部による前記プログラムの前記一時記憶部への転送と前記演算処理部による前記一時記憶部における前記転送後プログラムの実行とが並行に処理されるように構成されている。
この構成において、演算処理部はCPUに相当し、不揮発性記憶部はROMに相当し、転送処理部はDMAに相当し、一時記憶部はRAMに相当する。電源投入により演算処理部(CPU)が起動されると、演算処理部(CPU)は不揮発性記憶部(ROM)におけるブートローダを起動する。起動されたブートローダは、さらに転送処理部(DMA)を起動し、さらに転送処理部(DMA)の起動後に演算処理部(CPU)の制御を一時記憶部(ROM)への転送後プログラムに分岐させる。起動された転送処理部(DMA)は、不揮発性記憶部(ROM)におけるプログラムを読み出し、一時記憶部(RAM)に転送する。一時記憶部(RAM)は転送されてくるプログラムを記憶する。プログラムの転送が一定ブロック完了するごとに、演算処理部(CPU)は、一時記憶部(RAM)における一定ブロック単位での転送後プログラムを実行する。このとき、転送処理部(DMA)による不揮発性記憶部(ROM)からのプログラムの一時記憶部(RAM)への転送の処理と、演算処理部(CPU)による一時記憶部(RAM)における一定ブロック単位での転送後プログラムの実行とが並行的に行われる。このような並行処理により、従来課題であったプログラム実行開始までの時間を短縮することができる。また、転送処理部(DMA)によるプログラムの転送処理と、(CPU)によるプログラムの実行処理の並列処理の調停をソフトウェアで行うため、特別なハードウェアの拡張は必要ない。
上記において、前記不揮発性記憶部における前記プログラムは、前記演算処理部の命令セットから選択した基本命令を用いて複数のブロックに分割されているという態様がある。
さらに、前記不揮発性記憶部における前記プログラムは、前記基本命令として、この基本命令の後に実行するプログラムに影響を与えない命令を用いるという態様がある。ここで、プログラムに影響を与えない命令については、例えば、NOP(No Operation)命令や減算命令や比較命令などがある。
また、前記プログラム中の分割された各ブロック内に存在する分岐命令の分岐先は、前記分岐命令が存在するブロックであるという態様がある。
また、前記ブートローダは、前記プログラムが前記一時記憶部に転送される前に、前記基本命令が配置される前記一時記憶部の特定アドレス領域に、前記基本命令以外の命令を書き込むという態様がある。
このように構成することにより、転送処理部(DMA)による不揮発性記憶部(ROM)からのプログラムの一時記憶部(RAM)への転送の処理と、演算処理部(CPU)による一時記憶部(RAM)における一定ブロック単位での転送後プログラムの実行との並行処理において、演算処理部(CPU)による転送後プログラムの実行が、転送処理部(DMA)によるプログラムの転送処理を追い越さないように制御することができる。ひいては、上記の並行処理を矛盾なく遂行することができる。
また上記において、前記プログラムは、前記一時記憶部の特定アドレス領域における命令が前記基本命令であるかどうかを判断する処理を含み、前記演算処理部は、前記一時記憶部の特定アドレス領域における命令が前記基本命令である場合には、プログラムの転送が完了していると判断してプログラムの実行を開始し、前記基本命令以外である場合には、再び前記一時記憶部の特定アドレス領域における命令をチェックするという態様がある。これにより、前述の並行処理において、演算処理部(CPU)による転送後プログラムの実行が、転送処理部(DMA)によるプログラムの転送処理を追い越さないように制御する機能を確実化することができる。
また上記において、前記プログラムは、割込みハンドラを1つのブロックとし、前記割込みハンドラのブロックを前記一時記憶部に転送した後、前記演算処理部の割込み発生時に分岐するベースアドレスを前記一時記憶部に転送した前記割込みハンドラのブロックに変更するという態様がある。このように割込みハンドラを1つのブロックとすることで、演算処理部(CPU)の割込み発生時に分岐するベースアドレスを遅延なく直ちに割込みハンドラに変更することができるため、もしブート中に割り込みが発生したとしても割込み処理を高速に実行することができる。
また、本発明による情報処理装置におけるブートローダ生成方法は、
プログラムのデバッグ情報ファイルをオープンするステップと、
次いでブートローダをオープンするステップと、
次いで前記デバッグ情報ファイルから前記プログラムをブロック分割するための基本命令を検出するステップと、
前記基本命令があれば、検出した前記基本命令が一時記憶部に配置されるアドレスを前記デバッグ情報ファイルから抽出するステップと、
次いで抽出した前記アドレスに前記基本命令以外の命令を書き込む命令を前記ブートローダに追加するステップと、
次いで前記基本命令がなくなるまで次の基本命令を検出するステップに戻るステップと、
検出すべき基本命令がなくなったときに処理を終了するステップとを含むものである。
プログラムのデバッグ情報ファイルをオープンするステップと、
次いでブートローダをオープンするステップと、
次いで前記デバッグ情報ファイルから前記プログラムをブロック分割するための基本命令を検出するステップと、
前記基本命令があれば、検出した前記基本命令が一時記憶部に配置されるアドレスを前記デバッグ情報ファイルから抽出するステップと、
次いで抽出した前記アドレスに前記基本命令以外の命令を書き込む命令を前記ブートローダに追加するステップと、
次いで前記基本命令がなくなるまで次の基本命令を検出するステップに戻るステップと、
検出すべき基本命令がなくなったときに処理を終了するステップとを含むものである。
ここで、基本命令とは例えばNOP命令であり、基本命令以外の命令とは例えばADD命令である。このブートローダ生成方法によれば、プログラムのデバッグ情報を活用することによりブートローダを自動的に生成することができるため、開発期間を短縮することができる。
また、本発明による情報処理装置におけるプログラム転送方法は、
電源投入により演算処理部が起動されるのに伴って、不揮発性記憶部におけるブートローダを起動するステップと、
次いで転送処理部を起動するステップと、
次いで転送処理部が前記不揮発性記憶部におけるプログラムを読み出し、一時記憶部に転送するステップと、
次いで前記プログラムの転送が一定ブロック完了するごとに、前記演算処理部が前記一時記憶部における前記一定ブロック単位での転送後プログラムを実行するステップと、
前記転送処理部による前記不揮発性記憶部からの前記プログラムの前記一時記憶部への転送の処理と、前記演算処理部による前記一時記憶部における前記一定ブロック単位での転送後プログラムの実行とを並行的に行うステップとを含むものである。
電源投入により演算処理部が起動されるのに伴って、不揮発性記憶部におけるブートローダを起動するステップと、
次いで転送処理部を起動するステップと、
次いで転送処理部が前記不揮発性記憶部におけるプログラムを読み出し、一時記憶部に転送するステップと、
次いで前記プログラムの転送が一定ブロック完了するごとに、前記演算処理部が前記一時記憶部における前記一定ブロック単位での転送後プログラムを実行するステップと、
前記転送処理部による前記不揮発性記憶部からの前記プログラムの前記一時記憶部への転送の処理と、前記演算処理部による前記一時記憶部における前記一定ブロック単位での転送後プログラムの実行とを並行的に行うステップとを含むものである。
これによれば、上記と同様に並行処理を実現し、従来課題であったプログラム実行開始までの時間を短縮することができる。
本発明によれば、ブートローダが転送処理部(DMA)を制御するようにして、転送処理部(DMA)による不揮発性記憶部(ROM)からのプログラムの一時記憶部(RAM)への転送の処理と、演算処理部(CPU)による一時記憶部(RAM)における一定ブロック単位での転送後プログラムの実行とを並行的に行うことにより、プログラム実行開始までの遅延時間を削減し、情報処理装置の起動時間を短縮することができる。
以下、本発明にかかわる情報処理装置の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明の実施の形態における情報処理装置の構成を示すブロック図である。この情報処理装置A1は、演算処理部としてのCPU1と、不揮発性記憶部としてのROM2と、転送処理部としてのDMA3および一時記憶部としてのRAM4から構成されている。ROM2には、ブートローダBおよびプログラムPが記録されている。
ブートローダBは、DMA3を起動し、プログラムPをRAM4に転送する処理をDMA3に行わせる機能を有している。
DMA3は、プログラムPをRAM4へ転送する。CPU1は、RAM4に転送された転送後プログラムP′を一定ブロック単位で実行する。DMA3によるプログラムPの転送と、CPU1による一定ブロック単位での転送後プログラムP′の実行とを並行に処理する。
図2は、ROM2に記録されているプログラムPをRAM4に転送したときの図である。ブートローダBは、初期化部11、DMA起動部12、RAM4に転送されたプログラムP′にCPU1の制御を分岐させるプログラム分岐部13を備えている。b1,b2はプログラムPのブロック、n1,n2はプログラムPのNOP(No Operation)命令である。P′はRAM4に転送されたプログラム(転送後プログラム)、b3,b4は転送後プログラムP′のブロック、n3,n4は転送後プログラムP′のNOP命令、a1はNOP命令n3のRAM4におけるアドレス、a2はNOP命令n4のRAM4におけるアドレスである。
次に、上記のように構成された本実施の形態の情報処理装置A1の動作を説明する。
情報処理装置A1に電源が入ると、CPU1が起動する。
CPU1は、起動すると、ROM2に格納されているブートローダBを実行する。
ブートローダBは、DMA3を起動し、DMA3に、ROM2におけるプログラムPをRAM4に転送させる処理を制御する。
ブートローダBは、DMA3の起動後、CPU1の制御をRAM4に転送された転送後プログラムP′に分岐させる。
次に図3に示すフローチャートを参照して、ブートローダBの動作について具体的に説明する。
ステップS1は初期化部11が行う情報処理装置A1の初期化処理、ステップS2はRAM4にADD命令を書き込む処理、ステップS3はDMA起動部12が行うDMA3の起動処理、ステップS4はプログラム分岐部13が行うCPU1の制御を転送後プログラムP′に分岐させる処理である。
ステップS1において、CPU1は、プログラムPをRAM4に転送するために必要な情報処理装置A1の機能を初期化する。
次いでステップS2において、CPU1はRAM4において、アドレスa1〜a2にADD命令を書き込む。
次いでステップS3において、CPU1はDMA3を起動して、プログラムPのRAM4への転送を開始する。
次いでステップS4において、CPU1はその制御をRAM4に転送された転送後プログラムP′に分岐する。CPU1は、転送後プログラムP′への分岐後に転送後プログラムP′の処理を開始する。この時点から、DMA3を用いた転送とCPU1の転送後プログラムP′の実行は並行処理となる。
なお、ステップS2において、アドレスa1〜a2にADD命令を書き込んでいるが、NOP命令と同じサイズの命令・データであれば代替可能である。
次に図4に示すフローチャートを参照して、CPU1が転送後プログラムP′を用いて行う動作について具体的に説明する。
ステップS11はアドレスa1の判定処理、ステップS12はブロックb3の処理、ステップS13はアドレスa2の判定処理、ステップS14はブロックb4の処理である。
ステップS11において、CPU1はアドレスa1に格納されている命令を判定する。アドレスa1に格納されている命令がADD命令であれば、ブロックb3の転送が未完了であるためNOと判定されて、再びアドレスa1に格納されている命令を判定する。一方、アドレスa1に格納されている命令がNOP命令であれば、ブロックb3の転送が完了しているためYESと判定されて、制御はステップS12に進む。
ステップS12において、CPU1はブロックb3の処理を行う。
次いでステップS13において、CPU1はアドレスa2に格納されている命令を判定する。アドレスa2に格納されている命令がADD命令であれば、ブロックb4の転送が未完了であるためNOと判定されて、再びアドレスa2に格納されている命令を判定する。一方、アドレスa2に格納されている命令がNOP命令であれば、ブロックb4の転送が完了しているためYESと判定される。
このようにNOP命令を用いてプログラムPを複数のブロックに分割し、転送することにより、転送後プログラムP′は、これを段階的にブートさせることができる。また、図4で示したステップを実行することで、ハードウェアを拡張することなく、CPU1が転送未完了のブロックを処理することを防止することができる。なお、転送後プログラムP′を分割する基本命令はNOP命令以外でも代替可能である。例えば、分割する基本命令の後のブロックの処理に影響を与えないのであれば、減算命令や比較命令やその他の命令でも代替可能である。
図5はプログラムPの構造の一例を示したものである。31は割込みハンドラ部、32はレジスタ初期化部、33はC言語変数初期化部、34はOS初期化部、35はプログラムメイン部、n11〜n15はNOP命令である。
割込みハンドラ部31は、割込みハンドラと、CPU1の割込み発生時に分岐するベースアドレスを初期状態から割込みハンドラ部31に変更する処理とを含む。
レジスタ初期化部32は、CPU1のレジスタを初期化する処理を含む。
C言語変数初期化部33は、RAM4においてC言語変数のデータが置かれる領域を変数の初期値、あるいは0で初期化する処理を含む。
OS初期化部34は、OS(Operating System)のタスクの初期化や、セマフォやファイルシステムの初期化を行う処理を含む。セマフォ(semaphore)とは、マルチタスクやマルチプロセッサのシステム(コンピュータ)上で、複数のタスクを同時に実行している際の、タスク間の動作の同期をとるためのフラグ、あるいはそれを処理するツールのことである。資源を共有して使用するタスク間での、処理のデッドロックを避けるためなどに使われる。
プログラムメイン部35は情報処理装置A1のブートが完了した後に実行するプログラムを含む。
NOP命令n11は、割込みハンドラ部31とレジスタ初期化部32をブロックとして分割するためのものである。
NOP命令n12は、レジスタ初期化部32とC言語変数初期化部33をブロックとして分割するためのものである。
NOP命令n13は、C言語変数初期化部33とOS初期化部34をブロックとして分割するためのものである。
NOP命令n14は、OS初期化部34とプログラムメイン部35を分割するためのものである。
NOP命令n15は、プログラムメイン部の最後を示すためのものである。
このように、割込みハンドラ部31を1つのブロックとすることで、CPU1の割込み発生時に分岐するベースアドレスを遅延なく直ちに割込みハンドラ部31に変更することができるため、もしブート中に割り込みが発生したとしても割込み処理を高速に実行することができる。
次に図6を参照して、ブートローダBに処理を追加して、ブートローダBを生成する方法について説明する。
ステップS21はプログラムPのデバッグ情報ファイルをオープンする処理、ステップS22はブートローダBをオープンする処理、ステップS23はNOP命令を検索する処理、ステップS24はNOP命令のアドレスを抽出する処理、ステップS25はブートローダBにADD命令を追加する処理である。
ステップS21において、ブートローダ生成プロセスは、プログラムPのデバッグ情報ファイルをオープンする。
次いでステップS22において、ブートローダ生成プロセスは、ブートローダBをオープンする。
次いでステップS23において、ブートローダ生成プロセスは、プログラムPのデバッグ情報ファイルからプログラムPをブロック分割するNOP命令を検出する。未検出のNOP命令が存在すればYESと判断され、制御は次のステップS24に進む。一方、NOP命令が存在しなければNOと判断され、ブートローダ生成プロセスを終了する。
次いでステップS24において、ブートローダ生成プロセスは、ステップS23で検出したNOP命令が配置されるアドレスをプログラムPのデバッグ情報ファイルから抽出する。
次いでステップS25において、ブートローダBにステップS24で抽出したNOP命令が配置されるアドレスにADD命令をストアする命令を追加する。そして、制御はステップS23に戻る。
このように、プログラムPのデバッグ情報を活用することによりブートローダBを自動生成することができるため、開発期間を短縮することができる。
以上の構成により、CPU1のプログラム処理と、DMA3の転送処理を並行処理することができ、プログラム実行までの遅延時間を削減することができる。
また、ブートローダBを自動的に生成することができるため、開発期間を短縮できるといった効果を得ることができる。
本発明を使用した情報処理装置は、デジタルテレビや携帯電話等のデジタル家電に有用である。
A1 情報処理装置
a1,a2 アドレス
B ブートローダ
b1,b2,b3,b4 ブロック
P プログラム
P′ 転送後プログラム
1 CPU(演算処理部)
2 ROM(記憶部)
3 DMA(転送処理部)
4 RAM(一時記憶部)
11 初期化部
12 DMA起動部
13 プログラム分岐部
n1〜n4,n11〜n15 NOP命令(基本命令)
31 割込みハンドラ部
32 レジスタ初期化部
33 C言語変数初期化部
34 OS初期化部
35 プログラムメイン部
a1,a2 アドレス
B ブートローダ
b1,b2,b3,b4 ブロック
P プログラム
P′ 転送後プログラム
1 CPU(演算処理部)
2 ROM(記憶部)
3 DMA(転送処理部)
4 RAM(一時記憶部)
11 初期化部
12 DMA起動部
13 プログラム分岐部
n1〜n4,n11〜n15 NOP命令(基本命令)
31 割込みハンドラ部
32 レジスタ初期化部
33 C言語変数初期化部
34 OS初期化部
35 プログラムメイン部
Claims (10)
- 演算処理部と、不揮発性記憶部と、転送処理部と、一時記憶部とからなり、
前記不揮発性記憶部は、プログラムとブートローダを含み、
前記演算処理部は、起動によって前記ブートローダを起動し、
起動された前記ブートローダは、前記転送処理部を起動し、
起動された前記転送処理部は、前記不揮発性記憶部における前記プログラムを前記一時記憶部に転送し、
前記一時記憶部は、転送されてくる前記プログラムを一時記憶し、
前記ブートローダは、前記転送処理部の起動後に前記演算処理部の制御を前記一時記憶部への転送後プログラムに分岐させ、
前記演算処理部は、前記プログラムの前記一時記憶部への転送が一定ブロック完了するごとにその転送後プログラムを実行し、
前記転送処理部による前記プログラムの前記一時記憶部への転送と前記演算処理部による前記一時記憶部における前記転送後プログラムの実行とが並行に処理されるように構成されている情報処理装置。 - 前記不揮発性記憶部における前記プログラムは、前記演算処理部の命令セットから選択した基本命令を用いて複数のブロックに分割されている請求項1に記載の情報処理装置。
- 前記不揮発性記憶部における前記プログラムは、前記基本命令として、この基本命令の後に実行するプログラムに影響を与えない命令を用いる請求項2に記載の情報処理装置。
- 前記プログラム中の分割された各ブロック内に存在する分岐命令の分岐先は、前記分岐命令が存在するブロックである請求項3に記載の情報処理装置。
- 前記ブートローダは、前記プログラムが前記一時記憶部に転送される前に、前記基本命令が配置される前記一時記憶部の特定アドレス領域に、前記基本命令以外の命令を書き込む請求項4に記載の情報処理装置。
- 前記プログラムは、前記一時記憶部の特定アドレス領域における命令が前記基本命令であるかどうかを判断する処理を含み、
前記演算処理部は、前記一時記憶部の特定アドレス領域における命令が前記基本命令である場合には、プログラムの転送が完了していると判断してプログラムの実行を開始し、前記基本命令以外である場合には、再び前記一時記憶部の特定アドレス領域における命令をチェックする請求項5に記載の情報処理装置。 - 前記プログラムは、割込みハンドラを1つのブロックとし、前記割込みハンドラのブロックを前記一時記憶部に転送した後、前記演算処理部の割込み発生時に分岐するベースアドレスを前記一時記憶部に転送した前記割込みハンドラのブロックに変更する請求項6に記載の情報処理装置。
- 前記基本命令は、NOP命令である請求項2から請求項7までのいずれかに記載の情報処理装置。
- プログラムのデバッグ情報ファイルをオープンするステップと、
次いでブートローダをオープンするステップと、
次いで前記デバッグ情報ファイルから前記プログラムをブロック分割するための基本命令を検出するステップと、
前記基本命令があれば、検出した前記基本命令が一時記憶部に配置されるアドレスを前記デバッグ情報ファイルから抽出するステップと、
次いで抽出した前記アドレスに前記基本命令以外の命令を書き込む命令を前記ブートローダに追加するステップと、
次いで前記基本命令がなくなるまで次の基本命令を検出するステップに戻るステップと、
検出すべき基本命令がなくなったときに処理を終了するステップとを含む情報処理装置におけるブートローダ生成方法。 - 電源投入により演算処理部が起動されるのに伴って、不揮発性記憶部におけるブートローダを起動するステップと、
次いで転送処理部を起動するステップと、
次いで転送処理部が前記不揮発性記憶部におけるプログラムを読み出し、一時記憶部に転送するステップと、
次いで前記プログラムの前記一時記憶部への転送が一定ブロック完了するごとに、前記演算処理部が前記一時記憶部における前記一定ブロック単位での転送後プログラムを実行するステップと、
前記転送処理部による前記不揮発性記憶部からの前記プログラムの前記一時記憶部への転送の処理と、前記演算処理部による前記一時記憶部における前記一定ブロック単位での転送後プログラムの実行とを並行的に行うステップとを含む情報処理装置におけるプログラム転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006024406A JP2007206933A (ja) | 2006-02-01 | 2006-02-01 | 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006024406A JP2007206933A (ja) | 2006-02-01 | 2006-02-01 | 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007206933A true JP2007206933A (ja) | 2007-08-16 |
Family
ID=38486359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006024406A Pending JP2007206933A (ja) | 2006-02-01 | 2006-02-01 | 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007206933A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009104443A (ja) * | 2007-10-24 | 2009-05-14 | Nec Corp | Osの起動方法 |
JP2009244751A (ja) * | 2008-03-31 | 2009-10-22 | Yamaha Corp | 楽音発生装置用の集積回路 |
JP2010211799A (ja) * | 2009-03-11 | 2010-09-24 | Harman Becker Automotive Systems Gmbh | コンピューティングデバイスおよびその始動方法 |
JP2010237494A (ja) * | 2009-03-31 | 2010-10-21 | Kawai Musical Instr Mfg Co Ltd | 電子楽音発生器 |
US8893135B2 (en) | 2010-07-30 | 2014-11-18 | Mitsubishi Electric Corporation | Digital broadcast receiver and software startup method |
WO2018235858A1 (ja) * | 2017-06-23 | 2018-12-27 | 順子 杉中 | 情報処理監視装置、情報処理監視方法、プログラム、記録媒体及び情報処理装置 |
JP2020077093A (ja) * | 2018-11-06 | 2020-05-21 | 三菱電機株式会社 | 電子制御装置 |
-
2006
- 2006-02-01 JP JP2006024406A patent/JP2007206933A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009104443A (ja) * | 2007-10-24 | 2009-05-14 | Nec Corp | Osの起動方法 |
JP2009244751A (ja) * | 2008-03-31 | 2009-10-22 | Yamaha Corp | 楽音発生装置用の集積回路 |
JP2010211799A (ja) * | 2009-03-11 | 2010-09-24 | Harman Becker Automotive Systems Gmbh | コンピューティングデバイスおよびその始動方法 |
JP2010237494A (ja) * | 2009-03-31 | 2010-10-21 | Kawai Musical Instr Mfg Co Ltd | 電子楽音発生器 |
US8893135B2 (en) | 2010-07-30 | 2014-11-18 | Mitsubishi Electric Corporation | Digital broadcast receiver and software startup method |
WO2018235858A1 (ja) * | 2017-06-23 | 2018-12-27 | 順子 杉中 | 情報処理監視装置、情報処理監視方法、プログラム、記録媒体及び情報処理装置 |
JP2020077093A (ja) * | 2018-11-06 | 2020-05-21 | 三菱電機株式会社 | 電子制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6006248B2 (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
JP5783809B2 (ja) | 情報処理装置、起動方法およびプログラム | |
JP2008016020A (ja) | Biosの実行を加速化する方法 | |
US20040076069A1 (en) | System and method for initializing a memory device from block oriented NAND flash | |
US8495344B2 (en) | Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information | |
US9043806B2 (en) | Information processing device and task switching method | |
US7711941B2 (en) | Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit | |
JP2007206933A (ja) | 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法 | |
JP2007206885A (ja) | コンピュータシステム及びシステム起動方法 | |
JP2012079130A (ja) | デバッグ支援プログラム、デバッグ支援装置、及びデバッグ支援方法 | |
JP2011086298A (ja) | プログラム・フロー制御 | |
JP2010500682A (ja) | フラッシュメモリアクセス回路 | |
JP2017037370A (ja) | 計算機、プロセス制御方法およびプロセス制御プログラム | |
TWI412999B (zh) | 平行化快速啟動方法及具有多處理單元之電子裝置 | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
JP5622429B2 (ja) | マイクロコンピュータ | |
JP4594889B2 (ja) | 複数の処理装置を備えたシステム上で実行されるプログラムのトレース方法、および、複数の処理装置を備えたシステム | |
WO2017121077A1 (zh) | 一种双引导文件的切换方法及装置 | |
JP2005258642A (ja) | 組込型情報処理装置 | |
US8117427B2 (en) | Motherboard, storage device and controller thereof, and booting method | |
US20080133838A1 (en) | Data processing device | |
JP2008015725A (ja) | 情報処理装置およびプログラム起動方法 | |
CN112802527B (zh) | 嵌入式闪存高速编程的实现方法、嵌入式闪存的编程系统 | |
JP5823000B2 (ja) | マイクロコンピュータ | |
US10671396B2 (en) | Method for operating a processing unit |