JP2009237666A - Electronic appliance - Google Patents

Electronic appliance Download PDF

Info

Publication number
JP2009237666A
JP2009237666A JP2008079738A JP2008079738A JP2009237666A JP 2009237666 A JP2009237666 A JP 2009237666A JP 2008079738 A JP2008079738 A JP 2008079738A JP 2008079738 A JP2008079738 A JP 2008079738A JP 2009237666 A JP2009237666 A JP 2009237666A
Authority
JP
Japan
Prior art keywords
ram
program
processor
data
electronic device
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.)
Withdrawn
Application number
JP2008079738A
Other languages
Japanese (ja)
Inventor
Toshiharu Matsui
敏治 松井
Toshiyuki Nakanishi
利幸 中西
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.)
Seiko Epson Corp
Funai Electric Co Ltd
Original Assignee
Seiko Epson Corp
Funai Electric Co 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 Seiko Epson Corp, Funai Electric Co Ltd filed Critical Seiko Epson Corp
Priority to JP2008079738A priority Critical patent/JP2009237666A/en
Publication of JP2009237666A publication Critical patent/JP2009237666A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology for constructing a highly versatile control system in an electronic appliance whose operation is controlled by a processor executes a prescribed control program. <P>SOLUTION: When the power source of electronic equipment 1 is inputted, a CPU core 101 executes a boot program stored in a boot ROM 103. An initialization program for initializing an RAM controller 104 stored in a flash ROM 112 is transferred to an SRAM 102, and executed by a boot program. Thus, an RAM controller 104 is initialized so as to be fitted to the type or size of an SDRAM 111, and put into such a state that the SDRAM 111 is accessible. Afterwards, a control program stored in a flash ROM 112 as compressed data is extended and restored on the SDRAM 111, and the restored control program is executed, so that a normal operating state can be set. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明は、プロセッサにより実行される制御プログラムによって動作制御される電子機器に関するものであり、特にその起動処理に関する。   The present invention relates to an electronic device whose operation is controlled by a control program executed by a processor, and more particularly to its activation process.

プロセッサが所定の制御プログラムを実行することによって動作制御される電子機器においては、プロセッサと、制御プログラムを予め書き込まれたデータ保持手段とを別デバイスとすることが広く行われている。こうすることで汎用のプロセッサを使用することができ、また制御プログラムの変更により同一のプロセッサに種々の動作を行わせることが可能となるからである。例えば特許文献1には、ROM(読み出し専用メモリ)上に予め保存されたブートプログラムを、機器の電源投入時にRAM(書き換え可能なメモリ)に転送し実行するように構成された電子機器が開示されている。   In an electronic device whose operation is controlled by a processor executing a predetermined control program, it is widely performed that the processor and a data holding unit in which the control program is written in advance are separate devices. This is because a general-purpose processor can be used, and it is possible to cause the same processor to perform various operations by changing the control program. For example, Patent Document 1 discloses an electronic device configured to transfer and execute a boot program stored in advance on a ROM (read-only memory) to a RAM (rewritable memory) when the device is turned on. ing.

特開2006−72989号公報JP 2006-72989 A

ところで、電子機器を動作させるための制御プログラムのサイズは大きいため、該プログラムを記憶すべきRAMとしては記憶容量の大きなDRAM(Dynamic RAM)やSDRAM(Synchronous Dynamic RAM)が一般的に用いられる。この種のメモリ素子についてはプロセッサのシステムバスに接続することができないため、DRAMやSDRAMはRAMコントローラを介してプロセッサに接続されている。しかしながら、RAMコントローラについては、接続されるRAMの種類や容量に適合させるための初期化を行わなければ、プロセッサとRAMとの間でのデータのやり取りを開始することができない。つまり、上記従来技術では、RAMにプログラムを転送開始する前にRAMコントローラの初期化を行わなければならない。   By the way, since the size of a control program for operating an electronic device is large, DRAM (Dynamic RAM) or SDRAM (Synchronous Dynamic RAM) having a large storage capacity is generally used as a RAM to store the program. Since this type of memory device cannot be connected to the system bus of the processor, the DRAM and SDRAM are connected to the processor via a RAM controller. However, the RAM controller cannot start data exchange between the processor and the RAM unless initialization is performed to match the type and capacity of the connected RAM. That is, in the above prior art, it is necessary to initialize the RAM controller before starting to transfer the program to the RAM.

この問題に対応するため上記従来技術では、RAMコントローラを含む周辺回路を専用のASIC(Application Specific Integrated Circuit)に実装することによってRAMコントローラの初期化を行っているが、このような構成とした場合、RAMコントローラの設定内容はASICの仕様によって予め決まっており固定的である。このため、使用するRAMの種類や容量を変更したい場合にはASICも共に変更する必要が生じることとなり、装置コストを増大させるとともに、汎用性に欠ける制御システムとなっていた。   In order to cope with this problem, in the above prior art, the RAM controller is initialized by mounting a peripheral circuit including the RAM controller on a dedicated ASIC (Application Specific Integrated Circuit). The setting contents of the RAM controller are fixed in advance according to the specifications of the ASIC. For this reason, when it is desired to change the type and capacity of the RAM to be used, it is necessary to change both the ASIC, increasing the apparatus cost, and the control system lacking versatility.

この発明は上記課題に鑑みなされたものであり、プロセッサが所定の制御プログラムを実行することによって動作制御される電子機器において、汎用性の高い制御系を構築することのできる技術を提供することを目的とする。   This invention is made in view of the said subject, and provides the technique which can construct | assemble a highly versatile control system in the electronic device by which operation is controlled by a processor executing a predetermined control program. Objective.

この発明にかかる電子機器は、上記目的を達成するため、電子機器を動作させるための制御プログラムを実行するプロセッサと、前記プロセッサのシステムバスに直接接続された第1RAMと、RAMコントローラを介して前記システムバスに接続された第2RAMと、前記システムバスに接続されて、前記制御プログラムと、前記RAMコントローラを前記第2RAMに対応させて初期化するためのRAMコントローラ設定用データとを書き込まれたデータ保持手段とを備え、前記プロセッサは、前記データ保持手段から前記RAMコントローラ設定用データを前記第1RAMに転送し該データに基づき前記RAMコントローラを初期化した後に、前記データ保持手段から前記制御プログラムを読み出して前記第2のRAMに転送し、該第2RAM上の前記制御プログラムを実行開始する起動処理を実行することを特徴としている。   In order to achieve the above object, an electronic device according to the present invention includes a processor that executes a control program for operating an electronic device, a first RAM directly connected to a system bus of the processor, and the RAM via a RAM controller. Data in which a second RAM connected to the system bus, the control program connected to the system bus, and RAM controller setting data for initializing the RAM controller in association with the second RAM are written Holding means, and the processor transfers the RAM controller setting data from the data holding means to the first RAM, initializes the RAM controller based on the data, and then executes the control program from the data holding means. Read and transfer to the second RAM, the second It is characterized by performing the activation process to be executed starting the control program on the RAM.

このように構成された発明では、データ保持手段に予め書き込まれたRAMコントローラ設定用データがプロセッサから直接アクセス可能な第1RAMに転送され、プロセッサが該RAMコントローラ設定用データに基づきRAMコントローラを初期化する。これ以後はプロセッサがRAMコントローラを介して第2RAMにアクセス可能となる。すなわち、データ保持手段から読み出された制御プログラムが第2RAMに転送されてプロセッサにより実行可能な状態となる。   In the invention thus configured, the RAM controller setting data written in advance in the data holding means is transferred to the first RAM that can be directly accessed by the processor, and the processor initializes the RAM controller based on the RAM controller setting data. . Thereafter, the processor can access the second RAM via the RAM controller. In other words, the control program read from the data holding means is transferred to the second RAM and is ready to be executed by the processor.

このように、RAMコントローラの初期化に用いられるRAMコントローラ設定用データをデータ保持手段に書き込んでおくことにより、第2RAMとして使用され得る種々の種類や容量の記憶素子に対して、該データを変更するのみで対応することが可能となる。このため、電子機器の制御系の汎用性を高めることができる。また、機器の起動時にRAMコントローラ設定用をデータ保持手段から第1RAMに転送しているので、プロセッサから直接アクセス可能な第1RAM上のRAMコントローラ設定用データに基づきRAMコントローラの初期化を行うことができる。このため、短時間でRAMコントローラを初期化して第2RAMをアクセス可能な状態に移行させることができ、起動処理を短時間にて完了させることができる。   Thus, by writing the RAM controller setting data used for initialization of the RAM controller into the data holding means, the data can be changed for various types and capacities of storage elements that can be used as the second RAM. It is possible to respond by simply doing. For this reason, the versatility of the control system of an electronic device can be improved. Further, since the RAM controller setting data is transferred from the data holding means to the first RAM when the device is activated, the RAM controller can be initialized based on the RAM controller setting data on the first RAM that can be directly accessed by the processor. . For this reason, the RAM controller can be initialized in a short time to shift to a state where the second RAM can be accessed, and the start-up process can be completed in a short time.

また、第1RAMとしては、プロセッサのシステムバスに直接接続可能なものが必要であり、この種の記憶素子は記憶容量に対して一般に高価であるが、本発明では上記したRAMコントローラ設定用データを一時的に保存するためのデータ容量があれば足りるので第1RAMはごく小容量で済む。   The first RAM must be one that can be directly connected to the system bus of the processor. This type of storage element is generally expensive with respect to the storage capacity. In the present invention, however, the RAM controller setting data described above is used. Since a data capacity for temporary storage is sufficient, the first RAM needs only a very small capacity.

この発明にかかる電子機器は、例えば、前記データ保持手段には、前記RAMコントローラを初期化するための初期化プログラムが前記RAMコントローラ設定用データとして書き込まれており、前記プロセッサは、前記第1RAMに転送した前記初期化プログラムを実行することで前記RAMコントローラを初期化するように構成されてもよい。   In the electronic device according to the present invention, for example, an initialization program for initializing the RAM controller is written as the RAM controller setting data in the data holding means, and the processor is stored in the first RAM. The RAM controller may be initialized by executing the transferred initialization program.

このような構成によれば、プロセッサのシステムバスに直接接続された第1RAM上の初期化プログラムが実行されるので、RAMコントローラの初期化を短時間で行い早期に第2RAMをアクセス可能な状態に移行させることができる。   According to such a configuration, since the initialization program on the first RAM directly connected to the system bus of the processor is executed, the initialization of the RAM controller is performed in a short time so that the second RAM can be accessed quickly. Can be migrated.

また、例えば、前記データ保持手段には、前記制御プログラムを圧縮してなる圧縮データと、当該圧縮データを展開して制御プログラムを復元するための展開プログラムとが書き込まれており、前記プロセッサは、前記展開プログラムを実行することによって、前記第2RAM上に前記制御プログラムを復元するように構成されてもよい。   Further, for example, the data holding means is written with compressed data obtained by compressing the control program, and a decompressed program for decompressing the compressed data and restoring the control program. The control program may be restored on the second RAM by executing the expansion program.

制御プログラムを圧縮することによってデータ保持手段における当該制御プログラムの容量を少なくすることができる。また、同じデータ保持手段に圧縮データを展開するための展開プログラムを一体的に書き込んでおくことにより、プログラムの圧縮に使用する圧縮方法を予め固定する必要がなく、任意の圧縮方法を適用することができる。このことによっても、制御系の汎用性をさらに高めることができる。   By compressing the control program, the capacity of the control program in the data holding unit can be reduced. In addition, since a decompression program for decompressing compressed data is integrally written in the same data holding means, it is not necessary to fix the compression method used for compressing the program in advance, and any compression method can be applied. Can do. This also makes it possible to further increase the versatility of the control system.

この場合において、前記プロセッサは、前記データ保持手段から読み出した前記伸長プログラムを前記第1RAMに転送し該第1RAM上で実行する、または、前記伸長プログラムを前記第2RAMに転送し該第2RAM上で実行するのが好ましい。こうすることにより、データ保持手段上で伸長プログラムを実行する場合に比べ圧縮データの伸長をより短時間で行うことができる。特に第1RAM上で伸長プログラムを実行した場合、伸長処理を高速で行うことができる。また、第2RAM上で伸長プログラムを実行した場合、伸長プログラムとして任意の長さのものを使用することができる。なお、RAMコントローラ設定用データについては非圧縮でデータ保持手段に書き込んでおくことが好ましい。というのは、RAMコントローラ設定用データのデータ量はさほど多くないため圧縮の効果が薄く、また非圧縮とすることで伸長工程を省きより短時間でRAMコントローラを初期化することができるからである。   In this case, the processor transfers the decompression program read from the data holding means to the first RAM and executes it on the first RAM, or transfers the decompression program to the second RAM and executes it on the second RAM. Preferably it is performed. By doing so, the compressed data can be decompressed in a shorter time than when the decompression program is executed on the data holding means. In particular, when the decompression program is executed on the first RAM, the decompression process can be performed at high speed. Further, when the decompression program is executed on the second RAM, the decompression program having an arbitrary length can be used. The RAM controller setting data is preferably written in the data holding means without compression. This is because the amount of data for RAM controller setting data is not so large, so the effect of compression is small, and non-compression makes it possible to omit the decompression step and initialize the RAM controller in a shorter time. .

また、この発明にかかる電子機器においては、前記制御プログラムには、割り込み要求に対応して実行される割り込み処理プログラムが含まれる一方、前記データ保持手段には、前記第2RAM上における前記割り込み処理プログラムの格納位置を示す位置情報が書き込まれており、前記プロセッサは、前記データ保持手段から前記位置情報を読み出して前記第1RAMに記憶させておき、前記割り込み要求を受け付けると前記第1RAMに記憶された前記位置情報により特定される前記第2RAM上の前記割り込み処理プログラムを実行するように構成されてもよい。   In the electronic device according to the present invention, the control program includes an interrupt processing program executed in response to an interrupt request, and the data holding means includes the interrupt processing program in the second RAM. Is stored, and the processor reads out the position information from the data holding means and stores it in the first RAM. When the interrupt request is received, the processor stores the position information in the first RAM. The interrupt processing program on the second RAM specified by the position information may be executed.

第1RAMは起動処理に使用された後は任意の目的に使用可能であるが、特に上記のように構成した場合、割り込み要求に対応して多様な処理を実行することができる点で好ましい。種々の要因に起因する割り込みを受け付けるプロセッサは、割り込み要求が発生したとき、メモリ空間内においてその割り込み要因に応じて予め割り当てられたアドレスに記憶された命令を強制的に実行するように構成されている。言い換えれば、割り込み要求が発生したときに実行される処理プログラムの格納先は予め定められており固定的である。そこで、データ保持手段から読み出した位置情報を第1RAMに記憶させておき、割り込み要求を受け付けたときに第1RAMに記憶された位置情報により特定される第2RAM上の割り込み処理プログラムを実行するようにしておけば、第2RAMの任意の位置に任意の長さで記憶された処理プログラムを割り込み処理として実行することが可能となる。   The first RAM can be used for any purpose after it is used for the startup process, but it is preferable in that it can execute various processes in response to an interrupt request, particularly when configured as described above. A processor that accepts an interrupt caused by various factors is configured to forcibly execute an instruction stored in an address assigned in advance according to the interrupt factor in the memory space when an interrupt request is generated. Yes. In other words, the storage destination of the processing program that is executed when an interrupt request is generated is predetermined and fixed. Therefore, the position information read from the data holding means is stored in the first RAM, and when an interrupt request is received, the interrupt processing program on the second RAM specified by the position information stored in the first RAM is executed. In this case, a processing program stored in an arbitrary position in the second RAM with an arbitrary length can be executed as an interrupt process.

上記各発明において、前記プロセッサおよび前記第1RAMが単一パッケージに実装されてもよい。本発明においては、第1RAMはプロセッサのシステムバスに直接接続可能であることが必要である一方、大きなデータ容量は必要とされない。また、データ保持手段の容量やそのデータ内容、第2RAMの種類や容量によって第1RAMを変更する必要はない。そのため、第1RAMについては、制御系の汎用性を損なうことなくプロセッサと同一のパッケージに実装することが可能である。また、システムバスを介して直接接続されるプロセッサと第1RAMとの間は多数の信号線が必要であるが、これらを単一のパッケージ内に実装することで、これらを別パッケージとした場合と比べてパッケージ間を接続する信号線の数を削減することができるとともに、高い通信速度を確保することができる。   In each of the above inventions, the processor and the first RAM may be mounted in a single package. In the present invention, the first RAM needs to be directly connectable to the system bus of the processor, but a large data capacity is not required. Further, it is not necessary to change the first RAM depending on the capacity of the data holding means, the data content, the type and capacity of the second RAM. For this reason, the first RAM can be mounted in the same package as the processor without impairing the versatility of the control system. In addition, a large number of signal lines are required between the processor and the first RAM that are directly connected via the system bus. However, by mounting these in a single package, these can be separated from each other. In comparison, the number of signal lines connecting between packages can be reduced, and a high communication speed can be ensured.

また、前記データ保持手段は、前記プロセッサに前記起動処理を実行させるための起動処理プログラムを記憶した起動用ROMと、前記制御プログラムおよび前記RAMコントローラ設定用データを記憶した記憶媒体とを備えるようにしてもよい。データ保持手段に記憶すべき制御プログラムの内容やそのデータサイズは、機器の仕様に応じて変更される必要がある。また、RAMコントローラ設定用データの内容も、使用する第2RAMに応じて変更される必要がある。一方、起動処理の内容自体は、これらが変更されたとしても変える必要はない。したがって、変更の必要のない起動処理プログラムについては、書き換えのできないROMに記憶させておいてもよい。   Further, the data holding means includes a boot ROM that stores a boot process program for causing the processor to execute the boot process, and a storage medium that stores the control program and the RAM controller setting data. May be. The contents of the control program to be stored in the data holding means and the data size thereof need to be changed according to the specifications of the device. The contents of the RAM controller setting data also need to be changed according to the second RAM to be used. On the other hand, the contents of the activation process itself do not need to be changed even if they are changed. Therefore, a startup process program that does not need to be changed may be stored in a non-rewritable ROM.

この場合において、前記プロセッサ、前記第1RAMおよび前記起動用ROMが単一パッケージに実装されてもよい。前記したように、これらの構成は当該電子機器の仕様が変更されても変更する必要がないため、これらを単一パッケージに実装してなるデバイスは種々の仕様の電子機器に応用可能な汎用性の高いものとなる。   In this case, the processor, the first RAM, and the boot ROM may be mounted in a single package. As described above, since these configurations do not need to be changed even if the specifications of the electronic device are changed, a device in which these configurations are mounted in a single package can be applied to electronic devices of various specifications. Will be expensive.

また、前記制御プログラムおよび前記RAMコントローラ設定用データを記憶する前記記憶媒体としては、例えばフラッシュメモリを用いることができる。機器の仕様に応じて変更の必要な制御プログラムおよびRAMコントローラ設定用データを記憶する記憶媒体をフラッシュROMとすることによって、これらのデータの書き換えを容易に行うことが可能となり、例えば出荷後の製品の仕様や性能をデータの書き換えにより事後的に向上させることが可能となる。   For example, a flash memory can be used as the storage medium for storing the control program and the RAM controller setting data. By using a flash ROM as the storage medium for storing the control program and RAM controller setting data that need to be changed according to the specifications of the device, it becomes possible to easily rewrite these data. It is possible to improve the specifications and performance of the system afterwards by rewriting data.

また、前記第1RAMがSRAM(Static RAM)であってもよい。SRAMは一般的に大容量のものが製品化されておらず大容量を必要とする場合には高コストとなるという問題があるが、プロセッサのシステムバスに直接接続することができプロセッサからの高速アクセスが可能である。一方、本発明では第1RAMにシステムバスへの直接接続および高速アクセスが求められるが大容量は必要とされない。したがって、本発明の第1RAMとしてはSRAMを好適に使用することができる。また起動時に必要なデータを高速アクセスが可能なSRAMに転送して用いることにより、起動処理に必要な処理時間を短縮し機器を短時間で起動することが可能となる。   The first RAM may be an SRAM (Static RAM). In general, a large-capacity SRAM has not been commercialized and requires a large capacity, resulting in a high cost. However, the SRAM can be directly connected to the processor system bus and can be connected to the processor at high speed. Access is possible. On the other hand, in the present invention, direct connection to the system bus and high-speed access are required for the first RAM, but a large capacity is not required. Therefore, an SRAM can be suitably used as the first RAM of the present invention. In addition, by transferring the data required at the time of startup to an SRAM that can be accessed at high speed, the processing time required for the startup process can be shortened and the device can be started up in a short time.

