CN107346296B - 一种驱动方法及装置 - Google Patents
一种驱动方法及装置 Download PDFInfo
- Publication number
- CN107346296B CN107346296B CN201610293850.4A CN201610293850A CN107346296B CN 107346296 B CN107346296 B CN 107346296B CN 201610293850 A CN201610293850 A CN 201610293850A CN 107346296 B CN107346296 B CN 107346296B
- Authority
- CN
- China
- Prior art keywords
- serial port
- chip
- port chip
- architecture
- serial
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供一种驱动方法及装置,应用于VxWorks操作系统。所述方法包括:设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量;检测至少一个串口芯片的连接;当检测到所述至少一个串口芯片的连接时,判断所述至少一个串口芯片的个数是否超过预设的所述能够驱动的串口芯片的个数;在所述至少一个串口芯片的个数未超过预设的能够驱动的串口芯片的个数时,对所述至少一个串口芯片进行初始化配置;其中,所述串口芯片包括至少一个串口通道,所述至少一个串口通道的数量大于或等于所述需要使用的串口通道的数量。本发明能够兼容多个CPU架构,而且能够根据用户需求灵活地扩展串口芯片的个数。
Description
技术领域
本发明涉及计算机通信技术领域,尤其涉及一种驱动方法及装置。
背景技术
VxWorks操作系统是一种嵌入式实时操作系统(Real-Time Operating System,RTOS),是嵌入式开发环境的关键组成部分。VxWorks的串口驱动是控制串口芯片的底层程序,是与VxWorks系统配合的接口,实现将CPU的并行数据字符转换为连续的串行数据流发送至串行设备,同时可将从所述串行设备接收的串行数据流转换为并行数据字符提供给CPU,特别适用于计算机与计算机、计算机与外部设备之间的远距离通信。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
VxWorks的串口驱动只能适用于单一的CPU架构,例如,用于UART(UniversalAsynchronous Receiver/Transmitter,通用非同步收发器)的VxWorks5.5串口驱动只能适用于powerpc架构,无法兼容多个CPU架构,从而无法满足将串口驱动安装于不同CPU架构平台的需求;而且,VxWorks的串口驱动只能是针对一个或两个串口芯片构建串口驱动,从而无法根据实际需求扩展串口芯片的个数。
发明内容
本发明提供的驱动方法及装置,能够兼容多个CPU架构,而且能够根据用户需求灵活地扩展串口芯片的个数。
第一方面,本发明提供一种驱动方法,应用于VxWorks操作系统,包括:
设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量;
检测至少一个串口芯片的连接;
当检测到所述至少一个串口芯片的连接时,判断所述至少一个串口芯片的个数是否超过预设的所述能够驱动的串口芯片的个数;
在所述至少一个串口芯片的个数未超过预设的能够驱动的串口芯片的个数时,对所述至少一个串口芯片进行初始化配置;
其中,所述串口芯片包括至少一个串口通道,所述至少一个串口通道的数量大于或等于所述需要使用的串口通道的数量。
第二方面,本发明提供一种驱动装置,应用于VxWorks操作系统,所述装置包括设置模块、检测模块、判断模块和配置模块,其中,
所述设置模块,用于设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量;
所述检测模块,用于检测至少一个串口芯片的连接;
所述判断模块,用于当检测到所述至少一个串口芯片的连接时,判断所述至少一个串口芯片的个数是否超过预设的能够驱动的串口芯片的个数;
所述配置模块,用于在所述判断模块判断所述至少一个串口芯片的个数未超过预设的能够驱动的串口芯片的个数时,对所述至少一个串口芯片初始化配置;
其中,所述串口芯片包括至少一个串口通道,所述至少一个串口通道的数量大于或等于所述需要使用的串口通道的数量。
本发明提供的驱动方法及装置,通过设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量,并在待连接的至少一个串口芯片的个数未超过预设的能够驱动的串口芯片的个数时,对所述至少一个串口芯片进行初始化配置,其中,所述串口芯片包括至少一个串口通道,所述至少一个串口通道的数量大于或等于所述需要使用的串口通道的数量。与现有技术相比,本发明能够兼容多个CPU架构,而且能够根据用户需求灵活地扩展串口芯片的个数。
附图说明
图1为本发明驱动方法的一实施例的的流程图;
图2为本发明驱动方法的另一实施例的流程图;
图3为本发明驱动装置的一实施例的结构示意图;
图4为本发明驱动装置的配置模块的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种驱动方法,应用于VxWorks操作系统,如图1所示,所述方法包括:
S11、设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量。
可选地,通过预先定义的串口芯片个数配置宏来设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量。
具体地,所述串口芯片个数配置宏的定义方式如下:
#define CHIP_NUM N;
其中,N代表所能够驱动的串口芯片的个数。
S12、检测至少一个串口芯片的连接。
S13、当检测到所述至少一个串口芯片的连接时,判断所述至少一个串口芯片的个数是否超过预设的所述能够驱动的串口芯片的个数。
S14、在所述至少一个串口芯片的个数未超过预设的能够驱动的串口芯片的个数时,对所述至少一个串口芯片进行初始化配置。
其中,所述串口芯片包括至少一个串口通道,所述至少一个串口通道的数量大于或等于所述需要使用的串口通道的数量。
本发明实施例提供的驱动方法,与现有技术相比,其通过设置所述能够驱动的串口芯片的个数,从而使得用户可以根据需求灵活地扩展串口芯片的个数。
进一步地,如图2所示,对所述至少一个串口芯片进行初始化配置包括:
S141、利用串口芯片的厂家标识和设备标识,获取各串口芯片的总线号、设备号和功能号。
具体地,通过调用pciFindDevice函数,并利用串口芯片的厂家标识和设备标识,获取各串口芯片的总线号、设备号和功能号。
S142、根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的内存空间基地址。
具体地,通过调用pciConfigInLong函数,并根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的内存空间基地址。
S143、根据所述内存空间基地址配置所述各串口芯片各自所需要使用的各个串口通道的内存空间地址。
S144、根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的中断号。
具体地,通过调用pciConfigInByte函数,并根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的中断号。
S145、确定所述各串口芯片将要应用的CPU架构。
可选地,根据预先定义的CPU架构宏,确定所述各串口芯片将要应用的CPU架构。其中,所述CPU架构可以为PowerPC架构、X86架构、MIPS架构或者ARM架构。
具体地,所述CPU架构宏的定义方式如下:
#define CPU_ARCH。
目前,主流的CPU架构有:X86、PowerPC、MIPS、ARM架构,通过这个宏定义,可兼容这四个架构下对应的函数。
S146、根据所述各串口芯片的中断号,调用所述CPU架构的中断挂接函数和中断使能函数。
例如,如果所述CPU架构为X86架构,则调用pciIntConnect中断挂接函数和sysIntEnable中断使能函数。
本发明实施例提供的驱动方法,与现有技术相比,一方面,其通过设置所述能够驱动的串口芯片的个数,从而使得用户可以根据需求灵活地扩展串口芯片的个数;另一方面,由于能够支持多种CPU架构,使得本发明能够兼容CPU架构平台,从而能够满足应用于不同CPU架构平台的需求。
本发明实施例还提供一种驱动装置,应用于VxWorks操作系统,如图3所示,所述装置包括设置模块21、检测模块22、判断模块23和配置模块24,其中,
所述设置模块21,用于设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量。
具体地,所述串口芯片个数配置宏的定义方式如下:
#define CHIP_NUM N;
其中,N代表所需要配置的芯片个数。
可选地,所述设置模块21,用于通过串口配置宏来设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量。
所述检测模块22,用于检测至少一个串口芯片的连接。
所述判断模块23,用于当检测到所述至少一个串口芯片的连接时,判断所述至少一个串口芯片的个数是否超过预设的能够驱动的串口芯片的个数。
所述配置模块24,用于在所述判断模块判断所述至少一个串口芯片的个数未超过预设的能够驱动的串口芯片的个数时,对所述至少一个串口芯片初始化配置。
其中,所述串口芯片包括至少一个串口通道,所述至少一个串口通道的数量大于或等于所述需要使用的串口通道的数量。
本发明实施例提供的驱动装置,与现有技术相比,一方面,其通过设置所述能够驱动的串口芯片的个数,从而使得用户可以根据需求灵活地扩展串口芯片的个数;另一方面,由于能够支持多种CPU架构,使得本发明能够兼容CPU架构平台,从而能够满足应用于不同CPU架构平台的需求。
进一步地,所述配置模块24包括第一获取单元241、第二获取单元241、配置单元243、第三获取单元244、确定单元245和调用单元246。
所述第一获取单元241,用于利用串口芯片的厂家标识和设备标识,获取各串口芯片的总线号、设备号和功能号。
具体地,所述第一获取单元241通过调用pciFindDevice函数,并利用串口芯片的厂家标识和设备标识,获取各串口芯片的总线号、设备号和功能号。
所述第二获取单元242,用于根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的内存空间基地址。
具体地,所述第二获取单元242通过调用pciConfigInLong函数,并根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的内存空间基地址。
所述配置单元243,用于根据所述内存空间基地址配置所述各串口芯片各自所需要使用的各个串口通道的内存空间地址。
所述第三获取单元244,用于根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的中断号。
具体地,所述第三获取单元244通过调用pciConfigInByte函数,并根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的中断号。
所述确定单元245,用于确定所述各串口芯片将要应用的CPU架构。
可选地,所述确定单元,用于根据预先定义的CPU架构宏,确定所述各串口芯片将要应用的CPU架构。其中,所述CPU架构可以为PowerPC架构、X86架构、MIPS架构或者ARM架构。
具体地,所述CPU架构宏的定义方式如下:
#define CPU_ARCH。
目前,主流的CPU架构有:X86、PowerPC、MIPS、ARM架构,通过这个宏定义,可兼容这四个架构下对应的函数。
所述调用单元246,用于根据所述各串口芯片的中断号,调用所述CPU架构的中断挂接函数和中断使能函数。
本发明实施例提供的驱动装置,与现有技术相比,一方面,其通过设置所述能够驱动的串口芯片的个数,从而使得用户可以根据需求灵活地扩展串口芯片的个数;另一方面,由于能够支持多种CPU架构,使得本发明能够兼容CPU架构平台,从而能够满足应用于不同CPU架构平台的需求。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种驱动方法,应用于VxWorks操作系统,其特征在于,包括:
设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量;
检测至少一个串口芯片的连接;
当检测到所述至少一个串口芯片的连接时,判断所述至少一个串口芯片的个数是否超过预设的所述能够驱动的串口芯片的个数;
在所述至少一个串口芯片的个数未超过预设的能够驱动的串口芯片的个数时,对所述至少一个串口芯片进行初始化配置;
其中,所述串口芯片包括至少一个串口通道,所述至少一个串口通道的数量大于或等于所述需要使用的串口通道的数量;
所述设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量包括:
通过预先定义的串口芯片个数配置宏来设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量;
所述对所述至少一个串口芯片进行初始化配置包括:
利用串口芯片的厂家标识和设备标识,获取各串口芯片的总线号、设备号和功能号;
根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的内存空间基地址;
根据所述内存空间基地址配置所述各串口芯片各自所需要使用的各个串口通道的内存空间地址;
根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的中断号;
确定所述各串口芯片将要应用的CPU架构;
根据所述各串口芯片的中断号,调用所述CPU架构的中断挂接函数和中断使能函数。
2.根据权利要求1所述的方法,其特征在于,所述确定所述各串口芯片将要应用的CPU架构包括:
根据预先定义的CPU架构宏,确定所述各串口芯片将要应用的CPU架构。
3.根据权利要求1或2所述的方法,其特征在于,所述CPU架构为PowerPC架构、X86架构、MIPS架构或者ARM架构。
4.一种驱动装置,应用于VxWorks操作系统,其特征在于,所述装置包括设置模块、检测模块、判断模块和配置模块,其中,
所述设置模块,用于设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量;
所述检测模块,用于检测至少一个串口芯片的连接;
所述判断模块,用于当检测到所述至少一个串口芯片的连接时,判断所述至少一个串口芯片的个数是否超过预设的能够驱动的串口芯片的个数;
所述配置模块,用于在所述判断模块判断所述至少一个串口芯片的个数未超过预设的能够驱动的串口芯片的个数时,对所述至少一个串口芯片初始化配置;
所述设置模块,用于通过串口芯片个数配置宏来设置能够驱动的串口芯片的个数和每个串口芯片需要使用的串口通道的数量;
所述配置模块包括第一获取单元、第二获取单元、第三获取单元、配置单元、确定单元和调用单元,其中,
所述第一获取单元,用于利用串口芯片的厂家标识和设备标识,获取各串口芯片的总线号、设备号和功能号;
所述第二获取单元,用于根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的内存空间基地址;
所述配置单元,用于根据所述内存空间基地址配置所述各串口芯片各自所需要使用的各个串口通道的内存空间地址;
所述第三获取单元,用于根据所述各串口芯片的总线号、设备号和功能号,获取所述各串口芯片的中断号;
所述确定单元,用于确定所述各串口芯片将要应用的CPU架构;
所述调用单元,用于根据所述各串口芯片的中断号,调用所述CPU架构的中断挂接函数和中断使能函数;
其中,所述串口芯片包括至少一个串口通道,所述至少一个串口通道的数量大于或等于所述需要使用的串口通道的数量。
5.根据权利要求4所述的装置,其特征在于,所述确定单元,用于根据预先定义的CPU架构宏,确定所述各串口芯片将要应用的CPU架构。
6.根据权利要求4或5所述的装置,其特征在于,所述CPU架构为PowerPC架构、X86架构、MIPS架构或者ARM架构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610293850.4A CN107346296B (zh) | 2016-05-05 | 2016-05-05 | 一种驱动方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610293850.4A CN107346296B (zh) | 2016-05-05 | 2016-05-05 | 一种驱动方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107346296A CN107346296A (zh) | 2017-11-14 |
CN107346296B true CN107346296B (zh) | 2022-01-18 |
Family
ID=60254202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610293850.4A Active CN107346296B (zh) | 2016-05-05 | 2016-05-05 | 一种驱动方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107346296B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009103B (zh) * | 2017-11-28 | 2021-03-26 | 中国船舶重工集团公司第七一六研究所 | 一种VxWorks系统的PCI设备排序方法 |
CN110083394B (zh) * | 2019-04-04 | 2022-04-22 | 龙芯中科技术股份有限公司 | 串口驱动方法、装置及存储介质 |
CN111870938B (zh) * | 2020-07-09 | 2024-07-30 | 天津津航计算技术研究所 | vxworks系统下基于windml的操纵杆串口驱动设计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840306A (zh) * | 2009-03-18 | 2010-09-22 | 研祥智能科技股份有限公司 | VxWorks操作系统中实现驱动SATA设备的方法和系统 |
CN103294509A (zh) * | 2013-05-17 | 2013-09-11 | 深圳市亿威尔信息技术股份有限公司 | 用于VxWorks操作系统的驱动多串口设备的方法 |
CN103412841A (zh) * | 2013-08-30 | 2013-11-27 | 哈尔滨工业大学 | VxWorks 操作系统下CPCI总线RS422通信模块的驱动器及驱动方法 |
CN103955387A (zh) * | 2014-04-25 | 2014-07-30 | 国家电网公司 | 一种VxWorks系统中BSP的设计方法 |
-
2016
- 2016-05-05 CN CN201610293850.4A patent/CN107346296B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840306A (zh) * | 2009-03-18 | 2010-09-22 | 研祥智能科技股份有限公司 | VxWorks操作系统中实现驱动SATA设备的方法和系统 |
CN103294509A (zh) * | 2013-05-17 | 2013-09-11 | 深圳市亿威尔信息技术股份有限公司 | 用于VxWorks操作系统的驱动多串口设备的方法 |
CN103412841A (zh) * | 2013-08-30 | 2013-11-27 | 哈尔滨工业大学 | VxWorks 操作系统下CPCI总线RS422通信模块的驱动器及驱动方法 |
CN103955387A (zh) * | 2014-04-25 | 2014-07-30 | 国家电网公司 | 一种VxWorks系统中BSP的设计方法 |
Non-Patent Citations (1)
Title |
---|
《基于VxWorks的多串口卡驱动程序设计》;欧峰;《测控技术》;20081018;第71-74页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107346296A (zh) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3575975B1 (en) | Method and apparatus for operating smart network interface card | |
CN106296888B (zh) | 一种基于人脸识别的解锁方法、装置及终端 | |
EP2661064A2 (en) | Method for identifying universal serial bus host, and electronic device thereof | |
CN107346296B (zh) | 一种驱动方法及装置 | |
CN104216840B (zh) | 一种usb设置和对外部设备进行操作的方法及装置 | |
WO2015096033A1 (zh) | 检测智能终端的硬件是否运行异常的方法以及智能终端 | |
JP2017184169A5 (zh) | ||
CN106487798B (zh) | 数据同步方法及装置 | |
US20170311154A1 (en) | Security hub utilizing near field communication to onboard sensors | |
US10120697B2 (en) | Mobile device support for sensors in peripherals | |
CN105094911B (zh) | 无线通信模块的一键升级方法及一键升级工具 | |
CN109406025B (zh) | 压力测试方法、装置及电子设备 | |
CN110505609B (zh) | 一种蓝牙交互方法、蓝牙交互装置及终端设备 | |
US10635606B2 (en) | Method and apparatus for maintaining continuity of on-going session over wired or wireless interface | |
CN106507300A (zh) | 一种找回丢失终端的方法、装置及终端 | |
CN113997705A (zh) | 一种印控仪的用印方法及装置 | |
CN107229591B (zh) | 多串口通信方法及装置 | |
WO2015117378A1 (zh) | 端口自适应配置的方法及相关系统、计算机存储介质 | |
CN109711193B (zh) | 一种存储空间的共享方法和装置 | |
CN103795857B (zh) | 信息处理方法及电子设备 | |
CN108306939B (zh) | 一种数据处理方法、装置及转发设备 | |
WO2017116401A1 (en) | Booting a computer using a wireless network connection | |
CN108306933A (zh) | 一种基于桌面虚拟化的输入重定向的方法、装置及系统 | |
CN109558731B (zh) | 特征码处理方法、装置及存储介质 | |
WO2015120709A1 (zh) | 一种自动识别主机操作系统的方法、装置及usb设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230616 Address after: 518057 1701, Yanxiang science and technology building, 31 Gaoxin middle Fourth Road, Maling community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Patentee after: Shenzhen Yanxiang Smart Technology Co.,Ltd. Address before: 518107 5th floor, No.1, Yanxiang Zhigu chuangxiangdi, No.11, Gaoxin Road, Guangming New District, Shenzhen City, Guangdong Province Patentee before: EVOC INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |