CN115408320A - Method for generating serial port simulation data - Google Patents
Method for generating serial port simulation data Download PDFInfo
- Publication number
- CN115408320A CN115408320A CN202211014848.0A CN202211014848A CN115408320A CN 115408320 A CN115408320 A CN 115408320A CN 202211014848 A CN202211014848 A CN 202211014848A CN 115408320 A CN115408320 A CN 115408320A
- Authority
- CN
- China
- Prior art keywords
- data
- tty
- serial port
- driver
- uart
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
技术领域technical field
本发明涉及串口数据模拟计算领域,特别涉及一种生成串口模拟数据的方法。The invention relates to the field of serial port data simulation calculations, in particular to a method for generating serial port simulation data.
背景技术Background technique
本部分的陈述仅仅是提供了与本发明相关的背景技术,并不必然构成现有技术。The statements in this section merely provide background art related to the present invention and do not necessarily constitute prior art.
开发串口相关的项目时,有时手头没有足够的串口设备或根本没有相关设备,此时需要通过某种方法来模拟串口数据。When developing serial port-related projects, sometimes there are not enough serial port devices or no related devices at all. At this time, some method is needed to simulate the serial port data.
发明人发现,当前通用的获取模拟方法为:The inventors found that the current general method of obtaining simulation is:
(1)通过虚拟串口,虚拟出一对串口,一个用于项目程序获取数据,另一个用于数据模拟软件来产生模拟数据,但linux下虚拟串口工具较少且应用不是很方便;(1) Through the virtual serial port, a pair of serial ports are virtualized, one is used for the project program to obtain data, and the other is used for data simulation software to generate simulated data, but there are few virtual serial port tools under Linux and the application is not very convenient;
(2)通过USB转串口设备,将多个设备的A与A相连,B与B相连,其中一个设备用于项目程序,另外几个用于产生模拟数据,此方法需要多个USB转串口设备,不适合需要大量串口设备的测试场景。(2) Connect multiple devices A to A and B to B through a USB-to-serial device. One of the devices is used for the project program, and the other ones are used to generate analog data. This method requires multiple USB-to-serial devices , not suitable for test scenarios that require a large number of serial devices.
发明内容Contents of the invention
为了解决现有技术的不足,本发明提供了一种生成串口模拟数据的方法,利用linux的串口驱动,产生模拟数据,不需要第三方工具,也不需要其他真实的串口设备,极大的提高了串口模拟数据的生成效率。In order to solve the deficiencies in the prior art, the present invention provides a method for generating serial port simulation data, which uses the serial port driver of linux to generate simulation data without the need for third-party tools or other real serial port devices, which greatly improves the The generation efficiency of the serial port analog data is improved.
为了实现上述目的,本发明采用如下技术方案:In order to achieve the above object, the present invention adopts the following technical solutions:
本发明第一方面提供了一种生成串口模拟数据的方法。The first aspect of the present invention provides a method for generating serial port simulation data.
一种生成串口模拟数据的方法,包括以下过程:A method for generating serial port analog data, comprising the following processes:
串口驱动注册,添加串口端口uart_port,其中,uart_port的ops为uart_ops类型;Serial driver registration, add serial port uart_port, where the ops of uart_port is uart_ops type;
当用户空间调用write通过设备文件向串口驱动发送数据时,调用uart_ops结构中start_tx中设置的回调函数,回调函数中的start_tx设置的函数为serial_start_tx,用户空间发送的数据保存在circ_buf中,如果数据未跨越缓冲区结尾,则按第一形式保护,否则按第二形式保存;对保存的用户空间发送的数据进行校验;When the user space calls write to send data to the serial port driver through the device file, the callback function set in start_tx in the uart_ops structure is called. The function set by start_tx in the callback function is serial_start_tx, and the data sent by the user space is stored in circ_buf. If the data is not If it crosses the end of the buffer, it will be protected in the first form, otherwise it will be saved in the second form; verify the data sent by the saved user space;
在serial_start_tx中,对用户空间发送的数据校验成功后,组装返回报文,对返回报文中的每个字节,依次调用tty_insert_flip_char方法将数据保存到tty_buffer的data缓冲区中;In serial_start_tx, after the data sent by the user space is verified successfully, the returned message is assembled, and for each byte in the returned message, the tty_insert_flip_char method is called in turn to save the data into the data buffer of tty_buffer;
调用tty_flip_buffer_push方法将tty_bufhead.work添加到全局的work队列中,返回报文数据到用户空间。Call the tty_flip_buffer_push method to add tty_bufhead.work to the global work queue, and return the message data to the user space.
作为可选的一种实现方式,回调函数为:void(*start_tx)(struct uart_port*)。As an optional implementation, the callback function is: void(*start_tx)(struct uart_port*).
作为可选的一种实现方式,串口驱动注册,包括:As an optional implementation, serial port driver registration includes:
使用uart_register_driver方法将串口驱动uart_driver注册到内核。Use the uart_register_driver method to register the serial port driver uart_driver to the kernel.
进一步的,uart_driver包括设备名称以及主版本号和次版本号,设备名称为在/dev下显示的名称。Further, uart_driver includes device name and major version number and minor version number, and the device name is the name displayed under /dev.
进一步的,串口驱动为分层结构,包括核心层tty_core和驱动层tty_driver,tty_driver封装在uart_driver结构中,驱动层tty_driver中包括线路规划。Further, the serial port driver has a layered structure, including the core layer tty_core and the driver layer tty_driver, the tty_driver is encapsulated in the uart_driver structure, and the driver layer tty_driver includes circuit planning.
作为可选的一种实现方式,使用uart_add_one_port添加串口端口uart_port。As an optional implementation, use uart_add_one_port to add the serial port uart_port.
作为可选的一种实现方式,返回报文数据到用户空间,包括:As an optional implementation, return message data to user space, including:
用户空间通过设备文件读取串口数据时,调用串口框架的n_tty_read;When the user space reads the serial port data through the device file, it calls n_tty_read of the serial port framework;
发送给用户空间的数据,保存在n_tty_data的read_buf中,如果有数据可读,则将数据发送到用户空间;如果无数据可读,n_tty_read中会休眠,等待调度线程从全局队列中获取数据,并调用flush_to_ldisc将数据从tty_bufhead.tail.data拷贝到tty_struct.disc_data.read_buf。The data sent to the user space is stored in the read_buf of n_tty_data. If there is data to read, the data will be sent to the user space; if there is no data to read, n_tty_read will sleep, waiting for the scheduling thread to get data from the global queue, and Call flush_to_ldisc to copy data from tty_bufhead.tail.data to tty_struct.disc_data.read_buf.
作为可选的一种实现方式,n_tty_read函数,包括:As an optional implementation, the n_tty_read function includes:
static ssize_t n_tty_read(struct tty_struct*tty,struct file*file,unsigned char__user*buf,size_t nr)。static ssize_t n_tty_read(struct tty_struct *tty, struct file*file, unsigned char__user*buf, size_t nr).
作为可选的一种实现方式,flush_to_ldisc的函数为void flush_to_ldisc(struct work_struct*work),其中,参数work为tty_bufhead中的work。As an optional implementation, the function of flush_to_ldisc is void flush_to_ldisc(struct work_struct*work), where the parameter work is work in tty_bufhead.
作为可选的一种实现方式,依次调用tty_insert_flip_char方法将数据保存到tty_buffer的data缓冲区中,其中,将返回报文的前两个字节写入缓冲区,包括以下过程:As an optional implementation, call the tty_insert_flip_char method in turn to save the data into the data buffer of tty_buffer, where the first two bytes of the returned message are written into the buffer, including the following process:
写入第一个字节,1为第一个字节的值,tty_insert_flip_char(tty,1,0);Write the first byte, 1 is the value of the first byte, tty_insert_flip_char(tty,1,0);
写入第二个字节,3为第二个字节的值,tty_insert_flip_char(tty,3,0);Write the second byte, 3 is the value of the second byte, tty_insert_flip_char(tty,3,0);
数据组装结束后,调用tty_flip_buffer_push方法将数据发送出去。After the data is assembled, call the tty_flip_buffer_push method to send the data.
与现有技术相比,本发明的有益效果是:Compared with prior art, the beneficial effect of the present invention is:
本发明所述的生成串口模拟数据的方法,利用linux的串口驱动,产生模拟数据,不需要第三方工具,也不需要其他真实的串口设备,极大的提高了串口模拟数据的生成效率。The method for generating serial port simulation data described in the present invention utilizes the serial port driver of linux to generate simulation data without the need for third-party tools or other real serial port devices, which greatly improves the generation efficiency of serial port simulation data.
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。Advantages of additional aspects of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
附图说明Description of drawings
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。The accompanying drawings constituting a part of the present invention are used to provide a further understanding of the present invention, and the schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations to the present invention.
图1为本发明实施例提供的串口驱动结构。Fig. 1 is a serial port driver structure provided by an embodiment of the present invention.
图2为本发明实施例提供的串口驱动分层结构示意图。FIG. 2 is a schematic diagram of a hierarchical structure of a serial port driver provided by an embodiment of the present invention.
图3为本发明实施例提供的串口结构关联示意图。FIG. 3 is a schematic diagram of a serial port structure provided by an embodiment of the present invention.
图4为本发明实施例提供的circ_buf数据结构示意图。Fig. 4 is a schematic diagram of the data structure of circ_buf provided by the embodiment of the present invention.
具体实施方式Detailed ways
下面结合附图与实施例对本发明作进一步说明。The present invention will be further described below in conjunction with the accompanying drawings and embodiments.
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。It should be noted that the following detailed description is exemplary and intended to provide further explanation of the present invention. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。It should be noted that the terminology used here is only for describing specific embodiments, and is not intended to limit exemplary embodiments according to the present invention. As used herein, unless the context clearly dictates otherwise, the singular is intended to include the plural, and it should also be understood that when the terms "comprising" and/or "comprising" are used in this specification, they mean There are features, steps, operations, means, components and/or combinations thereof.
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。In the case of no conflict, the embodiments and the features in the embodiments of the present invention can be combined with each other.
实施例1:Example 1:
如图1所示,本发明实施例1提供了一种生成串口模拟数据的方法,包括以下过程:As shown in Figure 1,
1)注册串口驱动1) Register the serial port driver
使用uart_register_driver方法将串口驱动uart_driver注册到内核,uart_driver中包含了设备名称(即在/dev下显示的名称)以及主版本号和次版本号,uart_driver结构见图1。Use the uart_register_driver method to register the serial port driver uart_driver to the kernel. The uart_driver contains the device name (that is, the name displayed under /dev), the major version number and the minor version number. The uart_driver structure is shown in Figure 1.
串口驱动分层结构(见图2),分为核心层(tty_core)和驱动层(tty_driver),其中uart_driver结构中封装了tty_driver,驱动层中还包含线路规划(line discipline)。The hierarchical structure of the serial port driver (see Figure 2) is divided into the core layer (tty_core) and the driver layer (tty_driver). The uart_driver structure encapsulates the tty_driver, and the driver layer also includes the line discipline.
2)添加串口端口2) Add serial port
使用uart_add_one_port添加一个串口端口uart_port,uart_port的ops为uart_ops类型,此类型定义了串口各种操作的回调函数。其中的serial_start_tx是向串口驱动发送数据时,被调用到的方法,也是本发明需要重点关注的方法。Use uart_add_one_port to add a serial port uart_port, the ops of uart_port is uart_ops type, this type defines the callback function of various operations of the serial port. Among them, serial_start_tx is a method called when sending data to the serial port driver, and it is also a method that needs to be focused on in the present invention.
3)接收发送到驱动的数据3) Receive data sent to the driver
该部分涉及的各种数据结构,及各数据结构中的关联,见图3。The various data structures involved in this part and the associations in each data structure are shown in Figure 3.
当用户空间,调用write通过设备文件(如:/dev/ttyS1)向串口驱动发送数据时,会调用uart_ops结构中start_tx中设置的回调函数,该函数的原型为:void(*start_tx)(struct uart_port*)。以下假设start_tx设置的函数为serial_start_tx。用户空间发送的数据,保存在了circ_buf中,circ_buf结构见图4。如果数据未跨越缓冲区结尾,则数据保存方式为图4中的(1)所示,否则为图4中的(2)所示。When the user space calls write to send data to the serial port driver through the device file (such as: /dev/ttyS1), it will call the callback function set in start_tx in the uart_ops structure. The prototype of this function is: void(*start_tx)(struct uart_port *). The following assumes that the function set by start_tx is serial_start_tx. The data sent by the user space is stored in circ_buf, and the structure of circ_buf is shown in Figure 4. If the data does not cross the end of the buffer, the data saving mode is as shown in (1) in FIG. 4 , otherwise it is as shown in (2) in FIG. 4 .
依上的述,可获取到用户空间所发送的数据,并对数据进行校验。According to the above, the data sent by the user space can be obtained, and the data can be verified.
4)返回模拟数据4) Return mock data
在serial_start_tx中,对用户空间发送的数据校验成功后,可组装返回报文。对返回报文中的每个字节,依次调用tty_insert_flip_char方法;tty_insert_flip_char最终将数据保存到图3中tty_buffer的data缓冲区中。In serial_start_tx, after the data sent by the user space is verified successfully, the return message can be assembled. For each byte in the returned message, the tty_insert_flip_char method is called in turn; tty_insert_flip_char finally saves the data to the data buffer of tty_buffer in Figure 3.
最后调用tty_flip_buffer_push方法将图3中tty_bufhead.work添加到全局的work队列中。Finally, call the tty_flip_buffer_push method to add tty_bufhead.work in Figure 3 to the global work queue.
返回报文数据到用户空间的流程如下:The process of returning message data to user space is as follows:
用户空间通过设备文件(如:/dev/ttyS1)读取串口数据时,会调用到串口框架的n_tty_read。该函数的原型为:static ssize_t n_tty_read(struct tty_struct*tty,struct file*file,unsigned char__user*buf,size_t nr);When user space reads serial port data through a device file (such as: /dev/ttyS1), it will call n_tty_read of the serial port framework. The prototype of this function is: static ssize_t n_tty_read(struct tty_struct*tty, struct file*file, unsigned char__user*buf, size_t nr);
发送给用户空间的数据,保存在图3中n_tty_data的read_buf中,如果有数据可读,则将数据发送到用户空间;如果无数据可读,n_tty_read中会休眠,等待调度线程从上述全局队列中获取数据,并调用flush_to_ldisc将数据从tty_bufhead.tail.data拷贝到tty_struct.disc_data.read_buf;The data sent to the user space is stored in the read_buf of n_tty_data in Figure 3. If there is data to be read, the data will be sent to the user space; if there is no data to be read, n_tty_read will sleep, waiting for the scheduling thread to get from the above global queue Get the data and call flush_to_ldisc to copy the data from tty_bufhead.tail.data to tty_struct.disc_data.read_buf;
flush_to_ldisc的原型为void flush_to_ldisc(struct work_struct*work),该函数参数work为tty_bufhead中的work。The prototype of flush_to_ldisc is void flush_to_ldisc(struct work_struct*work), and the function parameter work is work in tty_bufhead.
5)驱动的安装5) Driver installation
编写Makefile脚本,输入make进行编译,编译成功后会生成一个.ko文件;Write the Makefile script, enter make to compile, and a .ko file will be generated after the compilation is successful;
输入insmod name.ko安装驱动,安装成功后会在/dev目录下生成相应的驱动文件。Enter insmod name.ko to install the driver. After the installation is successful, the corresponding driver file will be generated in the /dev directory.
具体的,所述方案提供如下具体示例:Specifically, the solution provides the following specific examples:
S1:注册串口驱动S1: Register serial port driver
使用uart_register_driver方法将串口驱动uart_driver注册到内核,uart_driver中包含了设备名称(即在/dev下显示的名称)与主、次版本号。Use the uart_register_driver method to register the serial port driver uart_driver to the kernel, and uart_driver contains the device name (that is, the name displayed under /dev) and the major and minor version numbers.
S2:添加串口端口S2: Add serial port
使用uart_add_one_port添加一个串口端口uart_port,uart_port的ops为uart_ops类型,此类型定义了串口各种操作的回调函数,其中的serial_start_tx是向串口发送数据时,被调用到的方法,也是本发明需要重点关注的方法。Use uart_add_one_port to add a serial port uart_port, the ops of uart_port is uart_ops type, this type defines the callback function of various operations of the serial port, where serial_start_tx is the method called when sending data to the serial port, which is also the focus of this invention method.
S3:接收发送到驱动的数据S3: Receive data sent to the driver
处理发送给串口驱动的数据的方法是serial_start_tx,此方法的参数类型为uart_port;The method to process the data sent to the serial port driver is serial_start_tx, and the parameter type of this method is uart_port;
uart_port->state->xmit保存了发送给串口驱动的数据,通过xmit->buf和xmit->tail可遍历出所有的数据;uart_port->state->xmit saves the data sent to the serial port driver, and all the data can be traversed through xmit->buf and xmit->tail;
可以将数据保存到局部数组中,以方便后面的使用。接下来可以对收到报文进行校验。Data can be stored in local arrays for later use. Next, the received message can be verified.
S4:返回模拟数据S4: return simulated data
uart_port->state->port为tty_port类型,通过tty_insert_flip_char将待发送的报文写入驱动的缓冲区。uart_port->state->port is of tty_port type, and the message to be sent is written into the buffer of the driver through tty_insert_flip_char.
将返回报文的前两个字节写入缓冲区,可以利用下面的方法:To write the first two bytes of the returned message into the buffer, you can use the following method:
写入第一个字节,1为第一个字节的值;Write the first byte, 1 is the value of the first byte;
tty_insert_flip_char(tty,1,0);tty_insert_flip_char(tty,1,0);
写入第二个字节,3为第二个字节的值;Write the second byte, 3 is the value of the second byte;
tty_insert_flip_char(tty,3,0);tty_insert_flip_char(tty,3,0);
数据组装结束后,调用tty_flip_buffer_push方法将数据发送出去。After the data is assembled, call the tty_flip_buffer_push method to send the data.
S5:模拟一条串口线下有多个设备S5: Simulate a serial port line with multiple devices
将pkg_buf第0个数据改为snd_buf的第0个数据,此方法的缺点是大多数据情况下,返回的数据都相同。Change the 0th data of pkg_buf to the 0th data of snd_buf. The disadvantage of this method is that in most data cases, the returned data are the same.
另一种方法是,定义一个全局数组,如(以modbus03功能码为例):Another method is to define a global array, such as (take modbus03 function code as an example):
char test[][7]={01,03,04,01,0x1D,01,0xFA,02,03,04,01,0x1E,01,0xFB,03,03,04,01,0x1C,01,0xFC};char test[][7]={01,03,04,01,0x1D,01,0xFA,02,03,04,01,0x1E,01,0xFB,03,03,04,01,0x1C,01,0xFC };
后面根据S3中的从机地址,选择相应的数组数据,计算CRC校验码返回数据。Later, according to the slave address in S3, select the corresponding array data, calculate the CRC check code and return the data.
S6:驱动的安装S6: Driver installation
编写Makefile脚本,输入make进行编译,编译成功后会生成一个.ko文件;Write the Makefile script, enter make to compile, and a .ko file will be generated after the compilation is successful;
输入insmod name.ko安装驱动,安装成功后会在/dev目录下生成相应的驱动文件。Enter insmod name.ko to install the driver. After the installation is successful, the corresponding driver file will be generated in the /dev directory.
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and changes. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211014848.0A CN115408320A (en) | 2022-08-23 | 2022-08-23 | Method for generating serial port simulation data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211014848.0A CN115408320A (en) | 2022-08-23 | 2022-08-23 | Method for generating serial port simulation data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN115408320A true CN115408320A (en) | 2022-11-29 |
Family
ID=84162314
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211014848.0A Pending CN115408320A (en) | 2022-08-23 | 2022-08-23 | Method for generating serial port simulation data |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115408320A (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140365702A1 (en) * | 2013-06-05 | 2014-12-11 | The Boeing Company | Sensor network using pulse width modulated signals |
| US20160359912A1 (en) * | 2015-06-05 | 2016-12-08 | Cisco Technology, Inc. | System and method for network policy simulation |
| US20210042145A1 (en) * | 2018-11-29 | 2021-02-11 | Bernardo Starosta | Method and System for Interactive Cyber Simulation Exercises |
| CN112416521A (en) * | 2020-11-24 | 2021-02-26 | 超越科技股份有限公司 | Serial port virtualization implementation method based on linux tty subsystem |
-
2022
- 2022-08-23 CN CN202211014848.0A patent/CN115408320A/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140365702A1 (en) * | 2013-06-05 | 2014-12-11 | The Boeing Company | Sensor network using pulse width modulated signals |
| US20160359912A1 (en) * | 2015-06-05 | 2016-12-08 | Cisco Technology, Inc. | System and method for network policy simulation |
| US20210042145A1 (en) * | 2018-11-29 | 2021-02-11 | Bernardo Starosta | Method and System for Interactive Cyber Simulation Exercises |
| CN112416521A (en) * | 2020-11-24 | 2021-02-26 | 超越科技股份有限公司 | Serial port virtualization implementation method based on linux tty subsystem |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105359098B (en) | Method, medium and system for performing application switching in a multiprocessor system | |
| CN102508753B (en) | IP (Internet protocol) core verification system | |
| CN102841837B (en) | Software and hardware co-verification method based on simulator and system thereof | |
| CN101799754A (en) | Method and system for developing web application | |
| CN117785593B (en) | A UVM-based xHCI driver implementation system and method | |
| CN114461478B (en) | Simulator, drive test method, electronic device and computer readable storage medium | |
| CN111176926A (en) | IP (Internet protocol) core simulation system and simulation method based on double-port SRAM (static random Access memory) | |
| JP2004519041A (en) | Hardware-aided design verification system using integrated packet-based protocol logic for efficient data loading and unloading | |
| Pelcat et al. | A system-level architecture model for rapid prototyping of heterogeneous multicore embedded systems | |
| CN115017845A (en) | Bus driving type chip simulation excitation model for IP unit level verification | |
| CN114610598A (en) | Test method, test device, electronic equipment and computer readable storage medium | |
| CN113641577A (en) | Method and device for debugging application program of terminal product | |
| CN111274144B (en) | A unit testing method and system based on network file system operation word interface | |
| CN102231132A (en) | Method for generating simulation test example of AADL (Architecture Analysis and Design Language) software component model based on SystemC | |
| CN115858092A (en) | Time sequence simulation method, device and system | |
| CN115408320A (en) | Method for generating serial port simulation data | |
| CN115407756A (en) | Virtual controller testing method and device, equipment and medium | |
| CN103415085B (en) | A kind of automatic generation method of general MAC protocol processor | |
| CN113010361A (en) | MIO function rapid verification method of fully programmable SOC chip | |
| CN116627496B (en) | UVM-based register model construction and verification method, system and electronic equipment | |
| JP2006343942A (en) | Bus system design method and device | |
| CN1987798A (en) | Communication method between data plane and control plane | |
| CN118051434A (en) | Automated testing system and method | |
| CN107526585B (en) | Scala-based FPGA development platform and its debugging and testing methods | |
| CN117332742A (en) | Simulation verification method and device for chip design stage |
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 |
Country or region after: China Address after: 250101 room 1712, building 1, Qisheng Plaza, high tech Zone, Jinan, Shandong Applicant after: Shandong Chengdatong Electronic Technology Co.,Ltd. Address before: 250101 room 1712, building 1, Qisheng Plaza, high tech Zone, Jinan, Shandong Applicant before: Jinan xinxinda Electric Technology Co.,Ltd. Country or region before: China |
|
| CB02 | Change of applicant information |