CN110737480B - 一种串口驱动程序复用方法和装置 - Google Patents
一种串口驱动程序复用方法和装置 Download PDFInfo
- Publication number
- CN110737480B CN110737480B CN201910879831.3A CN201910879831A CN110737480B CN 110737480 B CN110737480 B CN 110737480B CN 201910879831 A CN201910879831 A CN 201910879831A CN 110737480 B CN110737480 B CN 110737480B
- Authority
- CN
- China
- Prior art keywords
- serial port
- starting
- starting unit
- serial
- unit
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种串口驱动程序复用方法和装置,所述方法包括以下步骤:运行第一启动单元中的第一启动代码,获取预设配置参数对默认串口进行初始化;运行第二启动单元中的第二启动代码,判断当前所需串口与默认串口是否一致,若不一致则重新对当前所需串口进行初始化;调用所述第一启动单元的接口函数进行相应操作。这样,在***启动前期阶段就完成串口的初始化,后续阶段当需要用到打印串口时,只需调用第一启动单元中的接口函数即可,从而避免了串口驱动的重复初始化,缩短了***整体的启动时间并降低***整体的维护难度。
Description
技术领域
本发明涉及SOC芯片电路领域,特别涉及一种串口驱动程序复用方法和装置。
背景技术
调试串口是指专门用于输出打印信息的UART口,在嵌入式***的调试中有着极其重要的作用。在嵌入式***的启动过程中,会经历各个不同的阶段,如BOOT ROM,bootloader,kernel等。在armv8等架构中,bootloader还分为vendor loader初始化,ARMtrust firmware初始化,trust OS初始化,U-Boot等阶段。每一个阶段都是独立的子***,都分别需要初始化串口驱动和硬件并输出打印信息,以便开发者了解当前的启动情况。
同时,嵌入式SOC通常会有多个串口,而且每个串口的IO可能会与其他功能的IO进行复用,以便在不同类型的产品中灵活的使用不同的功能组合,这导致同一个SOC在不同项目中可用于调试的串口是不同的,在启动过程的各子***都需要对串口驱动进行重新适配才能让打印信息输出到正确的串口。这些子***一般由不同的团队维护,部分子***可能因为安全或者保密原因很可能不提供源码给研发的下游环节,这就对需要适配不同开发板才能正常使用的串口打印驱动的维护带来挑战。
发明内容
为此,需要提供一种串口驱动程序复用的技术方案,用以解决现有技术串口驱动重复初始化和难以统一维护的问题。
为实现上述目的,发明人提供了一种串口驱动程序复用方法,所述方法包括以下步骤:
运行第一启动单元中的第一启动代码,获取预设配置参数对默认串口进行初始化;
运行第二启动单元中的第二启动代码,判断当前所需串口与默认串口是否一致,若不一致则重新对当前所需串口进行初始化;
调用所述第一启动单元的接口函数进行相应操作。
进一步地,所述预设配置参数包括打印调试串口的基地址以及串口驱动输入输出所需的波特率。
进一步地,所述第一启动单元的接口函数包括输入接口函数或输出接口函数,“调用所述第一启动单元的接口函数进行相应操作”包括:
获取子***的调用指令,调用第一启动单元的输入接口函数或输出接口函数,对接子***的输出函数进行打印操作。
进一步地,当前所需串口根据当前芯片对接的电路板确定,所述芯片为所述第一启动单元所在的芯片。
进一步地,所述第一启动单元为BOOT ROM,第二启动单元为BOOTLOADER。
发明人还提供了一种串口驱动程序复用装置,所述装置包括第一启动单元、参数存储单元和多个串口;所述第一启动单元存储有第一启动代码,所述参数存储单元中存储有预设配置参数;所述多个串口中一个为默认串口;
所述第一启动代码被运行时实现以下步骤:
获取参数存储单元中的预设配置参数对默认串口进行初始化;
当运行第二启动单元中的第二启动代码时,判断当前所需串口与默认串口是否一致,若不一致则重新对当前所需串口进行初始化;
调用接口函数进行相应操作。
进一步地,所述预设配置参数包括打印调试串口的基地址以及串口驱动输入输出所需的波特率。
进一步地,所述第一启动单元的接口函数包括输入接口函数或输出接口函数,“调用所述第一启动单元的接口函数进行相应操作”包括:
获取子***的调用指令,调用第一启动单元的输入接口函数或输出接口函数,对接子***的输出函数进行打印操作。
进一步地,当前所需串口根据当前芯片对接的电路板确定,所述芯片为所述第一启动单元所在的芯片。
进一步地,所述第一启动单元为BOOT ROM,第二启动单元为BOOTLOADER。
上述技术方案所述的串口驱动程序复用方法和装置,所述方法包括以下步骤:运行第一启动单元中的第一启动代码,获取预设配置参数对默认串口进行初始化;运行第二启动单元中的第二启动代码,判断当前所需串口与默认串口是否一致,若不一致则重新对当前所需串口进行初始化;调用所述第一启动单元的接口函数进行相应操作。这样,在***启动前期阶段就完成串口的初始化,后续阶段当需要用到打印串口时,只需调用第一启动单元中的接口函数即可,从而避免了串口驱动的重复初始化,缩短了***整体的启动时间。同时,串口配置简化到统一由第二启动单元这一个子***维护,后续所有子***都不再需要单独维护对应驱动和配置,简化了整个***维护的复杂性。
附图说明
图1为本发明一实施例涉及的串口驱动程序复用方法的流程图;
图2为本发明一实施例涉及的串口驱动程序复用装置的示意图;
图3为本发明另一实施例涉及的串口驱动程序复用装置的示意图;
附图标记说明:
101、第一启动单元;
102、第二启动单元;
103、串口;
104、参数存储单元。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
SOC启动过程的第一阶段是BOOT ROM,这是一段固化在芯片内部不可修改的程序段,这个阶段就有可能需要使用串口进行打印,包含串口所需的初始化程序和输出程序。后续所有阶段子***所使用的串口硬件和串口驱动与BOOT ROM使用的内容是一样的,而且BOOT ROM程序固化在芯片内部,并不占用任何***内存,也不影响后续运行在DRAM内存或NOR等可执行空间中任意阶段的子***程序。因此,只要解决不可修改的BOOT ROM中串口打印程序适配不同硬件电路板可能使用不同串口的问题,就可以在启动过程中所有子***均使用BOOT ROM的打印程序,解决串口驱动的重复初始化和分别配置维护的问题。
为解决上述问题,请参阅图1,为本发明一实施例涉及的串口驱动程序复用方法的流程图。所述方法包括以下步骤:
首先进入步骤S101运行第一启动单元中的第一启动代码,获取预设配置参数对默认串口进行初始化。
在本实施方式中,所述第一启动单元为BOOT ROM,所述第一启动代码为存储于BOOT ROM中的启动程序。所述预设配置参数包括打印调试串口的基地址以及串口驱动输入输出所需的波特率。所述打印调试串口是指UART控制器,即通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),UART是一种通用串行数据总线,用于异步通信,该总线双向通信,可以实现全双工传输和接收。默认串口是指***开启自动配置的一个串口。
UART主要由以下几个部分构成:输出缓冲寄存器、输出移位寄存器、输入移位寄存器、输入缓冲寄存器、控制寄存器,各部分的功能如下:
(1)输出缓冲寄存器,它接收CPU从数据总线上送来的并行数据,并加以保存。
(2)输出移位寄存器,它接收从输出缓冲器送来的并行数据,以发送时钟的速率把数据逐位移出,即将并行数据转换为串行数据输出。
(3)输入移位寄存器,它以接收时钟的速率把出现在串行数据输入线上的数据逐位移入,当数据装满后,并行送往输入缓冲寄存器,即将串行数据转换成并行数据。
(4)输入缓冲寄存器,它从输入移位寄存器中接收并行数据,然后由CPU取走。
(5)控制寄存器,它接收CPU送来的控制字,由控制字的内容,决定通信时的传输方式以及数据格式等。例如采用异步方式还是同步方式,数据字符的位数,有无奇偶校验,是奇校验还是偶校验,停止位的位数等参数。
(6)状态寄存器。状态寄存器中存放着接口的各种状态信息,例如输出缓冲区是否空,输入字符是否准备好等。在通信过程中,当符合某种状态时,接口中的状态检测逻辑将状态寄存器的相应位置“1”,以便让CPU查询。
而后进入步骤S102运行第二启动单元中的第二启动代码,判断当前所需串口与默认串口是否一致,若不一致则重新对当前所需串口进行初始化。
***在启动过程中,会经历不同的启动阶段,即在执行完第一启动单元中的第一启动代码之后,会继续执行其他启动代码,如执行第二启动单元中的启动代码,具体则是将第二启动代码加载至相应的缓存单元(如DDR)中运行。
在本实施方式中,第二启动单元为BOOTLOADER。当前所需串口根据当前芯片对接的电路板确定,所述芯片为所述第一启动单元所在的芯片。通用的SOC主控制器可能应用在各种不通的场景,与不同的外接设备对接,难以保证某一个固定的串口是可以作为调试串口使用,需要根据外接设备实际的电路板来选取合适的串口作为调试串口。所述第二启动单元Bootloader及后续的多个阶段启动代码是存储于外部存储介质,这些存储介质可以是软盘、光盘、DVD、硬盘、闪存、U盘、CF卡、SD卡、MMC卡、SM卡、记忆棒、xD卡、eMMC、SPI flash、SSD、网络硬盘中的一种或多种。
而后进入步骤S103调用所述第一启动单元的接口函数进行相应操作。
由于接口函数是固化于第一启动单元中的,不仅可以重复被调用,而且被调用时可以不占用任何SOC以外的存储空间和程序运行空间。
在本实施方式中,所述第一启动单元的接口函数包括输入接口函数或输出接口函数,所述相应操作包括打印操作或读取输入操作。“调用所述第一启动单元的接口函数进行相应操作”包括:获取子***的调用指令,调用第一启动单元的输入接口函数或输出接口函数,对接子***的输出函数进行打印操作。在本实施方式中,所述子***是指启动时不同阶段的子***,如vendor loader、ARM trust firmware、trust OS、U-Boot等,每一子***都有可能需要用到打印串口,即需要对打印串口进行初始化。本申请通过调用第一启动单元的输入接口函数或输出接口函数,来对接相应所需的已经经过初始化的打印串口,从而避免打印串口重复被初始化,提升了***启动效率。
如图2所示,发明人还提供了一种串口驱动程序复用装置,所述装置包括第一启动单元101、参数存储单元104和多个串口103;所述第一启动单元101存储有第一启动代码,所述参数存储单元104中存储有预设配置参数;所述多个串口中一个为默认串口103;
所述第一启动代码被运行时实现以下步骤:
获取参数存储单元中的预设配置参数对默认串口进行初始化;
当运行第二启动单元中的第二启动代码时,判断当前所需串口与默认串口是否一致,若不一致则重新对当前所需串口进行初始化;
调用接口函数进行相应操作。
优选的,所述预设配置参数包括打印调试串口的基地址以及串口驱动输入输出所需的波特率。当前所需串口根据当前芯片对接的电路板确定,所述芯片为所述第一启动单元所在的芯片。所述第一启动单元为BOOT ROM,第二启动单元为BOOTLOADER。
在某些实施例中,所述第一启动单元的接口函数包括输入接口函数或输出接口函数,“调用所述第一启动单元的接口函数进行相应操作”包括:获取子***的调用指令,调用第一启动单元的输入接口函数或输出接口函数,对接子***的输出函数进行打印操作。
如图3所示,为本发明另一实施例涉及的串口驱动程序复用装置的示意图。SOC芯片中包含有内置的BOOT ROM、多个UART串口以及包含用于串口驱动输入输出所需的参数波特率和串口模块基地址的寄存器等硬件。
BOOT ROM中用于调试打印的驱动程序包括uart_init()、putc()/getc(),即包含打印串口驱动程序,以及输出/输入接口函数。其中,uart_init()的功能是对UART控制器及其IO做初始化工作,getc()的功能是从UART控制器获取一个输入字符,putc()的功能是从UART控制器输出一个字符。putc()/getc()是标准输入输出库的最基础单元,可对接任意C库或操作***输入输出库中的打印函数,如print(),printf(),printk()等。
图3中uart base reg和baudrate reg为两个寄存器,这两个寄存器是用于存放uart base值和baudrate值的寄存器。uart base是指用于打印调试的UART控制器的基地址,baudrate是指UART的波特率,其他参数一般使用8个数据位1个停止位作为默认配置,不进行额外修改。在标准的NS16550或类似驱动中,Baudrate在配置UART控制器的寄存器后改控制器可以持续使用。输入输出字符程序的实现是读写UART控制器内固定偏移的寄存器,所以putc()/getc()程序需要跟uart base关联,实现对不同的UART控制器进行读写字符。
图3中的UART0/1/2是指3个UART控制器,具体数量不限,可能少于3个或多于3个。图3中右边一列涉及的Subsystem 1/2/3是指SoC启动过程中,BOOT ROM后面不同阶段所需的独立子***,可能是厂商的loader,ARM Trusted Firmware,Trust OS,U-Boot,Kernel等模块,数量也不限于3个。
当***启动后,BOOTROM中的启动代码先按照默认的配置(uart base和baudrate寄存器中存储的默认值)对串口进行初始化(即uart_init()函数所执行的工作),然后根据实际情况来使用putc()和getc()接口,即根据不同阶段子***的调用请求,通过putc()和getc()接口来对接子***的print()相关函数。
当BOOT ROM阶段完成后,进入Subsystem 1(有些厂商称First Loader或其他名称)中,根据实际电路板(即前文提及的与SOC连接的电子元件的电路板)使用的调试串口号,对UART控制器及其IO进行重新初始化(如果用的串口号与芯片默认串口一致则不需要重新初始化),并在后续的程序中直接使用BOOT ROM的putc()/getc()接口。
在后续任意启动阶段的子***中,就不再需要对串口进行初始化,当需要使用串口进行打印时,均可以直接调用BOOT ROM提供的putc()/getc()接口,通过对接子***的print()相关函数进行打印操作。
本发明提供了一种串口驱动程序复用方法和装置,所述方法包括以下步骤:运行第一启动单元中的第一启动代码,获取预设配置参数对默认串口进行初始化;运行第二启动单元中的第二启动代码,判断当前所需串口与默认串口是否一致,若不一致则重新对当前所需串口进行初始化;调用所述第一启动单元的接口函数进行相应操作。这样,在***启动前期阶段就完成串口的初始化,后续阶段当需要用到打印串口时,只需调用第一启动单元中的接口函数即可,从而避免了串口驱动的重复初始化,缩短了***整体的启动时间。同时,上述方案还可以减少打印串口驱动在启动阶段不同子***的重复维护工作,提高***易用性并减少***维护工作。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (6)
1.一种串口驱动程序复用方法,其特征在于,所述方法包括以下步骤:
运行第一启动单元中的第一启动代码,获取预设配置参数对默认串口进行初始化;
运行第二启动单元中的第二启动代码,判断当前所需串口与默认串口是否一致,若不一致则重新对当前所需串口进行初始化;所述第一启动单元为BOOT ROM ,第二启动单元为BOOTLOADER;
获取子***的调用指令,调用第一启动单元的getc输入接口函数或putc输出接口函数,对接子***的print输出函数进行打印操作;所述子***是指启动时不同阶段的子***。
2.如权利要求1所述的一种串口驱动程序复用方法,其特征在于,所述预设配置参数包括打印调试串口的基地址以及串口驱动输入输出所需的波特率。
3.如权利要求1所述的一种串口驱动程序复用方法,其特征在于,当前所需串口根据当前芯片对接的电路板确定,所述芯片为所述第一启动单元所在的芯片。
4.一种串口驱动程序复用装置,其特征在于,所述装置包括第一启动单元、参数存储单元和多个串口;所述第一启动单元存储有第一启动代码,所述参数存储单元中存储有预设配置参数;所述多个串口中一个为默认串口;
所述第一启动代码被运行时实现以下步骤:
获取参数存储单元中的预设配置参数对默认串口进行初始化;
当运行第二启动单元中的第二启动代码时,判断当前所需串口与默认串口是否一致,若不一致则重新对当前所需串口进行初始化;所述第一启动单元为BOOT ROM ,第二启动单元为BOOTLOADER;
获取子***的调用指令,调用第一启动单元的getc输入接口函数或putc输出接口函数,对接子***的print输出函数进行打印操作;所述子***是指启动时不同阶段的子***。
5.如权利要求4所述的一种串口驱动程序复用装置,其特征在于,所述预设配置参数包括打印调试串口的基地址以及串口驱动输入输出所需的波特率。
6.如权利要求4所述的一种串口驱动程序复用装置,其特征在于,当前所需串口根据当前芯片对接的电路板确定,所述芯片为所述第一启动单元所在的芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910879831.3A CN110737480B (zh) | 2019-09-18 | 2019-09-18 | 一种串口驱动程序复用方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910879831.3A CN110737480B (zh) | 2019-09-18 | 2019-09-18 | 一种串口驱动程序复用方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110737480A CN110737480A (zh) | 2020-01-31 |
CN110737480B true CN110737480B (zh) | 2022-05-13 |
Family
ID=69268023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910879831.3A Active CN110737480B (zh) | 2019-09-18 | 2019-09-18 | 一种串口驱动程序复用方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737480B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256617B (zh) * | 2020-10-23 | 2021-04-20 | 福州富昌维控电子科技有限公司 | 一种提升设备串口通信效率的方法及终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894069A (zh) * | 2010-06-10 | 2010-11-24 | 中兴通讯股份有限公司 | Linux中的早期串口打印调试方法及装置 |
CN103135995A (zh) * | 2011-11-22 | 2013-06-05 | 中兴通讯股份有限公司 | 一种BootLoader的备份管理方法及装置 |
CN104008008A (zh) * | 2014-06-17 | 2014-08-27 | 厦门雅迅网络股份有限公司 | 一种Linux***中复用调试串口的方法 |
CN106407156A (zh) * | 2016-09-23 | 2017-02-15 | 深圳震有科技股份有限公司 | 一个bootrom引导多核cpu启动的方法及*** |
CN108021405A (zh) * | 2016-10-28 | 2018-05-11 | 福州瑞芯微电子股份有限公司 | 一种soc***启动过程中存储介质的驱动方法和装置 |
CN109597651A (zh) * | 2018-10-12 | 2019-04-09 | 国营芜湖机械厂 | 一种基于mpc7410处理器的串口和网口模块开发方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007206885A (ja) * | 2006-01-31 | 2007-08-16 | Toshiba Corp | コンピュータシステム及びシステム起動方法 |
-
2019
- 2019-09-18 CN CN201910879831.3A patent/CN110737480B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894069A (zh) * | 2010-06-10 | 2010-11-24 | 中兴通讯股份有限公司 | Linux中的早期串口打印调试方法及装置 |
CN103135995A (zh) * | 2011-11-22 | 2013-06-05 | 中兴通讯股份有限公司 | 一种BootLoader的备份管理方法及装置 |
CN104008008A (zh) * | 2014-06-17 | 2014-08-27 | 厦门雅迅网络股份有限公司 | 一种Linux***中复用调试串口的方法 |
CN106407156A (zh) * | 2016-09-23 | 2017-02-15 | 深圳震有科技股份有限公司 | 一个bootrom引导多核cpu启动的方法及*** |
CN108021405A (zh) * | 2016-10-28 | 2018-05-11 | 福州瑞芯微电子股份有限公司 | 一种soc***启动过程中存储介质的驱动方法和装置 |
CN109597651A (zh) * | 2018-10-12 | 2019-04-09 | 国营芜湖机械厂 | 一种基于mpc7410处理器的串口和网口模块开发方法 |
Non-Patent Citations (1)
Title |
---|
"嵌入式驱动程序打印程序设计及应用";韩贺松;《中国优秀硕士学位论文全文数据库(工程科技I辑)》;20170331(第03期);第B024-1024页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110737480A (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634883B (zh) | 主从式***、指令执行方法与数据存取方法 | |
US7234050B2 (en) | Techniques for initializing a device on an expansion card | |
KR100990188B1 (ko) | Mmc/sd 기기로부터 호스트 기기를 부팅시키는 방법, mmc/sd 기기로부터 부팅 가능한 호스트 기기 및 호스트 기기가 부팅되는 mmc/sd 기기 방법 | |
US7356684B2 (en) | Booting system and/or method for initializing peripherals | |
WO2013103335A1 (en) | Backing up firmware during initialization of device | |
CN109936716B (zh) | 一种显示驱动的实现方法及*** | |
CN110737480B (zh) | 一种串口驱动程序复用方法和装置 | |
US20070250740A1 (en) | System and method for conducting BIST operations | |
CN116627472A (zh) | 高速***组件设备的固件程序升级方法及服务器 | |
WO2022199622A1 (zh) | 一种电子设备的启动程序的运行方法和电子设备 | |
CN114691223B (zh) | 一种通过网络传输bios日志的方法及装置 | |
JP2003345617A (ja) | 情報処理装置、情報処理方法、icカード、及びプログラム | |
CN111752623A (zh) | 显示配置方法、装置、电子设备及可读存储介质 | |
US10866922B1 (en) | Firmware debug trace capture using serial peripheral interface | |
CN105068835B (zh) | 移动终端及其调试信息显示方法 | |
CN108052337A (zh) | 一种eMMC量产工具的固件升级方法及装置 | |
US7103767B2 (en) | Method and apparatus to support legacy master boot record (MBR) partitions | |
US7343431B1 (en) | Method, apparatus, and computer-readable medium for disabling BIOS-provided console redirection capabilities in the presence of an incompatible communications device | |
JP3308920B2 (ja) | 情報処理装置 | |
US20060136706A1 (en) | Product configuration during boot process | |
CN111176902A (zh) | 一种使用BMC Flash备份Controller Device韧体的装置和方法 | |
CN112534414A (zh) | 软件跟踪消息接收器***设备 | |
CN111176735B (zh) | 一种心电图机启动加速方法 | |
US7240187B2 (en) | Method and apparatus to support legacy master boot record (MBR) partitions | |
CN114385255B (zh) | Pos机的控制方法、***、装置以及计算可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant after: Ruixin Microelectronics Co.,Ltd. Address before: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant before: FUZHOU ROCKCHIP ELECTRONICS Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |