JP2006268738A - Information processing apparatus, correction program creation method and correction program creation program - Google Patents

Information processing apparatus, correction program creation method and correction program creation program Download PDF

Info

Publication number
JP2006268738A
JP2006268738A JP2005089413A JP2005089413A JP2006268738A JP 2006268738 A JP2006268738 A JP 2006268738A JP 2005089413 A JP2005089413 A JP 2005089413A JP 2005089413 A JP2005089413 A JP 2005089413A JP 2006268738 A JP2006268738 A JP 2006268738A
Authority
JP
Japan
Prior art keywords
address
branch point
instruction
register
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005089413A
Other languages
Japanese (ja)
Inventor
Hajime Miyaki
一 宮木
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2005089413A priority Critical patent/JP2006268738A/en
Publication of JP2006268738A publication Critical patent/JP2006268738A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To create a correction program for carrying out processing different from one stored in a ROM. <P>SOLUTION: A microcomputer comprises a ROM storing a control program including a branch point address, a first register to which the branch point address is set, and an instruction output circuit for executing an instruction different from next one if an address of an instruction to be executed by a CPU matches the branch point address set to the first register, wherein the ROM stores a correction program generation program for causing the CPU to carry out, when the branch point address is inputted (S03), the step of writing the branch point address into an EEPROM (S04), the step of accepting an address and a setting value in a second register different from the first register (S05), the step of writing into the EEPROM an instruction for setting the second register into the accepted setting value (S06), and the step of writing into the EEPROM an instruction to return to an address next to the branch point address (S07). <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

この発明は、情報処理装置、修正プログラム生成方法および修正プログラム生成プログラムに関し、特に読出し専用メモリに記憶されたプログラムとは異なる処理をCPUに実行させるためのプログラムを生成する情報処理装置、修正プログラム生成方法および修正プログラム生成プログラムに関する。   The present invention relates to an information processing apparatus, a correction program generation method, and a correction program generation program, and in particular, an information processing apparatus that generates a program for causing a CPU to execute processing different from a program stored in a read-only memory, and correction program generation The present invention relates to a method and a correction program generation program.

従来、多くの電気製品はマイクロコンピュータが搭載されている。このマイクロコンピュータは、演算するための中央演算装置(CPU)と、プログラムを記録した読出し専用メモリ(ROM)と、作業エリアとして用いられるランダムアクセスメモリ(RAM)とを備えている。CPUは、ROMに記憶されたプログラムに従って演算を実行する。   Conventionally, many electric products are equipped with microcomputers. This microcomputer includes a central processing unit (CPU) for calculation, a read-only memory (ROM) in which a program is recorded, and a random access memory (RAM) used as a work area. The CPU executes calculations according to programs stored in the ROM.

ROMに記憶されたプログラムはROMを作製した後に変更できない。一方、製品の開発期間が非常に短くなっている現在においては、ROMを早期に生産することが望まれ、ROMに記憶するプログラムを早期の段階で決定しなければならない。   The program stored in the ROM cannot be changed after the ROM is made. On the other hand, at the present time when the product development period is very short, it is desired to produce the ROM early, and the program stored in the ROM must be determined at an early stage.

しかしながら、ROMの生産を開始した後に製品の仕様が変更されることがあり、その場合にROMに記憶されたプログラムを変更するのは困難である。そこで、ROMに記憶されたプログラムとは一部が異なるプログラムを実行させる技術が特開平08−95946号公報(特許文献1)に記載されている。特開平08−95946号公報には次の記載がある。なお、図番は変更してある。   However, the product specifications may be changed after the ROM production is started, and in this case, it is difficult to change the program stored in the ROM. Therefore, a technique for executing a program that is partially different from the program stored in the ROM is described in Japanese Patent Application Laid-Open No. 08-95946 (Patent Document 1). Japanese Patent Laid-Open No. 08-95946 has the following description. The figure numbers have been changed.

図5を参照して、フェッチポインタ1は、ROM3又はRAM4から命令キュー15に取り込むべきプログラムのアドレスを示す16ビットのカウンタである。アドレスバス2はアドレスデータを、データバス11はデータを転送するための16ビットのバスである。   Referring to FIG. 5, fetch pointer 1 is a 16-bit counter indicating the address of a program to be fetched from ROM 3 or RAM 4 to instruction queue 15. The address bus 2 is a 16-bit bus for transferring address data, and the data bus 11 is for transferring data.

ROM3は、読み出し専用のメモリで、アドレス0000H〜EFFFH(Hは16進数を表す)のメモリ空間に対応し、ここにプログラムが格納される。RAM3は、読み書き可能なメモリで、アドレスF000H〜EFFFHのメモリ空間に対応する。   The ROM 3 is a read-only memory and corresponds to a memory space of addresses 0000H to EFFFH (H represents a hexadecimal number), and a program is stored therein. The RAM 3 is a readable / writable memory and corresponds to the memory space of addresses F000H to EFFFH.

外部に配置されたメモリ14には、バグ部分の先頭アドレスと修正プログラムが格納されている。   The memory 14 arranged outside stores the head address of the bug portion and the correction program.

シリアルインタフェース10は、メモリ14内のバグ部分の先頭アドレスと修正プログラムをマイクロコンピュータ13内に取り込む。   The serial interface 10 fetches the start address of the bug portion in the memory 14 and the correction program into the microcomputer 13.

レジスタ6は、シリアルインタフェース10とデータバス11を介して取り込んだバグ部分の先頭アドレスを格納記憶する。   The register 6 stores and stores the head address of the bug portion taken in via the serial interface 10 and the data bus 11.

比較回路5は、レジスタ6の内容と、アドレスバス2を介して入力されたフェッチポインタ1の内容と、を比較し、これらが互いに一致した場合にはハイレベルとされ、一致しなかった場合にはロウレベルとされる選択信号12を出力する。   The comparison circuit 5 compares the contents of the register 6 with the contents of the fetch pointer 1 input via the address bus 2, and if they match each other, the comparison circuit 5 is set to the high level, and if they do not match, Outputs a selection signal 12 at a low level.

分岐命令出力回路9は、RAM4上のアドレスF000Hへの分岐命令を出力する。   The branch instruction output circuit 9 outputs a branch instruction to the address F000H on the RAM 4.

選択回路8は、比較回路5からの選択信号12がハイレベル(=アクティブ)のときに分岐命令出力回路9からの分岐命令を命令キュー15に出力し、選択信号12がロウレベル(=インアクティブ)のときにはROM3又はRAM4上のプログラムを命令キュー15に出力する。   The selection circuit 8 outputs the branch instruction from the branch instruction output circuit 9 to the instruction queue 15 when the selection signal 12 from the comparison circuit 5 is high level (= active), and the selection signal 12 is low level (= inactive). In this case, the program on the ROM 3 or RAM 4 is output to the instruction queue 15.

命令キュー15は、CPU7が命令を実行している間に先読み(プリフェッチ)された命令が格納される5バイトのバッファである。   The instruction queue 15 is a 5-byte buffer in which an instruction prefetched (prefetched) while the CPU 7 executes an instruction is stored.

CPU7は、命令キュー15から命令を取り出し命令デコーダ部(不図示)にて命令を解読し、実行ユニット(不図示)にて解読された命令を実行する。   The CPU 7 takes out the instruction from the instruction queue 15, decodes the instruction with an instruction decoder unit (not shown), and executes the decoded instruction with an execution unit (not shown).

ここで、図6のメモリマップに示すように、プログラムはROM3上のアドレス1000H〜7FFFHに存在し、そのうちアドレス4000H〜400FHにバグが存在するものと仮定する。   Here, as shown in the memory map of FIG. 6, it is assumed that the program exists at addresses 1000H to 7FFFH on the ROM 3, and a bug exists at addresses 4000H to 400FH.

また、図6を参照して、プログラム開始アドレス設定のためのベクター・テーブル0000Hには、プログラム開始アドレス1000Hがセットされており、これにより、マイクロコンピュータ13のリセット解除後、アドレス1000Hがフェッチポインタ1にセットされ、アドレス1000Hからプログラムの実行が開始される。   Referring to FIG. 6, the program start address 1000H is set in the vector table 0000H for setting the program start address. Thus, after the microcomputer 13 is released from the reset, the address 1000H becomes the fetch pointer 1 And execution of the program is started from the address 1000H.

予め、バグの存在を想定して、プログラムのイニシャライズ部分には、シリアルインタフェース10を介して、メモリ14からバグ部分の先頭アドレスと修正プログラムをマイクロコンピュータ13内に取り込むためのルーチンを挿入しておく。   Assuming the existence of a bug, a routine for fetching the start address of the bug part and the correction program from the memory 14 into the microcomputer 13 is inserted into the initialization part of the program via the serial interface 10 in advance. .

