CN100371907C - 用于处理器的追踪调试方法及*** - Google Patents

用于处理器的追踪调试方法及*** Download PDF

Info

Publication number
CN100371907C
CN100371907C CNB200410086641XA CN200410086641A CN100371907C CN 100371907 C CN100371907 C CN 100371907C CN B200410086641X A CNB200410086641X A CN B200410086641XA CN 200410086641 A CN200410086641 A CN 200410086641A CN 100371907 C CN100371907 C CN 100371907C
Authority
CN
China
Prior art keywords
processor core
debugging
tracing
programmable counter
processor
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
CNB200410086641XA
Other languages
English (en)
Other versions
CN1779654A (zh
Inventor
吴政谕
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.)
Sunplus Technology Co Ltd
Original Assignee
Sunplus Technology Co 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 Sunplus Technology Co Ltd filed Critical Sunplus Technology Co Ltd
Priority to CNB200410086641XA priority Critical patent/CN100371907C/zh
Publication of CN1779654A publication Critical patent/CN1779654A/zh
Application granted granted Critical
Publication of CN100371907C publication Critical patent/CN100371907C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种用于处理器的追踪调试方法及***,该方法包括步骤:(A)监视一程序计数器;(B)依据程序计数器的地址数据,判断处理核心是否执行非连续的指令;(C)若判定处理器核心是执行非连续的指令时,产生一追踪断点事件,以设定处理器核心进入调试模式;(D)获取处理器核心的程序计数器的值及该处理器核心的状态;及(E)传送程序计数器的值及该处理器核心的状态至一主机,以在该主机产生该处理器核心的追踪调试信息。

Description

用于处理器的追踪调试方法及***
技术领域
本发明涉及一种追踪调试的方法及***,特别是涉及一种用于处理器的低成本的追踪调试方法及***。
背景技术
由于电子技术的快速发展,各类处理器的架构越来越复杂,故处理器常内建硬件调试模块,以方便开发者使用该处理器开发新***。图1是一现有的处理器内建硬件调试模块的方框图,其中,该追踪监视装置监视地址总线及数据总线上所传输的数据,并将地址总线及数据总线上的数据存入该追踪暂存装置中,以供开发者分析。然而这种架构只适合没有高速缓存(cache)功能的处理器核心。
针对上述问题,MIPS处理器利用内建的电路将处理器的程序计数器(program counter,PC)变化状况,通过额外的延伸EJTAG(EnhancedJoint Test Action Group,EJTAG)引脚传送给一集成开发环境(integrated development environment,IDE)软件,以在该集成开发环境(IDE)软件中重组处理器内部状态。当延伸EJTAG脚位不足时,输出的信息将会很少,集成开发环境(IDE)软件将会非常复杂。如果简化该集成开发环境(IDE)软件的复杂度时,就必须暂停处理器,等输出信息完整,再让处理器动作,如此就难达到实时程序计数器追踪,另外MIPS处理器并无法做到数据追踪。
图2是一现有的ARM处理器内建硬件调试模块的方框图,其利用内建追踪装置将追踪信息经过调试脚位输出至一集成开发环境软件。此方法虽然可以达到实时追踪,可是内建追踪装置约占17-55K的门与额外的输出引脚,这会增加处理器的硬件成本。另外当处理器运行速度很快或额外的输出引脚有限的情形下,就必须再内建追踪暂存装置才可实现程序计数器追踪或数据追踪的功能。
现有的SH5处理器内建一调试链接及一JTAG接口,同时所追踪的信息储存在一调试模块先进先出缓冲器(debug module first in firstout,DM FIFO)中。该调试模块先进先出缓冲器(DM FIFO)为一3*64bit的先进先出缓冲器(FIFO),其虽然可使用较少存储器,但是当该先进先出缓冲器(FIFO)填满数据时,需将先将处理器暂停,同时舍弃新的追踪数据。该先进先出缓冲器(FIFO)也可设定为一环状先进先出缓冲器(circular FIFO),当该环状先进先出缓冲器(FIFO)填满数据时,虽无需先将处理器暂停,但是新的追踪数据会覆盖旧的追踪数据。故现有的处理器内建硬件追踪调试仍有改善的空间。
发明内容
本发明的一个目的在于提供一种低成本的追踪调试方法,以能避免现有技术所需的内建追踪暂存装置,从而节省硬件成本。
本发明的另一个目的在于提供一种低成本的追踪调试方法,以能避免现有技术所需的额外的输出引脚,从而节省硬件成本。
依据本发明的一个方面,提出一种用于处理器的追踪调试方法,该处理器具有一处理器核心、一高速缓存及一计时装置,该处理器核心具有一正常执行模式及一调试模式,并具有一程序计数器,用以记录下一个指令的地址,该高速缓存通过一地址总线及数据总线连接至该处理器核心,该计时装置连接至该处理器核心,以提供操作***进行上下文切换(context switch)的计时功能,该方法包括步骤:(A)监视该程序计数器;(B)依据该程序计数器的地址数据,判断该处理核心是否执行非连续的指令;(C)若判定该处理器核心执行非连续的指令时,产生一追踪断点事件(trace break event),以设定该处理器核心进入调试模式;(D)获取该处理器核心的程序计数器的值及该处理器核心的状态;(E)传送该程序计数器的值及该处理器核心的状态至一主机,以在该主机产生该处理器核心的追踪调试信息。
依据本发明的另一方面,提出一种用于处理器的追踪调试***,该处理器具有一处理器核心、一高速缓存、一总线接口单元(BIU)及一计时装置,该处理器核心具有一正常执行模式及一调试模式,并具有一程序计数器,用以记录下一个指令的地址,该高速缓存通过一地址总线及数据总线连接至该处理器核心,该总线接口单元(BIU)连接至该高速缓存及一主存储器,该计时装置连接至该处理器核心,以提供操作***进行上下文切换(context switch)的计时功能,该***主要包含一追踪监视装置、一硬件断点装置、一调试控制装置以及一调试通讯链接。该追踪监视装置连接至该程序计数器,以监视该程序计数器的地址数据;该硬件断点装置连接至该地址总线及数据总线,以依据预设的硬件断点,产生一硬件断点事件,以让该处理器核心暂停;该调试控制装置连接至该追踪监视装置,以控制该追踪监视装置的动作;该调试通讯链接,连接至该硬件断点装置与一主机,将该程序计数器的值及该处理器核心的状态传送至该主机,以在该主机产生该处理器核心的追踪调试信息;其中,该追踪监视装置依据该程序计数器的地址数据,判断该处理核心是否执行连续的指令,若判定该处理器核心执行非连续的指令时,该追踪监视装置产生一追踪断点事件(tracebreak event),以设定该处理器核心进入调试模式,该硬件断点装置获取该处理器核心的程序计数器的值及该处理器核心的状态。
附图说明
图1为一现有处理器内建硬件调试模块的方框图。
图2为一现有ARM处理器内建硬件调试模块的方框图。
图3为本发明的低成本的追踪调试***的使用示意图。
图4为本发明的硬件断点装置的方框图。
图5为本发明用于处理器的追踪调试方法的流程图。
图6为本发明的追踪调试方法的一实例的示意图。
具体实施方式
图3为本发明的低成本的追踪调试***300的使用示意图。在图3中,一处理器核心305用以执行一程序的指令,其具有一程序计数器309,用以记录下一个指令的地址。该处理器核心305具有一正常执行模式及一调试模式。一高速缓存310储存指令及数据,该高速缓存310通过一地址总线306、数据输出总线(DataOut bus)307及数据输入总线(DataIn bus)308连接至该处理器核心305,用以提供该处理器核心305执行时所需的指令及数据,并暂存该处理器核心305写出的数据。一总线接口单元(bus interface unit、BIU)315连接至该高速缓存310,当该高速缓存310中没有该处理器核心305所需数据或指令时,通过该总线接口单元315至一主存储器(图未示)中读取,或是当该高速缓存310已填满数据或指令时,将部分数据通过该总线接口单元(BIU)315写至该主存储器(图未示)中。一计时装置320连接至该处理器核心305,以提供一操作***进行上下文切换的计时功能。
该追踪调试***300主要包含一追踪监视装置330、一硬件断点装置340、一调试控制装置350及一调试通讯链接360。该调试通讯链接360连接至该硬件断点装置340与一主机。当处理器核心305处于调试模式时,该将该程序计数器的值及该处理器核心305的状态传送至该主机,以在该主机上由一集成开发环境(IDE)软件重组该处理器核心305内部状态,产生该处理器核心305的追踪调试信息。
该调试通讯链接360包含一内存控制装置361及一接口装置362。该接口装置362可为一JTAG接口,以便和既有JTAG电路共享引脚,节省集成电路(IC)的引脚。该接口装置362经过一探测装置370而连接该主机,该探测装置370主要系将JTAG接口信号转换为该主机可接收的信号,例如RS232信号、USB信号,以便传送至该主机。该接口装置362另一端连接至该内存控制装置361,以将该主机的数据传送至该内存控制装置361,或将内存控制装置361的数据传送至该主机。
该内存控制装置361将硬件断点装置340及调试控制装置350内部寄存器映射至该主机的一内存映像(memory map),以方便该主机进行相关设定。该内存控制装置361同时连接至该总线接口单元(BIU)315,该主机可通过该内存控制装置361及该总线接口单元(BIU)315,而存取连接至该总线接口单元(BIU)315的主存储器(图未示)数据或是连接至该总线接口单元(BIU)315的***设备(图未示)的数据。
该硬件断点装置340连接至该地址总线306、数据输出总线307及数据输入总线308,以依据预设的硬件断点,产生一硬件断点事件,以让该处理器核心305进入调试模式。
图4为该硬件断点装置340的方框图,其包含一第一寄存器341、一第二寄存器342、一第三寄存器343、一第一比较器344、一第二比较器345、一第三比较器346及一或门347。该主机将欲设定断点的地址值、写出该处理器核心305的数据及读入该处理器核心305的数据,通过该调试通讯链接360分别写至第一寄存器341、第二寄存器342及第三寄存器343中。该第一比较器344的第一输入端连接至该第一寄存器341的输出端,其第二输入端连接至该地址总线306,当该第一寄存器341所储存的地址值与该地址总线306上所出现的地址值相同时,该第一比较器344产生一信号(硬件断点事件),并通过该或门347传送至该处理器核心305,以让该处理器核心305进入调试模式。同理,当欲追踪写出该处理器核心305数据时,则利用数据输出总线307、第二寄存器342及第二比较器345即可达成。
该调试控制装置350连接至该硬件断点装置340,该主机通过该调试通讯链接360设定该调试控制装置350中的寄存器,以使能(enable)或关闭(disable)该追踪监视装置330。
该追踪监视装置330连接至该程序计数器309、该地址总线306、数据输出总线307及数据输入总线308,以监视该程序计数器309、该地址总线及数据总线活动。该追踪监视装置330依据该程序计数器(PC)309的地址数据,判断该处理核心305是否执行非连续的指令,若判定该处理器核心305执行非连续的指令时,该追踪监视装置330产生一追踪断点事件(trace break event),并设定该处理器核心305进入调试模式。此时,该硬件断点装置340获取该处理器核心305的程序计数器的值及该处理器核心的状态。当该处理器核心305进入调试模式时,同时将该计时装置320关闭(disable),以避免该计时装置320在调试模式下继续计时,达到虚拟实时调试功能。该硬件断点装置340将该程序计数器的值及该处理器核心305的状态传送至该主机,以在该主机上由一集成开发环境(IDE)软件重组该处理器核心305内部状态,产生该处理器核心305的追踪调试信息。当该处理器核心305进入调试模式时,该主机可通过该内存控制装置361及该总线接口单元315,而存取连接至该总线接口单元315的主存储器(图未示)数据、或是连接至该总线接口单元315的***设备(图未示)的数据。
该硬件断点装置340将该程序计数器的值及该处理器核心305的状态传送至该主机后,设定该处理器核心305返回正常执行模式。当该处理器核心305返回正常执行模式后,同时将该计时装置使能,以让在该处理器核心305执行的程序重新执行。
图5为本发明用于处理器的追踪调试方法的流程图,该处理器具有一处理器核心305、一高速缓存310及一计时装置320,该处理器核心305具有一正常执行模式及一调试模式,并具有一程序计数器309,用以记录下一个指令的地址。该高速缓存310通过一地址总线及数据总线连接至该处理器核心305。首先在步骤S510中,监视该程序计数器309的地址数据,此时该处理器核心305处在正常执行模式下。在步骤S520中,依据该程序计数器309的地址数据,判断该处理核心305是否执行非连续的指令。若判定该处理器核心305是执行非连续的指令时,则执行步骤S530,若否,则返回步骤S510。
在步骤S530中,产生一追踪断点事件,以设定该处理器核心305进入调试模式,同时将该计时装置320关闭(disable),以避免该计时装置320在调试模式下继续计时,达到虚拟实时调试功能。由于该计时装置320提供一操作***进行上下文切换的计时功能,当该计时装置320被关闭(disable)时,操作***即无法进行上下文切换,让在该处理器核心305上执行的程序暂停,以达到实时的效果。
在步骤S540中,获取该处理器核心的一程序计数器309的值及该处理器核心305的状态。在步骤S550中,将该程序计数器309的值及该处理器核心305的状态传送至该主机,以在该主机上由一集成开发环境(IDE)软件重组该处理器核心305内部状态,产生该处理器核心305的追踪调试信息,以供开发者参考使用。
在步骤S560中,设定该处理器核心305返回正常执行模式。当该处理器核心返回正常执行模式后,同时将该计时装置320使能,以让操作***能进行上下文切换。此时,该处理器核心305执行进入调试模式前程序计数器所指的指令,并返回步骤S510。
图6显示本发明的一实际范例,其为汇编程序及批注的示意图,其中,图右边是程序计数器309的值记录,其记录该处理器核心305下一个执行指令的地址。如图所示,地址0x0、0x4、0x8、0xc及0x10处的指令均连续执行,故程序计数器309的值依序为0x0、0x4、0x8、0xc及0x10。指令Bne r7,r4,Lab_b为比较寄存器r7及寄存器r4的值,若不相等时,则跳转(branch)至Lab_b处。由于寄存器r7为143,寄存器r4为53,故指令Bne成立,程序计数器309会储存该Lab_b处的地址值,即0x24。此时即可判定该处理器核心305将执行非连续的指令,故产生一追踪断点事件,以设定该处理器核心305进入调试模式。同时将该计时装置320关闭(disable),以避免该计时装置320在调试模式下继续计时,达到虚拟实时调试功能。并获取该处理器核心305的一程序计数器309的值及该处理器核心305的状态。再将该程序计数器309的值及该处理器核心305的状态传送至该主机,以在该主机上由一集成开发环境(IDE)软件重组该处理器核心305内部状态,产生该处理器核心305的追踪调试信息,以供开发者参考使用。
综上所述,本发明利用该追踪监视装置330观察处理器核心305的程序计数器309的变化电路,以产生一追踪断点事件,其利用原本调试的功能即可达成追踪功能。另外,运用处理器核心305进入调试模式来控制计时装置320计数来达成类似实时程序计数器追踪的功能。本发明无需使用内建的追踪暂存装置,可避免现有技术所需使用的多种追踪暂存装置,从而降低硬件成本。同时利用既有的JTAG引脚即可达成快速追踪效果,更可避免现有技术需额外的输出引脚所产生的问题。
上述实施例仅为了方便说明而举例而已,本发明所主张的权利范围应以所附权利要求书为准,而非仅限于上述实施例。