また、第2RAMとしては、高速性よりは容量の大きさが求められるので、このような用途には例えばDRAM(Dynamic RAM)を使用することができる。また、SDRAM(Synchronous Dynamic RAM)を使用すればアクセス速度に関しても向上を図ることができる。   Further, since the capacity of the second RAM is required rather than high speed, for example, a DRAM (Dynamic RAM) can be used for such a purpose. Further, the use of SDRAM (Synchronous Dynamic RAM) can improve the access speed.

図1は本発明にかかる電子機器の一実施形態を示すブロック図である。この電子機器1は、例えばプリンタやゲーム機など、プロセッサが予め定められた制御プログラムを実行することによって所定の機能を実現するものである。この電子機器1では、ASIC(Application Specific Integrated Circuit)100が設けられている。該ASIC100には、CPUコア101、SRAM(Static RAM)102、ブートROM103、RAMコントローラ104およびシリアルメモリコントローラ105が設けられて、これらがシステムバス109を介して相互に接続されている。   FIG. 1 is a block diagram showing an embodiment of an electronic apparatus according to the present invention. The electronic device 1 implements a predetermined function when a processor executes a predetermined control program such as a printer or a game machine. In the electronic apparatus 1, an ASIC (Application Specific Integrated Circuit) 100 is provided. The ASIC 100 is provided with a CPU core 101, an SRAM (Static RAM) 102, a boot ROM 103, a RAM controller 104, and a serial memory controller 105, which are connected to each other via a system bus 109.

CPUコア101は、制御プログラムを実行することで機器各部の動作を制御する。SRAM102は例えば1kバイト程度のデータ容量を有し、システムバス109を介してCPUコア101に直接接続されている。CPUコア101には、ハードウェア割り込み要求信号として割り込み要求信号IRQ(Interrupt Request)およびこれよりも優先度が高くより迅速な割り込み対応が可能なFIQ(Fast Interrupt Request)信号を受け付けるためのポートが設けられている。   The CPU core 101 controls the operation of each unit by executing a control program. The SRAM 102 has a data capacity of about 1 kbyte, for example, and is directly connected to the CPU core 101 via the system bus 109. The CPU core 101 is provided with a port for receiving an interrupt request signal IRQ (Interrupt Request) as a hardware interrupt request signal and an FIQ (Fast Interrupt Request) signal having a higher priority and capable of handling an interrupt more quickly. It has been.

ブートROM103は例えば4kバイト程度のデータ容量を有しており、機器を起動させるために必要な最小限のデータが予め書き込まれている。データ内容およびその機能については後述する。   The boot ROM 103 has a data capacity of, for example, about 4 kbytes, and the minimum data necessary for starting the device is written in advance. Data contents and functions will be described later.

RAMコントローラ104は、ASIC100の外部に設けられたSDRAM(Synchronous Dynamic RAM)111と接続されており、システムバス109を介したCPUコア101とSDRAM111とのデータ通信を制御する。SDRAM111は、当該電子機器の動作に必要な制御プログラムやデータを一時的に保持するメインメモリとして機能するものであり、実現すべき機能に応じて、例えば8Mないし32Mバイト程度のデータ容量を有する。また、ASIC100にはシリアル通信が可能なフラッシュROM112が接続されており、シリアルメモリコントローラ105はシステムバス109を介したCPUコア101とフラッシュROM112とのデータ通信を制御する。   The RAM controller 104 is connected to an SDRAM (Synchronous Dynamic RAM) 111 provided outside the ASIC 100, and controls data communication between the CPU core 101 and the SDRAM 111 via the system bus 109. The SDRAM 111 functions as a main memory that temporarily holds control programs and data necessary for the operation of the electronic device, and has a data capacity of, for example, about 8 M to 32 Mbytes depending on the function to be realized. The ASIC 100 is connected to a flash ROM 112 capable of serial communication, and the serial memory controller 105 controls data communication between the CPU core 101 and the flash ROM 112 via the system bus 109.

フラッシュROM112には、当該電子機器1が所期の動作をするための制御プログラムが圧縮されて書き込まれている。また、後に詳述するが、フラッシュROM112には、電源投入時に当該電子機器1を起動させ通常動作状態に移行させるために必要なプログラムやデータも書き込まれている。   In the flash ROM 112, a control program for the electronic device 1 to perform an intended operation is compressed and written. Further, as will be described in detail later, the flash ROM 112 is also written with programs and data necessary for starting up the electronic device 1 when the power is turned on and shifting to the normal operation state.

さらに、システムバス109にはASIC100の外部に設けられたI/Oインタフェース113が接続されており、このI/Oインタフェース113には当該電子機器の諸機能を実現するための機能ブロック114が接続されている。例えば、当該電子機器がプリンタであれば、画像を印刷するためのプリンタエンジン、ユーザからの指示入力を受け付けるための操作ボタン類や画像を表示するためのディスプレイ等が、この機能ブロック114に相当する。   Further, an I / O interface 113 provided outside the ASIC 100 is connected to the system bus 109, and a functional block 114 for realizing various functions of the electronic device is connected to the I / O interface 113. ing. For example, if the electronic device is a printer, a functional unit 114 corresponds to a printer engine for printing an image, operation buttons for receiving an instruction input from a user, a display for displaying an image, and the like. .

この電子機器1では、当該機器の電源が投入されたり、必要に応じて設けられるリセットボタンが操作されたときには、CPUコア101が所定の起動処理を実行することにより、当該機器を通常動作が可能な状態に移行させる。上記したように、この電子機器1ではCPUコア101が実行すべき制御プログラムが圧縮された状態でフラッシュROM112に書き込まれており、起動処理では、フラッシュROM112から読み出した圧縮データを伸長しSDRAM111上に実行可能な制御プログラムとして復元し、これを実行開始することにより機器を通常動作状態に移行させる。以下、この電子機器1における起動処理およびそれを短時間で行えるようにするための構成上の特徴について説明する。   In the electronic device 1, when the device is turned on or a reset button provided as necessary is operated, the CPU core 101 executes a predetermined activation process so that the device can be normally operated. To a different state. As described above, in the electronic device 1, the control program to be executed by the CPU core 101 is written in the flash ROM 112 in a compressed state. In the startup process, the compressed data read from the flash ROM 112 is decompressed and stored in the SDRAM 111. The control program is restored as an executable control program, and the execution of this control program causes the device to shift to a normal operation state. Hereinafter, the start-up process in the electronic apparatus 1 and the structural features for enabling it to be performed in a short time will be described.

図2はこの実施形態におけるメモリマップを示す図である。CPUコア101は上記したSRAM102、ブートROM103、SDRAM111、フラッシュROM112などの各周辺デバイスをメモリ空間の各領域に割り当てて、各周辺デバイスの制御を行っている。周辺デバイスのうち、ブートROM103、SRAM102およびSDRAM111については、これらのメモリ上の各アドレスをメモリ空間上のアドレスと1対1で対応させている。こうすることにより、これらのメモリへの1アドレス単位でのアクセスが可能となり、当該電子機器1に種々の動作を行わせることが可能となる。   FIG. 2 is a diagram showing a memory map in this embodiment. The CPU core 101 assigns peripheral devices such as the SRAM 102, the boot ROM 103, the SDRAM 111, and the flash ROM 112 to each area of the memory space, and controls each peripheral device. Among the peripheral devices, the boot ROM 103, the SRAM 102, and the SDRAM 111 have a one-to-one correspondence between the addresses on the memory and the addresses on the memory space. By doing so, it is possible to access these memories in units of one address, and it is possible to cause the electronic device 1 to perform various operations.

また、ブートROM103はメモリ空間のうち最も若いアドレスに割り当てられている。そのため、機器の電源投入直後にはCPUコア101はブートROM103に書き込まれたプログラムを実行することになる。   The boot ROM 103 is assigned to the youngest address in the memory space. Therefore, the CPU core 101 executes the program written in the boot ROM 103 immediately after the device is turned on.

また、フラッシュROM112については、2バイトの仮想アドレスのみを割り当てている。これは、後述するように、フラッシュROM112に書き込まれたデータは起動処理時等にシーケンシャルに読み出されるものであり細かいアドレス単位でのアドレス指定を要しないためである。こうすることでメモリ空間を有効に活用することができ、またCPUコア101から見れば、フラッシュROM112のデータ容量の大小によらず同一のアクセス方法によりフラッシュROM112にアクセスすることが可能となる。   For the flash ROM 112, only a 2-byte virtual address is assigned. This is because, as will be described later, the data written in the flash ROM 112 is read out sequentially at the time of startup processing or the like and does not require addressing in fine address units. In this way, the memory space can be used effectively, and when viewed from the CPU core 101, the flash ROM 112 can be accessed by the same access method regardless of the data capacity of the flash ROM 112.

さらに、メモリ空間の一部は、図示しない割り込みコントローラ、シリアルメモリコントローラ105およびRAMコントローラ104をそれぞれ制御するレジスタに割り当てられている。   Further, a part of the memory space is allocated to registers that respectively control the interrupt controller, the serial memory controller 105, and the RAM controller 104 (not shown).

図3はブートROMに書き込まれたデータの内容を示す図である。ブートROM103には、CPUコア101に対する割り込み要求があったときにその要因に応じてプログラムの実行を移すべきアドレスを示す例外ベクタが書き込まれている。割り込みの要因としては前記したIRQ、FIQなどのハードウェア割り込みのほか、制御プログラムから要求されるソフトウェア割り込みや動作エラーに起因する割り込みなどがあり、これらの要因ごとに個別に例外ベクタが設定される。以下では、これらの例外ベクタの集合体を符号P10により表す。   FIG. 3 is a view showing the contents of data written in the boot ROM. In the boot ROM 103, when an interrupt request is made to the CPU core 101, an exception vector indicating an address to which program execution is to be transferred is written according to the cause. Interrupt factors include hardware interrupts such as IRQ and FIQ described above, as well as software interrupts requested by the control program and interrupts caused by operation errors, and an exception vector is set for each of these factors. . In the following, a set of these exception vectors is represented by a symbol P10.

なお、この実施形態では、例外ベクタにより指定されるアドレスがSRAM102に割り当てられたアドレスとなるようにする。したがって、何らかの要因によりCPUコア101に割り込み要求が発生すると、CPUコア101は実行中のプログラムを中断し、割り込み要因に応じて例外ベクタにより指定されたSRAM102上のアドレスへ実行を移すことになる。このようにする理由は後に説明する。   In this embodiment, the address specified by the exception vector is set to the address assigned to the SRAM 102. Therefore, when an interrupt request is generated in the CPU core 101 for some reason, the CPU core 101 interrupts the program being executed and transfers execution to the address on the SRAM 102 specified by the exception vector according to the interrupt factor. The reason for this will be described later.

また、ブートROM103には、機器の電源が投入された直後やリセットボタンが押された直後にCPUコア101によって最初に実行されるブートプログラムが書き込まれている。ブートプログラムは以下の各プログラム:
・シリアルメモリコントローラ105を初期化してCPUコア101とフラッシュROM112との通信を可能化するためのプログラムP11;
・フラッシュROM112上の所定アドレスを先頭アドレスとする一連のデータをフラッシュROM112から読み出してSRAM102に転送するためのプログラムP12;
・プログラムの実行をSRAM103上の所定アドレスに移すためのプログラムP13;
・フラッシュROM112上の所定アドレスを先頭アドレスとする一連のデータをフラッシュROM112から読み出してSDRAM111に転送するためのプログラムP14;および
・プログラムの実行をSDRAM111上の所定アドレスに移すためのプログラムP15、
を含んでいる。
The boot ROM 103 stores a boot program that is first executed by the CPU core 101 immediately after the device is turned on or immediately after the reset button is pressed. The boot program is as follows:
A program P11 for initializing the serial memory controller 105 and enabling communication between the CPU core 101 and the flash ROM 112;
A program P12 for reading a series of data having a predetermined address on the flash ROM 112 as a head address from the flash ROM 112 and transferring it to the SRAM 102;
A program P13 for transferring the execution of the program to a predetermined address on the SRAM 103;
A program P14 for reading a series of data starting from a predetermined address on the flash ROM 112 from the flash ROM 112 and transferring it to the SDRAM 111; and a program P15 for transferring program execution to a predetermined address on the SDRAM 111,
Is included.

図4はフラッシュROMに書き込まれたデータの内容を示す図である。フラッシュROM112には、図4に示すように割り込み呼び出しプログラムP20、メインプログラムP30およびP31が圧縮された状態で書き込まれる一方、起動プログラムP21ないしP24が非圧縮のまま書き込まれている。図4において、プログラムの符号に付した角括弧は、当該プログラムが圧縮されたデータを表す。例えば[P20]はプログラムP20を圧縮してなる圧縮データを表す。また、圧縮データとの区別のためにプログラムが非圧縮状態であることを特に示す必要がある場合には、当該プログラムを表す符号に丸括弧を付す。例えば(P21)は非圧縮のプログラムP21に対応するデータを表す。また、括弧を付さないプログラム符号も当該プログラムが非圧縮状態であることを表すものとする。以下の説明および図においても同じ表現を用いる。   FIG. 4 is a view showing the contents of data written in the flash ROM. In the flash ROM 112, as shown in FIG. 4, the interrupt calling program P20 and the main programs P30 and P31 are written in a compressed state, while the startup programs P21 to P24 are written in an uncompressed state. In FIG. 4, the square brackets attached to the code of the program represent data in which the program is compressed. For example, [P20] represents compressed data obtained by compressing the program P20. In addition, when it is necessary to specifically indicate that a program is in an uncompressed state in order to distinguish it from compressed data, parentheses are added to the code representing the program. For example, (P21) represents data corresponding to the uncompressed program P21. A program code without parentheses also represents that the program is in an uncompressed state. The same expression is used in the following description and drawings.

割り込み呼び出しプログラムP20は、割り込み要因に対応して実行すべき処理ルーチンを記憶したSDRAM111上の所定アドレスにプログラムの実行を移すための一群のジャンプ命令から成っている。   The interrupt calling program P20 is composed of a group of jump instructions for transferring the execution of the program to a predetermined address on the SDRAM 111 that stores a processing routine to be executed corresponding to the interrupt factor.

また、起動プログラムは以下の各プログラム:
・RAMコントローラ104をメインメモリに適合させるべく初期化するための初期化プログラムP21;
・プログラムの実行をブートROM103上の所定アドレスに移すためのプログラムP22;
・SDRAM111上の圧縮データを伸長しSDRAM111上に展開するためのプログラムP23;
・プログラムの実行をSDRAM111上の所定アドレスに移すためのプログラムP24、
を含んでおり、これらのプログラムが非圧縮データとしてフラッシュROM112に書き込まれている。
The startup program is as follows:
An initialization program P21 for initializing the RAM controller 104 to match the main memory;
A program P22 for transferring the execution of the program to a predetermined address on the boot ROM 103;
A program P23 for decompressing the compressed data on the SDRAM 111 and developing it on the SDRAM 111;
A program P24 for transferring program execution to a predetermined address on the SDRAM 111;
These programs are written in the flash ROM 112 as uncompressed data.

また、メインプログラムは以下の各プログラム:
・各種割り込み要因に対応して設けられ所定の割り込み処理を実行するための割り込み処理ルーチン群P30;
・当該電子機器1に所定の動作をさせるための通常動作ルーチンP31、
を含んでおり、これらのプログラムが圧縮データとしてフラッシュROM112に書き込まれている。
The main program is the following programs:
An interrupt processing routine group P30 provided corresponding to various interrupt factors for executing predetermined interrupt processing;
A normal operation routine P31 for causing the electronic device 1 to perform a predetermined operation;
These programs are written in the flash ROM 112 as compressed data.

図5はこの実施形態における起動処理の流れを示す図である。また、図6は各時刻における各RAMのデータ内容を示す図である。時刻T0において機器の電源が投入されまたはユーザによりリセットボタンが押されると、CPUコア101はメモリ空間において最も若いアドレスに書き込まれたプログラムを読み出し実行開始するように構成されている。この実施形態では、ブートROM103に書き込まれたブートプログラムが実行開始される。   FIG. 5 is a diagram showing a flow of activation processing in this embodiment. FIG. 6 shows the data contents of each RAM at each time. When the device is turned on or the reset button is pressed by the user at time T0, the CPU core 101 is configured to read out and start executing the program written at the youngest address in the memory space. In this embodiment, execution of the boot program written in the boot ROM 103 is started.

まずシリアルメモリコントローラ105を初期化するためのプログラムP11が実行され、これによりCPUコア101はシリアルメモリコントローラ105を介したフラッシュROM112からのデータ読み出しが可能な状態となる。続いてプログラムP11が実行され、これによりフラッシュROM112に書き込まれている割り込み呼び出しプログラムP20と、起動プログラムのうちプログラムP21およびP22とが読み出されてSRAM102上に転送される。この転送が実行された時刻T1においては、図6(a)に示すように、フラッシュROM112に書き込まれていたプログラムP20、P21およびP22がSRAM102に記憶されている。   First, a program P11 for initializing the serial memory controller 105 is executed, whereby the CPU core 101 is ready to read data from the flash ROM 112 via the serial memory controller 105. Subsequently, the program P11 is executed, whereby the interrupt call program P20 written in the flash ROM 112 and the programs P21 and P22 among the startup programs are read and transferred onto the SRAM 102. At time T1 when this transfer is executed, the programs P20, P21 and P22 written in the flash ROM 112 are stored in the SRAM 102 as shown in FIG.

続いてプログラムP13が実行されることにより、プログラムの実行はSRAM102上に移される。より具体的には、プログラムP13ではSRAM102上に転送されたプログラムP21の先頭アドレスが指定されており、そのためSRAM102上のプログラムP21がCPUコア101により読み出され実行される。プログラムP21が実行されることにより、RAMコントローラ104が初期化されて、これ以後はRAMコントローラ104を介したCPUコア101とSDRAM111との間のデータの受け渡しが可能な状態となる。   Subsequently, by executing the program P13, the execution of the program is moved onto the SRAM 102. More specifically, in the program P13, the head address of the program P21 transferred onto the SRAM 102 is designated, and therefore the program P21 on the SRAM 102 is read and executed by the CPU core 101. By executing the program P21, the RAM controller 104 is initialized, and thereafter, data can be transferred between the CPU core 101 and the SDRAM 111 via the RAM controller 104.

次いでSRAM102上のプログラムP22が実行されることにより、プログラムの実行はブートROM103上に移る。このとき指定されるブートROM103上のアドレスは、プログラムP14の先頭アドレスである。そのため、続いてプログラムP14が実行される。   Next, by executing the program P22 on the SRAM 102, the execution of the program is transferred to the boot ROM 103. The address on the boot ROM 103 designated at this time is the head address of the program P14. Therefore, the program P14 is subsequently executed.

プログラムP14では、フラッシュROM112上の所定アドレスから始まる一連のデータが読み出されてSDRAM111に転送される。ここでは、プログラムP23の先頭に対応するフラッシュROM112上のアドレスを開始アドレスとすることにより、非圧縮のプログラム(P23)、(P24)および圧縮されたプログラム[P30]、[P31]がフラッシュROM112からSDRAM111へ転送される。この時点T2ではプログラム[P30]および[P31]は圧縮されたデータのままである。すなわち、図6(b)に示すように、時刻T2においては、SDRAM111上には非圧縮のプログラム(P23)、(P24)と、圧縮されたプログラム[P30]、[P31]とが保存されている。一方、SRAM102の内容は時刻T1から変化していない。   In the program P 14, a series of data starting from a predetermined address on the flash ROM 112 is read and transferred to the SDRAM 111. Here, by setting the address on the flash ROM 112 corresponding to the head of the program P23 as the start address, the uncompressed programs (P23) and (P24) and the compressed programs [P30] and [P31] are read from the flash ROM 112. Transferred to the SDRAM 111. At this time T2, the programs [P30] and [P31] remain compressed data. That is, as shown in FIG. 6B, at time T2, uncompressed programs (P23) and (P24) and compressed programs [P30] and [P31] are stored on the SDRAM 111. Yes. On the other hand, the contents of the SRAM 102 have not changed since time T1.

続いてブートROM103上のプログラムP15が実行されて、プログラムの実行はSDRAM111上の所定アドレス、具体的にはプログラムP23の先頭アドレスに移る。プログラムP23は非圧縮状態でSDRAM111上に書き込まれており、その内容は、SDRAM111に転送された圧縮状態のプログラム[P30]および[P31]を伸長しSDRAM111に保存するというものである。したがって、プログラムP23を実行後の時刻T3においては、図6(c)に示すように、復元されたプログラム(P30)、(P31)がSDRAM111に保存されていることになる。また、SRAM102は依然としてプログラムP20、P21およびP22が保存された状態となっている。   Subsequently, the program P15 on the boot ROM 103 is executed, and the execution of the program moves to a predetermined address on the SDRAM 111, specifically, to the top address of the program P23. The program P23 is written on the SDRAM 111 in an uncompressed state, and its contents are such that the compressed programs [P30] and [P31] transferred to the SDRAM 111 are decompressed and stored in the SDRAM 111. Therefore, at time T3 after executing the program P23, the restored programs (P30) and (P31) are stored in the SDRAM 111 as shown in FIG. The SRAM 102 is still in a state where the programs P20, P21 and P22 are stored.

なお、図6(c)では、伸長前の圧縮データ[P30]、[P31]がSDRAM111上に残存しているが、これらは復元されたプログラム(P30)、(P31)によって上書きされてもよく、また伸長後にSDRAM111上から削除されるようにしてもよい。また、復元されたプログラム(P30)、(P31)をSDRAM111のメモリ空間のどこに割り当てるかについても任意である。   In FIG. 6C, the compressed data [P30] and [P31] before decompression remain on the SDRAM 111, but these may be overwritten by the restored programs (P30) and (P31). Alternatively, it may be deleted from the SDRAM 111 after decompression. Also, it is arbitrary where the restored programs (P30) and (P31) are allocated in the memory space of the SDRAM 111.

こうしてSDRAM111上にメインプログラムP30、P31が展開されると、最後にプログラムP24が実行されてSDRAM111上の所定アドレス、具体的には通常動作ルーチンを記述したプログラムP31の先頭アドレスに実行が移されて当該電子機器1は通常動作状態に移行し、起動処理は完了する。   When the main programs P30 and P31 are thus expanded on the SDRAM 111, the program P24 is finally executed, and execution is transferred to a predetermined address on the SDRAM 111, specifically, to the top address of the program P31 describing the normal operation routine. The electronic device 1 shifts to the normal operation state, and the activation process is completed.

上記のように構成された本実施形態の電子機器では、以下のような作用効果を奏することができる。第1に、RAMコントローラの初期化が必要なメインメモリとは別に、CPUコア101から直接かつ高速のアクセスが可能で初期化の必要がないSRAM102を設け、起動時にはRAMコントローラ104を初期化するためのプログラムP21をSRAM102上で実行するようにしているので、メインメモリであるSDRAM111を短時間で使用可能な状態に移行させることができ、起動処理に要する時間を短縮することができる。   The electronic device of the present embodiment configured as described above can achieve the following operational effects. First, in addition to the main memory that requires initialization of the RAM controller, an SRAM 102 that can be accessed directly from the CPU core 101 at a high speed and does not need to be initialized is provided, and the RAM controller 104 is initialized at startup. Since the program P21 is executed on the SRAM 102, the SDRAM 111 as the main memory can be shifted to a usable state in a short time, and the time required for the startup process can be shortened.

SRAM102としては特に大容量を必要とせず、少なくともRAMコントローラ104を初期化するためのプログラムP21を記憶することのできる容量があれば足りるので、装置のコスト上昇を抑えることができる。本実施形態の構成では、SRAM102のデータ容量としては1kバイト程度あれば足りる。   The SRAM 102 does not require a particularly large capacity, and at least a capacity capable of storing the program P21 for initializing the RAM controller 104 is sufficient. Therefore, an increase in the cost of the apparatus can be suppressed. In the configuration of this embodiment, the data capacity of the SRAM 102 is about 1 kbyte.

また、RAMコントローラ104を初期化するためのプログラムP21をCPUコア101と同一パッケージのブートROM103ではなく外付けのフラッシュROM112に書き込んでおき、起動時にこれをSRAM102に転送し実行するようにしているので、外付けメインメモリの種類や容量の変更に対しても、フラッシュROM112内のプログラムP21を変更するのみで対応することができる。このため、メインメモリとして使用するデバイスの選択自由度が高くなり、システムの汎用性が高くなる。   In addition, since the program P21 for initializing the RAM controller 104 is written not in the boot ROM 103 of the same package as the CPU core 101 but in the external flash ROM 112, this is transferred to the SRAM 102 and executed at startup. The change of the type and capacity of the external main memory can be dealt with only by changing the program P21 in the flash ROM 112. For this reason, the degree of freedom in selecting a device used as the main memory is increased, and the versatility of the system is increased.

また、メインプログラムをフラッシュROM112に書き込んでいるので、必要に応じて事後的にメインプログラムを書き換えることが可能であり、機器の既存の機能のバージョンアップや新たな機能の追加などを行うことができる。   Further, since the main program is written in the flash ROM 112, it is possible to rewrite the main program later as necessary, and it is possible to upgrade the existing function of the device or add a new function. .

また、フラッシュROM112にメインプログラムを圧縮データとして書き込むことによりROMのデータ容量を小さく抑える。さらに、該圧縮データを伸長しメインプログラムを伸長するための伸長プログラムP23についても同じフラッシュROM112に書き込んでおき、起動時に該伸長プログラムP23を実行してメインプログラムを復元するようにしているので、フラッシュROM112に書き込まれるプログラムの圧縮方法として任意のものを適用することが可能である。   In addition, by writing the main program as compressed data in the flash ROM 112, the data capacity of the ROM is kept small. Further, the decompression program P23 for decompressing the compressed data and decompressing the main program is written in the same flash ROM 112, and the decompression program P23 is executed at the time of activation so that the main program is restored. Any compression method for the program written in the ROM 112 can be applied.

また、SRAM102については、周辺デバイスや制御プログラムによっても何ら変更の必要がないので、CPUコア101と同一パッケージに組み込むことが可能である。システムバス109を介して直接接続されるCPUコア101とSRAM102との間は多数の信号線によって結ばれることになるが、これらを別パッケージとすればパッケージのピン数が多くなってしまう。そこで、これらを例えばASICとして同一パッケージに収めればパッケージのピン数を大幅に削減することができ、機器の小型化および低コスト化を図ることが可能となる。また同一パッケージ内でCPUコア101とSRAM102とを短い信号線で接続することにより、高速で安定した通信を行うことが可能となる。   Further, since the SRAM 102 does not need to be changed depending on peripheral devices or control programs, it can be incorporated in the same package as the CPU core 101. The CPU core 101 and the SRAM 102 that are directly connected via the system bus 109 are connected by a large number of signal lines. However, if these are provided in separate packages, the number of pins of the package increases. Therefore, if these are housed in the same package as, for example, an ASIC, the number of pins of the package can be greatly reduced, and the device can be reduced in size and cost. In addition, by connecting the CPU core 101 and the SRAM 102 with a short signal line in the same package, high-speed and stable communication can be performed.

また、この実施形態では、機器を動作させるためのプログラムをブートROM103とフラッシュROM112とに分けて記憶させている。すなわち、ブートROM103には周辺デバイスの種類や当該電子機器の機能に応じて変更する必要のない最小限のブートプログラムを書き込む一方、変更の可能性があるデータは全てフラッシュROM112に書き込んでいる。こうすることで、周辺デバイスや機能に関わらずCPUコア101とブートROM103との組み合わせを固定化することができ、これらを同一パッケージに組み込むことが可能となる。また、こうして組み合わされたCPUコアとブートROMについては、様々な周辺デバイスおよび制御プログラムと組み合わせて種々の機能を実現するのに用いることができる。例えば、同一のASICを、周辺デバイスや制御プログラムの内容を変更するのみで全く別の機能を有する複数種の電子機器の間で共通使用することが可能となる。そのため、装置コストのさらなる低減を図ることができる。   In this embodiment, a program for operating the device is stored in the boot ROM 103 and the flash ROM 112 separately. That is, a minimum boot program that does not need to be changed according to the type of peripheral device and the function of the electronic device is written in the boot ROM 103, while all data that may be changed is written in the flash ROM 112. By doing so, the combination of the CPU core 101 and the boot ROM 103 can be fixed regardless of peripheral devices and functions, and these can be incorporated into the same package. Further, the CPU core and the boot ROM combined in this way can be used to realize various functions in combination with various peripheral devices and control programs. For example, the same ASIC can be used in common among a plurality of types of electronic devices having completely different functions by simply changing the contents of peripheral devices and control programs. Therefore, the device cost can be further reduced.

また、RAMコントローラ104についても、外部のフラッシュROM112に書き込まれた初期化用プログラムP21によって任意に初期化することができるため、CPUコア101と同一パッケージに収容することが可能である。この実施形態では、CPUコア101、SRAM102、ブートROM103、RAMコントローラ104およびシリアルメモリコントローラ105をASIC100として1パッケージ化することにより、装置の小型化および低コスト化を図っている。また、このように1パッケージ化されたASIC100は、周辺デバイスや制御プログラムの変更に伴う変更が不要であり、種々の電子機器に組み込み可能な極めて汎用性の高い制御システムを構成している。   Further, the RAM controller 104 can be arbitrarily initialized by the initialization program P21 written in the external flash ROM 112, and therefore can be accommodated in the same package as the CPU core 101. In this embodiment, the CPU core 101, the SRAM 102, the boot ROM 103, the RAM controller 104, and the serial memory controller 105 are packaged as an ASIC 100 to reduce the size and cost of the device. In addition, the ASIC 100 packaged in one package does not need to be changed in accordance with changes in peripheral devices and control programs, and constitutes a highly versatile control system that can be incorporated into various electronic devices.

一方、機器の機能に応じて種類や容量が変更される可能性のあるメインメモリや、様々な制御プログラムを書き込まれる可能性のあるフラッシュROMについては、CPUコア101とは別パッケージとすることにより、CPUコア101と周辺デバイスとの組み合わせを容易に変更できるようにしている。   On the other hand, the main memory whose type and capacity may be changed according to the function of the device and the flash ROM that may be written with various control programs are packaged separately from the CPU core 101. The combination of the CPU core 101 and peripheral devices can be easily changed.

このように、この実施形態の制御系は、種々の周辺デバイスや制御プログラムと組み合わせることで様々な機能を実現することのできる極めて汎用性の高いものである。   As described above, the control system of this embodiment is extremely versatile because various functions can be realized by combining with various peripheral devices and control programs.

なお、この実施形態で用いられるSRAM102の機能を、CPUコアに付随的に設けられるキャッシュメモリで代用するという考え方もできる。しかしながら、キャッシュメモリは初期状態では物理アドレスが割り当てられておらず、CPUコア101により何らかのプログラムが実行され該プログラム内でアドレスが割り当てられることによって初めてメモリ空間内にマッピングされるものである。したがって、この実施形態におけるSRAM102の機能をキャッシュメモリで代用するためには、ブートROM上のプログラムでキャッシュメモリをマッピングするようにしなければならない。そして、ブートROMの内容自体は固定的であるため、マッピングも常に一定となり、結局このような方法は汎用性に欠けるものとなる。   Note that it is also possible to replace the function of the SRAM 102 used in this embodiment with a cache memory provided incidentally to the CPU core. However, in the initial state, a physical address is not assigned to the cache memory, and the cache memory is mapped in the memory space only when a certain program is executed by the CPU core 101 and an address is assigned in the program. Therefore, in order to substitute the function of the SRAM 102 in this embodiment with the cache memory, the cache memory must be mapped by the program on the boot ROM. Since the contents of the boot ROM itself are fixed, the mapping is always constant, and eventually such a method lacks versatility.

次に、この実施形態における割り込み処理について説明する。例えばユーザの操作入力や電源電圧の変動など、何らかの割り込み要因に起因して割り込み要求信号が与えられると、CPUコア101は実行中の動作を一時的に中断して割り込み処理を実行する。具体的には、プログラムの実行が、割り込み要因に対応して定められたアドレスに強制的に移される。ジャンプ先のアドレスは例外ベクタとして予め決められているため、ジャンプ先のアドレスに割り込み処理ルーチンを直接記述した場合、処理の内容が固定的となってしまい汎用性に欠ける。そこで、この実施形態では、例外ベクタとしては書き換え可能なSRAM102上のアドレスを予め指定しておき、指定されたSRAM102上のアドレスにはSDRAM111上の割り込み処理ルーチンへジャンプする命令を書き込んでおく。こうすることにより、SDRAM111上の任意の位置に任意の長さで記述された割り込み処理ルーチンを実行させることが可能となる。以下、図7および図8を参照して動作をより詳しく説明する。   Next, interrupt processing in this embodiment will be described. For example, when an interrupt request signal is given due to some interrupt factor such as a user operation input or a fluctuation in power supply voltage, the CPU core 101 temporarily interrupts the operation being executed and executes interrupt processing. Specifically, program execution is forcibly transferred to an address determined in accordance with an interrupt factor. Since the jump destination address is determined in advance as an exception vector, when the interrupt processing routine is directly described at the jump destination address, the content of the processing becomes fixed and lacks versatility. Therefore, in this embodiment, an rewritable address on the SRAM 102 is designated in advance as the exception vector, and an instruction to jump to the interrupt processing routine on the SDRAM 111 is written in the designated address on the SRAM 102. This makes it possible to execute an interrupt processing routine described in an arbitrary length at an arbitrary position on the SDRAM 111. Hereinafter, the operation will be described in more detail with reference to FIGS.

図7は割り込み発生時の処理の流れを示す図である。また、図8は割り込み受け付け後のプログラムの読み出し元の遷移を示す概念図である。図7に示すように、SDRAM111上の通常動作ルーチンP31の実行中の時刻T4に割り込み要求が発生した場合を考える。割り込み要求を受け付けると、CPUコア101は、割り込み要因に応じた例外ベクタを参照する。   FIG. 7 is a diagram showing the flow of processing when an interrupt occurs. FIG. 8 is a conceptual diagram showing a transition of a program reading source after accepting an interrupt. Consider a case where an interrupt request is generated at time T4 during execution of the normal operation routine P31 on the SDRAM 111 as shown in FIG. When receiving the interrupt request, the CPU core 101 refers to the exception vector corresponding to the interrupt factor.

この実施形態ではブートROM103上に例外ベクタP10が割り当てられている。したがって、時刻T4において割り込み要求が発生すると、プログラムの実行はブートROM103上の例外ベクタP10のうち当該割り込み要因に対応する1つを参照し、それにより指定されたアドレスに実行を移す。   In this embodiment, an exception vector P10 is allocated on the boot ROM 103. Therefore, when an interrupt request is generated at time T4, the program execution refers to one of the exception vectors P10 on the boot ROM 103 corresponding to the interrupt factor, and the execution is transferred to the designated address.

例外ベクタP10においては、図8に示すように、例えば割り込み要因X1、X2、X3に対してはそれぞれSRAM102上のアドレスA11、A12、A13が関連付けられている。これらのアドレスはいずれも、SRAM102上のプログラムP20が記憶された領域内に含まれる。その他の割り込み要因に対しても、それぞれSRAM102上のプログラムP20内のアドレスが指定されている。そのため、プログラムの実行はブートROM103上の例外ベクタP10を介してSRAM102上のプログラムP20に移される。   In the exception vector P10, as shown in FIG. 8, for example, addresses A11, A12, and A13 on the SRAM 102 are associated with the interrupt factors X1, X2, and X3, respectively. All of these addresses are included in an area in the SRAM 102 where the program P20 is stored. Addresses in the program P20 on the SRAM 102 are designated for other interrupt factors. Therefore, the execution of the program is transferred to the program P20 on the SRAM 102 via the exception vector P10 on the boot ROM 103.

プログラムP20には、割り込み要因に対応する割り込み処理ルーチンが保存されているSDRAM111上の所定アドレスに実行を移すためのジャンプ命令が、各割り込み要因のそれぞれに対応して記述されている。このため、最終的には当該割り込み要因に対応して記述されたSDRAM112上の割り込み処理ルーチンが実行されることになる。   In the program P20, a jump instruction for transferring execution to a predetermined address on the SDRAM 111 in which an interrupt processing routine corresponding to the interrupt factor is stored is described corresponding to each interrupt factor. Therefore, the interrupt processing routine on the SDRAM 112 described corresponding to the interrupt factor is finally executed.

例えば、割り込み要因X1に起因する割り込み要求が発生したとき、CPUコア101は、ブートROM103上の例外ベクタP10を参照してSRAM102上のアドレスA11にプログラムの実行を移す。当該アドレスA11にはSDRAM111上の割り込み処理ルーチンP30のうち当該割り込み要因X1に対応するものが記憶されたアドレスA21へのジャンプ命令が記述されているので、CPUコア101はSDRAM111上のアドレスA21から始まる、割り込み要因X1に対応する割り込み処理ルーチンを実行することになる。   For example, when an interrupt request due to the interrupt factor X 1 occurs, the CPU core 101 refers to the exception vector P 10 on the boot ROM 103 and transfers the program execution to the address A 11 on the SRAM 102. Since the address A11 describes a jump instruction to the address A21 where the interrupt processing routine P30 on the SDRAM 111 corresponding to the interrupt factor X1 is stored, the CPU core 101 starts from the address A21 on the SDRAM 111. The interrupt processing routine corresponding to the interrupt factor X1 is executed.

同様に、割り込み要因X2に起因する割り込み要求が発生したとき、ブートROM103上の例外ベクタからSRAM102上のアドレスA12を介して、SDRAM111上のアドレスA22から始まる要因X2に対応する割り込み処理ルーチンが実行される。また、割り込み要因X3に起因する割り込み要求が発生したときには、ブートROM103上の例外ベクタにより指定されるSRAM102上のアドレスA13を介して、SDRAM111上のアドレスA23から始まる要因X3に対応する割り込み処理ルーチンが実行される。他の割り込み要因についても同様である。   Similarly, when an interrupt request due to the interrupt factor X2 is generated, an interrupt processing routine corresponding to the factor X2 starting from the address A22 on the SDRAM 111 is executed from the exception vector on the boot ROM 103 via the address A12 on the SRAM 102. The When an interrupt request due to the interrupt factor X3 occurs, an interrupt processing routine corresponding to the factor X3 starting from the address A23 on the SDRAM 111 is sent via the address A13 on the SRAM 102 specified by the exception vector on the boot ROM 103. Executed. The same applies to other interrupt factors.

このように、この実施形態では、ブートROM103上の例外ベクタP10においてSRAM102上のアドレスを指定する一方、指定されたSRAM102上のアドレスにはSDRAM111上の割り込み処理ルーチンにジャンプする旨の命令を保存している。これにより、割り込み要求が発生した場合のプログラムの実行はブートROM103、SRAM102、メインメモリSDRAM111の順に遷移することとなる。このようにすることで、次のような作用効果が得られる。   As described above, in this embodiment, an address on the SRAM 102 is designated in the exception vector P10 on the boot ROM 103, while an instruction for jumping to the interrupt processing routine on the SDRAM 111 is stored at the designated address on the SRAM 102. ing. As a result, the execution of the program when an interrupt request is generated transitions in the order of the boot ROM 103, the SRAM 102, and the main memory SDRAM 111. By doing in this way, the following effects are obtained.