このイニシャライズ部分の実行により、バグ部分の先頭アドレス4000Hと修正プログラムがメモリ14からマイクロコンピュータ13内に取り込まれ、マイクロコンピュータ13内に取り込まれたバグ部分の先頭アドレスはレジスタ6にセットされ、また修正プログラムはRAM4のアドレスF000H以降に格納される。   By executing this initialization portion, the bug portion start address 4000H and the correction program are fetched from the memory 14 into the microcomputer 13, and the bug portion start address fetched into the microcomputer 13 is set in the register 6 and corrected. The program is stored after the address F000H of the RAM 4.

この後、フェッチポインタ1がバグ部分の先頭アドレスに達するまで、CPU7はROM3上のプログラムを実行し続ける。   Thereafter, the CPU 7 continues to execute the program on the ROM 3 until the fetch pointer 1 reaches the head address of the bug portion.

そして、フェッチポインタ1がバグ部分の先頭アドレスに達すると、すなわちフェッチポインタ1とレジスタ6の内容とが互いに一致すると、比較回路5はハイレベルの選択信号12を出力し、選択回路8は選択信号12を受けてROM3上のプログラムから分岐命令出力回路9の出力に切り換えて、分岐命令を命令キュー15へ出力する。   When the fetch pointer 1 reaches the head address of the bug part, that is, when the contents of the fetch pointer 1 and the register 6 match each other, the comparison circuit 5 outputs a high level selection signal 12 and the selection circuit 8 selects the selection signal. 12, the program on the ROM 3 is switched to the output of the branch instruction output circuit 9 and the branch instruction is output to the instruction queue 15.

ここで分岐命令出力回路9は、アドレスF000Hへの分岐命令「BR !F000H」を出力するため、CPU7は、命令キュー15からの分岐命令を受け取り実行する。   Here, since the branch instruction output circuit 9 outputs the branch instruction “BR! F000H” to the address F000H, the CPU 7 receives and executes the branch instruction from the instruction queue 15.

一般に、分岐命令の実行により命令キューの内容はクリアされるよう構成されており、分岐命令により命令キュー15の内容はクリアされる。また、フェッチポインタ1はF000Hにセットされ、図6に示すように、RAM4上の修正プログラムがCPU7により実行されることになる。   Generally, the contents of the instruction queue are cleared by the execution of the branch instruction, and the contents of the instruction queue 15 are cleared by the branch instruction. The fetch pointer 1 is set to F000H, and the correction program on the RAM 4 is executed by the CPU 7 as shown in FIG.

修正プログラムの最後の部分に、アドレス4010Hへの分岐命令「BR !4010H」を入れておくことにより、修正プログラム実行後、元のROM3上のプログラムに戻り、本来のプログラムが実行されるようになる。   By putting the branch instruction “BR! 4010H” to address 4010H in the last part of the correction program, after executing the correction program, the program returns to the program on the original ROM 3 and the original program is executed. .

しかしながら、特開平08−95946号公報に記載のマイクロコンピュータでは、ROMに記憶されたプログラムを開発した設備、コンパイラなどの開発環境が整っていることが必要である。開発環境が整っていなければ、ROMに記憶されているプログラムのうちから分岐させる命令アドレスの位置、復帰させる命令アドレスの位置を見つけ出すことができない。さらに、修正プログラムを生成することが困難であるといった問題がある。
特開平08−95946号公報
However, the microcomputer described in Japanese Patent Application Laid-Open No. 08-95946 needs to have a development environment such as a facility for developing a program stored in a ROM and a compiler. If the development environment is not in place, it is impossible to find out the position of the instruction address to be branched from the program stored in the ROM and the position of the instruction address to be restored. Furthermore, there is a problem that it is difficult to generate a correction program.
Japanese Patent Application Laid-Open No. 08-95946

この発明は上述した問題点を解決するためになされたもので、この発明の目的の1つは、ROMに記憶されたプログラムの開発環境に関わらず、そのプログラムと異なる処理を実行させるための修正プログラムを容易に生成することが可能な情報処理装置、修正プログラム生成方法および修正プログラム生成プログラムを提供することである。   The present invention has been made to solve the above-described problems, and one of the objects of the present invention is a modification for executing processing different from the program regardless of the development environment of the program stored in the ROM. An information processing apparatus capable of easily generating a program, a correction program generation method, and a correction program generation program are provided.

上述した目的を達成するためにこの発明のある局面によれば、情報処理装置は、少なくとも1つの分岐点アドレスを含むプログラムを記憶した読出専用メモリと、読出専用メモリに記憶された命令を順に読出し実行する中央演算装置と、不揮発性メモリと、分岐点アドレスが設定される第1レジスタと、中央演算装置が実行する命令のアドレスが、第1レジスタに設定された分岐点アドレスと一致した場合に、中央演算装置が実行する予定の次の命令とは別の命令を実行させる分岐手段と、外部から信号を受信する受信手段とを備えた情報処理装置であって、読出専用メモリは、分岐点アドレスが入力されると、入力された分岐点アドレスを不揮発性メモリに書き込むステップと、第1レジスタとは別の第2レジスタのアドレスと設定値とを受付けるステップと、受付けられたアドレスの第2レジスタを受付けられた設定値に設定するための命令を不揮発性メモリに書き込むステップと、分岐点アドレスの次のアドレスに復帰する命令を不揮発性メモリに書き込むステップとを中央演算装置に実行させる修正プログラム生成プログラムを記憶する。   In order to achieve the above-described object, according to one aspect of the present invention, an information processing device sequentially reads a read-only memory storing a program including at least one branch point address and an instruction stored in the read-only memory. When the central processing unit to be executed, the nonvolatile memory, the first register in which the branch point address is set, and the address of the instruction executed by the central processing unit match the branch point address set in the first register The information processing apparatus includes a branching unit that executes an instruction different from the next instruction scheduled to be executed by the central processing unit, and a receiving unit that receives a signal from the outside. When the address is input, the step of writing the input branch point address to the nonvolatile memory, the address of the second register different from the first register, and the set value A step of writing to the nonvolatile memory an instruction for setting the second register of the received address to the received set value, and an instruction to return to the address next to the branch point address is written to the nonvolatile memory. A correction program generating program for causing the central processing unit to execute the steps is stored.

好ましくは、読出専用メモリは、不揮発性メモリに分岐点アドレスが記憶されている場合に、該分岐点アドレスを第1レジスタに設定するステップを中央演算装置に実行させるイニシャライズプログラムをさらに記憶する。   Preferably, the read-only memory further stores an initialization program for causing the central processing unit to execute a step of setting the branch point address in the first register when the branch point address is stored in the nonvolatile memory.

好ましくは、修正プログラム生成プログラムは、予め定められた分岐点情報と、少なくとも1つの分岐点アドレスとを関連付けるステップと、分岐点情報の受付けに応じて、該受付けられた分岐点情報に関連付けられた分岐点アドレスを特定するステップとをさらに含む。   Preferably, the correction program generation program associates the predetermined branch point information with at least one branch point address, and is associated with the accepted branch point information in response to acceptance of the branch point information. Identifying a branch point address.

この発明の他の局面によれば、修正プログラム生成方法は、少なくとも1つの分岐点アドレスを含むプログラムを記憶した読出専用メモリと、読出専用メモリに記憶された命令を順に読出し実行する中央演算装置と、不揮発性メモリと、分岐点アドレスが設定される第1レジスタと、中央演算装置が実行する命令のアドレスが、第1レジスタに設定された分岐点アドレスと一致した場合に、中央演算装置が実行する予定の次の命令とは別の命令を実行させる分岐手段と、外部から信号を受信する受信手段とを備えた情報処理装置で実行される修正プログラム生成方法であって、読出専用メモリに記憶された修正プログラム生成プログラムは、分岐点アドレスが入力されると、入力された分岐点アドレスを不揮発性メモリに書き込むステップと、第1レジスタとは別の第2レジスタのアドレスと設定値とを受付けるステップと、受付けられたアドレスの第2レジスタを受付けられた設定値に設定するための命令を不揮発性メモリに書き込むステップと、分岐点アドレスの次のアドレスに復帰する命令を不揮発性メモリに書き込むステップとを中央演算装置に実行させる。   According to another aspect of the present invention, a correction program generation method includes a read-only memory that stores a program including at least one branch point address, and a central processing unit that sequentially reads and executes instructions stored in the read-only memory. The central processing unit executes when the non-volatile memory, the first register in which the branch point address is set, and the address of the instruction executed by the central processing unit match the branch point address set in the first register A correction program generation method executed by an information processing apparatus having a branching unit for executing an instruction different from the next instruction to be executed and a receiving unit for receiving a signal from the outside, which is stored in a read-only memory When the branch point address is input, the modified program generation program is configured to write the input branch point address to the nonvolatile memory. Receiving an address and a set value of a second register different from the first register; writing an instruction for setting the second register at the received address to the received set value in the nonvolatile memory; And causing the central processing unit to execute a step of writing an instruction for returning to the address next to the branch point address to the nonvolatile memory.

