JP2005064709A - Communication apparatus - Google Patents

Communication apparatus Download PDF

Info

Publication number
JP2005064709A
JP2005064709A JP2003290361A JP2003290361A JP2005064709A JP 2005064709 A JP2005064709 A JP 2005064709A JP 2003290361 A JP2003290361 A JP 2003290361A JP 2003290361 A JP2003290361 A JP 2003290361A JP 2005064709 A JP2005064709 A JP 2005064709A
Authority
JP
Japan
Prior art keywords
firmware
new
old
communication
new firmware
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
JP2003290361A
Other languages
Japanese (ja)
Inventor
Ryoji Suzuki
亮司 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Cable Ltd
Original Assignee
Hitachi Cable 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 Hitachi Cable Ltd filed Critical Hitachi Cable Ltd
Priority to JP2003290361A priority Critical patent/JP2005064709A/en
Publication of JP2005064709A publication Critical patent/JP2005064709A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication apparatus capable of avoiding the interruption of communication when a firmware is updated. <P>SOLUTION: In the communication system, communication is processed with a firmware stored in a rewritable memory 1. The system comprises a high-order OS41 which is fixed and allows two different firmwares to operate in parallel. The high-order OS41 allows parallel operation of an old firmware (in an old code region 22) which is currently performing a communication process and an updating firmware 47 for downloading a new firmware for a new communication process to a memory 1. After the new firmware is downloaded, the initialization of the new firmware (in a new code region 32) and the old firmware are operated in parallel. After the initializing, the old firmware is stopped and the new firmware is allowed to process communication. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、通信処理のファームウェアが再書き込み可能な通信装置に係り、特に、ファームウェア更新時における通信の中断を回避できる通信装置に関するものである。   The present invention relates to a communication apparatus in which firmware for communication processing can be rewritten, and more particularly to a communication apparatus that can avoid interruption of communication at the time of firmware update.

ネットワークにおける中継など高速かつ高度な通信処理が必要とされる近年の通信装置では、CPUとそのCPUが実行するソフトウェアなどを格納するメモリと通信用LSIなどの周辺LSIとを備え、通信処理をソフトウェアで実行するのが一般的である。通信処理のソフトウェアは殆どハードウェアのように固定的に設けられているので、ファームウェアと呼ばれている。ファームウェアの利点は、通信装置の改良・設計変更に際してハードウェアに手を加えることなく、ファームウェアのバージョンアップだけを行うことで対応できることである。従って、ファームウェアは再書き込みが可能で、かつ停電でも記憶内容を保持できる不揮発性メモリに格納しておくのが好ましい。   Recent communication devices that require high-speed and advanced communication processing such as relaying in a network include a CPU, a memory that stores software executed by the CPU, and a peripheral LSI such as a communication LSI. It is common to execute with. Since the communication processing software is fixedly provided almost like hardware, it is called firmware. The advantage of the firmware is that it is possible to cope with improvement or design change of the communication apparatus by only upgrading the firmware without modifying the hardware. Therefore, it is preferable to store the firmware in a non-volatile memory that can be rewritten and can retain the stored contents even in the event of a power failure.

従来、通信装置においては、ファームウェアを更新する場合、イーサネット(登録商標)に準拠したイーサポート又はRS232Cポートに接続されたサーバからTFTPやXmodemなどのプロトコルを使用して新しいファームウェアを通信装置にダウンロードし、通信装置を再起動することによって、新ファームウェアによる通信処理を行う。   Conventionally, in a communication device, when updating firmware, new firmware is downloaded to the communication device using a protocol such as TFTP or Xmodem from an e-support compliant with Ethernet (registered trademark) or a server connected to the RS232C port. By restarting the communication device, communication processing by the new firmware is performed.

図2に、従来の通信装置におけるメモリの構成とハードウェアを含めたファームウェアの構造を示す。不揮発性メモリ51には、新しいファームウェアをダウンロードしたとき、旧ファームウェア(現在実行されているのと同じファームウェア)52と新ファームウェア(新しくダウンロードしたファームウェア)53と構成情報とが格納されている。なお、旧ファームウェア52を残さずに新ファームウェア53を上書きしてもよい。   FIG. 2 shows a memory configuration and a firmware structure including hardware in a conventional communication apparatus. The non-volatile memory 51 stores old firmware (the same firmware that is currently being executed) 52, new firmware (newly downloaded firmware) 53, and configuration information when new firmware is downloaded. The new firmware 53 may be overwritten without leaving the old firmware 52.

