Linux驱动OLED屏st7735s(framebuffer学习)--Apple的学习笔记

石墨保护套
解决⽅法:因为fb关联到了console,等于⽤echo hello>/dev/tty1都可以显⽰的。但是屏幕只有背光。
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY宏定义在配置中设置为N。先屏蔽此功能。
3. 屏幕只有背光。
按摩坐垫⽰波器看波形,发现我设置的spi模式不正确,修改模式后,依然屏幕不亮。打开debug,调试发现console切换。添加了fb设备为什么console会调⽤。后来⽹上搜索了下原来tty可以关联到LCD就是这个原理。但是我先通过修改linux内核配置参数关闭功能。然后此时spi时钟评率设置为2M,因为我的⽰波器⽐较差劲,所以怕频率⾼采样不准。看波形发送的初始化命令是正确。当然没有全部看,只看了前⼏个命令值。初始化成功后应该会显⽰暗屏,难道初始化都没有成功。spi没有pin脚⽀持回读,调试起来真是困难。
4. 接下来直接运⾏app,运⾏时候调⽤⼀次set_addr_win然后就卡住了,我也不知道运⾏到哪⼀步了。所以关于deffer io这块是有问题。但是
另外⼀个问题就是初始化寄存器值都是对的为什么屏没有起来呢?
5. 验证屏幕是否好的
瓜子烘干机我特地⼜去买了块stm32F407ZG的开发板,⽤来验证屏幕,并且他有接⼝可以直接调试camera的,学习我还是先挑选简单的。毕竟现在对linux框架已经有⼀定了解,并且对linux的字符设备驱动也都是⽐较熟悉了。掌握了⼀套可以举⼀反三的⽅法论。此时的单⽚机和linux驱动对我来说都⼀样的。
6. stm32链接平⾯后,可以正确显⽰。并且仅调⽤初始化的话,可以显⽰花屏。但是我之前am335驱动连花屏都没有。说明初始化都没有成
功,发现⽰例代码⽤reset脚拉⾼拉低来进⾏第⼀步平⾯初始化,我再检查了am335的fb_st7735r链接的fbtft-core也会先控制reset脚。7. 难道是io⼝添加了杜邦线导致电流不够导致屏幕⽆法驱动?我拿出了电洛铁,将引脚进⾏焊接,但是焊接后依然屏幕没有启动,只感觉有背
光。
8. 难道是个别时序不对?当然我还可以通过对⽐时序来解决问题。
但是我家只有2通道⽰波器,⽽且采样时间很短,没有逻辑分析仪。我评估了下fbtft⽤在linux上的概率⽐较低,我为了学习framebuffer才去⽤oled的。所以这款3线spi那么不好⽤,将来要学习framebuffer还是先⽤rgb显⽰屏吧。
鼓风式冷却塔五,总结:
难得认输⼀次,对于这款oled将来有条件再玩吧,本次等于第⼀次接触framebuffer,看了源码学习了下框架及原理。⽬标还是要学习framebuffer通⽤框架,⽽不是学习OLED驱动,特别是mmap触发page错误然后重新绑定虚拟内存到物理内存,这套逻辑蛮有意思的。
铆压机2021/11/28追加
stm32cube配置spi驱动st7735s屏--Apple的学习笔记IL-40
我已经⽤stm32F407点亮了st7735s的屏幕,估计之前linux上可能也是spi的clock引脚初始化没有上拉的问题。当时没有逻辑分析仪,家⾥的⽰波器只有2通道,看起来不⽅便。将来玩linux的时候再确认下问题。

本文发布于:2024-09-21 22:48:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/315452.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:没有   屏幕   学习   了下   波形
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议