"半導体データ処理装置と、前記半導体データ処理装置に接続された不揮発性半導体メモリデバイスと、前記半導体データ処理装置に接続された出力回路とを備え、前記半導体データ処理装置は、中央処理装置と、前記中央処理装置が実行するプログラムを格納する書き換え可能な不揮発性メモリと、前記中央処理装置の制御に基づいて前記不揮発性半導体メモリデバイスの動作を制御する入出力コントローラと、前記出力回路に接続された外部インタフェース回路とを有し、前記不揮発性半導体メモリデバイスは、複数のプログラムが格納される複数のプログラム領域を有し、前記不揮発性メモリは、前記複数のプログラムの一部を格納するための実行プログラム領域を有し、前記中央処理装置は、前記出力回路から前記外部インタフェース回路に供給された情報を判別し、その判別結果に対応するプログラム領域からプログラムを前記入出力コントローラを用いてリードし、リードしたプログラムを前記実行プログラム領域に格納し、そのプログラムを先頭番地から実行させるソフトウェアリセット処理を行う、データ処理システム。前記外部インタフェース回路は入力ポートであり、前記中央処理装置は前記入力ポートに入力される番号データに基づいて対応するプログラム領域を判別する、請求項1記載のデータ処理システム。前記外部インタフェース回路はシリアル入力回路であり、前記中央処理装置は前記シリアル入力回路に入力されたシリアルデータに基づいて対応するプログラム領域を判別する、請求項1記載のデータ処理システム。前記プログラムは、転送制御用の第1のプログラムとその他の第2のプログラムを含み、前記第1のプログラムは、前記出力回路から前記外部インタフェース回路に供給された情報を判別し、その判別結果が現在実行中のプログラムに対応しないとき、当該判別結果に対応するプログラム領域からプログラムを前記入出力コントローラを用いてリードし、リードしたプログラムを前記実行プログラム領域に格納し、そのプログラムを先頭番地から実行させるソフトウェアリセット処理を制御するプログラムであり、前記第2のプログラムの実行中の所定のタイミングで実行可能にされる、請求項1記載のデータ処理システム。前記不揮発性半導体メモリデバイスはエンベデッドメモリカードであり、前記入出力コントローラは前記エンベデッドメモリカードに対する入出力制御を行うメモリカードコントローラである、請求項1記載のデータ処理システム。前記不揮発性半導体メモリデバイスは不揮発性シリアルメモリであり、前記入出力コントローラは不揮発性シリアルメモリに対する入出力制御を行うことが可能なシリアルペリフェラルインタフェース回路である、請求項1記載のデータ処理システム。半導体データ処理装置と、前記半導体データ処理装置に接続された不揮発性半導体メモリデバイスと、前記半導体データ処理装置に接続された出力回路とを備え、前記半導体データ処理装置は、中央処理装置と、前記中央処理装置によるデータ処理で利用されるパラメータを格納する書き換え可能な不揮発性メモリと、前記中央処理装置の制御に基づいて前記不揮発性半導体メモリデバイスの動作を制御する入出力コントローラと、前記出力回路に接続された外部インタフェース回路とを有し、前記不揮発性半導体メモリデバイスは、複数のパラメータ群が格納される複数のパラメータ群領域を有し、前記不揮発性メモリは、前記複数のパラメータ群の一部のパラメータ群を格納するためのテンポラリ領域を有し、前記中央処理装置は、前記出力回路から前記外部インタフェース回路に供給された情報を判別し、その判別結果に対応するパラメータ群領域からパラメータ群を前記入出力コントローラを用いてリードし、リードしたパラメータ群を前記テンポラリ領域に格納する処理を行う、データ処理システム。前記外部インタフェース回路は入力ポートであり、前記中央処理装置は前記入力ポートに入力される番号データに基づいて対応するテンポラリ領域を判別する、請求項7記載のデータ処理システム。前記外部インタフェース回路はシリアル入力回路であり、前記中央処理装置は前記シリアル入力回路に入力されたシリアルデータに基づいて対応するテンポラリ領域を判別する、請求項7記載のデータ処理システム。前記中央処理装置は、前記出力回路から前記外部インタフェース回路に供給された情報を判別し、その判別結果が現在使用中のパラメータ群に対応しないとき、当該判別結果に対応するパラメータ群領域からパラメータ群を前記入出力コントローラを用いてリードし、リードしたパラメータ群を前記テンポラリ領域に格納する処理を、アプリケーションプログラムの実行中の所定のタイミングで実行可能にされる、請求項7記載のデータ処理システム。前記不揮発性半導体メモリデバイスはエンベデッドメモリカードであり、前記入出力コントローラは前記エンベデッドメモリカードに対する入出力制御を行うメモリカードコントローラである、請求項7記載のデータ処理システム。前記不揮発性半導体メモリデバイスは不揮発性シリアルメモリであり、前記入出力コントローラは不揮発性シリアルメモリに対する入出力制御を行うことが可能なシリアルペリフェラルインタフェース回路である、請求項7記載のデータ処理システム。本発明者はマイクロコンピュータにオンチップされた書き換え可能な不揮発性メモリにプログラムやパラメータを格納して中央処理装置の近傍に配置し、これに対する中央処理装置のアクセス速度を向上させて、プログラムの実行速度を高速化し、また、パラメータの参照速度を高速化することについて検討した。しかしながら、そのようにオンチップする事ができる不揮発性メモリの記憶容量はマイクロコンピュータのコストやチップサイズなどの点から制限され、その制限以上に大きな規模のプログラムやパラメータを用いる場合には新たな対策を講ずることが必要になる。更に、前記PROMライタモードやオンボード書き換えモードを用いてそのような書き換えを行ったとき、パワーオンリセットを行ってから新たなプログラムの実行を開始すると、処理の再開に時間がかかりすぎたりして、データ処理によっては不都合を生ずる場合のあることが明らかにされた。本発明の目的は、オンチップする事ができる不揮発性メモリの記憶容量以上に大きな規模のプログラムやパラメータを用いたデータ処理の高速化と円滑化を実現することができるデータ処理システムを提供することにある。本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。すなわち、オンチップする事ができる不揮発性メモリの記憶容量以上に大きな規模のプログラムやパラメータを半導体データ処理装置の外部に接続された不揮発性半導体メモリデバイスに格納し、半導体データ処理装置は外部から与えたれた情報の判別結果に応答して、内部で必要なプログラムやパラメータを不揮発性半導体メモリデバイスからダウンロードしてオンチップの不揮発性メモリを書き換える。プログラムを書き換えたときは、そのプログラムを先頭番地から実行させるソフトウェアリセット処理を行う。本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。すなわち、オンチップする事ができる不揮発性メモリの記憶容量以上に大きな規模のプログラムやパラメータを用いたデータ処理の高速化と円滑化を実現することができる。1.実施の形態の概要先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。1<内蔵ROM容量を超えるプログラムを選択して外部から内蔵ROMにロード>本発明の代表的な実施の形態に係るデータ処理システム1,1Aは、半導体データ処理装置10,10Aと、前記半導体データ処理装置に接続された不揮発性半導体メモリデバイス20,20Cと、前記半導体データ処理装置に接続された出力回路30,40とを備える。前記半導体データ処理装置は、中央処理装置11と、前記中央処理装置が実行するプログラムを格納する書き換え可能な不揮発性メモリ12と、前記中央処理装置の制御に基づいて前記不揮発性半導体メモリデバイスの動作を制御する入出力コントローラ15、19と、前記出力回路に接続された外部インタフェース回路16,17とを有する。前記不揮発性半導体メモリデバイスは、複数のプログラムが格納される複数のプログラム領域201-1~20-Nを有する。前記不揮発性メモリは、前記複数のプログラムの一部を格納するための実行プログラム領域12-1を有する。前記中央処理装置は、前記出力回路から前記外部インタフェース回路に供給された情報を判別し、その判別結果に対応するプログラム領域からプログラムを前記入出力コントローラを用いてリードし、リードしたプログラムを前記実行プログラム領域に格納し、そのプログラムを先頭番地から実行させるソフトウェアリセット処理を行う。これによれば、半導体データ処理装置は外部から与えたれた情報の判別結果に応答して、内部で必要なプログラムを不揮発性半導体メモリデバイスからダウンロードしてオンチップの不揮発性メモリを書き換えるから、オンチップする事ができる不揮発性メモリの記憶容量以上に大きな規模のプログラムであっても、半導体データ処理装置にオンチップされた不揮発性メモリから直接リードして高速に実行することが可能になる。さらに、半導体データ処理装置にオンチップされた不揮発性メモリのプログラムを書き換えたときは、そのプログラムを先頭番地から実行させるソフトウェアリセット処理を行うから、パワーオンリセットを行ってそのプログラムの実行を開始する場合に比べて、プログラム処理の再開に時間がかからず、実行するプログラムを切り替えたときデータ処理を円滑に再会することができる。2<ポート入力によってプログラムを指示>項1のデータ処理システムにおいて、前記外部インタフェース回路は入力ポート16であり、前記中央処理装置は前記入力ポートに入力される番号データに基づいて対応するプログラム領域を判別する。これにより、入力ポートを介してプログラムの書き換えを外部から容易に指示することができる。3<シリアル入力によってプログラムを指示>項1のデータ処理システムにおいて、前記外部インタフェース回路はシリアル入力回路17であり、前記中央処理装置は前記シリアル入力回路に入力されたシリアルデータに基づいて対応するプログラム領域を判別する。これにより、シリアル入力回路を介してプログラムの書き換えを外部から容易に指示することができる。4<転送制御用のプログラムを含む>項1のデータ処理システムにおいて、前記プログラムは、転送制御用の第1のプログラム120,110,111,112とその他の第2のプログラムを含む。前記第1のプログラムは、前記出力回路から前記外部インタフェース回路に供給された情報を判別し、その判別結果が現在実行中のプログラムに対応しないとき、当該判別結果に対応するプログラム領域からプログラムを前記入出力コントローラを用いてリードし、リードしたプログラムを前記実行プログラム領域に格納し、そのプログラムを先頭番地から実行させるソフトウェアリセット処理を制御するプログラムである。前記第1のプログラムは、前記第2のプログラムの実行中の所定のタイミングで実行可能にされる。これにより、プログラムは第2のプログラムと共に転送制御用の第1のプログラムを有するから、第2のプログラムを実行しながらプログラムの書き換えに付帯する処理を円滑に行うことができる。5<メモリコントローラ>項1のデータ処理システムにおいて、前記不揮発性半導体メモリデバイスはエンベデッドメモリカード20であり、前記入出力コントローラは前記エンベデッドメモリカードに対する入出力制御を行うメモリカードコントローラ15である。これによれば、メモリカードコントローラを有する半導体データ処理装置に対してエンベデッドメモリカードを大きなプログラムの格納に流用することができる。6<シリアルペリフェラルコントローラ>項1のデータ処理システムにおいて、前記不揮発性半導体メモリデバイスは不揮発性シリアルメモリ20であり、前記入出力コントローラは不揮発性シリアルメモリに対する入出力制御を行うことが可能なシリアルペリフェラルインタフェース回路19である。これによれば、シリアルペリフェラルインタフェース回路を有する半導体データ処理装置に対して不揮発性シリアルメモリを大きなプログラムの格納に流用することができる。7<内蔵ROM容量を超えるパラメータを選択して外部から内蔵ROMにロード>本発明の別の実施の形態に係るデータ処理システム1Bは、半導体データ処理装置10Bと、前記半導体データ処理装置に接続された不揮発性半導体メモリデバイス20B,20Cと、前記半導体データ処理装置に接続された出力回路30Bとを備える。前記半導体データ処理装置は、中央処理装置11と、前記中央処理装置によるデータ処理で利用されるパラメータを格納する書き換え可能な不揮発性メモリ18と、前記中央処理装置の制御に基づいて前記不揮発性半導体メモリデバイスの動作を制御する入出力コントローラ15,19と、前記出力回路に接続された外部インタフェース回路16とを有する。前記不揮発性半導体メモリデバイスは、複数のパラメータ群が格納される複数のパラメータ群領域20B-1~20B-Nを有する。前記不揮発性メモリは、前記複数のパラメータ群の一部のパラメータ群を格納するためのテンポラリ領域18-1を有する。前記中央処理装置は、前記出力回路から前記外部インタフェース回路に供給された情報を判別し、その判別結果に対応するパラメータ群領域からパラメータ群を前記入出力コントローラを用いてリードし、リードしたパラメータ群を前記テンポラリ領域に格納する処理を行う。これによれば、半導体データ処理装置は外部から与えられた情報の判別結果に応答して、内部で必要なパラメータを不揮発性半導体メモリデバイスからダウンロードしてオンチップの不揮発性メモリを書き換えるから、オンチップする事ができる不揮発性メモリの記憶容量以上に大きな規模のパラメータであっても、半導体データ処理装置にオンチップされた不揮発性メモリから直接リードして即座に利用することが可能になる。8<ポート入力によってパラメータ群を指示>項7のデータ処理システムにおいて、前記外部インタフェース回路は入力ポート16であり、前記中央処理装置は前記入力ポートに入力される番号データに基づいて対応するテンポラリ領域を判別する。これにより、入力ポートを介してパラメータの書き換えを外部から容易に指示することができる。9<シリアル入力によってパラメータ群を指示>項7のデータ処理システムにおいて、前記外部インタフェース回路はシリアル入力回路17であり、前記中央処理装置は前記シリアル入力回路に入力されたシリアルデータに基づいて対応するテンポラリ領域を判別する。これにより、シリアル入力回路を介してパラメータの書き換えを外部から容易に指示することができる。10<パラメータの書き換え制御用のプログラム>項7のデータ処理システムにおいて、前記中央処理装置11は、前記出力回路から前記外部インタフェース回路に供給された情報を判別し、その判別結果が現在使用中のパラメータ群に対応しないとき、当該判別結果に対応するパラメータ群領域からパラメータ群を前記入出力コントローラを用いてリードする。リードしたパラメータ群を前記テンポラリ領域に格納する処理は、アプリケーションプログラムの実行中の所定のタイミングで実行可能にされる。これにより、アプリケーションプログラムを実行しながらパラメータの書き換えに付帯する処理を円滑に行うことができる。11<メモリコントローラ>項7のデータ処理システムにおいて、前記不揮発性半導体メモリデバイスはエンベデッドメモリカード20Bであり、前記入出力コントローラは前記エンベデッドメモリカードに対する入出力制御を行うメモリカードコントローラ15である。これによれば、メモリカードコントローラを有する半導体データ処理装置に対してエンベデッドメモリカードを大きなサイズのパラメータの格納に流用することができる。12<シリアルペリフェラルコントローラ>項7のデータ処理システムにおいて、前記不揮発性半導体メモリデバイスは不揮発性シリアルメモリ20Cであり、前記入出力コントローラは不揮発性シリアルメモリに対する入出力制御を行うことが可能なシリアルペリフェラルインタフェース回路19である。これによれば、シリアルペリフェラルインタフェース回路を有する半導体データ処理装置に対して不揮発性シリアルメモリを大きなサイズのパラメータの格納に流用することができる。2.実施の形態の詳細実施の形態について更に詳述する。《実施の形態1》図1には本発明の実施の形態1に係るデータ処理システムが例示される。同図に示されるデータ処理システム1は、特に制限されないが、所定の配線基板図示せずに、半導体データ処理装置としてのマイクロコンピュータ10、前記マイクロコンピュータ10に接続された不揮発性半導体メモリデバイスとしてのエンベデッドメモリカードEMCRD20、及びマイクロコンピュータ10に接続された出力回路としてのプログラム選択スイッチ回路30などが実装されて構成される。マイクロコンピュータ10は、特に制限されないが、単結晶シリコンなどの1個の半導体基板にCMOS集積回路製造技術などによって構成される。このマイクロコンピュータ10は、中央処理装置CPU11、電気的に書き換え可能な不揮発性メモリROM12、不揮発性メモリ12に対する消去及び書き込み動作のシーケンス制御を行う消去書き込み制御回路FCU13、RAM14、前記エンベデッドメモリカード20の動作を制御するメモリカードコントローラMCCNT15、及び入出力ポートIOP16などを備える。RAM14はプログラムのワーク領域やデータを一時保存する領域として使用される。図1では上記それぞれの回路モジュールは隣同士で信号の入出力を行うように図示されているが、これは代表的な信号入出力形態を模式的に図示しているにすぎない。実際は内部バスによって接続されている。図示は省略するが、例えばCPU11、ROM12及びRAM14はCPU11の動作サイクルに匹敵するバスサイクルで信号伝達を行う高速な内部バスによって接続される。この内部バスはバスブリッジ回路又はバスコントローラを介して周辺バスに接続される。周辺バスには内部バスよりも低速で、必ずしも高速のクロック動作が必要とされない回路モジュールとして、前記FCU13、MCCNT15、IOP16などが結合されている。前記不揮発性メモリ12はフラッシュメモリの不揮発性記憶素子と同様の電気的に書き換え可能なスタックゲート型若しくはスプリットゲート型のメモリセルがマトリクス配置されたメモリセルアレイを有し、CPU11が実行するプログラムの格納に用いられる。その一部はユーザプログラムUPGMiの格納領域12-1とされる。図1ではi=Jの場合を例示する。前記不揮発性メモリ12に対する消去書き込み制御回路13は前記周辺バス経由でCPU11から与えられる消去コマンドや書き込みコマンドに応答して、不揮発性メモリ12に対する消去動作や書き込み動作のシーケンス制御を行う専用のハードウェアで、CPU11が他のタスク実行時でも、ROM12に対する書き込みを可能にする。前記不揮発性メモリ12に対する読み出しは前記内部バス経由でCPU11が高速に行うことができる。MCCNT15はCPU11から与えられるメモリカードコマンドに応答してEMCRD20を制御するハードウェアである。IOP16にはN個の入出力回路IO1~IONが代表的に図示されている。入出力回路IO1~IONにはプログラム選択スイッチ回路30のN個のスイッチSW1~SWNのスイッチ状態に応ずるスイッチ信号が供給される。特に制限されないが、夫々のスイッチ信号は1ビットとされる。プログラム選択スイッチにより制御される各IOポートの状態を反映する。上記スイッチ状態が反映される入出力回路IO1~IONの状態はCPU11によって監視される。エンベデッドメモリカード20は、特に制限されないが、組み込み用途のフラッシュメモリカードであり、回路基板上に例えばBGAボールグリッドアレイによる外部端子を介して実装固定され、N個Nは正の整数のユーザプログラムUPGM1~UPGMNを書き換え可能に格納する不揮発性のプログラム領域20-1~20-Nを有する。このエンベデッドメモリカード20は、例えばマルチメディアカードMultiMediaCardMMC:登録商標準拠のメモリインタフェースを持つ。マイクロコンピュータ10のメモリカードコントローラ15は、エンベデッドメモリカード20が持つ上記メモリカードインタフェースを用いたメモリカードのアクセス制御を行う。エンベデッドメモリカード20の記憶容量や仕様の更新等があっても互換性の範囲でメモリカードコントローラ15による制御を行うことができる。ここで、ROM12の記憶容量はエンベデッドメモリカード20の記憶容量に比べて格段に小さく、例えば数百キロバイトないし1メガバイト程度であり、例えば、OSなどのシステムプログラムや必要なパラメータデータのほかに、一つのユーザプログラムを格納することができる程度の記憶容量をもつ。大きな記憶容量の電気的に書き換え可能な不揮発性メモリをオンチップで持つことによるマイクロコンピュータのコスト上昇とチップの大型化を抑えるためである。プログラム選択スイッチ回路30のスイッチSW1~SWNはユーザプログラムUPGM1~UPGMNのプログラム領域20-1~20-Nに対応され、対応するプログラム領域に対して、オン状態によるロー出力が選択、オフ状態によるハイHigh出力が非選択を指示する。尚、プログラム選択スイッチ回路30はスイッチSW1~SWNのうち複数のスイッチがオン状態になることを禁止している。スイッチSW1~SWNのスイッチ状態は入出力ポート16の入出力回路IO1~IONに反映される。CPU11は入出力回路IO1~IONの状態を監視し、それが指示する番号のユーザプログラムをROM12に書き込むための処理を行う。例えば新たに、ユーザプログラムの番号Jが指定されたことを検出すると、MCCNT15を介してEMCRD20の記憶領域20-JからRAM14にユーザプログラムUPGMJを転送させ、次いで、そのユーザプログラムUPGMJをFCU13を介してROM12に書き込む制御を行う。特に制限されないが、その制御は、ユーザプログラムUPGMJを書きこむ前にROM12に格納さている他のユーザプログラムをCPU11が実行することによって行う。新たなユーザプログラムUPGMJに書き込みが完了すると、特に制限されないが、CPU11がソフトウェアリセットを行って、当該ユーザプログラムUPGMJの実行が可能にされる。ソフトウェアリセットとして、例えば、CPU11の汎用レジスタやプログラムカウンタなどのレジスタセットの初期化が行われて、ユーザプログラムUPGMJの先頭番地から命令フェッチが開始される。図2にはMCCNT15とEMCRD20とのインタフェース信号が例示される。図において双方は、クロック線、コマンド線、8本のデータ線で接続される。クロック線に供給されるクロック信号はMCCNT15がマイクロコンピュータ10内の周辺クロック信号を分周して生成し、このクロック信号がMCCNT15からクロック線を介してEMCRD20に供給される。コマンド線にはMCCNT15からEMCRD20に当該メモリカードのインタフェース仕様に準拠したコマンドが出力され、また、EMCRD20からMCCNT15にはコマンドに対するレスポンスが転送される。データ線にはMCCNT15からEMCRD20に書き込みデータが供給され、また、EMCRD20からMCCNT15に読み出しデータが供給される。使用するデータ線の本数は8本に限定されず、1本又は4本などであってもよい。図3にはユーザプログラムの転送制御に関するマイクロコンピュータ10の論理構成が例示される。ここではその論理構成を、ハードウェア層HWL、ドライバ層DVL、ミドルウェアMWL、アプリケーション層APLに大別する。ハードウェア層HWLとしてIOP16、ROM12、FCU13、及びMCCNT15を図示する。ドライバ層DVLには、例えば、入出力回路IO1~IONとスイッチSW1~SWNとの対応を設定するIOP16の機能設定部100、FCU13によるROM12の消去及び書き込み制御シーケンスを規定するFCUファームウェア101、MCCNT15を制御してEMCRD20からユーザプログラムを読み出すためのリードアクセス動作のためのカードアクセスドライバ102が設けられる。ミドルウェア層MWLには、IO判定部110、書き込み制御部111、及びファイルシステム112を有する。IO判定部110は、プログラム選択スイッチ回路30の状態を反映した各入出力回路IO1~IONのローLo入力又はハイHigh入力状態を判定するプログラムである。書き込み制御部111は、FCUファームウェア101が提供する機能に応じたコマンドを使用してROMへの消去及び書き込み動作に関する書き込み制御を行うプログラムである。ファイルシステム112はEMCRD20内のユーザプログラムUPGM1~UPGMNをファイルとして管理し、上位のアプリケーション層のプログラムがEMCRD20内部のデータをファイルとして扱うことを可能にするためのプログラムである。ここでは、ユーザプログラムUPGM1~UPGMNをファイルとしてEMCRD20に格納する例を説明したが、ユーザプログラムUPGM1~UPGMNをデータとしてEMCRD20に格納し、ファイルシステムの代わりにユーザプログラムアクセス用の専用ソフトウェアを実装してもよい。アプリケーション層APLは、タスク制御部120を有する。タスク制御部120は、IO判定部110を使用したIOP16の状態に従った動作、書き込み制御部111を使用したROM12への書き込み動作、ファイルシステム112を使用したEMCRD20からのファイルの読み出し動作等、マイクロコンピュータに対する全体的なタスクを制御するプログラムである。特に制限されないが、ユーザプログラムUPGM1~UPGMNのそれぞれは、ユーザプログラムの転送制御に用いるアプリケーション層APLのプログラムタスク制御部120を構成する一部のプログラムを持つ。ユーザプログラムの転送制御に用いるミドルウェア層MWL及びドライバ層DVLのプログラムは個々のアプリケーションプログラムから呼び出して実行すればよいから、ユーザプログラムUPGM1~UPGMN毎に個別に持たなくてもよい。ROM12のユーザプログラム領域とは別の記憶領域に固定的に格納されていればよい。尚、ユーザプログラムの転送制御に用いるアプリケーション層APLのプログラムタスク制御部120を構成する一部のプログラムは、ユーザプログラムの転送制御に用いるミドルウェア層MWL及びドライバ層DVLのプログラムと同様に、ユーザプログラムUPGM1~UPGMNに共通化することも可能である。図4には図1のデータ処理システムにおいて、図3で説明した論理構成のソフトウェアを用いたユーザプログラムの実行動作のフローチャートが例示される。ここで、ROM12にはユーザプログラムUPGMKが初期的に格納されているものとする。マイクロコンピュータ10に電源が投入されて起動されるとS1、パワーオンリセット処理によりマイクロコンピュータ10の動作周波数や周辺モジュール等に対する初期設定が行われるS2。入出力ポート16にはIO機能設定部100によってプログラム選択スイッチ回路30との対応が設定される。この後、ROM12に格納されているユーザプログラムUPGMKが先頭番地から実行されるS4。即ち、ユーザプログラムの更新以外のタスクの実行を開始する。このタスクは、例えば、モータ制御、画像のデコード、他機器との通信等のタスクである。その途上で、ユーザプログラムを更新するための処理を行う。即ち、CPU11は参照番号パラメータiを0に初期化してS5、当該パラメータiの値がNになるまでS6、1ずつインクリメントしながらS7、当該パラメータが指す番号に入出力回路IOiの入力がローLowになっているか否かを判別するS8。どの入出力回路IOiの入力がローLowになるかはプログラム選択スイッチ回路30の状態によって決まる。特に図示はしないが、現在実行中のユーザプログラムの番号はCPU11によって把握されており、ステップS8の判別では現在実行中のユーザプログラムの番号が判定対象から除かれることは言うまでもない。状態がLowになっている入出力回路を判別すると、CPU11はその番号のユーザプログラムiの更新要求があるものと判定し、ファイルシステム112によりEMCRD20からRAM14へユーザプログラムiを読み出すS9。例えばi=Jとする。RAM14に読み出されたユーザプログラムiは書き込み制御部111によりROM12に書き込まれるS10。その後、マイクロコンピュータ10はソフトウェアリセットされ、CPU11のレジスタセットが初期化されるS11。パワーオンリセットは行われない。ソフトウェアリセットに伴うレジスタセットの初期化などは、例えばハードウェアによって実現される。これによってCPU11はユーザプログラムiを実行開始しS12、そのプログラムで規定されるタスクを実行するS4。実施の形態1によれば、外部の通信端末の使用やカードソケットを実装することなく、マイクロコンピュータを起動した状態でユーザのプログラムを更新する事ができる。マイクロコンピュータがROM12の容量を超えた、複数のユーザプログラムを実行することができる。プログラムスイッチ回路30から与えたれた情報の判別結果に応答して、マイクロコンピュータ10が必要なプログラムをEMCRD20からダウンロードしてオンチップのROM12を書き換えるから、オンチップする事ができるROMの記憶容量以上に大きな規模のプログラムであっても、マイクロコンピュータ10にオンチップされたROMから直接プログラムをリードして高速に実行することが可能になる。マイクロコンピュータ10にオンチップされたROM12のプログラムを書き換えたときは、そのプログラムを先頭番地から実行させるソフトウェアリセット処理を行うから、パワーオンリセットを行ってそのプログラムの実行を開始する場合に比べて、プログラム処理の再開に時間がからず、実行するプログラムを切り替えたときデータ処理を円滑に再会することができる。《実施の形態2》図5には本発明の実施の形態2に係るデータ処理システムが例示される。同図に示されるデータ処理システム1Aは、特に制限されないが、所定の配線基板図示せずに、半導体データ処理装置としてのマイクロコンピュータ10A、前記マイクロコンピュータ10に接続された不揮発性半導体メモリデバイスとしてのエンベデッドメモリカードEMCRD20、及びマイクロコンピュータ10に接続された出力回路としてのシリアル端末装置40などが実装されて構成される。マイクロコンピュータ10Aは、CPU11の制御によってシリアル通信制御を行うシリアルコミュニケーションインタフェースコントローラSCIC17を備える。このSCIC17にはシリアル端末装置40が、例えばシリアルケーブルを介して接続される。シリアルケーブルに限定されず、非接触シリアル通信によってインタフェースされてもよい。SCIC17にはシリアル端末40の通信アプリケーションで生成された選択データiがSCIC41を介して供給される。選択データiは1~Nの何れかの値を持つ。CPU11はSCIC17からの選択データiの入力を監視する。実施の形態1と同様に選択データiの値1~NはユーザプログラムUPGM1~UPGMNの番号に対応される。CPU11はSCIC17から入力した番号iに応ずるユーザプログラムをEMCRD20からRAM14に転送してROM12に書き込む制御を行う。マイクロコンピュータ10Aのその他の構成は図1と同様であり、同一機能を有する回路には同じ参照符号を付してその詳細な説明を省略する。図5も図1と同様にi=Jの場合を例示する。図6にはユーザプログラムの転送制御に関するマイクロコンピュータ10Aの論理構成が例示される。ここではその論理構成を、ハードウェア層HWL、ドライバ層DVL、ミドルウェアMWL、アプリケーション層APLに大別する。図3との相違点はハードウェア層HWLとしてSCIC17を有し、ドライバ層DVLとしてSCIドライバを有し、タスク制御部120AはSCIC17を制御対象に含めたアプリケーションプログラムとされる。SCIドライバ103はSCIC17を制御しシリアル端末40からのユーザが選択した番号データiを受信する制御を行う。番号判定部110Aは、シリアル端末40から受信した番号iを判定するプリグラムである。その他の論理構成は図3と同様であるから、同一機能にはそれと同じ参照符号を付して詳細な説明を省略する。図7には図5のデータ処理システムにおいて、図6で説明した論理構成のソフトウェアを用いたユーザプログラムの実行動作のフローチャートが例示される。ここで、ROM12にはユーザプログラムUPGMKが初期的に格納されているものとする。マイクロコンピュータ10Aに電源が投入されて起動されるとS21、パワーオンリセット処理によりマイクロコンピュータ10Aの動作周波数や周辺モジュール等に対する初期設定が行われるS22。SCIC17にはSCIドライバ103によってシリアル端末40との間の通信条件などが設定されるS23。それに従ってSCIC17で番号iが受信されるかが判別されるS24。番号受信がない場合は、ROM12に格納されているユーザプログラムUPGMKが先頭番地から実行開始されるS25。即ち、ユーザプログラムの更新以外のタスクの実行を開始する。このタスクは、例えば、モータ制御、画像のデコード、他機器との通信等のタスクである。その途上で、番号受信の有無を逐次判別するS24。番号受信を判別したときは、ユーザプログラムを更新するための処理を行う。即ち、CPU11は受信番号が0<i<Nであるかを判別しS26、それ以外の番号であれば受信番号を破棄してステップS25に戻る。特に図示はしないが、現在実行中のユーザプログラムの番号はCPU11によって把握されており、ステップS8の判別では現在実行中のユーザプログラムの番号が判定対象から除かれることは言うまでもない。受信番号が0<i<Nのとき、CPU11はその番号のユーザプログラムiの更新要求があるものと判定し、ファイルシステム112によりEMCRD20からRAM14へユーザプログラムiを読み出すS28。例えばi=Jとする。RAM14に読み出されたユーザプログラムiは書き込み制御部111によりROM12に書き込まれるS29。その後、マイクロコンピュータ10Aはソフトウェアリセットされ、CPU11のレジスタセットが初期化されるS30。パワーオンリセットは行われない。これによってCPU11はユーザプログラムiを実行開始しS31、そのプログラムで規定されるタスクの実行S25が可能にされる。実施の形態2によればマイクロコンピュータ10AにIOP経由でスイッチ回路を接続することなく、マイクロコンピュータ10Aを起動した状態でユーザプログラムを更新することができる。その他、実施の形態1と同様の作用効果を奏する。《実施の形態3》図8には実施の形態3に係るデータ処理システムが例示される。同図に示されるデータ処理システム1Bは、特に制限されないが、所定の配線基板図示せずに、半導体データ処理装置としてのマイクロコンピュータ10B、前記マイクロコンピュータ10Bに接続された不揮発性半導体メモリデバイスとしてのエンベデッドメモリカードEMCRD20B、及びマイクロコンピュータ10Bに接続された出力回路としてのパラメータ選択スイッチ回路30Bなどが実装されて構成される。マイクロコンピュータ10Bには電気的に書き換え可能な不揮発性メモリとしてのデータフラッシュメモリDFLSH18が図示されている。データフラッシュメモリ18はデータを書き換え可能に記憶するために利用され、その一部はCPU11のデータ処理で用いられるパラメータを書き換え可能に格納するテンポラリ領域18-1とされる。このデータフラッシュメモリ18に対する消去及び書き込み動作のシーケンス制御は消去書き込み制御回路FCU13が行う。その他、図1と同様に回路には同じ参照符号を付してその詳細な説明を省略する。尚、図8ではプログラムを格納するROMの図示を省略しているが、マイクロコンピュータ1Bはプログラムを保有するROMを有し、例えば図1で説明した回路が設けられていても良い。マイクロコンピュータ10Bにおいて図1と同じ回路には同じ参照符号を付してその詳細な説明は省略する。図8では上記それぞれの回路モジュールは隣同士で信号の入出力を行うように図示されているが、これは代表的な信号入出力形態を模式的に図示しているにすぎない。実際は内部バスによって接続されている。図示は省略するが、例えばCPU11、DFLSH18及びRAM14はCPU11の動作サイクルに匹敵するバスサイクルで信号伝達を行う高速な内部バスによって接続される。この内部バスはバスブリッジ回路又はバスコントローラを介して周辺バスに接続される。周辺バスには内部バスよりも低速で、必ずしも高速のクロック動作が必要とされない回路モジュールとして、前記FCU13、MCCNT15、IOP16などが結合されている。エンベデッドメモリカード20Bは、特に制限されないが、組み込み用途のフラッシュメモリカードであり、回路基板上に例えばBGAボールグリッドアレイによる外部端子を介して実装固定され、N個Nは正の整数のパラメータ群UPRM1~UPRMNを書き換え可能に格納する不揮発性のパラメータ領域20B-1~20B-Nを有する。このエンベデッドメモリカード20Bは、例えばマルチメディアカードMultiMediaCardMMC:登録商標準拠のメモリインタフェースを持つ。マイクロコンピュータ10のメモリカードコントローラ15は、エンベデッドメモリカード20Bが持つ上記メモリカードインタフェースを用いたメモリカードのアクセス制御を行う。エンベデッドメモリカード20Bの記憶容量や仕様の更新等があっても互換性の範囲でメモリカードコントローラ15による制御を行うことができる。ここで、DFLSH18の記憶容量はエンベデッドメモリカード20Bの記憶容量に比べて格段に小さい。大きな記憶容量の電気的に書き換え可能な不揮発性メモリをオンチップで持つことによるマイクロコンピュータのコスト上昇とチップの大型化を抑えるためである。パラメータ選択スイッチ回路30BのスイッチSW1~SWNはパラメータUPRM1~UPRMNのパラメータ領域20B-1~20B-Nに対応され、対応するパラメータ領域に対して、オン状態によるロー出力が選択、オフ状態によるハイHigh出力が非選択を指示する。尚、パラメータ選択スイッチ回路30BはスイッチSW1~SWNのうち複数のスイッチがオン状態になることを禁止している。スイッチSW1~SWNのスイッチ状態は入出力ポート16の入出力回路IO1~IONに反映される。CPU11は入出力回路IO1~IONの状態を監視し、それが指示する番号のパラメータをDFLSH18に書き込むための処理を行う。例えば図8の例では、新たに、パラメータの番号Jが指定されたことを検出すると、MCCNT15を介してEMCRD20Bの記憶領域20B-JからRAM14にパラメータUPRMJを転送させ、次いで、そのパラメータUPRMJをFCU13を介してDFLSH18に書き込む制御を行う。特に制限されないが、その制御は、ユーザプログラムをCPU11が実行することによって行う。図9にはパラメータの転送制御に関するマイクロコンピュータ10Bの論理構成が例示される。ここではその論理構成を、ハードウェア層HWL、ドライバ層DVL、ミドルウェアMWL、アプリケーション層APLに大別する。図9ではハードウェア層HWLとしてIOP16、DFLSH18、FCU13、及びMCCNT15を図示する。ドライバ層DVLには、例えば、入出力回路IO1~IONとスイッチWS1~SWNとの対応を設定するIOP16の機能設定部100、FCU13によるDFLSH18の消去及び書き込み制御シーケンスを規定するECUファームウェア101B、MCCNT15を制御してEMCRD20Bからパラメータを読み出すためのリードアクセス動作のためのカードアクセスドライバ102が設けられる。ミドルウェア層MWLには、IO判定部110、書き込み制御部111B、及びファイルシステム112を有する。IO判定部110は、プログラム選択スイッチ回路30の状態を反映した各入出力回路IO1~IONのローLo入力又はハイHigh入力状態を判定するプログラムである。書き込み制御部111Bは、FCUファームウェア101Bが提供する機能に応じたコマンドを使用してDFLSH18への消去及び書き込み動作に関する書き込み制御を行うプログラムである。ファイルシステム112はEMCRD20B内のパラメータUPRM1~UPRMNをファイルとして管理し、上位のアプリケーション層のプログラムがEDMCRD20B内部のデータをファイルとして扱うことを可能にするためのプログラムである。ここでは、パラメータUPRM1~UPRMNをファイルとしてEMCRD20Bに格納する例を説明したが、パラメータUPRM1~UPRMNをデータとしてEMCRD20Bに格納し、ファイルシステムの代わりにユーザプログラムアクセス用の専用ソフトウェアを実装してもよい。アプリケーション層APLは、タスク制御部120Bを有する。タスク制御部120Bは、IO判定部110を使用したIOP16の状態に従った動作、書き込み制御部111Bを使用したDFLSH18への書き込み動作、ファイルシステム112を使用したEMCRD20Bからのファイルの読み出し動作等、マイクロコンピュータに対する全体的なタスクを制御するプログラムである。図10には図8のデータ処理システムにおいて、図9で説明した論理構成のソフトウェアを用いたユーザプログラムの実行動作のフローチャートが例示される。ここで、DFLSH18にはパラメータUPRMKが初期的に格納されているものとする。マイクロコンピュータ10Bに電源が投入されて起動されるとS41、パワーオンリセット処理によりマイクロコンピュータ10Bの動作周波数や周辺モジュール等に対する初期設定が行われるS42。入出力ポート16にはIO機能設定部100によってパラメータ選択スイッチ回路30Bとの対応が設定される。この後、ユーザプログラムが先頭番地から実行されるS44。即ち、パラメータの更新以外のタスクの実行を開始する。このタスクは、例えば、モータ制御、画像のデコード、他機器との通信等のタスクである。その途上で、パラメータを更新するための処理を行う。即ち、CPU11は参照番号パラメータiを0に初期化してS45、当該参照パラメータiの値がNになるまでS46、1ずつインクリメントしながらS47、当該参照パラメータが指す番号に入出力回路IOiの入力がローLowになっているか否かを判別するS48。どの入出力回路IOiの入力がローLowになるかはパラメータ選択スイッチ回路30Bの状態によって決まる。特に図示はしないが、現在使用中のパラメータの番号はCPU11によって把握されており、ステップS48の判別では現在使用中のパラメータの番号が判定対象から除かれることは言うまでもない。状態がLowになっている入出力回路を判別すると、CPU11はその番号のパラメータムiの更新要求があるものと判定し、ファイルシステム112によりEMCRD20BからRAM14へパラメータiを読み出すS49。例えばi=Jとする。RAM14に読み出されたパラメータUPRMJは書き込み制御部111によりDFLSH18に書き込まれるS50。その後、マイクロコンピュータ10BはユーザパラメータUPRMiを使用してプログラムの実行を開始してS51、タスクを実行するS44。実施の形態3によれば以下の作用効果を得ることができる。外部の通信端末の使用やカードソケットを実装することなく、マイクロコンピュータ10Bを起動した状態でパラメータUPRMiを更新することができる。また、マイクロコンピュータ10BがDFLSH18の記憶容量を超えた、複数のパラメータUPRM1~UPRMNを使用することができる。更に、マイクロコンピュータ10Bは外部から与えたれたi情報の判別結果に応答して、内部で必要なパラメータをEMCRD20BからダウンロードしてオンチップのDFLSH18を書き換えるから、オンチップする事ができるDFLSH18の記憶容量以上に大きな規模のパラメータであっても、マイクロコンピュータ10BにオンチップされたDFLSH18から直接リードして即座に利用することが可能になる。《実施の形態4》図11には不揮発性メモリデバイスとしてシリアルフラッシュメモリを用いた例が示される。シリアルフラッシュメモリSFLSH20Cは、EMCRD20よりアクセス速度は遅いが、EMCRD20に比較しアクセスのための通信方式が簡易であり、ソフトウェアの作成が容易である。さらに、シリアルインタフェースで制御でき、端子数も少ないという利点もある。シリアルフラッシュメモリ20Cを用いる場合にはマイクロコンピュータ10Cはシリアルフラッシュメモリ20Cに接続するシリアルインタフェース回路SPIC19を周辺回路として備える。このシリアルインタフェースは所謂SPISerialPeripheralInterfaceに準拠したインタフェース制御機能を備える。シリアルフラッシュメモリ20CはSPIC19とクロック線、チップセレクト線、入力データデータイン線、出力データデータアウト線で接続する。クロックはSPIC19がマイクロコンピュータ10Cの周辺クロックを分周し生成し、生成されたクロック信号はSPIC19からSFLSH20Cにクロック線を介して供給される。チップセレクト線はSPIC19がSFLSH20Cに対するチップ選択信号を伝達し、チップ選択信号が選択レベルにされることによってSFLSH20Cはチップ選択状態にされ、データの書き込みや読み出しが可能にされる。データアウト線はSPIC19からSFLSH20Cに書き込みデータを転送し、データイン線はSFLSH20CからSPIC19に読み出しデータを転送する。尚、マイクロコンピュータに複数のシリアルフラッシュメモリを接続することもでき、その場合、マイクロコンピュータはチップセレクト線により個々のシリアルフラッシュメモリを選択すればよい。《実施の形態5》図12には本発明に係るデータ処理システムをモータ制御に適用した例が示される。産業用途のモータは機器の位置決め制御や時刻同期が必要な制御等で使用する。そこで、高精度な制御が必要となりマイクロコンピュータでモータを制御するのが一般的である。マイクロコンピュータ10DのCPU11はROM12に格納されたプログラムに従いモータ制御の演算を行う。演算結果を基にモータ制御用タイマ40でPWM信号を生成する。方形波のPWM信号は、そのハイレベルHighとローレベルLowの区間を調整して、モータドライバ41を経由でモータ42を駆動制御をする。また、マイクロコンピュータ10DのAD変換器43によりモータセンサ45からのセンサ信号を論理信号に変換し、モータの動作情報を取得する。CPU11のモータ制御演算はモータ42の動作情報も反映させた演算となる。ROM12のプログラムを書き換えることでモータ制御演算の内容を更新する場合、モータ42を正常に制御するには、マイクロコンピュータ10Dを起動したままで書き換える必要がある。従って、実施の形態1などで説明したROM12に対するユーザプログラムの選択的な書き換えのための構成を採用することにより、マイクロコンピュータ10Dをパワーオンリセットすることなく効率的にユーザプログラムを書き換えて、小さなオンチップROM12を用いた高速のモータ制御を容易に実現することができる。以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。例えば、不揮発性メモリデバイスはメモリカードやシリアルフラッシュメモリに限定されずその他の不揮発性メモリに変更可能である。出力回路はスイッチ回路やシリアル端末に限定されずレジスタなど適宜変更可能である。オンチップ不揮発性メモリはフラッシュメモリに限定されずMRAMなどであってもよい。マイクロコンピュータの論理構成は図3などの階層構成に限定されず、ミドルウェア層がない場合など、その他の論理階層構造であっても良い。本発明はモータ制御のほかにも適宜の制御分野に適用することができる。また、各実施の形態はそれぞれ単独で実現する場合に限らず、適宜の複数の実施の形態を組み合わせて実現することも可能である。"