JP2007257271A - メモリ診断方法、マイクロコンピュータシステム及びプログラム - Google Patents

メモリ診断方法、マイクロコンピュータシステム及びプログラム Download PDF

Info

Publication number
JP2007257271A
JP2007257271A JP2006080577A JP2006080577A JP2007257271A JP 2007257271 A JP2007257271 A JP 2007257271A JP 2006080577 A JP2006080577 A JP 2006080577A JP 2006080577 A JP2006080577 A JP 2006080577A JP 2007257271 A JP2007257271 A JP 2007257271A
Authority
JP
Japan
Prior art keywords
area
memory
program
diagnostic program
microcomputer system
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.)
Withdrawn
Application number
JP2006080577A
Other languages
English (en)
Inventor
Kenichi Wakasugi
健一 若杉
Ai Yodogawa
愛 淀川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006080577A priority Critical patent/JP2007257271A/ja
Publication of JP2007257271A publication Critical patent/JP2007257271A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】本発明は、メモリ診断方法、マイクロコンピュータシステム及びプログラムに関し、診断処理にかかる時間の増加を抑え、且つ、メモリ内の領域全域を診断可能とすることを目的とする。
【解決手段】CPUとメモリを備えたマイクロコンピュータシステムにおいて、外部からメモリ診断プログラムをダウンロードし、メモリを2以上の領域に分けてメモリ診断プログラムと作業領域を1つの領域に格納し、メモリ診断プログラムの実行中に動的に作業領域を切り替えながら他の領域を診断することを繰り返すことによりメモリの全領域を診断するように構成する。
【選択図】図2

Description