この発明のさらに他の局面によれば、修正プログラム生成プログラムは、少なくとも1つの分岐点アドレスを含むプログラムを記憶した読出専用メモリと、読出専用メモリに記憶された命令を順に読出し実行する中央演算装置と、不揮発性メモリと、分岐点アドレスが設定される第1レジスタと、中央演算装置が実行する命令のアドレスが、第1レジスタに設定された分岐点アドレスと一致した場合に、中央演算装置が実行する予定の次の命令とは別の命令を実行させる分岐手段と、外部から信号を受信する受信手段とを備えた情報処理装置で実行される修正プログラム生成プログラムであって、読出専用メモリに記憶され、分岐点アドレスが入力されると、入力された分岐点アドレスを不揮発性メモリに書き込むステップと、第1レジスタとは別の第2レジスタのアドレスと設定値とを受付けるステップと、受付けられたアドレスの第2レジスタを受付けられた設定値に設定するための命令を不揮発性メモリに書き込むステップと、分岐点アドレスの次のアドレスに復帰する命令を不揮発性メモリに書き込むステップとを中央演算装置に実行させる。   According to still another aspect of the present invention, a correction program generation program includes a read-only memory that stores a program including at least one branch point address, and a central processing unit that sequentially reads and executes instructions stored in the read-only memory And when the address of the instruction executed by the central processing unit matches the branch point address set in the first register, the central processing unit A correction program generation program that is executed by an information processing apparatus including a branching unit that executes an instruction different from the next instruction to be executed and a receiving unit that receives a signal from the outside, the read-only memory When the branch point address is stored and the branch point address is input, the step of writing the input branch point address to the nonvolatile memory; and the first register Receiving an address and a set value of another second register, writing an instruction for setting the second register of the received address to the received set value in the nonvolatile memory, and a branch point address The central processing unit is caused to execute a step of writing an instruction for returning to the next address to the nonvolatile memory.

この発明に従えば、分岐点アドレスが入力されると、分岐点アドレスが不揮発性メモリに書込まれ、第1レジスタとは別の第2レジスタのアドレスと設定値とが受付けられると、受付けられたアドレスのレジスタを設定値に設定するための命令が不揮発性メモリに書込まれ、分岐点の次の命令アドレスに復帰する命令が不揮発性メモリに書込まれる。このため、読出専用メモリに記録されたプログラムと異なる処理を実行させるための修正プログラムを容易に生成することが可能な情報処理装置、修正プログラム生成方法および修正プログラム生成プログラムを提供することができる。   According to the present invention, when a branch point address is inputted, the branch point address is written into the nonvolatile memory, and when the address and the set value of the second register different from the first register are accepted, the branch point address is accepted. An instruction for setting the register at the specified address to the set value is written into the nonvolatile memory, and an instruction for returning to the instruction address next to the branch point is written into the nonvolatile memory. Therefore, it is possible to provide an information processing apparatus, a correction program generation method, and a correction program generation program capable of easily generating a correction program for executing processing different from the program recorded in the read-only memory.

以下、図面を参照しつつ、本発明の実施の形態について説明する。図1は、本発明の実施の形態の1つにおける監視カメラシステムの概略構成を示す図である。図1中、図5に示したのと同一の部材には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a schematic configuration of a surveillance camera system in one embodiment of the present invention. In FIG. 1, the same members as those shown in FIG. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.

監視カメラシステム100は、監視カメラ100とパーソナルコンピュータ110とで構成される。図では、監視カメラ100とパーソナルコンピュータ110とをそれぞれ1台の例を示しているが、監視カメラ100を複数台としてもよいし、パーソナルコンピュータ110を複数台としてもよいし、両者を複数台としてもよい。パーソナルコンピュータ110は、一般的なコンピュータであり、そのハードウエア構成および機能は当業者に周知であるので、ここでは説明を繰り返さない。なお、パーソナルコンピュータ110に代えて、監視カメラ100を制御するための専用の監視装置であってもよい。   The surveillance camera system 100 includes a surveillance camera 100 and a personal computer 110. In the figure, an example is shown in which one monitoring camera 100 and one personal computer 110 are shown. However, a plurality of monitoring cameras 100, a plurality of personal computers 110, or a plurality of both may be used. Also good. Since the personal computer 110 is a general computer and its hardware configuration and functions are well known to those skilled in the art, the description thereof will not be repeated here. Instead of the personal computer 110, a dedicated monitoring device for controlling the monitoring camera 100 may be used.

監視カメラ100は、情報処理装置であり、それの全体を制御するためのマイクロコンピュータ13と、マイクロコンピュータ13のシリアルインタフェース10に接続されたEEPROM(Electronically Erasable and Programmable
Read Only Memory)14Aと、レンズ21と、CCD(Charge Coupled Device)22と、CCD22から出力される電気信号が入力されるCDS(Correlated Double Sampling)/AGC(Auto Gain
Control)回路23と、デジタルシグナルプロセッサ(DSP)24とを含む。
The surveillance camera 100 is an information processing apparatus, and includes a microcomputer 13 for controlling the whole and an EEPROM (Electronically Erasable and Programmable) connected to the serial interface 10 of the microcomputer 13.
Read Only Memory (A) 14A, lens 21, CCD (Charge Coupled Device) 22, and CDS (Correlated Double Sampling) / AGC (Auto Gain) to which an electrical signal output from the CCD 22 is input.
Control) circuit 23 and a digital signal processor (DSP) 24.

マイクロコンピュータ13は、図5では、メモリ14と接続されているが、ここでは、メモリ14の具体例としてEEPROM14Aと接続される。また、図5では、レジスタ6と分岐命令出力回路9とがそれぞれ1つ示されているが、本実施の形態においては、レジスタ6と分岐命令出力回路9との組は、1以上ある。レジスタ6と分岐命令出力回路9との組は、後述する修正プログラムを複数生成するために、修正プログラムの数と同じ、またはそれ以上の数が必要とされる。   Although the microcomputer 13 is connected to the memory 14 in FIG. 5, here, the microcomputer 13 is connected to the EEPROM 14 </ b> A as a specific example of the memory 14. In FIG. 5, one register 6 and one branch instruction output circuit 9 are shown. However, in this embodiment, there are one or more groups of the register 6 and the branch instruction output circuit 9. The number of sets of the register 6 and the branch instruction output circuit 9 is the same as or more than the number of correction programs in order to generate a plurality of correction programs to be described later.

マイクロコンピュータ13は、レンズ21を制御して、焦点の調整、撮像倍率の変更、パンおよびチルトの撮像方向を変更させる。CCD22は、レンズ21を透過した光を受光し電気信号を出力する光電変換素子である。CCD22が出力する信号は、CDS/AGC回路23に出力される。   The microcomputer 13 controls the lens 21 so as to adjust the focus, change the imaging magnification, and change the pan and tilt imaging directions. The CCD 22 is a photoelectric conversion element that receives light transmitted through the lens 21 and outputs an electrical signal. A signal output from the CCD 22 is output to the CDS / AGC circuit 23.

CDS/AGC回路23は、CCD22が出力する電気信号の雑音を抑圧する処理、電気信号の利得を制御する処理を実行する。CDS/AGC回路23は、マイクロコンピュータ13に制御される。具体的には、雑音を抑圧する処理で用いられる係数値がマイクロコンピュータ13からCDS/AGC回路23に与えられる。CDS/AGC回路23は、与えられた係数値を用いて電気信号の雑音を抑圧する処理を実行する。また、利得制御における初期値がマイクロコンピュータ13からCDS/AGC回路23に与えられる。CDS/AGC回路23は、与えられた初期値から利得制御を開始する。   The CDS / AGC circuit 23 executes a process for suppressing noise in the electrical signal output from the CCD 22 and a process for controlling the gain of the electrical signal. The CDS / AGC circuit 23 is controlled by the microcomputer 13. Specifically, a coefficient value used in a process for suppressing noise is given from the microcomputer 13 to the CDS / AGC circuit 23. The CDS / AGC circuit 23 executes a process of suppressing noise of the electric signal using the given coefficient value. An initial value in gain control is given from the microcomputer 13 to the CDS / AGC circuit 23. The CDS / AGC circuit 23 starts gain control from the given initial value.

