JP2007527063A - 構成データを生成するための方法及び装置 - Google Patents

構成データを生成するための方法及び装置 Download PDF

Info

Publication number
JP2007527063A
JP2007527063A JP2007500293A JP2007500293A JP2007527063A JP 2007527063 A JP2007527063 A JP 2007527063A JP 2007500293 A JP2007500293 A JP 2007500293A JP 2007500293 A JP2007500293 A JP 2007500293A JP 2007527063 A JP2007527063 A JP 2007527063A
Authority
JP
Japan
Prior art keywords
microcontroller
register
peripheral device
stored
register values
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
JP2007500293A
Other languages
English (en)
Other versions
JP2007527063A5 (ja
Inventor
トーマス ジョンソン ポール
Original Assignee
シアン ホールディングス パブリック リミテッド カンパニー
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 シアン ホールディングス パブリック リミテッド カンパニー filed Critical シアン ホールディングス パブリック リミテッド カンパニー
Publication of JP2007527063A publication Critical patent/JP2007527063A/ja
Publication of JP2007527063A5 publication Critical patent/JP2007527063A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Abstract

マイクロコントローラ(8)のプログラミング及びテストのためのコンピュータシステム(1)を説明する。コンピュータシステム(1)は、構成モジュール(22)、アセンブラ(24)、コンパイラ(26)及びデバッガ(28)を含む対話型設計環境(20)を備える。コンパイラ(26)、アセンブラ(24)及びデバッガ(28)のすべてを用いると、高水準プログラムデータ(30)を、バイナリコードに変換してプログラムストア内に記憶し、マイクロコントローラ(8)内に含まれるCPUの機能を制御することが可能となる。構成モジュール(22)により、ユーザは、マイクロコントローラ(8)の内蔵周辺機器の設定と、周辺機器に対する信号の入出力のルーティングとを制御する値をレジスタに記憶するための構成プログラム(30)を生成することができる。信号のルーティングに関するレジスタ値は、2段階のプロセスにより、識別される。まず、ユーザは、構成モジュール(22)を用いて、有効にすべき周辺機器を識別する。次いで、ユーザインターフェースが生成され、識別した周辺機器のセットに必要な信号をルーティングする可能な構成が示される。次いで、ユーザは、識別した構成データのセットのうちのどのセットを使用して、構成プログラム(20)を生成するべきかを選択することができる。

Description

本願は、構成データを生成するための方法及び装置に関する。より詳細には、本願は、マイクロコントローラを構成するための構成データの生成に関する。
多くの装置は、装置の処理を制御するために、埋め込みマイクロプロセッサシステム又はマイクロコントローラを必要とする。このようなマイクロコントローラは、マイクロチップを備え、このマイクロチップは、マイクロチップに対する信号の入出力を可能にする複数のピンを有する。このマイクロチップは、通常、中央処理装置(CPU)、メモリ、及びマイクロコントローラ内で特定のタスクを行う複数の内蔵周辺機器を備える。
最新のマイクロコントローラ設計において、内蔵周辺機器が受信し、対話し、出力できる信号の数は、マイクロチップ上で利用可能なピンの数を超えることが多い。これは通常、任意の個々のアプリケーションにおいて、利用可能な周辺機器のサブセットのみが利用される必要があるからである。このような状況において、マイクロコントローラのプログラミングは、2つの部分を有する。第1に、マイクロコントローラのCPUの処理を制御するコンピュータプログラムを記述して、マイクロコントローラのメモリに記憶する必要がある。従来、これは、高水準プログラミング言語を用いてソフトウェアを記述し、生成したコードを、マイクロコントローラのメモリ内に記憶されるバイナリコードにコンパイルすることによって、行われていた。
マイクロコントローラのプログラミングの第2の部分は、マイクロコントローラ内で利用可能な周辺機器に関する適切な設定を判定し、利用される周辺機器が、マイクロコントローラ上の利用可能なピンを介して対話し、信号を出力できるようにすることを含む。不適合な設定が、特定及び修正が困難な誤った動作を生じさせることがあるので、このマイクロコントローラのプログラミングの第2の部分は、扱いにくいものである。したがって、このマイクロコントローラのプログラミングの第2の部分を、より容易に行うことを可能にするシステムが必要とされている。
本発明の一側面にしたがうと、複数の周辺機器を含むマイクロコントローラのレジスタ内に記憶するレジスタ値のセットを識別するよう動作可能なマイクロコントローラ構成装置が提供される。このマイクロコントローラは、前記レジスタに記憶されたレジスタ値に基づいて、前記周辺機器に対する各種の選択した信号の入出力をルーティングするよう動作可能であり、前記マイクロコントローラ構成装置は、
ユーザが、前記マイクロコントローラに含まれる複数の周辺機器から選択した周辺機器を識別するデータを入力できるようにする第1のユーザインターフェースを生成するよう動作可能な第1のユーザ入力インターフェースジェネレータと、
前記第1のユーザインターフェースを介して入力された、選択した周辺機器を識別するデータに関して、前記周辺機器の各々が機能できるよう前記選択した周辺機器に対する入出力をルーティングするために必要な信号のセットを判定するよう動作可能な判定モジュールであって、マイクロコントローラのレジスタ内に記憶されるときに、前記選択した周辺機器に対する判定した信号すべての入出力をルーティングすることを可能にするレジスタ値の複数の組合せを識別するようさらに動作可能な判定モジュールと、
ユーザが、前記判定モジュールが識別した前記レジスタ値の複数の組合せのうち1つを選択できるようにする第2のユーザインターフェースを生成するよう動作可能な第2のユーザ入力インターフェースジェネレータと、
前記第2のユーザインターフェースを介してマイクロコントローラのレジスタ内に記憶する選択したレジスタ値の組合せに対応するレジスタ値を含むレジスタ値のセットを識別するデータを出力するよう動作可能な出力モジュールと
を備える。
本発明のさらなる側面及び実施形態は、添付図面を参照することにより明らかになるであろう。
(第1の実施形態)
図1は、本発明の第1の実施形態にしたがう、マイクロコントローラのインラインテストを実行するためのコンピュータシステムを示している。詳細には、図1は、ユーザが先行技術よりも容易にマイクロコントローラをプログラムし、テストすることが可能となるようプログラムされたコンピュータ1を含む、コンピュータシステムを示している。
図1に示すように、コンピュータ1は、ディスプレイ画面2、マウス3、キーボード4及びプリンタ5に接続されている。コンピュータ1は、インターフェース6を介して回路基板7にも接続され、回路基板7上には、マイクロコントローラ8が設けられている。コンピュータ1自体は、マイクロプロセッサ10、ディスクドライブ11及びメモリ12を備える。
ディスクドライブは、コンピュータディスク15を受け入れるよう配置されており、それによって、メモリ12は、構成モジュール22、アセンブラ24、コンパイラ26及びデバッガ28を備える対話型設計環境(interactive design environment)20を形成する機能モジュールとして構成される。
本実施形態において、アセンブラ24、コンパイラ26及びデバッガ28は、各々、従来型のアセンブラ、コンパイラ及びデバッガを備える。それらは、ディスク15からディスクドライブ11を介してダウンロードされ、プログラムデータ30としてメモリ12に記憶されている高水準コンピュータプログラムを処理して、その高水準コンピュータプログラムをバイナリコードに変換し、それがインターフェース6を介してマイクロコントローラ8のメモリにダウンロードされるよう設定されている。
後に詳述するように、対話型設計環境20の構成モジュール22は、ユーザがキーボード4及びマウス3を介して命令を入力し、マイクロコントローラ8のための構成プログラム32を生成できるよう設定されている。この構成プログラム32は、マイクロコントローラ8上の特定の選択した周辺機器を有効にして、その選択した周辺機器が、マイクロコントローラ8を回路基板7に接続する特定のピンに対する信号を受信し出力できるよう、マイクロコントローラ8を構成する。この構成モジュール22を設けることにより、構成プログラム32の生成が簡略化されるので、マイクロコントローラ8のプログラミング及びテストのプロセスが非常に容易になる。
より具体的には、後述するように、構成モジュール22は、タスクを2段階に分けることにより、ユーザのために、構成データの生成を簡略化する。
まず、ユーザが、マイクロコントローラ8内で有効にすべき周辺機器セットと、これら選択した周辺機器の設定とを識別することを可能にするユーザインターフェースが、ユーザに提供される。次いで、構成モジュール22は、ユーザが選択した周辺機器を使用して、マイクロコントローラ8に対する選択した周辺機器のセットの信号の入出力をルーティングするのに適した可能な構成設定の限られたサブセットを識別する。
同時に、識別した可能な構成設定のセットから生じる、マイクロコントローラ8に対する入出力の物理的位置を示す表示が、ユーザに提供される。したがって、ユーザは、マイクロコントローラ8に関する可能な設定すべてを考慮する必要は無く、各種の構成設定によって、どのようにマイクロコントローラ8が選択した周辺機器の信号を受信し、出力する物理的位置を変えるかに関して、入手できるフィードバックを用いて、示されたサブセットから所望の選択を行うことができる。ユーザが所望の設定のセットを識別すると、構成モジュール22に記憶されているデータから、構成プログラム32を自動的に生成することができる。
次いで、コンパイラ26及びアセンブラ24が、プログラムデータ30から導出されるバイナリコード及び構成プログラム32を、コンピュータのメモリ12からマイクロコントローラ8のメモリにダウンロードすることにより、マイクロコントローラ8の性能をテストすることができる。次いで、構成プログラム32は、ユーザが構成モジュール22を介して選択した構成設定を、マイクロコントローラ8に採用させる。次いで、マイクロコントローラ8は、識別した構成設定を用いてバイナリコードを実行し、マイクロコントローラ8による出力を、従来の方法により解析することができる。
最後に、バイナリコード及び構成プログラム32の性能が十分であると判断されると、プログラムデータ30及び構成プログラム32を用いてプログラムされたマイクロコントローラ8を生成し、より大きな装置の回路基板内に組み込むことができる。
構成モジュール22の構成及び機能を説明する前に、図2及び図3を参照して、例示的なマイクロコントローラ8の構成をまず説明する。
(例示的なマイクロコントローラの構成)
マイクロコントローラ8の概略ブロック図である図2を参照すると、各マイクロコントローラは、メインチップ35を備え、メインチップ35上には、クロック36、中央処理装置37、プログラムストア38及び周辺機器のセット40−1〜40−Nが設けられている。各周辺機器は、チップ上で特定のタスクを行うよう配置された機能ブロックを備えている。代表的な機能ブロックは、赤外線検出器、カウンタ、キャプチャタイマ又はUART等である。特定のチップ上で利用できる緻密な周辺機器は、各マイクロコントローラによって異なる。
メインチップ35は、一連のピン42を用いて回路基板7に接続されている。これらのピン42は、回路基板のメインチップ以外の部分からの信号を、メインチップ35にルーティングするよう配置されている。マイクロコントローラ8は、メインチップ35上のCPU37及び周辺機器40−1〜40−Nが処理できる入出力の数が、メインチップ35に対する信号の入出力をルーティングするのに利用できるピン42の数を超えるよう、配置されることが多い。これは、通常、任意のアプリケーションにおいては、周辺機器40−1〜40−Nのサブセットのみが利用されるからである。
共に利用できる周辺機器のセットに関して柔軟性を提供するために、また信号を各種ピン42にルーティング可能なように、ピン42は、ピンのグループに分割される。ポートA〜K 45〜56、及び、制御信号のセット57を含む1つのポートとして、これらのグループを図2に示す。これらのポートの各々は、ピンのグループを有する。図2におけるポートは、4本のピンを有するポートK50及びポートL49と、16本のピンを有する制御信号ピンのセットを有するポート57とを除いて、各々、8本のピンを有するものとして示されている。制御信号に関連付けられたピンのセット57を除き、残りのポート45〜56は、各々、セレクタ60及びレジスタ62に関連付けられている。各セレクタ60は、配線のセット63を介してメインチップ35上の周辺機器40−1〜40−Nに接続されている。各セレクタ60は、配線63を介して転送される信号のうち、そのセレクタ60に接続されたピンに接続する信号を、そのセレクタ60に関連付けられたレジスタ62に記憶されたデータに基づいて選択するよう、設定されている。
このようにして、レジスタ62に適切なレジスタ値を記憶することにより、周辺機器40−1〜40−Nからの各種信号が、マイクロコントローラ8を回路基板7に接続するピン42のうちの選択したピンに接続されるよう、マイクロコントローラ8を構成することができる。
ピン42を介して適切な信号のセットをルーティングできるようプログラムする必要のあるレジスタ62に加えて、典型的なマイクロコントローラにおいては、クロック36及び周辺機器40−1〜40−Nの各々も、それらに関連付けられたレジスタのセット64及び65−1〜65−Nを有する。これによって、マイクロコントローラ8に実行させようとする個々の機能に合わせて、クロック36及び周辺機器の個々のパラメータを調整することが可能になる。
一例として、図3は、マイクロコントローラ8上で利用できる典型的なクロック36の概略ブロック図である。典型的なクロックは、32kHzの周波数を有するクロック信号を生成するよう設定された低周波発振器80と、5MHzの周波数を有するクロック信号を生成するよう設定された高周波発振器82とを備えている。さらに、典型的なクロックは、低周波発振器80からの32kHz信号を用いて5MHzクロック信号を生成するよう設定された低周波PLL84と、高周波発振器82が生成するクロック信号を、100MHzの周波数を有するクロック信号に変換するよう設定された高周波PLL86とを備えている。このようにして、クロック36は、4つのクロック信号のセットを生成することができ、各クロック信号は、マイクロコントローラ8のメインクロックの基盤を形成することができる。
ユーザが、メインクロック信号として利用すべき信号を選択できるようにするために、低周波発振器80、低周波PLL84、高周波発振器82及び高周波PLL86がすべてセレクタ87に接続され、同様にセレクタ87がレジスタ88に接続される。この例においては、レジスタ88は、2ビットレジスタである。レジスタ88に適切な値を記憶することにより、セレクタ87は、低周波発振器80、低周波PLL84、高周波発振器82又は高周波PLL86が生成するクロック信号のうち、基本クロック周波数として使用すべき信号を判定するよう設定されている。
さらに、クロック36は、クロックを予め設定された値で分周することにより、セレクタ87が選択するメインクロック信号から種々の周波数のクロック信号を導出するよう設定された1対の分周器90、91を備えている。こうした予め設定された値は、分周器90、91の各々に関連付けられたさらなるレジスタ92、94内に記憶される。このようにして、クロックモジュール36は、セレクタ87が選択したマスタークロック信号に基づく種々のクロック信号のセットすべてを、導出及び出力し、メインチップ35上のCPU37及び周辺機器40−1〜40−Nが、それらを使用する。したがって、クロックモジュール36が適切な信号を出力できるようにするために、さらなる構成データをクロックのレジスタ92、94に記憶する必要がある。
したがって、マイクロコントローラ8をプログラムするためには、データの3つのセットを生成して記憶する必要がある。まず、バイナリコードを生成して、メインチップ35のプログラムストア38内に記憶する必要がある。そうすると、メインチップ35のCPU37が、このコードを処理し、実行することができる。このコードは、従来の方法により、コンパイラ26、アセンブラ27を用いてプログラムデータ30から生成し、デバッガ28を用いて修正することができる。
しかしながら、さらに、周辺機器40−1〜40−N及びクロック36を設定して、これらが実行するよう設定されている専用の機能を実行するように、これら周辺機器及びクロック36を構成するためには、各周辺機器40−1〜40−N及びクロック36用の構成データを生成して、これらをレジスタ64、65−1〜65−N内に記憶する必要がある。構成データは、ポート45〜56の各々に関連付けられたレジスタ62内にも記憶して、各種周辺機器が利用する信号が、マイクロコントローラ8を回路基板7に接続する適切なピン42に対する入出力をルーティングできるようにする必要がある。
次に、ユーザが、必要な構成データすべてを容易かつ効率的に生成できるようにする構成モジュール22の構成及び機能を、図4〜図13を参照して説明する。
(構成モジュールの機能コンポーネントの概説)
図4は、本発明の本実施形態にしたがう、構成モジュール22のサブコンポーネントの概略ブロック図である。
本実施形態において、構成モジュール22は、キーボード4とマウス3とを介して命令を受信し、ユーザインターフェースをディスプレイ画面2に表示するよう設定されたインターフェースジェネレータ100;マイクロコントローラ8のポート45〜56に関連付けられたレジスタ62に関するどの設定が、選択した周辺機器のセットと適合するかを判定するよう設定された構成チェックモジュール102;特定の選択した周辺機器40−1〜40−Nに関する適切な値をレジスタ62に記憶させるための構成プログラム32を生成するよう設定されたコード生成モジュール104;及び、選択した周辺機器のセットとポート構成とを識別するデータを利用して、マイクロコントローラ8の識別した構成に合わせた概略図及びプリント回路基板図を生成して出力するよう設定された出力モジュール106を備える。
上述した機能モジュールに加えて、構成モジュール22はまた、個々のマイクロコントローラ8上で利用できる各周辺機器40−1〜40−N及びクロック36の信号と、可能な設定とを定義するデータを記憶する周辺機器データベース108;様々な値が、マイクロコントローラ8のポート45〜56に関連付けられたレジスタ62に記憶されている場合に、どの信号が、マイクロコントローラ8上のどのピン42に接続されるかを示すテーブルを有する構成テーブルのセット110;入力信号を受信するために、周辺機器40−1〜40−Nが、ピン42のどのピンを利用するのに好適かを示す好適入力リスト112;個々の周辺機器40−1〜40−N及びクロック36内の様々な設定の適合性に関する要件を定義するデータを有するルールデータベース114;マイクロコントローラ8を回路基板7に接続するピン42の各々に関連付けられたデフォルト名を識別するためのラベルであるデフォルトピン名のセット116;及び、レジスタに関する値が規定されていない場合に、マイクロコントローラのレジスタ62に記憶するデフォルト構成値のセットを定義するデータ118も備える。
最後に、使用中に、構成モジュール22は、特定の選択した周辺機器に関するレジスタ62に記憶する許容可能な構成値を識別する構成データ119を記憶し、かつ、これら選択した周辺機器を識別する選択周辺機器レコードのセットと、選択した周辺機器に関連付けられたレジスタ65−1〜65−Nに記憶する提案レジスタ値(proposed register value)とを、クロック36及びそのレジスタ64に関するレコードとともに記憶する選択周辺機器データベース120を記憶するよう設定されている。
図5は、構成モジュール22の周辺機器データベース108内のレコードの概略ブロック図である。本実施形態において、マイクロコントローラ8内で利用可能な周辺機器40−1〜40−Nの各々に関する周辺機器レコード121は、クロック36に関連付けられたさらなるレコード及びマイクロコントローラ8の汎用入出力ピンに関連付けられたデータ等の他の任意のグローバルパラメータとともに、周辺機器データベース108内に記憶される。
本実施形態において、各周辺機器レコード121は、周辺機器名122を識別する名称データ;そのレコードに関する周辺機器に関連する入力と出力とを示す信号のリスト123;及び、信号リスト123内の各エントリごとに、個々の信号が入力であるか、出力であるか、又は入出力の両方であるかを識別するステータスデータ124を有する。
したがって、例えば、非同期送受信モジュールに関する周辺機器レコードは、以下のデータを有することができる。
周辺機器名: UARTA
信号のリスト: UARTA_TX、UARTA_RX
ステータスデータ: 出力、入力
さらに、各周辺機器レコード121は、レジスタ名のリスト125、レジスタレコード126のセット及び変数値127のセットも有する。レジスタ名125、レジスタレコード126及び変数値127の数は、各周辺機器によって変わる。
レジスタ名のリストは、周辺機器レコードが表す周辺機器に含まれる各レジスタ64、65−1〜65−Nの機能を識別する。したがって、図3の例示的なクロックに関するクロックレコードの場合、以下のレジスタ名を記憶することができる。
低周波クロック周波数
高周波クロック周波数
インクロック(In-clock)周波数
フリーラン(Free-run)クロック周波数
CPUクロック周波数
レジスタレコード126は、周辺機器レコード121が表す周辺機器に関連付けられたレジスタ64、65−1〜65−Nの可能な値の各々に関するレコードを有し、そのレコードは、固定された複数の設定のうちの1つを採用することができる。各レジスタレコード121は、レジスタレコード126が関係する周辺機器内のレジスタを識別するレジスタ番号130;レコード126により識別されるレジスタに関する可能な設定である値132;及び、レジスタ番号130により識別されるレジスタを、レコード126により識別される値132に設定することの要点をテキストで説明したものである設定134を有する。
したがって、例えば、図3の例示的なクロックの場合、ソース信号を選択するために、レジスタ88に関連する以下のレジスタレコード126を記憶することができる。
レジスタ番号: 88
値: 00
設定: 低周波クロック
レジスタ番号: 88
値: 01
設定: 高周波クロック
同様に、周辺機器レコード121の変数値127は、周辺機器レコード121に関する周辺機器に関連付けられた変数を様々な値に設定することの要点を識別するテキストデータを有する。
(構成テーブル)
図6は、本発明の本実施形態にしたがう構成テーブル110を例示している。
本実施形態において、構成テーブルは、マイクロコントローラ8の各ポート45〜56ごとに記憶され、構成モジュール22は、その各ポートに対して、構成データを生成するよう設定されている。各構成テーブルは、その特定のポートに関連付けられたピンを識別する番号135を含むピン番号のセットと、チャネル値として識別される固有値を、そのポートのレジスタ62に記憶するときの、そのポートに関連付けられた一連の信号ラベル136とを有する。
慣習的に、チップのピン番号は、チップの所定の隅から反時計回りに数えるように割り当てられる。図2の概略図においては、同一ポートに関連付けられたピンをグループ化したものとして示しているが、実際のマイクロコントローラでは、ポートに関連付けられたピンは、必ずしも物理的に隣接している必要はなく、ポートの定義は、同一のセレクタ60及びレジスタ62に関連付けられたピンのセットを有するということである。したがって、図6において、4本のピンを有する例示的なポートに関するピン番号135のセットは、62、64、65及び66と番号付けられた4本のピンとして示されており、番号63のピンは、別のポートに割り当てられている。
ピン番号135のセットに加えて、各構成テーブルは、チャネル値に対応する値をレジスタ62に記憶するとき、どの信号が、特定のポートに関連付けられたどのピンに接続される可能性があるかを識別するデータ136も有する。
したがって、図6の例においては、このテーブルが表すポートのセレクタ60に関連付けられたレジスタ62内にゼロの値を記憶するとき、CPU37をウェイクアップさせるウェイクアップ信号WAKEUPが、ピン62に割り当てられる。また、マイクロコントローラ8が利用する周辺機器の1つとして、シリアル入力インターフェースが選択された場合、シリアルネットワークインターフェースに合わせて、ストリームアクノレッジSTREAM_ACK、ストリームステータスSTREAM_STS及びストリームリクエストSTREAM_REQ信号が、ピン64、65及び66を介して入出力される。
図6の例示的なテーブルから分かるように、レジスタ62内に記憶する変数を変更することにより、種々の信号を種々のピンに接続させることができる。逆に言えば、例えば、図6のテーブルにおけるウェイクアップ信号WAKEUPの場合、そのテーブルに関するポートに関連付けられたレジスタを0又は3に設定すると、ピン62がこの信号を受信する。後に詳述するように、構成テーブル110内に記憶されるデータにより、構成チェックモジュール102は、周辺機器40−1〜40−Nからの信号を同一ピン上で出力又は受信しようとするとき、互いに競合することなく、選択した周辺機器のセットをマイクロコントローラ8内で使用できるようにする可能なレジスタ値のセットを識別することできる。
(選択周辺機器データベース)
図7は、選択周辺機器データベース120内に記憶されるデータの概略ブロック図である。本実施形態において、最初は、選択周辺機器データベースは、マイクロコントローラのクロックモジュール36に関する単一の周辺機器レコード140を記憶するよう設定されている。後述するように、使用中に、ユーザが、使用するのに必要なものとして、構成モジュール22を介して、種々の周辺機器を識別すると、さらなる周辺機器レコード140が、データベース120に追加される。
選択周辺機器データベース120に記憶された周辺機器レコード140は、各々、周辺機器データベース108の周辺機器レコード121から選択した周辺機器に関する周辺機器名122に対応する周辺機器名141;そのレコードの周辺機器名141により識別される周辺機器に関連付けられたレジスタ及び変数に関する現在の設定のセットであるレジスタ値142及び変数値143のセット;及び、インターフェースジェネレータ100が生成する画面ディスプレイ内で、マイクロコントローラ8内で有効にされている識別した周辺機器の存在を表すために、周辺機器名141を表示するボックスがどこにあるかを特定するxy座標の対である位置144を有する。
(構成モジュールの処理)
次に、図8〜図13を参照して、構成モジュール22の処理を説明する。
構成モジュール22の処理のフロー図である図8を参照すると、まず、初めて構成モジュール22が呼び出されるとき、インターフェースジェネレータ100は、初期ユーザインターフェース画面をディスプレイ画面2上に表示する(S8−1)。
図9は、本発明の本実施形態にしたがう初期ユーザインターフェースディスプレイ145を例示している。ユーザインターフェースディスプレイ145は、左側に、周辺機器ウインドウ150、及び、右側にメインウインドウ152を有する。周辺機器ウインドウ150は、一連のアイコン151を表示しており、各アイコンは、構成データを生成することができる、マイクロコントローラ8内に存在する周辺機器40−1〜40−Nの各々に関連付けられている。メインウインドウ152内には、構成データを生成するマイクロコントローラ8の略図表示154が示されている。
本実施形態において、略図表示154は、その縁部にマイクロコントローラのピン42の表示を有する。各ピンは、ラベル156に関連付けられており、ラベル156は、最初は、構成モジュール22内に記憶されたデフォルトピン名データ116により識別されるピン番号に関連付けられたデフォルトピン名116と一致している。これらのピン名は、ピン番号の順に配置されているので、マイクロコントローラ8の一隅にしか存在しないマーク157を基準にして、ピンラベル156により識別される入力及び出力の相対位置を示している。マーク157は、コントローラ8の略図154上でもマーク157として示されている。
最後に、ユーザインターフェースディスプレイ145は、右側に、構成ウインドウ160も有する。その構成ウインドウ160内には、構成データを生成するマイクロコントローラ8のポート45〜56のレジスタ62の各々に関する現在のレジスタ設定を識別するポート構成データ162が、現在の構成163内の汎用入出力に関連付けられたピン番号を示す数字とともに表示される。初めは、それら設定は、構成モジュール22内に記憶されたデフォルト構成値118と一致する値となる。
このポート構成ウインドウ160の下縁には、構成モジュール22内に記憶された構成データ119が表す現在適用可能な構成の間で選択を行うための構成ボタンのセット164が存在する。装置が初めて呼び出されるとき、記憶された構成データ119は、単一の構成を識別する、各ポートごとにヌル値のセットを含むデータを有する。これによって、後述するように、ポート構成ウインドウ160は、記憶されたデフォルト構成118に対応するポート構成データ162を表示し、ピンラベル156は、記憶されたデフォルトピン名116に対応する。
マウス3の制御下にあるポインタ165を使用すると、ユーザは、ユーザインターフェースディスプレイ画面145の各種領域を選択することができる。これによって、構成モジュール22は、表示されたユーザインターフェースディスプレイ145と、選択周辺機器データベース120に記憶されたデータと、構成データ119とを変更する。その結果、ユーザは、次に説明するように、マイクロコントローラ8に関する適切なレジスタ設定を選択することができる。
図8を参照すると、インターフェースジェネレータ100が、初期ユーザインターフェースディスプレイ145を画面2上に表示すると、次いで、インターフェースジェネレータは、ユーザがマウス3の制御下にあるポインタ165を使用して、周辺機器ウインドウ150内の周辺機器の表示151のいずれかを選択したか否かをチェックする(S8−2)。本実施形態において、周辺機器の表示151の選択を利用して、ユーザは、マイクロコントローラ8上で使用するために利用可能にしたい特定の周辺機器を識別することができる。
ユーザが、周辺機器ウインドウ150内の周辺機器の表示151のいずれかを選択した場合、次いで、インターフェースジェネレータ100は、新たな選択周辺機器レコード140を生成し、そのレコード140を選択周辺機器データベース120に記憶する(S8−3)。新たに生成した選択周辺機器レコード140において、周辺機器名141が、周辺機器のリスト151から選択した周辺機器に対応する周辺機器レコード121の周辺機器名122に設定される。次いで、レジスタ値142及び変数値143が、選択した周辺機器に関するデフォルト値に設定され、ユーザがマウス3上のボタンを離すまでポインタ165を追跡して、xy位置が設定される。
したがって、例えば、周辺機器ウインドウの一番上にあるSCI−スマートカードインターフェースアイコンを選択した場合、以下のレコードが生成され、記憶される。
周辺機器名: SCI
レジスタ値: 0,0,0,0,0,0
変数値: なし
位置: ポインタのxy座標
次いで、インターフェースジェネレータ100は、新たな周辺機器レコード140により識別された位置144を中心に、四角のブロックを画面2上に表示させる。画面2には、そのブロック中に、新たに生成した周辺機器レコード140の周辺機器名141に対応するテキストが現われる。
次いで、構成モジュール22は、構成チェックモジュール102を呼び出して、周辺機器レコード140を今記憶した周辺機器のセットに対応する信号の入出力ができるようにする可能なポート構成のセットを判定する(S8−4)。
構成チェックモジュール102の処理のフロー図である図10を参照すると、新たな周辺機器レコード140を、選択周辺機器データベース120に記憶した後、構成チェックモジュール102は、まず、この追加の周辺機器の包含により影響を受ける可能性のあるポートチャネル設定の判定に進む(S10−1)。
より詳細には、構成チェックモジュール102は、まず、新たに生成した選択周辺機器レコード140の周辺機器名141に対応する周辺機器名122を有する周辺機器レコード121に関して、信号のリスト123を識別する。
したがって、例えば、前述した周辺機器UART Aに関する新たな選択周辺機器レコード140を記憶する場合、信号のリスト123には、リストUART A_RX及びUART A_TXが含まれる。
次いで、構成チェックモジュール102は、識別した信号のいずれかに関連付けられる構成テーブル110及びチャネル値136の識別に進む。これは、構成テーブル110をルックアップテーブルとして利用して、新たな周辺機器の追加により影響を受ける可能性のあるポート及びチャネル値のセットを判定することによって達成される。
したがって、例えば、特定の周辺機器に関し、構成チェックモジュール102は、チャネル値が1に設定された場合、その周辺機器が利用する信号が、ポートDに関するテーブルに関連付けられ、チャネル値が2に設定された場合、ポートKに関するテーブルに関連付けられることを識別することができる。
次いで、構成チェックモジュール102は、識別したチャネル設定のセットの可能な組合せすべての識別に進む。したがって、上記の例の場合、3つの組合せ、すなわち、チャネル1に対するポートDの設定、チャネル2に対するポートKの設定、又はチャネル1に対するポートD及びチャネル2に対するポートKの両方の設定を識別することになる。
この影響を受ける可能性のあるポート設定のセットを識別すると、次いで、構成チェックモジュール102は、識別したポート設定の各組合せごとに、これらのポート設定に関連付けられた信号の完全なリストを判定する(S10−2)。これらの値は、識別した組合せを用いて構成テーブル110から読み取られる。
次いで、構成チェックモジュール102は、各組合せごとに、信号のリストが、新たな選択周辺機器レコード140を今記憶した周辺機器に関連付けられた信号のリスト123内のエントリすべてを含むか否かをチェックする。信号のリストがエントリ全てを含まない場合、識別したポート設定の組合せが削除される。
このようにして、構成チェックモジュール102は、新たに選択した周辺機器が必要とする信号すべての入出力を可能にするのに十分なポート設定の組合せのセットを識別する。
次いで、構成チェックモジュール102は、識別した許容可能な組合せの各々を順に処理する(S10−3)ことに進む。詳細には、特定の組合せに関連付けられたポート設定が、構成データベース119の各既存エントリと比較される。本実施形態において、その各エントリは、各ポート45〜56ごとに1つの一連の値を有し、関連付けられたポートに関するチャネル設定のいずれか、あるいは、ヌル値を取ることができる。現在処理されているポート構成の組合せが、構成データの項目内のヌル値を識別した場合、あるいは、特定のポートに関して構成データの項目により識別されるポート設定と同一のポート設定の値を識別した場合、構成データの新たな項目が生成され、記憶される。
本実施形態において、生成された構成データの新たな各項目は、現在検討されている組合せにより識別された対応するポート設定に対して設定された影響を受ける識別したポートに対応する任意のヌル値のポート設定値を用いて処理されている構成データの項目のコピーを含む。
したがって、例えば、以下の影響を受ける可能性のある識別したポート設定の組合せのセットを、以下の記憶された構成データの項目に対して処理すると、
D=1
K=2
D=1かつK=2
Figure 2007527063
ここで、_は、チャネルに関するヌル値を示している。組合せすべてを処理した後、以下の構成データの項目が記憶される。
Figure 2007527063
構成チェックモジュール102が、影響を受ける識別したポート設定の組合せすべてを処理した後、次いで、構成チェックモジュール102は、新たに記憶された構成データの項目が存在するか否かを判定する(S10−4)。新たに記憶された項目が存在しない場合、これは、新たな周辺機器の追加が、以前に選択した周辺機器のセットと適合せず、選択した周辺機器のセットすべてが、これら周辺機器に関連付けられたすべての信号を受信及び出力できるようにする可能なポート設定がないことを示す。次いで、構成チェックモジュール102は、このエラーを記録する(S10−5)。
図8に戻って、構成チェックモジュール102の処理の後、選択した周辺機器のセットに適応できる可能な構成のセットがないと判定された場合(S8−5)、インターフェースジェネレータ100は、新たに生成した選択周辺機器レコード140の削除に進み、選択した周辺機器を現在選択されているリストに追加できない理由を明らかにする警告を表示する。この警告は、新たな周辺機器のために影響を受けるポート設定の生成したリストを利用し、識別したポートを代わりの値に設定させる他の選択した周辺機器を識別することにより、生成される。
図10に戻ると、構成データの新たな項目を生成した場合、その項目を使用して、以前に記憶された構成データ119を置き換える。次いで、構成チェックモジュール102は、構成データの各項目ごとに、関連付けられたピン名のセットを計算する。本実施形態において、これは、ポート45〜46に関連付けられた各ピンを順に取得し、構成データにより識別されたポート設定を用いて、そのピンとそのピンのピンラベルとを関係付ける構成テーブルにより、そのピンのピンラベルを識別することによって、達成される。
ピン名の完全なリストが生成されたとき、構成チェックモジュール102は、各ピンラベルのセットごとに、そのラベルが、汎用入力/出力ラベル、又は、選択周辺機器レコード140のいずれかの周辺機器名141に対応する周辺機器名122を有する周辺機器のうちの1つの信号のリスト123内の信号のいずれかに対応するか否かをチェックする。対応しない場合、記憶されたデフォルトピン名116を用いて、ピンのラベルを、そのピンのデフォルトラベルに再設定する。次いで、最後に、構成データの項目が、構成データの各項目に関連付けられたピン名のリストに含まれる汎用入出力の番号に基づいて記憶される。
ピンラベルが生成され、構成データ119が、含まれた汎用入出力の番号の昇順に順序付けられると、次いで、構成チェックモジュール102は、生成したピン名の各リストを処理して、各リストごとに、構成データが、周辺機器データベース108内のステータスデータ125により入力信号として識別されたいずれかの信号の重複表現を含むか否かを識別する(S10−7)。信号の重複表現を含む場合、構成チェックモジュール102は、好適入力リスト112を利用して、好適入力以外のあらゆる重複入力に関するピンラベルを、構成モジュール22のデフォルトピン名116により示されるこれらのピンのデフォルトピン名に設定する。
最後に、構成チェックモジュール102は、インターフェース生成モジュール100に、ユーザインターフェースディスプレイ145を更新させる(S10−8)。この更新は、ピンの表示を、汎用入出力の最大番号に関連付けられた構成データの項目に関するピンラベルに対応するピンラベル156を用いて再ラベル付けすること、及び、選択した周辺機器を表すボックスを、選択した周辺機器用の信号に関連付けられたピンに、ラインを介して接続することによってなされる。
図11は、ユーザインターフェースディスプレイ145を用いて複数の周辺機器を選択した後のユーザインターフェースディスプレイ145を例示している。図11を図9と比較すると、メインウインドウ152内に、9つの四角のブロックが示されており、各ブロックは、以前に選択した種々の周辺機器に関連付けられていることが確認できる。また図11を図9と比較すると、ピンラベル156は、図示した周辺機器が有効になると、これらのピンの目的の変更を反映するよう、更新されていることが確認できる。最後に、図9及び図11の構成ウインドウ160を比較すると、構成データ162は、現在選択されている構成データの項目のポート設定に対応するよう変更され、ヌル値が、これらのポートに関するデフォルト値118と置き換わっていることを示し、汎用入出力ライン163の計算された数もまた、構成ボタンのセット164の一部分として表示される利用可能な構成数を有するよう更新されている。
図8に戻って、インターフェースジェネレータ100が、ユーザが周辺機器ウインドウ150において周辺機器のリスト151のエントリのうちの1つも選択しなかったと判定した場合(S8−2)、次いで、インターフェースジェネレータ100は、ユーザがメインウインドウ152内の選択した周辺機器を表すボックス167のうちの1つを選択したか否かを確認するようチェックする(S8−7)。
ユーザが選択していた場合、次いで、インターフェースジェネレータ100は、ボックス167を選択するのに、マウスボタンの左を利用したか、又は、右を利用したかをチェックする(S8−8)。左マウスボタンを利用してボタンを押しながらボックス167を選択した場合、インターフェースジェネレータ100は、選択した周辺機器の位置座標144を、ポインタ165の示す位置に変更することに進む。
左ボタンを離したとき、インターフェースジェネレータ100は、ポインタ165の示す座標144が、メインウインドウ152の領域の外側の位置を示すか否かをチェックする(S8−10)。領域の外側でない場合、インターフェースジェネレータ100は、ポインタ165の座標を中心とするように、選択した周辺機器を表すボックス167を移動することによって、ユーザインターフェースディスプレイを更新する(S8−11)。
反対に、インターフェースジェネレータ100が、ポインタ165の位置座標がメインウインドウ152の領域の外側の位置を示すと判定した場合(S8−10)、これは、ユーザが、現在マイクロコントローラ8内でアクティブであるとして示されている周辺機器のセットから、選択した周辺機器を除去したいことを示していると解釈される。したがって、インターフェースジェネレータ100は、選択した周辺機器に関する選択周辺機器レコード140を、選択周辺機器データベース120内から削除し、そして、選択した周辺機器を表すボックス167を削除することにより、メインウインドウ152内のディスプレイを更新する。次いで、インターフェースジェネレータ100は、構成チェックモジュール102を呼び出して、構成データ119を更新し、選択した周辺機器の削除を明らかにし、図12を参照して説明するように、それに合わせて、ディスプレイ145に現れるピン152を再ラベル付けする。
構成チェックモジュール102が実行する処理のフロー図である図12を参照すると、この段階において、選択周辺機器データベース120は、その中に、互いに適合する選択した周辺機器を表す、選択周辺機器レコード140を記憶している。すなわち、選択した周辺機器すべてが、それらに必要な信号すべてを受信及び出力することを可能にするポート構成のセットが少なくとも1つは存在する。
構成データ119の新たなセットを生成するために、構成チェックモジュール102は、まず、周辺機器に関する第1の周辺機器レコードを選択し(S12−1)、前述した図10のステップ(S10−1)と関連させて、構成データを更新することに関して説明したのと同じ方法により、第1の周辺機器レコードにより識別された周辺機器に関連する信号を出力及び受信するポートを識別する(S12−2)ことに進む。
次いで、構成チェックモジュール102は、影響を受ける可能性のある識別したポート設定の組合せのうち、第1の周辺機器の入出力すべてを受信及び出力することを可能にする組合せを識別する(S12−3)ことにより、構成データの項目のセットを生成する。次いで、構成チェックモジュール102は、選択した周辺機器に関する入出力の完全なセットを受信及び出力することができるポート設定の各組合せごとに、構成データ119の項目を生成し、記憶する。これら生成した構成データ119の項目は、ポート設定が、識別した組合せに関するポート設定を識別し、かつ、残りのポート設定すべてが、ヌル値で表される構成データ119を含む。
次いで、構成チェックモジュール102は、選択周辺機器データベース120内の最後の周辺機器レコード140に達したか否かをチェックする(S12−4)。最後の周辺機器レコード140に達していない場合、次の選択周辺機器レコード140が処理され(S12−5)、次いで、その周辺機器に関する影響を受けるポート設定のセットが識別される(S12−6)。次いで、その周辺機器に関する影響を受ける可能性のあるポート設定の組合せがフィルタリングされ(S12−7)、現在検討されている周辺機器が、完全な信号のセットを受信及び出力することのできない組合せを除去する。次いで、この識別した可能な組合せのセットを使用して、構成データのさらなる項目を生成する(S12−8)。このさらなる項目の生成は、図10のステップ(S10−3)と関連させて前述したのと同じ方法で、現在記憶されている構成データの項目と適合する組合せを判定することによってなされる。
この処理(S12−4〜S12−8)は、選択周辺機器データベース120内の最後の周辺機器レコード140に達するまで、連続する各選択周辺機器レコード140ごとに、繰り返される。
この段階において、構成モジュール22は、その中に、現在選択されている周辺機器のセットが必要とする信号すべてを入出力できるようにする可能なポート構成すべてを識別する構成データ119を記憶している。次いで、構成チェックモジュール102は、ステップ(S10−6〜S10−8)と関連させて前述したのと同じ方法で、記憶された構成データ119の各項目ごとに、ピン名のリストを判定し、次いで、構成チェックモジュール102は、ピン名の各リストに存在する汎用入出力の番号により、それら組合せを順序付ける(S12−9)。次いで、構成チェックモジュール102は、生成したピン名の各リストをチェックし、あらゆる選択した周辺機器に関して、すべての入力信号のすべての重複表現を識別し、重複表現を検出した場合は常に、構成チェックモジュール102は、好適入力リスト112を利用して、入力のうちのどれが好適入力であるかを識別し、残りのすべての重複入力に関するピン名を、そのピンのデフォルトピン名116に変更する(S12−10)。
最後に、構成チェックモジュール102は、インターフェースジェネレータ100に、構成データと、汎用入出力の最大番号に関連付けられた構成データ119の項目に関するピン名のセットとを使用して、メインウインドウ152のピンの表示156を再ラベル付けさせ、構成ウインドウ160のポート構成データ162を更新させる(S12−11)。次いで、インターフェースジェネレータ100により、周辺機器167を表す各ボックスをこれらの周辺機器に関連付けられた入出力の各々に接続するラインの表示を、ピンデータ156によりラベル付けされるように更新して、現在選択されている構成を示すようにする。
このように、周辺機器のリスト151から周辺機器のセットを選択し、メインウインドウ152内から周辺機器を除去することにより、ユーザは、マイクロコントローラ8上で有効にしたい周辺機器のセットを識別することができる。同時に、各選択に関して、構成チェックモジュール102は、現在選択されている周辺機器のセットに関連付けられた信号を出力可能にするために必要なポート設定を識別する構成データの項目のセットを判定し、適合しない周辺機器の選択をいつ行ったかについて、及び、このような選択した周辺機器のセットが適合しない理由を明らかにする。
さらに、前述したように、識別した選択した周辺機器と適合する特定のポート設定のセットを選択したとき、構成モジュール22はまた、マイクロコントローラ8の略図表示154を、所定の周辺機器のセットに関して、マイクロコントローラの各ピンの目的を示すピン名のセット156とともに表示させる。
図8に戻ると、インターフェース生成モジュール100が、ユーザが選択した周辺機器を表すボックス167のうちの1つも選択していないと判定した場合(S8−7)、次いで、インターフェースジェネレータ100は、マイクロコントローラ154の表示領域が選択されたか否かをチェックする(S8−13)。
マイクロコントローラ154の表示領域が選択された場合、本実施形態においては、これを使用して、ユーザがデータを入力し、マイクロコントローラ8に存在するクロックモジュール36に関する設定を特定できるようにする。
より詳細には、まず、ユーザインターフェースジェネレータ100は、クロックモジュールに対応する周辺機器データベース108内、及び、選択周辺機器データベース120内のレコードを識別し(S8−14)、次いで、インターフェースジェネレータ100は、ユーザが現在のクロック設定を変更できるようにするため、ディスプレイメニューを生成する(S8−15)。
図13は、マイクロコントローラ8上のクロック36に関する設定を変更するためのユーザインターフェースディスプレイメニューを例示している。図13に示すように、メニューは、周辺機器データベース108からの選択周辺機器レコード121のレジスタ名125に対応するレジスタ名のリスト200を含み、その隣には、一連の現在値202が表示されている。それら現在値202は、選択した周辺機器に関するレジスタ値142及び変数値143に対応する説明である設定説明134を含む。
マウス3の制御下にあるポインタ165を用いて個々のレジスタを選択すると、次いで、レジスタに関して可能な設定134のすべてを明らかにするドロップダウンメニュー204が現れるか、あるいは、ユーザによる変数値127の入力を可能にするボックスが表示される。次いで、ユーザは、メニュー204からエントリを選択してデータを入力することにより、又はキーボード4を介してデータを入力することにより、現在の設定を変更することができる。
値を変更した後、ユーザがその設定に満足する場合、ユーザは、ポインタ165を用いて、OKボタン206を選択する。次いで、これにより、インターフェースジェネレータ100は、選択した周辺機器のレジスタ値142及び変数値143を選択した設定に対応するように更新する。代わりに、ユーザは、キャンセルボタン207を選択することもできる。この場合、選択した周辺機器に関するレジスタ値142は更新されない。OKボタン206又はキャンセルボタン207のいずれかが選択された後、インターフェースジェネレータ100は、メインディスプレイ145の表示に戻る。
同様にして、インターフェースジェネレータ100が、既存の周辺機器を表すボックス167がマウスの右ボタンを用いて選択されたと判定した場合(S8−8)、選択した周辺機器に関連付けられた設定を入力及び変更するため、同様のディスプレイメニューを生成する。次いで、選択した周辺機器に関する選択周辺機器レコード140のレジスタ値142及び変数値143が、クロックの変数を更新することに関して説明したのと同じ方法により、更新される。同様に、何らかの変更がなされた後、OKボタンが選択されると、選択周辺機器レコード140に関する対応するレジスタ値142及び変数値143が更新される(S8−16)。
このようにして、ユーザは、個々の周辺機器レコード140に関連付けられたデフォルト設定を変更することができるので、選択した周辺機器に関する、レジスタ65−1〜65−N;88;92,94に記憶するのに必要な値を確認することができる。
図8を参照すると、インターフェースジェネレータ100が、ユーザがチップ154に対応する領域を選択しなかったと判定した場合、次いで、インターフェースジェネレータ100は、ユーザインターフェース画面上の構成コントロールボタン164のいずれかが選択されたか否かをチェックする(S8−17)。
本実施形態において、構成コントロールボタン164は、構成モジュールが記憶した構成データ119の最初(first)、前(previous)、次(next)、又は最後(last)の項目を選択するための一連のボタンを含む。それらボタンのうちの1つが選択されると、ディスプレイ生成に現在使用されている構成データの項目に関連する、選択したボタンにより識別される構成データの項目を用いて、新たなユーザインターフェースディスプレイ145を生成する(S8−19)。これは、新たに選択した構成データの項目に関連付けられたピンラベルを用いて、ピン156を再ラベル付けし、構成ウインドウ160を更新し、その周辺機器を表すブロック167を再接続することによって、達成される。
したがって、構成コントロールパネルの種々のボタン164を選択することにより、ユーザは、現在選択されている周辺機器のセットに関する許容可能な各種構成の間をスクロールすることができる。そうするに当たり、ディスプレイ上のピンラベルは、実際のマイクロコントローラ8上の物理的ピンの物理的位置に対応するので、ユーザは、種々のポート設定に基づく、周辺機器に対する各種の入出力が存在する物理的位置を見ることができる。このようにして、可能なポート設定を見直し、特定の選択した周辺機器のセットに関する好適なポート設定を確認することができる。
現在選択されている周辺機器のセットに関する信号を受信及び出力するのに適したポート設定に関する構成データのみが記憶されるので、ユーザは、可能なポート設定の組合せのうち限られた数のポート設定のみを見直せばよい。本実施形態においては、任意のポート設定に関して、構成データの項目におけるヌル値に対応するデフォルト値を利用することにより、この限られた選択が、さらに減少される。したがって、ユーザは、ポート設定の変更が現在選択されている周辺機器のセットの入力又は出力に影響を与えない重複組合せについては、見直す必要はない。
構成ボタン164のいずれかが選択されたか否かをチェック(S8−17)した後、次いで、インターフェースジェネレータ100は、現在選択されている設定に対応する構成及びポート構成に関して、ユーザがマイクロコントローラ8を構成する構成プログラム32を構築する命令を入力したか否かをチェックする(S8−20)。構成プログラム32を生成する命令が入力されていない場合、インターフェースジェネレータ100は、ユーザが、ポインタ165を用いて周辺機器ウインドウ150内に表示された周辺機器のいずれかを選択したか否かを再度チェックする(S8−2)。
インターフェースジェネレータ100が、構成プログラム32を生成する命令が入力されたと判定したとき(S8−20)、次いで、出力モジュール106が呼び出される。出力モジュール106は、まず、個々の周辺機器及びクロックのレジスタ設定が適合するか否かをチェックする(S8−21)。これは、ルールデータベース114内のルールと、選択周辺機器データベース120内の選択周辺機器レコード140に関するレジスタ値142及び変数値143とを利用することによって、達成される。ある種の不適合が存在する典型的な理由は、周辺機器のための選択したボーレート(baud rate)が、クロック36に関する設定に基づいて生成することができる可能なクロック信号と適合しないことである。
出力モジュール106が、不適合なレジスタ設定があると判定した場合、出力モジュール106は、設定の不適合を明らかにするエラーメッセージを表示する(S8−22)。このため、ユーザは、それに合わせて、その設定を調節することができる。
出力モジュール106が、各種周辺機器の設定とクロックの設定との間に不整合はないと判定した場合(S8−21)、次いで、出力モジュール106は、コード生成モジュール104を呼び出す。コード生成モジュール104は、ディスプレイ生成のために現在選択されている構成の項目と、選択周辺機器データベース120内の選択周辺機器レコード140に関するレジスタ値142及び変数値143とを利用して、マイクロコントローラ8のレジスタ62、64、65−1〜65−N内の対応する値を設定するための構成プログラム32を生成する。その結果、ユーザインターフェースが示すものに対応するように、マイクロコントローラ8が構成されることになる。
より詳細には、選択した周辺機器の各レジスタ65−1〜65−Nごとに、レジスタ値は、選択周辺機器データベース120に記憶された選択周辺機器レコード140のレジスタ値142及び変数値143から決定される。同様に、クロック36に関連付けられたレジスタ64に関するレジスタ値は、クロックに関連付けられた選択周辺機器レコード140のレジスタ値142及び変数値143から決定される。最後に、各ポート45〜56に関連付けられたレジスタ62ごとに、レジスタ値が、現在利用されている構成データの項目から決定され、記憶されたデフォルト構成データ118により識別されるデフォルト値にすべてヌル値を再設定して、ユーザインターフェースディスプレイ145を生成する。
したがって、コード生成モジュール104は、記憶された選択周辺機器レコード140と、現在選択されている構成データの項目119とを利用して、マイクロコントローラ8に、マイクロコントローラ8における適切なレジスタ62、64、65−1〜65−Nに識別したレジスタ値を記憶させるための構成プログラム32を生成する。
次いで、この生成した構成プログラム32が、コンピュータのメモリ11に記憶される。次いで、構成プログラム32を、インターフェース6を介して、回路基板7上のマイクロコントローラ8にダウンロードすることができる。これにより、選択した構成データに対応するようにマイクロコントローラ8が構成される。その結果、マイクロコントローラ8における選択したレジスタ設定を利用して、他のプログラムデータ30をテストし、これら設定の組合せ及びコンパイルされたプログラムデータ30が、マイクロコントローラ8に所望の機能を実行させるか否かを判定することができる。
本実施形態においては、識別した設定のセットをマイクロコントローラに採用させるための構成プログラム32を生成することに加えて、出力モジュール106は、マイクロコントローラ8の設計略図表示(design schematic representation)の形でマイクロコントローラ8の表示を印刷するためのデータを生成するよう設定されている。この設計略図表示は、選択した構成に関するピンラベルにより識別されるよう、マイクロコントローラ8の入出力を示し、この表示において、ピンラベルは、選択した周辺機器のセットに関連付けられた信号リスト123にしたがってグループ化されている。この設計略図表示はまた、マイクロコントローラ8又はプリント回路基板の物理的表示として、マイクロコントローラ8の入出力を示し、この表示において、ピンは、ユーザインターフェースディスプレイ145における略図表示154と同様の方法により、ピンの物理的位置にしたがってラベル付けされている。
さらに、本実施形態において、出力モジュール106は、他のソフトウェアパッケージにエクスポートできるような形で、これらの図を表すデータを生成するよう設定されている。そのソフトウェアパッケージとして、例えば、構成データ及びレジスタ設定によって決定された通りに設定されたマイクロコントローラ8とともに使用するための、プリント回路基板を設計するソフトウェアパッケージや、構成したマイクロコントローラ8及び回路基板7上に存在する別のチップの電気的適合性を検査するソフトウェアパケージがある。
(第2の実施形態)
次に、図14〜図21を参照して本発明の第2の実施形態を説明する。
第1の実施形態においては、回路基板7上の単一のマイクロコントローラ8をテストする場合における、マイクロコントローラのインラインテストを実行するコンピュータシステムについて説明した。マイクロコントローラ8は、同一の回路基板上に設けられた複数の外付け周辺機器に取り付けられることが多い。本実施形態においては、マイクロコントローラの構成をプログラムすることができ、さらに外付け周辺機器に関する構成データを生成することができるシステムについて説明する。
本発明の第2の実施形態にしたがうインラインテストを実行するためのコンピュータシステムを示した図14を参照すると、図14に示したコンピュータシステムのほとんどは、第1の実施形態と関連させて説明したシステムと同一であるので、前の第1の実施形態のシステムに現れた要素と同一の要素については、同一の参照番号を使用した。しかしながら、第1の実施形態と異なり、本実施形態においては、マイクロコントローラ8のみが取り付けられた回路基板7をテストする代わりに、テストする回路基板7は、その上にマイクロコントローラ8及び複数の外付け周辺機器チップ300−1〜300−Nを設けている。チップ上に設けられた代表的な外付け周辺機器は、Zigbeeチップ、イーサネット(登録商標)接続、及び、1つ又は複数のUSBポートである。
マイクロコントローラ及び複数の外付け周辺機器300−1〜300−Nを含む回路基板をプログラムする場合、マイクロコントローラ8の内蔵周辺機器の構成に加えて、マイクロコントローラ8のメモリ内に記憶されたいずれのプログラムも、内蔵周辺機器の処理と適合するように、外付け周辺機器300−1〜300−Nのレジスタをプログラムする必要がある。したがって、例えば、Zigbeeチップの場合、UART内蔵周辺機器を、マイクロコントローラ内で利用できるようにする必要があり、内蔵UART及びZigbeeチップの構成は、ボーレート、パリティ等の点で、一致させなければならない。そのために、本発明の本実施形態にしたがうと、前の実施形態の構成モジュール22の代わりに、以下で説明するように、変更した構成モジュール302が設けられる。変更した構成モジュール302により、適切な内蔵周辺機器を選択し、選択した内蔵周辺機器に加えて、接続された外付け周辺機器300−1〜300−Nに合わせた適切な構成データを決定するための、マイクロコントローラ8のプログラミングが容易になる。
(変更した構成モジュール)
図15は、本発明の本実施形態にしたがう、変更した構成モジュール302のサブコンポーネントの概略ブロック図である。
変更した構成モジュール302は、前の実施形態の構成モジュール22と大体は同じである。しかし、変更した構成モジュール302は、対話型設計環境20によりサポートされる外付け周辺機器の信号と可能な設定とを定義するデータを記憶する外付け周辺機器データベース304;外付け周辺機器に関連付けられたレジスタに関するユーザ選択値を記憶するよう動作可能な外付け周辺機器ストア306;及び、外付け周辺機器に関するユーザ入力を処理するための選択モジュール308を追加で備えている。これらについては、以下で詳述する。
(外付け周辺機器データベース)
図16は、外付け周辺機器データベース304内に記憶される外付け周辺機器レコード310の概略ブロック図である。外付け周辺機器レコード310は、対話型設計環境20がサポートするよう設定されている各外付け周辺機器300−1〜300−Nごとに、外付け周辺機器データベース304内に記憶される。外付け周辺機器レコード310の構成は、周辺機器データベース108内に記憶される周辺機器レコード121の構成と類似している。前述した周辺機器レコード121と同様に、本実施形態では、外付け周辺機器レコード310は、周辺機器の名称を識別する名称データ122、レジスタ名のリスト125、レジスタレコード126のセット及び変数値127のセットを有する。ただし、レジスタレコード126及び変数値127は、前述したものと全く同一である。
しかしながら、信号のリスト123及びステータスデータ124を有する代わりに、本実施形態では、各外付け周辺機器レコード310は、外付け周辺機器に関して、マイクロコントローラ8内で利用できるようにするのが好ましい内蔵周辺機器を識別して、マイクロコントローラ8が外付け周辺機器と通信できるようにする好適接続データ312;外付け周辺機器に関して、内蔵周辺機器と外付け周辺機器との間で一致する必要のあるレジスタ値と、ボーレート等の変数とを識別する接続要件のリスト313;及び、通信するのに適切な内蔵周辺機器を利用することができない場合に、マイクロコントローラと外付け周辺機器との間の直接通信のための入力ピン及び出力ピンのセットを識別する仮想要件のセット314を有する。
したがって、例えば、通常UART接続を介してマイクロコントローラと通信するZigbeeチップを備えた外付け周辺機器の場合、Zigbeeチップを表す外付け周辺機器レコード310に関する好適接続データ312には、
好適接続:UART A、UART B
を含めることができる。
このようなエントリは、対話型設計環境20内でZigbeeチップが選択されたときはいつでも、選択した第1のZigbeeチップを内蔵周辺機器UART Aを介してマイクロコントローラ8に接続するのが好適であることを示している。UART Aが使用できず、接続のために、Zigbeeチップが選択されれば、内蔵周辺機器UART Bを介して接続するのが好適であろう。最後に、UART A及びUART Bのどちらも使用できなければ、対話型設計環境20は、後述するように、さらなるUART接続をエミュレートするようにマイクロコントローラ8を構成しようと試みるであろう。
(外付け周辺機器ストア)
図17は、外付け周辺機器ストア306内に記憶される複数の選択外付け周辺機器レコード340の概略ブロック図である。初めて対話型設計環境が呼び出されるとき、外付け周辺機器ストア306は、データを記憶していない。以下で説明するように、ユーザが、ユーザインターフェースを介して外付け周辺機器の表示を選択すると、新たな選択外付け周辺機器レコード340が、外付け周辺機器ストア306内に記憶される。
外付け周辺機器ストア306に記憶される選択外付け周辺機器レコード340は、選択内蔵周辺機器レコード140を記憶するための選択周辺機器データベース120内に記憶される周辺機器レコード140に類似している。本実施形態において、各選択外付け周辺機器レコード340は、外付け周辺機器データベース304の外付け周辺機器レコード310からの選択した周辺機器に関する周辺機器名122に対応する周辺機器名341;レコードにより識別される外付け周辺機器に関連付けられたレジスタ及び変数に関する現在の設定のセットであるレジスタ値342及び変数値343のセット;インターフェースジェネレータ100が生成した画面ディスプレイ内に、外付け周辺機器名341を表示するボックスを示して、識別した外付け周辺機器の存在の場所を特定するxy座標の対である位置データ344;及び、レコードにより表される外付け周辺機器をマイクロコントローラ8に接続する内蔵周辺機器又はピン接続を識別する接続データ345を有する。これらについては、後に詳述する。
(変更した構成モジュールを用いた処理)
初めて変更した構成モジュール302が呼び出されるとき、インターフェースジェネレータ100は、初期ユーザインターフェース画面をディスプレイ画面2に表示させる。図18は、本発明の本実施形態にしたがう初期ユーザインターフェースディスプレイ145を例示している。このユーザインターフェースディスプレイは、第1の実施形態において最初に生成されるユーザインターフェースディスプレイとほとんど同一である。異なっている点は、ユーザインターフェースの左側に表示される周辺機器ウインドウ150が、2つの部分に分かれていることである。第1のウインドウ150は、一連のアイコン151を表示し、各アイコンは、構成データを生成できる対象のマイクロコントローラ8内に存在する各内蔵周辺機器40−1〜40−Nに関連付けられている。第2のウインドウ350は、対話型設計環境20がサポートするよう動作可能な各外付け周辺機器に関連付けられた一連のアイコンを表示している。それら外付け周辺機器に関する外付け周辺機器レコード310は、外付け周辺機器データベース304内に記憶されている。
第1の実施形態の場合のように、マウス3の制御下にあるポインタ165を用いて、ユーザは、ユーザインターフェースディスプレイ画面145内の各種領域を選択することができる。これにより、構成モジュール22は、表示するユーザインターフェースディスプレイ145、選択周辺機器データベース120内に記憶されるデータ、構成データ119、及び、本実施形態においては、外付け周辺機器ストア306内に記憶されるデータを変更する。
初期画面が表示されると、本実施形態における処理は、第1の実施形態において行われる処理と類似している。しかしながら、インターフェースジェネレータ100が、ユーザが周辺機器ウインドウ150内又は外付け周辺機器ウインドウ350内の周辺機器の表示のいずれかを選択したか否かをチェックする場合、図8と関連させて前述した処理は、図19を参照して次に説明するように変更される。
内蔵周辺機器又は外付け周辺機器のいずれかを表すアイコンのうち1つが選択されたと判定された後、インターフェースジェネレータ100は、選択した周辺機器が、第1のウインドウ151から選択された内蔵周辺機器であるか、又はウインドウ350から選択された外付け周辺機器であるかを判定する(S19−1)。選択されたアイコンが内蔵周辺機器を表すと判定された場合、実行される処理は、図8のステップS8−3からS8−6に関連させて前述したのと同じ方法で進行する。
外付け周辺機器の表示が選択されたと判定された場合、次いで、インターフェース生成モジュール100は、新たに選択した外付け周辺機器を表すブロックを表示し(S19−2)、外付け周辺機器ストア306に記憶される新たな選択外付け周辺機器レコード340を生成する。新たに生成した選択外付け周辺機器レコード340において、周辺機器名341が、外付け周辺機器のリスト350からの選択した周辺機器に対応する外付け周辺機器レコード310の周辺機器名122に設定される。次いで、選択した周辺機器に関するレジスタ値342及び変数値343が、デフォルト値に設定され、ユーザがボタン又はマウスを離すまでポインタ165を追跡して、xy位置が設定される。
マウス3上のボタンが離されると、インターフェースジェネレータ100は、選択モジュール308を呼び出し、次いで、選択モジュール308は、新たに生成した選択外付け周辺機器レコード340の周辺機器名341に対応する周辺機器名122を有する外付け周辺機器レコード310の好適接続データ312を利用して、選択した外付け周辺機器へ接続するのに適した内蔵周辺機器を選択する。
より詳細には、選択モジュール308は、まず、新たに生成した選択外付け周辺機器レコード340の周辺機器名341に対応する周辺機器名122を有する外付け周辺機器レコード310の好適接続のリスト312に現れる第1の好適接続を識別する。次いで、選択モジュール308は、周辺機器レコード140が、処理されている好適接続のリスト312のエントリに対応する周辺機器名122を有する選択周辺機器データベース120内に記憶されているか否かをチェックする(S19−4)。周辺機器レコード140が記憶されていた場合、これは、識別した内蔵周辺機器が、すでに何か別の使用に割り当てられていることを示しており、次いで、選択モジュール308は、好適接続のリスト312の最後のエントリに達したか否かをチェックして判定する(S19−5)。最後のエントリに達していない場合、次のエントリが選択され、次いで、選択モジュール308は、選択周辺機器データベース120内のいずれかのエントリが、そのエントリに対応するか否かを判定する。
選択モジュール308が、検討されている好適接続が未だユーザに割り当てられていないと判定した場合(S19−4)、選択モジュール308は、第1の実施形態と関連させて前述したのと全く同じ方法により、識別した内蔵周辺機器に対応する新たな周辺機器レコードの追加が、既存のポート構成との競合をもたらすか否かを判定する(S19−6)ことに進む。識別した内蔵周辺機器が、選択周辺機器データベース120のレコードにより識別された内蔵周辺機器と共存できないと判定された場合、次いで、選択モジュール308は、好適接続のリスト312内の最後の周辺機器に達したか否かをチェックし(S19−5)、最後の周辺機器に達していない場合は、そのリスト内の次の可能な周辺機器が、検討されるために選択される(S19−4)。
しかしながら、選択モジュール308が、識別した内蔵周辺機器の有効化(activation)が許容され、競合をもたらさないと判定した場合、次いで、選択モジュール308は、インターフェース生成モジュール100に、識別した内蔵周辺機器の表示を画面ディスプレイに追加させ、識別した内蔵周辺機器を識別する選択周辺機器レコード140を、選択周辺機器データベース120に記憶させる。
新たな選択周辺機器レコード140が記憶されるとき、新たな選択外付け周辺機器レコード340に関する接続要件313により識別された新たなレコード140に関するレジスタ値142及び変数値143を、その新たな選択外付け周辺機器レコード340の対応する値に一致させる。新たに記憶される周辺機器レコード140の周辺機器名121を識別する接続データ345もまた、その新たな選択外付け周辺機器レコード340内に記憶される。最後に、インターフェース生成モジュール100は、ピンを介した新たに選択した内蔵周辺機器と外付け周辺機器との間の接続を示すよう、ディスプレイを更新し、現在の構成データ119が、内蔵周辺機器がそのピンを介して信号を受信及び出力することを示すようになる。
図20は、ユーザがZigbeeチップに対応するアイコンを選択した後のユーザインターフェースを例示している。図20の例示において、Zigbeeチップを表すボックス355は、適切な内蔵周辺機器(この例では、UARTコネクタのUART A)を表すボックス360と関連付けられて、示されている。
外付け周辺機器340及びそれに関連付けられた内蔵周辺機器140に関するレコードが、外付け周辺機器ストア306内及び選択周辺機器データベース120内に記憶されると、次いで、インターフェース生成モジュール100の処理は、第1の実施形態と関連させて前述したのと類似した方法で進行する。
ユーザが、周辺機器を表すボックス355又はボックス360のいずれかを選択して、ポインタ165をメインウインドウ152の外にドラッグした場合、これは、当該周辺機器を削除することを示す。当該ボックスが外付け周辺機器を表す場合、本実施形態においては、これは、その外付け周辺機器に接続された内蔵周辺機器を削除する命令としても解釈される。というのは、循環型(circular)外付け周辺機器レコードに接続データ345として記憶されているデータにより、内蔵周辺機器が識別されるからである。同様に、内蔵周辺機器が削除される場合、インターフェース生成モジュール100は、外付け周辺機器ストア306に記憶された外付け周辺機器レコード340のいずれかが削除される周辺機器を識別する接続データ345を有するか否かをチェックすることに進む。外付け周辺機器レコード340のいずれかが削除される周辺機器を識別する接続データ345を有する場合、インターフェース生成モジュール100は、そのレコード及びユーザインターフェース内のそのレコードの表示を削除する。
ユーザが、前述したのと同様の方法により、マウスの右クリックを用いて、外付け周辺機器355又はそれに関連付けられた内蔵周辺機器360の表示のいずれかを選択した場合、その周辺機器に関連付けられた値のレジスタエントリを更新することができる。しかしながら、内蔵および外付け周辺機器の両方に関する適合する構成データが確実に記憶されるよう、本実施形態においては、周辺機器のレジスタ値又は変数値が更新されるとき、インターフェース生成モジュール100は、接続データ345及び選択要件313を用いて更新を必要とする値及びレジスタを判定することにより、対応する値を、関連付けられた内蔵周辺機器レコード又は外付け周辺機器レコードのレジスタ値及び変数値に入力することに進む。
図19に戻って、選択モジュール308が、接続リスト312の好適周辺機器のすべてが選択周辺機器データベース120内に記憶された周辺機器レコード140により識別される、あるいは、使用可能な内蔵周辺機器のいずれかが選択されているにもかかわらず適切な構成データを生成できないと判定した場合(S19−5)、本実施形態においては、選択モジュール308は、マイクロコントローラ自体が、必要な周辺機器をエミュレートして、使用可能なピンのいずれかに信号を出力することができるか否かを判定する(S19−8)ことに進む。
前述したように、外付け周辺機器レコード310の仮想要件リスト314は、必要な仮想周辺機器をエミュレートするのにマイクロコントローラが必要とする入出力を識別する。内蔵周辺機器のどれも使用できないと判定された後、本実施形態においては、選択モジュール308は、現在のピン名のリストをチェックして、汎用入出力に関連付けられたピンを識別する。本実施形態において、次いで、選択モジュール308は、新たに生成した周辺機器レコード340の現在のデータ位置344に最も近い利用可能な汎用入出力ピンを識別する。こうしたピンが識別されると、次いで、インターフェース生成モジュール100は、特定の型のオンボード周辺機器の仮想周辺機器(すなわち、ソフトウェアエミュレーション)のマイクロチップ154の表示の境界内に、ボックスを含ませ、外付け周辺機器ストア306内の新たに記憶された選択外付け周辺機器レコード340に、そのピンを識別するデータを、接続データ345として記憶する。
図21は、ユーザインターフェースの一例を示している。この図では、オンボード周辺機器UARTA及びUARTBを選択して、選択したインターフェースデータベース120内に組み込んだ後のオンボード周辺機器UARTA及びUARTBが、ボックス370及び372としてユーザインターフェース内に表されている。ユーザは、ユーザインターフェースの外付け周辺機器のリスト350から、UART周辺機器とのインターフェースを必要とするZigbeeチップを選択する。この特定の例では、さらなるUARTが利用できないので、仮想UARTを表すボックス375が、ユーザインターフェース内に含まれ、その仮想UARTボックス375が、外付けZigbeeチップを表すボックス355に接続されて示されている。
第1の実施形態の場合のように、ユーザインターフェースから構築を選択するとき(図8のS8−20)、出力モジュール106が呼び出される。第1の実施形態のように、出力モジュール106は、まず、個々の周辺機器及びクロックに関するレジスタ設定が適合するか否かをチェックする(S8−21)。レジスタ設定が適合する場合、出力モジュール106は、ユーザインターフェースが示すものに対応する方式によりマイクロコントローラが構成されるよう、マイクロコントローラのレジスタ内に値を設定するための構成プログラム32を生成する(S8−23)ことに進む。さらに、本実施形態においては、構成プログラム32は、外付け周辺機器ストア306内に記憶された選択外付け周辺機器レコード340のレジスタ値342及び変数値343により表される外付け周辺機器に関連付けられたレジスタのための設定もプログラムするよう設定されている。また、構成プログラム32は、ユーザインターフェース内に仮想周辺機器が表されている場合は、周辺機器のエミュレーションと、識別したピンを介した信号の入出力とのためのソフトウェアコードも生成するよう設定されている。
(さらなる実施形態及び変更形態)
上述の実施形態においては、構成モジュール22が、単一のマイクロコントローラ8の表示を定義するデータを記憶し、かつ、特にそのマイクロコントローラ8用の構成プログラム32を生成するよう設定されたシステムについて記述したが、他の諸実施形態において、各種のマイクロコントローラ8用の構成プログラム32を生成するための構成モジュール22を提供できることが理解されよう。
このようなシステムにおいては、構成モジュール22は、可能な各マイクロコントローラ8ごとに、構成テーブル110及び周辺機器データベース108を記憶することが必要となる。まず、ユーザがデータを入力して、構成データ119が生成される好適なマイクロコントローラ8を識別する。次いで、構成モジュール22の処理は、前述したのと同じ方法により、進行することができる。
このようなシステムの利点は、構成モジュール22が、特定のマイクロコントローラ8上にある特定の選択した周辺機器を利用できないと判定したとき、構成モジュール22は、他のマイクロコントローラ群8を表す記憶されたデータを利用して、これら他のマイクロコントローラのいずれかが所望の周辺機器のセットをサポートできるか否かを判定できること、である。次いで、マイクロコントローラ8の選択を変更することをユーザに促すことができ、次いで、構成モジュール22は、代替のマイクロコントローラ8用の構成プログラム32の生成に進む。
上述の実施形態において、構成モジュール22は、特定の構成に関するピンラベルにより参照される汎用入出力の数に基づいて、構成データ119の項目を順序付けると説明したが、構成データの項目を順序付ける他の手段を利用することもできる。
したがって、例えば、代替実施形態においては、メインウインドウ150内のブロック167とピンとの間の接続を表す線の長さを測定して、構成データの各項目ごとに計算することができる。次いで、構成データの項目は、その計算された値に基づいて順序付けられることになる。
このようなシステムの利点は、マイクロコントローラの略図表示154の所定の位置に、個々の周辺機器を表すブロック167を配置することにより、その選択した周辺機器を利用可能にするため、ユーザが、入出力を望むマイクロコントローラの領域を識別できることである。
上述の実施形態においては、信号のルーティングを制御するマイクロコントローラ8の構成データレジスタ62を生成するシステムについて説明した。そのシステムにおいては、ピン42が、複数のポート45〜56にグループ化されている。上述の実施形態においては、各ポートに関連付けられたピン42の数は、4本又は8本のいずれかであるとして説明した。
任意の特定のポートに関連付けられるピンの数は、任意の数のピン42を含み得ることが理解されよう。最も重要なのは、ポートが、ピンのセットではなく、単一のピンを有することができることである。
個別のセレクタ60とレジスタ62とが単一のピン42に関連付けられたシステムにおいては、どの信号を転送するために使用されるピンの位置を変更することに関して、非常に柔軟性のあるシステムが提供される。レジスタ数の増加により、従来の方法で構成データを判定することが特に複雑な作業になるという事実にもかかわらず、説明した構成データを生成するためのシステムを用いると、このような非常に柔軟性のあるマイクロコントローラを、適切にプログラムすることができる。
上述の実施形態においては、マイクロコントローラ8の内蔵プログラムストア38内に記憶する構成プログラム32の生成について説明したが、マイクロコントローラ8に識別した構成値のセットを記憶させるための生成したプログラムを、内蔵プログラムストア38内ではなく、マイクロコントローラ8に外付けされた回路基板7のメモリ内に記憶できることが理解されよう。
上述の実施形態において、レジスタ64、65−1〜65−Nのレジスタ値は、記憶されたレジスタ値142及び変数値143から決定されると説明したが、実際に記憶される値は、これらの値を直接コピーした値ではなく、レジスタ値142及び変数値143から計算できることが理解されよう。したがって、例えば、32kHzのボーレート用の変数値を入力することにより、ユーザは、構成モジュール22に、レジスタに記憶する必要のある特定の値を計算させ、所望のボーレートの実現が可能となる。代替として、ボーレート、許容値(tolerance)等の複数の値のユーザ入力を利用して、マイクロコントローラ8のレジスタ64、65−1〜65−Nに記憶するための単一の値を計算することもできる。
上記の説明においては、より大きな装置の機能を制御するマイクロコントローラ8について言及したが、本発明は、複数の周辺機器を含む任意のマイクロチップの設計及び構成に適用可能であり、これら周辺機器に関する信号のルーティングは、マイクロチップのレジスタ内に値を記憶することにより制御されることが理解されよう。したがって、マイクロコントローラという用語は、このような周辺機器及びレジスタを含む、このような構成可能なマイクロチップすべてを包含するものと解釈すべきである。
図面を参照して説明した本発明の実施形態は、コンピュータ装置、及び、コンピュータ装置において実行されるプロセスを備えるが、本発明は、コンピュータプログラム、特に、本発明を実施するために適合化された、キャリア(carrier)上、又は、キャリア内のコンピュータプログラムにも拡張される。このプログラムは、ソースコード又はオブジェクトコードの形をとってもよく、本発明にしたがうプロセスの実装において使用するのに適した任意の他の形をとってもよい。キャリアは、プログラムを保持することができる任意のエンティティ(entity)又は装置とすることができる。
例えば、キャリアには、例えば、CD ROM若しくは半導体ROMといったROM等の記憶媒体、又は、例えば、フロッピー(登録商標)ディスク若しくはハードディスクといった磁気記憶媒体を含めることができる。さらに、キャリアは、電気ケーブル若しくは光ケーブルを介して伝送される、又は、無線や他の手段により伝送される電気信号又は光信号等の伝送可能なキャリアであってもよい。
プログラムが、ケーブル又は他の装置若しくは手段により直接伝送できる信号に具現化される場合、当該ケーブル又は他の装置若しくは手段によって、キャリアを構成してもよい。
代替として、キャリアは、プログラムが組み込まれた集積回路であってもよく、その集積回路は、関連するプロセスを実行するため、又はその実行において使用するために、適合化される。
本発明の第1の実施形態にしたがう、構成データを生成するための構成モジュールを含むマイクロコントローラのインラインテストを実行するためのコンピュータシステムを示す概略ブロック図である。 例示的なマイクロコントローラを示す概略ブロック図である。 図2におけるマイクロコントローラのクロックモジュールのコンポーネントを示す概略ブロック図である。 図1の構成モジュールのサブモジュールを示す概略ブロック図である。 図4における構成モジュールの周辺機器データベース内の周辺機器レコードを示す概略ブロック図である。 例示的なマイクロコントローラのポートに関するチャネル設定を確認するための構成テーブルを示す図である。 図4における構成モジュールの選択周辺機器データベース内の選択周辺機器レコードを示す概略ブロック図である。 図4の構成モジュールの処理を示すフロー図である。 図4の構成モジュールが生成したユーザインターフェースを例示する図である。 図4の構成モジュールの構成チェックモジュールが、マイクロコントローラ内の選択した周辺機器に関する適合する構成設定を判定する処理のフロー図である。 マイクロコントローラ上の利用可能な複数の周辺機器を有効にするために選択した後の、ユーザインターフェースを例示する図である。 図4の構成モジュールの構成チェックモジュールが、選択した周辺機器のセットに関する適合する可能な構成設定のセットを計算する処理を示すフロー図である。 図3に示すクロックモジュールに関する設定を選択するためのユーザインターフェースメニューを例示する図である。 本発明の第2の実施形態にしたがう、構成データを生成するための変更した構成モジュールを含むマイクロコントローラのインラインテストを実行するためのコンピュータシステムを示す概略ブロック図である。 図14における変更した構成モジュールのサブモジュールを示す概略ブロック図である。 図14における変更した構成モジュールの外付け周辺機器データベース内の外付け周辺機器レコードを示す概略ブロック図である。 図14における変更した構成モジュールの外付け周辺機器ストア内の選択外付け周辺機器レコードを示す概略ブロック図である。 図14の変更した構成モジュールが生成したユーザインターフェースを例示する図である。 図14の変更した構成モジュールの処理を示すフロー図である。 図14の変更した構成モジュールが生成した別のユーザインターフェースを例示する図である。 図14の変更した構成モジュールが生成したさらに別のユーザインターフェースを例示する図である。

Claims (64)

  1. 複数の周辺機器を含むマイクロコントローラのレジスタ内に記憶するレジスタ値のセットを識別するよう動作可能なマイクロコントローラ構成装置であって、前記マイクロコントローラは、前記レジスタに記憶された前記レジスタ値に基づいて、ポートのセットを介して前記周辺機器に対して入出力される各種の選択した信号をルーティングするよう動作可能であり、
    前記マイクロコントローラ構成装置は、
    ユーザが、前記マイクロコントローラに含まれる前記複数の周辺機器から選択した周辺機器を識別するデータを入力できるよう動作可能な第1のユーザ入力インターフェースと、
    選択した周辺機器を識別する入力データに関して、前記周辺機器の各々が機能できるよう前記選択した周辺機器に対する入出力をルーティングするために必要な信号のセットを判定するよう動作可能な判定モジュールであって、マイクロコントローラのレジスタ内に記憶されるときに、前記判定した信号すべてを前記マイクロコントローラのポートを介してルーティングすることを可能にする複数のレジスタ値の組合せを識別するようさらに動作可能な判定モジュールと、
    ユーザが、前記判定モジュールが識別した前記複数のレジスタ値の組合せのうち1つを選択できるよう動作可能な第2のユーザ入力インターフェースと、
    選択したレジスタ値の組合せに対応するレジスタ値を含むマイクロコントローラのレジスタ内に記憶されるレジスタ値のセットを識別するデータを出力するよう動作可能な出力モジュールと
    を備えたことを特徴とするマイクロコントローラ構成装置。
  2. 前記判定モジュールは、
    マイクロコントローラのポートに関して、前記ポートに関連付けられたレジスタがデフォルト値に設定されるとき、各構成テーブルが、前記ポートに関連付けられた1つ又は複数のピンを介して受信又は出力すべき信号を識別する複数の構成テーブルと、
    前記複数の周辺機器の各々ごとに、前記周辺機器の各々が機能できるよう前記選択した周辺機器に対する入出力をルーティングするために必要な前記信号を識別するデータを記憶するよう構成された周辺機器データベースと、
    マイクロコントローラのレジスタ内に記憶されるとき、識別した選択した周辺機器が必要とする信号すべてを前記マイクロコントローラの前記ポートを介してルーティングすることを可能にするレジスタ値の組合せを、前記構成テーブル及び前記周辺機器データベースを利用して識別するよう動作可能な構成チェックモジュールと
    を含むことを特徴とする請求項1に記載のマイクロコントローラ構成装置。
  3. 前記判定モジュールは、いずれかのレジスタ値の組合せが、マイクロコントローラのレジスタ内に記憶されるとき、識別した選択した周辺機器が必要とする信号すべてを前記マイクロコントローラの前記ポートを介してルーティングすることを可能にするか否かを判定するよう動作可能であり、かつ、識別した選択した周辺機器が必要とする信号すべてを前記マイクロコントローラの前記ポートを介してルーティングすることを可能にするレジスタ値の組合せがない場合、警告データを出力するよう動作可能であることを特徴とする請求項1に記載のマイクロコントローラ構成装置。
  4. 前記警告データは、識別した選択した周辺機器のうち、前記識別した選択した周辺機器が必要とする信号すべてを前記マイクロコントローラの前記ポートを介してルーティングすることを可能にするために、適合しないレジスタ値をマイクロコントローラのレジスタ内に記憶することを必要とする周辺機器を識別するデータを含むことを特徴とする請求項3に記載のマイクロコントローラ構成装置。
  5. 前記警告データは、前記識別した周辺機器のセットを含む代替マイクロコントローラを識別するデータを含み、前記代替マイクロコントローラは、前記識別した選択した周辺機器が必要とする信号すべてを前記代替マイクロコントローラのポートを介してルーティングすることを可能にするレジスタ値のセットを記憶することができることを特徴とする請求項3に記載のマイクロコントローラ構成装置。
  6. 前記第2のユーザ入力インターフェースは、前記レジスタ値の組合せに対応するレジスタ値を含むレジスタ値が前記マイクロコントローラの前記レジスタ内に記憶されるとき、識別した選択した周辺機器に対する信号の入出力をルーティングするのに利用される前記マイクロコントローラのピンの物理的相対位置を示す前記マイクロコントローラの略図表示を生成するよう動作可能であることを特徴とする請求項1に記載のマイクロコントローラ構成装置。
  7. 前記第2のユーザ入力インターフェースは、前記複数のレジスタ値の組合せを順序付けて、前記順序付けた選択した組合せのなかからユーザが選択した組合せに基づいて、前記略図表示を生成するよう動作可能であることを特徴とする請求項6に記載のマイクロコントローラ構成装置。
  8. 前記第2のユーザ入力インターフェースは、前記レジスタ値の組合せが前記マイクロコントローラの前記レジスタ内に記憶されるとき、汎用入出力用信号のルーティングに専用の前記マイクロコントローラの前記ピンの番号に基づいて、前記複数のレジスタ値の組合せを順序付けるよう動作可能であることを特徴とする請求項7に記載のマイクロコントローラ構成装置。
  9. 前記第2のユーザ入力インターフェースは、前記レジスタ値の組合せが前記マイクロコントローラの前記レジスタ内に記憶されるとき、ディスプレイ内の前記選択した周辺機器の表示と、各前記周辺機器に対する信号のルーティングに関連付けられたピンの表示との間の相対距離に基づいて、前記複数のレジスタ値の組合せを順序付けるよう動作可能であることを特徴とする請求項7に記載のマイクロコントローラ構成装置。
  10. 前記マイクロコントローラは、前記複数の周辺機器に関する設定データを記憶するよう動作可能な1つ又は複数のレジスタをさらに含み、前記マイクロコントローラ構成装置は、ユーザが、前記選択した周辺機器に関連付けられた前記1つ又は複数のレジスタに記憶するレジスタ値を識別するデータを入力できるよう動作可能な第3のユーザ入力インターフェースをさらに備えたことを特徴とする請求項1に記載のマイクロコントローラ構成装置。
  11. 前記出力モジュールは、選択したレジスタ値の組合せに対応するレジスタ値と、他のレジスタ値を識別しないレジスタ用のデフォルト値とを含むレジスタ値のセットを識別するデータを出力するよう動作可能であることを特徴とする請求項1に記載のマイクロコントローラ構成装置。
  12. 前記出力モジュールは、前記マイクロコントローラに関連付けられたメモリに記憶されるとき、前記マイクロコントローラに、前記識別したレジスタ値のセットに対応するレジスタ値を前記マイクロコントローラのレジスタに記憶させることができるコンピュータプログラムを生成するよう動作可能であることを特徴とする請求項1に記載のマイクロコントローラ構成装置。
  13. 前記出力モジュールは、前記周辺機器の各々が機能できるよう前記選択した周辺機器に対する入出力をルーティングするために必要な前記信号のセットを識別するラベルを含む、前記マイクロコントローラの略図表示を定義するデータを出力するよう動作可能であることを特徴とする請求項1に記載のマイクロコントローラ構成装置。
  14. 前記出力モジュールは、略図表示を定義するデータを出力するよう動作可能であり、前記ラベルは、前記略図表示において、前記識別した信号に関連付けられた周辺機器によってグループ化されることを特徴とする請求項13に記載のマイクロコントローラ構成装置。
  15. 前記出力モジュールは、略図表示を定義するデータを出力するよう動作可能であり、前記ラベルは、前記略図表示において、前記信号を転送するピンの物理的位置を表すようグループ化されることを特徴とする請求項13に記載のマイクロコントローラ構成装置。
  16. 前記マイクロコントローラの前記ポートのうち少なくとも1つは、前記ポートに関連付けられたレジスタに記憶されたレジスタ値に基づいて選択した単一の信号を転送するよう動作可能なポートを含むことを特徴とする請求項1に記載のマイクロコントローラ構成装置。
  17. 前記マイクロコントローラの前記ポートの各々は、前記ポートに関連付けられたレジスタに記憶されたレジスタ値に基づいて選択した単一の信号を転送するよう動作可能なポートを含み、前記マイクロコントローラ構成装置は、前記レジスタ内に記憶されるとき、識別した選択した周辺機器が機能するために必要な信号を、前記ポートを介して転送することを可能にするレジスタ値のセットを識別するよう動作可能であることを特徴とする請求項16に記載のマイクロコントローラ構成装置。
  18. 複数の周辺機器を含むマイクロコントローラのレジスタ内に記憶するレジスタ値のセットを識別する方法であって、前記マイクロコントローラは、前記レジスタに記憶された前記レジスタ値に基づいて、ポートのセットを介して前記周辺機器に対して入出力される各種の選択した信号をルーティングするよう動作可能であり、
    前記方法は、
    前記マイクロコントローラに含まれる前記複数の周辺機器から選択した周辺機器を識別するデータを受信することと、
    選択した周辺機器を識別する受信データに関して、前記周辺機器の各々が機能できるよう前記選択した周辺機器に対する入出力をルーティングするために必要な信号のセットを判定することと、
    マイクロコントローラのレジスタ内に記憶されるとき、前記判定した信号すべてを前記マイクロコントローラのポートを介してルーティングすることを可能にする複数のレジスタ値の組合せを識別することと、
    前記識別した複数のレジスタ値の組合せのうち、1つの選択した組合せを識別するデータを受信することと、
    選択したレジスタ値の組合せに対応するレジスタ値を含むマイクロコントローラのレジスタ内に記憶されるレジスタ値のセットを識別するデータを出力することと
    を備えることを特徴とする方法。
  19. マイクロコントローラのポートに関して、前記ポートに関連付けられたレジスタがデフォルト値に設定されるとき、各構成テーブルが、前記ポートに関連付けられた1つ又は複数のピンを介して受信又は出力すべき信号を識別する複数の構成テーブルを記憶することと、
    前記複数の周辺機器の各々ごとに、前記周辺機器の各々が機能できるよう前記選択した周辺機器に対する入出力をルーティングするために必要な前記信号を識別するデータを記憶するよう構成された周辺機器データベースを記憶することと、
    マイクロコントローラのレジスタ内に記憶されるとき、識別した選択した周辺機器が必要とする信号すべてを前記マイクロコントローラの前記ポートを介してルーティングすることを可能にするレジスタ値の組合せを、前記構成テーブル及び前記周辺機器データベースを利用して識別することと
    をさらに備えることを特徴とする請求項18に記載の方法。
  20. 適合するレジスタ値のセットを識別できない場合、識別した選択した周辺機器のうち、前記識別した選択した周辺機器が必要とする前記信号すべてを前記マイクロコントローラの前記ポートを介してルーティングすることを可能にするために、適合しないレジスタ値をマイクロコントローラのレジスタ内に記憶する必要のある周辺機器を識別するデータを出力すること
    をさらに備えることを特徴とする請求項18に記載の方法。
  21. 前記識別した周辺機器のセットを含む代替マイクロコントローラを識別するデータを出力することをさらに備え、前記代替マイクロコントローラは、適合するレジスタ値のセットを識別できない場合、前記識別した選択した周辺機器が必要とする信号すべてを前記代替マイクロコントローラのポートを介してルーティングすることを可能にするレジスタ値の組合せを記憶することができることを特徴とする請求項18に記載の方法。
  22. 前記レジスタ値の組合せに対応するレジスタ値を含むレジスタ値が前記マイクロコントローラの前記レジスタ内に記憶されるとき、識別した選択した周辺機器に対する信号の入出力をルーティングするのに利用される前記マイクロコントローラのピンの物理的相対位置を示す前記マイクロコントローラの略図表示を定義するデータを生成すること
    をさらに備えることを特徴とする請求項18に記載の方法。
  23. 前記識別したレジスタ値の組合せを順序付けることと、
    前記順序付けた選択した組合せのなかから、ユーザが入力して受信された選択した組合せに基づいて、前記略図表示を生成することと
    をさらに備えることを特徴とする請求項22に記載の方法。
  24. 前記複数のレジスタ値の組合せを前記順序付けることは、前記レジスタ値の組合せが前記マイクロコントローラの前記レジスタ内に記憶されるとき、汎用入出力用信号のルーティングに専用の前記マイクロコントローラの前記ピンの番号に基づいて順序付けることを含むことを特徴とする請求項23に記載の方法。
  25. 前記複数のレジスタ値の組合せを前記順序付けることは、前記レジスタ値の組合せが前記マイクロコントローラの前記レジスタ内に記憶されるとき、前記マイクロコントローラの表示内の前記選択した周辺機器の表示と、各前記周辺機器に対する信号のルーティングに関連付けられたピンの表示との間の相対距離に基づいて順序付けることを含むことを特徴とする請求項23に記載の方法。
  26. 前記マイクロコントローラは、前記複数の周辺機器に関する設定データを記憶するよう動作可能な1つ又は複数のレジスタをさらに含み、前記方法は、前記選択した周辺機器に関連付けられた前記1つ又は複数のレジスタに記憶するレジスタ値を識別するデータを受信することをさらに備えることを特徴とする請求項18に記載の方法。
  27. レジスタ値のセットを識別する出力データは、前記選択したレジスタ値の組合せに対応するレジスタ値と、他のレジスタ値を識別しないレジスタに関するデフォルト値とを含むことを特徴とする請求項18に記載の方法。
  28. 前記マイクロコントローラに関連付けられたメモリに記憶されるとき、前記マイクロコントローラに、前記識別したレジスタ値のセットに対応するレジスタ値を前記マイクロコントローラのレジスタに記憶させることができるコンピュータプログラムを生成すること
    をさらに備えることを特徴とする請求項18に記載の方法。
  29. 前記周辺機器の各々が機能できるよう前記選択した周辺機器に対する入出力をルーティングするために必要な前記信号のセットを識別するラベルを含む、前記マイクロコントローラの略図表示を定義するデータを出力すること
    をさらに備えることを特徴とする請求項18に記載の方法。
  30. 前記ラベルは、前記略図表示において、前記識別した信号に関連付けられた周辺機器によってグループ化されることを特徴とする請求項29に記載の方法。
  31. 前記ラベルは、前記略図表示において、前記信号を転送するピンの物理的位置を表すようグループ化されることを特徴とする請求項29に記載の方法。
  32. 前記マイクロコントローラの前記ポートのうち少なくとも1つは、前記ポートに関連付けられたレジスタに記憶されたレジスタ値に基づいて選択した単一の信号を転送するよう動作可能なポートを含むことを特徴とする請求項18に記載の方法。
  33. 前記マイクロコントローラの前記ポートの各々は、前記ポートに関連付けられたレジスタに記憶されたレジスタ値に基づいて選択した単一の信号を転送するよう動作可能なポートを含み、前記方法は、前記レジスタに記憶されるとき、識別した選択した周辺機器が機能するために必要な信号を、前記ポートを介して転送することを可能にするレジスタ値のセットを識別することを備えることを特徴とする請求項32に記載の方法。
  34. 複数の周辺機器を含むマイクロコントローラのレジスタ内に記憶するレジスタ値のセットを識別する方法を、プログラム可能なコンピュータに実行させるコンピュータが実行可能な命令を記憶するコンピュータが読取り可能な媒体であって、前記マイクロコントローラは、前記レジスタに記憶されたレジスタ値に基づいて、ポートのセットを介して前記周辺機器に対して入出力される各種の選択した信号をルーティングするよう動作可能であり、
    前記方法は、
    前記マイクロコントローラに含まれる前記複数の周辺機器から選択した周辺機器を識別するデータを受信することと、
    選択した周辺機器を識別する受信データに関して、前記周辺機器の各々が機能できるよう前記選択した周辺機器に対する入出力をルーティングするために必要な信号のセットを判定することと、
    マイクロコントローラのレジスタ内に記憶されるとき、前記判定した信号すべてを前記マイクロコントローラのポートを介してルーティングすることを可能にする複数のレジスタ値の組合せを識別することと、
    前記識別した複数のレジスタ値の組合せのうち、1つの選択した組合せを識別するデータを受信することと、
    選択したレジスタ値の組合せに対応するレジスタ値を含むマイクロコントローラのレジスタ内に記憶するレジスタ値のセットを識別するデータを出力することと
    を備えることを特徴とするコンピュータが読取り可能な媒体。
  35. 前記方法は、
    マイクロコントローラのポートに関して、前記ポートに関連付けられたレジスタがデフォルト値に設定されるとき、各構成テーブルが、前記ポートに関連付けられた1つ又は複数のピンを介して受信又は出力すべき信号を識別する複数の構成テーブルを記憶することと、
    前記複数の周辺機器の各々ごとに、前記周辺機器の各々が機能できるよう前記選択した周辺機器に対する入出力をルーティングするために必要な前記信号を識別するデータを記憶するよう構成された周辺機器データベースを記憶することと、
    マイクロコントローラのレジスタ内に記憶されるとき、識別した選択した周辺機器が必要とする信号すべてを前記マイクロコントローラの前記ポートを介してルーティングすることを可能にするレジスタ値の組合せを、前記構成テーブル及び前記周辺機器データベースを利用して識別することと
    をさらに備えることを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  36. 前記方法は、
    適合するレジスタ値のセットを識別できない場合、識別した選択した周辺機器のうち、前記識別した選択した周辺機器が必要とする信号すべてを前記マイクロコントローラの前記ポートを介してルーティングすることを可能にするために、適合しないレジスタ値をマイクロコントローラのレジスタ内に記憶することを必要とする周辺機器を識別するデータを出力すること
    をさらに備えることを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  37. 前記方法は、
    前記識別した周辺機器のセットを含む代替マイクロコントローラを識別するデータを出力することをさらに備え、前記代替マイクロコントローラは、適合するレジスタ値のセットを識別できない場合、前記識別した選択した周辺機器が必要とする信号すべてを前記代替マイクロコントローラのポートを介してルーティングすることを可能にするレジスタ値のセットを記憶することができることを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  38. 前記レジスタ値の組合せに対応するレジスタ値を含むレジスタ値が前記マイクロコントローラのレジスタ内に記憶されるとき、識別した選択した周辺機器に対する信号の入出力をルーティングするのに利用される前記マイクロコントローラのピンの物理的相対位置を示す前記マイクロコントローラの略図表示を定義するデータを生成すること
    をさらに備えることを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  39. 前記識別したレジスタ値の組合せを順序付けることと、
    前記順序付けた選択した組合せのなかから、ユーザが入力して受信された選択した組合せに基づいて、前記略図表示を生成することと
    をさらに備えることを特徴とする請求項38に記載のコンピュータが読取り可能な媒体。
  40. 前記複数のレジスタ値の組合せを前記順序付けることは、前記レジスタ値の組合せが前記マイクロコントローラの前記レジスタ内に記憶されるとき、汎用入出力用信号のルーティングに専用の前記マイクロコントローラの前記ピンの番号に基づいて順序付けることを含むことを特徴とする請求項39に記載のコンピュータが読取り可能な媒体。
  41. 前記複数のレジスタ値の組合せを前記順序付けることは、前記レジスタ値の組合せが前記マイクロコントローラの前記レジスタ内に記憶されるとき、前記マイクロコントローラの表示内の前記選択した周辺機器の表示と、各前記周辺機器に対する信号のルーティングに関連付けられたピンの表示との間の相対距離に基づいて順序付けることを含むことを特徴とする請求項39に記載のコンピュータが読取り可能な媒体。
  42. 前記マイクロコントローラは、前記複数の周辺機器に関する設定データを記憶するよう動作可能な1つ又は複数のレジスタをさらに含み、前記方法は、前記選択した周辺機器に関連付けられた前記1つ又は複数のレジスタに記憶するレジスタ値を識別するデータを受信することをさらに備えることを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  43. 前記方法は、
    前記選択したレジスタ値の組合せに対応するレジスタ値と、他のレジスタ値を識別しないレジスタに関するデフォルト値とを含むレジスタ値のセットを識別するデータを出力すること
    をさらに備えることを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  44. 前記方法は、
    前記マイクロコントローラに関連付けられたメモリに記憶されるとき、前記マイクロコントローラに、前記識別したレジスタ値のセットに対応するレジスタ値を前記マイクロコントローラのレジスタに記憶させることができるコンピュータプログラムを生成すること
    をさらに備えることを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  45. 前記方法は、
    前記周辺機器の各々が機能できるよう前記選択した周辺機器に対する入出力をルーティングするために必要な前記信号のセットを識別するラベルを含む、前記マイクロコントローラの略図表示を定義するデータを出力すること
    をさらに備えることを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  46. 前記ラベルは、前記略図表示において、前記識別した信号に関連付けられた周辺機器によってグループ化されることを特徴とする請求項45に記載のコンピュータが読取り可能な媒体。
  47. 前記ラベルは、前記略図表示において、前記信号を転送するピンの物理的位置を表すようグループ化されることを特徴とする請求項45に記載のコンピュータが読取り可能な媒体。
  48. ディスクを含むことを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  49. 磁気ディスク、光磁気ディスク又は光ディスクを含むことを特徴とする請求項48に記載のディスク。
  50. コンピュータネットワーク内における電子信号を含むことを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  51. 複数の周辺機器を含むマイクロコントローラのプログラミングの方法であって、前記マイクロコントローラは、前記マイクロコントローラのレジスタ内に記憶されたレジスタ値に基づいて、ポートのセットを介して前記周辺機器に対して入出力される各種の選択した信号をルーティングするよう動作可能であり、
    前記方法は、
    請求項28に記載の方法にしたがってコンピュータプログラムを生成することと、
    前記生成したコンピュータプログラムを、マイクロコントローラに関連付けられたメモリに記憶することと、
    前記記憶したコンピュータプログラムを実行して、前記マイクロコントローラに、前記識別したレジスタ値のセットに対応するレジスタ値を前記マイクロコントローラの前記レジスタに記憶させることと
    を備えることを特徴とする方法。
  52. マイクロコントローラにおいて、
    複数の周辺機器と、
    ポートに関連付けられたレジスタに記憶されたレジスタ値に基づいて、前記ポートのセットを介して周辺機器に対して入出力される信号をルーティングするよう動作可能な複数のセレクタと、
    構成プログラムを記憶するよう動作可能なメモリと、
    前記メモリに記憶された構成プログラムを処理して、レジスタ値を前記レジスタに記憶するよう動作可能な処理装置と
    を備え、
    前記マイクロコントローラの前記ポートの各々は、前記ポートに関連付けられたレジスタに記憶されたレジスタ値に基づいて選択した単一の信号を転送することができるポートを含むことを特徴とするマイクロコントローラ。
  53. 前記第1のユーザ入力インターフェースは、ユーザが、マイクロコントローラに外付けされた選択した外付け周辺機器を識別するデータを入力できるよう動作可能であり、かつ、前記選択した外付け周辺機器を利用して、前記マイクロコントローラに含まれる前記複数の周辺機器から、前記選択した外付け周辺機器とインターフェースをとるのに必要な選択した周辺機器を識別するよう動作可能であることを特徴とする請求項1に記載のマイクロコントローラ構成装置。
  54. 前記第1のユーザ入力インターフェースは、入力された選択した入力外付け周辺機器とインターフェースをとるのに必要な前記選択した周辺機器が、マイクロコントローラに含まれない1つ又は複数の周辺機器を必要とするか否かを判定するよう動作可能であり、前記出力モジュールは、前記マイクロコントローラに、前記マイクロコントローラに含まれる周辺機器に加えて、1つ又は複数の追加の周辺機器をエミュレートさせるコンピュータプログラムを生成させるデータを出力するよう動作可能であることを特徴とする請求項53に記載のマイクロコントローラ構成装置。
  55. 前記1つ又は複数の外付け周辺機器は、設定データを記憶するよう動作可能なレジスタを含み、前記マイクロコントローラ構成装置は、ユーザが、前記選択した外付け周辺機器に関連付けられた前記1つ又は複数のレジスタに記憶するレジスタ値を識別するデータを入力できるよう動作可能なユーザ入力インターフェースをさらに備えることを特徴とする請求項53に記載のマイクロコントローラ構成装置。
  56. 前記さらなるユーザインターフェースは、選択した各外付け周辺機器を内蔵周辺機器に関連付け、前記出力モジュールに、互いに適合する前記外付け周辺機器及び前記関連付けられた内蔵周辺機器に関するレジスタ値のセットを識別するデータを出力させるよう動作可能であることを特徴とする請求項55に記載のマイクロコントローラ構成装置。
  57. 選択した周辺機器を識別するデータを前記受信することは、マイクロコントローラに外付けされた1つ又は複数の周辺機器を識別するデータを含み、前記方法は、前記受信したデータを処理して、前記マイクロコントローラに含まれる前記複数の周辺機器から、前記外付け周辺機器とインターフェースをとるのに必要な選択した周辺機器を識別することをさらに備えることを特徴とする請求項18に記載の方法。
  58. 外付け周辺機器とインターフェースをとるのに必要な周辺機器の前記判定が、前記マイクロコントローラに含まれない1つ又は複数の周辺機器を含む場合、前記出力するステップは、前記マイクロコントローラに、前記マイクロコントローラに含まれる周辺機器に加えて、1つ又は複数の追加の周辺機器をエミュレートさせるコンピュータプログラムを生成させるデータを出力することを含むことを特徴とする請求項57に記載の方法。
  59. 前記選択した外付け周辺機器に関連付けられた前記1つ又は複数のレジスタに記憶するレジスタ値を識別するデータをさらに受信し、前記出力するステップは、前記受信したデータに対応する1つ又は複数の外付け周辺機器のレジスタ内に記憶するレジスタ値を識別することを含むことを特徴とする請求項57に記載の方法。
  60. 外付け周辺機器を内蔵周辺機器に関連付けることをさらに備え、前記出力するステップは、互いに適合する前記外付け周辺機器及び前記関連付けられた内蔵周辺機器に関するレジスタ値のセットを識別するデータを出力することを含むことを特徴とする請求項59に記載の方法。
  61. 選択した周辺機器を識別するデータを前記受信することは、マイクロコントローラに外付けされた1つ又は複数の周辺機器を識別するデータを含み、前記方法は、前記受信したデータを処理して、前記マイクロコントローラに含まれる前記複数の周辺機器から、前記外付け周辺機器とインターフェースをとるのに必要な選択した周辺機器を識別することをさらに備えることを特徴とする請求項34に記載のコンピュータが読取り可能な媒体。
  62. 外付け周辺機器とインターフェースをとるのに必要な周辺機器の前記判定が、前記マイクロコントローラ内に含まれない1つ又は複数の周辺機器を含む場合、前記出力するステップは、前記マイクロコントローラに、前記マイクロコントローラに含まれる周辺機器に加えて、1つ又は複数の追加の周辺機器をエミュレートさせるコンピュータプログラムを生成させるデータを出力することを含むことを特徴とする請求項61に記載のコンピュータが読取り可能な媒体。
  63. 前記選択した外付け周辺機器に関連付けられた前記1つ又は複数のレジスタに記憶するレジスタ値を識別するデータをさらに受信し、前記出力するステップは、前記受信したデータに対応する1つ又は複数の外付け周辺機器のレジスタ内に記憶するレジスタ値を識別することを含むことを特徴とする請求項62に記載のコンピュータが読取り可能な媒体。
  64. 外付け周辺機器を内蔵周辺機器と関連付けることをさらに備え、前記出力するステップは、互いに適合する前記外付け周辺機器及び前記関連付けられた内蔵周辺機器に関するレジスタ値のセットを識別するデータを出力することを含むことを特徴とする請求項63に記載のコンピュータが読取り可能な媒体。
JP2007500293A 2004-02-27 2005-02-25 構成データを生成するための方法及び装置 Pending JP2007527063A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0404443A GB2411495A (en) 2004-02-27 2004-02-27 Method and apparatus for generating configuration data
PCT/GB2005/000711 WO2005083582A2 (en) 2004-02-27 2005-02-25 Method and apparatus for generating configuration data

Publications (2)

Publication Number Publication Date
JP2007527063A true JP2007527063A (ja) 2007-09-20
JP2007527063A5 JP2007527063A5 (ja) 2008-05-15

Family

ID=32051031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007500293A Pending JP2007527063A (ja) 2004-02-27 2005-02-25 構成データを生成するための方法及び装置

Country Status (8)

Country Link
US (1) US20070283072A1 (ja)
EP (1) EP1721258A2 (ja)
JP (1) JP2007527063A (ja)
CN (1) CN1973253A (ja)
AU (1) AU2005216409A1 (ja)
CA (1) CA2557557A1 (ja)
GB (2) GB2411495A (ja)
WO (1) WO2005083582A2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539967B1 (en) * 2006-05-05 2009-05-26 Altera Corporation Self-configuring components on a device
US8731895B2 (en) * 2008-05-20 2014-05-20 Honeywell International Inc. System and method for accessing and configuring field devices in a process control system
JP5387227B2 (ja) * 2009-08-21 2014-01-15 富士通株式会社 ネットワークマネージャ機器による設定変更方法及びプログラム、ネットワーク機器の制御方法及びプログラム、ネットワークマネージャ機器及びネットワーク機器
DK3011444T3 (en) 2013-06-18 2018-04-16 Ciambella Ltd METHOD AND APPARATUS FOR CODE VIRTUALIZATION AND GENERATION OF REMOTE PROCESS CALLS
US9742847B2 (en) * 2013-08-30 2017-08-22 Texas Instruments Incorporated Network node physical/communication pins, state machines, interpreter and executor circuitry
TW201518972A (zh) * 2013-11-14 2015-05-16 Wistron Corp 印刷電路板之電路設計模擬系統及其電路設計方法
SG11201605563YA (en) * 2014-01-10 2016-08-30 Ciambella Ltd Method and apparatus for automatic device program generation
US9619122B2 (en) * 2014-01-10 2017-04-11 Ciambella Ltd. Method and apparatus for automatic device program generation
US10067490B2 (en) 2015-05-08 2018-09-04 Ciambella Ltd. Method and apparatus for modifying behavior of code for a controller-based device
SG11201708743UA (en) 2015-05-08 2017-11-29 Ciambella Ltd Method and apparatus for automatic software development for a group of controller-based devices
US10459735B2 (en) * 2015-11-04 2019-10-29 Texas Instruments Incorporated Scalable boot options for a processor/controller
CN108780429B (zh) * 2016-03-31 2022-05-31 英特尔公司 用于高速i/o数据传输的错误处理技术
US10289783B1 (en) * 2016-06-01 2019-05-14 Cadence Design Systems, Inc. System and method for managing configuration data associated with an electronic design
WO2018170079A1 (en) 2017-03-14 2018-09-20 Ciambella Ltd. Method and apparatus for automatically generating and incorporating code in development environments
US11140023B2 (en) * 2017-09-19 2021-10-05 Intel Corporation Trace network used as a configuration network
CN112948242A (zh) * 2021-02-23 2021-06-11 深圳宝新创科技股份有限公司 嵌入式控制器的调试方法、终端设备及存储介质
CN116028376B (zh) * 2023-03-27 2023-08-29 云筑信息科技(成都)有限公司 基于流量录制快速生成接口自动化用例的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5402014A (en) * 1993-07-14 1995-03-28 Waferscale Integration, Inc. Peripheral port with volatile and non-volatile configuration
JP3251423B2 (ja) * 1994-05-16 2002-01-28 三菱電機株式会社 プログラマブルコントローラのプログラミング機器およびプログラマブルコントローラ用機能ユニット
US5787299A (en) * 1994-09-16 1998-07-28 Philips Electronics North American Corporation Pin selection system for microcontroller having multiplexer selects between address/data signals and special signals produced by special function device
US5847450A (en) * 1996-05-24 1998-12-08 Microchip Technology Incorporated Microcontroller having an n-bit data bus width with less than n I/O pins
DE19647181A1 (de) * 1996-11-14 1998-05-20 Siemens Ag Zur Abarbeitung von Softwareprogrammen ausgelegte integrierte Schaltung
US5852733A (en) * 1996-12-16 1998-12-22 Chien; Yung-Ping S. Microcontroller development tool using software programs
US6530050B1 (en) * 1998-12-10 2003-03-04 Advanced Micro Devices Inc. Initializing and saving peripheral device configuration states of a microcontroller using a utility program
ATE221682T1 (de) * 1999-04-08 2002-08-15 Microchip Tech Inc Vorrichtung und verfahren zum rekonfigurieren der stiftenzuweisung von einer oder mehreren funktionsschaltungen in einem mikrokontroller
WO2002037298A2 (en) * 2000-11-06 2002-05-10 Microchip Technology Incorporated Configurable mixed analog and digital mode controller system

Also Published As

Publication number Publication date
AU2005216409A1 (en) 2005-09-09
GB2426612C (en) 2009-04-09
CN1973253A (zh) 2007-05-30
GB0404443D0 (en) 2004-03-31
US20070283072A1 (en) 2007-12-06
EP1721258A2 (en) 2006-11-15
CA2557557A1 (en) 2005-09-09
GB2411495A (en) 2005-08-31
WO2005083582A3 (en) 2007-01-18
GB0618038D0 (en) 2006-10-25
WO2005083582A2 (en) 2005-09-09
GB2426612B (en) 2008-04-02
GB2426612A (en) 2006-11-29

Similar Documents

Publication Publication Date Title
JP2007527063A (ja) 構成データを生成するための方法及び装置
US10466980B2 (en) Techniques for generating microcontroller configuration information
US6588004B1 (en) Graphic editor for block diagram level design of circuits
US5590049A (en) Method and system for user programmable design verification for printed circuit boards and multichip modules
US20080109780A1 (en) Method of and apparatus for optimal placement and validation of i/o blocks within an asic
US20040034842A1 (en) Systems and methods for ensuring correct connectivity between circuit designs
US20060259891A1 (en) System and method of generating an auto-wiring script
US6629307B2 (en) Method for ensuring correct pin assignments between system board connections using common mapping files
US20160125037A1 (en) Information processing apparatus, information processing method, information processing program, and storage medium
JP6433159B2 (ja) 情報処理装置、方法及びプログラム
JPH10207920A (ja) 回路設計方法および装置
KR19990023204A (ko) 다수의 집적 회로의 배선 방법 및 시스템
JP2001155048A (ja) Emc設計支援システム
JP4979329B2 (ja) 回路構成情報生成装置、制御装置、回路検証システム、回路検証方法、回路構成情報生成プログラム及び制御プログラム
US20060075370A1 (en) Method and apparatus for automating post-tape release VLSI modifications
US20200192992A1 (en) Information processing apparatus and pull-up and pull-down resistor verification method
JPH0962726A (ja) Cadデータインタフェース方法
CN104462681B (zh) 辅助干涉检查的方法
US20230325567A1 (en) System-level design tool for selecting and confirming compatability of electrical components
JP2980748B2 (ja) プリント配線基板設計支援装置
McGregor et al. A hardware/software co-design environment for reconfigurable logic systems
JP4648865B2 (ja) プリント基板パターン設計装置およびプログラム
JP2008112388A (ja) Cadシステム
WO2023196124A1 (en) System-level design tool for selecting and confirming compatability of electrical components
CN117669460A (zh) 一种集成电路的交互文件生成方法以及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080326

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080326

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080917

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080925

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081016

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081023

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081117

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090227