Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5010862B2 - Information processing device - Google Patents
[go: Go Back, main page]

JP5010862B2 - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
JP5010862B2
JP5010862B2 JP2006193048A JP2006193048A JP5010862B2 JP 5010862 B2 JP5010862 B2 JP 5010862B2 JP 2006193048 A JP2006193048 A JP 2006193048A JP 2006193048 A JP2006193048 A JP 2006193048A JP 5010862 B2 JP5010862 B2 JP 5010862B2
Authority
JP
Japan
Prior art keywords
data
error detection
information processing
memory
processing apparatus
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.)
Expired - Fee Related
Application number
JP2006193048A
Other languages
Japanese (ja)
Other versions
JP2008021174A (en
Inventor
英一 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Faurecia Clarion Electronics Co Ltd
Original Assignee
Clarion Co Ltd
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Clarion Co Ltd, Hitachi Ltd filed Critical Clarion Co Ltd
Priority to JP2006193048A priority Critical patent/JP5010862B2/en
Publication of JP2008021174A publication Critical patent/JP2008021174A/en
Application granted granted Critical
Publication of JP5010862B2 publication Critical patent/JP5010862B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、誤り検出を迅速に行う情報処理装置に関する。   The present invention relates to an information processing apparatus that performs error detection quickly.

ナビゲーション装置などのシステムにおいて、システムプログラムなどのデータを、フラッシュメモリなどの低速なブートデバイスからSDRAMなどの高速なデバイスに転送してからシステムを起動する技術が知られている。一方、データ通信を行う通信装置において、マイクロプロセッサやDMA転送部とは別に誤り符号検出部を設けて、データ転送の誤りを検出する技術が知られている(特許文献1)。   In a system such as a navigation apparatus, a technique for starting a system after transferring data such as a system program from a low-speed boot device such as a flash memory to a high-speed device such as an SDRAM is known. On the other hand, a technology for detecting an error in data transfer by providing an error code detection unit in addition to a microprocessor and a DMA transfer unit in a communication apparatus that performs data communication is known (Patent Document 1).

特開2002−64471号公報JP 2002-64471 A

ナビゲーション装置などのシステムにおいて、システムの起動時に、システムプログラムなどのデータが、誤りなく迅速に、低速なブートデバイスから高速なデバイスに転送されることが望まれる。そのため、転送時の誤り検出を適切にかつ迅速に行うことが必要となる。しかし、特許文献1の技術は、通信装置でのデータ通信における誤り検出の方法を示すものであり、ナビゲーション装置などのシステムの起動時におけるシステムプログラムなどのデータの転送に適切なものではない。   In a system such as a navigation apparatus, it is desired that data such as a system program is quickly transferred from a low-speed boot device to a high-speed device without error when the system is started. For this reason, it is necessary to appropriately and quickly perform error detection during transfer. However, the technique of Patent Document 1 shows an error detection method in data communication with a communication device, and is not appropriate for transferring data such as a system program when a system such as a navigation device is activated.

請求項1の発明は、情報処理装置に適用され、所定のデータとこの所定のデータに関する予め求められた誤り検出符号とを格納する第1のメモリ手段と、第2のメモリ手段と、第1のメモリ手段から所定のデータを読み出して第2のメモリ手段に格納する転送手段と、転送手段とは異なるハードウェアであり、転送手段が第1のメモリ手段から所定のデータを読み出すことに同期して所定のデータを取り込み、取り込んだ所定のデータの誤り検出符合を演算する誤り検出符号演算手段と、転送手段が第1のメモリから所定のデータを読み出すことを終了すると、誤り検出符号演算手段が演算した誤り検出符号と、第2のメモリに予め求めて格納されていた誤り検出符号とを比較して、転送手段による第1のメモリからの所定のデータの読み出しに誤りがあったかどうかを判断する制御手段とを備え、誤り検出符号演算手段は、転送手段が第1のメモリ手段から所定のデータを読み出すときに使用する信号を使用して所定のデータを取り込むことを特徴とするものである。
請求項2の発明は、請求項1に記載の情報処理装置において、所定のデータは、情報処理装置のシステムプログラムに関するデータであり、転送手段は、情報処理装置の起動時に、第1のメモリ手段から情報処理装置のシステムプログラムに関するデータを読み出して第2のメモリ手段に格納することを特徴とするものである。
請求項3の発明は、請求項2に記載の情報処理装置において、第1のメモリ手段は、情報処理装置のシステムプログラムに関するデータを格納するブートデバイスであり、第2のメモリ手段は、ブートデバイスより高速に動作するメモリであることを特徴とするものである。
The invention of claim 1 is applied to an information processing apparatus, and includes first memory means for storing predetermined data and a previously obtained error detection code relating to the predetermined data, second memory means, The transfer means for reading predetermined data from the memory means and storing it in the second memory means is different hardware from the transfer means, and the transfer means is synchronized with reading the predetermined data from the first memory means. When the error detection code calculation means for fetching the predetermined data and calculating the error detection code of the acquired predetermined data and the transfer means finish reading the predetermined data from the first memory, the error detection code calculation means Comparing the calculated error detection code with the error detection code previously obtained and stored in the second memory, there is an error in reading predetermined data from the first memory by the transfer means. And control means for determining whether Tsu, error detection code calculation means, characterized in that using a signal used when the transfer means reads the predetermined data from the first memory means capturing predetermined data It is what.
According to a second aspect of the present invention, in the information processing apparatus according to the first aspect, the predetermined data is data related to a system program of the information processing apparatus, and the transfer unit is configured to first memory The data relating to the system program of the information processing apparatus is read out from the information storage device and stored in the second memory means.
According to a third aspect of the present invention, in the information processing apparatus according to the second aspect, the first memory means is a boot device for storing data relating to a system program of the information processing apparatus, and the second memory means is the boot device. It is a memory that operates at a higher speed.

本発明は以上のように構成しているので、データ読み出しの誤り検出が迅速に行われ、データの転送が誤りなく迅速に行われる。   Since the present invention is configured as described above, data detection error detection is performed quickly, and data transfer is performed quickly without error.

図1は、本発明の情報処理装置の一実施の形態であるナビゲーション装置1の構成を示す図である。ナビゲーション装置1は、制御装置2、現在地検出装置3、地図データ記憶装置4、表示装置5、入力装置6などから構成される。制御装置2は、現在地検出装置3で検出された車両の現在地情報や、入力装置6を介して入力された目的地情報や、地図データ記憶装置4に格納された地図データなどを使用して、道路地図の表示、経路探索、経路誘導等の各種のナビゲーション処理を行う。道路地図や経路や各種の情報は、表示装置5に表示される。   FIG. 1 is a diagram showing a configuration of a navigation apparatus 1 which is an embodiment of an information processing apparatus of the present invention. The navigation device 1 includes a control device 2, a current location detection device 3, a map data storage device 4, a display device 5, an input device 6, and the like. The control device 2 uses the current location information of the vehicle detected by the current location detection device 3, the destination information input via the input device 6, the map data stored in the map data storage device 4, etc. Various navigation processes such as road map display, route search, and route guidance are performed. A road map, a route, and various types of information are displayed on the display device 5.

制御装置2は、CPU、メモリ、および、周辺回路から構成され、メモリに格納されたナビゲーション用システムプログラムを実行することにより、各種のナビゲーション処理を行う。本実施の形態のナビゲーション装置1では、制御装置2が実行するナビゲーション用システムプログラムはブートデバイスに格納され、起動時に、高速メモリに転送されて実行される。本実施の形態で言うナビゲーション用システムプログラムはOS(オペレーティングシステム)を含むものとする。   The control device 2 includes a CPU, a memory, and peripheral circuits, and performs various navigation processes by executing a navigation system program stored in the memory. In the navigation device 1 of the present embodiment, the navigation system program executed by the control device 2 is stored in the boot device, and transferred to the high-speed memory and executed at the time of startup. The navigation system program referred to in this embodiment includes an OS (operating system).

図2は、制御装置2の内部において、ナビゲーション用システムプログラムがブートデバイスから高速メモリに転送される様子を説明する図である。制御装置2は、CPU11、SDRAM12、ブートデバイス13、FPGA14、バス15を有し、CPU11、SDRAM12、ブートデバイス13、FPGA14はバス15を介して接続される。   FIG. 2 is a diagram for explaining how the navigation system program is transferred from the boot device to the high-speed memory inside the control device 2. The control device 2 includes a CPU 11, SDRAM 12, boot device 13, FPGA 14, and bus 15, and the CPU 11, SDRAM 12, boot device 13, and FPGA 14 are connected via the bus 15.

CPU11はマイクロプロセッサで構成され、SDRAM12は高速メモリであるSDRAMで構成される。ナビゲーション用システムプログラムは、ブートデバイス13からSDRAM12にロードされ、SDRAM12上で実行される。SDRAM12は揮発性メモリであるため、ナビゲーション装置1の電源がオフすると、SDRAM12にロードされたナビゲーション用システムプログラムは消滅する。   The CPU 11 is composed of a microprocessor, and the SDRAM 12 is composed of SDRAM which is a high speed memory. The navigation system program is loaded from the boot device 13 to the SDRAM 12 and executed on the SDRAM 12. Since the SDRAM 12 is a volatile memory, the navigation system program loaded in the SDRAM 12 disappears when the power of the navigation device 1 is turned off.

ブートデバイス13は、フラッシュメモリで構成される書き換え可能なROMであり、ナビゲーション用システムプログラムを格納する。ブートデバイス13はROMであるため、ナビゲーション装置1の電源がオフされても、格納されたナビゲーション用システムプログラムは保持される。ただし、書き換え可能であるためプログラムを更新することができる。   The boot device 13 is a rewritable ROM composed of a flash memory, and stores a navigation system program. Since the boot device 13 is a ROM, the stored navigation system program is retained even when the navigation apparatus 1 is powered off. However, the program can be updated because it can be rewritten.

FPGA14は、誤り検出符号を計算するための回路が組み込まれたFPGA(Field Programmable Gate Array)である。FPGA14はゲートアレイであり、CPU11、SDRAM12、ブートデバイス13などとは独立したICである。すなわち、FPGA14は、CPU11、SDRAM12、ブートデバイス13などとは異なる独立したハードウェアである。   The FPGA 14 is an FPGA (Field Programmable Gate Array) incorporating a circuit for calculating an error detection code. The FPGA 14 is a gate array and is an IC independent of the CPU 11, SDRAM 12, boot device 13, and the like. That is, the FPGA 14 is independent hardware different from the CPU 11, SDRAM 12, boot device 13, and the like.

ナビゲーション装置1の電源がオンされると、制御装置2のCPU11がオンされ、CPU11は、ROM(不図示)に格納されたブートプログラムを実行する。ブートプログラム(ブートストラップローダー)は、ブートデバイス13に格納されたナビゲーション用システムプログラムを、ブートデバイス13からSDRAM12へ転送する。すなわち、CPU11は、ブートデバイス13からナビゲーション用システムプログラムのデータを順次読み出して、SDRAM12へ順次格納する。   When the power of the navigation device 1 is turned on, the CPU 11 of the control device 2 is turned on, and the CPU 11 executes a boot program stored in a ROM (not shown). The boot program (bootstrap loader) transfers the navigation system program stored in the boot device 13 from the boot device 13 to the SDRAM 12. That is, the CPU 11 sequentially reads the data of the navigation system program from the boot device 13 and sequentially stores it in the SDRAM 12.

図3は、FPGA14内部の構成を示す図である。以下、図2および図3を参照して、FPGA14の動作について説明する。本実施の形態では、誤り検出方式としてチェックサムの例を説明する。また、誤り検出符号の計算は、ナビゲーション用システムプログラム全体に対して計算する例で説明をする。   FIG. 3 is a diagram showing an internal configuration of the FPGA 14. Hereinafter, the operation of the FPGA 14 will be described with reference to FIGS. 2 and 3. In the present embodiment, an example of a checksum will be described as an error detection method. The calculation of the error detection code will be described using an example in which the calculation is performed for the entire navigation system program.

FPGA14は、バス15と接続する。バス15は、DATAバス、READ(リードイネーブル)信号、WRITE(ライトイネーブル)信号、CLOCK信号などから構成される。また、FPGA14には、CPU11からブートデバイス13用チップセレクト信号であるCSBOOT信号、FPGA14用チップセレクト信号であるCSFPGA信号が入力される。   The FPGA 14 is connected to the bus 15. The bus 15 includes a DATA bus, a READ (read enable) signal, a WRITE (write enable) signal, a CLOCK signal, and the like. The FPGA 14 receives a CSBOOT signal as a chip select signal for the boot device 13 and a CSFPGA signal as a chip select signal for the FPGA 14 from the CPU 11.

CPU11は、まず、ナビゲーション用システムプログラムの転送開始前に、FPGA14に対して転送初期設定を行う。転送初期設定は、誤り検出符号の計算結果を表示するsum_regレジスタ21をクリアし、値を0にする。そして、FPGA14の種々の内部レジスタ(不図示)の計算開始設定を行う。   First, the CPU 11 performs transfer initial setting for the FPGA 14 before starting the transfer of the navigation system program. In the transfer initial setting, the sum_reg register 21 that displays the calculation result of the error detection code is cleared and the value is set to zero. Then, calculation start setting of various internal registers (not shown) of the FPGA 14 is performed.

CPU11がFPGA14に対して所定の設定を行ったり指示をしたりするのは、CPU11がDATAバスに所定のデータを出力し、WRITE信号およびCSFPGA信号を使用して行う。FPGA14には、WRITE信号およびCSFPGA信号によりDATAバスのデータを取り込むと、取り込んだデータを格納するレジスタや、取り込んだデータの内容に応じた処理を行う論理回路(ロジック)などが組み込まれている。   The CPU 11 makes predetermined settings or gives instructions to the FPGA 14 by the CPU 11 outputting predetermined data to the DATA bus and using the WRITE signal and CSFPGA signal. The FPGA 14 incorporates a register for storing the acquired data and a logic circuit (logic) for performing processing according to the content of the acquired data when the data of the DATA bus is acquired by the WRITE signal and the CSFPGA signal.

次に、CPU11は、ブートデバイス13からナビゲーション用システムプログラム自体のデータの読み出しを開始する。ブートデバイス13には、読み出すナビゲーション用システムプログラムデータのチェックサムの誤り検出符号が予め計算されその計算結果が埋め込まれている。ナビゲーション用システムプログラム自体は固定されたデータであるため、予めチェックサムの誤り検出符号を計算しておくことが可能である。これにより、読み出されるデータのチェックサムの誤り検出符号をその都度計算する必要がなく、処理が迅速になり回路も簡単になる。   Next, the CPU 11 starts reading data of the navigation system program itself from the boot device 13. In the boot device 13, a checksum error detection code of the navigation system program data to be read is calculated in advance, and the calculation result is embedded. Since the navigation system program itself is fixed data, it is possible to calculate a checksum error detection code in advance. As a result, it is not necessary to calculate an error detection code for the checksum of the data to be read each time, the processing is quick and the circuit is simplified.

FPGA14には、上述の通りブートデバイス13へのCSBOOT信号が入力されている。このCSBOOT信号とREAD信号により、CPU11のブートデバイス13へのアクセス監視を行う。具体的には、どちらの信号もアクティブな場合、読み出されているデータをREAD信号の立ち上がりタイミングで内部のwr_regレジスタ22にライトする。すなわち、FPGA14は、CPU11がブートデバイス13からナビゲーション用システムプログラムのデータを読み出すことに同期してナビゲーション用システムプログラムのデータを取り込む。   The FPGA 14 receives the CSBOOT signal to the boot device 13 as described above. Based on the CSBOOT signal and the READ signal, the CPU 11 monitors the access to the boot device 13. Specifically, when both signals are active, the read data is written to the internal wr_reg register 22 at the rising timing of the READ signal. That is, the FPGA 14 captures the navigation system program data in synchronization with the CPU 11 reading the navigation system program data from the boot device 13.

その後、CLOCK信号に同期してsum_regレジスタ21の値とwr_regレジスタ22の値を加算器23で足し算し、その結果をsum_regレジスタ21に書き込む。CPU11が、ブートデバイス13からデータを読み出している間、加算器23によるwr_regレジスタ22とsum_regレジスタ21の足し算が続けられる。   Thereafter, the value of the sum_reg register 21 and the value of the wr_reg register 22 are added by the adder 23 in synchronization with the CLOCK signal, and the result is written in the sum_reg register 21. While the CPU 11 is reading data from the boot device 13, addition of the wr_reg register 22 and the sum_reg register 21 by the adder 23 is continued.

CPU11は、ブートデバイス13からSDRAM12へのナビゲーション用システムプログラムの転送を終了すると、FPGA14に対して計算終了の設定を行い、FPGA14は足し算を停止する。CPU11は、その後、FPGA14からsum_regレジスタ21の値を読み出す。この場合は、FPGA14は、CPU11からのCSFPGA信号とREAD信号により、sum_regレジスタ21の内容をDATAバスに出力し、CPU11はそのデータを読み込むことができる。   When the CPU 11 finishes transferring the navigation system program from the boot device 13 to the SDRAM 12, the CPU 11 sets the calculation termination to the FPGA 14, and the FPGA 14 stops the addition. Thereafter, the CPU 11 reads the value of the sum_reg register 21 from the FPGA 14. In this case, the FPGA 14 outputs the contents of the sum_reg register 21 to the DATA bus by the CSFPGA signal and the READ signal from the CPU 11, and the CPU 11 can read the data.

図4は、CPU11が処理するブートプログラムの処理のフローチャートを示す図である。上述した通り、ナビゲーション装置1の電源オンによりCPU11がオンされ、ブートプログラムが起動する。   FIG. 4 is a diagram showing a flowchart of processing of a boot program processed by the CPU 11. As described above, the CPU 11 is turned on when the navigation device 1 is turned on, and the boot program is started.

ステップS1では、FPGA14に対し、前述した転送初期設定を行う。ステップS2では、ブートデバイス13からSDRAM12へのナビゲーション用システムプログラムの転送を開始する。具体的には、ナビゲーション用システムプログラムが格納されているブートデバイス13の所定のアドレスから読み出し(READ)を開始し、SDRAM12の所定のアドレスを先頭アドレスとして順次書き込んで(WRITE)いく。   In step S1, the transfer initial setting described above is performed for the FPGA. In step S2, the transfer of the navigation system program from the boot device 13 to the SDRAM 12 is started. Specifically, reading (READ) is started from a predetermined address of the boot device 13 in which the navigation system program is stored, and the predetermined address of the SDRAM 12 is sequentially written (WRITE) as the head address.

ステップS3では、転送が終了したかどうかを判断する。ナビゲーション用システムプログラムのデータの最後に、データの最後であることを示すデータが付加されているため、そのデータを読み出したかどうかを判断する。転送が終了していない場合は、転送が終了するまで転送処理を繰り返す。転送が終了した場合は、ステップS4に進む。   In step S3, it is determined whether or not the transfer is completed. Since data indicating the end of the data is added to the end of the data of the navigation system program, it is determined whether or not the data has been read out. If the transfer is not completed, the transfer process is repeated until the transfer is completed. When the transfer is completed, the process proceeds to step S4.

ステップS4では、FPGA14に対して転送終了の設定を行い、FPGA14での足し算の処理を終了させる。ステップS5では、転送したナビゲーション用システムプログラムのデータの中の所定の位置に組み込まれている誤り検出符号を読み出し、所定のメモリに格納する。また、FPGA14から、sum_regレジスタ21の内容を読み出し所定のメモリに格納する。   In step S4, transfer termination is set for the FPGA 14, and the addition process in the FPGA 14 is terminated. In step S5, an error detection code incorporated at a predetermined position in the transferred navigation system program data is read and stored in a predetermined memory. Further, the contents of the sum_reg register 21 are read from the FPGA 14 and stored in a predetermined memory.

ステップS6では、転送したナビゲーション用システムプログラムのデータに組み込まれていた誤り検出符号と、FPGA14から読み出したFPGA14が計算した誤り検出符号とを比較する。ステップS7では、比較の結果、誤り検出符号が一致したかどうかにより転送が良好であったかどうかを判断する。誤り検出符号が一致せず、転送に誤りがあったと判断すると、ステップS1に戻り転送処理を最初から繰り返す。誤り検出符号が一致し転送が良好であったと判断するとステップS8に進む。   In step S6, the error detection code incorporated in the transferred navigation system program data is compared with the error detection code calculated by the FPGA 14 read from the FPGA 14. In step S7, it is determined whether or not the transfer is good depending on whether the error detection codes match as a result of the comparison. If it is determined that the error detection codes do not match and there is an error in the transfer, the process returns to step S1 and the transfer process is repeated from the beginning. If it is determined that the error detection codes match and the transfer is good, the process proceeds to step S8.

ステップS8では、ブートプログラムからSDRAM12にロードしたナビゲーション用システムプログラムに制御を移す。その後、ナビゲーション用システムプログラムが実行され、各種のナビゲーション処理が行われる。   In step S8, control is transferred from the boot program to the navigation system program loaded in the SDRAM 12. Thereafter, the navigation system program is executed, and various navigation processes are performed.

(1)以上のようにして、本実施の形態では、CPU11とは異なるハードウェアであるFPGA14が誤り検出符号の計算を行うようにした。これにより、データ読み出しの誤り検出が迅速に行われ、ブートデバイス13からSDRAM12へのナビゲーション用システムプログラムの転送が誤りなく迅速に行われる。CPU11がソフトウェアにより誤り検出符号を計算することに比べて、データの転送時間が短くてすむ。また、CPU11の負荷が減り、他の処理も行うことが可能になり全体の処理速度が速くなる。
(2)ブートデバイス13には誤り検出符号を予め計算して格納しているため、読み出しごとに誤り検出符号を計算する必要がなく、さらに処理が速くなる。また、そのための回路も必要がないため、回路の構成が簡単になり、開発コストや製造コストも安くなる。これは、転送対象データが、ナビゲーション用システムプログラムのように固定されたデータであるから可能である。
(3)FPGA14は、CPU11がブートデバイス13にアクセスする信号(CS信号、READ信号)を取り込んで転送データを取り込むようにしている。すなわち、FPGA14は、CPU11がブートデバイス13にアクセスする信号と同じ信号を使用して、ナビゲーション用システムプログラムのデータを取り込んでいる。これにより、転送データを取り込むための信号線をわざわざ追加する必要がなく、簡単な回路構成で確実にその転送データを取り込むことができる。
(1) As described above, in this embodiment, the FPGA 14, which is hardware different from the CPU 11, calculates the error detection code. As a result, the error detection of data reading is performed quickly, and the transfer of the navigation system program from the boot device 13 to the SDRAM 12 is performed quickly without error. Compared with the case where the CPU 11 calculates the error detection code by software, the data transfer time can be shortened. Further, the load on the CPU 11 is reduced, and other processing can be performed, and the overall processing speed is increased.
(2) Since the error detection code is calculated and stored in the boot device 13 in advance, it is not necessary to calculate the error detection code for every reading, and the processing is further accelerated. In addition, since a circuit for this purpose is not necessary, the circuit configuration is simplified, and the development cost and manufacturing cost are reduced. This is possible because the transfer target data is fixed data such as a navigation system program.
(3) The FPGA 14 captures transfer data by capturing signals (CS signal and READ signal) for the CPU 11 to access the boot device 13. That is, the FPGA 14 takes in the data of the navigation system program by using the same signal as the signal for the CPU 11 to access the boot device 13. Thus, it is not necessary to add a signal line for fetching transfer data, and the transfer data can be reliably fetched with a simple circuit configuration.

−変形例−
(1)上記の実施の形態では、誤り検出符号を計算する回路をFPGAで構築する例を説明した。しかし、ASICであってもよい。FPGAやASICのように、マイクロプロセッサであるCPU11とは異なる外部のハードウェアデバイスで構築するものであればどのような形態でもよい。
(2)また、1チップの中でCPUとCPUとは異なる論理回路が構築できるようなICの場合は、それぞれが異なるハードウェアで構築されていると考える。すなわち、誤り検出符号の計算を、転送制御やシステムの制御を行うCPU11がソフトウェアで計算する形態と区別できるのであれば、すべて本発明の範疇となる。
(3)上記の実施の形態では、CPU11がブートデバイス13からSDRAM12へナビゲーション用システムプログラムを転送制御する例を説明した。しかし、CPU11の代わりに、DMAC(Direct Memory Access Controller)が転送制御を行うようにしてもよい。
(4)上記実施の形態では、高速メモリデバイスとしてSDRAMを使用する例を説明したが、他の高速メモリデバイスであってもよい。また、ブートデバイスとしてフラッシュメモリを使用する例を説明したが、他の不揮発性デバイスであってもよい。すなわち、ブートデバイスより転送先のメモリデバイスの方が高速であるような形態であればよい。
(5)上記の実施の形態では、CPU11が誤り検出符号の比較を行う例を説明した。しかし、FPGA14内部にそのような回路を設けて行うようにしてもよい。すなわち、FPGA14が、ナビゲーション用システムプログラムの予め計算された誤り検出符号を取り込んで所定のレジスタに格納し、sum_regレジスタ21と比較するようにすればよい。この場合は、FPGA14が転送終了と同時に比較を行い、CPU11に対して割り込みをかけるようにしてもよい。CPU11は、その比較結果だけを読み出すようにすればよい。
(6)上記の実施の形態では、誤り検出符号を計算する際のデータの読み出しサイズに制限をかけず、すべてを読み出して誤り検出符号を計算し、最後に1回だけ比較する方法の例を説明した。しかし、データをあるサイズに分割したブロックことに読み出しを行い、ブロックごとに誤り検出符号を計算し比較を行うようにしてもよい。
(7)上記の実施の形態では、誤り検出方式としてチェックサムの例を説明した。しかし、CRC方式や、パリティチェック方式など他の誤り検出方式であってもよい。元のデータの誤り検出符号を予め計算して元のデータに埋め込んでおくことができ、データを読み出すごとにCPU11とは別のハードウェアで誤り検出符号を計算することができるような方式であればどのような方式でもよい。また、誤り検出にとどまらず、誤り訂正まで行うような方式でもよい。
(8)ブートデバイス13として、高速に読み出すためにバーストリード/ページリードが可能なブートデバイスを使用するようにしてもよい。この場合、READ信号の立ち上がりでデータを取り込むのではなく、CLOCK信号のエッジで取り込むようにする。FPGA14では、どちらのデバイスに対しても同じものが使用できるようにするために、内部に切り替えのレジスタを設けておくと良い。
(9)FPGA14は、ブートデバイス13へのCS(チップセレクト)信号を使用しているので、アドレスデータをデコードする必要がなく、回路構成が簡単になる。ただし、FPGA14が、アドレスバスからアドレスを取り込んでアドレスをデコードして転送データを取り込むようにしてもよい。
-Modification-
(1) In the above embodiment, the example in which the circuit for calculating the error detection code is constructed by the FPGA has been described. However, it may be an ASIC. As long as it is constructed by an external hardware device different from the CPU 11 which is a microprocessor, such as an FPGA or an ASIC, any form may be used.
(2) Further, in the case of an IC in which a logic circuit different from the CPU can be constructed in one chip, it is considered that each is constructed by different hardware. That is, the calculation of the error detection code can be distinguished from the form calculated by software by the CPU 11 that performs transfer control and system control.
(3) In the above embodiment, an example in which the CPU 11 controls transfer of the navigation system program from the boot device 13 to the SDRAM 12 has been described. However, instead of the CPU 11, a DMAC (Direct Memory Access Controller) may perform transfer control.
(4) In the above embodiment, an example in which SDRAM is used as a high-speed memory device has been described. However, other high-speed memory devices may be used. Moreover, although the example which uses flash memory as a boot device was demonstrated, another non-volatile device may be sufficient. In other words, it is sufficient that the transfer destination memory device is faster than the boot device.
(5) In the above embodiment, an example in which the CPU 11 compares error detection codes has been described. However, such a circuit may be provided inside the FPGA 14. In other words, the FPGA 14 may capture the error detection code calculated in advance of the navigation system program, store it in a predetermined register, and compare it with the sum_reg register 21. In this case, the FPGA 14 may make a comparison at the same time as the end of the transfer to interrupt the CPU 11. The CPU 11 only needs to read out the comparison result.
(6) In the above embodiment, an example of a method of calculating the error detection code by reading everything without limiting the data read size when calculating the error detection code, and finally comparing only once explained. However, it is also possible to read out the blocks obtained by dividing the data into a certain size and calculate and compare the error detection codes for each block.
(7) In the above embodiment, an example of a checksum has been described as an error detection method. However, other error detection methods such as a CRC method and a parity check method may be used. Any method can be used in which the error detection code of the original data can be calculated in advance and embedded in the original data, and the error detection code can be calculated by hardware different from the CPU 11 each time the data is read. Any method may be used. Further, not only error detection but also error correction may be performed.
(8) A boot device capable of burst read / page read may be used as the boot device 13 for high-speed reading. In this case, data is not captured at the rising edge of the READ signal, but is captured at the edge of the CLOCK signal. In the FPGA 14, it is preferable to provide a switching register inside so that the same device can be used for both devices.
(9) Since the FPGA 14 uses a CS (chip select) signal to the boot device 13, it is not necessary to decode address data, and the circuit configuration is simplified. However, the FPGA 14 may fetch the address from the address bus, decode the address, and fetch the transfer data.

上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。   Although various embodiments and modifications have been described above, the present invention is not limited to these contents. Other embodiments conceivable within the scope of the technical idea of the present invention are also included in the scope of the present invention.

本発明の情報処理装置の一実施の形態であるナビゲーション装置1の構成を示す図である。It is a figure which shows the structure of the navigation apparatus 1 which is one Embodiment of the information processing apparatus of this invention. 制御装置2の内部において、ナビゲーション用システムプログラムがブートデバイスから高速メモリに転送される様子を説明する図である。It is a figure explaining a mode that the system program for navigation is transferred to the high-speed memory from a boot device inside the control apparatus. FPGA14内部の構成を示す図である。It is a figure which shows the structure inside FPGA14. CPU11が処理するブートプログラムの処理のフローチャートを示す図である。It is a figure which shows the flowchart of a process of the boot program which CPU11 processes.

符号の説明Explanation of symbols

1 ナビゲーション装置
2 制御装置
3 現在地検出装置
4 地図データ記憶装置
5 表示装置
6 入力装置
11 CPU
12 SDRAM
13 ブートデバイス
14 FPGA
15 バス
21 sum_regレジスタ
22 wr_regレジスタ
23 加算器
DESCRIPTION OF SYMBOLS 1 Navigation apparatus 2 Control apparatus 3 Present location detection apparatus 4 Map data storage apparatus 5 Display apparatus 6 Input apparatus 11 CPU
12 SDRAM
13 Boot device 14 FPGA
15 Bus 21 sum_reg register 22 wr_reg register 23 Adder

Claims (3)

情報処理装置であって、
所定のデータとこの所定のデータに関する予め求められた誤り検出符号とを格納する第1のメモリ手段と、
第2のメモリ手段と、
前記第1のメモリ手段から前記所定のデータを読み出して前記第2のメモリ手段に格納する転送手段と、
前記転送手段とは異なるハードウェアであり、前記転送手段が前記第1のメモリ手段から前記所定のデータを読み出すことに同期して前記所定のデータを取り込み、前記取り込んだ所定のデータの誤り検出符合を演算する誤り検出符号演算手段と、
前記転送手段が前記第1のメモリから前記所定のデータを読み出すことを終了すると、前記誤り検出符号演算手段が演算した誤り検出符号と、前記第2のメモリに予め求めて格納されていた誤り検出符号とを比較して、前記転送手段による前記第1のメモリからの前記所定のデータの読み出しに誤りがあったかどうかを判断する制御手段とを備え
前記誤り検出符号演算手段は、前記転送手段が前記第1のメモリ手段から前記所定のデータを読み出すときに使用する信号を使用して前記所定のデータを取り込むことを特徴とする情報処理装置。
An information processing apparatus,
First memory means for storing predetermined data and a previously obtained error detection code relating to the predetermined data;
A second memory means;
Transfer means for reading the predetermined data from the first memory means and storing it in the second memory means;
Hardware different from the transfer means, the transfer means fetches the predetermined data in synchronization with reading the predetermined data from the first memory means, and an error detection code of the fetched predetermined data Error detection code calculation means for calculating
When the transfer unit finishes reading the predetermined data from the first memory, the error detection code calculated by the error detection code calculation unit and the error detection previously obtained and stored in the second memory Control means for comparing the code and determining whether there is an error in reading the predetermined data from the first memory by the transfer means ,
The information processing apparatus according to claim 1, wherein the error detection code calculation means captures the predetermined data using a signal used when the transfer means reads the predetermined data from the first memory means .
請求項1に記載の情報処理装置において、
前記所定のデータは、前記情報処理装置のシステムプログラムに関するデータであり、
前記転送手段は、前記情報処理装置の起動時に、前記第1のメモリ手段から前記情報処理装置のシステムプログラムに関するデータを読み出して前記第2のメモリ手段に格納することを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The predetermined data is data related to a system program of the information processing apparatus,
The information processing apparatus, wherein the transfer means reads data related to a system program of the information processing apparatus from the first memory means and stores the data in the second memory means when the information processing apparatus is activated.
請求項2に記載の情報処理装置において、
前記第1のメモリ手段は、前記情報処理装置のシステムプログラムに関するデータを格納するブートデバイスであり、
前記第2のメモリ手段は、前記ブートデバイスより高速に動作するメモリであることを特徴とする情報処理装置。
The information processing apparatus according to claim 2,
The first memory means is a boot device for storing data relating to a system program of the information processing apparatus;
The information processing apparatus, wherein the second memory means is a memory that operates at a higher speed than the boot device.
JP2006193048A 2006-07-13 2006-07-13 Information processing device Expired - Fee Related JP5010862B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006193048A JP5010862B2 (en) 2006-07-13 2006-07-13 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006193048A JP5010862B2 (en) 2006-07-13 2006-07-13 Information processing device

Publications (2)

Publication Number Publication Date
JP2008021174A JP2008021174A (en) 2008-01-31
JP5010862B2 true JP5010862B2 (en) 2012-08-29

Family

ID=39077051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006193048A Expired - Fee Related JP5010862B2 (en) 2006-07-13 2006-07-13 Information processing device

Country Status (1)

Country Link
JP (1) JP5010862B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5860499A (en) * 1981-10-07 1983-04-09 Toshiba Corp Memory device
JPS63136234A (en) * 1986-11-28 1988-06-08 Canon Inc Check sum calculation system
JP3165050B2 (en) * 1996-12-24 2001-05-14 九州日本電気通信システム株式会社 Packet error detection method
JP2005250891A (en) * 2004-03-04 2005-09-15 Sony Corp Reading method and program

Also Published As

Publication number Publication date
JP2008021174A (en) 2008-01-31

Similar Documents

Publication Publication Date Title
US9256744B2 (en) System-on-chip and booting method thereof
JP2014099097A (en) Information processing device, information processing method, and computer program
US11605319B2 (en) Surround-view with seamless transition to 3D view system and method
TWI594188B (en) System-on-chip and booting method thereof
JP2005071303A (en) Program start device
CN106980513A (en) A kind of switching method and device of dual boot file
JP5010862B2 (en) Information processing device
JP5590069B2 (en) Microcomputer
JP2011048681A (en) Processor
JP2013246630A (en) Boot system and system initializing method
US9811149B2 (en) Information processing apparatus, non-transitory computer readable medium, and information processing method
EP1770507A2 (en) Pipeline processing based on RISC architecture
JP2007206933A (en) Information processing apparatus, boot loader generation method and program transfer method in information processing apparatus
KR101569001B1 (en) System for configurating fpga data and method therefor
CN109725939A (en) A chip booting method, chip and computer readable storage medium
JP4869301B2 (en) Image processing device
US20050216614A1 (en) Microcomputer having instruction RAM
JP5042766B2 (en) Control device and memory initialization method for control device
JP2000056984A (en) Microcomputer with built-in memory and method of resetting microcomputer
JP2004258722A (en) Processing system
JP2009093270A (en) Computer system and its startup method
JP2007334813A (en) Memory control circuit and data rewriting method
JP3476314B2 (en) Microprocessor
CN100458970C (en) Embedded memory cell structure and system structure and operation method of memory device
JP2004086596A (en) Microcomputer

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080417

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090612

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090612

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120402

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: 20120508

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120604

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150608

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees