JP5000689B2 - マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関 - Google Patents

マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関 Download PDF

Info

Publication number
JP5000689B2
JP5000689B2 JP2009184760A JP2009184760A JP5000689B2 JP 5000689 B2 JP5000689 B2 JP 5000689B2 JP 2009184760 A JP2009184760 A JP 2009184760A JP 2009184760 A JP2009184760 A JP 2009184760A JP 5000689 B2 JP5000689 B2 JP 5000689B2
Authority
JP
Japan
Prior art keywords
message
digital data
microprocessor
data message
instruction
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.)
Expired - Fee Related
Application number
JP2009184760A
Other languages
English (en)
Other versions
JP2009259289A5 (ja
JP2009259289A (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 エステーミクロエレクトロニクス ソシエテ アノニム
Priority to JP2009184760A priority Critical patent/JP5000689B2/ja
Publication of JP2009259289A publication Critical patent/JP2009259289A/ja
Publication of JP2009259289A5 publication Critical patent/JP2009259289A5/ja
Application granted granted Critical
Publication of JP5000689B2 publication Critical patent/JP5000689B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、マイクロプロセッサの試験に関する。より具体的には、本発明は、マイクロプロセッサチップに集積化されたモニタ回路及び解析ツール間のデジタルデータ伝送の方法及び装置に関する。
図1は、マイクロプロセッサ(μP)12と、内部メモリ(MEM)14と、入力/出力ターミナル(I/O)16とを有する集積回路10を概略的に示す。マイクロプロセッサ12は、メモリ14に記憶されるプログラム又はソフトウェアを実行することを目的とする。プログラムの制御下において、マイクロプロセッサ12は、入力/出力ターミナル16により提供されるデータ又はメモリ14に記憶されるデータを処理し、入力/出力ターミナル16を介してデータの読出し又は書き込みを行うことができる。
マイクロプロセッサの正常な動作を検査するために、一般的にはモニタ回路18(TEST)が集積回路10に集積化される。モニタ回路18は、プログラム実行時にマイクロプロセッサ12により提供される特定のデータを読み出すことができ、且つ、場合によっては読み出しデータを処理することができる。試験ターミナル22は、モニタ回路18を解析ツール24に接続する。解析ツール24は、例えば、ユーザにより与えられるコマンドに従って受信信号を処理し、マイクロプロセッサ12の動作の詳細な解析を確認する。特に、解析ツール24は、マイクロプロセッサ12により実際実行されるプログラム命令シーケンスを決定することができる。
試験ターミナル22の数は、入力/出力ターミナル16の数と同規模、例えば200から400ターミナルである。モニタ回路18の接続部と試験回路22は、シリコン表面面積を大きく占め、望ましくない回路コストの増加をもたらす。このため、モニタ回路18及び試験ターミナル22を有する第1のバージョンの集積回路10は、マイクロプロセッサ12のプログラム又はユーザプログラムをデバッグするために小規模生産される。このデバッグの後、モニタ回路18及び試験ターミナル22を取り除いたバージョンの集積回路10が販売される。これは、2つのバージョンの集積回路を形成することを意味し、多大な作業量を要し、比較的高価である。更に、最終チップは試験されたチップと必ずしも同一のものではない。
上述した問題を克服するために、占める表面面積が減らされ、必要とする試験ターミナル22の数を少なくしたモニタ回路18を形成して、モニタ回路自体にかかる費用を低減することが望まれている。そのとき、モニタ回路18は最終的に販売される集積回路10に残ることができる。
よって、モニタ回路18により提供される信号数を減少させることが望まれる。このため、マイクロプロセッサ12にて測定されたデータについて、ある種の論理動作が、モニタ回路18にて直接行われ、重要な情報コンテンツを含むメッセージのみを伝送する。
よって、準備中のIEEE−ISTO−5001基準は、例えばウェブサイトwww.ieee-isto.org/Nexus5001でアクセスできる1999バージョンで、必要とする試験ターミナル22の数を少なくしたモニタ回路18のための、モニタ回路及び解析ツール間の特定のメッセージ交換プロトコルを提供する。
IEEE−ISTO−5001基準に従うモニタ回路18により提供されるメッセージの中から、プログラム追跡メッセージ及びデータメッセージが区別される。プログラム追跡メッセージは、マイクロプロセッサ12によるプログラムの実行の命令に関連した情報を提供する。それは、例えば、マイクロプロセッサ12により実行されたプログラム内でジャンプが起こったことを指示するメッセージである。データメッセージは、モニタ回路18により提供されるその他のメッセージに対応し、特に、マイクロプロセッサにより処理されるデータに関連する情報を提供する。それは、メモリ14の領域内での読み出し又は書込み動作のデータを表すメッセージである。
モニタ回路18により伝送されるプログラム追跡メッセージに基づいて、解析ツール24は、マイクロプロセッサ12により実行される命令シーケンスを再構成しようとする。再構成された命令シーケンスは、その後、マイクロプロセッサ12の誤動作を判断するために、マイクロプロセッサ12により理論的に実行される命令シーケンスと比較される。
モニタ回路18が解析ツール24へプログラム追跡及びデータメッセージを一緒に伝送するとき、解析ツール24は、一般的に、適合アルゴリズムの手段により各受信メッセージに特定のプログラムの命令を割り当てることができる。しかし、モニタ回路18のデータ伝送周波数が、モニタ回路18及び試験ターミナル22間の中間素子の形成に用いられる技術により課せられる通過域を超えるのを防ぐために、つまり、モニタ回路18の飽和を防ぐために、一般的にIEEE−ISTO−5001基準により提供されるメッセージのうち一部のみが同一のプログラム部分で伝送される。例えば、メモリ14の特定の領域に関する読み出し動作のみを解析ツール24へのメッセージ伝送の対象としてもよい。そのような例において、解析ツール24が2つのプログラム追跡メッセージ間でいくつかのデータメッセージを連続して受信するとき、2つのプログラム追跡メッセージに対応する2つのプログラム命令間に、受信データメッセージを派生させることができる多数の命令が存在すれば、特定のプログラム命令に各受信データメッセージを対応させることが困難である。対応を確立させることは、特定の場合(例えば間接アドレッシングモードが用いられるとき)においては、更に困難であり、不可能でさえある。間接アドレッシングモードの使用例は、データが書き込まれなければならない、又はデータが読み出されなければならないレジスタのアドレスを明確には有さないが、データが書き込まれなければならない、又はデータが読み出されなければならないメモリレジスタのアドレスが記憶されるレジスタのアドレスを有するプログラム命令に関連するデータの読み出し又は書き込み動作に該当する。読み出し又は書き込み動作に関連するいくつかのプログラム命令が隣接し同じレジスタを参照する場合、受信メッセージ及び対応する命令間の対応を確立することは困難であるか、不可能でさえある。
IEEE−ISTO−5001基準はまた、モニタ回路18による同期メッセージ生成時にマイクロプロセッサ12により既に実行された命令の完全なアドレスを有する、同期メッセージと称される特定のプログラム追跡メッセージの周期的な伝送を提供する。同期メッセージは、解析ツール24が、受信メッセージ及びマイクロプロセッサ12により実行されるプログラム命令の間の正しい相関を行っているか確認し、そうでなければ、相関を修正させる。同期メッセージはまた、モニタ回路18が解析ツール24へのメッセージの伝送を開始するか又は中断させるちょうどそのときに、伝送される。
解析ツール24により受信されるメッセージ及びプログラム命令の間の相関を容易にすることを可能にする方法は、同期メッセージを各データメッセージと共に伝送することから成るだろう。しかし、同期メッセージに含まれる完全なアドレスのコーディングは多大なビット数を必要とする。よって、同期メッセージのシステマティックな使用は、モニタ回路18を飽和させる危険がある。更に、既に説明されたように、同期メッセージは既にその他の目的のために解析ツール24へ周期的に又は正確な時間で伝送されている。従って、解析ツール24が、データメッセージに関連する同期メッセージと周期的に又は正確な時間で伝送された同期メッセージとを区別するのが難しくなる。
本発明は、マイクロプロセッサをモニタリングするための回路及び解析ツール間のデジタルメッセージ伝送のための装置及び方法を提供する。その装置及び方法は、解析ツールが、受信メッセージとマイクロプロセッサにより実行されるプログラムの命令との間の正しい相関を行うことを可能にする。
本発明はまた、IEEE−ISTO−5001基準により既に提供されたメッセージを変更することを必要としない。
これらの目的を達成するために、本発明は、マイクロプロセッサに集積化されるモニタ回路の出力ターミナルを介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送する方法を提供する。そのデジタルデータメッセージは、マイクロプロセッサによる命令実行時に発生する決められたイベントを表す。方法は、特定のイベントを表す前記デジタルデータメッセージのデータ読み出し又は書込み命令を表す少なくとも1つの特定のデジタルデータメッセージの伝送前又は伝送後に、特定のデジタルデータメッセージのタイプの識別子と、特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの先の特定のデジタルデータメッセージの伝送を発生させる命令の間にマイクロプロセッサにより実行される命令の数のカウンタとを有する相関メッセージを伝送するステップを有する。
本発明の実施形態によると、選択された先のメッセージは、直前の特定のメッセージである。
本発明の実施形態によると、相関メッセージは該メッセージが相関メッセージであることを示す識別子を有する。
本発明の実施形態によると、特定のデジタルメッセージはデータ読み出し又は書き込み命令を表す。
本発明の実施形態によると、特定のデジタルメッセージはマイクロプロセッサによる命令の実行から独立したイベントを表す。
本発明の実施形態によると、伝送されたデジタルメッセージは、相関メッセージに基づいて、マイクロプロセッサにより実行される命令を各伝送されたデジタルメッセージに関連させることができる解析ツールにより受信される。
本発明はまた、マイクロプロセッサに集積化されるモニタ回路の出力ターミナルを介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送する装置を提供する。そのデジタルデータメッセージは、マイクロプロセッサにより命令実行されるデータ読み出し又は書込み命令を表す。その装置は、モニタ回路により伝送されるデジタルデータメッセージが特定のタイプであるか検出する手段と、特定のタイプのデジタルデータメッセージの伝送前又は伝送後に、相関メッセージを伝送する手段とを有し、相関メッセージは、特定のデジタルデータメッセージのタイプの識別子と、特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの先の特定のデジタルデータメッセージの伝送を発生させる命令の間でマイクロプロセッサにより実行される命令の数のカウンタとを有する。
本発明の、前述又はその他の目的、特徴、及び効果は、添付図面に関連して、以下の特定の実施形態の限定しない説明において詳述される。
本発明によると、モニタ回路18は、各データメッセージの伝送前又は伝送後に相関メッセージを伝送する。相関メッセージは、既に伝送されたか又は伝送されるデータメッセージを発生させる命令と伝送済の先行データメッセージを発生させる命令との間でマイクロプロセッサ12により実行される命令の数と同数のカウンタを有する。相関メッセージにより提供されるカウンタに基づいて、解析ツール24は、既に受信されたか又は受信されるデータメッセージ及びプログラム命令の間の相関を確実な方法で実行することができる。
図2は本発明によるデジタル相関メッセージの例を示す。
相関メッセージは、固定ビット数を有し、相関メッセージを識別するコードと等しい第1のフィールドTCODEを有する。
相関メッセージの第2のフィールドSRCは、可変ビット数を有し、モニタ回路18が複数のマイクロプロセッサと同時にデータ交換するのか、又は、モニタ回路18が異なる複数のプログラムを同時に実行する同一のマイクロプロセッサとデータ交換するのかを指示する。第2のフィールドは、モニタ回路18が単一のプログラムを実行する単一のマイクロプロセッサ12に接続される場合はビットを含まない。
相関メッセージの第3のフィールドEVENTは、可変ビット数を有し、相関メッセージに関連するデータメッセージの識別子と等しい。相関メッセージに関連させることのできるデータメッセージの可能なタイプの数に従い、フィールドEVENTのサイズはより小さく又は大きくなる。最も頻繁なデータメッセージとは、例えば、読み出し又は書込み命令を表すメッセージか、マイクロプロセッサの特定の動作条件が満たされていることを指示するメッセージか、又は、マイクロプロセッサ12の動作に必ずしも依存しない特定のイベントの発生を指示するメッセージに該当する。前例において、特定のイベントとは、例えばマイクロプロセッサ12が、供給チップ10に給電するバッテリの充電レベルが決められた閾値を下回ることを指示する信号を受信することに該当する。また、それは、携帯電話技術への応用については、携帯電話の画面のブランキングを制御するための信号の伝送である。更に、IEEE−ISTO−5001基準は、ユーザが、基準により明確に提供されるメッセージに加えて個人化されたメッセージを提供することを可能にする。個人化されたメッセージは、その場合データメッセージとして考慮され、個人化されたメッセージの伝送は相関メッセージの伝送に先行されるか、又は追従される。
相関メッセージの第4のフィールドICNTは、可変ビット数を有し、相関メッセージに関連するデータメッセージを伝送させる命令及び前データメッセージを伝送させる命令の間にマイクロプロセッサ12により実行されるプログラムの命令の数を指示する。
相関メッセージは、マイクロプロセッサ12により実行されるプログラム命令が各データメッセージに対応するように解析ツール24により用いられる。この結果を達成するために、解析ツール24はまた、プログラム追跡メッセージを用い、それへのプログラム命令の割り当ては一般的には問題とならない。それにより、ユーザがモニタ回路18によるプログラム追跡メッセージの伝送機能を制止すると更なる相関メッセージは伝送されない。
相関メッセージは、あらゆるタイプのデータメッセージ又は特定のタイプのデータメッセージと共に伝送されることができる。IEEE−ISTO−5001基準によると、モニタ回路18により伝送される各メッセージは、メッセージタイプを識別するコードを有する。モニタ回路18は、メッセージ生成時に、生成されたメッセージを識別するコードを検出し、相関メッセージと生成されたメッセージとを関連させるか、又は関連させない。
本発明には多くの効果がある。
第1に、本発明は、解析ツールにより受信される各メッセージ及びマイクロプロセッサにより実行されるプログラムの命令の間での曖昧でない相関を保障することを可能にする。
第2に、本発明は、モニタ回路により伝送される追加データの数を制限することを可能にする。実際、本発明により提供される相関メッセージは、サイズをより小さくした、具体的には同期メッセージに用いられる完全な命令アドレスより小さい、命令カウンタを有する。
第3に、本発明は、受信メッセージ及びプログラム命令間の相関を確立するために、解析ツールにより用いられるアルゴリズムの単純化を可能にする。
第4に、本発明は、新しい相関メッセージの追加のみを提供するため、IEEE−ISTO−5001基準により既に提供さているメッセージを変更することを必要としない。
もちろん、本発明は、当業者であれば容易に思いつく様々な改変、変更態様及び改良を有するであろう。具体的には、それは、チップ入力/出力ターミナルを介して特定の信号を直接受信するモニタ回路のために提供されても良い。そのような信号は、発生したことを解析ツールへ指示することが望まれるイベントを、モニタ回路が検出するために用いられても良い。
マイクロプロセッサ及びモニタ装置を集積化する従来のチップの技術を示す概略図である。 本発明による、モニタ回路から解析ツールへ伝送されるメッセージの例を示す図である。
10 集積回路
12 マイクロプロセッサ
14 内部メモリ
16 入力/出力ターミナル
18 モニタ回路
22 出力ターミナル
24 解析ツール

Claims (5)

  1. マイクロプロセッサ(12)に集積化されるモニタ回路(18)の出力ターミナル(22)を介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送するための方法であって、
    前記デジタルデータメッセージは、前記マイクロプロセッサによる命令実行時に発生する決められたイベントを表し、
    前記デジタルデータメッセージの少なくとも1つの特定のデジタルデータメッセージの伝送前又は伝送後に、前記特定のデジタルデータメッセージのタイプの識別子と、前記特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの先の特定のデジタルデータメッセージの伝送を発生させる命令の間にマイクロプロセッサにより実行される命令の数のカウンタとを有する相関メッセージを伝送するステップを有し、前記特定のデジタルデータメッセージは、少なくとも、命令の実行に基づくデータ読み出し又は書込みを表すメッセージ、又は、前記マイクロプロセッサ(12)による命令の実行から独立したイベントを表すメッセージであることを特徴とする方法。
  2. 前記先の特定のデジタルデータメッセージは直前の特定のデジタルデータメッセージである、請求項1に記載の方法。
  3. 前記相関メッセージは該メッセージが相関メッセージであることを示す識別子を有することを特徴とする請求項1に記載の方法。
  4. 伝送された前記デジタルデータメッセージは、解析ツール(24)により受信され、該解析ツールは前記相関メッセージに基づいて前記マイクロプロセッサ(12)により実行される命令を各前記伝送されたデジタルメッセージに関連させることができることを特徴とする請求項1に記載の方法。
  5. マイクロプロセッサ(12)に集積化されるモニタ回路(18)の出力ターミナル(22)を介して複数のタイプの中のひとつのタイプを有するデジタルデータメッセージを伝送するための装置であって、
    前記デジタルデータメッセージは、少なくとも、前記マイクロプロセッサにより命令実行されるデータ読み出し又は書込みを表すメッセージ、又は、前記マイクロプロセッサ(12)による命令の実行から独立したイベントを表すメッセージであり、
    前記モニタ回路により伝送されるデジタルデータメッセージが特定のタイプであるか検出するための手段と、
    前記特定のタイプのデジタルデータメッセージの伝送前又は伝送後に、相関メッセージを伝送する手段とを有し、
    前記相関メッセージは、前記特定のデジタルデータメッセージのタイプの識別子と、前記特定のデジタルデータメッセージの伝送を発生させる命令及び前記特定のデジタルデータメッセージの先の特定のデジタルデータメッセージの伝送を発生させる命令の間に前記マイクロプロセッサにより実行される命令の数のカウンタとを有することを特徴とする装置。
JP2009184760A 2009-08-07 2009-08-07 マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関 Expired - Fee Related JP5000689B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009184760A JP5000689B2 (ja) 2009-08-07 2009-08-07 マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009184760A JP5000689B2 (ja) 2009-08-07 2009-08-07 マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004549242A Division JP4466372B2 (ja) 2002-10-29 2002-10-29 マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関

Publications (3)

Publication Number Publication Date
JP2009259289A JP2009259289A (ja) 2009-11-05
JP2009259289A5 JP2009259289A5 (ja) 2010-03-04
JP5000689B2 true JP5000689B2 (ja) 2012-08-15

Family

ID=41386539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009184760A Expired - Fee Related JP5000689B2 (ja) 2009-08-07 2009-08-07 マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関

Country Status (1)

Country Link
JP (1) JP5000689B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1124959A (ja) * 1997-07-02 1999-01-29 Hewlett Packard Japan Ltd マイクロプロセッサのトレース情報出力方法
JPH11353205A (ja) * 1998-06-04 1999-12-24 Ricoh Co Ltd トレースメモリ内蔵のプロセッサ
JP3583937B2 (ja) * 1998-12-28 2004-11-04 富士通株式会社 情報処理装置
US6651183B1 (en) * 1999-10-28 2003-11-18 International Business Machines Corporation Technique for referencing failure information representative of multiple related failures in a distributed computing environment
JP2001249823A (ja) * 2000-03-03 2001-09-14 Ricoh Co Ltd マイクロコンピュータ開発支援装置
JP2001320369A (ja) * 2000-05-11 2001-11-16 Mitsubishi Electric Corp 通知識別番号生成方法
JP4398102B2 (ja) * 2001-02-09 2010-01-13 富士通テン株式会社 車載用電子機器

Also Published As

Publication number Publication date
JP2009259289A (ja) 2009-11-05

Similar Documents

Publication Publication Date Title
US6668339B1 (en) Microprocessor having a debug interruption function
JP2007128132A (ja) スレッドデバッグ装置、スレッドデバッグ方法及びプログラム
JP4846493B2 (ja) デバッグシステム及びデバッグ回路
EP1172730A2 (en) One-chip system large-scale integrated circuit including processor circuit and its pheripheral circuits
CN106681877B (zh) 芯片调试系统及方法与系统芯片
CN105120259A (zh) 数字电视机检测方法及装置
US20120110383A1 (en) Method and apparatus for off-line analyzing crashed programs
JP4466372B2 (ja) マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関
JP5000689B2 (ja) マイクロプロセッサのモニタ回路により伝送されるメッセージの時間的相関
US8700826B2 (en) Controller, computer system and control method thereof
JP5286814B2 (ja) 半導体装置、携帯可能な電子装置、自己診断方法、自己診断プログラム
CN114496053A (zh) 数据异常检测方法、装置、设备及计算机可读存储介质
JP2007058450A (ja) 半導体集積回路
JP2007304972A (ja) マイクロプロセッサシステム
JP6463445B1 (ja) 車載制御装置
JP4795147B2 (ja) 伝送装置
US7673121B2 (en) Circuit for monitoring a microprocessor and analysis tool and inputs/outputs thereof
US7305512B2 (en) Programme-controlled unit with crossbar employing a diagnostic port
JP4389786B2 (ja) マイクロプロセッサの監視回路を介する汎用デジタルメッセージの伝送
CN111651381B (zh) 半导体装置与数据保护方法
JP4976817B2 (ja) プログラム処理装置及びプログラム処理方法
US7496792B2 (en) Repeat digital message transmission between a microprocessor monitoring circuit and an analyzing tool
JP2006506720A (ja) マイクロプロセッサ監視回路と分析ツール間でのデジタルメッセージの伝送
CN114138588A (zh) 一种控制器的调试信息导出方法、系统、设备以及介质
CN112948242A (zh) 嵌入式控制器的调试方法、终端设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120417

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120516

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees