嵌入式爱好者

查看: 5589|回复: 10

[Linux] 请教支持,是否有liunx下使用spi驱动oled的参考方案或示例

[复制链接]

11

主题

23

帖子

130

积分

A40i/T3/T507/T527通行证RK3568通行证RK3588通行证FCU2401通行证

扫一扫,手机访问本帖
发表于 2022-6-22 16:57:45 | 显示全部楼层 |阅读模式
如题,请教支持,是否有liunx下使用spi驱动oled的参考方案或示例
回复

使用道具 举报

0

主题

1173

帖子

2194

积分

发表于 2022-6-23 09:06:06 | 显示全部楼层
目前我们没有开发过oled类型的屏幕,可以网上查找一些资料参考移植
点评回复 支持 反对

使用道具 举报

0

主题

2

帖子

7

积分

发表于 2022-6-26 10:29:24 | 显示全部楼层
我最近使用spidev这个通用spi驱动调试了HGSC256643这个屏,不知道和你的需求是否一致:)

点评

嗯,基本一样,我这边也是个25664的,您是通过通用驱动去实现的?您那边厂家有提供linux下的驱动嘛?  详情 回复 发表于 2022-7-1 11:18
点评回复 支持 反对

使用道具 举报

11

主题

23

帖子

130

积分

A40i/T3/T507/T527通行证RK3568通行证RK3588通行证FCU2401通行证

 楼主| 发表于 2022-7-1 11:18:33 | 显示全部楼层
葱葱匆匆 发表于 2022-6-26 10:29
我最近使用spidev这个通用spi驱动调试了HGSC256643这个屏,不知道和你的需求是否一致

嗯,基本一样,我这边也是个25664的,您是通过通用驱动去实现的?您那边厂家有提供linux下的驱动嘛?

点评

不好意思,好久没上号了,是通用驱动,spidev  详情 回复 发表于 2022-7-24 09:54
点评回复 支持 反对

使用道具 举报

0

主题

2

帖子

7

积分

发表于 2022-7-24 09:54:46 | 显示全部楼层
edward137 发表于 2022-7-1 11:18
嗯,基本一样,我这边也是个25664的,您是通过通用驱动去实现的?您那边厂家有提供linux下的驱动嘛?

不好意思,好久没上号了,是通用驱动,spidev

点评

那您使用通用spi驱动这个液晶有没有发现刷新很慢的情况? 一般的液晶驱动程序都是类似STM32的平台,使用单字节操作,而A40i的这个spidev一般的用法都是ioctl fd SPI_IOC_MESSAGE来控制的,感觉字节发送都需要几十微  详情 回复 发表于 2022-8-26 11:10
点评回复 支持 反对

使用道具 举报

11

主题

23

帖子

130

积分

A40i/T3/T507/T527通行证RK3568通行证RK3588通行证FCU2401通行证

 楼主| 发表于 2022-8-26 11:10:32 | 显示全部楼层
葱葱匆匆 发表于 2022-7-24 09:54
不好意思,好久没上号了,是通用驱动,spidev

那您使用通用spi驱动这个液晶有没有发现刷新很慢的情况?  一般的液晶驱动程序都是类似STM32的平台,使用单字节操作,而A40i的这个spidev一般的用法都是ioctl fd SPI_IOC_MESSAGE来控制的,感觉字节发送都需要几十微秒以上。有群友建议使用fb子系统,一来我不大熟悉fb,二来其实我这边应用不是很复杂,只是快速显示一些简单的字符串,不需要图片之类的。

点评

请问下刷新慢的问题解决了吗,是怎么解决的?我也是遇到了同样的问题,屏刷新的很慢,我用的是板子是OKA40i-C 的,屏是oled SSD1322 ,本来打算是单独写一个驱动,不过也没搞出来  详情 回复 发表于 2023-8-7 15:21
点评回复 支持 反对

使用道具 举报

0

主题

2

帖子

26

积分

A40i/T3/T507/T527通行证i.MX6UL通行证LS1028A通行证