まず、各割り込み要因に対応させて、任意の長さの割り込み処理ルーチンを記述することができる。ブートROM上の例外ベクタから直接SDRAM上の割り込み処理ルーチンにジャンプするようにしようとすると、SDRAM上の割り込み処理ルーチンの開始アドレスをブートROMに書き込んでおく必要がある。このようにすると、割り込み処理ルーチンの内容に応じてブートROMの内容を書き換える必要が生じたり、あるいは長大な割り込み処理ルーチンに対応するためにSDRAM上の記憶領域を予め割り込み処理ルーチン用として確保する必要があるなど、ハードウェア資源の効率的な使用という面からは好ましいものではない。   First, an interrupt processing routine having an arbitrary length can be described corresponding to each interrupt factor. In order to jump directly from the exception vector on the boot ROM to the interrupt processing routine on the SDRAM, it is necessary to write the start address of the interrupt processing routine on the SDRAM in the boot ROM. In this case, it is necessary to rewrite the contents of the boot ROM in accordance with the contents of the interrupt processing routine, or it is necessary to reserve a storage area on the SDRAM in advance for the interrupt processing routine in order to cope with a long interrupt processing routine. For example, it is not preferable in terms of efficient use of hardware resources.

これに対して、本実施形態では、SRAM102上のアドレスを介してSDRAM111上の割り込み処理ルーチンにジャンプするので、上記のような問題は生じない。すなわち、SDRAM111上の割り込み処理ルーチンのアドレスはSRAM102上の所定アドレスに記憶されたデータにより特定されるので、ブートROM103上の例外ベクタとしては割り込み処理ルーチンの内容に関係なくSRAM102上の特定アドレスを固定的に指定しておけばよい。これによりブートROM103の内容を割り込み処理ルーチンの内容に合わせて変更する必要がなくなる。また、SRAM102上のデータにより特定される割り込み処理ルーチンの開始アドレスは外部から(より具体的にはフラッシュROM112に書き込まれたプログラムP20に基づいて)自由に設定可能である。このため、SDRAM111上では各割り込み処理ルーチンを任意のアドレスから任意の長さで記述することが可能となり、SDRAM111のメモリ資源を無駄にすることがない。   On the other hand, in the present embodiment, since the jump to the interrupt processing routine on the SDRAM 111 is performed via the address on the SRAM 102, the above problem does not occur. That is, since the address of the interrupt processing routine on the SDRAM 111 is specified by data stored at a predetermined address on the SRAM 102, the specific address on the SRAM 102 is fixed as an exception vector on the boot ROM 103 regardless of the contents of the interrupt processing routine. You just have to specify it. This eliminates the need to change the contents of the boot ROM 103 in accordance with the contents of the interrupt processing routine. The start address of the interrupt processing routine specified by the data on the SRAM 102 can be freely set from the outside (more specifically, based on the program P20 written in the flash ROM 112). For this reason, each interrupt processing routine can be described in an arbitrary length from an arbitrary address on the SDRAM 111, and the memory resources of the SDRAM 111 are not wasted.

また、割り込み処理ルーチンへジャンプするための命令が高速アクセス可能なSRAM102上に保存されているので、SDRAM111上の割り込み処理ルーチンに素早く移行することができる。また、起動時に一時的に使用されるSRAM102を通常動作時にも有効に活用することができる。   In addition, since the instruction for jumping to the interrupt processing routine is stored in the SRAM 102 which can be accessed at high speed, it is possible to quickly shift to the interrupt processing routine on the SDRAM 111. In addition, the SRAM 102 that is temporarily used at the time of startup can be effectively used even during normal operation.

以上説明したように、この実施形態では、CPUコア101が本発明の「プロセッサ」として機能している。また、SRAM102およびSDRAM111がそれぞれ本発明の「第1RAM」および「第2RAM」として機能している。また、ブートROM103およびフラッシュROM112がそれぞれ本発明の「起動用ROM」および「記憶媒体」として機能しており、これらが一体的に本発明の「データ保持手段」として機能している。   As described above, in this embodiment, the CPU core 101 functions as the “processor” of the present invention. Further, the SRAM 102 and the SDRAM 111 function as “first RAM” and “second RAM” of the present invention, respectively. In addition, the boot ROM 103 and the flash ROM 112 function as the “starting ROM” and “storage medium” of the present invention, respectively, and these function integrally as “data holding means” of the present invention.

また、この実施形態では、RAMコントローラを初期化するためのプログラムP21が本発明の「RAMコントローラ設定用データ」および「初期化プログラム」に相当している。また、メインプログラムP30、P31が本発明の「制御プログラム」に相当しており、特にプログラムP30が本発明の「割り込み処理プログラム」に相当する。また、これらを圧縮したデータ[P30]、[P31]が本発明の「圧縮データ」に相当し、これを伸長するためのプログラムP23が本発明の「伸長プログラム」に相当する。また、割り込み呼び出しプログラムP20に含まれている、SDRAM上での割り込み処理ルーチンの開始アドレスを示す情報が、本発明の「位置情報」に相当している。   In this embodiment, the program P21 for initializing the RAM controller corresponds to “RAM controller setting data” and “initialization program” of the present invention. The main programs P30 and P31 correspond to the “control program” of the present invention, and the program P30 particularly corresponds to the “interrupt processing program” of the present invention. Further, the data [P30] and [P31] obtained by compressing these correspond to the “compressed data” of the present invention, and the program P23 for decompressing the data corresponds to the “expanded program” of the present invention. Further, the information included in the interrupt call program P20 and indicating the start address of the interrupt processing routine on the SDRAM corresponds to the “position information” of the present invention.

なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、メインプログラムP30、P31を圧縮データとしてフラッシュROM112に書き込んでいるが、非圧縮状態で制御プログラムをROMに書き込んでいる電子機器においても本発明は有効である。また、逆に本実施形態において非圧縮状態としているプログラムのいずれかを圧縮してROMに書き込むようにしてもよい。ただし、RAMコントローラ104を初期化するためのプログラムP23については、非圧縮とすることが好ましい。というのは、このようなプログラムは簡単で短いため圧縮の効果があまり得られず、また伸長せずに実行可能な状態で書き込んでおくことで、SRAMへの転送後直ちに実行開始して短時間でRAMコントローラ104の初期化を行うことが可能となるからである。   The present invention is not limited to the above-described embodiment, and various modifications other than those described above can be made without departing from the spirit of the present invention. For example, in the above embodiment, the main programs P30 and P31 are written in the flash ROM 112 as compressed data. However, the present invention is also effective in an electronic device in which a control program is written in the ROM in an uncompressed state. Conversely, any program that is in an uncompressed state in this embodiment may be compressed and written to the ROM. However, the program P23 for initializing the RAM controller 104 is preferably uncompressed. This is because such a program is simple and short so that the compression effect is not very much obtained, and it is written in an executable state without being decompressed. This is because the RAM controller 104 can be initialized.

また、上記実施形態では、メインメモリとしてSDRAMを、プログラムを記憶するデータ保持手段としてフラッシュROMを用いているがこれに限定されない。例えば、メインメモリとしてはDRAMや強誘電体メモリ等を用いることができる。また、データ保持手段としては、例えばハードディスクや光学ディスクであってもよい。またメモリカードのように機器本体から着脱可能な記憶媒体であってもよい。また、プログラムの書き換えが不要な機器であればマスクROMを用いてもよい。   In the above embodiment, the SDRAM is used as the main memory and the flash ROM is used as the data holding means for storing the program. However, the present invention is not limited to this. For example, a DRAM or a ferroelectric memory can be used as the main memory. The data holding means may be a hard disk or an optical disk, for example. Further, it may be a storage medium that is detachable from the apparatus main body, such as a memory card. A mask ROM may be used if the device does not require rewriting of the program.

また、上記実施形態では、フラッシュROM112上の割り込み呼び出しプログラムP20と起動プログラムP21およびP22とを一度にSRAM102に転送しているが、起動時には割り込み呼び出しプログラムP20が不要である一方、通常動作時には起動プログラムが不要であるので、これらを別のタイミングでSRAM102に転送するようにしてもよい。例えば、起動時には起動プログラムのみをSRAM102に転送して実行し、割り込み呼び出しプログラムP20については後でSRAM102に転送するようにしてもよい。この場合、起動後はSRAM102上の起動プログラムは不要であるので、割り込み呼び出しプログラムP20によって上書きしてもよい。   In the above embodiment, the interrupt call program P20 and the startup programs P21 and P22 on the flash ROM 112 are transferred to the SRAM 102 at the same time. However, the interrupt call program P20 is not required at the time of startup, while the startup program at the normal operation time. Therefore, these may be transferred to the SRAM 102 at another timing. For example, at startup, only the startup program may be transferred to the SRAM 102 and executed, and the interrupt calling program P20 may be transferred to the SRAM 102 later. In this case, the activation program on the SRAM 102 is unnecessary after activation, and may be overwritten by the interrupt call program P20.

また、上記実施形態では、圧縮データを伸長するためのプログラムP23をSDRAM111上で実行するようにしているが、該プログラムをフラッシュROMからSRAMに転送しSRAM上で実行するようにしてもよい。伸長プログラムをSRAM上で実行すると伸長処理を高速で行うことができるが、伸長プログラムのサイズが大きくなる可能性がある場合にはSDRAM上で実行することが望ましい。また、プログラムの圧縮方法が固定されていても構わなければ、ブートROM内に予め伸長プログラムを書き込んでおくようにしてもよい。   In the above embodiment, the program P23 for decompressing the compressed data is executed on the SDRAM 111. However, the program may be transferred from the flash ROM to the SRAM and executed on the SRAM. When the decompression program is executed on the SRAM, the decompression process can be performed at high speed. However, when there is a possibility that the size of the decompression program becomes large, it is desirable to execute it on the SDRAM. If the program compression method may be fixed, the decompression program may be written in advance in the boot ROM.

また、上記実施形態では、フラッシュROM112に書き込まれた初期化プログラムP21をSRAM102上で実行することによりRAMコントローラ104の初期化を行っているが、これに代えて、例えば初期化プログラム自体はブートROM103に予め書き込んでおくとともに初期化処理に必要な制御パラメータをフラッシュROM103に書き込んでおき、起動時にはブートROM103上で実行される初期化プログラムと、フラッシュROM112からSRAM102に転送された制御パラメータとによりRAMコントローラ104の初期化を行うようにしてもよい。   In the above embodiment, the RAM controller 104 is initialized by executing the initialization program P21 written in the flash ROM 112 on the SRAM 102. Instead, for example, the initialization program itself is the boot ROM 103. Are written in advance and control parameters necessary for the initialization process are written in the flash ROM 103, and the RAM controller is executed by the initialization program executed on the boot ROM 103 at the time of startup and the control parameters transferred from the flash ROM 112 to the SRAM 102. 104 may be initialized.

