(57)【要約】【課題】、一のマイクロコンピュータを介する他のマイクロコンピュータのオンボード書込みを行うためのソフトウェア開発の負担軽減とシステムコストの低減とに寄与する。【解決手段】外部インタフェースユニットに接続する外部端子を、別の外部インタフェースユニットに接続する外部端子に選択的にスルーさせるとともに、当該外部インタフェースユニットのインタフェース機能を抑止する、バイパス生成部（２３）をマイクロコンピュータ（１）に採用する。マルチマイクロコンピュータシステムにそのマイクロコンピュータを第１のマイクロコンピュータとして採用し、第１のマイクロコンピュータにおける一の外部インタフェースユニットに書き込みホスト装置に接続するインタフェースコネクタを結合し、当該第１のマイクロコンピュータにおける他の外部インタフェースユニットを別の第２のマイクロコンピュータに接続する。【選択図】図１
2013050860.tif 000002
【特許請求の範囲】
【請求項１】
書き換え可能な不揮発性メモリと、揮発性メモリと、中央処理装置と、外部インタフェース回路と、それらに接続する内部バスとを備え、前記外部インタフェース回路から入力された情報によって前記不揮発性メモリの記憶情報を書き換える書き換えモードを有するマイクロコンピュータであって、
前記外部インタフェース回路は複数の外部インタフェースユニットとバイパス生成部とを有し、
前記外部インタフェースユニットは対応する外部端子に接続して、前記外部端子からの入力信号を内部バスに、内部バスの信号を前記外部端子に供給する外部入出力動作を行い、
前記バイパス生成部はレジスタで指定された一の外部端子を他の外部端子に接続すると共に、前記一の外部端子と前記他の外部端子にそれぞれ接続する外部インタフェースユニットの前記外部入出力動作を抑制するバイパス入出力動作を行う、マイクロコンピュータ。
【請求項２】
請求項１において、前記レジスタは前記ＣＰＵのアドレス空間に配置される、マイクロコンピュータ。
【請求項３】
請求項２において、前記レジスタは一の外部インタフェースユニットと共同で前記バイパス入出力動作を行う他の外部インタフェースユニットを指示する指示情報の記憶領域を有する、マイクロコンピュータ。
【請求項４】
請求項３において、前記記憶領域は暗黙的に前記一の外部インタフェースユニットを指定し、その記憶領域への指定情報が前記他の外部インタフェースユニットを指定する、マイクロコンピュータ。
【請求項５】
請求項４において、前記バイパス生成部は、前記指示情報の記憶領域で指定可能にされる前記複数の外部インタフェースユニットに対して所定の順番に割り当てられた優先レベルを持ち、前記レジスタの記憶領域に設定された指示情報で指定される前記外部インタフェースユニットが重複するとき、重複に係る記憶領域に暗黙的に指定されている外部インタフェースユニット相互間で最も優先度の高い前記外部インタフェースユニットの指示を有効として前記バイパス入出力動作を行う、マイクロコンピュータ。
【請求項６】
請求項５において、前記外部インタフェースユニットは外部端子との間でシリアル入出力を行うシリアルチャネルである、マイクロコンピュータ。
【請求項７】
請求項５において、前記外部インタフェースユニットは外部端子との間で信号入出力を行う入出力ポートである、マイクロコンピュータ。
【請求項８】
第１のマイクロコンピュータ及び第２のマイクロコンピュータを有するマルチマイクロコンピュータシステムであって、
前記第１及び第２のマイクロコンピュータは、書き換え可能な不揮発性メモリと、揮発性メモリと、中央処理装置と、外部インタフェース回路と、それらに接続する内部バスとを備え、マイクロコンピュータの外部に接続するデバイス端子を介して前記外部インタフェース回路に入力した情報によって前記不揮発性メモリの記憶情報を書き換える書き換えモードを有し、
前記第１のマイクロコンピュータの外部インタフェース回路と第２のマイクロコンピュータの外部インタフェース回路は相互にデバイス端子を介して接続され、
前記第１のマイクロコンピュータの前記外部インタフェース回路は複数の外部インタフェースユニットとバイパス生成部とを有し、
前記外部インタフェースユニットは対応するデバイス端子に接続して、前記デバイス端子からの入力信号を内部バスに、内部バスの信号を前記デバイス端子に供給する外部入出力動作を行い、
前記バイパス生成部はレジスタで指定された一のデバイス端子を他のデバイス端子に接続すると共に、前記一のデバイス端子と前記他のデバイス端子にそれぞれ接続する外部インタフェースユニットの前記外部入出力動作を抑制するバイパス入出力動作を行い、
前記複数の外部インタフェースユニットの内の第１の外部インタフェースユニットのデバイス端子は前記マルチマイクロコンピュータシステムの外部に接続可能なシステム端子に接続され、
前記複数の外部インタフェースユニットの内の第２の外部インタフェースユニットのデバイス端子は前記第２のマイクロコンピュータの外部インタフェース回路に接続される、マルチマイクロコンピュータシステム。
【請求項９】
請求項８において、第３のマイクロコンピュータを更に有し、
前記第３のマイクロコンピュータは、書き換え可能な不揮発性メモリと、揮発性メモリと、中央処理装置と、外部インタフェース回路と、それらに接続する内部バスとを備え、マイクロコンピュータの外部に接続するデバイス端子を介して前記外部インタフェース回路に入力した情報によって前記不揮発性メモリの記憶情報を書き換える書き換えモードを有し、
前記第１のマイクロコンピュータの外部インタフェース回路と前記第３のマイクロコンピュータの外部インタフェース回路は相互にデバイス端子を介して接続され、
前記複数の外部インタフェースユニットの内の第３の外部インタフェースユニットのデバイス端子は前記第３のマイクロコンピュータの外部インタフェース回路に接続される、マルチマイクロコンピュータシステム。
【請求項１０】
請求項９において、前記第２のマイクロコンピュータの外部インタフェース回路と前記第３のマイクロコンピュータの外部インタフェース回路は相互にデバイス端子を介して入出力動作可能にされる、マルチマイクロコンピュータシステム。
【請求項１１】
請求項８において、前記レジスタは前記第１のマイクロコンピュータが保有するＣＰＵのアドレス空間に配置される、マルチマイクロコンピュータシステム。
【請求項１２】
請求項１１において、前記レジスタは一の外部インタフェースユニットと共同で前記バイパス入出力動作を行う他の外部インタフェースユニットを指示する指示情報の記憶領域を有する、マルチマイクロコンピュータシステム。
【請求項１３】
請求項１２において、前記記憶領域は暗黙的に前記一の外部インタフェースユニットを指定し、その記憶領域への指定情報が前記他の外部インタフェースユニットを指定する、マルチマイクロコンピュータシステム。
【請求項１４】
請求項１３において、前記バイパス生成部は、前記指示情報の記憶領域で指定可能にされる前記複数の外部インタフェースユニットに対して所定の順番に割り当てられた優先レベルを持ち、前記レジスタの記憶領域に設定された指示情報で指定される前記外部インタフェースユニットが重複するとき、重複に係る記憶領域に暗黙的に指定されている外部インタフェースユニット相互間で最も優先度の高い前記外部インタフェースユニットの指示を有効として前記バイパス入出力動作を行う、マルチマイクロコンピュータシステム。
【請求項１５】
請求項８において、前記外部インタフェースユニットは外部端子との間でシリアル入出力を行うシリアルチャネルである、マルチマイクロコンピュータシステム。
【請求項１６】
請求項８において、前記外部インタフェースユニットは外部端子との間で信号入出力を行う入出力ポートである、マルチマイクロコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータが備える書き換え可能な不揮発性メモリに対する書き換えのためのインタフェース技術に関し、例えばマルチマイクロコンピュータシステムに適用して有効な技術に関する。
【背景技術】
【０００２】
データ処理装置としてのマイクロコンピュータは、動作プログラムなどを記憶するメモリを内蔵する。上記メモリとして一括消去型の電気的に消去可能な及びプログラム可能な不揮発性メモリとしてフラッシュメモリが用いられている。このような不揮発性メモリにマイクロコンピュータのソフトウェアプログラムなどを格納するようにすれば、マイクロコンピュータ応用システムのハードウェアを先に組立ててからソフトウェアプログラムを書込む事ができる。さらに、一度出荷した応用システムのソフトウェアに関し、仕様の変更されたソフトウェアの開発や機能の追加されたソフトウェア（アップグレード版或いはバージョンアップされたソフトウェアなど）の開発が行われたとき、一度出荷した応用システムのソフトウェアをユーザ側で上記新規に開発したソフトウェアへ書換えることができる。すなわち、プログラムメモリとしてフラッシュメモリを内蔵するマイクロコンピュータにおいて、マイクロコンピュータをプリント基板などの回路基板上へ実装した後、上記フラッシュメモリ内へソフトウェアプログラムを書きこむための処理が可能とされる。
【０００３】
本明細書において、フラッシュメモリを内蔵するマイクロコンピュータを回路基板上へ実装した状態で、内蔵フラッシュメモリへデータを書き込むような処理を「オンボード書込み処理」と称し、この書き込みモードを「オンボード書込みモード」と称する。
【０００４】
オンボード書込みモードには、幾つかの方式がある。それらを大きく分類すると、以下の２通りに分類される。第１方式は、ユーザープログラムモード又はブートモードとされる。これらのモードは、マイクロコンピュータに内蔵される中央処理装置（ＣＰＵ）のプログラム実行の流れを、オンボード書込み処理へ分岐し、フラッシュメモリのデータを中央処理装置で変更する方式である。
【０００５】
第２方式は、汎用書込み装置としてのＰＲＯＭライタを利用した書き込みモードとされる。このモードは、中央処理装置の動作を停止して、マイクロコンピュータの外部から内蔵フラッシュメモリを直接書き換え可能にする方式である。
【０００６】
そのようなフラッシュメモリ内蔵型のマイクロコンピュータについて記載された文献の例として特許文献１がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平８−２７８８９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明者はマルチマイクロコンピュータシステムを構成するそれぞれのマイクロコンピュータに搭載されたフラッシュメモリのような不揮発性メモリに対するオンボード書込みについて検討した。すなわち、回路基板上に実装されたそれぞれのマイクロコンピュータに対して個別にユーザープログラムモード又はブートモードを設定できるようにするとともに、個別にユーザープログラムモード又はブートモードを設定したマイクロコンピュータに対して書き込みデータを供給して書き換えを行うことができるようにすることを検討した。例えばオンボード書込みを行うためのインタフェース経路と書き込みホスト装置に接続するインタフェースコネクタとをマイクロコンピュータ毎に回路基板に設けることが考えられる。或いは前記インタフェースコネクタを兼用にするためにインタフェース経路に対するマルチプレクサを設けたりすることが考えられる。
【０００９】
そのような構成ではマルチマイクロコンピュータシステムを構成するマイクロコンピュータの数に応じてオンボード書込みのための構成が相違され、且つ、そのために構成が多くなってシステムコストが増加してしまう。
【００１０】
そこで、本発明者は書き込みホスト装置を接続するためのインタフェース端子に一つの第１のマイクロコンピュータを接続し、このマイクロコンピュータにその他の第２のマイクロコンピュータを接続して、夫々のマイクロコンピュータに搭載されたフラッシュメモリに対するオンボード書込みを可能にする構成について検討した。例えば、書き込みホスト装置を用いて前記第２のマイクロコンピュータのフラッシュメモリにオンボード書込みを行う場合には書き込みホスト装置が第１のマイクロコンピュータに第２のマイクロコンピュータに対する書き換え開始コマンドを発行する。これを受けた第１のマイクロコンピュータが第２のマイクロコンピュータに当該書き換え開始コマンドを転送し、これによって第２のマイクロコンピュータが自らのフラッシュメモリに保有するフラッシュメモリ書き換え制御プログラムを内蔵ＲＡＭに転送してこれを実行する。この書き換え制御プログラムを実行することによって第２のマイクロコンピュータは例えばユーザープログラムモードによる書き換え動作を行う。例えば、第２のマイクロコンピュータは第１のマイクロコンピュータに書き込みデータの転送を要求し、これに応答して第１のマイクロコンピュータは予め書き込みホスト装置から受け取ってＲＡＭに蓄積した書き込みデータを第２のマイクロコンピュータに転送し、第２のマイクロコンピュータは受け取った書き込みデータを用いて内蔵フラッシュメモリを書き換える。
【００１１】
しかしながら、上述の如く、書き込みホスト装置に接続する第１のマイクロコンピュータのプログラム動作を介して第２のマイクロコンピュータに対するオンボード書込みを行う場合には、第１のマイクロコンピュータは第２のマイクロコンピュータに対するオンボード書込みのための開始コマンドや書き込みデータを受け取って第２のマイクロコンピュータに内部転送するためのプログラムを用意しなければならない。したがって、ユーザによるソフトウェア開発の負担が大きくなる。更に、第２のマイクロコンピュータに対するオンボード書込みに際して第１のマイクロコンピュータもプログラム制御を行わなければならず、電力消費も多くなる。
【００１２】
本発明の目的は、一のマイクロコンピュータを介する他のマイクロコンピュータのオンボード書込みを行うためのソフトウェア開発の負担軽減とシステムコストの低減とに寄与することにある。
【００１３】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１５】
すなわち、外部インタフェースユニットに接続する外部端子を、別の外部インタフェースユニットに接続する外部端子に選択的にスルーさせるとともに、当該外部インタフェースユニットのインタフェース機能を抑止する、バイパス生成部をマイクロコンピュータに採用する。マルチマイクロコンピュータシステムにそのマイクロコンピュータを第１のマイクロコンピュータとして採用し、第１のマイクロコンピュータにおける一の外部インタフェースユニットに書き込みホスト装置に接続するインタフェースコネクタを結合し、当該第１のマイクロコンピュータにおける他の外部インタフェースユニットを別の第２のマイクロコンピュータに接続する。この第２のマイクロコンピュータに搭載された不揮発性メモリにオンボード書込みを行うときは、第１のマイクロコンピュータのバイパス生成部に外部端子に対するスルー設定と外部インタフェースユニットのインタフェース機能抑止設定とを行うことにより、インタフェースコネクタに接続された書き込みホスト装置によって直接第２のマイクロコンピュータに対するオンボード書込み制御が可能にされる。
【発明の効果】
【００１６】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１７】
すなわち、一のマイクロコンピュータを介する他のマイクロコンピュータのオンボード書込みを行うためのソフトウェア開発の負担軽減とシステムコストの低減とに寄与することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は本発明の一実施の形態に係るマイクロコンピュータを例示するブロック図である。
【図２】図２はバイパス制御レジスタによるバイパス経路の設定形態を例示する説明図である。
【図３】図３はマイクロコンピュータを用いたマルチマイクロコンピュータシステムを例示するブロック図である。
【図４】図４は図３で説明したホスト書込み装置からマイクロコンピュータ１＿Ａを経由するマイクロコンピュータ１＿Ｂへのバイパス経路の送信経路と受信経路を例示する説明図である。
【図５】図５は図３で説明したホスト書込み装置からマイクロコンピュータ１＿Ａを経由するマイクロコンピュータ１＿Ｂへのバイパス経路の送信経路と受信経路の別の例を示す説明図である。
【図６】図６はシリアルインタフェース回路に代えて汎用入出力ポートを用いる例を示すブロック図である。
【図７】図７はマルチマイクロコンピュータシステム上でマイクロコンピュータ１＿Ｂとマイクロコンピュータ１＿Ｃを選択的にシリアルチャネルを用いて接続する使用例を示すブロック図である。
【発明を実施するための形態】
【００１９】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００２０】
〔１〕＜外部インタフェース回路をバイパスして外部端子間のスルー経路を生成＞
本発明の代表的な実施の形態に係るマイクロコンピュータ（１）は、書き換え可能な不揮発性メモリ（１５）と、揮発性メモリ（１１）と、中央処理装置（１０）と、外部インタフェース回路（１９、１３）と、それらに接続する内部バス（ＭＢＵＳ，ＰＢＵＳ）とを備え、前記外部インタフェース回路から入力された情報によって前記不揮発性メモリの記憶情報を書き換える書き換えモードを有する。前記外部インタフェース回路は複数の外部インタフェースユニット（２０，２１，２２）とバイパス生成部（２３）とを有する。前記外部インタフェースユニットは対応する外部端子（６０，６１，６２，６３，６４，６５）に接続して、前記外部端子からの入力信号を内部バスに、内部バスの信号を前記外部端子に供給する外部入出力動作を行う。前記バイパス生成部はレジスタ（３０）で指定された一の外部端子を他の外部端子に接続すると共に、前記一の外部端子と前記他の外部端子にそれぞれ接続する外部インタフェースユニットの前記外部入出力動作を抑制するバイパス入出力動作を行う。
【００２１】
これによれば、バイパス生成部がレジスタ設定にしたがって一の外部端子と他の外部端子との間に信号をスルーさせるバイパス入出力動作を選択することにより、一の外部端子に接続された書き込みホスト装置を用いて、他の外部端子に接続された別のマイクロコンピュータに搭載された不揮発性メモリに対するオンボード書込みを行うことができる。また、レジスタ設定にしたがってバイパス生成部がバイパス入出力動作を非選択とし、外部端子と内部バスとの間の信号入出力を可能にする外部入出力動作を可能にすることにより、一の外部端子に接続された書き込みホスト装置を用いて、当該マイクロコンピュータに搭載された不揮発性メモリに対するオンボード書込みを行うことができる。したがって、一のマイクロコンピュータを介して他のマイクロコンピュータのオンボード書込みを行うとき一のマイクロコンピュータを並列的にプログラム動作させることを要しないから、そのためのソフトウェア開発を要せず、オンボード書込みを行うためのソフトウェア開発の負担を軽減することができる。更に、オンボード書込みのためにマイクロコンピュータにオンボード書込み装置を接続するためのシステム端子及びインタフェースコネクタをマイクロコンピュータ毎に設ける必要がないからシステムコストの低減に寄与することができる。
【００２２】
〔２〕＜ＣＰＵのレジスタ設定＞
項１において、前記レジスタは前記ＣＰＵのアドレス空間に配置される。
【００２３】
これによれば、バイパス入出力動作の対象とされる外部端子の組み合わせをＣＰＵのプログラム制御によって容易に選択可能になる。
【００２４】
〔３〕＜外部インタフェースユニット単位でバイパスユニットを指定するレジスタ指定方式＞
項２において、前記レジスタは一の外部インタフェースユニットと共同で前記バイパス入出力動作を行う他の外部インタフェースユニットを指示する指示情報の記憶領域（Ｍａ０〜Ｍａ６）を有する。
【００２５】
これによれば、外部インタフェースユニット単位でバイパス入出力動作の対象とされる外部端子の組み合わせを選択可能になる。
【００２６】
〔４〕＜任意の接続＞
項３において、前記記憶領域は暗黙的に前記一の外部インタフェースユニットを指定し、その記憶領域への指定情報が前記他の外部インタフェースユニットを指定する。
【００２７】
これによれば、バイパス入出力動作の対象とされる外部端子の組み合わせを指定するための記憶領域の記憶容量を小さくすることが可能になる。
【００２８】
〔５〕＜指定のプライオリティー＞
項４において、前記バイパス生成部は、前記指示情報の記憶領域で指定可能にされる前記複数の外部インタフェースユニットに対して所定の順番に割り当てられた優先レベルを持つ。前記レジスタの記憶領に設定された指示情報で指定される前記外部インタフェースユニットが重複するとき、重複に係る記憶領域に暗黙的に指定されている外部インタフェースユニット相互間で最も優先度の高い前記外部インタフェースユニットの指示を有効として前記バイパス入出力動作を行う。
【００２９】
これによれば、前記レジスタに設定された指示情報で指定される前記外部インタフェースユニットが重複してもそれによる誤動作を未然に防止することができる。
【００３０】
〔６〕＜シリアルチャネル＞
項１乃至５の何れかにおいて、前記外部インタフェースユニットは外部端子との間でシリアル入出力を行うシリアルチャネル（２０〜２１）である。
【００３１】
これによれば、インタフェースの構成が比較的簡単なシリアルインタフェースを用いたオンボード書込みが可能になる。
【００３２】
〔７〕＜入出力ポート＞
項１乃至５の何れかにおいて、前記外部インタフェースユニットは外部端子との間で信号入出力を行う入出力ポート（ＩＯＰｈ，ＩＯＰｉ，ＩＯＰｊ，ＩＯＰａ，ＩＯＰｂ，ＩＯＰｃ）である。
【００３３】
これによれば、入出力ポートを用いたオンボード書込みにも対応可能になる。
【００３４】
〔８〕＜マルチマイクロコンピュータシステムにおけるバイパス入出力動作の適用＞
本発明の別の実施の形態に係るマルチマイクロコンピュータシステムは、第１のマイクロコンピュータ（１＿Ａ）及び第２のマイクロコンピュータ（１＿Ｂ）を有する。前記第１及び第２のマイクロコンピュータは、書き換え可能な不揮発性メモリ（１５）と、揮発性メモリ（１１）と、中央処理装置（ＣＰＵ）と、外部インタフェース回路（１３，１９）と、それらに接続する内部バス（ＭＢＵＳ，ＰＢＵＳ）とを備え、マイクロコンピュータの外部に接続するデバイス端子（６０〜６５）を介して前記外部インタフェース回路に入力した情報によって前記不揮発性メモリの記憶情報を書き換える書き換えモードを有する。前記第１のマイクロコンピュータの外部インタフェース回路と第２のマイクロコンピュータの外部インタフェース回路は相互にデバイス端子を介して接続される。前記第１のマイクロコンピュータの前記外部インタフェース回路は複数の外部インタフェースユニット（２０〜２２）とバイパス生成部（２３）とを有する。前記外部インタフェースユニットは対応するデバイス端子に接続して、前記デバイス端子からの入力信号を内部バスに、内部バスの信号を前記デバイス端子に供給する外部入出力動作を行う。前記バイパス生成部はレジスタ（ＢＰＲＥＧ）で指定された一のデバイス端子を他のデバイス端子に接続すると共に、前記一のデバイス端子と前記他のデバイス端子にそれぞれ接続する外部インタフェースユニットの前記外部入出力動作を抑制するバイパス入出力動作を行う。前記複数の外部インタフェースユニットの内の第１の外部インタフェースユニットのデバイス端子は前記マルチマイクロコンピュータシステムの外部に接続可能なシステム端子に接続される。前記複数の外部インタフェースユニットの内の第２の外部インタフェースユニットのデバイス端子は前記第２のマイクロコンピュータの外部インタフェース回路に接続される。
【００３５】
これによれば、第１のマイクロコンピュータにおけるバイパス生成部がレジスタ設定にしたがって一のデバイス端子と他のデバイス端子との間に信号をスルーさせるバイパス入出力動作を選択して、第１のマイクロコンピュータの一のデバイス端子を他のデバイス端子にスルーさせる。当該一のデバイス端子と結合するシステム端子に接続された書き込みホスト装置を用いて、前記他のデバイス端子に接続された第２のマイクロコンピュータに搭載された不揮発性メモリに対するオンボード書込みを行うことができる。また、レジスタ設定にしたがってバイパス生成部がバイパス入出力動作を非選択とし、デバイス端子と内部バスとの間の信号入出力を可能にする外部入出力動作を可能にすることにより、第１のマイクロコンピュータの一のデバイス端子に接続された書き込みホスト装置を用いて、当該第１のマイクロコンピュータに搭載された不揮発性メモリに対するオンボード書込みを行うことができる。したがって、第２のマイクロコンピュータに対するオンボード書込みのために第１のマイクロコンピュータを並列的にプログラム動作させることを要しないから第２のマイクロコンピュータのオンボード書込みを行うためのソフトウェア開発の負担を軽減することができる。更に、オンボード書込みのためのシステム端子及びインタフェースコネクタをマイクロコンピュータ毎に設ける必要がないからシステムコストの低減に寄与することができる。
【００３６】
〔９〕＜第３のマイクロコンピュータを搭載＞
項８において、マルチマイクロコンピュータシステムは第３のマイクロコンピュータ（１＿Ｃ）を更に有する。前記第３のマイクロコンピュータは、書き換え可能な不揮発性メモリと、揮発性メモリと、中央処理装置と、外部インタフェース回路と、それらに接続する内部バスとを備え、マイクロコンピュータの外部に接続するデバイス端子を介して前記外部インタフェース回路に入力した情報によって前記不揮発性メモリの記憶情報を書き換える書き換えモードを有する。前記第１のマイクロコンピュータの外部インタフェース回路と第３のマイクロコンピュータの外部インタフェース回路は相互にデバイス端子を介して接続される。前記複数の外部インタフェースユニットの内の第３の外部インタフェースユニットのデバイス端子は前記第３のマイクロコンピュータの外部インタフェース回路に接続される。
【００３７】
これによれば、第２のマイクロコンピュータ及び第３のマイクロコンピュータの何れに対しても第１のマイクロコンピュータによるバイパス入出力動作を介してオンボード書込みを行う事ができる。
【００３８】
〔１０〕＜バイパス入出力動作をサポートする第２及び第３のマイクロコンピュータ＞
項９において、前記第２のマイクロコンピュータの外部インタフェース回路と前記第３のマイクロコンピュータの外部インタフェース回路は相互にデバイス端子を介して入出力動作可能にされる。
【００３９】
これによれば、前記第２のマイクロコンピュータと第３のマイクロコンピュータは夫々の外部インタフェース回路を介して直接通信を行う事ができる。
【００４０】
〔１１〕＜ＣＰＵのレジスタ設定＞
項８において、前記レジスタは前記第１のマイクロコンピュータが保有するＣＰＵのアドレス空間に配置される。
【００４１】
これによれば、バイパス入出力動作の対象とされる外部端子の組み合わせをＣＰＵのプログラム制御によって容易に選択可能になる。
【００４２】
〔１２〕＜外部インタフェースユニット単位でバイパスユニットを指定するレジスタ指定方式＞
項１１において、前記レジスタは一の外部インタフェースユニットと共同で前記バイパス入出力動作を行う他の外部インタフェースユニットを指示する指示情報の記憶領域を有する。
【００４３】
これによれば、外部インタフェースユニット単位でバイパス入出力動作の対象とされる外部端子の組み合わせを選択可能になる。
【００４４】
〔１３〕＜任意の接続＞
項１２において、前記記憶領域は暗黙的に前記一の外部インタフェースユニットを指定し、その記憶領域への指定情報が前記他の外部インタフェースユニットを指定する。
【００４５】
これによれば、バイパス入出力動作の対象とされる外部端子の組み合わせを指定するための記憶領域の記憶容量を小さくすることが可能になる。
【００４６】
〔１４〕＜指定のプライオリティー＞
項１３において、前記バイパス生成部は、前記指示情報の記憶領域で指定可能にされる前記複数の外部インタフェースユニットに対して所定の順番に割り当てられた優先レベルを持ち、前記レジスタの記憶領に設定された指示情報で指定される前記外部インタフェースユニットが重複するとき、重複に係る記憶領域に暗黙的に指定されている外部インタフェースユニット相互間で最も優先度の高い前記外部インタフェースユニットの指示を有効として前記バイパス入出力動作を行う。
【００４７】
これによれば、前記レジスタに設定された指示情報で指定される前記外部インタフェースユニットが重複してもそれによる誤動作を未然に防止することができる。
【００４８】
〔１５〕＜シリアルチャネル＞
項８において、前記外部インタフェースユニットは外部端子との間でシリアル入出力を行うシリアルチャネルである。
【００４９】
これによれば、インタフェースの構成が比較的簡単なシリアルインタフェースを用いたオンボード書込みが可能になる。
【００５０】
〔１６〕＜入出力ポート＞
項８において、前記外部インタフェースユニットは外部端子との間で信号入出力を行う入出力ポートである。
【００５１】
これによれば、入出力ポートを用いたオンボード書込みにも対応可能になる。
【００５２】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００５３】
図１には本発明の一実施の形態に係るマイクロコンピュータが例示される。同図に示されるマイクロコンピュータ（ＭＣＵ)１は、特に制限されないが、ＣＭＯＳ集積回路製造技術によって単結晶シリコンのような１個の半導体基板に形成される。
【００５４】
マイクロコンピュータ１は、メインバスＭＢＵＳに接続された中央処理装置（ＣＰＵ）１０及びＲＡＭ１１などを有し、ＣＰＵ１０は命令を実行し、ＲＡＭ１１はＣＰＵ１０のワーク領域もしくはデータの一時記憶領域などに用いられる。メインバスＭＢＵＳはＣＰＵ１０が同期動作する基準クロック信号に同期して信号伝送を行う高速バスとされ、データ、アドレス及びコントロールの各信号線などを備えて構成される。メインバスＭＢＵＳにはバスブリッジ（ＢＢＲＤＧ）１４を介して周辺バスＰＢＵＳが接続される。周辺バスＰＢＵＳはメインバスＭＢＵＳに比べて動作速度の遅いバスとされる。
【００５５】
周辺バスＰＢＵＳには電気的に書き換え可能な不揮発性メモリの一例であるフラッシュメモリ（ＦＬＳＨ）１５、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）１６、割り込みコントローラ（ＩＮＴＣ）１７、システムコントローラ（ＳＹＳＣＯＮ）１２、外部インタフェース回路の一例であるシリアルインタフェース回路（ＳＣＩＦ）１９、及び外部インタフェース回路の別の例である汎用の入出力ポート（ＩＯＰ）１３などが接続される。
【００５６】
割り込みコントローラ１７はマイクロコンピュータの内部又は外部で発生する図示を省略する割り込み要求信号が入力され、例えば入力された割り込み要求信号に対する優先制御や割り込みベクタの生成制御を行う。
【００５７】
システムコントローラ１２はマイクロコンピュータのリセット制御や動作モードの制御を行う。例えばリセット信号またはパワーオンリセットによるリセット解除タイミングにおけるモード端子（図示せず）の状態に応じてマイクロコンピュータの動作モードを決定する。
【００５８】
シリアルインタフェース回路１９は、他の半導体集積回路との間でシリアルデータの通信を行うための回路モジュールで、調歩同期式モードによる通信と、クロック同期式モードによる通信との選択が可能とされる。動作モードの指定や、データフォーマットの指定、ビットレートの設定及び送受信制御のための複数のコントロールレジスタと、送受信のコントロール回路、及びバスインタフェースなどを備える。
【００５９】
フラッシュメモリ１５は書き換え可能な不揮発性メモリの一例であり、電気的に記憶情報の消去と記憶情報の書き込みが可能にされ、ＣＰＵ１０の動作プログラムや制御データの保持に用いられる。フラッシュメモリに対する消去及び書き込みの動作モードとして、特に制限されないが、ＰＲＯＭモード、ブートモード、ユーザープログラムモード、及びユーザブートモードを備える。フラッシュメモリに対する消去及び書き込みの動作モードはシステムコントローラ１２に与えられるモード端子の状態などに応じて決定される。
【００６０】
ＰＲＯＭモードはＰＲＯＭライタのような汎用書込み装置を用いる消去及び書込み動作モードであり、マイクロコンピュータが回路基板に実装される前の状態でオンチップのフラッシュメモリに対して消去及び書き君を可能とする動作モードである。リセット解除タイミングでシステムコントローラに１２にＰＲＯＭモードが指示されると、マイクロコンピュータ１は見かけ上フラッシュメモリ単体の半導体集積回路とされ、例えばＩＯＰ１３を介して接続されたＰＲＯＭライタによってフラッシュメモリ１５に対する消去及び書込みが可能にされる。
【００６１】
ブートモード、ユーザープログラムモード、及びユーザブートモードは、マイクロコンピュータ１が回路基板に実装された状態でオンチップのフラッシュメモリ１５に対する消去及び書込みを可能とするオンボード書込みモードとしての３種類の消去及び書込みモードとされ、その動作モードに応じて、消去、書込み及びベリファイの各動作が可能にされる。
【００６２】
ブートモードは消去及び書込み制御プログラムを例えばシリアルインタフェース回路１９から取り込んでユーザマット及びユーザブートマットを消去してプログラムなどを書き込む動作モードである。即ち、ブートモードでは、フラッシュメモリ１５の消去及び書き込み制御プログラム（単に書き換え制御プログラムとも称する）及び書き込みデータが図示されない書込みホスト装置などに予め用意される。ブートモードに設定されると、リセット解除後に、予めフラッシュメモリ１５とは異なるブートＲＯＭ（図示せず）にプログラムされているブートプログラムが起動される。そして、シリアルインタフェース回路１９が上記書込みホスト装置との通信を確立すると、書き込みホスト装置は上記書き換え制御プログラムをシリアルインタフェース回路１９に転送する。シリアルインタフェース回路１９によって受信された書き換え制御プログラムはＲＡＭ１１へ格納される。書き換え制御プログラムの書込みが終了した後、ブートプログラムの処理がＲＡＭ１１に書き込まれた書き換え制御プログラムの先頭アドレスへ分岐される。それによって、内蔵ＲＡＭ１１に書込まれた書き換え制御プログラムがＣＰＵ１０によって実行され、フラッシュメモリ１５のユーザマット及びユーザブートマットに対する消去動作及びプログラムの書込み動作が実行されることになる。なお、上記ブートＲＯＭは、マスクＲＯＭ等の不揮発性記憶回路から構成され、電源電位の低下があってもその記憶内容は消去されない。
【００６３】
ユーザプログラムモードはフラッシュメモリ１５に対する書き換え制御をフラッシュメモリ上のユーザマットに格納されたプログラムから起動する動作モードである。フラッシュメモリ１５に対する書き換え制御プログラムはユーザマットに格納されている。ＣＰＵ１０がプログラムを実行可能な状態において、システムコントローラ１２の設定または外部から供給されたコマンドなどに基づいてユーザプログラムモードが指定されると、これに応答して、ＣＰＵ１０はユーザマット上の転送制御プログラムを実行して上記書換え制御プログラムをＲＡＭ１１に転送し、転送が終了した後、ＣＰＵ１０のプログラム処理がＲＡＭ１１に書き込まれた書き換え制御プログラムの先頭アドレスへ分岐される。それによって、内蔵ＲＡＭ１１に書込まれた書き換え制御プログラムがＣＰＵ１０によって実行され、フラッシュメモリ１５のユーザマットに対する消去動作及びプログラムの書込み動作が実行されることになる。このときの書き込みデータはＣＰＵ１０がシリアルインタフェース回路１９を介して外部から取り込む。
【００６４】
ユーザブートモードはフラッシュメモリ１５に対する書き換え制御をフラッシュメモリ上のユーザブートマットに格納されたプログラムから起動する動作モードである。フラッシュメモリ１５に対する書き換え制御プログラムはユーザブートマットに格納されている。ＣＰＵ１０がプログラムを実行可能な状態において、システムコントローラ１２の設定または外部から供給されたコマンドなどに基づいてユーザブートモードが指定されると、これに応答して、ＣＰＵ１０はユーザブートマット上の転送制御プログラムを実行して上記書換え制御プログラムをＲＡＭ１１に転送し、転送が終了した後、ＣＰＵ１０のプログラム処理がＲＡＭ１１に書き込まれた書き換え制御プログラムの先頭アドレスへ分岐される。それによって、内蔵ＲＡＭ１１に書込まれた書き換え制御プログラムがＣＰＵ１０によって実行され、フラッシュメモリ１５のユーザマットに対する消去動作及びプログラムの書込み動作が実行されることになる。このときの書き込みデータはＣＰＵ１０がシリアルインタフェース回路１９を介して外部から取り込む。ユーザブートマットはユーザマットとは分離された書き換え可能な不揮発性メモリ領域であり、ユーザプログラムモード及びユーザブートモードの何れの動作モードにおいても消去及び書込みの対象にされない。上記ユーザプログラムモードによるユーザマットのプログラムの書き換えに失敗すると、書き換え前のプログラムも書き換え後のプログラムも動作できなくなり、ブートモードでユーザマットにプログラムを書き込まなければならなくなる場合がある。これに対し、ユーザブートモードによる書き換え途中で書き換えに失敗してもユーザブートマットはそのまま維持されているので、ブートモードを用いなくてもユーザブートモードを設定すれば後から何度でもユーザマットにプログラムの書込みを行うことができる。
【００６５】
前記シリアルインタフェース回路１９は複数の外部インタフェースユニットとして３個のシリアルチャネル（Ｓ＿Ｃｈ０〜Ｓ＿Ｃｈ２）２０〜２２とバイパス生成部（ＢＰＧＮＲ）２３とを有する。シリアルチャネル２０〜２２の夫々は他の半導体集積回路との間でシリアルデータの通信を行うための単位回路であって、調歩同期またはクロック同期で送信と受信を１ビット単位で通信を行う回路であって、動作モード、データフォーマット及びビットレートの夫々の指定と送受信制御のためのチャネルコントロールレジスタ（図示せず）を有する。シリアルチャネル２０は出力バッファ５０を介してデバイス端子として外部端子６０に接続されると共に、入力バッファ５１を介してデバイス端子として外部端子６１に接続される。同様に、シリアルチャネル２１は出力バッファ５２及び入力バッファ５３を介して外部端子６２，６３に接続され、シリアルチャネル２２は出力バッファ５４及び入力バッファ５５を介して外部端子６４，６５に接続される。前記チャネルコントロールレジスタの設定は周辺バスＰＢＵＳを介してＣＰＵ１０などが行う。シリアルチャネル（Ｓ＿Ｃｈ０〜Ｓ＿Ｃｈ２）２０〜２２が受信したデータはＣＰＵ１０などの制御に基づいて周辺バスＰＢＵＳ経由でＲＡＭ１１などに転送される。送信すべきデータはＣＰＵ１０などの制御に基づいてＲＡＭ１１からシリアルチャネル（Ｓ＿Ｃｈ０〜Ｓ＿Ｃｈ２）２０〜２２に転送される。このようにしてシリアルチャネル（Ｓ＿Ｃｈ０〜Ｓ＿Ｃｈ２）２０〜２２は外部端子６１，６３，６５からの入力信号を周辺バスＰＢＵＳに、周辺バスＰＵＢバスに与えられた信号を外部端子６０，６２，６４に供給する外部入出力動作を行う。例えばシリアルチャネル（Ｓ＿Ｃｈ０〜Ｓ＿Ｃｈ２）２０〜２２はフラッシュメモリ１５に対するオンボード書込みでは書込みホスト装置とのインタフェースに用いることも可能である。
【００６６】
前記バイパス生成部２３は、バイパス制御レジスタ（ＢＰＲＥＧ）３０、バイパス制御回路（ＢＰＣＯＮＴ）３１）、及びバイパスゲート回路４０〜４５を備える。
【００６７】
バイパスゲート回路４０，４１はシリアルチャネル２０の外部端子６０，６１とシリアルチャネル２１の外部端子６２，６３とをシリアルチャネル２０,２１の手前で選択的に接続するゲート回路であって、バイパスイネーブル信号ＥＮ０１によってゲートの開閉が行われる。例えば、バイパスゲート回路４０は入力バッファ５３の出力と出力バッファ５０の入力とを結合し、バイパスゲート回路４１は入力バッファ５１の出力と出力バッファ５２の入力とを結合し、バイパスゲート回路４０,４１はバイパスイネーブル信号ＥＮ０１の活性状態において入力を出力に伝達し、非活性状態において高出力インピーダンス状態にされる。
【００６８】
バイパスゲート回路４２，４３はシリアルチャネル２０の外部端子６０，６１とシリアルチャネル２２の外部端子６４，６５とをシリアルチャネル２０,２２の手前で選択的に接続するゲート回路であって、バイパスイネーブル信号ＥＮ０２によってゲートの開閉が行われる。例えば、バイパスゲート回路４２は入力バッファ５５の出力と出力バッファ５０の入力とを結合し、バイパスゲート回路４３は入力バッファ５１の出力と出力バッファ５４の入力とを結合し、バイパスゲート回路４２，４３はバイパスイネーブル信号ＥＮ０２の活性状態において入力を出力に伝達し、非活性状態において高出力インピーダンス状態にされる。
【００６９】
バイパスゲート回路４４，４５はシリアルチャネル２１の外部端子６２，６３とシリアルチャネル２２の外部端子６４，６５とをシリアルチャネル２１,２２の手前で選択的に接続するゲート回路であって、バイパスイネーブル信号ＥＮ１２によってゲートの開閉が行われる。例えば、バイパスゲート回路４４は入力バッファ５３の出力と出力バッファ５４の入力とを結合し、バイパスゲート回路４５は入力バッファ５５の出力と出力バッファ５２の入力とを結合し、バイパスゲート回路４４，４５はバイパスイネーブル信号ＥＮ１２の活性状態において入力を出力に伝達し、非活性状態において高出力インピーダンス状態にされる。
【００７０】
バイパス制御回路３１はバイパスイネーブル信号ＥＮ０１，ＥＮ０２，ＥＮ１２を生成すると共に、シリアルチャネル２０〜２２のインタフェース動作抑止信号ＩＨ０〜ＩＨ２を生成する。インタフェース動作抑止信号ＩＨ０，ＩＨ１，ＩＨ２は対応するバイパスイネーブル信号ＥＮ０１，ＥＮ０２，ＥＮ１２の活性状態によって形成されるバイパス経路のシリアルチャネルのインタフェース動作を禁止する状態に制御される。例えば、バイパスイネーブル信号ＥＮ０１が活性状態（バイパスイネーブルＮ０２，ＥＮ１２が非活性状態）のときはインタフェース動作抑止信号ＩＨ０，ＩＨ１がインタフェース動作の禁止を指示する状態にされ、バイパスイネーブル信号ＥＮ０２が活性状態（バイパスイネーブルＮ０１，ＥＮ１２が非活性状態）のときはインタフェース動作抑止信号ＩＨ０，ＩＨ２がインタフェース動作の禁止を指示する状態にされ、バイパスイネーブル信号ＥＮ１２が活性状態（バイパスイネーブルＮ０１，ＥＮ０２が非活性状態）のときはインタフェース動作抑止信号ＩＨ１，ＩＨ２がインタフェース動作の禁止を指示する状態にされる。
【００７１】
バイパス制御レジスタ３０はどのシリアルチャネル間にバイパス経路を設定するかが指定されるレジスタであり、バイパス制御回路３１はバイパス制御レジスタ３０の設定値に従ってバイパスイネーブル信号ＥＮ０１，ＥＮ０２，ＥＮ１２と、インタフェース動作抑止信号ＩＨ０〜ＩＨ２を生成する。即ち、バイパス制御回路３１はバイパス制御レジスタ３０で指定された一の外部端子を他の外部端子に接続すると共に、前記一の外部端子と前記他の外部端子にそれぞれ接続するシリアルチャネルの前記外部入出力動作を抑制するバイパス入出力動作を制御する。
【００７２】
図２にはバイパス制御レジスタ３０によるバイパス経路の設定形態が例示される。バイパス制御レジスタ３０は、一のシリアルチャネルと共同で前記バイパス入出力動作を行う他のシリアルチャネルを指示する指示情報の記憶領域として、例えば、８個のシリアルチャネルＳ＿Ｃｈ０〜Ｓ＿Ｃｈ７がある場合を想定すると、シリアルチャネルの数よりも一つ少ない数の７個の記憶領域Ｍａ０〜Ｍａ６を有する。００ｈはシリアルチャネルＳ＿Ｃｈ０の指示情報、０１ｈはシリアルチャネルＳ＿Ｃｈ１の指示情報であり、以下０２ｈ〜０７ｈはシリアルチャネルＳ＿Ｃｈ２〜Ｓ＿Ｃｈ７の指示情報である。
【００７３】
記憶領域Ｍａ０はシリアルチャネルＳ＿Ｃｈ０と一緒にバイパス入出力動作に流用されるシリアルチャネルを指定する領域、記憶領域Ｍａ１はシリアルチャネルＳ＿Ｃｈ１と一緒にバイパス入出力動作に流用されるシリアルチャネルを指定する領域であり、他の記憶領域Ｍａ２〜Ｍａ６についても同様の関係を持つ。換言すれば、記憶領域Ｍａ０は、バイパス入出力動作の一方のシリアルチャネルとしてＳ＿Ｃｈ０を暗黙的に示し、これと当該記憶領域Ｍａ０の記憶情報で指定されたシリアルチャネルとの間でのバイパス入出力動作を行うことを指定する。他の記憶領域Ｍａ１〜Ｍａ６についても同様である。
【００７４】
これによれば、バイパス入出力動作の対象とされる外部端子の組み合わせを指定するための記憶領域の記憶容量を小さくすることが可能になる。
【００７５】
特にここでは、指定の重複を極力排除するように考慮しており、例えば、全領域Ｍａ１〜Ｍａ６に００ｈが設定されたときは全てのシリアルチャネルに関してバイパス入出力動作を非選択とし、記憶領域Ｍａ１〜Ｍａ６には図２の夫々の横方向の欄に例示されるようにサフィックスよりも数の大きな指示情報を設定可能とする。例えば記憶領域Ｍａ３には０４ｈ〜０７ｈの設定を許容する。例えば、記憶領域Ｍａ０に０３ｈを設定したときはシリアルチャネルＳ＿Ｃｈ０とＳ＿Ｃｈ３との経路にバイパス経路を設定することを意味し、記憶領域Ｍａ４に０６ｈを設定したときはシリアルチャネルＳ＿Ｃｈ４とＳ＿Ｃｈ６との経路にバイパス経路を設定することを意味する。図２の設定形態では指定の重複を極力排除するように設定の許容範囲を限定すると共にシリアルチャネルＳ＿Ｃｈ７に対応する記憶領域を設けていないが、設定が許容された範囲で指定が重複したときに対処するために、前記指示情報の記憶領域で指定可能にされる前記複数の外部インタフェースユニットに対して所定の順番に優先レベルを割り当てる。例えば、左からＳ＿Ｃｈ０＞Ｓ＿Ｃｈ１＞Ｓ＿Ｃｈ２＞Ｓ＿Ｃｈ３＞Ｓ＿Ｃｈ４＞Ｓ＿Ｃｈ５＞Ｓ＿Ｃｈ６＞Ｓ＿Ｃｈ７の順に高い優先レベルを割り当てる。前記バイパス制御レジスタ３０に設定された指示情報で指定されるシリアルチャネルが重複するとき、最も優先度の高いシリアルチャネルを有効として前記バイパス入出力動作を行う。記憶領域Ｍａ２とＭａ３に共に値０４ｈが設定されたとすると、優先度の高いシリアルチャネルＳ＿Ｃｈ２の記憶領域Ｍａ２への設定を優先して、シリアルチャネルＳ＿Ｃｈ２とシリアルチャネルＳ＿Ｃｈ４との経路にバイパス経路を設定する。
【００７６】
これによれば、前記レジスタに設定された指示情報で指定される前記外部インタフェースユニットが重複してもそれによる誤動作を未然に防止することができる。
【００７７】
図３にはマイクロコンピュータ１を用いたマルチマイクロコンピュータシステムが例示される。マルチマイクロコンピュータシステムはプリント配線基板などによる回路基板７０に第１のマイクロコンピュータ１＿Ａ、第２のマイクロコンピュータ１＿Ｂ及び第３のマイクロコンピュータ１＿Ｃが実装されて形成されている。第１乃至第３のマイクロコンピュータ１＿Ａ〜１＿Ｃは図１で説明したマイクロコンピュータ１と同じ回路構成を備えるものとする。
【００７８】
第１のマイクロコンピュータ１＿Ａのシリアルチャネル（Ｓ＿Ｃｈ１）２１と第２のマイクロコンピュータ１＿Ｂのシリアルチャネル（Ｓ＿Ｃｈｉ）はデバイス端子６２とデバイス端子Ｐｉとを結合する配線Ｌ１によって接続される。第１のマイクロコンピュータ１＿Ａのシリアルチャネル（Ｓ＿Ｃｈ２）２２と第３のマイクロコンピュータ１＿Ｃのシリアルチャネル（Ｓ＿Ｃｈｊ）はデバイス端子６４とデバイス端子Ｐｊとを結合する配線Ｌ２によって接続される。第１のマイクロコンピュータ１＿Ａのシリアルチャネル（Ｓ＿Ｃｈ０）２０はデバイス端子６１を介して回路基板７０のシステム端子７１に接続される。システム端子７１はインタフェースケーブル８２のコネクタ８３を介してホスト書込み装置８０のシリアル出力端子８１に接続される。尚、特に図示はしないが、マイクロコンピュータ１＿Ａ，１＿Ｂ，１＿Ｃからホスト書込み装置８０へのシリアル経路についても同様に形成される。また、バイパス経路生成部２３については便宜上スイッチによってその機能を代表させている。
【００７９】
上記接続形態において、ホスト書込み装置８０によってマイクロコンピュータ１＿Ａにユーザプログラムモードを設定してそのフラッシュメモリ１５のプログラムを書き換える場合には、マイクロコンピュータ１＿Ａのバイパス制御レジスタ３０の全ての記憶領域（Ｍａ０〜Ｍａ６）に値００ｈを書き込む。これによってバイパス経路生成部２３はバイパス経路を一切形成せず、ＣＰＵ１０はシリアルチャネル２０を介してホスト書込み装置８０からユーザプログラムモードの設定コマンド及び書込みデータを取得して、フラッシュメモリ１５に対するプログラムの書き換えを行うことができる。
【００８０】
一方、ホスト書込み装置８０によってマイクロコンピュータ１＿Ｂにユーザプログラムモードを設定してそのフラッシュメモリ１５のプログラムを書き換える場合には、マイクロコンピュータ１＿Ａのバイパス制御レジスタ３０の記憶領域Ｍａ０に値０１ｈを書き込む。これによってバイパス経路生成部２３はデバイス端子６１と６２を結ぶバイパス経路を形成し、マイクロコンピュータ１＿ＢのＣＰＵ１０はデバイス端子Ｐｉ及びシリアルチャネルＳ＿Ｃｈｉを介してホスト書込み装置８０からユーザプログラムモードの設定コマンド及び書込みデータを取得して、マイクロコンピュータ１＿Ｂのフラッシュメモリ１５に対するプログラムの書き換えを行うことができる。
【００８１】
また、ホスト書込み装置８０によってマイクロコンピュータ１＿Ｃにユーザプログラムモードを設定してそのフラッシュメモリ１５のプログラムを書き換える場合には、マイクロコンピュータ１＿Ａのバイパス制御レジスタ３０の記憶領域Ｍａ０に値０２ｈを書き込む。これによってバイパス経路生成部２３はデバイス端子６１と６４を結ぶバイパス経路を形成し、マイクロコンピュータ１＿ＣのＣＰＵ１０はデバイス端子Ｐｊ及びシリアルチャネルＳ＿Ｃｈｊを介してホスト書込み装置８０からユーザプログラムモードの設定コマンド及び書込みデータを取得して、マイクロコンピュータ１＿Ｃのフラッシュメモリ１５に対するプログラムの書き換えを行うことができる。
【００８２】
これによれば、第１のマイクロコンピュータ１＿Ａにおけるバイパス生成部がバイパス制御レジスタ３０の設定にしたがって一のデバイス端子と他のデバイス端子との間に信号をスルーさせるバイパス入出力動作を選択して、第１のマイクロコンピュータ１＿Ａの一のデバイス端子６１を他のデバイス端子６２にスルーさせることにより、当該一のデバイス端子６１と結合するシステム端子７１に接続された書き込みホスト装置８０を用いて、前記他のデバイス端子６２に接続された第２のマイクロコンピュータ１＿Ｂに搭載されたフラッシュメモリ１５に対するオンボード書込みを行うことができる。また、バイパス制御レジスタ３０の設定にしたがってバイパス生成部２３がバイパス入出力動作を非選択とし、デバイス端子６１と周辺バスＰＢＵＳとの間の信号入出力を可能にする外部入出力動作を可能にすることにより、第１のマイクロコンピュータ１＿Ａの一のデバイス端子６１に接続された書き込みホスト装置８０を用いて、当該第１のマイクロコンピュータ１＿Ａに搭載されたフラッシュメモリ１５に対するオンボード書込みを行うことができる。したがって、第２のマイクロコンピュータ１＿Ｂに対するオンボード書込みのために第１のマイクロコンピュータ１＿Ａを並列的にプログラム動作させることを要しないから第２のマイクロコンピュータ１＿Ｂのオンボード書込みを行うためのソフトウェア開発の負担を軽減することができる。更に、オンボード書込みのためのシステム端子７１及びインタフェースコネクタ８３をマイクロコンピュータ１＿Ａ，１＿Ｂ毎に設ける必要がないからシステムコストの低減に寄与することができる。
【００８３】
第２のマイクロコンピュータ１＿Ｂ及び第３のマイクロコンピュータ１＿Ｃの何れに対しても第１のマイクロコンピュータ１＿Ａによるバイパス入出力動作を介してオンボード書込みを行う事ができる。
【００８４】
図４には図３で説明したホスト書込み装置８０からマイクロコンピュータ１＿Ａを経由するマイクロコンピュータ１＿Ｂへのバイパス経路の送信経路と受信経路が示される。ここではシリアル通信として調歩同期を採用した場合が例示される。同様に、図５には図３で説明したホスト書込み装置８０からマイクロコンピュータ１＿Ａを経由するマイクロコンピュータ１＿Ｂへのバイパス経路の送信経路と受信経路が示される。ここではシリアル通信としてクロック同期を採用した場合が例示される。尚、図４及び図５においては、作図の便宜上、バイパス経路生成部の図示を省略し、且つ、バイパス経路がシリアルチャネル内を通過するように図示している。
【００８５】
図６にはシリアルインタフェース回路１９に代えて汎用入出力ポート１３を用いる例が示される。汎用入出力ポート１３を構成する汎用ポートユニットＩＯＰｈ，ＩＯＰｉ，ＩＯＰｊ，ＩＯＰａ，ＩＯＰｂ，ＩＯＰｃについてもバイパス経路生成部２３と同様の回路構成を追加することによって、上記同様のパイパス経路生成機能を得ることができる。汎用ポートユニットは、周辺バスと外部端子の間に配置されたラッチ回路をデータビット毎に備え、ポートレジスタの設定に従って、入力及び出力が制御されるようになっている。
【００８６】
図７にはマルチマイクロコンピュータシステム上でマイクロコンピュータ１＿Ｂとマイクロコンピュータ１＿Ｃを選択的にシリアルチャネルを用いて接続する使用例が示される。バイパス経路生成部２３については便宜上スイッチによってその機能を代表させている。
【００８７】
これによれば、前記第２のマイクロコンピュータ１＿Ｂと第３のマイクロコンピュータ１＿Ｃは夫々のシリアルチャネルを介して直接通信を行う事ができる。
【００８８】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００８９】
例えば、外部インタフェース回路はシリアルインタフェース回路や汎用ポートに限定されず、適宜の入出力回路であってよい。シリアルインタフェースチャネルに代表される外部インタフェースユニットの数、レジスタによるバイパス経路指定方法なども適宜変更可能である。
【００９０】
マイクロコンピュータがオンチップする回路モジュールについても適宜変更可能である。マイクロコンピュータはデータプロセッサなどのように別の呼称であってもよい。マルチマイクロコンピュータシステムはシステムオンチップとして単一の半導体基板に形成され、或いは複数チップが単一のパッケージに搭載されて形成されても良い。
【００９１】
また、図３において１＿Ｂ，１＿Ｃはバイパス経路設定部を有しないマイクロコンピュータに置き換えても良い。また、３個以上のマイクロコンピュータ１を直列に接続してオンチップフラッシュメモリに対する消去及び書込みの経路を形成するようにマルチマイクロコンピュータシステムを構成してもよい。
【符号の説明】
【００９２】
１  マイクロコンピュータ（ＭＣＵ）
１０  中央処理装置（ＣＰＵ）
１１  ＲＡＭ
ＭＢＵＳ  メインバス
１４  バスブリッジ（ＢＢＲＤＧ）
ＰＢＵＳ  周辺バス
１５  フラッシュメモリ（ＦＬＳＨ）
１６  ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）
１７  割り込みコントローラ（ＩＮＴＣ）
１２  システムコントローラ（ＳＹＳＣＯＮ）
１９  シリアルインタフェース回路（ＳＣＩＦ）
１３  入出力ポート（ＩＯＰ）
２０〜２２  シリアルチャネル（Ｓ＿Ｃｈ０〜Ｓ＿Ｃｈ２）
２３  バイパス生成部（ＢＰＧＮＲ）
３０  バイパス制御レジスタ（ＢＰＲＥＧ）
３１  バイパス制御回路（ＢＰＣＯＮＴ）
４０〜４５  ゲート回路
６０〜６５  外部端子（デバイス端子）
７１  システム端子
８０ホスト書込み装置
【図１】
2013050860.tif 000003
【図２】
2013050860.tif 000004
【図３】
2013050860.tif 000005
【図４】
2013050860.tif 000006
【図５】
2013050860.tif 000007
【図６】
2013050860.tif 000008
【図７】
2013050860.tif 000009