CN108536621A - Ssd1306 oled驱动方法及spi子*** - Google Patents
Ssd1306 oled驱动方法及spi子*** Download PDFInfo
- Publication number
- CN108536621A CN108536621A CN201810306399.4A CN201810306399A CN108536621A CN 108536621 A CN108536621 A CN 108536621A CN 201810306399 A CN201810306399 A CN 201810306399A CN 108536621 A CN108536621 A CN 108536621A
- Authority
- CN
- China
- Prior art keywords
- spi
- oled
- message
- info
- driving
- 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
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/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开SSD1306 OLED驱动方法,涉及服务器技术,首先注册包含SPI设备信息的spi_board_info数组;SPI主机控制器根据SPI设备信息创建spi_device;然后SPI设备驱动注册spi_driver,完成SPI设备的初始化;所述SSD1306 OLED驱动实现的过程包括:1)spi_driver实例化及注册,2)probe实现,3)OLED写数据接口封装,4)OLED控制接口封装。本发明实现了对SSD OLED的驱动,遵照主机驱动和外设驱动分离的设计思想,简化了设备驱动的实现,具有更好的可维护性,为驱动的维护升级提供了最大限度的便利。本发明还公开了一种SPI子***。
Description
技术领域
本发明涉及服务器技术,具体的说是SSD1306 OLED驱动方法及SPI子***。
背景技术
Linux中的SPI、IIC、USB等子***都利用了典型主机驱动和外设驱动分离的想法,让主机端只负责产生总线上的传输波形,而外设端只是通过标准的API(ApplicationProgramming Interface,应用程序编程接口)来让主机端以适当的波形访问自身;这里涉及了4个软件模块:
1)主机端的驱动,根据具体的IIC、SPI、USB等控制器的硬件手册,操作具体的IIC、SPI、USB等控制器,产生总线的各种波形;
2)连接主机和外设的纽带。外设不直接调用主机端的驱动来产生波形,而是调一个标准的API。由这个标准的API把这个波形的传输请求间接“转发”给具体的主机端驱动,同时最好把关于波形的描述以某种数据结构标准化;
3)外设端的驱动。外设接在IIC、SPI、USB这样的总线上,它们本身可以是触摸屏、网卡、声卡或者任意一种类型的设备。可以在相关的i2c_driver、spi_driver、 usb_driver这种xxx_driver的probe()函数中去注册它具体的类型。当这些外设要求 IIC、SPI、USB等去访问它时,它调用“连接主机和外设的纽带”模块的标准API;
4)板级逻辑,用来描述主机和外设是如何互联的,相当于一个“路由表”。假设板子上有多个SPI控制器和多个SPI外设,通过板级逻辑来管理它们间的互联关系。这部分通常出现在arch/arm/mach-xxx下面或者arch/arm/boot/dts下面。
良好的软件设计,需满足让正确的代码出现在正确的位置。不要在错误的时间、错误的地点,编写一段错误的代码。在LKML中,代码出现在错误的位置,常用代码“out ofplace”来表述。
Linux通过上述的设计方法,把一堆杂乱不友好的代码变成了4个轻量级的小模块,每个模块都各得其所。主机端只负责产生波形;外设端不需要知道自己接在主机的哪个控制器上;板级逻辑来管理多个控制器与外设之间的互联关系。基于主机驱动与外设驱动分离的设计思想,本发明提出了基于SPI接口的SSD1306OLED驱动设计方案,实现SSD1306OLED的驱动。这里,SPI(Serial Peripheral Interface,串行外设接口)总线***是一种同步串行外设接口,它可以使MCU与各种***设备以串行方式进行通信以交换信息。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种SSD1306OLED驱动方法及SPI子***。
本发明所述SSD1306OLED驱动方法,解决上述技术问题采用的技术方案如下:所述SSD1306OLED驱动方法,实现步骤包括:
步骤一,注册包含SPI设备信息的spi_board_info数组;
Linux启动过程中,在机器的init_machine()中,通过spi_register_board_info注册包含SPI设备信息的spi_board_info到spi_board_info数组;
步骤二,SPI主机控制器根据SPI设备信息创建spi_device;
SPI主机控制器注册时,去遍历spi_board_info数组中的设备信息,找到挂接其下面的SPI设备信息,调用spi_new_device创建spi_device;
步骤三,SPI设备驱动注册spi_driver,完成SPI设备的初始化;
SPI设备驱动注册spi_device时,去匹配***中已注册的spi_device,若匹配成功,则调用SPI设备驱动中的probe()函数,完成实际SPI设备的初始化。
具体的,所述SSD1306OLED驱动实现的过程包括四个方面:1)spi_driver实例化及注册,2)probe实现,3)OLED写数据接口封装,4)OLED控制接口封装。
具体的,所述1)spi_driver实例化及注册,具体操作如下:
在Linux中,用spi_driver结构体来描述一个SPI外设驱动,所述spi_driver 结构体包括接口probe()、remove()、suspend()、resume(),以及device_driver的实例。
具体的,所述2)probe实现:
spi_oled_probe函数在spi_driver和spi_device匹配上之后被调用,用于软硬件资源的初始化;
具体操作如下:(1)获取DC引脚并将其设为输出;(2)申请用于数据传输的全局buffer;(3)注册面向上层的接口函数集file_operations;(4)创建设备节点。
具体的,所述3)OLED写数据接口封装:
在SPI外设驱动中,使用一套统一接口通过SPI总线进行数据传输;这套接口的第一个关键数据结构是用来描述SPI传输的spi_transfer;一次完整的SPI传输流程会包含多个spi_transfer,这些spi_transfer通过spi_message组织起来;通过 spi_message_init()初始化spi_message,调用spi_message_add_tail()将 spi_transfer添加到spi_message队列。
具体的,所述3)OLED写数据接口封装:
发起一次spi_message传输有同步和异步两种方式,同步API方式下,会阻塞等待这个消息被处理完,使用的API是spi_sync();异步API方式下,在spi_message 的complete字段挂接一个回调函数,当消息被处理完成后,该函数被调用,此时使用的API是spi_async()。
具体的,所述4)OLED控制接口封装:
oled_ioctl()提供给上层的控制操作有:OLED_CMD_INIT、OLED_CMD_CLEAR_ALL、OLED_CMD_CLEAR_PAGE、OLED_CMD_SET_POS;所述OLED_CMD_INIT用于初始化OLED寄存器、设置页地址模式、清屏、使能显示,实现封装在OLEDInit()函数。
具体的,所述SSD1306OLED分辨率为128*64,每个像素用一位来表示,这一位是 0则该像素熄灭,是1则点亮;
代码中使用的Page addressing mode地址模式把显存的64行分为8页,每页对应8行,选择某页之后再选择某个列地址,然后往里面写数据,每写一个数据列地址指针自动加1,当列地址指针到达显存最右端时自动复位到最左端的列地址;用户在列地址指针复位显存最左端时,重新设置新的页和列地址以便访问新的页对应的RAM内容;
上述操作动作封装在OLEDClear()、OLEDClearPage()、OLEDSetPos(),对应的ioctl 命令分别是OLED_CMD_CLEAR_ALL、OLED_CMD_CLEAR_PAGE、OLED_CMD_SET_POS。
本发明还提出了一种SPI子***,其***框架包括:SPI设备驱动、SPI核心层、 SPI控制器驱动;
SPI设备驱动:
Linux启动过程中,在机器的init_machine()中,通过spi_register_board_info注册包含SPI设备信息的spi_board_info到spi_board_info数组;
SPI控制器驱动:
当SPI主机控制器注册时,去遍历spi_board_info数组中的设备信息,找到挂接到自己下面的SPI设备信息,调用spi_new_device创建spi_device;
SPI设备驱动注册spi_driver时,去匹配***中已注册的spi_device,若匹配成功,则调用SPI设备驱动中的probe()函数,完成实际SPI设备的初始化。
具体的,所述SPI核心层实现spi_write(),在SPI外设驱动进行纯写操作时直接调用spi_write();具体实现调用spi_message_init()、spi_message_add_tail()、 spi_sync()。
本发明所述SSD1306OLED驱动方法及SPI子***,与现有技术相比具有的有益效果是:本发明实现了对SSD OLED的驱动,遵照主机驱动和外设驱动分离的设计思想,在设备模型的基础上进一步简化了设备驱动的实现,具有更好的可维护性,为驱动的维护升级提供了最大限度的便利。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清查、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下获得的所有实施例,都在本发明的保护范围之内。
实施例1:
本实施例提出SSD1306OLED驱动方法,基于主机驱动和外设驱动分离的设计思想,实现SSD1306OLED的驱动;主要实现步骤包括:
步骤一,注册包含SPI设备信息的spi_board_info数组;
具体的,Linux启动过程中,在机器的init_machine()中,通过 spi_register_board_info注册包含SPI设备信息的spi_board_info到 spi_board_info数组。
SSD1306OLED板级信息:SSD1306OLED实例化的spi_board_info具体如下:
其中,OLED模组的需求时钟是10000000Hz;SPICLK初始状态为低电平,上升沿采样数据,即CPOL=0,CPHA=0,故spi mode设置为SPI_MODE_0;OLED接在SPI控制器 1上,即总线号为1,片选引脚接在GPF1上;D/C引脚接在GPG4上,表示DO引脚上传输的是数据还是命令;且modalias用于匹配spi_driver。
步骤二,SPI主机控制器根据SPI设备信息创建spi_device;
具体的,SPI主机控制器注册时,去遍历spi_board_info数组中的设备信息,找到挂接到自己下面的SPI设备信息,调用spi_new_device创建spi_device。
步骤三,SPI设备驱动注册spi_driver,完成SPI设备的初始化;
具体的,SPI设备驱动注册spi_device时,去匹配***中已注册的spi_device,若匹配成功,则调用SPI设备驱动中的probe()函数,完成实际SPI设备的初始化。
此外,ARM Linux 3.x之后的内核在改为设备树后,不再需要在arch/arm/mach-xxx 中编码SPI的板级信息,而是在SPI控制器节点下填写子节点。
本实施例还提出了一个SPI子***,SPI子***框架包括:SPI设备驱动、SPI核心层、SPI控制器驱动。
SPI设备驱动:
Linux启动过程中,在机器的init_machine()中,通过spi_register_board_info注册包含SPI设备信息的spi_board_info到spi_board_info数组;
SPI控制器驱动:
当SPI主机控制器注册时,去遍历spi_board_info数组中的设备信息,找到挂接到自己下面的SPI设备信息,调用spi_new_device创建spi_device;
SPI设备驱动注册spi_driver时,去匹配***中已注册的spi_device,若匹配成功,则调用SPI设备驱动中的probe()函数,完成实际SPI设备的初始化。
实施例2:
本实施例提出的SSD1306OLED驱动方法,是在实施例1网卡时钟转接板装置的基础上,给出本发明的另一个具体实施方式,进一步增加本实施例技术方案的可行性和实用性。
下面来详细说明SSD1306OLED驱动实现的过程,主要包括四个方面:1)spi_driver实例化及注册,2)probe实现,3)OLED写数据接口封装,4)OLED控制接口封装。
1)spi_driver实例化及注册,具体操作如下:
在Linux中,用spi_driver结构体来描述一个SPI外设驱动,该SPI外设驱动视为spi_master的客户端驱动。spi_driver结构体包括接口probe()、remove()、 suspend()、resume(),以及device_driver的实例。OLED驱动中对spi_driver实例化如下:
其中,"oled"用于device和device_driver的匹配,入口函数中调用 spi_register_driver注册实例化好的spi_oled_drv。
2)probe实现
spi_oled_probe函数在spi_driver和spi_device匹配上之后被调用,用于软硬件资源的初始化;具体操作如下:
(1)获取DC引脚并将其设为输出
spi_oled_dc_pin=(int)spi->dev.platform_data;
s3c2410_gpio_cfgpin(spi_oled_dc_pin,S3C2410_GPIO_OUTPUT);
s3c2410_gpio_cfgpin(spi->chip_select,S3C2410_GPIO_OUTPUT);
(2)申请用于数据传输的全局buffer
ker_buf=kmalloc(4096,GFP_KERNEL);
(3)注册面向上层的接口函数集file_operations
major=register_chrdev(0,"oled",&oled_ops);
(4)创建设备节点
class=class_create(THIS_MODULE,"oled");
device_create(class,NULL,MKDEV(major,0),NULL,"oled");
3)OLED写数据接口封装;具体操作如下:
在SPI外设驱动中,使用一套统一接口通过SPI总线进行数据传输。这套接口的第一个关键数据结构是spi_transfer,用来描述SPI传输。一次完整的SPI传输流程可能包含多个spi_transfer,这些spi_transfer通过spi_message组织起来。通过 spi_message_init()初始化spi_message,调用spi_message_add_tail()将 spi_transfer添加到spi_message队列。
发起一次spi_message传输有同步和异步两种方式,同步API方式下,会阻塞等待这个消息被处理完,使用的API是spi_sync();异步API方式下,不会阻塞等待这个消息被处理完,会在spi_message的complete字段挂接一个回调函数,当消息被处理完成后,该函数被调用,此时使用的API是spi_async()。
OLED驱动封装的写函数如下:
其中,copy_from_user将用户空间传下来的数据拷贝到OLED驱动维护的ker_buf。OLED_Set_DC(1)将DC引脚拉高,表示接下来传输的是数据。spi_write()是SPI核心层实现的通用快捷API,在SPI外设驱动进行纯写操作时直接调用,具体调用 spi_message_init()、spi_message_add_tail()、spi_sync()。
4)OLED控制接口封装,具体操作包括:
oled_ioctl()提供给上层的控制操作有:OLED_CMD_INIT、OLED_CMD_CLEAR_ALL、OLED_CMD_CLEAR_PAGE、OLED_CMD_SET_POS。
其中,OLED_CMD_INIT用于初始化OLED寄存器、设置页地址模式、清屏、使能显示,实现封装在OLEDInit()函数;SSD1306OLED分辨率为128*64,每个像素用一位来表示,这一位是0这个像素就熄灭,是1就点亮。代码中使用的Page addressing mode地址模式把显存的64行分为8页,每页对应8行,选择某页之后再选择某个列地址,然后往里面写数据,每写一个数据列地址指针自动加1,当列地址指针到达显存最右端时自动复位到最左端的列地址,此时页地址指针不会自动加1,用户需要在列地址指针复位显存最左端时,重新设置新的页和列地址以便访问新的页对应的RAM内容。上述操作动作封装在OLEDClear()、OLEDClearPage()、OLEDSetPos(),对应的ioctl命令分别是 OLED_CMD_CLEAR_ALL、OLED_CMD_CLEAR_PAGE、OLED_CMD_SET_POS。
oled_ioctl()封装如下:
本实施例中,同时通过测试用例oled_test.c实现对OLED的初始化控制操作,以及向OLED指定位置写数据的操作。代码片段如下:
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容,并不用于限制本发明的保护范围,本发明的技术方案不限制于上述具体实施方式内。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (10)
1.SSD1306OLED驱动方法,其特征在于,实现步骤包括:
步骤一,注册包含SPI设备信息的spi_board_info数组;步骤二,SPI主机控制器根据SPI设备信息创建spi_device;
Linux启动过程中,在机器的init_machine()中,通过spi_register_board_info注册包含SPI设备信息的spi_board_info到spi_board_info数组;
步骤二,SPI主机控制器根据SPI设备信息创建spi_device;
SPI主机控制器注册时,去遍历spi_board_info数组中的设备信息,找到挂接其下面的SPI设备信息,调用spi_new_device创建spi_device;
步骤三,SPI设备驱动注册spi_driver,完成SPI设备的初始化;
SPI设备驱动注册spi_device时,去匹配***中已注册的spi_device,若匹配成功,则调用SPI设备驱动中的probe()函数,完成实际SPI设备的初始化。
2.根据权利要求1所述SSD1306OLED驱动方法,其特征在于,所述SSD1306OLED驱动实现的过程包括四个方面:1)spi_driver实例化及注册,2)probe实现,3)OLED写数据接口封装,4)OLED控制接口封装。
3.根据权利要求2所述SSD1306OLED驱动方法,其特征在于,所述1)spi_driver实例化及注册,具体操作如下:
在Linux中,用spi_driver结构体来描述一个SPI外设驱动,所述spi_driver结构体包括接口probe()、remove()、suspend()、resume(),以及device_driver的实例。
4.根据权利要求3所述SSD1306OLED驱动方法,其特征在于,所述2)probe实现:
spi_oled_probe函数在spi_driver和spi_device匹配上之后被调用,用于软硬件资源的初始化;
具体操作如下:(1)获取DC引脚并将其设为输出;(2)申请用于数据传输的全局buffer;(3)注册面向上层的接口函数集file_operations;(4)创建设备节点。
5.根据权利要求4所述SSD1306OLED驱动方法,其特征在于,所述3)OLED写数据接口封装:
在SPI外设驱动中,使用一套统一接口通过SPI总线进行数据传输;这套接口的第一个关键数据结构是用来描述SPI传输的spi_transfer;一次完整的SPI传输流程会包含多个spi_transfer,这些spi_transfer通过spi_message组织起来;通过spi_message_init()初始化spi_message,调用spi_message_add_tail()将spi_transfer添加到spi_message队列。
6.根据权利要求5所述SSD1306OLED驱动方法,其特征在于,所述3)OLED写数据接口封装:
发起一次spi_message传输有同步和异步两种方式,同步API方式下,会阻塞等待这个消息被处理完,使用的API是spi_sync();异步API方式下,在spi_message的complete字段挂接一个回调函数,当消息被处理完成后,该函数被调用,此时使用的API是spi_async()。
7.根据权利要求6所述SSD1306OLED驱动方法,其特征在于,所述4)OLED控制接口封装:
oled_ioctl()提供给上层的控制操作有:OLED_CMD_INIT、OLED_CMD_CLEAR_ALL、OLED_CMD_CLEAR_PAGE、OLED_CMD_SET_POS;所述OLED_CMD_INIT用于初始化OLED寄存器、设置页地址模式、清屏、使能显示,实现封装在OLEDInit()函数。
8.根据权利要求7所述SSD1306OLED驱动方法,其特征在于,所述SSD1306 OLED分辨率为128*64,每个像素用一位来表示,这一位是0则该像素熄灭,是1则点亮;
代码中使用的Page addressing mode地址模式把显存的64行分为8页,每页对应8行,选择某页之后再选择某个列地址,然后往里面写数据,每写一个数据列地址指针自动加1,当列地址指针到达显存最右端时自动复位到最左端的列地址;用户在列地址指针复位显存最左端时,重新设置新的页和列地址以便访问新的页对应的RAM内容;
上述操作动作封装在OLEDClear()、OLEDClearPage()、OLEDSetPos(),对应的ioctl命令分别是OLED_CMD_CLEAR_ALL、OLED_CMD_CLEAR_PAGE、OLED_CMD_SET_POS。
9.SPI子***,其特征在于,其***框架包括:SPI设备驱动、SPI核心层、SPI控制器驱动;
SPI设备驱动:
Linux启动过程中,在机器的init_machine()中,通过spi_register_board_info注册包含SPI设备信息的spi_board_info到spi_board_info数组;
SPI控制器驱动:
当SPI主机控制器注册时,去遍历spi_board_info数组中的设备信息,找到挂接到自己下面的SPI设备信息,调用spi_new_device创建spi_device;
SPI设备驱动注册spi_driver时,去匹配***中已注册的spi_device,若匹配成功,则调用SPI设备驱动中的probe()函数,完成实际SPI设备的初始化。
10.根据权利要求9所述SPI子***,其特征在于,所述SPI核心层实现spi_write(),在SPI外设驱动进行纯写操作时直接调用spi_write();具体实现调用spi_message_init()、spi_message_add_tail()、spi_sync()。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810306399.4A CN108536621A (zh) | 2018-04-08 | 2018-04-08 | Ssd1306 oled驱动方法及spi子*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810306399.4A CN108536621A (zh) | 2018-04-08 | 2018-04-08 | Ssd1306 oled驱动方法及spi子*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108536621A true CN108536621A (zh) | 2018-09-14 |
Family
ID=63483038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810306399.4A Pending CN108536621A (zh) | 2018-04-08 | 2018-04-08 | Ssd1306 oled驱动方法及spi子*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108536621A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656844A (zh) * | 2018-12-03 | 2019-04-19 | 郑州云海信息技术有限公司 | 一种AT24xx EEPROM驱动方法和装置 |
-
2018
- 2018-04-08 CN CN201810306399.4A patent/CN108536621A/zh active Pending
Non-Patent Citations (2)
Title |
---|
21CNBAO: ""Linux主机驱动与外设驱动分离思想" https://blog.51cto.com/21cnbao/333312", 《51CTO博客》 * |
香莲清风: ""SPI_OLED驱动" http://blog.sina.com.cn/s/blog_9ac48e3c0102wvlz.html", 《新浪博客》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656844A (zh) * | 2018-12-03 | 2019-04-19 | 郑州云海信息技术有限公司 | 一种AT24xx EEPROM驱动方法和装置 |
CN109656844B (zh) * | 2018-12-03 | 2022-02-22 | 郑州云海信息技术有限公司 | 一种AT24xx EEPROM驱动方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210232528A1 (en) | Configurable device interface | |
CN107077377B (zh) | 一种设备虚拟化方法、装置、***及电子设备、计算机程序产品 | |
CN101849230B (zh) | 在多主机环境中共享遗留设备 | |
US9063793B2 (en) | Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes | |
US9842075B1 (en) | Presenting multiple endpoints from an enhanced PCI express endpoint device | |
CN204595844U (zh) | Usb多电脑切换器 | |
US11960430B2 (en) | Remote mapping method, apparatus and device for computing resources, and storage medium | |
CN100486200C (zh) | Usb映射方法 | |
CN103491188B (zh) | 利用虚拟桌面和gpu透传实现多用户共享图形工作站的方法 | |
CN106921590A (zh) | 应用级网络排队 | |
TW200530837A (en) | Method and apparatus for shared I/O in a load/store fabric | |
CN101739287A (zh) | 管理虚拟机的装置、***和方法 | |
US20210200571A1 (en) | Storage Device Operation Method and Physical Server | |
WO2023050819A1 (zh) | 片上***、虚拟机任务处理方法及设备、存储介质 | |
CN113312143A (zh) | 云计算***、命令处理方法及虚拟化仿真装置 | |
CN107181634A (zh) | 一种服务器统一管理方法和*** | |
CN103534987A (zh) | 虚拟网络配置和管理 | |
CN108287804A (zh) | 一种i2c控制器驱动方法及*** | |
WO2024051122A1 (zh) | 一种PCIe中断处理方法、装置、设备及非易失性可读存储介质 | |
US10353857B2 (en) | Parallel processing apparatus and method for controlling communication | |
CN114691286A (zh) | 服务器***、虚拟机创建方法及装置 | |
CN103092676A (zh) | 虚拟机集群的模拟输入输出方法、装置及*** | |
CN108536621A (zh) | Ssd1306 oled驱动方法及spi子*** | |
CN205103599U (zh) | 一种跨境贸易bpo应用云终端装置 | |
CN1851799A (zh) | 显示设备、其控制方法和通信*** |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180914 |