さらに、本発明は、上記したプリンタに限らず、例えばゲーム機器やオーディオ・ビデオ機器など、プロセッサにより所定の制御プログラムを実行することで所期の機能を実現するように構成された電子機器全般に適用することが可能である。   Further, the present invention is not limited to the above-described printer, but is applied to all electronic devices configured to realize a desired function by executing a predetermined control program by a processor, such as a game device or an audio / video device. It is possible to apply.

本発明にかかる電子機器の一実施形態を示すブロック図。1 is a block diagram showing an embodiment of an electronic device according to the present invention. この実施形態におけるメモリマップを示す図。The figure which shows the memory map in this embodiment. ブートROMに書き込まれたデータの内容を示す図。The figure which shows the content of the data written in boot ROM. フラッシュROMに書き込まれたデータの内容を示す図。The figure which shows the content of the data written in flash ROM. この実施形態における起動処理の流れを示す図。The figure which shows the flow of the starting process in this embodiment. 各時刻における各RAMのデータ内容を示す図。The figure which shows the data content of each RAM in each time. 割り込み発生時の処理の流れを示す図。The figure which shows the flow of a process at the time of interruption generation | occurrence | production. 割り込み受け付け後のプログラムの読み出し元の遷移を示す概念図。The conceptual diagram which shows the transition of the reading origin of the program after interrupt reception.

符号の説明Explanation of symbols

100…ASIC、 101…CPUコア(プロセッサ)、 102…SRAM(第1RAM)、 103…ブートROM(起動用ROM、データ保持手段)、 104…RAMコントローラ、 109…システムバス、 111…SDRAM(第2RAM)、 112…フラッシュROM(記憶媒体、データ保持手段)、 P21…初期化プログラム(RAMコントローラ設定用データ、初期化プログラム)、 P23…伸長プログラム、 P31…メインプログラム(制御プログラム)、 P30…割り込み処理プログラム、 [P30],[P31]…圧縮データ   DESCRIPTION OF SYMBOLS 100 ... ASIC, 101 ... CPU core (processor), 102 ... SRAM (first RAM), 103 ... Boot ROM (ROM for starting, data holding means), 104 ... RAM controller, 109 ... System bus, 111 ... SDRAM (second RAM) 112 ... Flash ROM (storage medium, data holding means), P21 ... Initialization program (RAM controller setting data, initialization program), P23 ... Expansion program, P31 ... Main program (control program), P30 ... Interrupt processing Program, [P30], [P31] ... compressed data

Claims (11)

電子機器を動作させるための制御プログラムを実行するプロセッサと、
前記プロセッサのシステムバスに直接接続された第1RAMと、
RAMコントローラを介して前記システムバスに接続された第2RAMと、
前記システムバスに接続されて、前記制御プログラムと、前記RAMコントローラを前記第2RAMに対応させて初期化するためのRAMコントローラ設定用データとを書き込まれたデータ保持手段と
を備え、
前記プロセッサは、前記データ保持手段から前記RAMコントローラ設定用データを前記第1RAMに転送し該データに基づき前記RAMコントローラを初期化した後に、前記データ保持手段から前記制御プログラムを読み出して前記第2のRAMに転送し、該第2RAM上の前記制御プログラムを実行開始する起動処理を実行する
ことを特徴とする電子機器。
A processor that executes a control program for operating the electronic device;
A first RAM directly connected to the system bus of the processor;
A second RAM connected to the system bus via a RAM controller;
A data holding unit connected to the system bus and having written therein the control program and RAM controller setting data for initializing the RAM controller in association with the second RAM;
The processor transfers the RAM controller setting data from the data holding unit to the first RAM, initializes the RAM controller based on the data, and then reads the control program from the data holding unit to read the second An electronic apparatus that transfers to a RAM and executes an activation process for starting execution of the control program on the second RAM.
前記データ保持手段には、前記RAMコントローラを初期化するための初期化プログラムが前記RAMコントローラ設定用データとして書き込まれており、前記プロセッサは、前記第1RAMに転送した前記初期化プログラムを実行することで前記RAMコントローラを初期化する請求項1に記載の電子機器。   In the data holding means, an initialization program for initializing the RAM controller is written as the RAM controller setting data, and the processor executes the initialization program transferred to the first RAM. The electronic device according to claim 1, wherein the RAM controller is initialized. 前記データ保持手段には、前記制御プログラムを圧縮してなる圧縮データと、当該圧縮データを伸長して制御プログラムを復元するための伸長プログラムとが書き込まれており、前記プロセッサは、前記伸長プログラムを実行することによって、前記第2RAM上に前記制御プログラムを復元する請求項1または2に記載の電子機器。   In the data holding means, compressed data obtained by compressing the control program and an decompression program for decompressing the compressed data and restoring the control program are written, and the processor stores the decompressed program. The electronic device according to claim 1, wherein the control program is restored on the second RAM by execution. 前記プロセッサは、前記データ保持手段から読み出した前記伸長プログラムを前記第1RAMに転送し該第1RAM上で実行する請求項3に記載の電子機器。   The electronic device according to claim 3, wherein the processor transfers the decompressed program read from the data holding unit to the first RAM and executes the decompressed program on the first RAM. 前記プロセッサは、前記データ保持手段から読み出した前記伸長プログラムを前記第2RAMに転送し該第2RAM上で実行する請求項3に記載の電子機器。   The electronic device according to claim 3, wherein the processor transfers the decompressed program read from the data holding unit to the second RAM and executes the decompressed program on the second RAM. 前記制御プログラムには、割り込み要求に対応して実行される割り込み処理プログラムが含まれる一方、前記データ保持手段には、前記第2RAM上における前記割り込み処理プログラムの格納位置を示す位置情報が書き込まれており、
前記プロセッサは、前記データ保持手段から前記位置情報を読み出して前記第1RAMに記憶させておき、前記割り込み要求を受け付けると前記第1RAMに記憶された前記位置情報により特定される前記第2RAM上の前記割り込み処理プログラムを実行する請求項1ないし5のいずれかに記載の電子機器。
The control program includes an interrupt processing program that is executed in response to an interrupt request. On the other hand, location information indicating the storage location of the interrupt processing program in the second RAM is written in the data holding means. And
The processor reads out the position information from the data holding means and stores it in the first RAM, and when receiving the interrupt request, the processor specifies the second RAM on the second RAM specified by the position information stored in the first RAM. 6. The electronic device according to claim 1, wherein the electronic device executes an interrupt processing program.
前記プロセッサおよび前記第1RAMが単一パッケージに実装されている請求項1ないし6のいずれかに記載の電子機器。   The electronic device according to claim 1, wherein the processor and the first RAM are mounted in a single package. 前記データ保持手段は、前記プロセッサに前記起動処理を実行させるための起動処理プログラムを記憶した起動用ROMと、前記制御プログラムおよび前記RAMコントローラ設定用データを記憶した記憶媒体とを備える請求項1ないし6のいずれかに記載の電子機器。   The data holding unit includes a boot ROM that stores a boot process program for causing the processor to execute the boot process, and a storage medium that stores the control program and the RAM controller setting data. 6. The electronic device according to any one of 6. 前記プロセッサ、前記第1RAMおよび前記起動用ROMが単一パッケージに実装されている請求項8に記載の電子機器。   The electronic device according to claim 8, wherein the processor, the first RAM, and the boot ROM are mounted in a single package. 前記記憶媒体がフラッシュメモリである請求項8または9に記載の電子機器。   The electronic device according to claim 8, wherein the storage medium is a flash memory. 前記第1RAMがSRAMである請求項1ないし10のいずれかに記載の電子機器。   The electronic device according to claim 1, wherein the first RAM is an SRAM.
JP2008079738A 2008-03-26 2008-03-26 Electronic appliance Withdrawn JP2009237666A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008079738A JP2009237666A (en) 2008-03-26 2008-03-26 Electronic appliance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008079738A JP2009237666A (en) 2008-03-26 2008-03-26 Electronic appliance

Publications (1)

Publication Number Publication Date
JP2009237666A true JP2009237666A (en) 2009-10-15

Family

ID=41251576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008079738A Withdrawn JP2009237666A (en) 2008-03-26 2008-03-26 Electronic appliance

Country Status (1)

Country Link
JP (1) JP2009237666A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084079A (en) * 2011-10-07 2013-05-09 Ricoh Co Ltd Information processing device, authenticity verification method, and authenticity verification program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084079A (en) * 2011-10-07 2013-05-09 Ricoh Co Ltd Information processing device, authenticity verification method, and authenticity verification program

Similar Documents

Publication Publication Date Title
JP2007206885A (en) Computer system and system starting method
US20040064606A1 (en) Memory system allowing fast operation of processor while using flash memory incapable of random access
JP2001216194A (en) Arithmetic processor
JP2010500682A (en) Flash memory access circuit
JP4745613B2 (en) Information processing apparatus and information processing method
JP2006072989A (en) Electronic device
JP2009237666A (en) Electronic appliance
TW509874B (en) Interrupt control system
JP2005258642A (en) Embedded information processor
JP2005182538A (en) Data transfer device
JP6080492B2 (en) Information processing apparatus, activation method, and program
JP4461760B2 (en) Computer boot system
JP2004078604A (en) Information processing method and program for executing the same method and recording medium
JP2011507086A (en) Copy-protected software cartridge
WO2007049423A1 (en) Computer system and method for activating basic program therein
JP4026383B2 (en) Information processing system, information processing terminal, external storage device, information processing terminal control program, and external storage device control program
JP7242233B2 (en) Information processing device and its control method and program
JP5034007B2 (en) Computer equipment
JP2005276104A (en) Microcomputer
JP4037941B2 (en) Control device
JP3030962B2 (en) Micro program controller
JP6080491B2 (en) Information processing apparatus, activation method, and program
JPWO2007013191A1 (en) Memory writing device
JP2004110086A (en) Semiconductor device
JPH08101794A (en) Rewriting system for firmware program

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090827

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110607