揮発性メモリ55には、ファームウェアが使用するデータが保存されている。即ち、割り込みベクタ領域61には割り込みベクタが、コード領域62には実際に実行に使用されるOSや各種タスクのコードが、データ領域63には実行中に変更されない静的変数が、ヒープ領域64には実行中に変更される動的変数が、スタック領域65には自動変数、関数の引数、関数実行時のメモリ番地などが記憶されている。なお、領域の分け方は、使用する言語などにより多少異なるので、上記した項目に限定されない。また、不揮発性メモリ51に書き込まれているファームウェアを直接実行する形態も可能である。   The volatile memory 55 stores data used by the firmware. That is, the interrupt vector area 61 contains an interrupt vector, the code area 62 contains the OS and code for various tasks that are actually used for execution, and the data area 63 contains static variables that are not changed during execution, the heap area 64. Are stored as dynamic variables that are changed during execution, and the stack area 65 stores automatic variables, function arguments, memory addresses at the time of function execution, and the like. Note that the method of dividing the area is slightly different depending on the language used, and is not limited to the above items. In addition, a form in which firmware written in the nonvolatile memory 51 is directly executed is also possible.

通信処理のファームウェアは、OSと各種タスクとから構成されており、OSの制御下で随時必要なタスクが実行される。従って、旧ファームウェア73は、図示のように、旧OS71が複数の旧タスク72を管理している構造となる。CPU6は、再起動直前まで旧OS71を実行し、その旧OS71の制御下で随時必要な旧タスク72を実行する。この後、通信装置を再起動(電源再投入或いはCPU6をリセット)すると、新ファームウェア83が起動される。新ファームウェア83は新OS81が複数の新タスク82を管理している構造となり、CPU6は新OS81を実行し、その新OS81の制御下で随時必要な新タスク82を実行する。   The communication processing firmware comprises an OS and various tasks, and necessary tasks are executed as needed under the control of the OS. Therefore, the old firmware 73 has a structure in which the old OS 71 manages a plurality of old tasks 72 as shown in the figure. The CPU 6 executes the old OS 71 until immediately before rebooting, and executes an old task 72 that is necessary at any time under the control of the old OS 71. Thereafter, when the communication apparatus is restarted (power is turned on again or the CPU 6 is reset), the new firmware 83 is started. The new firmware 83 has a structure in which the new OS 81 manages a plurality of new tasks 82, and the CPU 6 executes the new OS 81 and executes necessary new tasks 82 under the control of the new OS 81.

特開2001−051844号公報JP 2001-051844 A

新ファームウェア83を起動する場合、通信装置の再起動を開始してから通信処理が実行可能になるまでには、CPU6の初期化、揮発性メモリ55への書き込み・読み出しを実施確認するメモリテスト、不揮発性メモリ51の新ファームウェア53を揮発性メモリ55のコード領域62へコピー、割り込みベクタの初期設定、スタック領域の設定、新OS81の起動、各新タスク82の起動などの初期化処理を行う必要がある。この初期化処理を行っている間は、通信処理が中断される。なお、初期化処理の内容は、CPU6の機種、使用する言語などにより多少異なるので、上記した項目に限定されない。   When starting up the new firmware 83, a memory test for confirming the initialization of the CPU 6 and the writing / reading to / from the volatile memory 55 from when the restart of the communication device is started until communication processing can be executed, It is necessary to perform initialization processing such as copying the new firmware 53 of the non-volatile memory 51 to the code area 62 of the volatile memory 55, initializing the interrupt vector, setting the stack area, starting the new OS 81, and starting each new task 82. There is. While this initialization process is performed, the communication process is interrupted. Note that the contents of the initialization process differ somewhat depending on the model of the CPU 6, the language used, and the like, and are not limited to the items described above.

また、旧ファームウェア73が揮発性メモリ55に保持していたデータが通信装置の再起動及び新ファームウェア83の起動の際に初期化されることにより、データの不連続が生じる。例えば、リンクアップ/ダウンなどのネットワークの状態を示すデータが新ファームウェア83に引き継ぎされず状態が変化したようになってしまう。   Further, the data held in the volatile memory 55 by the old firmware 73 is initialized when the communication apparatus is restarted and the new firmware 83 is started, thereby causing data discontinuity. For example, data indicating the network status such as link up / down is not taken over by the new firmware 83, and the status changes.

また、旧ファームウェア73により既に設定がなされていた周辺LSI(図示せず)が通信装置の再起動及び新ファームウェア83により再設定されることにより、周辺LSIの状態の継続が中断されて通信の瞬断が発生する。   Further, a peripheral LSI (not shown) that has already been set by the old firmware 73 is restarted by the communication device and reset by the new firmware 83, so that the continuation of the state of the peripheral LSI is interrupted and the communication momentary Interruption occurs.

以上のように、従来の通信装置では、ファームウェア更新時に通信が中断されることは避けられない。このため、ネットワークの加入者に対する通信接続サービスが中断してしまうことになる。特にインターネットの幹線に設置される通信装置では、通信接続サービスの中断はあってはならないことである。   As described above, in the conventional communication device, it is inevitable that communication is interrupted when the firmware is updated. For this reason, the communication connection service for the network subscriber is interrupted. In particular, in a communication device installed on the trunk line of the Internet, the communication connection service should not be interrupted.

通信の中断を回避するためにCPUを2個搭載して二重化することは可能であるが、コストが増大するので好ましくない。CPUを1個搭載したものにおいて通信の中断を回避する構成とするのが望ましい。   In order to avoid interruption of communication, it is possible to mount two CPUs and to duplicate them, but this is not preferable because the cost increases. It is desirable to adopt a configuration that avoids interruption of communication in the case of mounting one CPU.