DSP24は、CDS/AGC23で雑音除去および利得制御された電気信号を、画像処理して出力する。DSP24は、マイクロコンピュータ13により制御される。具体的には、マイクロコンピュータ13からビデオ信号制御レジスタが設定される。ビデオ信号制御レジスタは、撮影パラメータを設定するためのレジスタである。   The DSP 24 performs image processing and outputs the electrical signal whose noise is removed and gain-controlled by the CDS / AGC 23. The DSP 24 is controlled by the microcomputer 13. Specifically, a video signal control register is set from the microcomputer 13. The video signal control register is a register for setting shooting parameters.

マイクロコンピュータ13に含まれるROM3に記憶された制御プログラムには、CDS/AGC回路23を制御するための係数値および初期値と、DSP24を制御するための値が記憶されている。DSP24を制御するための値は、ビデオ信号制御レジスタに設定するための値である。ここでは、これらの値を総称して設定値という。   The control program stored in the ROM 3 included in the microcomputer 13 stores a coefficient value and an initial value for controlling the CDS / AGC circuit 23 and a value for controlling the DSP 24. The value for controlling the DSP 24 is a value for setting in the video signal control register. Here, these values are collectively referred to as setting values.

監視カメラ100は、パーソナルコンピュータ110と接続される。監視カメラ100とパーソナルコンピュータ110とは、シリアル接続、パラレル接続のいずれであってもよく、またはローカルエリアネットワーク(LAN)を介する接続であってもよい。さらにこれらの接続は、有線または無線の別を問わない。   Monitoring camera 100 is connected to personal computer 110. The monitoring camera 100 and the personal computer 110 may be either serial connection or parallel connection, or may be connected via a local area network (LAN). Further, these connections may be either wired or wireless.

パーソナルコンピュータ110は、監視カメラ100にコマンド信号を送信することにより、監視カメラ100を制御することができる。コマンド信号の具体例としては、レンズ21の撮影方向を変更するためのコマンド信号、レンズ21のズーム倍率を変更するためのコマンド信号などが挙げられる。監視カメラ100で撮像された映像は、DSP24からパーソナルコンピュータ110に送信される。したがって、パーソナルコンピュータ110では、監視カメラ100から受信した映像のディスプレイ出力、ハードディスクへの記録などすることが可能である。   The personal computer 110 can control the surveillance camera 100 by transmitting a command signal to the surveillance camera 100. Specific examples of the command signal include a command signal for changing the shooting direction of the lens 21 and a command signal for changing the zoom magnification of the lens 21. Video captured by the monitoring camera 100 is transmitted from the DSP 24 to the personal computer 110. Therefore, the personal computer 110 can display the video received from the monitoring camera 100, record it on the hard disk, and the like.

本実施の形態における監視カメラシステムにおいては、パーソナルコンピュータ110から所定の設定値をマイクロコンピュータ13に送信することにより、マイクロコンピュータ13で、ROM3に記憶されている設定値とは異なる設定値を用いて制御するための修正プログラムを生成させる。マイクロコンピュータ13のROM3には、この修正プログラムを生成するための修正プログラム生成プログラムが予め記憶されている。   In the surveillance camera system in the present embodiment, by transmitting a predetermined set value from the personal computer 110 to the microcomputer 13, the microcomputer 13 uses a set value different from the set value stored in the ROM 3. Generate a correction program to control. The ROM 3 of the microcomputer 13 stores in advance a correction program generation program for generating this correction program.

なお、監視カメラ100は、EEPROM14Aを備える構成としたが、EEPROM14Aに代えて、フラッシュメモリ等他の不揮発性の半導体メモリ、磁気記録媒体、光磁気記録媒体等を用いてもよい。   Although the surveillance camera 100 includes the EEPROM 14A, another nonvolatile semiconductor memory such as a flash memory, a magnetic recording medium, a magneto-optical recording medium, or the like may be used instead of the EEPROM 14A.

本実施の形態における監視カメラ100においては、ROM3に予めプログラムが記憶されている。具体的には、ROM3には、レンズ21、CDS/AGC23およびDSPを制御するための制御プログラムと、制御プログラムとは異なる処理を実行させるための修正プログラムを生成するための修正プログラム生成プログラムと、イニシャライズプログラムとが記憶されている。ROM3に予め記憶されたプログラムは、修正プログラム生成プログラムを含む点と、制御プログラムに分岐点が予め定められている点とが異なる。   In surveillance camera 100 in the present embodiment, a program is stored in ROM 3 in advance. Specifically, the ROM 3 includes a control program for controlling the lens 21, the CDS / AGC 23, and the DSP, a correction program generation program for generating a correction program for executing processing different from the control program, The initialization program is stored. The program stored in advance in the ROM 3 is different in that it includes a correction program generation program and a branch point is determined in advance in the control program.

制御プログラムに予め定められる分岐点とは、修正プログラムを実行する時を定める情報であり、制御プログラムの1つのアドレスを示す。この分岐点は制御プログラムの作成時に決定される。分岐点を特定するためには、制御プログラムのアドレスそのものを用いることもできるが、ここでは分岐点指定情報を用いる。分岐点指定情報は、制御プログラムの分岐点を指定するための情報である。分岐点指定情報は、分岐点の順番、または、制御プログラムの処理の種類を特定する情報が含まれる。   The branch point determined in advance in the control program is information for determining when to execute the correction program, and indicates one address of the control program. This branch point is determined when the control program is created. In order to specify the branch point, the address of the control program itself can be used, but here, branch point designation information is used. The branch point designation information is information for designating a branch point of the control program. The branch point designation information includes information for specifying the order of branch points or the type of processing of the control program.

図2は、分岐点指定情報を説明するための図である。図2(A)は、分岐点指定情報を分岐点の順番とした場合の一例を示す図である。図2(A)を参照して、分岐点指定情報は、順番で示され、その順番は制御プログラムの作成時に定まる。順番は分岐点の順を示し、制御プログラムのアドレスが小さいほど順序が前になる。ここでは、分岐点指定情報の順番「1」に対して、処理名「起動処理(パラメータ設定)」が対応つけられている。この分岐点で特定される制御プログラムのアドレスには、配列変数X[1]にフェッチポインタ1の値を設定する命令が記述される。また、分岐点指定情報の順番「2」に対して、処理名「タイマー処理」が対応つけられている。この分岐点で特定される制御プログラムのアドレスには、配列変数X[2]にフェッチポインタ1の値を設定する命令が記述される。さらに、分岐点指定情報の順番「3」に対して、処理名「割込処理」が対応つけられている。この分岐点で特定される制御プログラムのアドレスには、配列変数X[3]にフェッチポインタ1の値を設定する命令が記述される。   FIG. 2 is a diagram for explaining branch point designation information. FIG. 2A is a diagram illustrating an example when the branch point designation information is set to the order of branch points. Referring to FIG. 2A, the branch point designation information is shown in order, and the order is determined when the control program is created. The order indicates the order of branch points, and the smaller the control program address, the earlier the order. Here, the process name “activation process (parameter setting)” is associated with the order “1” of the branch point designation information. An instruction for setting the value of the fetch pointer 1 in the array variable X [1] is described in the address of the control program specified by this branch point. Further, the process name “timer process” is associated with the order “2” of the branch point designation information. An instruction for setting the value of the fetch pointer 1 to the array variable X [2] is described in the address of the control program specified by this branch point. Furthermore, the process name “interrupt process” is associated with the order “3” of the branch point designation information. An instruction for setting the value of the fetch pointer 1 in the array variable X [3] is described in the address of the control program specified by this branch point.

したがって、マイクロコンピュータ13のCPU7で制御プログラムが実行されると、配列変数X[i](iは自然数)に分岐点の制御プログラムのアドレスが設定される。そして、マイクロコンピュータ13は、分岐点指定情報の順番「i」が入力されると、i順番の配列変数X[i]の値から分岐点の制御プログラムのアドレスを取得することが可能となる。なお、ここでは、順番を1〜3としたが、これより多くてもよく、少なくてもよい。   Therefore, when the control program is executed by the CPU 7 of the microcomputer 13, the address of the control program at the branch point is set in the array variable X [i] (i is a natural number). When the order “i” of the branch point designation information is input, the microcomputer 13 can obtain the address of the branch point control program from the value of the array variable X [i] in the i order. Here, the order is 1 to 3, but it may be more or less.