本発明は、メモリ診断方法、マイクロコンピュータシステム及びプログラムに係り、特にマイクロコンピュータシステム内のメモリの診断を行うメモリ診断方法、そのようなメモリ診断方法を採用するマイクロコンピュータシステム、及びコンピュータにそのようなメモリ診断方法を実行させるプログラムに関する。本発明は、そのようなプログラムを格納したコンピュータ読み取り可能な記憶媒体にも関する。
ROMとRAM、若しくはこれらに加えて書き換え可能な不揮発性メモリを有するマイクロコンピュータシステムは、様々な用途で使用されている。このようなマイクロコンピュータシステムの出荷に際しては、マイクロコンピュータシステムが正常に動作するか否かを確認する必要がある。特にマイクロコンピュータシステムを搭載したICカード等の場合、非常に高い信頼性が要求されるので、マイクロコンピュータシステムを構成する各モジュールに対する詳細な検査や診断が必須である。
メモリ診断も必須の診断の1つであり、メモリに試験用のデータが正常に読み書きできるか否かや、メモリ保護機能及びエラー訂正機能等の関連する機能が正常に動作するか否か等が確認される。
診断方法の一例としては、予めマイクロコンピュータシステムのROMの一部に診断プログラムを格納しておき、外部からの指示に応答して診断プログラムを起動して診断処理を実行して診断結果を得る第1の方法が知られている。しかし、この第1の方法では、ROMの一部が診断プログラムに占有されてしまうため、オペレーティングシステム(OS)やアプリケーションプログラムを格納できるROM内のメモリ領域が、診断プログラムの分だけ少なくなってしまう。メモリ容量が限られたマイクロコンピュータシステムにおいては、診断専用の診断プログラムでROM内の使用可能なメモリ領域を圧迫することは避けたいところである。又、CPUが暴走してROMに格納されている診断プログラムを実行してしまった場合、誤って不揮発性メモリ内の情報を削除してしまう可能性もある。
上記の問題を解決するために、マイクロコンピュータシステムの外部から診断プログラムをダウンロードしてマイクロコンピュータシステム内の不揮発性メモリに格納して、不揮発性メモリの診断を行う第2の方法が知られている。この第2の方法によれば、診断プログラムを不揮発性メモリにダウンロードして実行し、診断プログラムが不要となれば不揮発性メモリから削除することで、ROM内の使用可能なメモリ領域を圧迫することがなく、マイクロコンピュータシステムの出荷後にROM内に診断プログラムが残ることもない。
診断プログラムをダウンロードする不揮発性メモリ内のメモリ領域と診断するメモリ領域を分け、診断プログラムのダウンロードと診断処理を変えながら複数回繰り返す第3の方法も知られている。
更に、ダウンロードした診断プログラムを不揮発性メモリではなくRAMに格納することで、上記第2及び第3の方法において不揮発性メモリから診断プログラムを削除する手間を省き、不揮発性メモリを診断できるようにした第4の方法が知られている。
しかし、上記第1〜第4の方法は、いずれも診断対象としているのは主に不揮発性メモリであり、RAM等の揮発性メモリの全領域への診断処理にそのまま適用できるものではない。これは、RAMには診断プログラム自体や診断プログラム呼び出し元の処理等の、種々のプログラムが動作するために必要なデータが格納されるからである。その代表的なものがスタックであり、プログラムが使用する変数や関数への引数、関数からの復帰先アドレス等の情報が格納されており、これらの情報はプログラムが動作するのに必要不可欠な情報である。
このため、従来の診断方法では、作業領域として使用されるRAMの一部は、例外として診断対象外となっていた。作業領域として使用できたことを以てRAM等の揮発性メモリの正常性が保証されたとみなすことも考えられるが、RAM内の全領域(即ち、全ビット)を書き換えての確認を行うわけではないため、特定のビット不良等は検出不可能である。
又、マイクロコンピュータシステムと外部との通信は比較的低速であるため、診断プログラムのダウンロードを複数回繰り返す第3の方法では、診断処理に時間がかかってしまい、マイクロコンピュータシステムのコストが増加してしまう。
そこで、本発明は、診断処理にかかる時間の増加を抑え、且つ、メモリ内の全領域を診断可能なメモリ診断方法、マイクロコンピュータシステム及びプログラムを提供することを目的とする。
上記の課題は、CPU及びメモリを備えたマイクロコンピュータシステムにおけるメモリ診断方法であって、メモリ診断プログラムを該メモリ内の第1の領域に格納する第1のステップと、該第1の領域に格納されたメモリ診断プログラムを実行して該第1の領域とは異なる該メモリ内の第2の領域を診断する第2のステップと、該第1の領域に格納されたメモリ診断プログラムとスタック領域を該第2の領域にコピーする第3のステップと、該第2の領域にコピーしたメモリ診断プログラムを実行して該第1の領域を診断する第4のステップと、該第2の領域にコピーしたスタック領域を該第1の領域にコピーする第5のステップとを含むことを特徴とするメモリ診断方法によって達成できる。
上記の課題は、CPUとメモリを備えたマイクロコンピュータシステムであって、外部からメモリ診断プログラムをダウンロードし、該メモリを2以上の領域に分けて該メモリ診断プログラムと作業領域を1つの領域に格納し、該メモリ診断プログラムの実行中に動的に作業領域を切り替えながら他の領域を診断することを繰り返すことにより該メモリの全領域を診断することを特徴とするマイクロコンピュータシステムによっても達成できる。
上記の課題は、CPU及びメモリを備えたマイクロコンピュータシステムであって、該メモリの第1の領域に格納されたメモリ診断プログラムを実行して該第1の領域とは異なる該メモリ内の第2の領域を診断する第1の手段と、該第1の領域に格納されたメモリ診断プログラムとスタック領域を該第2の領域にコピーする第2の手段と、該第2の領域にコピーしたメモリ診断プログラムを実行して該第1の領域を診断する第3の手段と、該第2の領域にコピーしたスタック領域を該第1の領域にコピーする第4の手段とを供えたことを特徴とするマイクロコンピュータシステムによっても達成できる。
上記の課題は、上記いずれかのマイクロコンピュータシステムを搭載したICカードによっても達成できる。
上記の課題は、コンピュータに、マイクロコンピュータシステムのメモリを診断させるプログラムであって、該メモリの第1の領域に格納されたメモリ診断プログラムを実行して該第1の領域とは異なる該メモリ内の第2の領域を診断させる第1の手順と、該第1の領域に格納されたメモリ診断プログラムとスタック領域を該第2の領域にコピーさせる第2の手順と、該第2の領域にコピーしたメモリ診断プログラムを実行して該第1の領域を診断させる第3の手順と、該第2の領域にコピーしたスタック領域を該第1の領域にコピーさせる第4の手順とをコンピュータに実行させることを特徴とするプログラムによっても達成できる。
本発明によれば、診断処理にかかる時間の増加を抑え、且つ、メモリ内の領域全域を診断可能なメモリ診断方法、マイクロコンピュータシステム及びプログラムを実現することができる。
本発明では、マイクロコンピュータシステムが有するRAM等のメモリ内のプログラム領域に格納されたメモリ診断プログラムを実行し、このメモリのプログラム領域及び作業領域を含めたメモリの全領域を対象として、メモリ診断処理を行う。
診断対象となるメモリの全領域は2以上の部分領域に分け、その1つの部分領域に診断プログラムと作業領域であるスタック領域を配置して他の部分領域に対するメモリ診断処理を行う。このメモリ診断処理の後、メモリ診断プログラムと作業領域を診断が完了した部分領域にコピーし、コピー後のメモリ診断プログラムに制御を渡し、コピー後のメモリ診断プログラムを実行することにより診断されていない部分領域に対するメモリ診断処理を行う。このようなコピー処理は、マイクロコンピュータシステムが有するCPUに内蔵された汎用レジスタを使用し、新たなスタック領域を使用することなく行えるため、メモリの全領域の診断が可能となる。このような動作を行うことにより、メモリ診断プログラムと作業領域が配置された領域を例外とすることなく、メモリの全領域を診断することができる。
つまり、メモリ診断処理は、メモリの第1の領域に格納されたメモリ診断プログラムを実行してメモリの第2の領域に対するメモリ診断処理を行うステップと、第1の領域に格納されているスタック領域及びメモリ診断プログラムを第2の領域にコピーするステップと、第2の領域にコピーしたメモリ診断プログラムを実行して第1の領域に対するメモリ診断処理を行うステップと、第2の領域にコピーしたスタック領域を第1の領域にコピーするステップとを含む。
診断プログラムは外部からダウンロードすることができ、メモリを2つの領域に分けた場合であればメモリ診断プログラムと作業領域をその一方の領域に配置し、メモリ診断プログラムの実行中に動的に作業領域を切り替えながら他方の領域を診断することを繰り返すことにより、メモリの全領域を例外なく診断することができる。
診断プログラムは、メモリ内でコピーされて実行されることでメモリの全領域が診断されるので、外部からマイクロコンピュータシステム内のメモリへのメモリ診断プログラムのダウンロードは1回だけ実施すれば良い。このため、診断処理に要する時間を短縮することができる。
以下に、本発明になるメモリ診断方法、マイクロコンピュータシステム及びプログラムの各実施例を、図面と共に説明する。
図1は、本発明になるマイクロコンピュータシステムの一実施例を示すブロック図である。マイクロコンピュータシステムの本実施例は、本発明になるメモリ診断方法の一実施例及び本発明になるプログラム(メモリ診断プログラム)の一実施例を採用する。本実施例では、一例として本発明がICカードに適用されているため、図1ではICカードがリーダ/ライタ装置に接続された状態を示す。リーダ/ライタ装置は、例えば汎用コンピュータシステムからなる試験装置であっても良い。
図1において、マイクロコンピュータシステム1は、インタフェース(I/F)11、CPU12、ROM13及びRAM14を有する。マイクロコンピュータシステム1は、ICカード21に搭載されている。ICカード21は、リーダ/ライタ装置31に接続される。ROM13は、不揮発性メモリとして設けられているが、書き換え可能(プログラマブル)な不揮発性メモリであっても良い。RAM14は、揮発性メモリとして設けられている。又、マイクロコンピュータシステム1は、ROM13及びRAM14に加え、書き換え可能な不揮発性メモリ(図示せず)等が更に設けられた構成であっても良い。
ROM13は、CPU12が実行するプログラムやデータを格納する。ROM13に格納されているプログラムには、オペレーシングシステム(OS)や、メモリ診断プログラム140をRAM14内の領域へダウンロードして実行するダウンロード・実行部133等も含まれる。RAM14は、CPU12の作業領域として用いられる。CPU12は、リーダ/ライタ装置31からのコマンドをインタフェース11を介して受け取り実行する。CPU12がリーダ/ライタ装置31から受け取るコマンドには、メモリ診断コマンドも含まれる。例えば、ICカード21の製造メーカは、ICカード21を出荷する前に、リーダ/ライタ装置31からCPU12に対して所定のメモリ診断コマンドを発行することによりメモリ診断処理を行うことができる。メモリ診断コマンドを受け取ったCPU12は、メモリ診断プログラム140を実行してRAM14を診断し、診断結果をリーダ/ライタ装置31へ報告する。
本実施例では、メモリ診断プログラム140はマイクロコンピュータシステム1の外部(例えば、リーダ/ライタ装置31)からRAM14内に書き込まれて実行され、実行後には消去される。メモリ診断プログラム140は、ROM13には書き込まれない。ただし、メモリ診断プログラム140は、診断対象となるRAM14の領域に対する書き込み処理と読み出し処理を含むため、メモリ診断プログラム140自体を書き換えてしまう可能性がある。又、RAM14は、プログラムが使用する変数や関数への引数、関数からの復帰先アドレス等が格納されているスタック領域を有する。そこで、本実施例では以下に説明する如き手順でメモリ診断処理を行う。
マイクロコンピュータシステム1の外部からRAM14にダウンロードされるメモリ診断プログラム140は、磁気記録媒体、光記録媒体、光磁気記録媒体、半導体記憶装置等の適切なコンピュータ読み取り可能な記憶媒体に格納されていても良い。
尚、図1では、ROM13に格納されたプログラムが実行されることにより実現される機能を機能ブロックとして示すと共に、RAM14にダウンロードされたメモリ診断プログラム140が実行されることにより実現される機能を機能部ブロックとして示す。ROM13は、CPU12による情報のやり取りを制御する通信部131、CPU12によるコマンドの実行を制御するコマンド実行部132及びRAM14へのメモリ診断プログラム140のダウンロード及びその実行を制御するダウンロード・実行部133を有する。RAM14は、メモリ診断プログラム140の実行と診断状態を管理する実行制御・状態管理部141、診断状態を保持する診断状態保持部142、後述するコピー処理を制御するコピー処理部143及びRAM14内の領域に対して情報のリード/ライトを行い診断処理を行う診断処理部144を有する。
図2は、本発明になるメモリ診断方法の一実施例を説明するフローチャートであり、図3は、メモリ診断処理時のRAM14の内容遷移を説明する図である。ここでは、説明の便宜上、RAM14の全領域が2つの部分領域、即ち、第1の領域と第2の領域に分割されるものとするが、本発明はRAM14の領域を2分割する場合に限定されず、2以上の領域に分割する場合にも同様に適用可能である。
図2において、ステップS1は、例えばOSに含まれるダウンロード・実行部133の制御下で、マイクロコンピュータシステム1の外部から受け取ったメモリ診断プログラムをRAM14の第1の領域に図3に示すようにダウンロードする。図3は、メモリ診断プログラムのダウンロード方法を説明する図である。
ステップS2は、ダウンロード・実行部133の制御下で、RAM14の第1の領域にダウンロードしたメモリ診断プログラムを、図4に示すように関数呼び出しの形で実行して、RAM14の第2の領域に対するメモリ診断処理を開始する。図4は、メモリ診断プログラムの起動方法を説明する図である。従って、ROM13に格納されたプログラムから、RAM14の第1の領域にダウンロードされたメモリ診断プログラムへ制御が渡される。
ステップS3は、実行制御・状態管理部141が診断状態保持部142を参照することで行われる。ステップS3は、メモリ診断プログラム140が格納されているRAM14の領域を示す状態フラグが「1」に設定されているか否かを判定する。RAM14の第1の領域に診断プログラムが格納されると、状態フラグは「1」に設定される。従って、RAM14は、ここでは図5に示す「第2の領域の診断実施時」の状態にある。図5は、メモリ診断処理時のRAM14の内容遷移を説明する図である。図5に示すように、RAM14が「第2の領域の診断実施時」の状態にあると、第1の領域にはスタック領域、状態フラグ及びメモリ診断プログラム140の処理コード/データが格納されている。この状態では、状態フラグは「1」に設定されているので、ステップS3の判定結果はYESとなり、処理はステップS4へ進む。
図5では、スタックが格納される領域をスタック領域として示し、診断される領域(即ち、診断の対象となる領域)は診断領域として図示してある。
ステップS4は、実行制御・状態管理部141の制御下で診断処理部144により行われる。ステップS4は、RAM14の第1の領域にダウンロードしたメモリ診断プログラム140を実行して、RAM14の第2の領域に対するメモリ診断処理を実施する。
ステップS5は、実行制御・状態管理部141の制御下でコピー処理部143により尾行われる。ステップS5は、RAM14の第1の領域に格納されているスタック領域、状態フラグ及びメモリ診断プログラム140の処理コード/データをRAM14の第2の領域にコピーする。これにより、RAM14は図5に示す「第1の領域の診断実施時」の状態となる。
ステップS6は、実行制御・状態管理部141によりスタックをRAM14の第2の領域に切り換え、ステップS7は、実行制御・状態管理部141の制御下で診断状態保持部142を更新することで、メモリ診断プログラム140が格納されているRAM14の領域が第2の領域であることを示すように状態フラグを「0」に変更する。又、ステップS8は、実行制御・状態管理部141によりRAM14の第2の領域の先頭にジャンプすることで、図6に示すようにコピー先の第2の領域に格納されたメモリ診断プログラム140へ制御を渡し、処理はステップS3へ戻る。図6は、第2の領域のメモリ診断プログラム140へ制御を渡す方法を説明する図である。尚、スタック使用量を診断開始時と同じにする等すれば、あたかもOSから直接第2の領域のメモリ診断プログラム140が関数呼び出しの形で実行されるようにすることができる。コピー元の第1の領域内の情報は不要となり、データの上書きが可能な状態になるので、第1の領域が診断可能になる。
ステップS8の後に行われるステップS3では、状態フラグが「0」であり判定結果がNOであるため、処理はステップS11へ進む。
ステップS11は、実行制御・状態管理部141の制御下で診断処理部144により行われる。ステップS11は、ダウンロード・実行部133の制御下で、RAM14の第2の領域にコピーしたメモリ診断プログラム140を実行して、RAM14の第1の領域に対するメモリ診断処理を実施する。
ステップS12は、実行制御・状態管理部141の制御下でコピー処理部143により行われる。ステップS12は、RAM14の第2の領域に格納されているスタック領域をRAM14の第1の領域にコピーする。これにより、RAM14は図5に示す「診断実施時」の状態となる。
ステップS13は、実行制御・状態管理部141によりスタックをRAM14の第1の領域に切り換え、図7に示すように関数呼び出しから復帰する形でROM13に格納された呼び出し元のプログラムへ制御を渡し(即ち、戻し)、RAM14に対するメモリ診断処理は終了する。図7は、メモリ診断プログラム140の終了処理を説明する図である。この後、RAM14の第1の及び第2の領域内の情報は不要となり、データの上書きが可能な状態になる。
図8は、RAM14のアドレス割り当てとコピー方法を説明する図である。又、図9は、図2に示すステップS5で用いるコピー方法をより詳細に説明するフローチャートであり、図10は、図2に示すステップS6で用いるスタックの切替方法をより詳細に説明するフローチャートである。
図8に示すメモリマップの例では、RAM14に対して「41000〜42FFF」なるアドレスが割り当てられている。ここで、アドレス値はいずれも16進数表示であり、以下の説明ではアドレス値は全て16進数表示であるものとする。
ここでは説明の便宜上、RAM14のアドレス「41000〜41FFF」を第1の領域、アドレス「42000〜42FFF」を第2の領域とする。第1の領域には、スタック領域が配置されている。スタック領域には、関数の引数、関数の復帰アドレス、呼び出し元関数のフレームポインタ、局所変数等の領域が配置されている。
図9に示すように、RAM14の第1の領域と第2の領域間のコピー処理が開始さると、ステップS21でコピーデータ長が「0」であるか否かを判定することで、コピー処理の終了判定を行う。コピーデータ長が「0」でステップS21の判定結果がYESであると、コピー処理の終了であると判断されるので、処理は図2に示すメモリ診断処理へ戻りステップS6へ進む。他方、ステップS21の判定結果がNOであると、処理はステップS22へ進む。
ステップS22は、第1の領域と第2の領域間のコピーを行う際に、新たなスタック領域の使用を回避するために、CPU12に内蔵されている汎用レジスタを使用して1バイトずつ行う。第1の領域を第2の領域にコピーする際には、コピー元の先頭の1バイトR0(アドレス:41000)の内容を汎用レジスタにR3で示すようにコピーした後、その内容をコピー先の領域の先頭の1バイトR1(アドレス:42000)に格納する。
次に、ステップS23は、コピー元及びコピー先のアドレスを1バイト加算することでコピー元のアドレスを「41000」→「41001」、コピー先のアドレスを「42000」→「42001」と夫々インクリメントする。又、ステップS24は、コピーデータ長を1バイト減算し(1000→FFF)、処理はステップS21へ戻る。従って、上記ステップS22〜S24の処理は、コピーデータ長が0になるまで繰り返される。
図9に示すコピー処理が終了すると、図10に示すスタック切替処理が開始される。図10において、ステップS31は、コピー元のシステムスタックポインタ(SSP:System Stack Pointer)の値にオフセット値(領域長:1000)を加算し、ステップS32は、フレームポインタにオフセット値を加算することで、SSPを切り替える。ステップS32の後、処理は図2に示すメモリ診断処理へ戻りステップS7へ進む。
第2の領域を第1の領域へコピーする場合のコピー処理(図2のステップS12)は図9と同じ方法を用いることができる。又、第2の領域を第2の領域へコピーする場合のスタック切替処理(図2のステップS13)は、基本的には図10と同じ方法を用いることができるが、SSPの切り替えの際にはSSPの値に負のオフセット値(領域長:−1000)を加算、即ち、SSPの値からオフセット値(領域長:1000)を減算する。
メモリ診断処理の終了後、メモリ診断プログラム140RAM14から削除されるため、ICカード21が使用される際に誤ってメモリ診断プログラム140が実行されることはなく、メモリ診断プログラム140が不正利用されることもない。
上記実施例では、メモリ診断プログラム140が格納されているRAM14の領域(プログラム領域)を示す状態フラグを用いたが、これとは逆に、RAM14内の診断される領域(診断領域又は診断対象領域)を示す状態フラグを用いても良いことは言うまでもない。
又、上記実施例では、マイクロコンピュータシステムがICカードに搭載された場合について説明したが、本発明はICカードに限定されるものではない。
尚、本発明は、以下に付記する発明をも包含するものである。
(付記1) CPU及びメモリを備えたマイクロコンピュータシステムにおけるメモリ診断方法であって、
メモリ診断プログラムを該メモリ内の第1の領域に格納する第1のステップと、
該第1の領域に格納されたメモリ診断プログラムを実行して該第1の領域とは異なる該メモリ内の第2の領域を診断する第2のステップと、
該第1の領域に格納されたメモリ診断プログラムとスタック領域を該第2の領域にコピーする第3のステップと、
該第2の領域にコピーしたメモリ診断プログラムを実行して該第1の領域を診断する第4のステップと、
該第2の領域にコピーしたスタック領域を該第1の領域にコピーする第5のステップとを含むことを特徴とする、メモリ診断方法。
(付記2) 該第1のステップは、所定のプログラムの制御下で該メモリ診断プログラムを該第1の領域に格納し、
該第2のステップは、該所定のプログラムから該メモリ診断プログラムへ制御を渡されて該メモリ診断プログラムを実行し、
該第5のステップの後、制御を該所定のプログラムへ渡すステップを更に含むことを特徴とする、付記1記載のメモリ診断方法。
(付記3) 該メモリは揮発性であり、該所定のプログラムは該マイクロコンピュータシステムが備える不揮発性メモリに格納されていることを特徴とする、付記2記載のメモリ診断方法。
(付記4) 該第3のステップの後、且つ、該第4のステップの前に、該メモリ内でメモリ診断プログラムが格納されている方の領域又は診断される方の領域を示すフラグを管理するステップを更に備え、
該フラグに基づいて該第1〜第5のステップを行うことを特徴とする、付記1〜3のいずれか1項記載のメモリ診断方法。
(付記5) 該第3のステップは、該メモリ診断プログラムとスタック領域のコピーを、該CPUが内蔵する汎用レジスタを使用して一定領域長単位で行うことを特徴とする、付記1〜4のいずれか1項記載のメモリ診断方法。
(付記6) 該第1のステップは、該マイクロプロセッサ外部から受け取ったメモリ診断プログラムを該第1の領域に格納することを特徴とする、付記1〜5のいずれか1項記載のメモリ診断方法。
(付記7) CPUとメモリを備えたマイクロコンピュータシステムであって、
外部からメモリ診断プログラムをダウンロードし、該メモリを2以上の領域に分けて該メモリ診断プログラムと作業領域を1つの領域に格納し、該メモリ診断プログラムの実行中に動的に作業領域を切り替えながら他の領域を診断することを繰り返すことにより該メモリの全領域を診断することを特徴とする、マイクロコンピュータシステム。
(付記8) 該メモリ上の作業領域の切り替えを該メモリ診断プログラム自体により実行し、該メモリ診断プログラムの格納場所を、該メモリ診断プログラムがそのコピーを作り該コピーに制御を渡すことにより変えていくことを特徴とする、付記7記載のマイクロコンピュータシステム。
(付記9) CPU及びメモリを備えたマイクロコンピュータシステムであって、
該メモリの第1の領域に格納されたメモリ診断プログラムを実行して該第1の領域とは異なる該メモリ内の第2の領域を診断する第1の手段と、
該第1の領域に格納されたメモリ診断プログラムとスタック領域を該第2の領域にコピーする第2の手段と、
該第2の領域にコピーしたメモリ診断プログラムを実行して該第1の領域を診断する第3の手段と、
該第2の領域にコピーしたスタック領域を該第1の領域にコピーする第4の手段とを供えたことを特徴とする、マイクロコンピュータシステム。
(付記10) 該メモリ診断プログラムは所定のプログラムの制御下で該第1の領域に格納されており、
該第1の手段は、該所定のプログラムから該メモリ診断プログラムへ制御を渡されて該メモリ診断プログラムを実行し、
該第4の手段が該第2の領域にコピーしたスタック領域を該第1の領域にコピーした後、制御を該所定のプログラムへ渡す手段を更に備えたことを特徴とする、付記9記載のマイクロコンピュータシステム。
(付記11) 不揮発性メモリを更に備え、
該メモリは揮発性であり、
該所定のプログラムは該不揮発性メモリに格納されていることを特徴とする、付記10記載のマイクロコンピュータシステム。
(付記12) 該第2の手段は、該メモリ診断プログラムとスタック領域のコピーを、該CPUが内蔵する汎用レジスタを使用して一定領域長単位で行うことを特徴とする、付記9〜11のいずれか1項記載のマイクロコンピュータシステム。
(付記13) 付記7〜12のいずれか1項記載のマイクロコンピュータシステムを搭載したICカード。
(付記14) コンピュータに、マイクロコンピュータシステムのメモリを診断させるプログラムであって、
該メモリの第1の領域に格納されたメモリ診断プログラムを実行して該第1の領域とは異なる該メモリ内の第2の領域を診断させる第1の手順と、
該第1の領域に格納されたメモリ診断プログラムとスタック領域を該第2の領域にコピーさせる第2の手順と、
該第2の領域にコピーしたメモリ診断プログラムを実行して該第1の領域を診断させる第3の手順と、
該第2の領域にコピーしたスタック領域を該第1の領域にコピーさせる第4の手順とをコンピュータに実行させることを特徴とする、プログラム。
(付記15) 該第2の手順は、該メモリ診断プログラムとスタック領域のコピーを、該コンピュータが内蔵する汎用レジスタを使用して一定領域長単位で該コンピュータに行わせることを特徴とする、付記14記載のプログラム。
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
本発明になるマイクロコンピュータシステムの一実施例を示すブロック図である。 本発明になるメモリ診断方法の一実施例を説明するフローチャートである。 メモリ診断プログラムのダウンロード方法を説明する図である。 メモリ診断プログラムの起動方法を説明する図である。 メモリ診断処理時のRAMの内容遷移を説明する図である。 第2の領域のメモリ診断プログラムへ制御を渡す方法を説明する図である。 メモリ診断プログラムの終了処理を説明する図である。 RAMのアドレス割り当てとコピー方法を説明する図である。 コピー方法を説明するフローチャートである。 スタックの切替方法を説明するフローチャートである。
符号の説明
1 マイクロコンピュータシステム
11 インタフェース
12 CPU
13 ROM
14 RAM
21 ICカード
31 リーダ/ライタ