そこで、本発明の目的は、上記課題を解決し、ファームウェア更新時における通信の中断を回避できる通信装置を提供することにある。   Accordingly, an object of the present invention is to provide a communication apparatus that solves the above-described problems and can avoid communication interruption at the time of firmware update.

上記目的を達成するために本発明は、再書き込み可能なメモリに格納されたファームウェアにより通信処理を実行する通信装置において、2つの異なるファームウェアを並列動作させる固定された上位OSを有し、この上位OSにより、現在通信処理を実行している旧ファームウェアと新しい通信処理用の新ファームウェアをメモリにダウンロードする更新用ファームウェアとを並列動作させ、新ファームウェアのダウンロードが終了した後、新ファームウェアの初期化処理と旧ファームウェアとを並列動作させ、初期化処理が終了した後、旧ファームウェアを停止させ新ファームウェアに通信処理を実行させるものである。   In order to achieve the above object, the present invention has a fixed host OS that operates two different firmwares in parallel in a communication device that executes communication processing using firmware stored in a rewritable memory. The OS performs the parallel operation of the old firmware that is currently executing the communication process and the update firmware that downloads the new firmware for the new communication process to the memory. After the download of the new firmware is completed, the new firmware is initialized. And the old firmware are operated in parallel, and after the initialization process is completed, the old firmware is stopped and the new firmware executes the communication process.

旧ファームウェアから新ファームウェアに引き継ぐデータを格納する共通データ領域を有し、新ファームウェアは初期化処理中に共通データ領域からデータを取り込んでもよい。   There may be a common data area for storing data to be transferred from the old firmware to the new firmware, and the new firmware may capture data from the common data area during the initialization process.

新ファームウェアが周辺LSIに設定するデータを格納するLSI設定データ領域を有し、新ファームウェアが初期化処理中に周辺LSIに設定するデータは周辺LSIに送出せずにLSI設定データ領域に一時保存し、新ファームウェアに通信処理を実行させるときにLSI設定データ領域の内容を周辺LSIに送出してもよい。   The new firmware has an LSI setting data area for storing data set in the peripheral LSI, and the data set in the peripheral LSI by the new firmware during initialization processing is temporarily stored in the LSI setting data area without being sent to the peripheral LSI. The contents of the LSI setting data area may be sent to the peripheral LSI when the new firmware executes communication processing.

本発明は次の如き優れた効果を発揮する。   The present invention exhibits the following excellent effects.

(1)ファームウェア更新時における通信の中断を回避できる。   (1) Communication interruption during firmware update can be avoided.

以下、本発明の一実施形態を添付図面に基づいて詳述する。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

図1に示されるように、本発明に係る通信装置では、不揮発性メモリ1には、新しいファームウェアをダウンロードしたとき、旧ファームウェア(現在実行されているのと同じファームウェア)2と、新ファームウェア(新しくダウンロードしたファームウェア)3と構成情報4とが格納されている。なお、後述するファームウェア更新の手順では、未だ新しいファームウェアをダウンロードしていない状態から説明を始める。また、この実施形態では、不揮発性メモリ51に書き込まれているファームウェアを直接実行せず、揮発性メモリ5にコピーしたものを実行するものとする。実行に用いるファームウェアは符号を変えて示してある。   As shown in FIG. 1, in the communication device according to the present invention, when new firmware is downloaded to the nonvolatile memory 1, old firmware (the same firmware that is currently being executed) 2 and new firmware (new Downloaded firmware) 3 and configuration information 4 are stored. In the firmware update procedure described later, the description starts from a state where new firmware has not yet been downloaded. In this embodiment, the firmware written in the nonvolatile memory 51 is not directly executed, but the firmware copied to the volatile memory 5 is executed. The firmware used for execution is shown with different signs.

揮発性メモリ5には、旧ファームウェア47が使用しているデータ、新ファームウェア48が使用している(これから使用する)データ、上位OS41に関係するデータなどが保存されている。詳しく述べると、揮発性メモリ5の割り込みベクタ領域11には上位OS41が管理する割り込みベクタが、コード領域12には実際に実行に使用される上位OS41のコードが、データ領域13には実行中に変更されない上位OS41の静的変数が、ヒープ領域14には後述する新旧の諸変数が、共通データ領域15には旧ファームウェア47から新ファームウェア48に引き継ぐデータが、LSI設定データ領域16には新ファームウェア48が初期化処理中に周辺LSI7に設定するデータが、スタック領域17には上位OS41における自動変数、関数の引数、関数実行時のメモリ番地などが記憶されている。   The volatile memory 5 stores data used by the old firmware 47, data used by the new firmware 48 (to be used in the future), data related to the host OS 41, and the like. Specifically, the interrupt vector area 11 of the volatile memory 5 has an interrupt vector managed by the upper OS 41, the code area 12 has the code of the upper OS 41 actually used for execution, and the data area 13 has the code being executed. Static variables of the upper OS 41 that are not changed, new and old variables to be described later in the heap area 14, data inherited from the old firmware 47 to the new firmware 48 in the common data area 15, and new firmware in the LSI setting data area 16 Data to be set in the peripheral LSI 7 during the initialization process 48 is stored in the stack area 17 and automatic variables, function arguments, memory addresses at the time of function execution, etc. in the upper OS 41 are stored.