図2(B)は分岐点指定情報を制御プログラムの処理の種類を特定する情報とした場合の一例を示す図である。図2(B)を参照して、分岐点指定情報は、変数名で示される。変数名は、処理名に対応して制御プログラム作成時に定まる。ここでは、分岐点指定情報の変数名「KIDOU」に対して、処理名「起動処理(パラメータ設定)」が対応つけられている。この分岐点で特定される制御プログラムのアドレスには、変数KIDOUにフェッチポインタ1の値を設定する命令が記述される。また、分岐点指定情報の変数名「TIMER」に対して、処理名「タイマー処理」が対応つけられている。この分岐点で特定される制御プログラムのアドレスには、変数TIMERにフェッチポインタ1の値を設定する命令が記述される。さらに、分岐点指定情報の変数名「WARIKOMI」に対して、処理名「割込処理」が対応つけられている。この分岐点で特定される制御プログラムのアドレスには、変数WARIKOMIにフェッチポインタ1の値を設定する命令が記述される。   FIG. 2B is a diagram showing an example when the branch point designation information is information specifying the type of processing of the control program. Referring to FIG. 2B, the branch point designation information is indicated by a variable name. The variable name is determined when the control program is created corresponding to the process name. Here, the process name “activation process (parameter setting)” is associated with the variable name “KIDOU” of the branch point designation information. An instruction for setting the value of the fetch pointer 1 to the variable KIDOU is described in the address of the control program specified by this branch point. Further, the process name “timer process” is associated with the variable name “TIMER” of the branch point designation information. In the address of the control program specified by this branch point, an instruction for setting the value of the fetch pointer 1 in the variable TIMER is described. Further, the process name “interrupt process” is associated with the variable name “WARIKOMI” of the branch point designation information. At the address of the control program specified by this branch point, an instruction for setting the value of the fetch pointer 1 in the variable WARIKOMI is described.

したがって、マイクロコンピュータ13のCPU7で制御プログラムが実行されると、各変数に分岐点の制御プログラムのアドレスが設定される。そして、マイクロコンピュータ13は、変数名が入力されると、その変数名の変数の値から分岐点の制御プログラムのアドレスを取得することが可能となる。なお、ここでは、変数をKIDOU、TIMER、WSRIKOMIの3つとしたが、変数の数はこれより多くてもよく、少なくてもよい。さらに、変数名は任意に定めることができる。   Therefore, when the control program is executed by the CPU 7 of the microcomputer 13, the address of the branch point control program is set in each variable. When the variable name is input, the microcomputer 13 can acquire the address of the control program at the branch point from the variable value of the variable name. In this example, the number of variables is KIDOU, TIMER, and WSRIKOMI. However, the number of variables may be larger or smaller. Furthermore, the variable name can be arbitrarily determined.

図3は、ROM3に記憶されている修正プログラム生成プログラムの流れを示すフローチャートである。この修正プログラム生成プログラムは、マイクロコンピュータ13のCPU7で実行され、それに接続されたパーソナルコンピュータ110から通信コマンドが受信された場合に、割込みが発生して実行される。すなわち、修正プログラム生成プログラムは、外部に接続されたパーソナルコンピュータ110から通信コマンドが受信されることを条件にマイクロコンピュータのCPU7で実行されるプログラムである。   FIG. 3 is a flowchart showing the flow of the correction program generation program stored in the ROM 3. This correction program generation program is executed by the CPU 7 of the microcomputer 13 and is executed upon occurrence of an interrupt when a communication command is received from the personal computer 110 connected thereto. That is, the correction program generation program is a program executed by the CPU 7 of the microcomputer on condition that a communication command is received from the personal computer 110 connected to the outside.

図3を参照して、修正プログラム生成プログラムは、CPU7の外部から通信コマンドが受信されると(ステップS01)、受信された通信コマンドが修正プログラムの生成の開始を指示するためのコマンドか否かが判断される(ステップS02)。真の場合にはステップS03に進み、偽の場合には処理を終了する。偽の場合なら、受信された通信コマンドは他の処理の実行を指示するものであるために、その他の処理に対応するプログラムを実行するためである。   Referring to FIG. 3, when a communication command is received from the outside of CPU 7 (step S01), the correction program generation program determines whether the received communication command is a command for instructing start of generation of the correction program. Is determined (step S02). If true, the process proceeds to step S03, and if false, the process ends. If it is false, the received communication command is an instruction to execute another process, so that a program corresponding to the other process is executed.

ステップS03では、分岐点が受信される。ここでは、分岐点として制御プログラムのアドレスそのものが受信されてもよいし、分岐点指定情報が受信されてもよい。そして、次のステップS04では、ステップS03で受信された分岐点に対応する制御プログラムのアドレスが取得され、EEPROM14Aの予め定めた所定のアドレスに書き込まれる。分岐点に対応する制御プログラムのアドレスは、受信された分岐点が制御プログラムのアドレス自身である場合にはそのアドレスである。受信された分岐点が分岐点指定情報の場合は、分岐点指定情報の順番iから配列変数X[i]に設定されているアドレス、または、分岐点指定情報の変数(KIDOU、TIMER、WARIKOMI)に設定されているアドレスである。EEPROM14Aに書き込むアドレスを予め定めた所定のアドレスとしたのは、後述するイニシャライズ処理で分岐点アドレスをレジスタ6に読み出す必要があるからである。   In step S03, a branch point is received. Here, the address of the control program itself may be received as a branch point, or branch point designation information may be received. In the next step S04, the address of the control program corresponding to the branch point received in step S03 is acquired and written to a predetermined address in the EEPROM 14A. The address of the control program corresponding to the branch point is the address when the received branch point is the address of the control program itself. When the received branch point is branch point designation information, the address set in the array variable X [i] from the order i of the branch point designation information or the variable (KIDOU, TIMER, WARIKOMI) of the branch point designation information It is an address set to. The reason why the address to be written in the EEPROM 14A is a predetermined address is that the branch point address needs to be read out to the register 6 by the initialization process described later.

ステップS05では、レジスタの値を変更するために、そのレジスタ(設定用レジスタ)を指定するためのアドレスと、変更後の値(設定値)とを受信する。設定用レジスタのアドレスと設定値とは、パーソナルコンピュータ110から受信される。なお、値を変更するレジスタが複数ある場合には、変更するレジスタの数だけ設定用レジスタのアドレスと設定値とがパーソナルコンピュータ110から受信され、ステップS05が繰り返される。   In step S05, in order to change the value of the register, an address for specifying the register (setting register) and the changed value (setting value) are received. The address and setting value of the setting register are received from the personal computer 110. When there are a plurality of registers whose values are to be changed, the setting register addresses and setting values are received from the personal computer 110 by the number of registers to be changed, and step S05 is repeated.

次のステップS06では、ステップS05で受信された設定用レジスタのアドレスと設定値とから設定用レジスタに設定値を設定する命令がEEPROM14Aに書き込まれる。命令が書き込まれる領域は、予め定められている。CPU7で後述するイニシャライズ処理が実行される場合、このイニシャライズ処理において、EEPROM14Aの所定の領域に記憶されているプログラムがRAM4に読み出される。そのようにイニシャライズ処理がCPU7で実行されるようにイニシャライズプログラムが作成される。このため、イニシャライズプログラムがCPU7で実行される場合に、修正プログラムがRAMに読み出されるように、EEPROM14Aの所定の領域に修正プログラムが記録される。ステップS05で設定用レジスタのアドレスと設定値とが複数受信された場合には、受信された順に命令が書き込まれる。   In the next step S06, an instruction for setting the setting value in the setting register from the setting register address and the setting value received in step S05 is written in the EEPROM 14A. The area where the instruction is written is determined in advance. When the CPU 7 executes an initialization process, which will be described later, in this initialization process, a program stored in a predetermined area of the EEPROM 14A is read to the RAM 4. In this way, an initialization program is created so that the initialization process is executed by the CPU 7. Therefore, when the initialization program is executed by the CPU 7, the correction program is recorded in a predetermined area of the EEPROM 14A so that the correction program is read into the RAM. If a plurality of setting register addresses and setting values are received in step S05, the commands are written in the order received.

次のステップS07では、修正プログラムから制御プログラムに復帰するための復帰命令がEEPROM14Aに書き込まれる。復帰するアドレスは、ステップS04で分岐点に基づき定められた制御プログラムのアドレスの次のアドレスとするのが好ましい。なお、復帰アドレスをパーソナルコンピュータ110から受信して、そのアドレスに復帰するための復帰命令を書き込むようにしてもよい。ステップS06で書き込まれた命令の1以上の命令と、ステップS07で書き込まれた復帰命令とで修正プログラムが構成される。   In the next step S07, a return instruction for returning from the correction program to the control program is written in the EEPROM 14A. The return address is preferably the address next to the address of the control program determined based on the branch point in step S04. Note that a return address may be received from the personal computer 110 and a return command for returning to the address may be written. The correction program is composed of one or more instructions written in step S06 and the return instruction written in step S07.

次のステップS08では、修正プログラムの生成を終了させることを示す終了コマンドが受信されたか否かが判断される。真の場合にはステップS08に進み、偽の場合にはステップS03に戻る。ステップS03に戻る場合には、別の分岐点に対応する修正プログラムが生成される。この場合、ステップS04で分岐点に対応する制御プログラムのアドレスを書き込むためのEEPROM14Aのアドレスは、2回目以降に書き込まれるものであり、ステップS04が実行されるごとに異なるアドレスとなる。同様に、ステップS05およびS06で修正プログラムを書き込むためのEEPROM14Aのアドレスは、2回目以降に書き込まれるものであり、ステップS05が実行されるごとに異なるアドレスとなる。   In the next step S08, it is determined whether or not an end command indicating that the generation of the correction program is to be ended is received. If true, the process proceeds to step S08, and if false, the process returns to step S03. When returning to step S03, a correction program corresponding to another branch point is generated. In this case, the address of the EEPROM 14A for writing the address of the control program corresponding to the branch point in step S04 is written after the second time, and becomes a different address every time step S04 is executed. Similarly, the address of the EEPROM 14A for writing the correction program in steps S05 and S06 is written after the second time, and becomes a different address every time step S05 is executed.

すなわち、修正プログラムは分岐点ごとに生成されて、分岐点に対応する制御プログラムのアドレスと修正プログラムとがEEPROM14Aに分岐点ごとに書き込まれる。換言すれば、複数の修正プログラムを生成することが可能であり、生成された複数の修正プログラムそれぞれは、分岐点に対応する制御プログラムのアドレスと関連付けてEEPROM14Aに記憶される。また、EEPROM14Aに書き込まれる分岐点に対応する制御プログラムのアドレスと修正プログラムとは、EEPROM14Aの予め定められた位置に書き込まれる。後述するイニシャライズ処理がCPU7で実行される場合に、分岐点に対応する制御プログラムのアドレスをレジスタ6に設定するために、EEPROM14Aから読み出す必要があり、また、その分岐点に対応する修正プログラムをRAM4に読み出すために、EEPROM14から読み出す必要があるからである。したがって、複数の修正プログラムと複数の分岐点に対応する制御プログラムのアドレスとは、EEPROM14Aのアドレスで関連つけられる。   That is, the correction program is generated for each branch point, and the address of the control program corresponding to the branch point and the correction program are written in the EEPROM 14A for each branch point. In other words, a plurality of correction programs can be generated, and each of the generated correction programs is stored in the EEPROM 14A in association with the address of the control program corresponding to the branch point. Further, the address of the control program corresponding to the branch point written in the EEPROM 14A and the correction program are written in a predetermined position in the EEPROM 14A. When initialization processing described later is executed by the CPU 7, in order to set the address of the control program corresponding to the branch point in the register 6, it is necessary to read from the EEPROM 14A, and a correction program corresponding to the branch point is stored in the RAM 4 This is because it is necessary to read from the EEPROM 14 in order to read the data. Accordingly, the addresses of the EEPROM 14A are associated with the addresses of the control programs corresponding to the plurality of correction programs and the plurality of branch points.

ステップS09では、イニシャライズ処理が実行される。その後、処理を終了する。これにより、ステップS01で割り込みを発生した位置に処理が戻る。   In step S09, initialization processing is executed. Thereafter, the process ends. As a result, the process returns to the position where the interruption occurred in step S01.

図4は、図3のステップS09で実行されるイニシャライズ処理の流れを示すフローチャートである。なお、このイニシャライズ処理は、従来の技術で説明したマイクロコンピュータで実行されるイニシャライズ処理と同様である。図4を参照して、イニシャライズ処理では、まず、EEPROM14Aに記憶されているデータを読み出す(ステップS11)。ここでは、EEPROM14Aの予め定められた領域に修正プログラムが記憶されているか否かが判断される(ステップS12)。上述したように修正プログラムと分岐点に対応する制御プログラムのアドレスとは関連付けられて対となって記憶されている。また、修正プログラムは複数を生成することが可能であるので、複数の修正プログラムが記録されるべきアドレスのすべてで修正プログラムの有無が判断される。少なくとも1つの修正プログラムが記憶されていれば、修正プログラムが記憶されていると判断して、処理をステップS13に進める。修正プログラムが1つも記憶されていない場合には処理を終了する。なお、ここでは、修正プログラムの記録の有無を判断するようにしているが、分岐点に対応する制御プログラムのアドレスの記録の有無を判断するようにしてもよい。   FIG. 4 is a flowchart showing a flow of initialization processing executed in step S09 of FIG. This initialization process is the same as the initialization process executed by the microcomputer described in the prior art. Referring to FIG. 4, in the initialization process, first, data stored in EEPROM 14A is read (step S11). Here, it is determined whether or not the correction program is stored in a predetermined area of the EEPROM 14A (step S12). As described above, the correction program and the address of the control program corresponding to the branch point are stored in association with each other. Since a plurality of correction programs can be generated, the presence / absence of a correction program is determined based on all addresses at which the plurality of correction programs are to be recorded. If at least one correction program is stored, it is determined that the correction program is stored, and the process proceeds to step S13. If no correction program is stored, the process ends. Here, it is determined whether or not the correction program is recorded, but it may be determined whether or not the address of the control program corresponding to the branch point is recorded.

ステップS13では、分岐点に対応する制御プログラムのアドレスをレジスタ6に設定する。そして、次のステップS14では、EEPROM14Aに記憶されている修正プログラムがRAM4の所定の領域にコピーされる。所定の領域は、分岐命令出力回路9が出力する分岐命令により定まる。たとえば、分岐命令出力回路9が出力する命令を、RAM4のアドレスF000Hへの分岐命令とすれば、修正プログラムはアドレスF000H以降に記憶される。修正プログラムが複数ある場合には、その数に応じたレジスタ6および分岐命令出力回路9が必要となるため、EEPROM14Aに記憶されている制御プログラムのアドレスは対応するレジスタ6に設定される。また、複数の修正プログラムそれぞれは、それに対応する分岐命令出力回路9が出力する分岐命令に基づき定まるRAM4のアドレス以降にコピーされる。   In step S13, the address of the control program corresponding to the branch point is set in the register 6. In the next step S14, the correction program stored in the EEPROM 14A is copied to a predetermined area of the RAM 4. The predetermined area is determined by the branch instruction output from the branch instruction output circuit 9. For example, if the instruction output from the branch instruction output circuit 9 is a branch instruction to the address F000H of the RAM 4, the correction program is stored after the address F000H. When there are a plurality of correction programs, the registers 6 and branch instruction output circuits 9 corresponding to the number of the correction programs are required, and therefore the address of the control program stored in the EEPROM 14A is set in the corresponding register 6. Each of the plurality of correction programs is copied after the address of the RAM 4 determined based on the branch instruction output from the corresponding branch instruction output circuit 9.

これにより、比較回路5において、フェッチポインタ1のアドレスとレジスタ6のアドレスとが比較され、両者が一致した時点で、選択回路8において分岐命令出力回路9が出力する命令が実行される。分岐命令出力回路9が出力する分岐命令で定まるRAM4のアドレスに記憶された修正プログラムがCPU7により実行されることになる。   As a result, the comparison circuit 5 compares the address of the fetch pointer 1 with the address of the register 6, and when the two match, the instruction output from the branch instruction output circuit 9 is executed in the selection circuit 8. The correction program stored at the address of the RAM 4 determined by the branch instruction output from the branch instruction output circuit 9 is executed by the CPU 7.

以上説明したように本実施の形態における監視カメラにおいては、制御プログラムの作成時に分岐点のアドレスを決定して、そのアドレス自体を記録しておく、または分岐点のアドレスに分岐点情報から分岐点のアドレスを得るための命令を制御プログラムに書き込んでおくものである。このため、パーソナルコンピュータ110から分岐点の指定が、制御プログラムのアドレス自体、または、分岐点情報として受け付けられることに応じて、分岐点に対応する制御プログラムのアドレスがEEPROM14Aの所定のアドレスに書込まれる。このため、制御プログラムの開発環境が整ってなく、制御プログラムを分岐させるアドレスを知ることができない場合であっても、記録された分岐点のアドレス自体、または分岐点情報をパーソナルコンピュータ110から指定するだけで、修正プログラム生成プログラムを実行するCPU12は、制御プログラムの分岐点アドレスを容易に得ることができる。   As described above, in the surveillance camera according to the present embodiment, the branch point address is determined when the control program is created, and the address itself is recorded, or the branch point is determined from the branch point information as the branch point address. An instruction for obtaining the address is written in the control program. Therefore, in response to the designation of the branch point from the personal computer 110 being accepted as the control program address itself or the branch point information, the address of the control program corresponding to the branch point is written to a predetermined address in the EEPROM 14A. It is. For this reason, even if the development environment for the control program is not in place and the address for branching the control program cannot be known, the recorded branch point address itself or branch point information is designated from the personal computer 110. As a result, the CPU 12 executing the correction program generation program can easily obtain the branch point address of the control program.

そして、パーソナルコンピュータ110から設定レジスタのアドレスとその設定値とが受付けられると、受付けられたアドレスのレジスタを設定値に設定するための命令がEEPROM14Aに書込まれ、分岐点に対応する制御プログラムのアドレスの次のアドレスに復帰する命令がEEPROM14Aに書込まれる。制御プログラムの作成時に、レジスタとそこに設定される値がどの命令によって参照されるかを記録しておけば、修正プログラムの生成時にパーソナルコンピュータ110から設定レジスタのアドレスとその設定値とを指定することができる。このため、制御プログラムの開発環境が整っていなくても、制御プログラムがCPU12で実行されてレジスタに設定された値を変更するための修正プログラムを容易に生成することができる。   When the address of the setting register and its set value are received from the personal computer 110, an instruction for setting the register of the received address to the set value is written into the EEPROM 14A, and the control program corresponding to the branch point is written. An instruction to return to the address next to the address is written in EEPROM 14A. When the control program is created, it is recorded by which instruction the register and the value set therein are referenced. When the correction program is generated, the address of the setting register and its set value are designated from the personal computer 110. be able to. For this reason, even if the development environment for the control program is not prepared, it is possible to easily generate a correction program for executing the control program on the CPU 12 and changing the value set in the register.

また、イニシャライズ処理によって、制御プログラムのアドレスがレジスタ6に設定され、修正プログラムがRAM4の所定の領域にコピーされる。このため、CPU7にROM3に記録されたプログラムとは異なる処理を実行させるための修正プログラムを容易に生成することが可能となる。   Further, the address of the control program is set in the register 6 by the initialization process, and the correction program is copied to a predetermined area of the RAM 4. For this reason, it is possible to easily generate a correction program for causing the CPU 7 to execute processing different from the program recorded in the ROM 3.

レジスタの値の変更の具体例としては、色再現、輝度調整、自動利得制御(AGC)等の画質に関連する処理に用いられるパラメータの変更、CDS/AGC23で実行する雑音抑圧処理に用いられるパラメータの変更、DSP24の実行する処理で用いられる撮像パラメータの変更を適用することができる。さらにこれらのパラメータがROM3のプログラムで固定されている場合であっても、監視カメラ100が設置される環境に適したパラメータを設定することが可能となる。たとえば、逆光での撮影が多くなるような設置環境、廊下、地下室などの光の量が比較的少ない環境等に監視カメラ100が設置される場合に有効である。   Specific examples of the change in the register value include a change in parameters used for processing related to image quality such as color reproduction, luminance adjustment, automatic gain control (AGC), and a parameter used for noise suppression processing executed by the CDS / AGC 23. The change of the imaging parameters used in the process executed by the DSP 24 can be applied. Furthermore, even when these parameters are fixed by the program of the ROM 3, it is possible to set parameters suitable for the environment where the monitoring camera 100 is installed. For example, it is effective when the surveillance camera 100 is installed in an installation environment where shooting with backlighting increases, an environment where the amount of light is relatively small, such as a corridor and a basement.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本発明の実施の形態の1つにおける監視カメラシステムの概略構成を示す図である。It is a figure showing the schematic structure of the surveillance camera system in one of the embodiments of the invention. 分岐点指定情報を説明するための図である。It is a figure for demonstrating branch point designation | designated information. ROMに記憶されている修正プログラム生成プログラムの流れを示すフローチャートである。It is a flowchart which shows the flow of the correction program production | generation program memorize | stored in ROM. 図3のステップS09で実行されるイニシャライズ処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the initialization process performed by step S09 of FIG. 従来のマイクロコンピュータの構成を示すブロック図である。It is a block diagram which shows the structure of the conventional microcomputer. 従来のマイクロコンピュータのメモリマップを示す図である。It is a figure which shows the memory map of the conventional microcomputer.

符号の説明Explanation of symbols

1 フェッチポインタ、2 アドレスバス、5 比較回路、6 レジスタ、8 選択回路、9 分岐命令出力回路、10 シリアルインタフェース、11 データバス、12 選択信号、13 マイクロコンピュータ、14A EEPROM、15 命令キュー、21 レンズ、22 CCD、23 CDS/AGC、24 DSP、100 監視カメラ、110 パーソナルコンピュータ。   1 fetch pointer, 2 address bus, 5 comparison circuit, 6 register, 8 selection circuit, 9 branch instruction output circuit, 10 serial interface, 11 data bus, 12 selection signal, 13 microcomputer, 14A EEPROM, 15 instruction queue, 21 lens , 22 CCD, 23 CDS / AGC, 24 DSP, 100 surveillance camera, 110 personal computer.

Claims (5)

