技术领域 本发明涉及用于调试(debugging)系统中调试装置的许可证管理技术, 该调试系统能够从外部设备观测中央处理单元(CPU)的程序执行状态。 背景技术 按照惯例,主计算机和调试装置各自独有的装置编号用于调试系统中的 许可证管理(例如,参见No.US2002-0194477 A1(参见图1))。 在下文中,参照附图描述调试系统中的常规许可证管理。 图32是示出常规调试系统的结构的方框图。该常规调试系统包括主计 算机50,诸如键盘和鼠标之类的输入单元54,用于显示主计算机50的处理 结果的显示单元55,调试装置B,以及目标CPU60。在主计算机50与调试 装置B之间形成的连接采用诸如通用串行总线(USB)的通用主机接口,并 且它们借助于电缆相互连接。调试装置B与目标CPU60之间形成的连接采 用例如由IEEE1149.1定义的JTAG接口,并且它们借助于电缆相互连接。 主计算机50包括调试程序51和许可证信息构成文件53。调试程序51是在 主计算机50上运行的软件,而许可证判断部分52包含于由调试程序51执 行的处理之中。许可证判断部分52参考许可证信息文件53,以由此判断调 试程序的许可证是否有效。稍后将对许可证信息文件53进行描述。 调试程序51解析从输入单元54输入的调试命令,并将调试命令D11 输出给调试装置B。调试装置B将所接收的调试命令D11转换为能够发送 给目标CPU60的信号,并将目标命令D12输出给目标CPU60。目标CPU60 根据所接收的目标命令D12执行任何必需的处理,并将目标数据D13输出 给调试装置B。接收到目标数据D13的调试装置B,将调试数据D14输出 给主计算机50。接下来,调试程序51接收目标CPU60的调试信息。调试程 序51基于该调试信息执行任何必需的处理,并在显示单元55上显示相关的 结果。当激活调试程序51时,在许可证判断部分52中处理调试程序51的 许可证。稍后将对许可证判断过程进行描述。 图33是示出调试装置B的结构的方框图。调试装置B包括主通信部分 41和目标通信部分42。主通信部分41向主计算机50上的调试程序51发送 数据并从调试程序51中接收数据。目标通信部分42向目标CPU60发送数 据并从目标CPU60中接收数据。一旦从调试程序51接收到调试命令D11, 主通信部分41就将内部信号S21输出给目标通信部分42。向其输出内部信 号S21的目标通信部分,将所输入的内部信号S21转换为JTAG命令,并将 目标命令D12输出给目标CPU60。目标通信部分42从目标CPU60接收目 标数据D13,并将内部信号S22输出给主通信部分41。向其输入内部信号 22的主通信部分41将调试数据D14输出给调试程序51。 调试装置B从主计算机50和目标CPU60发送并从中接收信号,但不负 责许可证管理。主计算机50中的许可证判断部分52负责许可证管理。 如图34所示,以这样的文本文件格式来存储许可证信息文件53,例如 作为目标CPU60的产品类型信息的“TARGET_TYPE=MN10XXXX”,作 为许可证有效期限的“GOODTHRU=2005/12/31”,作为用户名称的“USER =TARO_MATSUSHITA”,以及作为密码的“PASSWORD=********”。 参照图35的流程图,对由调试程序51执行的许可证判断过程进行描述。 当用户请求调试程序的激活时,该过程转移到步骤p1以便开始。 在步骤p2中,读取许可证信息文件53。 在步骤p3中,检查所读取的许可证信息文件53是否有效,并且此后, 检查当前该许可证是否有效。当许可证有效时,该过程前进到步骤p4,而 当其无效时,前进到步骤p5。 在步骤p4中,激活调试程序51。 在步骤p5中,在显示单元55上显示许可证错误。图36示出了许可证 错误的显示。当许可证判断过程发生错误时,调试程序51的软件在显示单 元55上显示错误消息55a,并由此来控制调试程序51的激活。 如所描述的那样,在主计算机50上,用许可证信息文件53来判断许可 证信息的有效性。接下来,当许可证信息有效时,激活调试程序51,而当 无效时,则中断该过程,以便控制调试程序51的激活。 以上所述的常规技术,其中用于调试程序许可证管理的许可证信息管理 文件53处于包括输入单元(键盘和鼠标)54在内的主计算机50内部,该 技术包括这样的风险,当通过输入单元54伪造或非法复制文件中的信息时, 会很容易地非法使用该调试程序。 发明内容 因此,本发明的主要目的是提供一种能够执行高安全性许可证管理的调 试装置,其中调试程序的许可证信息不能够被很容易地伪造和非法使用。 根据本发明的调试装置包括主通信部分,用于向主计算机发送和从该主 计算机中接收数据;目标通信部分,用于向作为要调试对象的目标CPU发 送和从该目标CPU中接收数据;外部存储介质,用于存储用于鉴别该存储 介质的唯一识别码和加密许可证信息;以及控制部分,用于使用预定的密钥 来对该许可证信息进行解码,并使用该识别码来判断该许可证信息是否有 效。 根据前述结构,加密许可证信息被存储在该外部存储介质中,并且该密 钥被用来对调试装置中的许可证信息进行解码,在该调试装置中不提供输入 装置。这样的结构使得第三方难以对该许可证信息解码。结果,能够以高安 全等级来执行该调试程序的许可证管理。 如以上所构造的调试装置实际上还包括时间管理部分,用于管理时间和 日期。如此构造的调试装置能够管理其中提供的时间管理部分中的日期和时 间,以由此以高安全等级来管理许可证有效期限。 如以上所构造的调试装置实际上还包括网络部分,用于向外部网络线路 发送和从外部网络线路接收数据。如此构造的调试装置能够向其中提供的网 络部分中的外部网络线路发送和从该外部网络线路中接收数据,以由此以高 安全等级来更新该许可证。 在前述结构中,目标CPU包括唯一识别码,用于识别该目标的产品类 型。由此,能够执行与该目标CPU一致的调试程序的许可证管理。 以下是前述结构中许可证信息的优选模式。 根据第一模式,该许可证信息包括许可证有效期限信息,表示该调试程 序和调试装置能够使用的期限。由此,能够管理许可证有效期限信息,该信 息表示调试程序和调试装置可以使用的期限。 根据第二模式,该许可证信息包括激活允许频率信息,表示允许激活该 调试程序的次数。由此,能够管理允许激活该调试程序的次数。 根据第三模式,该许可证信息包括命令使用设置信息,表示在使用调试 命令中存在或不存在限制。由此,能够管理使用调试命令中的限制的存在或 不存在。 根据第四模式,该许可证信息包括命令使用允许信息,表示允许使用的 调试命令。由此,能够管理允许使用的调试程序的调试命令。 根据第五模式,该许可证信息包括命令使用不允许信息,表示不允许使 用的调试命令。由此,能够管理不允许使用的调试程序的调试命令。 根据第六模式,该许可证信息包括对应产品类型信息,表示能够由该调 试程序调试的CPU的产品类型。由此,能够管理能由该调试程序调试的CPU 的产品类型。 根据第七模式,该许可证信息包括唯一用户ID信息,用于识别用户。 由此,能够管理可用来识别用户的唯一用户ID。 根据第八模式,该许可证信息包括唯一主机使用允许信息,用于识别被 允许连接至该调试装置的主计算机。由此,能够管理被允许连接至该调试装 置的主计算机。 根据第九模式,该许可证信息包括命令执行频率信息,表示该调试命令 能够被执行的次数。由此,能够管理该调试程序的调试命令被允许使用的次 数。 附图说明 通过以下对本发明优选实施例的描述,本发明的这些和其他目的以及优 点将变得清楚明白。基于本发明的实施,本说明书中未列举的大量益处将得 到本领域技术人员的关注。 图1是说明根据本发明第一优选实施例的调试系统的结构的方框图。 图2是说明根据第一优选实施例的调试装置的结构的方框图。 图3示出根据第一优选实施例的外部存储介质识别码的结构。 图4示出根据第一优选实施例的密钥的结构。 图5示出根据第一优选实施例的目标ID信息的结构。 图6示出根据第一优选实施例的加密许可证信息的结构。 图7示出根据第一优选实施例的许可证数据的结构。 图8示出根据第一优选实施例的包括有效期限信息在内的许可证数据 的结构。 图9示出根据第一优选实施例的包括激活允许频率信息在内的许可证 数据的结构。 图10示出根据第一优选实施例的包括命令使用设置信息在内的许可证 数据的结构。 图11示出根据第一优选实施例的包括命令使用允许信息在内的许可证 数据的结构。 图12示出根据第一优选实施例的包括命令使用不允许信息在内的许可 证数据的结构。 图13示出根据第一优选实施例的包括对应产品类型信息在内的许可证 数据的结构。 图14示出根据第一优选实施例的包括外部存储介质识别码信息在内的 许可证数据的结构。 图15示出根据第一优选实施例的包括用户信息在内的许可证数据的结 构。 图16示出根据第一优选实施例的包括主机使用允许信息在内的许可证 数据的结构。 图17示出根据第一优选实施例的包括命令执行频率信息在内的许可证 数据的结构。 图18是根据第一优选实施例的许可证信息判断过程的(第一)流程图。 图19是根据第一优选实施例的许可证信息判断过程的(第二)流程图。 图20示出根据第一优选实施例当输入用户信息时的窗口显示。 图21示出根据第一优选实施例当许可证无效时的错误显示。 图22是根据第一优选实施例当处理调试命令时许可证信息判断过程的 流程图。 图23是说明根据本发明第二优选实施例的调试装置的结构的方框图。 图24是根据第二优选实施例的许可证信息判断过程的(第一)流程图。 图25是根据第二优选实施例的许可证信息判断过程的(第二)流程图。 图26是说明根据本发明第三优选实施例的调试系统的结构的方框图。 图27是说明根据本发明第三优选实施例的调试装置的结构的方框图。 图28是根据第三优选实施例的调试装置中的许可证信息更新过程的流 程图。 图29示出根据第三优选实施例当更新许可证信息时的窗口显示。 图30示出根据第三优选实施例当许可证更新失败时的消息显示。 图31示出根据第三优选实施例当许可证更新完成时的消息显示。 图32是说明根据常规技术的调试系统的结构的方框图。 图33是说明根据常规技术的调试装置的结构的方框图。 图34示出根据常规技术的许可证信息文件。 图35是根据常规技术的调试系统中许可证判断过程的流程图。 图36示出根据常规技术的当调试系统中的许可证无效时的错误显示。 具体实施方式 在下文中,将参照附图,详细描述根据本发明的包括调试装置的调试系 统的优选实施例。 第一优选实施例 参照图1至图22,描述本发明的第一优选实施例。 图1是说明根据本发明第一优选实施例的调试系统的结构的方框图。该 调试系统包括主计算机20,输入单元23,显示单元24,调试装置A1,以 及目标CPU30。主计算机20包括调试程序21和MAC地址信息22,该调试 程序21作为在主计算机20上运行的软件,该MAC地址信息22作为用于 识别主计算机20的唯一识别码。调试程序21对从输入单元23输入的命令 进行解析,并将调试命令D1输出给调试装置A1。已接收到调试命令D1的 调试装置A1对调试命令D1执行预定处理,并且将目标命令D2输出给目标 CPU30。接收到目标命令D2的目标CPU30,对目标命令D2执行预定处理, 并且将目标命令D3输出给调试装置A1。目标CPU30包括唯一目标ID信息 31,其用于识别该目标的产品类型。调试装置A1接收目标数据D3,并且相 应地执行对该目标数据D3的预定处理,并将调试数据D4输出给调试程序 21。 图2是说明调试装置A1的结构的方框图。调试装置A1包括主通信部 分1,CPU2,目标通信部分5,以及外部存储介质6。CPU2包括控制软件3 和密钥4。外部存储介质6包括外部存储介质识别码7以及加密许可证信息 8。 当从调试程序21中接收到调试命令D1时,主通信部分1向CPU2输出 内部信号S1。向其输入内部信号S1的CPU2,执行预先存储在其中的控制 软件3,将内部信号S2输出给外部存储介质6,并将内部信号S3输出给目 标通信部分5。从CPU2向其输入内部信号S2的外部存储介质6,对该内部 信号S2执行预定处理,并将内部信号S4输出给CPU2。当相对于调试装置 A1插入或拨出外部存储介质6时,外部存储介质6生成内部信号S5,并将 它作为中断信号发送至CPU2。目标通信部分5将从CPU2输入的内部信号 S3转换为JTAG命令,并将目标命令D2输出给目标CPU30。当从目标CPU30 中接收目标数据D3时,目标通信部分5还将内部信号S6输出给CPU2。CPU2 执行与向其输入的内部信号S4、S5和S6中的每一个相对应的预定处理,并 将内部信号S7输出给主通信部分1。从CPU2向其输入内部信号S7的主通 信部分1,将调试数据D4输出给调试程序21。调试程序21将调试命令D1 输出给调试装置A1,并从调试装置A1接收调试数据D4,以由此获取目标 CPU30的内部信息,并在显示单元24上显示所获取的信息。由此,能够向 调试程序的用户显示该调试信息,从而能够调试在目标CPU30上运行的软 件。 图3示出了外部存储介质识别码7的结构。外部存储介质识别码7是用 于识别外部存储介质6的唯一识别码,具有32比特(4字节)的值,并指 示出外部存储介质6的产品编号信息。在图3中,将值“0x01234567”存储 为外部存储介质识别码7。 图4示出了与控制软件3合并为一体的密钥4的结构。密钥4用来对存 储在外部存储介质6中的加密许可证信息进行解码,并且具有128比特(16 字节)的值。以这样的方式对许可证信息8进行解码,以便获取相对于密钥 4的异或逻辑(exclusive OR)。在图4中,将值 “0x123456789ABCDEFFEDCBA9876543210”存储为密钥。密钥4具有128 比特的长度,从而使得实际上不可能对该密钥进行解码,因为以循环方式来 解码如此长度的密钥将花费长达天文数字的时间。 图5示出了图1中所示目标CPU30中的目标ID信息31的结构。在图 5中,示出了4字节的数值,“0x11”、“0x22”、“0x30”以及“0x65”。 图6示出了加密许可证信息8的结构。许可证信息8具有包括多个集合 在内的结构,每一个集合中均对4字节的位置信息和许可证数据进行了配 对,以便对应于可变长度信息和可变数字信息。用终结符Se表示数值为“0” 的位置信息,该终结符表示信息的末端。在终结符Se之后,将这些信息之 和存储为4字节数值的校验和Ss。 第一许可证信息81包括第一位置信息和第一许可证数据。第二许可证 信息82包括第二位置信息和第二许可证数据。第三许可证信息83包括第三 位置信息和第三许可证数据。第m许可证信息8m包括第m位置信息和第m 许可证数据。每个位置信息均具有4个字节,并且每个许可证数据均具有n 个字节。附图标记8e表示4字节的末端,而附图标记8s表示4字节的校验 和。 如图7所示,许可证数据包括如图7中所示的1字节的许可证信息产品 类型8a,以及k字节的许可证附加信息8b。许可证信息产品类型8a包含有 效期限信息、激活允许频率信息、命令使用设置信息、命令使用不允许信息、 对应产品类型信息、外部存储介质识别码信息、用户信息和主机使用允许信 息,并且前述信息中的每一个均包含附加信息。 有效期限信息的附加信息包含有效期限“年/月/日”。激活允许频率的 附加信息包含允许激活的剩余次数。命令使用设置的附加信息包含标志信 息,该标志信息表示命令使用允许(默认值表示命令使用允许)和命令使用 不允许(默认值表示命令使用不允许)。命令使用允许的附加信息包含要允 许的命令名和选项名。命令使用不允许的附加信息包含不允许的命令名和选 项名。对应产品类型信息的附加信息包含相应的产品类型名称。外部存储介 质识别码信息的附加信息包含外部存储介质的识别码。用户信息的附加信息 包含用户名和密码。主机使用允许信息的附加信息包含允许使用的主计算机 的MAC地址。 参照图8至17,描述许可证数据的结构。 图8示出了包含有效期限信息的许可证数据的结构。代表有效期限信息 的1字节的许可证信息产品类型8a具有固定值“0x01”。4字节的许可证附 加信息8b包括每一字节分为一段的b11、b12、b13和b14。b11代表有效期 限的“年的较高两位数字”,b12代表有效期限的“年的较低两位数字”, b13代表有效期限的“月”,b14代表有效期限的“日”。基于b11为“0x14”, b12为“0x05”,b13为“0x0C”,而b14为“0x1F”,有效期限为“2005 年12月31日”。 图9示出了包含激活允许频率信息的许可证数据的结构。代表激活允许 频率信息的1字节的许可证信息产品类型8a具有固定值“0x02”。4字节的 许可证附加信息8b包括每一字节分为一段的b21、b22、b23和b24,它们 代表允许激活的次数。基于b21为“0x00”,b22为“0x00”,b23为“0x00”, 而b24为“0x05”,则允许激活的次数为“5”。每当调试程序21上的软件 相对于调试装置A1请求激活时,允许激活的次数减1。当该信息达到“0” 后,不再激活调试程序。 图10示出了包含命令使用设置信息的许可证数据的结构。代表命令使 用设置信息的1字节的许可证信息产品类型8a具有固定值“0x03”。1字节 的许可证附加信息8b代表命令使用设置,其中在“0x00”的情况下将默认 值设置为命令使用允许,并且在“0xFF”的情况下将默认值设置为命令使用 不允许。在图10所示出的“0x00”的例子中,将默认值设置为命令使用允 许。 图11示出了包含命令使用允许信息的许可证数据的结构。代表命令使 用允许信息的1字节的许可证信息产品类型8a具有固定值“0x04”。5字节 的许可证附加信息8b包括每一字节分为一段的b31、b32、b33、b34和b35, 在它们当中的每一个中均存储有表示ASCII字符和命令名末端的代码 “0x00”。在该图所示的例子中,b31为代表字符串“E”的“0x45”,b32 为代表字符串“V”的“0x56”,b33为代表字符串末端的“0x00”,b34 为代表字符串“X”的“0x58”,并且b35为代表字符串末端的“0x00”, 它指示了允许使用的EV命令的X选项。在前述说明中,允许EV命令的单 个命令。然而,在允许使用多个命令的情况下,能够在进一步添加许可证信 息产品类型8a和许可证附加信息8b时,设置命令使用允许。 图12示出了包含命令使用不允许信息的许可证数据的结构。代表命令 使用不允许信息的1字节的许可证信息产品类型8a具有固定值“0x05”。5 字节的许可证附加信息8b包括每一字节分为一段的b41、b42、b43、b44和 b45,在它们当中的每一个中均存储有表示ASCII字符和命令名的末端的代 码“0x00”。在该图所示的例子中,b41为代表字符串“E”的“0x45”, b42为代表字符串“V”的“0x56”,b43为代表字符串末端的“0x00”, b44为代表字符串“X”的“0x58”,而b45为代表字符串末端的“0x00”, 它指示了不允许使用的EV命令的X选项。在前述说明中,不允许EV命令 的单个命令。然而,在不允许使用多个命令的情况下,能够在进一步添加许 可证信息产品类型8a和许可证附加信息8b时,设置命令使用不允许。 图13示出了包含对应产品类型信息的许可证数据的结构。代表对应产 品类型信息的1字节的许可证信息产品类型8a具有固定值“0x06”。包括 b51、b52、b53和b54在内的4字节的许可证附加信息8b表示具有该许可 证的对应产品类型信息的识别编号(该识别编号例如是由IEEE1149.1定义 的JTAG的ID代码)。在该图所示的例子中,将“0x11223365”设置为具 有该许可证的对应产品类型信息。 图14示出了包含外部存储介质识别码信息的许可证数据的结构。代表 外部存储介质识别码信息的1字节的许可证信息产品类型8a具有固定值 “0x07”。包括b61、b62、b63和b64在内的4字节的许可证附加信息8b, 将用于识别该外部存储介质的唯一识别码存储在其中,其一个例子就是外部 存储介质的产品编号。在该图所示的例子中,将“0x1234567”设置为该识 别码。 图15示出了包含用户信息在内的许可证数据的结构。代表用户信息的 1字节的许可证信息产品类型8a具有固定值“0x08”。5字节的许可证附 加信息8b包括每一字节分为一段的b71、b72、b73、b74和b75,在它们当 中的每一个中均存储有表示ASCII字符和命令名的末端的代码“0x00”。在 该图所示的例子中,b71为代表字符串“A”的“0x41”,b72为代表字符 串末端的“0x00”,b73为代表字符串“0”的“0x30”,b74为代表字符串 “1”的“0x31”,而b75为代表字符串末端的“0x00”。因此,存储该信 息,其中用户名为“A”,密码为“01”。 图16示出了包含主机使用允许信息的许可证数据的结构。代表主机使 用允许信息的1字节的许可证信息产品类型8a具有固定值“0x00”。包括 b81、b82、b83、b84、b85和b86在内的6字节的许可证附加信息8b将允 许使用调试装置A1的主计算机的MAC地址值“00096B000000”存储在其 中。因此,不具有前述MAC地址值的任何主计算机均不允许被连接。 图17示出了包含命令执行频率信息的许可证数据的结构。代表命令执 行频率信息的1字节的许可证信息产品类型8a具有固定值“0x0A”。包括 b91、b92、b93和b94在内的4字节的许可证附加信息8b,表示执行可执行 命令的次数。在该图所示的例子中,示出了“0x00000064”,其指示了该命 令能够执行100次。每一次从该调试程序接收到用于命令执行的请求时,调 试装置A1将命令执行频率信息减“1”。当命令执行频率达到“0”时,调 试装置A1控制调试命令的执行。 接下来,参照图18和19的流程图,描述由调试装置A1执行的许可证 信息判断过程的操作。 更具体地讲,许可证信息判断过程由预先存储在调试装置A1中的控制 软件3执行。当用户指示激活调试程序21时,或者相对于调试装置A1插 入或拔出外部存储介质6时,步骤n1开始。 在步骤n2中,从外部存储介质6中获取外部存储介质识别码7和加密 许可证信息8。 在步骤n3中,以这样的方式对许可证信息进行解码,以便获取所获取 的许可证信息8相对于密钥4的异或逻辑。 在步骤n4中,计算所解码的许可证信息的校验和值。 在步骤n5中,判断所计算的校验和值是否等于所解码的许可证信息中 包含的“校验和值”。当两个值彼此不等时,该过程前进到步骤n22,而当 它们彼此相等时,前进到步骤n6。 在步骤n6中,判断所获得的外部存储介质识别码是否与所解码的许可 证信息中包含的“外部存储介质识别码”相一致。当两个代码彼此不一致时, 该过程前进到步骤n22,而当它们彼此一致时,前进到步骤n7。 在步骤n7中,判断所解码的许可证信息中包含的“有效期限信息”的 存在/不存在。当该信息存在时,该过程前进到步骤n8,而当该信息不存在 时,前进到步骤n10。 在步骤n8中,从主计算机20中获取当前时间和日期。 在步骤n9中,将所解码的许可证信息中包含的“有效期限信息”与所 获取的当前时间和日期进行比较。当有效期限信息表示有效期限未过期时, 该过程前进到步骤n10,而当确认了有效期限过期,并由此将许可证判断为 无效时,前进到步骤n22。 在步骤n10中,判断所解码的许可证信息中包含的“激活允许频率”的 存在/不存在。当该信息存在时,该过程前进到步骤n11,而当该信息不存在 时,前进到步骤n12。 在步骤n11中,判断所解码的许可证信息中包含的“激活允许频率”是 否至少为“1”。当该频率至少为“1”时,该过程前进到步骤n12,而当该 频率低于“1”时,前进到步骤n22。 在步骤n12中,判断所解码的许可证信息中包含的“对应产品类型信息” 的存在/不存在。当该信息存在时,该过程前进到步骤n13,而当该信息不存 在时,前进到步骤n15。 在步骤n13中,获取出现在目标CPU30上的目标ID信息31。 在步骤n14中,判断所获取的目标ID信息是否与所解码的许可证信息 中包含的“对应产品类型信息”相一致。当这些信息彼此一致时,该过程前 进到步骤n15,而当它们彼此不一致时,前进到步骤n22。 在步骤15中,判断所解码的许可证信息中包含的“可用主机信息”的 存在/不存在。当该信息存在时,该过程前进到步骤n16,而当该信息不存在 时,前进到步骤n18。 在步骤n16中,获取出现在主计算机20上的Mac地址信息22。 在步骤n17中,判断所获取的Mac地址信息是否与所解码的许可证信 息中包含的“可用主机信息”相一致。当这些信息彼此一致时,该过程前进 到步骤n18,而当它们彼此不一致时,前进到步骤n22。 在步骤n18中,判断所解码的许可证信息中包含的“用户信息”的存在 /不存在。当该信息存在时,该过程前进到步骤n19,而当该信息不存在时, 前进到步骤n21。 在步骤n19中,请求将用户信息输入给主计算机20,并由此获取该用 户信息。稍后将详细描述用户信息的输入。 在步骤n20中,判断所获取的用户信息是否与所解码的许可证信息中包 含的“用户信息”相一致。当这些信息彼此一致时,该过程前进到步骤n21, 而当它们彼此不一致时,前进到步骤n22。 在步骤n21中,将所获取的许可证信息判断为有效,并将许可证允许信 号作为图2所示的内部信号S7,输出给主通信部分1。主通信部分1将许可 证允许信号S7输入至其中,并将激活允许信号作为调试数据D4输出给调 试程序21。响应于激活允许信号D4的接收而激活调试程序21,从而将用 于输入GUI数据和调试程序的调试命令的窗口数据输出给显示单元24。该 显示单元24通过调试程序的GUI的显示,将调试程序的成功激活通知给用 户。 在步骤n22中,将所获取的许可证信息判断为无效,并将许可证不允许 信号作为图2所示的内部信号S7,输出给主通信部分1。主通信部分1将许 可证不允许信号S7输入至其中,并将激活不允许信号作为调试数据D4输 出给调试程序21。当接收激活不允许信号D4时,不激活调试程序21,并 向用户通知在显示单元24上显示的许可证错误。 图20示出了当输入用户信息时的窗口显示。当许可证信息8中包含用 户信息时,当激活调试程序时在显示单元24上显示用户信息输入窗口24a。 用户将他/她的用户名输入到图中的24b,将他/她的密码输入到图中的24c, 从而能够对他/她进行验证。 图21示出了当许可证无效时的错误显示。当参照图18和19进行描述 的许可证判断过程在调试程序激活时出现故障的时候,调试程序21在显示 单元24上显示错误消息24d,以由此控制调试程序的激活。 如所描述的那样,当执行图18和19所示的许可证信息判断过程时,在 激活调试程序时,以及在相对于调试装置A1插入或拔出外部存储介质6时, 强制使该许可证无效。因此,通过使用外部存储介质6的识别码、许可证信 息8和密钥4,调试程序的许可证管理能够获得高安全性能。 接下来描述每当调试装置A1从调试程序21中接收调试命令D1时,对 有效许可证的存在/不存在所进行的判断。 图22是在处理调试命令时许可证信息判断过程的流程图。该许可证信 息判断过程由控制软件3执行。在将调试命令D1输入给调试装置A1时, 控制软件3启动该过程的执行,并将该过程转移到步骤n31。 在步骤n32中,分析所接收的调试命令,该过程前进到步骤n33。 在步骤n33中,判断图18和19所示的步骤n3中解码的许可证信息是 否包含“命令使用设置信息”(参见图10)。当包含该信息时,该过程前 进到步骤n34,而当不包含该信息时,前进到步骤n39。 在步骤n34中,判断图10所示的许可证信息附加信息8b的数值“0x00” 与步骤n3中解码的“命令使用设置信息”是否相互一致。当这些信息彼此 一致时,该过程前进到步骤n35,而当它们彼此不一致时,前进到步骤n37。 在步骤n37中,判断步骤n3中解码的许可证信息中包含的“命令使用 允许信息”的存在/不存在。当该信息存在时,该过程前进到步骤n38,而当 该信息不存在时,前进到步骤n43。 在步骤n38中,判断所接收的调试命令是否包含于所获取的命令使用允 许信息中。将其中包含的调试命令判断为允许的调试命令,而该过程接下来 前进到步骤n39。将其中不包含的调试命令判断为不允许的调试命令,而该 过程接下来前进到步骤n43。 在步骤n35中,判断步骤n3中解码的许可证信息中包含的“命令使用 不允许信息”的存在/不存在。当该信息存在时,该过程前进到步骤n36,而 当该信息不存在时,前进到步骤n39。 在步骤n36中,判断所接收的调试命令是否与步骤n3中解码的许可证 信息中包含的“命令使用不允许信息”相互一致。当这些信息彼此一致时, 该过程前进到步骤n43,而当它们彼此不一致时,前进到步骤n39。 在步骤n39中,判断步骤n3中解码的许可证信息中包含的“命令执行 频率信息”的存在/不存在。当该信息存在时,该过程前进到步骤n40,而当 该信息不存在时,前进到步骤n42。 在步骤n40中。判断所获取的命令执行频率是否至少为“1”。在至少 为“1”的情况下,该过程前进到步骤n41,而在低于“1”的情况下,前进 到步骤n43。 在步骤n41中,从所获取的命令执行频率信息中减去“1”,以便更新 命令执行频率信息。接下来,该过程前进到步骤n42。 在步骤n42中,执行该调试命令。在步骤n43中,向主计算机通知该许 可证错误。 如同到目前为止所描述的,根据第一优选实施例,每当接收到调试命令 时,调试装置A1检查是否出现有效的许可证。接下来,起动与要调试的目 标CPU30之间的通信,以便仅在出现有效许可证时执行该调试命令,而在 没有有效许可证时,将许可证错误发送给主计算机20,从而完全避免调试 命令的执行。 第二优选实施例 参照图23至25,描述本发明的第二优选实施例。 图23是说明根据第二优选实施例的调试装置A2的结构的方框图。进 一步配备有时间管理部分9的在第一优选实施例中描述的调试装置A1构成 了调试装置A2。除了时间管理部分9以外的所有部件都与根据第一优选实 施例的调试装置A1的那些部件相同。在图2的例子中示出的其他同样的部 件,拥有相同的参考标记,并且在这里不再进行描述。 时间管理部分9负责管理时间和日期,并且举例来说,可以将其比作由 电池支持其运行的时钟。时间管理部分9适用于当请求获取时间和日期的信 号S8从CPU2输入至其中时,将当前时间/日期信息S9返回给CPU2。在第 一优选实施例中,主计算机20负责管理时间和日期,然而,在第二优选实 施例中,调试装置A2负责管理时间和日期。 接下来,参照流程图24和25,描述由调试装置A2执行的许可证信息 判断过程的操作。 当从调试程序21接收激活命令时,或者相对于调试装置A2插入或拔 出外部存储介质6时,控制软件3转移到步骤n51,以开始该过程。 在步骤n52中,从外部存储介质6中获取外部存储介质识别码7和加密 许可证信息8,并且该过程前进到步骤n53。 在步骤n53中,以这样的方式对所获取的许可证信息8进行解码,以便 获取该许可证信息8相对于密钥4的异或逻辑,并且该过程前进到步骤n54。 在步骤n54中,计算所解码的许可证信息的校验和值,并且该过程前进 到步骤n55。 在步骤n55中,判断所计算的校验和值是否等于所解码的许可证信息中 包含的“校验和值”。该过程进行到步骤n72,其中当它们彼此不等时,将 该许可证判断为无效,并终止该过程,而当它们彼此相等时,前进到步骤 n56。 在步骤n56中,判断所获得的外部存储介质识别码是否与所解码的许可 证信息中包含的“外部存储介质识别码”相一致。当这些信息彼此不一致时, 该过程前进到步骤n72,而当它们彼此一致时,前进到步骤n57。 在步骤n57中,判断所解码的许可证信息中包含的“有效期限信息”的 存在/不存在。当该信息存在时,该过程前进到步骤n58,而当该信息不存在 时,前进到步骤n60。 在步骤n58中,从时间管理部分9中获取当前时间和日期,并且该过程 前进到步骤n59。 在步骤n59中,将所获取的当前时间和日期与所解码的许可证信息中包 含的“有效期限信息”进行比较。当有效期限信息表示有效期限未过期时, 该过程前进到步骤n60,而当确认了有效期限过期时,前进到步骤n72,其 中将该许可证判断为无效,并终止该过程。 在步骤n60中,判断所解码的许可证信息中包含的“激活允许频率信息” 的存在/不存在。当该信息存在时,该过程前进到步骤n61,而当该信息不存 在时,前进到步骤n62。 在步骤n61中,判断所解码的许可证信息中包含的“激活允许频率”是 否至少为“1”。在至少为“1”的情况下,该过程前进到步骤n62,而在低 于“1”的情况下,前进到步骤n72,其中将该许可证判断为无效,并终止 该过程。 在步骤n62中,判断所解码的许可证信息中包含的“对应产品类型信息” 的存在/不存在。当该信息存在时,该过程前进到步骤n63,而当该信息不存 在时,前进到步骤n65。 在步骤n63中,获取出现在目标CPU30上的目标ID信息31,并且该 过程前进到步骤n64。 在步骤n64中,判断所获取的目标ID信息是否与所解码的许可证信息 中包含的“对应产品类型信息”相一致。当这些信息彼此一致时,该过程前 进到步骤n65,而当它们彼此不一致时,前进到步骤n72,其中将该许可证 判断为无效,并终止该过程。 在步骤65中,判断所解码的许可证信息中包含的“主机使用允许信息” 的存在/不存在。当该信息存在时,该过程前进到步骤n66,而当该信息不存 在时,前进到步骤n68。 在步骤n66中,获取出现在主计算机20上的MAC地址信息22,并且 该过程前进到步骤n67。 在步骤n67中,判断所获取的MAC地址信息是否与所解码的许可证信 息中包含的“可用主机信息”相一致。当这些信息彼此一致时,该过程前进 到步骤n68,而当它们彼此不一致时,前进到步骤n72,其中将该许可证判 断为无效,并终止该过程。 在步骤n68中,判断所解码的许可证信息中包含的“用户信息”的存在 /不存在。当该信息存在时,该过程前进到步骤n69,而当该信息不存在时, 前进到步骤n71。 在步骤n69中,当输入用户信息时,在显示单元24上显示图20所示的 窗口,并且请求用户输入用户信息,从而获取用户信息。当用户信息的输入 完成时,该过程前进到步骤n70。 在步骤n70中,判断所获取的用户信息是否与所解码的许可证信息中包 含的“用户信息”相一致。当这些信息彼此一致时,该过程前进到步骤n71, 而当它们彼此不一致时,前进到步骤n72。 在步骤n71中,将该许可证判断为有效,并将图23所示的许可证允许 信号S7输出给主通信部分1。当输入许可证允许信号S7时,主通信部分将 调试数据D4(激活允许信号)输出给调试程序21。响应于激活允许信号D4 的接收而激活调试程序21,并将用于输入GUI数据和调试程序的调试命令 的窗口数据输出给显示单元24。该显示单元24接收用于输入GUI数据和调 试命令的窗口数据,然后显示该调试程序的GUI,以由此向用户通知调试程 序被正常激活。 在步骤n72中,将该许可证信息判断为无效,并将许可证不允许信号S7 输出给主通信部分1。当输入许可证不允许信号S7时,主通信部分1将调 试数据D4(激活不允许信号)输出给调试程序21。当接收激活不允许信号 D4时,不激活调试程序21,并在显示单元24上显示许可证错误的生成, 以便通知用户。 如所描述的那样,在执行图24和25中所示的过程时,当激活调试程序 时,以及当相对于调试装置A2插入或拔出外部存储介质6时,强制使该许 可证无效。因此,通过使用外部存储介质6的识别码、许可证信息8和密钥 4,调试程序的许可证管理能够获得高安全性能。 此外,当执行参照图22所描述的过程时,每当调试装置A2从调试程 序21接收调试命令时,能够判断有效许可证的存在/不存在。 如同到目前为止所描述的,根据第二优选实施例,每当接收调试命令时, 调试装置A2检查是否出现有效的许可证。接下来,起动与要调试的目标 CPU30之间的通信,以便仅在出现有效许可证时执行该调试命令。另外,将 有效许可证的不存在之中的许可证错误通知给主计算机20,以便完全阻止 调试命令的执行。此外,在调试装置A2中配备时间管理部分9,以便获取 当前时间和日期。因而,如第一优选实施例所述,为了判断有效期限,从主 计算机20中获取当前时间和日期将变得不再必要。由此,能够便于调试程 序有效期限的管理。 第三优选实施例 参照图26至31,描述本发明的第三优选实施例。 图26是说明根据第三优选实施例的调试系统的结构的方框图。在图26 中,根据第三优选实施例的调试系统,其特征在于在第一优选实施例所述的 图1的调试系统中进一步配备外部网络连接单元11和许可证信息授予服务 器12。外部网络连接单元11充当连接器,用于提供至外部网络的连接。许 可证信息授予服务器12更新用于调试程序的用户的许可证信息。基于来自 调试装置A3的指令,操作外部网络连接单元11和许可证信息授予服务器 12。稍后将详细描述许可证信息的更新。 图27是说明根据第三优选实施例的调试装置A3的结构的方框图。调 试装置A3的特征在于,在第一优选实施例所描述的图2的调试装置A1中 进一步配备网络通信部分10。网络通信部分10响应于从CPU2中接收到的 许可证更新处理请求S10,将许可证更新信息D5输出给外部网络连接单元 11。 图28是调试装置A3中许可证信息更新过程的流程图。在图28所示的 许可证信息更新过程中,调试装置A3中的控制软件3不断地执行步骤n81。 当剩余许可证有效期限小于一个月时,该过程前进到步骤n82,而当剩余许 可证有效期限至少为一个月时,该过程前进到步骤n94,以便终止该过程。 在步骤n82中,向主计算机20做出许可证更新请求,该过程前进到步 骤n83。 在步骤n83中,当主计算机20从调试装置A3中接收许可证更新过程 的请求时,主计算机20向用户显示用于执行许可证更新程序的窗口,并且 该过程前进到步骤n84。图29中示出了用于执行许可证更新程序的窗口。 在图29中,当执行步骤n84时,在主计算机20的显示单元24上显示用 于过程更新的窗口24e。在本例中,选择用于许可证延长期以及要更新其许可 证的对象,并指定支付方法。在所示条件下更新许可证信息的情况下,当按压 右下方的“OK”按钮24f时,开始进行许可证更新操作,并且该过程前进到步 骤n85。当不更新许可证信息时,按压图中所示的“取消”按钮24g,该过程前 进到步骤n94。 在步骤n85中,将许可证更新信息从主计算机20发送到调试装置A3。 在步骤n86中,调试装置A3通过外部网络连接单元11,将许可证更新信 息D5发送到许可证信息授予服务器12,并且该过程前进到步骤n87。 在步骤n87中,当许可证信息授予服务器12接收到由调试装置A3发送的 许可证更新信息D5时,该过程前进到步骤n88。 在步骤n88中,判断许可证更新信息是否有效。当该信息有效时,该过 程前进到步骤n89,而当其无效时,前进到步骤n93,其中显示图30所示的 许可证更新错误消息24h。用户确认消息24h并按压该图中的“确认按钮” 24i,该过程前进到步骤n94以终止。 在步骤n89中,许可证信息授予服务器12将新的许可证信息D6发送给 外部网络连接单元11,并且该过程前进到步骤n90。 在步骤n90中,当调试装置A3从外部网络连接单元11接收新的许可 证信息D6时,该过程前进到步骤n91。 在步骤n91中,将所接收的新的许可证信息D6记录在外部存储介质6中, 并且该过程前进到n92。 在步骤n92中,显示图31所示的许可证更新完成消息24j,从而通知用 户已经正常完成了许可证更新过程。 如同到目前为止所描述的,根据第三优选实施例,在调试装置A3中进 一步配备外部网络连接单元11和许可证信息授予服务器12,从而能够通过 网络路径D7和外部网络连接单元11,更新来自于许可证信息授予服务器 12的许可证信息。因而,能够减轻由用户执行的激烈更新操作的负担。 尽管已经对本发明进行了详细描述和举例说明,但应当清楚地明白,这仅 仅是出于说明和举例的意图而非为了进行限制,本发明的精神和范围只能由以 下权利要求的条款来进行限制。