Claims (9)

1.一种用于处理器的追踪调试方法,该处理器具有一处理器核心、一高速缓存及一计时装置,该处理器核心具有一正常执行模式及一调试模式,并具有一程序计数器,用以记录下一个指令的地址,该高速缓存通过一地址总线及数据总线连接至该处理器核心,该计时装置连接至该处理器核心,以提供一操作***进行上下文切换的计时功能,该方法包括步骤:
(A)监视该程序计数器;
(B)依据该程序计数器的地址数据,判断该处理核心是否执行非连续的指令;
(C)若判定该处理器核心是执行非连续的指令时,产生一追踪断点事件,以设定该处理器核心进入调试模式;
(D)获取该处理器核心的程序计数器的值及该处理器核心的状态;以及
(E)传送该程序计数器的值及该处理器核心的状态至一主机,以在该主机产生该处理器核心的追踪调试信息。
2.如权利要求1所述的追踪调试方法,其进一步包含下列步骤:
(F)设定该处理器核心返回正常执行模式,并返回步骤(A)持续监视该程序计数器。
3.如权利要求1所述的追踪调试方法,其中,若步骤(B)判定该处理器核心是执行连续的指令时,则返回步骤(A)。
4.如权利要求1所述的追踪调试方法,其中,步骤(C)进一步包含下列步骤:
(C1)当该处理器核心进入调试模式时,同时将该计时装置关闭,以让在该处理器核心执行的程序暂停。
5.如权利要求2所述的追踪调试方法,其中,步骤(F)进一步包含下列步骤:
(F1)该处理器核心返回正常执行模式后,执行该处理器核心进入调试模式前程序计数器所指的指令。
6.如权利要求5所述的追踪调试方法,其中,步骤(F)进一步包含下列步骤:
(F2)当该处理器核心返回正常执行模式后,同时将该计时装置使能,以让在该处理器核心执行的程序重新执行。
7.一种用于处理器的追踪调试***,该处理器具有一处理器核心、一高速缓存、一总线接口单元及一计时装置,该处理器核心具有一正常执行模式及一调试模式,并具有一程序计数器,用以记录下一个指令的地址,该高速缓存通过一地址总线及数据总线连接至该处理器核心,该总线接口单元连接至该高速缓存及一主存储器,该计时装置连接至该处理器核心,以提供一操作***进行上下文切换的计时功能,该***主要包含:
一追踪监视装置,连接至该程序计数器,以监视该程序计数器的地址数据;
一硬件断点装置,连接至该地址总线及数据总线,以依据预设的硬件断点,产生一硬件断点事件,以让该处理器核心暂停;
一调试控制装置,连接至该追踪监视装置,以控制该追踪监视装置的动作;以及
一调试通讯链接,连接至该硬件断点装置与一主机,将该程序计数器的值及该处理器核心的状态传送至该主机,以在该主机产生该处理器核心的追踪调试信息;
其中,该追踪监视装置依据该该程序计数器的地址数据,判断该处理核心是否执行连续的指令,若判定该处理器核心是执行非连续的指令时,该追踪监视装置产生一追踪断点事件,以设定该处理器核心进入调试模式,该硬件断点装置获取该处理器核心的一程序计数器的值及该处理器核心的状态。
8.如权利要求7所述的追踪调试***,其中,该调试通讯链接进一步包含:
一接口装置,连接至该主机,以收发数据至该主机;
一内存控制装置,连接至该接口装置、该总线接口单元及该硬件断点装置,以将硬件断点装置及调试控制装置内部寄存器映射到该主机的一内存映像,以便于该主机进行相关设定,该主机可通过该内存控制装置及该总线接口单元,而存取连接至该总线接口单元的主存储器数据或是连接至该总线接口单元的***设备数据。
9.如权利要求8所述的追踪调试***,其中,该接口装置可为一TTAG接口。
CNB200410086641XA 2004-11-19 2004-11-19 用于处理器的追踪调试方法及*** Expired - Fee Related CN100371907C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200410086641XA CN100371907C (zh) 2004-11-19 2004-11-19 用于处理器的追踪调试方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200410086641XA CN100371907C (zh) 2004-11-19 2004-11-19 用于处理器的追踪调试方法及***