少なくとも1つの分岐点アドレスを含むプログラムを記憶した読出専用メモリと、
前記読出専用メモリに記憶された命令を順に読出し実行する中央演算装置と、
不揮発性メモリと、
前記分岐点アドレスが設定される第1レジスタと、
前記中央演算装置が実行する命令のアドレスが、前記第1レジスタに設定された分岐点アドレスと一致した場合に、前記中央演算装置が実行する予定の次の命令とは別の命令を実行させる分岐手段と、
外部から信号を受信する受信手段とを備えた情報処理装置であって、
前記読出専用メモリは、
前記分岐点アドレスが入力されると、前記入力された分岐点アドレスを前記不揮発性メモリに書き込むステップと、
前記第1レジスタとは別の第2レジスタのアドレスと設定値とを受付けるステップと、
前記受付けられたアドレスの前記第2レジスタを前記受付けられた設定値に設定するための命令を前記不揮発性メモリに書き込むステップと、
前記分岐点アドレスの次のアドレスに復帰する命令を前記不揮発性メモリに書き込むステップとを前記中央演算装置に実行させる修正プログラム生成プログラムを記憶する、情報処理装置。
A read only memory storing a program including at least one branch point address;
A central processing unit that sequentially reads and executes instructions stored in the read-only memory;
Non-volatile memory;
A first register in which the branch point address is set;
A branch that executes an instruction different from the next instruction scheduled to be executed by the central processing unit when the address of the instruction executed by the central processing unit matches the branch point address set in the first register Means,
An information processing apparatus comprising a receiving means for receiving a signal from the outside,
The read-only memory is
When the branch point address is input, writing the input branch point address to the nonvolatile memory;
Receiving an address and a set value of a second register different from the first register;
Writing an instruction to the non-volatile memory to set the second register at the accepted address to the accepted set value;
An information processing apparatus that stores a correction program generation program that causes the central processing unit to execute a step of writing an instruction for returning to an address next to the branch point address to the nonvolatile memory.
前記読出専用メモリは、
前記不揮発性メモリに前記分岐点アドレスが記憶されている場合に、該分岐点アドレスを前記第1レジスタに設定するステップを前記中央演算装置に実行させるイニシャライズプログラムをさらに記憶する、請求項1に記載の情報処理装置。
The read-only memory is
The initialization program for causing the central processing unit to execute the step of setting the branch point address in the first register when the branch point address is stored in the nonvolatile memory is further stored. Information processing device.
前記修正プログラム生成プログラムは、予め定められた分岐点情報と、前記少なくとも1つの分岐点アドレスとを関連付けるステップと、
前記分岐点情報の受付けに応じて、該受付けられた分岐点情報に関連付けられた分岐点アドレスを特定するステップとをさらに含む、請求項1に記載の情報処理装置。
The correction program generating program associates predetermined branch point information with the at least one branch point address;
The information processing apparatus according to claim 1, further comprising: specifying a branch point address associated with the accepted branch point information in response to acceptance of the branch point information.
少なくとも1つの分岐点アドレスを含むプログラムを記憶した読出専用メモリと、
前記読出専用メモリに記憶された命令を順に読出し実行する中央演算装置と、
不揮発性メモリと、
前記分岐点アドレスが設定される第1レジスタと、
前記中央演算装置が実行する命令のアドレスが、前記第1レジスタに設定された分岐点アドレスと一致した場合に、前記中央演算装置が実行する予定の次の命令とは別の命令を実行させる分岐手段と、
外部から信号を受信する受信手段とを備えた情報処理装置で実行される修正プログラム生成方法であって、
前記読出専用メモリに記憶された修正プログラム生成プログラムは、
前記分岐点アドレスが入力されると、前記入力された分岐点アドレスを前記不揮発性メモリに書き込むステップと、
前記第1レジスタとは別の第2レジスタのアドレスと設定値とを受付けるステップと、
前記受付けられたアドレスの前記第2レジスタを前記受付けられた設定値に設定するための命令を前記不揮発性メモリに書き込むステップと、
前記分岐点アドレスの次のアドレスに復帰する命令を前記不揮発性メモリに書き込むステップとを前記中央演算装置に実行させる、修正プログラム生成方法。
A read only memory storing a program including at least one branch point address;
A central processing unit that sequentially reads and executes instructions stored in the read-only memory;
Non-volatile memory;
A first register in which the branch point address is set;
A branch for executing an instruction different from the next instruction scheduled to be executed by the central processing unit when the address of the instruction executed by the central processing unit coincides with a branch point address set in the first register Means,
A correction program generation method that is executed by an information processing apparatus including a receiving unit that receives a signal from the outside,
The correction program generation program stored in the read-only memory is
When the branch point address is input, writing the input branch point address to the nonvolatile memory;
Receiving an address and a set value of a second register different from the first register;
Writing an instruction to the non-volatile memory to set the second register at the accepted address to the accepted set value;
A correction program generation method that causes the central processing unit to execute a step of writing an instruction for returning to an address next to the branch point address to the nonvolatile memory.
少なくとも1つの分岐点アドレスを含むプログラムを記憶した読出専用メモリと、
前記読出専用メモリに記憶された命令を順に読出し実行する中央演算装置と、
不揮発性メモリと、
前記分岐点アドレスが設定される第1レジスタと、
前記中央演算装置が実行する命令のアドレスが、前記第1レジスタに設定された分岐点アドレスと一致した場合に、前記中央演算装置が実行する予定の次の命令とは別の命令を実行させる分岐手段と、
外部から信号を受信する受信手段とを備えた情報処理装置で実行される修正プログラム生成プログラムであって、
前記読出専用メモリに記憶され、
前記分岐点アドレスが入力されると、前記入力された分岐点アドレスを前記不揮発性メモリに書き込むステップと、
前記第1レジスタとは別の第2レジスタのアドレスと設定値とを受付けるステップと、
前記受付けられたアドレスの前記第2レジスタを前記受付けられた設定値に設定するための命令を前記不揮発性メモリに書き込むステップと、
前記分岐点アドレスの次のアドレスに復帰する命令を前記不揮発性メモリに書き込むステップとを前記中央演算装置に実行させる、修正プログラム生成プログラム。
A read only memory storing a program including at least one branch point address;
A central processing unit that sequentially reads and executes instructions stored in the read-only memory;
Non-volatile memory;
A first register in which the branch point address is set;
A branch that executes an instruction different from the next instruction scheduled to be executed by the central processing unit when the address of the instruction executed by the central processing unit matches the branch point address set in the first register Means,
A correction program generation program executed by an information processing apparatus including a receiving unit that receives a signal from outside,
Stored in the read-only memory,
When the branch point address is input, writing the input branch point address to the nonvolatile memory;
Receiving an address and a set value of a second register different from the first register;
Writing an instruction to the non-volatile memory to set the second register at the accepted address to the accepted set value;
A correction program generation program that causes the central processing unit to execute a step of writing an instruction for returning to the address next to the branch point address to the nonvolatile memory.
JP2005089413A 2005-03-25 2005-03-25 Information processing apparatus, correction program creation method and correction program creation program Pending JP2006268738A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005089413A JP2006268738A (en) 2005-03-25 2005-03-25 Information processing apparatus, correction program creation method and correction program creation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005089413A JP2006268738A (en) 2005-03-25 2005-03-25 Information processing apparatus, correction program creation method and correction program creation program

Publications (1)

Publication Number Publication Date
JP2006268738A true JP2006268738A (en) 2006-10-05

Family

ID=37204594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005089413A Pending JP2006268738A (en) 2005-03-25 2005-03-25 Information processing apparatus, correction program creation method and correction program creation program

Country Status (1)

Country Link
JP (1) JP2006268738A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102702A (en) * 2008-09-29 2010-05-06 Intel Corp Protocol extensions in displayport compatible interface
JP2011504621A (en) * 2007-11-02 2011-02-10 テルコーディア ライセンシング カンパニー, リミテッド ライアビリティ カンパニー Method and system for programming given policy
US8643658B2 (en) 2009-12-30 2014-02-04 Intel Corporation Techniques for aligning frame data
US8743105B2 (en) 2008-11-18 2014-06-03 Intel Corporation Techniques to control self refresh display functionality
US8823721B2 (en) 2009-12-30 2014-09-02 Intel Corporation Techniques for aligning frame data
US8941592B2 (en) 2010-09-24 2015-01-27 Intel Corporation Techniques to control display activity
US9052902B2 (en) 2010-09-24 2015-06-09 Intel Corporation Techniques to transmit commands to a target device to reduce power consumption
US9865233B2 (en) 2008-12-30 2018-01-09 Intel Corporation Hybrid graphics display power management

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011504621A (en) * 2007-11-02 2011-02-10 テルコーディア ライセンシング カンパニー, リミテッド ライアビリティ カンパニー Method and system for programming given policy
US8448159B2 (en) 2007-11-02 2013-05-21 Tti Inventions C Llc Method and system for policy enabled programming
JP2010102702A (en) * 2008-09-29 2010-05-06 Intel Corp Protocol extensions in displayport compatible interface
US8121060B2 (en) 2008-09-29 2012-02-21 Intel Corporation Protocol extensions in a display port compatible interface
US8411586B2 (en) 2008-09-29 2013-04-02 Intel Corporation Display port compatible interface communications
US8743105B2 (en) 2008-11-18 2014-06-03 Intel Corporation Techniques to control self refresh display functionality
US9110665B2 (en) 2008-11-18 2015-08-18 Intel Corporation Techniques to control self refresh display functionality
US9116697B2 (en) 2008-11-18 2015-08-25 Intel Corporation Techniques to control self refresh display functionality
US9141170B2 (en) 2008-11-18 2015-09-22 Intel Corporation Techniques to control self refresh display functionality
US9865233B2 (en) 2008-12-30 2018-01-09 Intel Corporation Hybrid graphics display power management
US8643658B2 (en) 2009-12-30 2014-02-04 Intel Corporation Techniques for aligning frame data
US8823721B2 (en) 2009-12-30 2014-09-02 Intel Corporation Techniques for aligning frame data
US8941592B2 (en) 2010-09-24 2015-01-27 Intel Corporation Techniques to control display activity
US9052902B2 (en) 2010-09-24 2015-06-09 Intel Corporation Techniques to transmit commands to a target device to reduce power consumption

Similar Documents

Publication Publication Date Title
JP2006268738A (en) Information processing apparatus, correction program creation method and correction program creation program
KR100307857B1 (en) Electronics
JP2007235786A (en) Imaging apparatus, exposure control method, and computer program
US20200154022A1 (en) Method and Apparatus for Accelerating AEC Convergence, and Terminal Device
US11765469B2 (en) Image capturing apparatus, device, control method, and computer-readable storage medium
WO2019237798A1 (en) Camera control method, mobile terminal, and computer readable storage medium
JP2009086955A (en) Camera apparatus and control method thereof
JP2011095952A (en) Method for updating firmware and electronic equipment
CN113923352B (en) Holder control method, holder control device, electronic equipment and storage medium
US20090055816A1 (en) Information processing apparatus, update method, and program
JP7146428B2 (en) Image recording device and its control method
US8049923B2 (en) Method and apparatus for image processing capable of efficiently interfacing with different digital signal processors
JP2007156855A (en) Information processor and information processing method
KR100673999B1 (en) Method for booting of mobile
JP2008028758A (en) Photographing apparatus and its control method, and computer program
JPH0746568A (en) Information processor
US20110134279A1 (en) Digital Camera
JP2009301319A (en) Multiprocessor system
US11843856B2 (en) Image capturing control apparatus capable of determining malfunction of an auxiliary processing apparatus, image capturing system, image capturing control method, and non-transitory computer-readable storage medium
JP2005157717A (en) Data transfer method and device
JP2006217418A (en) Image processing apparatus and method
US20110016238A1 (en) Data Access Apparatus
JP2024044011A (en) Information processing device and information processing method
CN115145522A (en) Information display method, device, equipment, storage medium and server system
KR100280317B1 (en) System for editing a function of a digital still camera