Claims (5)

  1. CPU及びメモリを備えたマイクロコンピュータシステムにおけるメモリ診断方法であって、
    メモリ診断プログラムを該メモリ内の第1の領域に格納する第1のステップと、
    該第1の領域に格納されたメモリ診断プログラムを実行して該第1の領域とは異なる該メモリ内の第2の領域を診断する第2のステップと、
    該第1の領域に格納されたメモリ診断プログラムとスタック領域を該第2の領域にコピーする第3のステップと、
    該第2の領域にコピーしたメモリ診断プログラムを実行して該第1の領域を診断する第4のステップと、
    該第2の領域にコピーしたスタック領域を該第1の領域にコピーする第5のステップとを含むことを特徴とする、メモリ診断方法。
  2. 該第3のステップの後、且つ、該第4のステップの前に、該メモリ内でメモリ診断プログラムが格納されている方の領域又は診断される方の領域を示すフラグを管理するステップを更に備え、
    該フラグに基づいて該第1〜第5のステップを行うことを特徴とする、請求項1記載のメモリ診断方法。
  3. 該第3のステップは、該メモリ診断プログラムとスタック領域のコピーを、該CPUが内蔵する汎用レジスタを使用して一定領域長単位で行うことを特徴とする、請求項1又は2記載のメモリ診断方法。
  4. CPUとメモリを備えたマイクロコンピュータシステムであって、
    外部からメモリ診断プログラムをダウンロードし、該メモリを2以上の領域に分けて該メモリ診断プログラムと作業領域を1つの領域に格納し、該メモリ診断プログラムの実行中に動的に作業領域を切り替えながら他の領域を診断することを繰り返すことにより該メモリの全領域を診断することを特徴とする、マイクロコンピュータシステム。
  5. コンピュータに、マイクロコンピュータシステムのメモリを診断させるプログラムであって、
    該メモリの第1の領域に格納されたメモリ診断プログラムを実行して該第1の領域とは異なる該メモリ内の第2の領域を診断させる第1の手順と、
    該第1の領域に格納されたメモリ診断プログラムとスタック領域を該第2の領域にコピーさせる第2の手順と、
    該第2の領域にコピーしたメモリ診断プログラムを実行して該第1の領域を診断させる第3の手順と、
    該第2の領域にコピーしたスタック領域を該第1の領域にコピーさせる第4の手順とをコンピュータに実行させることを特徴とする、プログラム。