ヒープ領域14をさらに詳しく述べると、旧割り込みベクタ領域21には旧OS42が管理する割り込みベクタが、旧コード領域22には実際に実行に使用される旧ファームウェア(旧OS42や各種旧タスク45)47が、旧データ領域23には旧ファームウェア47の実行中に変更されない旧ファームウェア47の静的変数が、旧ヒープ領域24には旧ファームウェア47の実行中に変更される動的変数が、旧スタック領域25には旧OS47における自動変数、関数の引数、関数実行時のメモリ番地などが、新割り込みベクタ領域31には新OS43が管理する割り込みベクタが、新コード領域32には実際に実行に使用される新ファームウェア(新OS43や各種新タスク46)48のコードが、新データ領域33には新ファームウェア48の実行中に変更されない新OS43の静的変数が、新ヒープ領域34には新ファームウェア48の実行中に変更される動的変数が、新スタック領域35には新OS43における自動変数、関数の引数、関数実行時のメモリ番地などが記憶されている。   The heap area 14 will be described in more detail. The interrupt vector managed by the old OS 42 is stored in the old interrupt vector area 21, and the old firmware (the old OS 42 and various old tasks 45) 47 actually used for execution is stored in the old code area 22. However, the old data area 23 contains static variables of the old firmware 47 that are not changed during the execution of the old firmware 47, and the old heap area 24 contains dynamic variables that are changed during the execution of the old firmware 47. 25, automatic variables, function arguments, memory addresses at the time of function execution in the old OS 47, interrupt vectors managed by the new OS 43 in the new interrupt vector area 31, and actual execution in the new code area 32. The code of the new firmware (new OS 43 and various new tasks 46) 48 is stored in the new data area 33 in the new firmware. The static variables of the new OS 43 that are not changed during the execution of the server 48, the dynamic variables that are changed during the execution of the new firmware 48 are stored in the new heap area 34, and the automatic variables and functions in the new OS 43 are stored in the new stack area 35. , The memory address at the time of function execution, etc. are stored.

新旧ファームウェア47,48は、それぞれ新旧OS42,43と新旧各種タスク45,46とからなり、CPU6は、上位OS41を実行し、その上位OS41の制御下で旧OS42と新OS43とを並列動作させることができる。上位OS41は、時分割やイベントの割り込みに応じて使用するメモリ領域、CPUレジスタ、割り込みベクタなどを切替え、下位の新旧OS42,43を交互に実行させる。その新旧OS42,43の制御下でそれぞれ新旧の各種タスク45,46が実行されるので、新旧ファームウェア47,48が並列動作(見掛け上同時に動作)することになる。また、上位OS41は、旧ファームウェア47と更新用ファームウェア44とを並列動作させることもできる。即ち、上位OS41は、互いに独立した2つのファームウェア(便宜的に一方を主ファームウェア、他方を副ファームウェアと呼ぶことがあるが、固定的にどちらかが主というわけではない)を並列動作させることができ、その主副ファームウェアとして新旧ファームウェア47,48或いは更新用ファームウェア44を選択することができる。更新用ファームウェア44は、サーバからの新しいファームウェアを不揮発性メモリ1にダウンロードするもので、上位OS41の中に含まれている。   The old and new firmwares 47 and 48 include old and new OSs 42 and 43 and old and new various tasks 45 and 46, respectively. The CPU 6 executes the upper OS 41 and causes the old OS 42 and the new OS 43 to operate in parallel under the control of the upper OS 41. Can do. The upper OS 41 switches memory areas, CPU registers, interrupt vectors, and the like used in response to time division and event interrupts, and alternately executes lower and old OSs 42 and 43. Since the old and new various tasks 45 and 46 are executed under the control of the new and old OSs 42 and 43, the old and new firmware 47 and 48 operate in parallel (apparently operate simultaneously). The host OS 41 can also operate the old firmware 47 and the update firmware 44 in parallel. That is, the host OS 41 can operate two independent firmwares (for convenience, one is called main firmware and the other is called sub-firmware, but one is not fixed as the main) in parallel. The old and new firmware 47, 48 or the update firmware 44 can be selected as the main / sub firmware. The update firmware 44 downloads new firmware from the server to the nonvolatile memory 1 and is included in the upper OS 41.

上位OS41は、固定的に設けられる。即ち、図示しないROM或いは不揮発性メモリ1に書き替え不能に格納される。上位OS41は、通信装置を再起動する際にはCPU6内にハードウェアとして組まれているブートプログラムにより揮発性メモリ5のコード領域12に展開されて実行に供される。   The upper OS 41 is fixedly provided. That is, it is stored in a ROM or non-volatile memory 1 (not shown) so as not to be rewritten. When the communication device is restarted, the host OS 41 is expanded in the code area 12 of the volatile memory 5 by a boot program built as hardware in the CPU 6 and is executed.

また、図2では省略していたが、通信装置には、ポートで受信したフレームを所定の取り決めに従って他のポートへ転送するSWLSI、ポートの物理層インタフェースであるPHYLSIなどの周辺LSI7が設けられており、これら周辺LSI7はCPU6から設定された設定内容に基づいて動作をする。具体的な設定内容としては、VLANの設定、フィルタリングの設定など多様にあるが、これらは公知であるので詳しい説明は省略する。   Although omitted in FIG. 2, the communication apparatus is provided with a peripheral LSI 7 such as a SWLSI that transfers a frame received at a port to another port according to a predetermined agreement, and a PHYLSI that is a physical layer interface of the port. These peripheral LSIs 7 operate based on the setting contents set by the CPU 6. Specific settings include various settings such as VLAN settings and filtering settings, but these are well-known and will not be described in detail.

次に、この通信装置におけるファームウェア更新時の動作を説明する。   Next, the operation at the time of firmware update in this communication apparatus will be described.

1)上位OS41は、常に2つのファームウェア(主ファームウェアと副ファームウェア)を交互に切り替えて実行する。切り替え時には、CPUレジスタとスタックポインタを退避する。割り込みが発生したら主ファームウェアと副ファームウェアに割り込みベクタをそれぞれ参照させ、それぞれ割り込みタスクを実行させる。   1) The host OS 41 always switches between two firmwares (main firmware and sub firmware) and executes them. At the time of switching, the CPU register and the stack pointer are saved. When an interrupt occurs, the main firmware and the sub firmware reference the interrupt vector, and execute the interrupt task.

2)CPU6から周辺LSI7への書き込みは、必ず上位OS41による制御を介して行われる。主ファームウェアが周辺LSI7に設定を行った場合には上位OS41が当該周辺LSI7に書き込みを行い実際に設定が達成される。副ファームウェアが周辺LSI7に設定を行った場合には上位OS41は当該周辺LSI7には書き込みを行わず実際の設定はなされない。その代わりに、上位OS41は副ファームウェアから周辺LSI7に書き込むはずの設定データをLSI設定データ領域16に格納する。この制御は、副ファームウェアとして新ファームウェア48が初期化処理を実行中に適用される。副ファームウェアとして更新用ファームウェア44がダウンロードを実行するために周辺LSI7に設定を行う場合はこの限りではない。   2) Writing from the CPU 6 to the peripheral LSI 7 is always performed through control by the host OS 41. When the main firmware sets the peripheral LSI 7, the upper OS 41 writes to the peripheral LSI 7 and the setting is actually achieved. When the sub firmware sets the peripheral LSI 7, the upper OS 41 does not write to the peripheral LSI 7 and the actual setting is not performed. Instead, the host OS 41 stores setting data that should be written from the sub firmware to the peripheral LSI 7 in the LSI setting data area 16. This control is applied while the new firmware 48 is executing initialization processing as sub-firmware. This is not the case when the update firmware 44 sets the peripheral LSI 7 as the sub firmware in order to execute the download.

3)上位OS41は、通常時(ファームウェアの更新をしないで通信処理をしているとき)には、主ファームウェアとして現行ファームウェア(現在、通信処理に供されているファームウェアのこと)を実行させ、副ファームウェアとして更新用ファームウェア44を実行させる。ただし、サーバから更新の要請がないときは更新用ファームウェア44が行う処理は実質的に何もなく見掛け上待ち状態であり、サーバから更新の要請があればダウンロードが開始される。   3) At the normal time (when performing communication processing without updating firmware), the host OS 41 executes the current firmware (the firmware currently being used for communication processing) as the main firmware, Update firmware 44 is executed as firmware. However, when there is no update request from the server, there is virtually no processing performed by the update firmware 44, and the download is started when there is an update request from the server.

4)主ファームウェアとして現行ファームウェアが実行されている間(通常時とダウンロード中と新ファームウェアの初期化処理中)、現行ファームウェアはリンク状態などのデータを旧データ領域23又は旧ヒープ領域24に記憶すると共に、この同じデータを共通データ領域15にも保存しておく。共通データ領域15は、ファームウェアの新旧によらず予め決めておいた番地に予め決めておいたデータ項目を書き込み、読み出せるよう番地が固定されており、これによってファームウェアが更新されても以前のファームウェアが使用していたデータを引き継ぐことができる。   4) While the current firmware is being executed as the main firmware (during normal time, during downloading, and during the initialization process of the new firmware), the current firmware stores data such as the link state in the old data area 23 or the old heap area 24. At the same time, the same data is also stored in the common data area 15. The common data area 15 has a fixed address so that a predetermined data item can be written to and read from a predetermined address regardless of whether the firmware is new or old. The data used by can be taken over.

