CN102799466B - 一种应用于PowerPC最小系统的引导装置及引导方法 - Google Patents
一种应用于PowerPC最小系统的引导装置及引导方法 Download PDFInfo
- Publication number
- CN102799466B CN102799466B CN201210239097.2A CN201210239097A CN102799466B CN 102799466 B CN102799466 B CN 102799466B CN 201210239097 A CN201210239097 A CN 201210239097A CN 102799466 B CN102799466 B CN 102799466B
- Authority
- CN
- China
- Prior art keywords
- powerpc
- chip
- flash
- boot
- data
- 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.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种应用于PowerPC最小系统的引导装置及引导方法,涉及一种引导装置及引导方法。它解决了在没有仿真器时,PowerPC最小系统的引导过程复杂、引导时间长的问题。其装置:PowerPC的片选信号输出端通过CPLD连接Data Flash芯片的片选信号输入端;PowerPC的写使能和输出使能信号端分别通过总线收发芯片和CPLD与Data Flash芯片的写使能和输入使能信号端连接;PowerPC的地址数据总线端通过总线收发芯片与Data Flash芯片的地址数据总线端连接;PowerPC的数据输出或输入端通过总线收发芯片与Data Flash芯片的数据输入或输出端连接。其方法:在PowerPC最小系统引导调试后,采用Data Flash芯片对PowerPC最小系统进行引导。本发明适用于PowerPC最小系统。
Description
技术领域
本发明涉及一种引导装置及引导方法。
背景技术
随着实际应用需求对处理器系统的性能要求越来越高,尤其在电信和通讯领域,PowerPC最小系统的应用非常广泛。但是,PowerPC最小系统的开发难度相比ARM最小系统稍大,一方面因为PowerPC芯片成本较高,一般的应用承受不起开发成本,从事PowerPC开发的技术人员少,可以共享的开发资料和开发经验也少;另一方面也因为进行PowerPC开发一般需要购置昂贵的仿真器,以帮助开发人员进行前期系统引导程序的调试。
最小系统都需要有掉电非易失的存储介质来存放系统的引导程序、应用程序和数据等,目前大部分设计都采用大容量Flash芯片,一般为贴片封装,不方便使用Flash编程器下载程序,如果购置仿真器,将大大增加系统的开发成本。
如果不购置仿真器,目前主流的设计方案就是采用两片Flash,其中一片容量小,一般为512kB,只用于存放系统引导程序,为PLCC封装,在最小系统板上焊接PLCC座,最初调试阶段可以将Flash芯片从最小系统板上取出,使用Flash编程器下载程序,采用此方式进行引导程序调试。另一片容量大,一般在32MB以上,根据应用需求的不同容量会不同,为贴片封装,焊接在板卡上,一般不进行拆焊,主要用于存放系统引导程序和应用程序等。
对于可购置仿真器或已有相关技术积累的公司或研究单位,有部分已不采用上述引导方案,如公开号为:CN101329632A的中国专利申请,以及公开号为:CN101178661A的中国专利申请,都采用了单Flash芯片集成引导程序和应用程序的设计方案,但此方案对于没有仿真器或技术积累的开发人员是不能实现的。公开号为:CN102073517A的中国专利申请,基于两片Flash芯片提出了一种嵌入式系统的升级和备份方法,为了避免系统升级多次插拔Boot Flash(即PLCC封装小容量Flash),采用CPU通过I/O接口模拟JTAG时序,在线升级CPLD,再通过CPLD升级Data Flash(即贴片封装大容量Flash),整个过程稍显复杂,尤其是模拟JTAG时序,会延长开发周期和增大开发难度。
发明内容
本发明是为了解决在没有仿真器的条件下,PowerPC最小系统的引导过程复杂,引导时间长的问题,从而提供一种应用于PowerPC最小系统的引导装置及引导方法。
一种应用于PowerPC最小系统的引导装置,它包括Boot Flash芯片,它还包括DataFlash芯片、总线收发芯片和CPLD;
PowerPC的片选信号输出端CS0#通过CPLD与Boot Flash芯片的片选信号输入端CE#连接;PowerPC的写使能信号输出端和输出使能信号端分别通过总线收发芯片和CPLD与Boot Flash芯片的写使能信号输入端和输入使能信号端连接;PowerPC的地址数据输出端通Addr[13-31]过总线收发芯片与Boot Flash 芯片的地址数据输入端A[18:0]连接;PowerPC的数据输出或输入端Data[0-7]通过总线收发芯片与Boot Flash芯片的数据输入或输出端D[7:0]连接;
PowerPC的片选信号输出端通过CPLD还与Data Flash芯片的片选信号输入端连接;PowerPC的写使能信号输出端和输出使能信号端还分别通过总线收发芯片和CPLD与Data Flash芯片的写使能信号输入端和输入使能信号端连接;PowerPC的地址数据输出端通过总线收发芯片还与Data Flash芯片的地址数据输入端连接;PowerPC的数据输出或输入端通过总线收发芯片还与Data Flash芯片的数据输入或输出端连接。
基于上述装置的一种应用于PowerPC最小系统的引导方法,它由以下步骤实现:
步骤一、将引导程序下载到Boot Flash芯片中,在PowerPC最小系统的引导调试阶段,采用Boot Flash芯片对PowerPC最小系统进行引导;
步骤二、在PowerPC最小系统的引导调试后,将调试后的引导程序、系统映像和应用程序使用驱动程序烧写到Data Flash中,并采用Data Flash芯片对PowerPC最小系统进行引导。
有益效果:本发明采用两片Flash设计方案,前期使用Flash编程器进行引导程序调试,调试完成后在应用所需操作系统下开发Data Flash驱动程序,将系统引导程序和应用程序烧写到Data Flash指定地址。在后续系统升级时,只需要通过该Flash驱动程序更新即可,不再需要对Boot Flash进行编程。PowerPC最小系统的引导过程简单,引导时间短。
附图说明
图1是两片Flash与PowerPC系统的片选信号端CS0#之间的电路连接示意图;图2是Boot Flash与PowerPC系统的电路连接示意图;图3是Data Flash与PowerPC系统的电路连接示意图;图4是Boot Flash芯片的引导程序调试流程示意图;图5是Data Flash驱动及对应引导程序的流程示意图;图6是系统升级操作的流程示意图。
具体实施方式
具体实施方式一、结合图1说明本具体实施方式,一种应用于PowerPC最小系统的引导装置,它包括Boot Flash芯片,它还包括Data Flash芯片、总线收发芯片和CPLD;
PowerPC的片选信号输出端CS0#通过CPLD与Boot Flash芯片的片选信号输入端CE#连接;PowerPC的写使能信号输出端和输出使能信号端分别通过总线收发芯片和CPLD与Boot Flash芯片的写使能信号输入端和输入使能信号端连接;PowerPC的地址数据输出端通Addr[13-31]过总线收发芯片与Boot Flash芯片的地址数据输入端A[18:0]连接;PowerPC的数据输出或输入端Data[0-7]通过总线收发芯片与Boot Flash芯片的数据输入或输出端D[7:0]连接;
PowerPC的片选信号输出端通过CPLD还与Data Flash芯片的片选信号输入端连接;PowerPC的写使能信号输出端和输出使能信号端还分别通过总线收发芯片和CPLD与Data Flash芯片的写使能信号输入端和输入使能信号端连接;PowerPC的地址数据输出端通过总线收发芯片还与Data Flash芯片的地址数据输入端连接;PowerPC的数据输出或输入端通过总线收发芯片还与Data Flash芯片的数据输入或输出端连接。
具体实施方式二、本具体实施方式与具体实施方式一所述的一种应用于PowerPC最小系统的引导装置的区别在于,Boot Flash芯片是16位位宽的芯片。
具体实施方式三、本具体实施方式与具体实施方式一所述的一种应用于PowerPC最小系统的引导装置的区别在于,Boot Flash芯片是8位位宽的芯片。
具体实施方式四、本具体实施方式与具体实施方式一所述的一种应用于PowerPC最小系统的引导装置的区别在于,总线收发芯片的型号为74ALVC16245。
具体实施方式五、基于具体实施方式一的一种应用于PowerPC最小系统的引导方法,它由以下步骤实现:
步骤一、将引导程序下载到Boot Flash芯片中,在PowerPC最小系统的引导调试阶段,采用Boot Flash芯片对PowerPC最小系统进行引导;
步骤二、在PowerPC最小系统的引导调试后,将调试后的引导程序、系统映像和应用程序使用驱动程序烧写到Data Flash中,并采用Data Flash芯片对PowerPC最小系统进行引导。
本发明针对不购置仿真器且没有相关引导程序开发技术基础,采用两片Flash设计方案,前期使用Flash编程器进行引导程序调试,调试完成后在应用所需操作系统下开发Data Flash驱动程序,将系统引导程序和应用程序烧写到Data Flash指定地址。在后续系统升级时,只需要通过该Flash驱动程序更新即可,不再需要对Boot Flash进行编程,通过该驱动程序将引导程序和应用程序烧写到Data Flash中,并从Data Flash引导系统,且可方便地进行系统升级,一定程度上降低了已有专利方案的实现难度,增加了可行性。
本发明主要实现一种应用于PowerPC最小系统的引导方法,其中两片Flash与PowerPC片选信号CS0#之间的连接关系如图1所示。
Boot Flash和Data Flash的片选信号是否与PowerPC的CS0#片选信号相连,即PowerPC是从Boot Flash还是Data Flash中的引导程序启动,是通过CPLD决定的,可以通过板卡上一个跳线或通过CPLD内部一个寄存器改变CPLD的片选信号输出。
这种方式的好处是在调试阶段,设置PowerPC从Boot Flash启动,如果启动不正常,可修改BSP相关代码,重新编译后通过廉价的Flash编程器将引导程序下载到Boot Flash中,继续调试。若引导程序可以正常完成对操作系统映像进行引导后,则BootFlash中的代码可以不再更改,针对批产的板卡,都可以使用该引导程序,并进行初步的硬件测试,对提高量产速度有一定的好处。在此基础上,进行Data Flash驱动程序开发,由于本方法将PowerPC的硬复位配置字放在BSP内实现,一般Boot Flash和Data Flash数据位宽是不同的,因此对应不同的硬复位配置字设置,也就对应不同的引导程序,通过该驱动程序,将Data Flash对应的引导程序烧写到Data Flash中,并设置PowerPC从Data Flash启动。如果后续应用需要对最小系统进行升级,修改BSP、完成系统裁剪后,将引导程序、系统映像和应用程序使用驱动程序烧写到Data Flash中即可。
完成两片Flash片选设计后,然后细化每片Flash芯片在最小系统中的连接关系,BootFlash在系统中的连接关系如图2所示,Data Flash在系统中的连接关系如图3所示。
Boot Flash通过总线收发器芯片74ALVC16245挂接到PowerPC的60x总线上,注意到PowerPC默认工作模式为大端模式,地址线第0位表示最高地址位,而我们使用的Flash、SDRAM芯片工作模式为小端模式,地址线第0位表示最低地址位,所以它们在连接时应注意交换大端模式和小端模式器件的线序。PowerPC地址信号对应最小数据单元为字节,所以在与16位或更大位宽的芯片相连接时,还应注意到PowerPC地址线移位的问题。比如与16位位宽的Flash芯片相连,应将PowerPC的地址线Addr30和Flash芯片的最低地址线相连,如果与8位位宽的Flash芯片相连,应将PowerPC的地址线Addr31和Flash芯片的最低地址线相连。为了灵活控制,PowerPC发出的片选、写使能信号和输出使能信号都是先传递给CPLD,由CPLD进行处理后,再传给Boot Flash芯片。
PowerPC通过GPCM模式访问Flash芯片,CS0#作为片选信号,经过CPLD的片选逻辑后输出到Flash芯片片选输入引脚,Data Flash经过总线收发器挂在60x总线上。
Data Flash的驱动程序开发,这部分不包含在PowerPC最小系统的BSP中,开发人员可以先将其作为应用程序开发,生成.out文件后下载到已启动的操作系统中进行调试,当完成驱动程序调试后可以在进行系统映像开发时将该驱动加载到系统映像中,以便后续使用该驱动程序完成系统引导程序或应用程序的功能升级。
开发驱动程序时,首先应根据系统的内存分配情况和Flash芯片的数据手册,在驱动程序头文件中设定Flash起始地址,容量大小,位宽和工作模式等参数,通过宏定义方式开发驱动程序,可以提高程序的维护性和移植性。然后对Flash初始化,需要配置GPCM控制寄存器,保证PowerPC的访问时序满足Flash的时序要求,对于有多个任务可能对Flash进行操作的应用需求,必须在Flash初始化部分创建一个互斥信号量,保证同一时间只能有一个任务可以操作Flash。初始化完成后就可以对Flash进行擦除操作、写操作和读操作。主要涉及到以下接口函数:
(1)GetFlashStatus():有1个参数,为Flash地址,实现功能是获取此时Flash的状态;
(2)FlashErase():有1个参数,为Flash偏移地址,实现功能是擦除Flash偏移地址处一个块内容,一次擦除128k字节;
(3)FlashWrite():有3个参数,分别为缓存,写入数据长度和Flash偏移地址,实现功能是将缓存中指定长度的数据写入指定的Flash偏移地址空间;
(4)FlashGet():有3个参数,分别为缓存,读出数据长度和Flash偏移地址,实现功能是将Flash指定偏移地址的指定长度数据读出到指定缓存中;
(5)FlashSet():有3个参数,分别为缓存,写入数据长度和Flash偏移地址,实现功能是首先判断写入数据与Flash指定空间现有数据是否相同,如果相同,则返回;若不同,则进行待写入数据所需存储空间大小等必要参数计算,调用FlashErase()函数擦除该地址块内容,调用FlashWrite()函数将数据写入该地址块;
(6)burn_bootrom():没有参数,实现功能是将宿主机指定目录下的文件bootrom.bin下载到Flash的基地址空间,并将写入数据读出,与原文件对比,验证文件写入是否正常。
系统启动后,可以使用这些接口函数对Data Flash进行功能测试,也可进行引导程序或应用程序升级。
本种应用于PowerPC最小系统的引导方法具体实施方式如下:
1)、首先进行Boot Flash对应引导程序调试,流程如图4所示;
2)、在Boot Flash引导程序工作正常后进行Data Flash驱动及对应引导程序开发,流程如图5所示;
3)、在2)对应功能调试完成后,默认设置系统从Data Flash启动,如需对系统升级,可按图6所示流程进行,其中升级程序的调试流程可参照图5进行。
本发明的效果:
1、本方法可用于开发人员没有仿真器且没有引导程序开发基础的情况下,开发PowerPC最小系统的引导程序;
2、本方法可以在引导程序调试完成后,开发Data Flash驱动程序,以简化后续系统引导程序和应用程序的升级过程,不需进行已有专利方案中提及的使用CPU的I/O口模拟JTAG时序等复杂操作,可以缩短开发周期;
3、本方法各部分功能相对模块化,如引导程序对于硬件设计相同的板卡就可以完成系统引导,而无需关注其应用程序或系统裁剪上的差别,Data Flash对相同型号的Flash芯片都适用,不只限于本最小系统。
Claims (4)
1.基于应用于PowerPC最小系统的引导装置的引导方法,基于应用于PowerPC最小系统的引导装置包括Boot Flash芯片,它还包括Data Flash芯片、总线收发芯片和CPLD;
PowerPC的片选信号输出端CS0#通过CPLD与Boot Flash芯片的片选信号输入端CE#连接;PowerPC的写使能信号输出端和输出使能信号端分别通过总线收发芯片和CPLD与Boot Flash芯片的写使能信号输入端和输入使能信号端连接;PowerPC的地址数据输出端通过Addr[13-31]总线收发芯片与Boot Flash芯片的地址数据输入端A[18:0]连接;PowerPC的数据输出或输入端Data[0-7]通过总线收发芯片与Boot Flash芯片的数据输入或输出端D[7:0]连接;
PowerPC的片选信号输出端通过CPLD还与Data Flash芯片的片选信号输入端连接;PowerPC的写使能信号输出端和输出使能信号端还分别通过总线收发芯片和CPLD与DataFlash芯片的写使能信号输入端和输入使能信号端连接;PowerPC的地址数据输出端通过总线收发芯片还与Data Flash芯片的地址数据输入端连接;PowerPC的数据输出或输入端通过总线收发芯片还与Data Flash芯片的数据输入或输出端连接;
其特征是:应用于PowerPC最小系统的引导方法由以下步骤实现:
步骤一、将引导程序下载到Boot Flash芯片中,在PowerPC最小系统的引导调试阶段,采用Boot Flash芯片对PowerPC最小系统进行引导;
步骤二、在PowerPC最小系统的引导调试后,将调试后的引导程序、系统映像和应用程序使用驱动程序烧写到Data Flash中,并采用Data Flash芯片对PowerPC最小系统进行引导;
Boot Flash对应引导程序调试的方法为:
步骤A1、配置PowerPC最小系统从Boot Flash启动;
步骤A2、对应BSP中的硬复位配置字定制Boot Flash引导程序;
步骤A3、判断是否编译生成Bootrom;如果判断结果为是,则执行步骤A4;如果判断结果为否,则返回执行步骤A2;
步骤A4、编程到Boot Flash中;
步骤A5、判断PowerPC最小系统是否正常启动,如果判断结果为是,则结束;如果判断结果为否,则返回执行步骤A2;
在Boot Flash引导程序工作正常后进行Data Flash驱动及对应引导程序开发的方法为:
步骤B1、配置PowerPC从Boot Flash启动;
步骤B2、Data Flash驱动程序编写与修改;
步骤B3、判断是否编译.out文件,如果判断结果为是,则执行步骤B4;如果判断结果为否,则返回执行步骤B2;
步骤B4、判断驱动程序功能是否正常,如果判断结果为是,则执行步骤B5;如果判断结果为否,则返回执行步骤B2;
步骤B5、对应BSP中的硬复位配置字定制Data Flash引导程序;
步骤B6、判断是否编译生成Bootrom;如果判断结果为是,则执行步骤B7;如果判断结果为否,则返回执行步骤B5;
步骤B7、通过驱动程序烧写Bootrom到Data Flash中;
步骤B8、配置PowerPC从Data Flash启动;
步骤B9、判断PowerPC正常启动,如果判断结果为是,则结束;如果判断结果为否,则返回执行步骤B5;
对系统升级的方法为:
步骤C1、配置PowerPC从Boot Flash启动;
步骤C2、通过驱动程序将升级后的程序烧写到Data Flash指定地址;
步骤C3、配置PowerPC从Data Flash启动。
2.根据权利要求1所述基于应用于PowerPC最小系统的引导装置的引导方法,其特征在于应用于PowerPC最小系统的引导装置中,Boot Flash芯片是16位位宽的芯片。
3.根据权利要求1所述基于应用于PowerPC最小系统的引导装置的引导方法,其特征在于应用于PowerPC最小系统的引导装置中,Boot Flash芯片是8位位宽的芯片。
4.根据权利要求1所述基于应用于PowerPC最小系统的引导装置的引导方法,其特征在于应用于PowerPC最小系统的引导装置中,总线收发芯片的型号为74ALVC16245。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210239097.2A CN102799466B (zh) | 2012-07-11 | 2012-07-11 | 一种应用于PowerPC最小系统的引导装置及引导方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210239097.2A CN102799466B (zh) | 2012-07-11 | 2012-07-11 | 一种应用于PowerPC最小系统的引导装置及引导方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799466A CN102799466A (zh) | 2012-11-28 |
CN102799466B true CN102799466B (zh) | 2015-06-24 |
Family
ID=47198581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210239097.2A Active CN102799466B (zh) | 2012-07-11 | 2012-07-11 | 一种应用于PowerPC最小系统的引导装置及引导方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799466B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273316B (zh) * | 2017-06-08 | 2019-11-26 | 迈普通信技术股份有限公司 | 并行flash访问系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017038B1 (en) * | 2002-08-26 | 2006-03-21 | Network Equipment Technologies, Inc. | Method and system to provide first boot to a CPU system |
CN101178661A (zh) * | 2007-12-14 | 2008-05-14 | 华为技术有限公司 | Flash集成bootrom的实现方法和装置 |
CN101329632A (zh) * | 2008-04-30 | 2008-12-24 | 中兴通讯股份有限公司 | 一种使用boot启动cpu的方法与装置 |
CN102073517A (zh) * | 2009-11-23 | 2011-05-25 | 中兴通讯股份有限公司 | 一种嵌入式系统的升级、备份方法和装置 |
-
2012
- 2012-07-11 CN CN201210239097.2A patent/CN102799466B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017038B1 (en) * | 2002-08-26 | 2006-03-21 | Network Equipment Technologies, Inc. | Method and system to provide first boot to a CPU system |
CN101178661A (zh) * | 2007-12-14 | 2008-05-14 | 华为技术有限公司 | Flash集成bootrom的实现方法和装置 |
CN101329632A (zh) * | 2008-04-30 | 2008-12-24 | 中兴通讯股份有限公司 | 一种使用boot启动cpu的方法与装置 |
CN102073517A (zh) * | 2009-11-23 | 2011-05-25 | 中兴通讯股份有限公司 | 一种嵌入式系统的升级、备份方法和装置 |
Non-Patent Citations (1)
Title |
---|
PHILIPS."General Description".《74ALVC16245 74ALVCH16245》.2004,第1,5-6页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102799466A (zh) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609286B (zh) | 一种基于处理器控制的fpga配置程序远程更新系统及其方法 | |
US7099818B1 (en) | System and method for automatically matching components in a debugging system | |
CN102955723B (zh) | 一种硬件自动测试方法及系统 | |
CN108037938B (zh) | 一种eMMC的开卡方法 | |
CN101807152B (zh) | 自我验证选择只读存储器的基本输出入系统及其验证方法 | |
CN104407878B (zh) | C6000数字信号处理器在线升级方法 | |
US11250193B1 (en) | Productivity platform using system-on-chip with programmable circuitry | |
CN101438253A (zh) | 写入和配置闪速存储器 | |
CN108664264A (zh) | 一种基于cpu通过jtag方式远程更新fpga的装置和方法 | |
CN105718281A (zh) | 一种触摸屏固件升级方法及装置 | |
CN104077166B (zh) | 基于fpga中ip核的epcs与epcq存储器在线升级方法 | |
CN102520961A (zh) | 片外在线可编程的soc系统及其控制方法 | |
CN102346677A (zh) | Fpga程序的升级方法 | |
CN112000351A (zh) | Bmc固件的更新方法、更新装置、更新设备及存储介质 | |
WO2008024701A2 (en) | System and method for testing software code for use on a target processor | |
CN104035757A (zh) | 基于MIPS处理器的u-boot移植的实现方法 | |
CN102799466B (zh) | 一种应用于PowerPC最小系统的引导装置及引导方法 | |
CN108334362B (zh) | 一种fpga芯片的升级方法、装置及存储设备 | |
TW201017677A (en) | Data storage apparatus, data storage controller, and related automated testing method | |
CN108628621A (zh) | 一种从设备的固件升级方法及固件升级的从设备、系统 | |
CN113282439A (zh) | eMMC测试方法、装置、可读存储介质及电子设备 | |
CN102043654A (zh) | 一种基于TMS320VC55xx的DSP简易开发方法 | |
CN111856241A (zh) | 一种芯片量产平台系统及其实现方法 | |
CN111414182A (zh) | 一种基于spi的fpga远程升级方法 | |
US10430200B2 (en) | Slave processor within a system-on-chip |
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 |