JP2006080577A 2006-03-23 2006-03-23 メモリ診断方法、マイクロコンピュータシステム及びプログラム Withdrawn JP2007257271A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006080577A JP2007257271A (ja) 2006-03-23 2006-03-23 メモリ診断方法、マイクロコンピュータシステム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006080577A JP2007257271A (ja) 2006-03-23 2006-03-23 メモリ診断方法、マイクロコンピュータシステム及びプログラム

Publications (1)

Publication Number Publication Date
JP2007257271A true JP2007257271A (ja) 2007-10-04

Family

ID=38631458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006080577A Withdrawn JP2007257271A (ja) 2006-03-23 2006-03-23 メモリ診断方法、マイクロコンピュータシステム及びプログラム

Country Status (1)

Country Link
JP (1) JP2007257271A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250707A (ja) * 2009-04-17 2010-11-04 Daikin Ind Ltd マイクロプロセッサ及びモリ破損チェック方法
WO2014118910A1 (ja) * 2013-01-30 2014-08-07 三菱電機株式会社 メモリ診断装置
US9009549B2 (en) 2011-02-18 2015-04-14 Mitsubishi Electric Corporation Memory diagnostic apparatus and memory diagnostic method and program
CN107305793A (zh) * 2016-04-25 2017-10-31 中国科学院沈阳自动化研究所 一种基于硬件冗余的安全仪表高可靠性存储与诊断方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250707A (ja) * 2009-04-17 2010-11-04 Daikin Ind Ltd マイクロプロセッサ及びモリ破損チェック方法
US9009549B2 (en) 2011-02-18 2015-04-14 Mitsubishi Electric Corporation Memory diagnostic apparatus and memory diagnostic method and program
WO2014118910A1 (ja) * 2013-01-30 2014-08-07 三菱電機株式会社 メモリ診断装置
CN107305793A (zh) * 2016-04-25 2017-10-31 中国科学院沈阳自动化研究所 一种基于硬件冗余的安全仪表高可靠性存储与诊断方法

Similar Documents

Publication Publication Date Title
US7774382B2 (en) Method and apparatus for configuring a control device, and corresponding control device
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
KR100531192B1 (ko) 비휘발성 메모리의 제어방법
US6883060B1 (en) Microcomputer provided with flash memory and method of storing program into flash memory
KR930010981A (ko) 플래시메모리를 사용한 기억장치
US20100122017A1 (en) Memory controller, non-volatile memory system, and host device
JP2010020586A (ja) データ処理装置
RU2269814C2 (ru) Способ надежной записи указателя для кольцевой памяти
JP5051514B2 (ja) メモリエラーパターン記録システム、メモリエラーパターン記録方法
JP2000222292A (ja) フラッシュメモリを利用したデータ管理方法
JP2007257271A (ja) メモリ診断方法、マイクロコンピュータシステム及びプログラム
US6925522B2 (en) Device and method capable of changing codes of micro-controller
JP2017097576A (ja) 書換システム
JP5660521B2 (ja) 不揮発性半導体記憶装置およびメモリ管理方法
JPH10214203A (ja) 情報処理装置
KR100310486B1 (ko) 마이크로컴퓨터
JP4127307B2 (ja) データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置
JP5273780B2 (ja) メモリアクセス制御方法及びメモリ制御装置、コンピュータプログラム
US20060156297A1 (en) Method and device for modifying software in a control unit and corresponding control unit
JP2002007152A (ja) ダウンロード方法および装置
JPH09259046A (ja) フラッシュメモリへのデータ格納方法及びフラッシュメモリからのデータ読み込み方法
JP2006107363A (ja) 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法
JP3314719B2 (ja) フラッシュeepromとその試験方法
JP2005316667A (ja) ファームウェアの更新方法
JP2003099333A (ja) フラッシュメモリ管理システム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20101126