5)イーサポート又はRS232Cポートに接続されたサーバからの更新要請によりファームウェアの更新を行うときには、更新用ファームウェア44がサーバから新しいファームウェアを不揮発性メモリ1にダウンロードする。これにより、新ファームウェア3が不揮発性メモリ1に格納される。   5) When firmware is updated by an e-support or an update request from a server connected to the RS232C port, the update firmware 44 downloads new firmware from the server to the nonvolatile memory 1. As a result, the new firmware 3 is stored in the nonvolatile memory 1.

6)更新用ファームウェア44は、新ファームウェア3のダウンロードが終了したら、その新ファームウェア3を副ファームウェアとして実行させるため揮発性メモリ5の新コード領域32にコピーし、その副ファームウェアに制御を移す(プログラム開始番地にプログラムカウンタをジャンプさせる)。これにより、副ファームウェアは更新用ファームウェア44から新ファームウェア48に移行し、更新用ファームウェア44は終了する。   6) When the download of the new firmware 3 is completed, the update firmware 44 copies the new firmware 3 to the new code area 32 of the volatile memory 5 to execute the new firmware 3 as the sub firmware, and transfers control to the sub firmware (program) Jump the program counter to the start address). As a result, the sub firmware shifts from the update firmware 44 to the new firmware 48, and the update firmware 44 ends.

7)起動された新ファームウェア48は、まず最初に初期化処理を行う。即ち、新ファームウェア48は、現行ファームウェア(以下、旧ファームウェア47と呼ぶ)が共通データ領域15に保存した引継ぎ用のデータを読み取り、新データ領域33及び新ヒープ領域34に初期データとしてコピーする。これにより、旧ファームウェア47がこれまで使っていたデータと新ファームウェア48がこれから使うデータとが一致し、データが引き継がれる。さらに、新ファームウェア48は、新割り込みベクタ領域31への割り込みベクタの初期設定、新スタック領域35へのスタック領域の設定、新コード領域32内の各タスクの起動を行う。   7) The activated new firmware 48 first performs an initialization process. That is, the new firmware 48 reads the takeover data stored in the common data area 15 by the current firmware (hereinafter referred to as the old firmware 47), and copies it to the new data area 33 and the new heap area 34 as initial data. As a result, the data previously used by the old firmware 47 and the data to be used by the new firmware 48 coincide with each other, and the data is taken over. Further, the new firmware 48 initializes an interrupt vector in the new interrupt vector area 31, sets a stack area in the new stack area 35, and activates each task in the new code area 32.

8)上位OS41は、新ファームウェア48の初期化処理が終了したら、主ファームウェアである旧ファームウェア47の実行を停止し、主ファームウェアを更新用ファームウェア44に切り替える。これまでの副ファームウェアを主ファームウェアとし、主ファームウェアを副ファームウェアとする。そして、副ファームウェアとなった更新用ファームウェア44の実行を開始する。さらに、上位OS41は、LSI設定データ領域16に格納してあった設定データを周辺LSI7に書き込むことで実際の設定を行う。主ファームウェアとなった新ファームウェア48は、初期化処理が終了しているので通常時の動作に移り、現行ファームウェアとなる。これにより、主ファームウェアとして現行ファームウェアを実行させ、副ファームウェアとして更新用ファームウェア44を実行させている状態に戻る。   8) When the initialization process of the new firmware 48 is completed, the upper OS 41 stops the execution of the old firmware 47, which is the main firmware, and switches the main firmware to the update firmware 44. The sub firmware so far is the main firmware, and the main firmware is the sub firmware. Then, the execution of the update firmware 44 that has become the sub-firmware is started. Further, the host OS 41 performs the actual setting by writing the setting data stored in the LSI setting data area 16 to the peripheral LSI 7. Since the new firmware 48 that has become the main firmware has been initialized, the operation proceeds to the normal operation and becomes the current firmware. As a result, the current firmware is executed as the main firmware, and the update firmware 44 is executed as the sub firmware.

なお、従来技術で行っていた初期化処理のうちCPU7の初期化及びメモリテストは、本発明によるファームウェア更新時には行う必要がなく、通信装置の電源再投入時或いはCPU7のリセット時に行うことになる。   Of the initialization processing performed in the prior art, the initialization of the CPU 7 and the memory test need not be performed when the firmware is updated according to the present invention, but are performed when the power of the communication apparatus is turned on again or when the CPU 7 is reset.

以上説明したように、本発明に係る通信装置は、固定的に設けられている上位OS41の制御下で2つの異なるファームウェアを並列動作させるようにし、現在通信処理を実行している旧ファームウェア(現行ファームウェア)47と更新用ファームウェア44とを並列動作させることで、通信処理を継続的に実行させながら新ファームウェア48をダウンロードし、新ファームウェア48の初期化処理と旧ファームウェア47とを並列動作させた後、新ファームウェア48による通信処理に切り替えるので、通信処理の中断がなくなる。   As described above, the communication apparatus according to the present invention allows two different firmwares to operate in parallel under the control of the upper OS 41 that is fixedly provided, and the old firmware (currently executing current communication processing) Firmware) 47 and update firmware 44 are operated in parallel to download new firmware 48 while continuously executing communication processing, and after initialization processing of new firmware 48 and old firmware 47 are operated in parallel. Since the communication process is switched to the new firmware 48, the communication process is not interrupted.

