(57)【要約】【課題】  バスを外部に開放できない端子数の少ないものにおいても、ユーザの作成したソフトウェア実行時の動作を解析することができるようにする。【解決手段】  テストモードでは、ＣＰＵ１０が、テストＲＯＭ１２に記憶されたテストプログラムに基づいて外部機器から任意のプログラムをＲＡＭ１１に転送し、このプログラムを実行することでレジスタ情報を外部機器１６に出力することができる。解析モードでは、ＣＰＵ１０が１ステップ毎にプログラムを実行した結果レジスタ情報がどのように変化しているのかを外部機器１６により解析する。そして、入出力汎用ポートＰＢ４〜Ｐｂ０を通じて外部機器１６に出力される。【選択図】  図１
2006003967.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
揮発性記憶手段と、
アプリケーション機器との間のデータ送受信用およびハンドシェイク用としてシリアルデータを入出力可能に構成された入出力ポートと、
ユーザにより作成されたユーザプログラムを記憶するユーザ用記憶手段と、
前記ＣＰＵがテスト用機器から前記入出力ポートを通じて前記揮発性記憶手段に対し前記ユーザプログラムのテスト用プログラムを転送し当該転送後に前記揮発性記憶手段に記憶されたテスト用プログラムを実行するように組まれたプログラムを記憶するプログラム記憶手段とを備えたことを特徴とするマイクロコンピュータ。
【請求項２】
前記ＣＰＵは、前記揮発性記憶手段に転送されるテスト用プログラムを実行すると当該ＣＰＵのレジスタ情報を前記テスト用機器に出力することを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
デバッグ用記憶領域を備えたデバッグ用記憶手段を備え、
前記ＣＰＵは、前記揮発性記憶手段に転送されるテスト用プログラムを実行すると当該ＣＰＵのレジスタ情報を１ステップ毎に前記デバッグ用記憶手段に記憶させ、出力指示されると前記デバッグ用記憶手段に記憶されたレジスタ情報を前記テスト用機器に出力することを特徴とする請求項１または２記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
車載用や航空宇宙用途に使用されるマイクロコンピュータに関する。
【背景技術】
【０００２】
近年、マイクロコンピュータに対する高品質化の要求はますます高くなっている。特に車載用マイクロコンピュータや航空宇宙用マイクロコンピュータでは高信頼性を有するものが要求されており、製造者側においてはたとえ１台でも不良品が生じると多大な信用の失墜となる。また、製造プロセスの微細化とマイクロコンピュータの高性能化に伴い不具合が多様化しており、従来より行われている検査手法を用いて所定の検査を組み合わせただけでは十分に検出できなくなってきている。
【０００３】
マイクロコンピュータの高機能化に伴いユーザの使用方法も多様化するため、製造者側では、ユーザの使用方法の組合せ全てを事前に想定しマイクロコンピュータを検査することが要求されつつある。しかしこのようなことは困難となってきており、発生した不良品を解析して不良原因を特定し製造プロセスや検査に対してフィードバックすることがますます重要となっている。
【０００４】
このように不良品を解析する上で、所定の検査を組み合わせた特定の組み合わせのときのみ異常となる不良品は、ユーザ側で用意したプログラムを実行させると結果的に不具合と判断されることがあり、実際に不具合となる組み合わせを事前に想定することが困難な場合が多い。そこで、マイクロコンピュータの内部に設けられたアドレスバスやデータバス等を外部に開放し外部から解析する手法がある。図３には、従来構成のマイクロコンピュータの一例を概略的に示している。このマイクロコンピュータＭによれば、ＣＰＵ１からアドレスバス／データバスＢを外部に開放することができるため、ユーザＲＯＭ２の実行結果を外部で解析することができる。本願出願人は、このような手法を行うマイクロコンピュータに関連する文献を発見できなかった。尚、特許文献１には、マイクロコンピュータをエミュレートするエミュレーション用プロセッサが開示されている。
【特許文献１】特開平８−１６１１９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
外部にアドレスバスおよびデータバスを開放しているマイクロコンピュータＭにおいては、ユーザが作成したプログラム（ユーザプログラム）をステップ的に実行しながら動作を確認し、不具合に至る原因を解析する機能を備えていることができるものもある。しかし、外部入出力ポートを極力減らしたい場合にはバスを外部に開放できない。このようなマイクロコンピュータでは、ユーザが作成したプログラム実行時の動作を解析することが困難となってきている。
【０００６】
近年、マイクロコンピュータの内部はより高集積化されており、マイクロコンピュータ内部には数百万個のトランジスタが内蔵されるようになってきている。すると、集積化された回路において配線間干渉やトランジスタの特性のばらつき等により不具合が生じる虞がある。特に車載用や航空宇宙用途で使用されるマイクロコンピュータにおいては不良品が発生してしまうと人命に関わる虞もある。
【０００７】
本発明は、上記事情に鑑みてなされたもので、その目的は、バスを外部に開放できない端子数の少ないものにおいても、ユーザプログラム実行時の動作を解析することができるマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載のマイクロコンピュータによれば、次のように作用する。すなわち、ＣＰＵは、プログラム記憶手段に記憶されたプログラムを実行すると、テスト用機器から入出力ポートを通じて揮発性記憶手段に対しユーザプログラムのテスト用プログラムを転送する。そして、ＣＰＵは、揮発性記憶手段に記憶されたテスト用プログラムを実行するとユーザプログラムをテストする。このとき、入出力ポートは、他のアプリケーション機器との間のデータ送受信用およびハンドシェイク用としてシリアルデータを入出力可能に構成されているが、この入出力ポートを共用してテスト用機器からテスト用プログラムを転送することができる。すなわち、データバスおよびアドレスバスを開放できないようなマイクロコンピュータであったとしても、最小限の入出力ポート（端子）を備えた構成でテスト用プログラムをＣＰＵが実行することができ、ユーザプログラム実行時の動作を解析できるようになる。
【０００９】
請求項２記載のマイクロコンピュータによれば、ＣＰＵは、揮発性記憶手段に転送されるテスト用プログラムを実行するとＣＰＵのレジスタ情報をテスト用機器に出力するため、テスト用機器はユーザプログラム実行時のレジスタ情報を容易に取得できるようになる。
請求項３記載のマイクロコンピュータによれば、ＣＰＵは、揮発性記憶手段に転送されるテスト用プログラムを実行するとＣＰＵのレジスタ情報を１ステップ毎にデバッグ用記憶手段に記憶させ、出力指示されるとデバッグ用記憶手段に記憶されたレジスタ情報をテスト用機器に出力するため、たとえユーザプログラムが長いものであっても解析者が不具合を生じたことを認識したときにＣＰＵに対して出力指示することによりＣＰＵのレジスタ情報をテスト用機器に出力することができるため、解析が容易になる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態について、図１ないし図２を参照しながら説明する。
図１は、マイクロコンピュータＭに代わるマイクロコンピュータＮの概略的な構成を示している。背景技術説明欄に記載した構成と同一構成については同一符号を付して説明する。
このマイクロコンピュータＮは、ＣＰＵ１０、ユーザ用記憶手段としてのユーザＲＯＭ２、揮発性記憶手段としてのＲＡＭ１１、プログラム記憶手段としてのテストＲＯＭ１２、入出力回路１３（ポートブロックＰ（入出力ポートに相当））、デバッグ用記憶手段としてのスタックメモリ１４を備えている。ポートブロックＰは、５本の入出力汎用ポートＰＢ０〜ＰＢ４、クロック入力端子ＣＬＫ、動作モード設定端子ＭＤ０およびＭＤ１を備えている。また、ＣＰＵ１０は、レジスタとしてプログラムカウンタ１０ａを内蔵している。
【００１１】
尚、ＣＰＵ１０は、その他のレジスタとして図示しないが例えばアキュムレータ、スタックレジスタ、割り込みレジスタ、フラグレジスタやその他の汎用レジスタ等、内部情報を保持する回路を内蔵している。通常、マイクロコンピュータＮは、これらのポートブロックＰに対して外部にアプリケーション機器（図示せず）が接続されることによりシリアル通信可能に構成されている。
【００１２】
ＣＰＵ１０は、動作モード設定端子ＭＤ０およびＭＤ１に与えられるハイロウ信号（「Ｈ」「Ｌ」）に応じて３種類の動作モードが設定されるようになっている。以下、これらのモードの説明を行う。
（１）ユーザモード
ユーザモードは、動作モード設定端子ＭＤ１およびＭＤ０にグランド電圧（ロウ信号）が与えられることにより設定される。ユーザＲＯＭ２には、予めユーザによりユーザ用プログラムが記憶されている。このユーザモードにおいては、ＣＰＵ１０は、ユーザＲＯＭ２に記憶された内容にしたがって動作する。図２（ａ）は、ユーザモードにおけるマイクロコンピュータＮの使用例を示している。すなわち、クロック入力端子ＣＬＫに対して発振器１５が接続されており、この発振器１５によりクロック入力端子ＣＬＫにクロック信号が与えられることによりマイクロコンピュータＮが動作する。
【００１３】
（２）テストモード
テストモードは、動作モード設定端子ＭＤ１にグランド電圧（ロウ信号）、動作モード設定端子ＭＤ０に電源電圧（ハイ信号）が与えられることにより設定される。テストモードでは、動作テスト、内部状態の確認等に使用される。図２（ｂ）は、テストモードにおける使用例を示している。すなわち、入出力汎用ポートＰＢ４〜ＰＢ０に対してテスト用機器として外部機器１６が接続されており、この外部機器１６がマイクロコンピュータＮにテスト信号を与えることによりマイクロコンピュータＮをテストする。
【００１４】
具体的には、次のようにテストする。テストＲＯＭ１２には、予めテスト用プログラムが記憶されている。ＣＰＵ１０は、テストモードにおいてはテストＲＯＭ１２に記憶されたテストプログラムに基づいて動作する。このテストＲＯＭ１２には、入出力汎用ポートＰＢ４〜ＰＢ０に与えられるシリアルデータをＲＡＭ１１に転送し、転送終了後にＲＡＭ１１に記憶されたプログラムを実行するように設定したプログラムが書き込まれている。
【００１５】
そこで、図２（ｂ）に示すように、入出力汎用ポートＰＢ４〜ＰＢ０およびクロック入力端子ＣＬＫに外部機器１６が接続された状態において、ＣＰＵ１０がテストＲＯＭ１２に記憶されたプログラムを実行することにより、外部機器１６から任意のプログラムをＲＡＭ１１に転送することができる。したがって、レジスタ情報を入出力汎用ポートＰＢ４〜ＰＢ０を通じて外部機器１６に出力する動作テストプログラムを外部機器１６に記憶させた状態で、ＣＰＵ１０がテストＲＯＭ１２を実行することにより、外部機器１６がＣＰＵ１０のレジスタ情報を取得することができるようになる。
【００１６】
（３）解析モード
テストモードは、ＣＰＵ１０に動作テストプログラムを実行させることによりＣＰＵ１０のプログラムカウンタ１０ａ等のレジスタ情報を外部機器１６が取得することができるモードであるのに対し、解析モードは、ＣＰＵ１０が１ステップ毎にプログラムを実行した結果ＣＰＵ１０に内蔵されたプログラムカウンタ１０ａ等のレジスタ情報がどのように変化しているのかを外部機器１６により解析可能なモードである。主に不良解析時に使用される。
【００１７】
解析モードは、動作モード設定端子ＭＤ１に電源電圧（ハイ信号）、動作モード設定端子ＭＤ０にグランド電圧（ロウ信号）が与えられることにより設定される。図２（ｃ）は、解析モードの使用例を示している。解析モードにおいては、外部機器１６はマイクロコンピュータＮのクロック入力端子ＣＬＫに接続されることによりマイクロコンピュータＮの動作状態を解析することができる。
【００１８】
上記構成の作用について説明する。
すなわち、解析モードに設定されると、マイクロコンピュータＮのＣＰＵ１０は、クロック入力端子ＣＬＫから与えられるクロック信号に同期し、ユーザＲＯＭ２に記憶されたユーザプログラムを１ステップ毎に実行する。このとき、ＣＰＵ１０は、プログラムカウンタ１０ａの値をスタックメモリ１４に逐一記憶させる。その他のレジスタ情報についてもスタックメモリ１４に記憶させても良い。このとき、スタックメモリ１４は古いメモリの内容が順に上書きされる。このとき、解析者は不具合になったことを認識した時点でプログラムの実行をストップさせる。
【００１９】
この後、解析者がモード設定端子ＭＤ１およびＭＤ０のモードを切替え、テストモードに設定しスタックメモリ１４に記憶された内容を読出すことにより、不具合が生じたプログラム部分をピンポイントで容易に解析することができる。したがって、解析モードにおいては、膨大な量のユーザプログラムが記憶されていたとしてもステップ実行させることができるため、効率よく解析できるようになる。
【００２０】
すなわち、テストモードおよび解析モードを切替えてユーザＲＯＭ２に記憶されたユーザプログラムを解析することにより、外部機器１６が不具合時におけるＣＰＵ１０の内部レジスタ情報を読出すことができる。しかも、内部レジスタ情報等を外部機器１６から任意の値に設定した後、ユーザのソフトウェアを実行することができるようになり、不具合の解析を容易に行うことができる。
【００２１】
本実施形態によれば、テストモードおよび解析モードを切替えユーザＲＯＭ２に記憶されたユーザプログラムを解析することにより、ＣＰＵ１０がユーザＲＯＭ２に記憶されたユーザが作成したプログラムをテストできるため、ユーザプログラム実行時の動作を解析することができると共に、不具合解析を容易に行うことができる。例えば１６本や３２本のバスを開放するための端子を必要とすることなく構成することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態の概略的な構成図
【図２】（ａ）〜（ｃ）各モードの使用例を示す図
【図３】従来例を示す図１相当図
【符号の説明】
【００２３】
図面中、２はユーザＲＯＭ（ユーザ用記憶手段）、１０はＣＰＵ、１０ａはプログラムカウンタ、１１はＲＡＭ（揮発性記憶手段）、１２はテストＲＯＭ（プログラム記憶手段）、１４はスタックメモリ（デバッグ用記憶手段）、１６は外部機器（テスト用機器）、Ｎはマイクロコンピュータ、Ｐはポートブロック（入出力ポート）を示す。
【図１】
2006003967.tif 000003
【図２】
2006003967.tif 000004
【図３】
2006003967.tif 000005