Publications (2)

Publication Number Publication Date
CN1779654A CN1779654A (zh) 2006-05-31
CN100371907C true CN100371907C (zh) 2008-02-27

Family

ID=36769990

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200410086641XA Expired - Fee Related CN100371907C (zh) 2004-11-19 2004-11-19 用于处理器的追踪调试方法及***

Country Status (1)

Country Link
CN (1) CN100371907C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100401267C (zh) * 2006-09-01 2008-07-09 上海大学 微处理器的片上动态跟踪方法
CN101237350B (zh) * 2008-02-27 2010-12-01 中兴通讯股份有限公司 用于多任务环境单板机的全局变量异常改写定位方法
CN104461796B (zh) * 2013-09-17 2017-12-22 上海华虹集成电路有限责任公司 用于嵌入式8051cpu的jtag调试模块及调试方法
CN112579169B (zh) * 2019-09-27 2024-04-09 阿里巴巴集团控股有限公司 处理器追踪流的生成方法及装置
CN112685212B (zh) * 2021-01-05 2024-03-19 上海擎昆信息科技有限公司 一种处理器异常的调试追踪方法、装置和***
CN112685278A (zh) * 2021-01-05 2021-04-20 上海擎昆信息科技有限公司 一种芯片驱动追踪调试方法和装置
CN116108091B (zh) * 2022-12-26 2024-01-23 小米汽车科技有限公司 数据处理方法、事件追踪分析方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1133455A (zh) * 1994-12-28 1996-10-16 株式会社东芝 微处理器与调试***
US6075941A (en) * 1997-01-29 2000-06-13 International Business Machines Corporation Microcomputer
CN1444144A (zh) * 2002-03-08 2003-09-24 精工爱普生株式会社 调试功能内置型微型计算机

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1133455A (zh) * 1994-12-28 1996-10-16 株式会社东芝 微处理器与调试***
US6075941A (en) * 1997-01-29 2000-06-13 International Business Machines Corporation Microcomputer
CN1444144A (zh) * 2002-03-08 2003-09-24 精工爱普生株式会社 调试功能内置型微型计算机