また、本発明に係る通信装置は、旧ファームウェア47から新ファームウェア48に引き継ぐデータを格納する共通データ領域15を設けたので、リンクアップ/ダウンなどのネットワークの状態を示すデータを旧ファームウェア47から新ファームウェア48に引き継ぎすることができ、データの不連続が生じない。その際、共通データ領域15はファームウェアの新旧によらず番地が固定されているので、プログラム長やメモリ使用量が変って新旧ファームウェア間で同じデータ項目の番地が相対的にずれても、共通データ領域15に関しては固定の同じ番地で読み書きすることができる。   In addition, since the communication apparatus according to the present invention is provided with the common data area 15 for storing data to be transferred from the old firmware 47 to the new firmware 48, data indicating the network status such as link up / down is updated from the old firmware 47. The firmware 48 can be taken over and no data discontinuity occurs. At this time, since the address of the common data area 15 is fixed regardless of the firmware old and new, even if the program length and memory usage change and the address of the same data item is relatively shifted between the old and new firmware, the common data area 15 The area 15 can be read and written at the same fixed address.

また、本発明に係る通信装置は、新ファームウェア48が初期化処理中に周辺LSI7に設定するデータは周辺LSI7に送出せずにLSI設定データ領域16に一時保存し、新ファームウェア48に通信処理を実行させるときにLSI設定データ領域16の内容を周辺LSI7に送出するようにしたので、2つのファームウェア47,48が同一の周辺LSI7に異なった設定を重ね書きし合うことがなくなり、周辺LSI7の状態の継続が中断されることによる通信の瞬断が発生しなくなる。   In addition, the communication apparatus according to the present invention temporarily stores the data set in the peripheral LSI 7 during the initialization process by the new firmware 48 in the LSI setting data area 16 without sending it to the peripheral LSI 7, and performs the communication process in the new firmware 48. Since the contents of the LSI setting data area 16 are sent to the peripheral LSI 7 at the time of execution, the two firmwares 47 and 48 do not overwrite different settings in the same peripheral LSI 7, and the state of the peripheral LSI 7 No interruption of communication due to interruption of continuation of communication.

以上のように、本発明の通信装置では、ファームウェア更新時に通信が中断されることがないので、ネットワークの加入者に対する通信接続サービスを中断することなくバージョンアップをすることができる。   As described above, in the communication apparatus of the present invention, communication is not interrupted when firmware is updated, so that the version can be upgraded without interrupting the communication connection service for the network subscriber.

本発明の一実施形態を示す通信装置のメモリ構成とファームウェア構造の図である。It is a figure of the memory structure and firmware structure of the communication apparatus which shows one Embodiment of this invention. 従来の通信装置のメモリ構成とファームウェア構造の図である。It is a figure of the memory structure and firmware structure of the conventional communication apparatus.

符号の説明Explanation of symbols

1 不揮発性メモリ
2 旧ファームウェア(以前にダウンロードされたもの)
3 新ファームウェア(今回ダウンロードされたもの)
5 揮発性メモリ
15 共通データ領域
16 LSI設定データ領域
41 上位OS
42 旧OS
43 新OS
44 更新用ファームウェア
45 旧タスク
46 新タスク
47 旧ファームウェア(実行されるもの)
48 新ファームウェア(実行されるもの)
1 Nonvolatile memory 2 Old firmware (downloaded previously)
3 New firmware (downloaded this time)
5 Volatile memory 15 Common data area 16 LSI setting data area 41 Host OS
42 Old OS
43 New OS
44 Firmware for update 45 Old task 46 New task 47 Old firmware (executed)
48 New firmware (to be executed)

Claims (3)

再書き込み可能なメモリに格納されたファームウェアにより通信処理を実行する通信装置において、2つの異なるファームウェアを並列動作させる固定された上位OSを有し、この上位OSにより、現在通信処理を実行している旧ファームウェアと新しい通信処理用の新ファームウェアをメモリにダウンロードする更新用ソフトウェアとを並列動作させ、新ファームウェアのダウンロードが終了した後、新ファームウェアの初期化処理と旧ファームウェアとを並列動作させ、初期化処理が終了した後、旧ファームウェアを停止させ新ファームウェアに通信処理を実行させることを特徴とする通信装置。   A communication apparatus that executes communication processing using firmware stored in a rewritable memory has a fixed upper OS that operates two different firmware in parallel, and currently executes communication processing using the upper OS. The old firmware and the update software that downloads the new firmware for new communication processing to the memory are operated in parallel.After the download of the new firmware is completed, the initialization process of the new firmware and the old firmware are operated in parallel to initialize. A communication device characterized in that after the processing is completed, the old firmware is stopped and the new firmware executes the communication processing. 旧ファームウェアから新ファームウェアに引き継ぐデータを格納する共通データ領域を有し、新ファームウェアは初期化処理中に共通データ領域からデータを取り込むことを特徴とする請求項1記載の通信装置。   2. The communication apparatus according to claim 1, further comprising a common data area for storing data to be transferred from the old firmware to the new firmware, wherein the new firmware takes in data from the common data area during the initialization process. 新ファームウェアが周辺LSIに設定するデータを格納するLSI設定データ領域を有し、新ファームウェアが初期化処理中に周辺LSIに設定するデータは周辺LSIに送出せずにLSI設定データ領域に一時保存し、新ファームウェアに通信処理を実行させるときにLSI設定データ領域の内容を周辺LSIに送出することを特徴とする請求項1又は2記載の通信装置。
The new firmware has an LSI setting data area for storing data set in the peripheral LSI, and the data set in the peripheral LSI by the new firmware during initialization processing is temporarily stored in the LSI setting data area without being sent to the peripheral LSI. 3. The communication apparatus according to claim 1, wherein the content of the LSI setting data area is transmitted to the peripheral LSI when the new firmware executes communication processing.
JP2003290361A 2003-08-08 2003-08-08 Communication apparatus Pending JP2005064709A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003290361A JP2005064709A (en) 2003-08-08 2003-08-08 Communication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003290361A JP2005064709A (en) 2003-08-08 2003-08-08 Communication apparatus

Publications (1)

Publication Number Publication Date
JP2005064709A true JP2005064709A (en) 2005-03-10

Family

ID=34368416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003290361A Pending JP2005064709A (en) 2003-08-08 2003-08-08 Communication apparatus

Country Status (1)

Country Link
JP (1) JP2005064709A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013516844A (en) * 2010-01-05 2013-05-13 エントロピック・コミュニケーションズ・インコーポレイテッド Method and apparatus for interface to layer 2 of an open system interconnection (OSI) communication protocol
JP2013192092A (en) * 2012-03-14 2013-09-26 Denso Corp On-vehicle device
WO2016125455A1 (en) * 2015-02-05 2016-08-11 日本電気株式会社 Communication system, communication device, and communication method
JP2020201761A (en) * 2019-06-11 2020-12-17 株式会社デンソー Control unit for vehicle, display system for vehicle, and display control method for vehicle

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013516844A (en) * 2010-01-05 2013-05-13 エントロピック・コミュニケーションズ・インコーポレイテッド Method and apparatus for interface to layer 2 of an open system interconnection (OSI) communication protocol
JP2013192092A (en) * 2012-03-14 2013-09-26 Denso Corp On-vehicle device
WO2016125455A1 (en) * 2015-02-05 2016-08-11 日本電気株式会社 Communication system, communication device, and communication method
US10764140B2 (en) 2015-02-05 2020-09-01 Nec Corporation Communication system, communication device, and communication method
JP2020201761A (en) * 2019-06-11 2020-12-17 株式会社デンソー Control unit for vehicle, display system for vehicle, and display control method for vehicle
JP7259571B2 (en) 2019-06-11 2023-04-18 株式会社デンソー VEHICLE CONTROL DEVICE, VEHICLE DISPLAY SYSTEM, AND VEHICLE DISPLAY CONTROL METHOD
US11934733B2 (en) 2019-06-11 2024-03-19 Denso Corporation Vehicle control device, vehicle display system, and vehicle display control method

Similar Documents

Publication Publication Date Title
CN100474247C (en) Method for updating firmware in computer server systems
EP3491519B1 (en) Optimized uefi reboot process
US8578007B1 (en) Performing an in-service software reload on a network device
US7389505B2 (en) Method and apparatus for modifying software
US20060288202A1 (en) Method for network restart
JP2000357095A (en) Method and device for downloading software to embedded system
CN112947977B (en) Online software upgrading method and system
US8356296B1 (en) Method and system for minimal disruption during software upgrade or reload of a network device
JP2007052519A (en) Information processor, method, and program
US7222342B2 (en) Execution on a machine, the start of an auxiliary downloader when storage of new software memory fails during execution of a first downloader
CN113641378A (en) Optical module program upgrading method, device, equipment and readable storage medium
US20050216904A1 (en) Non-disruptive method, system and program product for overlaying a first software module with a second software module
JP2000245681A (en) Version updating method for firmware for electronic endoscope device and electronic endoscope device
JP2005064709A (en) Communication apparatus
JP5084853B2 (en) Firmware update device, communication device, electronic device, firmware update system, firmware update method, and program
KR100775431B1 (en) Apparatus and Method for System Imbedded System and Firmware Updating Method Therein
US10120677B2 (en) Method of rewriting printer firmware, and printer
JP2004078294A (en) Signal processor
JP2008217202A (en) Disk array device and firmware update method
JP3308920B2 (en) Information processing device
JP7491765B2 (en) Firmware update system and firmware update method
JP2001273143A (en) Electronic controller
JP2006172098A (en) Packet communication device, rebooting method in packet communication device, and program
JP2003259000A (en) Version update system and method for ip telephone set service function in ip-pbx
JP2003330724A (en) Information processor, information processing method and program