发表于 2022-10-17 08:18:49 | 显示全部楼层
使用u8g2可以简单的驱动OLED
点评回复 支持 反对

使用道具 举报

0

主题

6

帖子

14

积分

发表于 2023-8-7 15:21:20 | 显示全部楼层
edward137 发表于 2022-8-26 11:10
那您使用通用spi驱动这个液晶有没有发现刷新很慢的情况?  一般的液晶驱动程序都是类似STM32的平台,使用 ...

请问下刷新慢的问题解决了吗,是怎么解决的?我也是遇到了同样的问题,屏刷新的很慢,我用的是板子是OKA40i-C 的,屏是oled SSD1322 ,本来打算是单独写一个驱动,不过也没搞出来

点评

建议可以按照tym的试下,从根本原因SPI发送速度上解决比较好,写个驱动试试吧。 我当时是把液晶的驱动代码数据命令整合了下,减少了SPI发送次数提高写入速度,结果也算不得快,只是稍有提升。。。原自带驱动的调  详情 回复 发表于 2023-8-17 09:50
tym
用普通IO模拟一下SPI,不就可以单字节发送,不用调用spidev message了吗?  详情 回复 发表于 2023-8-10 11:19
点评回复 支持 反对

使用道具 举报

1

主题

4

帖子

13

积分

i.MX8MP通行证

发表于 2023-8-10 11:19:52 | 显示全部楼层
idle 发表于 2023-8-7 15:21
请问下刷新慢的问题解决了吗,是怎么解决的?我也是遇到了同样的问题,屏刷新的很慢,我用的是板子是OKA4 ...

用普通IO模拟一下SPI,不就可以单字节发送,不用调用spidev message了吗?
点评回复 支持 反对

使用道具 举报

11

主题

23

帖子

130

积分

A40i/T3/T507/T527通行证RK3568通行证RK3588通行证FCU2401通行证

 楼主| 发表于 2023-8-17 09:50:12 | 显示全部楼层
idle 发表于 2023-8-7 15:21
请问下刷新慢的问题解决了吗,是怎么解决的?我也是遇到了同样的问题,屏刷新的很慢,我用的是板子是OKA4 ...

建议可以按照tym的试下,从根本原因SPI发送速度上解决比较好,写个驱动试试吧。

我当时是把液晶的驱动代码数据命令整合了下,减少了SPI发送次数提高写入速度,结果也算不得快,只是稍有提升。。。原自带驱动的调用一次等待时间过长,但如果可以一次使能发多字节,字节之间时间间隔小,适合多字节传输。每次单发一个字节发送多次的操作太慢。【因为显示的东西太少,后来也没有特意去改了】

或者可以从片选上想想办法,可能自带的SPI发送还可以,但CS维持时间太长,可以单独找个io试试。这个没试过,仅供参考。

点评

之前刷新慢的时候,片选的操作用IO模拟的,往屏上写数据是用的spidev message,经人指点说把管脚操作,传输数据这些放到驱动层刷新速度会提升,后来还是把驱动写出来了,然后片选的操作放到驱动层实现了,往屏写数据  详情 回复 发表于 2023-8-22 16:17
点评回复 支持 反对

使用道具 举报

0

主题

6

帖子

14

积分

发表于 2023-8-22 16:17:09 | 显示全部楼层
本帖最后由 idle 于 2023-8-22 16:20 编辑
edward137 发表于 2023-8-17 09:50
建议可以按照tym的试下,从根本原因SPI发送速度上解决比较好,写个驱动试试吧。

我当时是把液晶的驱动 ...

之前刷新慢的时候,片选的操作用IO模拟的,往屏上写数据是用的spidev message,经人指点说把管脚操作,传输数据这些放到驱动层刷新速度会提升,后来还是把驱动写出来了,然后片选和写数据的操作放到驱动层实现了,写的方式就是像你说的,减少发送次数,一次写了多字节,目前刷新速度可以接受了。
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-4-19 06:48

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表