Also Published As

Publication number Publication date
CN1779654A (zh) 2006-05-31

Similar Documents

Publication Publication Date Title
US20220252665A1 (en) On-chip Debugging Device and Method
CN102360329B (zh) 总线监控与调试控制装置及进行总线监控与总线调试的方法
US7533302B2 (en) Trace and debug method and system for a processor
US7636870B2 (en) Semiconductor integrated circuit device, and debugging system and method for the semiconductor integrated circuit device
KR100856336B1 (ko) 실시간 프로세서 디버그 시스템
CN100401267C (zh) 微处理器的片上动态跟踪方法
KR20010006188A (ko) 마이크로프로세서 기반 장치용 트레이스 캐시
CN101154184A (zh) 一种微控制器jtag调试方法
JPH10111815A (ja) デバッグシステム
CN109254883B (zh) 一种片上存储器的调试装置及方法
CN101458725B (zh) 微控制器芯片及其调试方法
US20060161818A1 (en) On-chip hardware debug support units utilizing multiple asynchronous clocks
CN103593271A (zh) 一种片上***芯片追踪调试的方法及装置
CN101751327B (zh) 嵌入式处理器的跟踪调试方法
CN100444127C (zh) 软件测试***和软件测试方法
US20030233601A1 (en) Non-intrusive signal observation techniques usable for real-time internal signal capture for an electronic module or integrated circuit
US6760864B2 (en) Data processing system with on-chip FIFO for storing debug information and method therefor
JP2006507586A (ja) 埋め込みシステムの解析装置及び方法
CN100371907C (zh) 用于处理器的追踪调试方法及***
CN202267954U (zh) 总线监控与调试控制装置
CN112685278A (zh) 一种芯片驱动追踪调试方法和装置
CN101998135A (zh) 移动电视信号采集及播放***、控制方法
CN100403275C (zh) 应用于固件程序除错的微处理器与方法
CN104572515B (zh) 跟踪模块、方法、***和片上***芯片
Hochberger et al. Acquiring an exhaustive, continuous and real-time trace from SoCs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080227

Termination date: 20161119

CF01 Termination of patent right due to non-payment of annual fee