本博客目的是熟悉fb的原理和驱动实现,只有模仿才有行动。
1. 框架图
此处省略10000字........
2. 设备树
3. 驱动代码
a 配置这个结构体fbtft_device_display
b 在编译kernel需要加入FB的CONFIG
4. 点亮
echo !!!!! > /dev/fb0
5. 问题和发现
1. fb设备挂载spi总线上,但是高度抽象fb,通过mmap映射即可写数据进入帧缓存。
2. fbtft_device_display需要把设备树关联的dc和rst引脚配置到结构体。
3. cs对于spi来说可以直接拉低接地,在调试过程中用逻辑分析仪分析spi数据,发现时钟异常,立马排查驱动的挂载,发现
graphics fb0: fb_st7735s frame buffer, 160x128, 40 KiB video memory, 4 KiB buffer memory, fps=42, spi0.0 at 24 MHz
证明可以/dev/fb0,但是这仅仅是注册的过程而已,spi有时钟线接触不良,导致始终不正常。
4. 屏幕的一些参数可以在设备树中配置,也可以通过上层的结构体实现配置,但该过程有点问题了。(下文继续分享)
Life is mess, don't let mess mess us.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了